FFMPEG がビデオに追加のビット レートを追加するのはなぜですか?

FFMPEG がビデオに追加のビット レートを追加するのはなぜですか?

私は FFMPEG (コマンド ライン入力) を使用して、ビデオを特定の出力形式に変換しています。私が直面している問題は、一定のビット レート (700 kbps) を FFMPEG に渡そうとすると、異なるビット レート (たとえば 1000 kbps) の出力ビデオになってしまうことです。この現象はすべてのビデオで必ず発生します。なぜこのようなことが起こるのでしょうか。一定のビット レートを維持する必要があります。どなたか助けていただけませんか。

私のFFMPEGバージョンは0.5です

FFMPEGに渡すコマンドラインパラメータは、

-i {inputfile}
-b 700k -ab 64k
-vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240 
{outputfile}

編集:

以下のパラメータを使用すると、+/- 3% の変動で CBR を強制することができました。

 ffmpeg -i myfile.avi
 -b 4000k -minrate 4000k 
 -maxrate 4000k -bufsize 1835k   out.m2v

しかし、パラメータセットに -maxrate と - minrate を使用した場合、CBR を強制できませんでした。パラメータセットは次のとおりです。

-i {inputfile}
-b 1200k -minrate 1200k 
 -maxrate 1200k -bufsize 1200k 
-ab 64k -vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240 
{outputfile}

なぜこうなった?

答え1

CBRを強制するにはminratemaxrateと を使用する必要がありますbufsizeここ

ffmpeg -i myfile.avi
       -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k
       out.m2v

関連情報