Как адаптировать битрейт кодирования к пропускной способности во время публикации в реальном времени с помощью ffmpeg? - PullRequest
1 голос
/ 09 марта 2019

В настоящее время я использую ffmpeg для чтения записанного видео с собственной частотой кадров и публикации потока на сервере nginx rtmp.

Команда выглядит примерно так

ffmpeg -re -i [video file] \
-vcodec libx264 -r 60 -g 120 -keyint_min 120 -vb [bitrate]\
-f flv -y rtmp://[server url];

Я хочуизмените битрейт кодирования программного кодера вручную в соответствии с колебаниями полосы пропускания.Например,

If 2kbps< estimated_bandwidth <4kbps,  
     change ffmpeg bitrate to 3kbps, 1280x720 size 

Однако я не смог найти ни одного фреймворка или кодека, который бы поддерживал динамическое изменение битрейта во время кодирования.

Есть ли способ, которым я мог бы достичь этого?
Последнее, что я хочу сделать, это реализовать кодек самостоятельно, потому что у меня нет опыта.

1 Ответ

1 голос
/ 09 марта 2019

ffmpeg не имеет этой функции. x264, обычный кодер h264 и кодировщик по умолчанию в ffmpeg действительно поддерживают изменение битрейта на лету. Вам не нужно реализовывать код самостоятельно, но вам нужно изменить ffmpeg, чтобы добавить функцию.

...