Ubuntu->Ngnix->ffmpeg ->串流傳輸至 twitch(1-pass(CBR)- 好的,2-pass

Ubuntu->Ngnix->ffmpeg ->串流傳輸至 twitch(1-pass(CBR)- 好的,2-pass

(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 不同。

相關內容