バージョン 11.0.0 で、Mac 上で QuickTime 経由で MOV ファイルにエンコードすることができるようになりました。一方、昔からある Windows 版では AVI ファイルにエンコードします。この記事では、相互にどのように読み込みができるかを説明します。
Windows (AVI) から QuickTime へ
バージョン 10.0.0 の時点で AVI ファイルを読み込める QuickTime デコーダコンポーネントが Mac に用意されているため、特に何もしなくても読み込むことができます。
QuickTime (MOV) から Windows へ
Windows には MOV ファイルを読み込めるコーデックは用意されていないため、そのままでは読み込めません。
Ut Video Codec Suite では MOV ファイルにコーデック固有データを格納する方法として FFmpeg と互換性のある方法を採用しており、ffmpeg / avconv コマンドを使うことで Windows で読み込める AVI ファイルにコンテナ変換することができます。再エンコードするわけではないので、ここで使う ffmpeg / avconv コマンドは後述するような新しいものである必要はありません。
C:\Users\umezawa> avconv -i utvideo.mov -vcodec copy -acodec copy utvideo.avi
なお、MOV ファイルを AVI ファイルに変換すると、大量に NULL フレームが入った fps の高いものが出来上がることがあります。プレーヤーや編集ソフトによっては、このようなファイルを読もうとすると、処理が非常に重くなったりメモリを大量に消費したり不正な処理で落ちたりすることがあります。
FFmpeg / Libav へ
最近の FFmpeg / Libav には utvideo デコーダが追加されているので、新しい配布物であれば AVI ファイルでも MOV ファイルでもそのまま読み込むことができるかもしれません。FFmpeg / Libav をバックエンドとして使っているプレーヤーや編集ソフトに関しても同様です。
また、ffdshow-tryouts も libavcodec を使っているため、うまくいけば Windows でも MOV ファイルをコンテナ変換せずに読み込めるかもしれません。
>梅澤さん
何回か要望を出させて頂きました、すいすいです。
最新版、試してみました。
Windows版、Mac版共に問題なく動作しました。
素晴らしいです。
このままWindows版QuickTimeコンポーネントが出来ればネイティブに完全対応ですね。
ちょっと試したところ、Macで作ったmovファイルのWindowsでの変換ですが、
以下の方法を取ると変換しやすいかもしれません。
POPさんのAviutlプラグインである「L-SMASH Works」を使用すると、
フレーム数のずれも無く変換できました。
*再圧縮ですが、元より可逆圧縮ですからRGBtoRGBなら差異は無いかと(音声も非可逆なら)。
逆にffmpeg等で変換すると秒数がずれてしまいました。
*私変換パラメータが悪いのかもしれませんが。
例:ffmpeg -i input.mov -f avi -vcodec huffyuv -r 29.97 -acodec pcm_s16le output.avi
↑これだと音声が数ミリ秒増えてしまう…
長文になってしまいましたが、これからも期待しております。
すみません、先ほどの私のコメントで一点注意があります。
POPさんの「L-SMASH Works」ですが、最新版のv150ではAviutlがメモリエラーで落ちるかもしれません。
私が確認したときは安定版のv141でした。
まいどー
再エンコするんなら別に UtVideo である必要性が無いんですが、QuickTime で書き出せて FFmpeg で読み込める映像可逆圧縮フォーマットって他に無いんでしたっけ。
あと、MOV と AVI では時間の持ち方が違うぽいので、変換時に数ミリ秒ぐらい変化してしまうことがあります。変化が累積する(長い動画で後ろに行くほどずれが大きくなる)のでなければ実用上問題ない気がします。
>梅澤さん
コメントありがとうございます。
QuickTImeエンコーダ搭載記念にまたご祝儀を遅らせて頂きました。
>再エンコするんなら別に UtVideo である必要性が無いんですが、QuickTime で書き出せて FFmpeg で読み込める映像可逆圧縮フォーマットって他に無いんでしたっけ。
ですが、現状では「アニメーション圧縮可逆」か「PNG or TGA」くらいしか実用がないかと。
ただ、実写素材にはあまり圧縮できないんですよね。
>あと、MOV と AVI では時間の持ち方が違うぽいので、変換時に数ミリ秒ぐらい変化してしまうことがあります。変化が累積する(長い動画で後ろに行くほどずれが大きくなる)のでなければ実用上問題ない気がします。
なるほど、確かに長尺の物でなければ大丈夫かもしれませんね。
どのみち、Win版・Mac版で書きだしただけでは問題なく、MovからAviに変換する際の問題ですしね。
ありがとうございました。