1
votes

We're using FFmpeg to decode H.264 live video streams. When we get to a point where we're not able to keep up with the live frame-rate (i.e high CPU) we start to drop frames before they pass the decoder. Obviously, once we drop a frame, I need to drop all next P-Frames until the next I-Frame (GOP).

The result is that sometimes we have several seconds without video (until an I-Frame arrives).

Is there anyway in FFmpeg to have a "partial" P-Frame decoding that will reduce the decoding time on one hand (assuming I don't need the uncompressed frame) while keeping the decoder in a "valid" state for being able to decode the P-Frames afterwards?

Thanks, Lior.

1

1 Answers

-1
votes

You can skip all the packets you want, but there is no way to have a full image with only a P-Frame without its I-Frame. You will most likely have a few macroblocks, of even a weird image with the colors not moving, but only the movement vectors visible.

Here is a sample of what you can expect while you have not received the next keyframe