优化HTTP实时流(HLS)以获得最佳用户体验1

苹果每年都会更改并扩展其框架。 为了更好地理解和利用框架功能,以下是用于优化HTTP Live Streaming(HLS)的演示文稿和注释。

HTTP实时流(HLS)用于向全球受众流式传输实时和点播内容。 您可以发现如何调整和调整流创作和传递元素,以通过会话502改善用户体验。

会话链接

在会议上,他们讨论了以下内容:

  • 建立通用的流QoS语言
  • 客观衡量流式QoS
  • 识别并解决损害QoS的问题

有关HLS回放会话的基本知识,请参见下图。

首先,您需要先找到问题再解决。 为了发现问题,您需要测量定义的一些指标。

什么是HLS用户体验的KPI? 这是会议中讨论的一些KPI。

5个用于HLS性能的KPI

  • 启动时间:每个会话的启动时间
  • 失速计数:失速速率(标准化为已观察的持续时间—计数/小时)
  • 失速持续时间:失速持续时间与观察的持续时间之比
  • 指示比特率:时间加权指示比特率
  • 错误:播放失败百分比

启动时间

这是启动媒体播放的每个阶段。

失速计数,失速持续时间,指示的比特率

您可以使用AVPlayerItemAccessLog来衡量KPI

播放失败百分比

定义KPI后的下一步,提高性能!

  • 减少启动时间
  • 调查摊位
  • 调查错误

使用AVAsset减少启动时间

您可以通过减少启动时间

  • 在用户决定播放之前创建并检查AVAset
  • 预取解密密钥(采用AVContentKeySession)

减少启动时间-AVPlayer和AVPlayerItem

您可以通过减少启动时间

  • 在缓冲之前设置AVPlayItem
  • 在设置播放器项目之前设置AVPlayer速率

减少启动时间-AVPlayerItem过渡

您可以通过减少启动时间

  • 使用AVQueuePlayer播放多个项目
  • 预先排队第二个AVPlayerItem

在本文中,我讨论了会话(502)“测量和优化HLS性能”的部分内容

这是本文的摘要

  • 设置KPI以获得更好的HLS UX
  • 找到衡量KPI指标的方法
  • 减少启动时间(通过更改avasset,avplayer的配置-avplayeritem,avplayeritem转换)

在下一篇文章中,我们将看一下如何调查HLS播放中的停顿和错误