La conversione da FFmpeg da RTSP a HLS sta causando blocchi ed errori casuali


0

Quindi, ho un comando che converte RTSP in HLS per me:

sudo ffmpeg -fflags nobuffer -rtsp_transport udp  -i rtsp://admin:'password'@10.2.10.201/video1  -vsync 0  -copyts  -vcodec copy  -movflags frag_keyframe+empty_moov  -an  -hls_flags delete_segments+append_list  -f segment  -segment_list_flags live  -segment_time 3  -segment_list_size 10  -segment_format mpegts  -segment_list /mnt/hls2/stream2.m3u8  -segment_list_type m3u8 /mnt/hls2/%d.ts

Sembra funzionare bene, ma nella console, riceverò errori casuali insieme a un avviso occasionale su DTS non monotono nel flusso di output.

Uno degli errori

Più errori

Un altro errore

Un altro tipo di errore

Tipo di ultimo errore

Quando ricevo gli errori rossi, sembra fermare lo streaming ovunque io lo stia visualizzando (pagina Web, VLC, ecc. Anche per iOS sembra essere peggio) ma tornerà bene se aggiorno la pagina web o fare in modo che VLC recuperi nuovamente il flusso. Qualcuno potrebbe offrire qualche idea su cosa sta succedendo e su come prevenire ritagli casuali durante la conversione di RTSP in HLS?

Sto usando Nginx 1.15.3 su Ubuntu 18.04 se ciò aiuta ciò che è impostato per gestire i flussi HLS e li gestirà bene da fonti non RTSP.

Modifica: A volte noto che appena dopo essere andato giù prenderà una clip casuale da un altro flusso HLS gestito da nginx, questo potrebbe suggerire più di un problema di nginx? Quel flusso sta semplicemente usando ffmpeg per trasmettere HLS al server direttamente dalla videocamera di un Raspberry Pi e non dovrebbe influenzare nulla su questo flusso.


Per motivi non correlati alla domanda, ho modificato il tempo del segmento per HLS da 3 a 5.
tommy61157

Risposte:


0

Il flag -rtsp_transport per questo deve essere cambiato in tcp e non in udp, udp sta solo causando un sacco di perdita di pacchetti in questo caso che stava causando tutti i problemi, tcp non presenta problemi / errori.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.