動画遊びは時間がかかる – エンコード編 –
環境も整ったというわけで、動画の mpeg4 エンコードをいろいろやってみる。流しておいた、実験バッチエンコードが終わりました。
この最終的な目標は、RD-H1 で、古いアナログビデオカメラで撮影した動画を MPEG2 エンコードし、MPEG4 で小さくしてインターネット経由で全国に点在している友達に送ること・・・。 というわけで、極力ファイル容量は小さく、かつ見れる動画を作ることになります。
RD-H1 で SPモードで撮った動画は、
4,926Kbps 720×480 29.97 fps MPEG2
になります。 でもって、配布につかう変換先は
-
MPEG4 Codec には、経験的に再生トラブルが少ない XviD を
-
アスペクト比率は、 4:3。 分からない人が再生して、馬面、ブタ面になってもいやなので、解像度自体を 4:3 比率にする。 640×480 がいいかな。
-
インターネット経由で転送できる容量
ということにします。 1分 / 10Mbyte くらいなら許せる容量でしょうか。 容量に制限があるので、ビットレートを 1,200Kbps と 1,600Kbps に決めて、それぞれでエンコードしてみました。 QVGA でも 740Kbps くらい使っている人が多いので、4倍ある VGA では明らかに足りないですが果たして。
まずはテストサンプルに使わせてもらった 元 mpeg 2 – 4,926Kbps からひとこま。 (ここでは便宜的に QVGA にリサイズ表示しています)
続いて、上から 1,200Kbps、1,600Kbps の XviD エンコード。
この場面はカメラワークが激しく一番ブロックがでているところです。さすがに、1,200Kbps だとかなり厳しい。 1,600Kbps でもブロックが目立ちます。
動画なので見れないこともないのですが、もう少し研究。 同じビットレートで 2pass エンコードを適応してみる。
上から、1,200Kbps – 2pass と、1,600Kbps – 2pass。
おお、相当よくなりました。 静止画だと分からないですが、1600Kbps ならほとんどの動きで許容範囲です。 しかーし、2pass にするとエンコード時間は 2倍どころか 3倍に。 orz 30分エンコードするのに、1時間30分かかりました。
ちなみに、動きの少ない場面では 1,200Kbps 1pass エンコードでも、
と全然綺麗です。
少し悩み、安定している Xvid 640×480 1,600Kbps 2pass エンコードを使うことに決定。 エンコードはサーバで流しておけば時間も気にならないし。容量は、音声込み 30分で 380MByte。 目標オーバーですが、CDR につめるといったことでもないので、まあいいでしょう。
いやいや、前にも言いましたが動画のエンコードの実験は時間がかかる。。1つパラメータ間違っただけでも 1時間飛ぶので大変です。 携帯動画変換君 を作っている方など、並ならぬ苦労でしょう。
今回は、ffmpeg の使い方と動画の仕組みも少し分かって収穫でした。