Attualmente sto usando FFMPEG per lo streaming su un server CENTOS virtuale. Io uso il seguente script per lo streaming su youtube live.
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"
In precedenza ho utilizzato lo stesso script di flusso FFMPEG per lo streaming su un server CENTOS dedicato per oltre un anno, senza problemi tecnici.
Ho provato a utilizzare lo stesso script FFMPEG sul server virtualizzato. Quando uso la velocità di codifica 1700k, ottengo il seguente errore nell'output:
[flv @ 0x56da380] Failed to update header with correct duration.
[flv @ 0x56da380] Failed to update header with correct filesize.
L'ingestor di YouTube si lamenta inoltre che il flusso di input (proveniente dal server CENTOS) è lento e che il flusso verrà bufferizzato.
Ho controllato la larghezza di banda di output disponibile a cui il server CENTOS virtuale ha accesso.
- Scarica: 57.12 Mbit / s
- Carica: 96,57 Mbit / s
Sono costretto a utilizzare una velocità di codifica video e una dimensione di uscita molto più basse
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"
Non riesco a capire quale potrebbe essere il problema dal momento che ho accesso a una larghezza di banda più che sufficiente.