
我使用 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