-%20%E5%A5%BD%E7%9A%84%EF%BC%8C2-pass%20.png)
(ngnix設定檔)OBS傳送到轉碼->
應用程式轉碼器
{ exec ffmpeg -y -i rtmp://localhost/transcoder -b:v 6000k -minrate 5500k -maxrate 6500k -bufsize 7000k -vcodec libx264 -presetmedium -bufsize 7000k -vcodec libx264 -presetmedium -s 1920108 params hal -hrd=cbr:force-cfr=1:keyint=120 -pass 1 -an -f flv /dev/null;
執行 ffmpeg -i rtmp://localhost/transcoder -b:v 6000k -minrate 5500k -maxrate 6500k -bufsize 7000k -vcodec libx264 -preset Medium -s 1920x1080 -v force-cfr=1:keyint=120 -pass 2 -acodec aac -ab 160k -strict -2 -f flv rtmp://localhost/transcoded-1080/; }
應用程式轉碼-1080 { 推送 rtmp://...
}
如何寫作以獲得 2-pass 串流媒體?
答案1
你不能。第二遍的工作原理是對流進行一次編碼以進行“練習”,並在真正進行第二遍時使用該資訊來建立比特率預算。為了完成第 1 遍,它需要從頭到尾的整個流。直播影片的 2 pass 是一個矛盾的說法。
唯一的例外是 nvenc。 nvenc 有一種速率控制模式,nvidia 稱之為“2 pass”,但它與 x264 的 2 pass 不同。