1

Я использую FFMPEG (ввод из командной строки), чтобы конвертировать мои видео в определенный формат вывода. Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь передать постоянную скорость передачи данных (700 кбит / с) в FFMPEG, в результате получается выходное видео с другой скоростью передачи данных (например, 1000 кбит / с). Это явление происходит неизменно для всех видео.Почему это происходит? Мне нужно поддерживать постоянный битрейт. Может кто-нибудь мне помочь.

Моя версия FFMPEG - 0.5

Параметр командной строки, который я передаю в FFMPEG,

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

РЕДАКТИРОВАТЬ:

Я был в состоянии заставить CBR с колебанием +/- 3%, когда я использовал следующие параметры.

 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 ответ1

1

Чтобы заставить CBR вы должны использовать minrate , maxrate и bufsize (см. Здесь)

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .