[FFmpeg-user] Error Concealment - wait for next full, non-corrupt frame?

Chris Wiggins chris at chriswiggins.co.nz
Tue Jun 2 05:41:17 CEST 2015


Hi all,

I'm having problems with some CCTV cameras on a network thats out of my control. What I'm seeing is lots of error concealment going on, although as the I-frame interval is once per second there's plenty of full frames too. With the images I'm getting from the camera, I'd rather just have FFmpeg duplicate the last full, non-corrupt frame and pass that to the encoder instead of passing concealed data. Is this at all possible? Note that its not possible for me to switch from UDP to TCP due to various reasons...

I've been through all sorts of error concealment strategies and trawled the documentation (both the ffmpeg-all and doxygen docs) and I can't seem to see any reference to this sort of functionality. It appears that error_concealment.c just stores the last_pic and bases the error concealment guessing on that, but I don't want it to try and guess the errors if more than say, 5% is corrupt. Much better to have a still image for half a second than a complete wash like this: http://imgur.com/o5YttPY.png

If I'm pointed in the right direction for this (and its not currently do-able in master) then I'm happy to provide a patch, just need to be pointed in the right direction.

Thanks for your help.
Chris


More information about the ffmpeg-user mailing list