ios - HTTP直播流(HLS) - 降低目标持续时间,选择初始流和调试

时间:2013-12-31 20:46:39

标签: ios http-live-streaming

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

项目说明:

  1. 使用HTTP直播(HLS)允许iOS设备选择最佳观看流。
  2. 小溪不在线。
  3. 视频时长约为1分钟。
  4. 定位iPhone 3gs及更高版本
  5. 三个问题:

    1. 初始蜂窝流的目标编码器设置应该是什么?编码器设置表:Preparing Media for Delivery to iOS-Based Devices

    2. Apple suggests(转载如下)目标持续时间应为10秒。如果初始流质量低于当前功能,则在切换之前,您将被卡住查看相同的流10秒钟。我正在考虑将它移动到3-5秒。是否有关于下限的建议?我相信Apple的建议来自实时流媒体视角,可能不适用。

    3. 如何在设备上调试HLS?查看流交换机和时序。我曾经碰到过一个链接......

    4.   

      使用10秒目标持续时间

           

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

      非常感谢

2 个答案:

答案 0 :(得分:3)

1)这可能是您的消费者的反复试验。鉴于目标持续时间较短,我会以非常低的比特率进行初始流,并假设质量变化很快发生(见2)

2)这确实取决于你的CDN。然而,VOD更容易,因为每个段只有一个HTTP请求,而不像live(每个段2个请求)。话虽这么说,微软Silverlight的默认值是2秒。对于netflix来说这已经足够了。

3)不知道。

答案 1 :(得分:3)

对于#1,Apple mentions有超过1个主文件来解决第一个流播放的质量问题。

  

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

     

建议使用150k流的细胞变体播放列表。

     

建议使用240k或440k的Wi-Fi变体播放列表流。

     

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