[FFmpeg-user] Decoding continuous stream of I-frame+P/B frames block.

Anil Jangam anilj.mailing at gmail.com
Thu Nov 13 22:37:03 CET 2014

Hello Carl,

In my implementation, the encoder is generating the encoded frames and
building video chunks, which contains I-frame, P(B)-frames. We are
configuring a # of frames per this chunk as well as GOP interval (interval
for I-frames). On decoder side, we are decoding this video block to get the
pictures and display them to get the video play.

As you can observe, block building is a process of accumulating a number of
frames, and it takes a time (number of frames x 1/frame rate ms). This is
adding to the overall end to end latency.

My question is, is it possible to use just one Container and feed it the
frame by frame data so that the buffering or block logic can be avoided?

Can you also elaborate what do you mean by - "Valid (h264) streams exist
that do not contain I-frames, only P- (and B-) frames."?
  - When does an I-frame is used?
  - What is the notion of GOP interval and how it is used? Or is this a
container level feature? How it is related, if it does?

Hope this is more clear.


On Thu, Nov 13, 2014 at 12:37 PM, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote:

> Anil Jangam <anilj.mailing <at> gmail.com> writes:
> > My understanding is that when a new Container object
> > is to be initialized, it always requires an I-frame +
> > subsequent P or B frames to initialize else open fails.
> Valid (h264) streams exist that do not contain I-frames,
> only P- (and B-) frames.
> I unfortunately don't understand your question, not even
> if it is decoding- or encoding-related.
> Could you explain what you are trying to do and what
> doesn't work?
> Carl Eugen
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user

More information about the ffmpeg-user mailing list