2

我正在使用苹果的 http 直播将实时视频流式传输到 ipad/iphone。其中一个重要步骤是将传输流与播放列表一起分割成几个 ts 段。根据苹果的文档,推荐的 ts 段持续时间为 10 秒。然而,更长的持续时间总是意味着更多的延迟,所以我试图将这个持续时间减少到 2 甚至 1 秒。

Apple 文档还要求在关键帧边界之间进行分割,这意味着每个 ts 片段都应该以关键帧开头,这样才能独立播放。冲突的部分来了,传输流每隔一两秒就有一个关键帧几乎是不可能的,而且也是浪费的。所以我的问题是,如果 ts 段不以关键帧开头,http 直播仍然可以工作吗?

4

1 回答 1

3

视频流每隔一两秒就有一个关键帧是非常容易的。例如,广播电视通常每半秒就有一个关键帧。编码器的配置参数将被称为“GOP”(图片组)大小或关键帧间隔。

使用更频繁的关键帧会降低编码效率(达到相同质量需要更多字节),但它确实提高了查找性能。

直接回答您的问题:不。如果 ts 段不以关键帧开头,HLS 将无法正常工作。这有两个原因。

  1. 必须可以搜索任何段并具有可以立即解码的有效数据。

  2. 必须可以在任何段边界的不同比特率之间切换。不能引用不同的流,因为缓存的数据是无效的。

于 2012-07-25T07:40:13.587 回答