HTTP实时流媒体(HLS)-降低目标持续时间,选择初始流,并进行调试



目标是尽可能快地优化观看质量(始终是目标,不是吗?)。

项目说明:

  1. 使用HTTP实时流媒体(HLS)允许iOS设备选择最佳流进行查看
  2. 这条小溪没有水流
  3. 视频持续时间约为1分钟
  4. 针对iPhone 3gs及更高版本

三个问题:

  1. 初始蜂窝流的目标编码器设置应该是什么?编码器设置表:准备媒体以交付到基于iOS的设备

  2. 苹果公司建议(转载如下)目标持续时间应为10秒。如果初始流质量低于当前能力,则在切换之前,您将被困在观看同一流10秒钟。我正在考虑把它移到3-5秒。是否有关于下限的建议?我相信苹果的建议是从直播的角度出发的,可能并不适用。

  3. 如何调试设备上的HLS?查看流切换和计时。有一次我碰到了一个链接。。。

使用10秒目标持续时间

在EXT-X-TARGETDURATION标记中指定的最大媒体段持续时间值将对启动产生影响。我们强烈建议目标持续时间为10秒。如果使用较小的目标持续时间,则会增加失速的可能性。原因如下:如果你通过CDN交付实时内容,就会出现传播延迟,而这些内容要一直传播到CDN上的边缘节点,这将是可变的。此外,如果客户端通过蜂窝网络获取数据,则会有更高的延迟。如果使用较小的目标持续时间,这两个因素都会使您更有可能遇到失速。

感谢SO

1)这可能是消费者的试错。在给定低目标持续时间的情况下,我会对初始流使用非常低的比特率,并假设质量变化会很快发生(见2)

2) 这确实取决于您的CDN。然而,VOD更容易,因为每个片段只有一个HTTP请求,而不是实时(每个片段2个请求)。也就是说,微软silverlight的默认时间是2秒。这对netflix来说已经足够好了。

3) 不知道。

对于#1,苹果提到有一个以上的主文件来解决播放第一个流的质量问题。

如果您是iOS应用程序开发人员,您可以查询用户的设备以确定初始连接是蜂窝还是WiFi,并选择适当的主索引文件。为了确保用户在首次播放流时有良好的体验,无论初始网络连接如何,都应该有多个主索引文件,由相同的备用索引文件组成,但第一个流不同。

建议为蜂窝变体播放列表提供150k流。

建议为Wi-Fi变体播放列表提供240k或440k的流。

注意:有关如何查询基于iOS的设备的网络连接类型的详细信息,请参阅以下示例代码:可达性

相关内容

最新更新