Ubuntu->Ngnix->ffmpeg ->Трансляция на Twitch (1 проход (CBR) - ОК, 2 прохода

Ubuntu->Ngnix->ffmpeg ->Трансляция на Twitch (1 проход (CBR) - ОК, 2 прохода

(файл конфигурации ngnix) OBS отправляет в transcode->

приложение транскодер
{ exec ffmpeg -y -i rtmp://localhost/transcoder -b:v 6000k -minrate 5500k -maxrate 6500k -bufsize 7000k -vcodec libx264 -preset medium -s 1920x1080 -sws_flags bicubic -r 60 -x264-params hal-hrd=cbr:force-cfr=1:keyint=120 -pass 1 -an -f flv /dev/null;

exec ffmpeg -i rtmp://localhost/transcoder -b:v 6000k -minrate 5500k -maxrate 6500k -bufsize 7000k -vcodec libx264 -preset medium -s 1920x1080 -sws_flags bicubic -r 60 -x264-params hal-hrd=cbr:force-cfr=1:keyint=120 -pass 2 -acodec aac -ab 160k -strict -2 -f flv rtmp://localhost/transcoded-1080/; }

приложение transcoded-1080 { push rtmp://...

}

Как написать, чтобы получить двухпроходную трансляцию???

решение1

Вы не можете. 2 прохода работают, кодируя поток один раз для "практики" и используя эту информацию для установления бюджета битрейта при выполнении второго прохода в реальности. Для завершения прохода 1 ему нужен весь поток от начала до конца. 2 прохода для живого видео - это оксюморон.

Единственным исключением является nvenc. У nvenc есть режим управления скоростью, который nvidia называет «2 прохода», но это не те же два прохода, что и у x264.

Связанный контент