优化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播放中的停顿和错误