가상 서버에서 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 스트림 스크립트를 사용하여 기술적인 문제 없이 1년 넘게 전용 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.12Mbit/s
  • 업로드: 96.57Mbit/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"

필요한 대역폭보다 더 많은 액세스 권한을 갖고 있기 때문에 문제가 무엇인지 이해하기 어렵습니다.

관련 정보