* 動画編集時の作業ファイル形式 [#nf90e547]

** avi の限界 [#x035450b]

で,さらに調子に乗って「[http://www.nicovideo.jp/watch/sm1483495 林道 その3]」なんて動画も上げてみたのだが,こいつの編集では avi ファイルに悩まされた.

特に触れてはいないが,この動画をいじるときも[[日記/2007-11-08/ffmpeg で動画の速度変換]]でも書いたように作業ファイルとして無圧縮の avi ファイルを使っていた.
Windows 上の編集ソフトに読み込ませると…
>おおよそ5分のところで動画が切れてしまう

という現象が起きたのである.
メディアプレーヤで再生してみても一緒なので,編集ソフト側の問題というわけでもない.
ファイルサイズを見ると 1.3GB なので,いわゆる 2GB の壁ではない.
とりあえずは video codec のほうを motion JPEG にして当座を凌いだのだけど,再エンコードが入るので,気分的にはあまりよろしくないし,変換速度も落ちる.
まぁ,ffmpeg 側の問題なのかもしれないのだが,QVGA で 10 分足らずの動画でさえ 1 GB に達するのだから,2 GB の壁なんか目の前である.

というわけで,avi には見切りを付けることにした.

** QuickTime に挑戦 [#e18c46c4]

動画編集ソフトの入出力でサポートしている形式を色々見ると,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 のマニュアルを調べると
:-pix_fmt format|
Set pixel format. Use 'list' as parameter to show all the supported
pixel formats.

なんてのがあった.

というわけで変換に再度チャレンジ.

 $ 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分で尻切れトンボな現象も出ない.

というわけで,しばらくはこれでいってみよう.

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS