どこをどう調べてみてもいまいちOn2Vp6の設定についての詳細が載ってません。
経験と勘とかソースによりけりとか言われても、やっぱり「ポイントになる場所」
というのがあるんじゃないか?と思ったので、具体的な実験結果を基に色々と試してみよう
というのが今回のネタ。
1.動画の準備二番煎じの動画を用意するのもアレかな?と思ったので、あまり無さそうな動画を用意しました。
MOONSTONE「Clear-クリア-」
http://www.moon-stone.jp/ms06clear/06_index.htmldownloadにあるイメージムービーを落とす。
2.エンコード設定の前に設定する前に、動画がmpegだったので
DirectShow File Reader プラグイン for AviUtlを入手。
これでaviultがmpegを読み込めるようになった。

動画情報-
解像度:640×480
フレーム:4440
サイズ:86.8MB
時間:2分28秒
エンコードの設定を弄る前にフィルタを色々かけなくちゃならない。
1.画像回転フィルタで上下反転
2.拡大縮小フィルタで縮小
今回用意した動画の解像度が640×480なのでx:y=4:3
512×384が目標解像度
yを96縮めたときxは128。
どうやら今回は黒ベタフィルタを使ってサイズを編集する必要は無いらしい。
3.エンコード設定を弄るようやくエンコードの設定を弄り始める。
予備知識として
映像・音声合わせて600kbps(ただし650kbps未満なら再エンコされないらしい?)
サイズ40MB以内
という縛りがある・・・が、まあなんとかなるでしょう。
とりあえず可能な限り高品質にしてみたいので以下の様に設定してみた。
1ビデオ圧縮
Generar-
Bitrate:472
End Usage:VBR
Material:Progressive
Noise Reduction:0
Sharpness:0
Advance-
Undershoot:90
Adjust Quantizer にチェック。他二つは未チェック。
Min:4
Max:6
Two Pass Section Datarate
80-100-200
オーディオ圧縮
Lame MP3 128kbps 44.1kHz 2ch
エンコード結果
995kbps
video:857kbps
サイズ:18MB
・・・あれ('A';
ビットレートを余裕でオーバー/(^o^)\
とりあえず設定を色々弄ってみよう。
とはいえいちいち全部エンコードするのは時間がかかるので、1~444フレームでテストしてみる。
2.Adjust Quantizerを変更してみるBitrate:472
audio:128kbps 2ch
Min:10
Max:15
結果:929kbps
video:789kbps
3.上記の設定でBitrateだけ下げてみるBirate:200
audio:128kbps 2ch
Min:10
Max:15
結果:912Kbps
video:771kbps
4.上記の設定でオーディオ設定を変えてみるBitrate:200
audio:64kbps 1ch
Min:10
Max:15
結果:849kbps
video:771kbps
5.上記の設定でAdjust Quantizerを変えてみるBitrate:200
audio:64kbps 1ch
Min:25
Max:30
結果:490kbps
video:414kbps
Adjust Quantizerの設定がキモかな?ということで
今までMinとMaxの幅を5でやっていたものを大きく変えてみる。
6.Adjust Quantizerの設定を大きく変更Bitrate:200
audio:64kbps 1ch
Min:4
Max:30
結果:493kbps
video:418kbps
・・・さっぱり解らない('A';
7.Adjust QuantizerのMaxを下げてみるBitrate:200
audio:64kbps
Min:4
Max:15
結果:850kbps
video:773kbps
4と似たような結果が出たので、4と動画を比較してみる。
ぶっちゃけあまり変わらなかった。ここで一度纏めてみよう。
実験2~3の様にただBitrateを変えただけでは大してビット数は変わらなかった。
オーディオ設定を128kbps・2chから64kbps・1chに変えたのは、
聞いてみて音質に違いがほとんど見られなかったから。
そこで、実験5の様にAdjust Quantizerを一気に変えてみたところ
結果は490kbpsと大きく変えることができた。
この時の設定は25~30。
Adjust Quantizerの幅は5と小さかったが、大きくしてみたらどうだろう?
という実験が6だが、結果はほとんど誤差だった。
よって、Max値がビットレートに大きく関係しているのではないか?
との予想からMin値を実験6の値から固定したままMax値を変更してみたところ、
大幅にビットレートが増大した。
8.Adjust QuantizerのMin値を1にしてみるBitrate:200
audio:64kbps
Min:1
Max:15
結果:851kbps
video:773kbps
結果は4、7とほぼ同じ。
やっぱりMinって誤差修正なのか?('A';
9.Adjust QuantizerのMax値を変えて限界ビットレートを目指すBitrate:200
audio:64kbps
Min:1
Max:25
結果:585kbps
video:509kbps
Min値を誤差と考えると、
Max06で995
Max15で850
Max25で585
Max30で493 となった
結果から察するに上に凸な放物線を描くような形になるんだろうか?
10.Adjust QuantizerのMax値を20へBitrate:200
audio:64kbps
Min:1
Max:20
結果:687kbps
video:611kbps
とりあえずAdjust Quantizerの設定を25にしてAdvanceタブのビットレート値を弄ったほうが細かく弄れそうかな?
300くらい下げて20くらい下がったから50くらい上げたいなら750上げればいいのかな?
11.Adjust QuantizerのMax値を25、Bitrateを950Bitrate:950
audio:64kbps
Min:1
Max:25
結果:1124kbps
video:1024kbps
そー単純な計算じゃないらしい。
こっちは下に凸な放物線ってこと?
どうでもいい話だが凄まじく綺麗だった。
12.上記の設定でBitrateのみ変更Bitrate:520
audio:64kbps
Min:1
Max:25
結果:676kbps
video:600kbps
13.以下誤差修正結果Bitrate:480
audio:64kbps
Min:1
Max:25
結果:657kbps
video:581kbps
Bitrate:450
audio:64kbps
Min:1
Max:25
結果:647kbps
video:571kbps
「650kbps未満なら再エンコされないらしい」という情報があったので、
それを元に↑の設定で今度は全フレームをエンコードしてみる。
test.設定は以下記述Bitrate:450
audio:64kbps
Min:1
Max:25
結果:605kbps
video:532kbps
再エンコはされませんでしたが、超絶重かったです。
適度に削った方が見る人にストレスを与えなくて良い予感。
何事も程ほどに・・・て事でしょうかね。
http://www.nicovideo.jp/watch/sm281991考察:
まだまだ試したいことはあるんですがとりあえずの考察を先に。
UnderShoot90、Two-Pass-Sectionが80-100-200である場合、
ポイントとなるのが
・Bitrate
・Adjust QuantizerのMax値
・audio設定
の3つだと思われます。
・Bitrate
ビット数の増減は下に凸な放物線を描いていると思われます。
細かく上げ下げするならここを弄るといいかもしれません。
・Adjust Quantizer
Min値に関してはまだ試してみないと解りませんが、おそらく誤差修正くらいにしかならないでしょう。
Max値を変えると大きくビット数が上下します。
どちらの数値も下げれば画質が向上するのは実証済みです。
・audio設定
44.1kHzは固定として、128kbpsでエンコードするか64kbpsでエンコードするかの違いです。
正直128kbps・2chの設定に拘る必要は無いと思いますが、
64kbps・1chにすればおよそ60以上のビット数を稼ぐことが出来ます。
追記:テストのflvをアップした後に、Min値を弄った物を作ってみました。
Bitrate:450
audio:64kbps
Min:20
Max:25
結果:514kbps
video:440kbps
90近くビットレートが変わってます。
ただし、ほんの少し画質に劣化が見られました。
具体的には輪郭に「ぼけ」が出た?
くらいの物です(はっきり言ってほとんど解りません)
一応今までに作ったflvは全て残してありますんで、
『どおおおおお~~~しても参考に欲しい』
て人はコメントにでも書いてください。
気がついたらアップしておきます。