[FFmpeg-devel] Help for patch: Sending last full, non-corrupt frame to output

Chris Wiggins chris at chriswiggins.co.nz
Tue Sep 1 22:54:43 CEST 2015


Hi all,

We utilise the FFmpeg application quite heavily in our environment and love the flexibility it provides. Unfortunately due to the nature of the networks we operate in, we quite often get lost or out of order packets into the h.264 decoder. FFmpeg does its best to conceal these however sometimes it washes the frame out: http://i.imgur.com/o5YttPY.png

What I’d like help with is to be pointed in the right direction as to where this is happening. I’ve had a look around but can’t quite grasp it all. Ideally what I’d like to do is store the last, fully decoded and error-free frame in memory, and then pass this to the output instead of the concealed frame. While this will cause jerky output, it is much more pleasing on the eye for the images we’re displaying (CCTV).

Command line arguments being used for reference: `ffmpeg -re -i rtsp://ip.address -an -vf scale=640:trunc(ow/a/2)*2 -r 15 -c:v libx264 -preset ultrafast -b:v 500k -profile:v main -level 3.1 -tune zerolatency -x264opts keyint=15 -f flv rtmp://127.0.0.1/live/stream

Please let me know where I can start, or if I’ve completely missed that this can be done already!

Thanks
Chris



More information about the ffmpeg-devel mailing list