|
返事が遅れてしまいすみません。
詳細な解説ありがとうございます。
>VBVバッファ(Video Buffering Verifier)は、再生時にオーバーフロー(処理が間に合わず取りこぼす)やアンダーフロー(転送が間に合わない)しないように、デコーダのデータ取得動作をシミュレートする擬似デコーダのようなものです。
つまりDVDプレイヤーのデコーダですよね。確かにそうすると再生側のバッファサイズ(=デコーダの能力?)が分からないと適当な値は分からなそうですね。
>エンコードされたデータは、VBVバッファに流されて、問題があれば再度エンコードし直し、問題がなければ最終的にMPEGファイルが生成されます。
>又、TMPGEncは、ファイルに対するビットレートの配分よりも、VBVバッファに対するビットレートを重視した作りになっていて、これは、再生互換性に重きを置いた為だそうです。
TMPGEncのVBVバッファサイズを適正値に設定していなければ、オーバーフロー・アンダーフローを引き起こしかねなということですね。
MPEGデータの中にはいわゆる画質を決定するビットレートと、プレイヤーで再生する際に転送率を決めるビットレートの二つがあるということでしょうか。動画は奥が深い・・・。
何となく、VBVバッファと言うものの役割が少し分かった気がします…。
>この値を手動で設定した方が良いのは、再生側のバッファサイズが予め判っている場合だけで、TMPGEncなどは、テンプレートにて規格に応じたバッファサイズが予め設定されているので、通常は弄るべきではないとされています。
>又、同じくTMPGEncでバッファサイズを0に指定した場合、ビットレートなどから最適値を自動的に計算するようです。
VBVバッファサイズの適正値を決める要素に何があるのかってことでしょうね。ビットレート以外の要素が複雑に絡んでいるからいわゆる規格値と言うものが無いのかなと思い始めました。
また幾つかのファイルでやってみたのですが、設定時に元値の40KBにすると、エンコード後の情報は40960 Bytesで問題なし。0KB・自動だと1.○倍になり規格外。エンコードと言う言葉すら調べている私ですが、VCDCheckerも40960 Bytesであれば問題なし・それ以外を規格外と見ているのかなと思います。
素人考えですが、最適なVBVバッファサイズを見つけるには、同じソース・異なるVBVバッファサイズで複数のVCDを作り、自分のプレイヤーと一番愛称の良い値を見つけるということなのかも知れませんね。
|
|
|