
私は 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を強制するにはminrate
、maxrate
と を使用する必要がありますbufsize
(ここ)
ffmpeg -i myfile.avi
-b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k
out.m2v