HTTP Live Streaming 会话中 I-Frame 的推荐位置是什么?
我知道,如果我要使用#EXT-XI-FRAMES-ONLY 标签,那么每个段的开头正好包含 1 个 I 帧。
但是如果我不使用这个标签怎么办?
如果我严格根据时间长度创建细分怎么办?
如果一个片段不是以 I-Frame 开始的,玩家通常会假设他们应该根据前一个片段的最后一个 I-Frame 来计算图像吗?如果是这样,那我为什么还要创建一个#EXT-XI-FRAMES-ONLY 播放列表?
HTTP Live Streaming 会话中 I-Frame 的推荐位置是什么?
我知道,如果我要使用#EXT-XI-FRAMES-ONLY 标签,那么每个段的开头正好包含 1 个 I 帧。
但是如果我不使用这个标签怎么办?
如果我严格根据时间长度创建细分怎么办?
如果一个片段不是以 I-Frame 开始的,玩家通常会假设他们应该根据前一个片段的最后一个 I-Frame 来计算图像吗?如果是这样,那我为什么还要创建一个#EXT-XI-FRAMES-ONLY 播放列表?
建议 TS 中的第一帧是 I 帧,但这不是必需的。如果一个片段不是以 iframe 开头的,假设它已经下载并播放了前一个片段,它将可以正常播放。但是,如果您的用户跳到直播流的中间,切换比特率或在 VOD 中搜索,这可能不是真的。在播放或搜索事件的情况下,播放器可以下载前一个片段(如果可用)并查找 I 帧,或丢弃帧直到找到第一个 iframe。如果它是多比特率流,它可以继续播放旧流,直到找到新流中的关键帧。但这会增加带宽使用,并且几乎肯定会导致缓冲。
#EXT-XI-FRAMES-ONLY 播放列表可用于在浏览内容时预览图像。
从 Apple 技术说明 tn2288 中,Iframe only playlist 和 byterange 的组合也可用于特技模式,也可以通过索引分段来使用。