動画編集時の作業ファイル形式 †avi の限界 †で,さらに調子に乗って「林道 その3」なんて動画も上げてみたのだが,こいつの編集では avi ファイルに悩まされた. 特に触れてはいないが,この動画をいじるときも日記/2007-11-08/ffmpeg で動画の速度変換でも書いたように作業ファイルとして無圧縮の avi ファイルを使っていた. Windows 上の編集ソフトに読み込ませると…
という現象が起きたのである. メディアプレーヤで再生してみても一緒なので,編集ソフト側の問題というわけでもない. ファイルサイズを見ると 1.3GB なので,いわゆる 2GB の壁ではない. とりあえずは video codec のほうを motion JPEG にして当座を凌いだのだけど,再エンコードが入るので,気分的にはあまりよろしくないし,変換速度も落ちる. まぁ,ffmpeg 側の問題なのかもしれないのだが,QVGA で 10 分足らずの動画でさえ 1 GB に達するのだから,2 GB の壁なんか目の前である. というわけで,avi には見切りを付けることにした. QuickTime に挑戦 †動画編集ソフトの入出力でサポートしている形式を色々見ると,QuickTime が無圧縮と lossless 圧縮に対応しているようである. これでいってみようかなぁ. というわけで ffmpeg で無圧縮の QuickTime ビデオを作れるかテストしてみる. $ ffmpeg -i imag0004.avi -t 00:00:10 -vcodec rawvideo -an foo.mov … Output #0, mov, to 'foo.mov': Stream #0.0: Video: rawvideo, yuvj420p, 320x240, q=2-31, 200 kb/s, 13.31 fps(c) … mplayer だと再生できるけど,Windows の QuickTime Player では再生できない. もちろん,編集ソフトにもマトモに取り込めない. 一方,編集ソフトで無圧縮の QuickTime ファイルを作成してみると,もちろん QuickTime Player では再生できる. そのファイルを調べてみると $ ffmpeg -i foo.mov … Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'foo.mov': Duration: 00:00:10.0, start: 0.000000, bitrate: 12266 kb/s Stream #0.0(eng): Video: rawvideo, rgb24, 320x240, 13.31 fps(r) … どちらも無圧縮には違いないのだが,画素のエンコードが違うようである. さっきのエンコード時に yuvj420p となっていたところを rgb24 としなくてはならないようだ. ffmpeg のマニュアルを調べると
なんてのがあった. というわけで変換に再度チャレンジ. $ ffmpeg -i imag0004.avi -vcodec rawvideo -pix_fmt rgb24 -an foo.mov … Output #0, mov, to 'foo.mov': Stream #0.0: Video: rawvideo, rgb24, 320x240, q=2-31, 200 kb/s, 13.31 fps(c) … 今度は同じ型式になっている. QuickTime Player で再生してみる.おっけー. 動画編集ソフトでの読み込みもおっけー. 5分で尻切れトンボな現象も出ない. というわけで,しばらくはこれでいってみよう. |