Pregunta

What is the recommend location of the I-Frames within an HTTP Live Streaming session?

I know that, if I were to use the #EXT-X-I-FRAMES-ONLY tag, then every segment contains exactly 1 I-Frame at the very beginning of the segment.

But what if I am not using this tag?

What if I strictly create segments based on length of time?

If a segment doesn't start with an I-Frame, do players typically assume they should calculate the images based on the last I-Frame from the previous segment? If so, then why would I even create a #EXT-X-I-FRAMES-ONLY playlist?

¿Fue útil?

Solución

It is recommended the the first frame in the TS be an I-frame, however it is not required. If a segment doesn't start with a iframe, it will play fine assuming it has already downloaded and played the previous segment. This may not be true however, if your user jumps into the middle of a live stream, switches bitrates, or seeks within a VOD. In the case of a play or seek event, the player can download the previous segment (if available) and look for an I frame, or drop frames until the first iframe is found. If it is a multibitrate stream it can continue to play the old stream until a keyframe in the new stream is found. But this increases bandwidth usage, and will almost certainly result in buffering.

The #EXT-X-I-FRAMES-ONLY playlist can be used for preview images while scrubbing through the content.

Otros consejos

From Apple tech note tn2288, combination of Iframe only playlist and byterange can be used for trick modes as well by indexing into the segments.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top