[FFmpeg-user] Ignoring discontinuity when receiving RTP

Simon Stark simon at siiab.se
Sun Aug 15 00:27:42 EEST 2021


I am attempting to create an HTTP Live Stream from an RTP stream, with a
unique constraint: the RTP stream may stop and start randomly and even
change video source altogether, though the data will always be the same
format and always on the same port. What I'd like to achieve is for FFmpeg
to ignore these changes and simply convert whatever data is coming in as if
it's in order. Is this possible?

I have attempted to achieve this using the
`-reorder_queue_size 0` option (full example command below), but the process
still logs "RTP: dropping old packet received too late" when the RTP stream
is restarted and stops outputting HLS chunks. I have also tried using the
`-max_delay` flag set to 0, which seems to somewhat help but only when the
gap is not too large.

Example command with various HLS options omitted for brevity:

ffmpeg -protocol_whitelist file,udp,rtp \
       -f rtp \
       -i rtp:// \
       -max_delay 0 \
       -reorder_queue_size 0 \
       -acodec aac \
       -vcodec libx264 \
       -profile:v baseline \
       -level 3.0 \
       -tune zerolatency \
       -f hls

Any help is greatly appreciated.


More information about the ffmpeg-user mailing list