Adsense

2007年11月12日月曜日

ムービー変換考察 (3) 最終回.... かな? (笑

第2回からの続きで、、、ムービー変換考察シリーズ(?) の最終回かも、のエントリです。

再度、私がいまやっている手順で、動画ファイルの情報などを見ながら、どのようにエンコードしていっているかご紹介します。
動画ファイルのコンテナビデオ Codec、オーディオ Codec などの情報取得ですが、複数のエンコーダーを使うため、途中でわけがわからなくなるときがあるんです。そこで、GSpot というソフトを使って確認したりしています。

たとえば、Fraps でとった動画の情報は以下です。
image

コンテナ (Container) は AVI v1.0 で、Video Codec は FPS1(FRAPS Codec)、Audio Codec は PCM Audio で、44100Hz というのがわかります。

このままだと Windows Movie Maker HD (Windows Vista 付属のムービーメーカー) での編集はちょっとつらい(上記からわかるように、29.966 秒で 75.9 MB) ので、一度すべての Fraps 素材を他の動画形式に変換し、動画のファイルサイズを小さくします。

私の場合は、Microsoft の Expression Encoder をつかっています。ベータのときは無料だったのですが、今は有料になりました。使い慣れてしまったので、、、(笑
ソフトの印象などは前回の「ムービー変換考察(2)」をご参照ください。

どのプロフィル使って変換するかいつも悩むところなのですが、縦のサイズが 720 以上あったら [HD 720p Intranet(AP)] というのを選んでいます。(注:このままでは Intranet (イントラネット) が示すようにインターネット上での公開には向いていませんので注意してください) Expression Encoder は VC-1(WMV) コーディックを使うのですが、このプロファイル選択で、コーディックのプロファイル (Advanced, Main, Simple)、VBR/CBRビットレート、画像サイズなどを、プロファイル(利用シーン)にあわせてあらかじめこれらの数値を設定してくれているんです。(ちなみに VC-1 と H.264 の違いについてはこちらの記事が参考になります)

上の Fraps AVI を HD 720p Intranet(AP) で変換したのが以下のファイル情報です。エンコード時間は 6分ほどかかっています。(Core2 Duo T7300)

image
コンテナは ASF、Video Codec は WVC1(VC1-Advanced Profile), Audio はWMA v2 で、サイズは 22.3 MB になりました。どうも VC1 の情報がまだ Gspot では定義されていないのか、ちょっと情報とりづらいですけど。
Vista のエクスプローラでの情報を見ると、長さは 30 秒、フレームサイズは 1280 x 780、フレーム率は 30 フレーム/秒、総ビットレートは 10Mbps です。これだと、全画面にしても綺麗に見ることができます。
次にこれを MovieMaker HD で編集してエンコードします。ついでに、、、もともとのコンテナに入っているオーディオを使わないで、MP3 の音楽もいれてみます。
MovieMakerHD でのエンコードも Expression Encoder 同様、VC-1(WMV) コーディック、WMA オーディオを使って、動画サイズやビットレートを利用するシーンに合わせて変更するわけです。ちょっと注意しなきゃいけないのは縦横比(アスペクト比)で、最終的に SL の中で動画を見せたい、、、となると、動画パネルの縦横比を考慮しなければなりません。4:3 のものより、16:9 のほうがオブジェとしても見栄えがよいので、結果的にその比率に近いものが多いかもしれません。
このアスペクト比、補足として、SL の Land の設定で、動画のアスペクト比をどう扱うかの設定があります。
image
この [Auto scale content (slower and reduced visual quality)] にチェックが入っていなければ、基本、もとのアスペクト比のまま、動画が再生されます。(ただし、ちょっとオブジェクトのサイズを変更したりすると、、、、その限りではなくなるのですが、、、)
こんな感じです。
image
なので、このような状態はあまり望ましくないので、Land 設定では先ほどの Autoscale をチェックする場合が多いと思います。そうすると、このオブジェクト上に再生される動画は以下のようになります。
image
なるべく想定しているパネル(SL 内のオブジェクト)のアスペクト比に近い動画を作ったほうが、画像が間延びしたり、縮んで見えたりしないわけですね。(とはいっても、16:9 と 4:3 の違いは、16:9 と 16:12 の違いなので、思いのほか変な感じにはならないのですが)
話しは戻って、、、
MovieMakerHD のあとに Overlay などの処理をかけてもう一度、、、、というのがいつものパターンなのですが、今回は MovieMakerHD から出力した VC-1(WMV) を SUPERC にかけます。そこで、MovieMaker HD からの出力は、これまでのクオリティ同様の 720p レベル(表示サイズ 1280x780) にしてみます。該当する設定は [追加の設定] の [Windows Media HD 720p (5.9Mbps) ] になります。 もとは 10Mbps のビットレートでしたが、ここでビットレートが 60% くらいになります。
出力した動画ファイルの情報は以下です。
image
この情報から、ファイルサイズが 16.7MB になったことだけではなくて、Video Codec が VC-1 Advanced から、VC-1 Simple/Main プロファイルを使っているものになったり、2 pass エンコードが 1 pass になったり、指定したとおり ビットレートが 6241kbpsになったり、、徐々にクオリティが落ちてきていることがわかります。注意しなければならないのは、一度品質が落ちてしまうと、そのあとエンコーディングで高い値を選んでも、、、、もとにもどらない場合が多い、、、ということです。(不可逆性というそうです)
次にこれを SUPER(C) で mov コンテナ、ビデオコーディック H.264/AVC、オーディオコーディック AAC に変換します。
以下が SUPER(C) のウィンドウです。
image
おおよそ以下のような変更をかけます。
Video Scale Size / Aspect Ratio
SLの中でみる、、、ということは 1280x760 ものサイズはいりませんので、サイズそのものを小さくします。
これは、その使い方とかで試行錯誤ですが、私は 640X368 が最近のお気に入りです。なので、Aspect Ratio は 16:9 になります。
Frame
30FPS のままきましたが、Frame サイズを少なくすることでファイルサイズが小さくなります。20FPS 以上あれば、、、そんなにカクカクしないように思います。25FPS を指定します。
Bitrate
これも試行錯誤ですね、、、某動画共有サイトなどは 600Kbps 制限などあります。NHK の次世代の動画配信サービスが 6Mbps... なんてどこかの記事で呼んだ記憶があるので、1Mbps 以下が妥当なのかな、、、などと試行錯誤します。これは、、、今でも試行錯誤してます。もともと、H.264/AVC は低いビットレートで高画質可能、、、なんていう触れ込みなので、あげることより落とすほうでの試行錯誤がいいかもしれません。
最近のお好みは 1008Kbps をよく使っています。とりあえず、ここで、6Mbps -> 1Mbps に大幅にビットレートが下がりました。
オーディオについてはあまりいじりません。44100Hz, ステレオ(2), 64K で十分ですよね。
変換した結果が以下です。
image
コンテナが QuickTime(.MOV)、Video Codec が avc1/H.264(つまり、H.264/AVC)、Audio Codec は MPEG-4 AAC LC になりました。ファイルサイズは 4.18MB、画面のサイズは 640x368、フレームは25、平均ビットレートは 1105kbps と表示されています。
ちなみに、、、もし、ビットレートを元の半分の 3000kbps でやるとどうなるかというと、ファイルサイズは 11.3 MB になりました。うん、ほぼ 3 倍になりましたね。
ここでのサンプルは 30秒の動画ですから、これが4分とかになると、この8倍の大きさになる、、、と考えれば、4 MB/30秒ですから、32MB .... まぁ、、、ちょっと大きいですが、妥当かもしれません。
SL 内で動画をみても、動画の途中で最初に戻る、、、なんてことがありますが、それはファストスタートといえども、動画のダウンロードが再生においつかず、それでまた最初から再生、、、、みたいです。
この場合は、そのときの回線などの状況にもよりますが、やはりビットレートを下げてエンコードして、アップロードすることで問題は解決できるはずです。その意味では 1Mbps でも大きいくらいかもしれません。(CD/DVD 品質のWeb 配信で 1Mbps-1.5Mbps らしいです) 800Kbps くらい(もっと下でもいいかも)まで下げておいたほうがいいかもしれませんね。800 Kbps だと、ファイルサイズは 3.6MB になりました。
ちなみにフラッシュとかの動画サイトでの動画ファイルのビットレートは 300Kbps - 400Kbps あたりだそうです。
品質と安定・・・これのバランスは難しいですね~。
と、、、ながながと失礼しました~。