FFMPEG 流輸出在虛擬伺服器上遺失

FFMPEG 流輸出在虛擬伺服器上遺失

我目前正在使用 FFMPEG 在虛擬 CENTOS 伺服器上進行串流傳輸。我使用以下腳本串流到 YouTube 直播。

ffmpeg -re -i program.01.mp4 -flags +global_header -acodec libmp3lame -ac 1 -ar 44100 -ab 192k -s 1280x720 -vcodec libx264 -pix_fmt yuv420p -g 60 -vb 1700k -profile:v baseline -preset:v faster -r 30 -f flv "rtmp://a.rtmp.youtube.com/live2/xxxxx"

我之前使用相同的 FFMPEG 串流腳本在專用 CENTOS 伺服器上進行串流傳輸一年多,沒有出現任何技術問題。

我嘗試在虛擬伺服器上使用完全相同的 FFMPEG 腳本。當我使用 1700k 編碼速度時 - 我在輸出中收到以下錯誤:

[flv @ 0x56da380] Failed to update header with correct duration.
[flv @ 0x56da380] Failed to update header with correct filesize.

YouTube 提取器也抱怨輸入流(來自 CENTOS 伺服器)很慢且流會緩衝。

我已經檢查了虛擬CENTOS伺服器可以存取的可用輸出頻寬。

  • 下載:57.12 Mbit/s
  • 上傳:96.57 Mbit/s

我被迫使用低得多的視訊編碼速度和輸出大小

ffmpeg -re -i program.01.mp4 -f-flags +global_header -acodec libmp3lame -ac 1 -ar 44100 -ab 128k -s 640x360 -vcodec libx264 -pix_fmt yuv420p -g 60 -vb 425k -profile:v baseline -preset:v faster -r 30 -f flv "rtmp://a.rtmp.youtube.com/live2/xxxxx"

我不知道問題出在哪裡,因為我可以獲得足夠的所需頻寬。

相關內容