%20-%20%D0%9E%D0%9A%2C%202%20%D0%BF%D1%80%D0%BE%D1%85%D0%BE%D0%B4%D0%B0%20.png)
(файл конфигурации 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.