Home 技术文章 从服务器端测量视频QoE:估计重新缓冲
Applications

从服务器端测量视频QoE:估计重新缓冲

About The Author

Outline

视频体验质量和重新缓冲

视频流的早期,观众愿意忍受令人沮丧的回放体验,以获得独家内容的访问权限。 随着内容提供商在多个分销商之间共享其内容的数量不断增加,用户体验质量(QoE)对于观众保留至关重要。

用户体验质量是指用户观看视频流的整体体验。 与服务质量(QoS)不同,QoE是一个更主观的问题,因此很难衡量或保证一定的水平。 QoE包含许多关键绩效指标(KPI),视频服务跟踪这些指标,以清晰了解其平台的性能。 这些质量指标可以细分为特定的关注领域,例如重新缓冲或广泛的比特率波动。

在各种指标中,重新缓冲是观众最引人注目和最烦人的错误。 这个小旋转车轮就是糟糕的观众体验的象征。 视频行业研究一致表明,观众在经历重新缓冲时会放弃流媒体。 重新缓冲和QoE降级的责任很难确定。 它可能源于观众的互联网服务提供商(ISP),内容交付网络(CDN),客户端的浏览器/播放器应用程序或原始发行商的视频基础设施。

虽然ISP或发布商的问题在很大程度上超出了我们的控制范围,但我们现在可以捕获可操作的数据,使我们能够识别和解决CDN产生的QoE问题。 为此,我们开发了一种称为”估计重新缓冲”的算法,以使用Web服务器日志识别视频QoE问题。 此实时监控系统使用粒度数据来识别QoE问题,并深入了解根本原因和相应的解决措施。 在这篇文章中,我们将了解此算法如何确定QoE问题,以及如何使用它来改进QoE。

估计重新缓冲算法概述

跟踪QoE的一种方法是让播放器将QoE数据发送到CDN。 这要求玩家和客户采用软件开发套件(SDK)。 鉴于播放设备的多样性,客户端QoE指标几乎不可能一致地捕获。 Estimated rebuffer算法减轻了玩家/客户端更改或采用SDK的需求。 这是一个估计值,因为它不需要从客户端通过信标发送信息。 但是,鉴于其跨数据中心和交付网络的广泛性,与客户端相比,它可以更深入地了解QoE问题的根本原因。

评估重新缓冲工具使用来自我们平台上的视频服务的服务器端客户端访问日志来识别QoE问题。 为了评估QoE,它使用三条信息:

  • 客户端请求资产/视频流数据块时的时间戳
  • 资产/视频流块的文件名
  • 会话或客户端标识符

根据此信息,无需第三方工具,估计重新缓冲算法可以确定影响QoE的关键要素,包括:

  • 重新缓冲—该算法详细说明客户端看到的重新缓冲次数,重新缓冲事件的持续时间以及重新缓冲与观看视频流所用时间的比率。
  • 平均比特率—视频质量是视频比特率的函数。 较高的平均比特率意味着视频质量更好,图片更清晰,更清晰,色彩更丰富,体验更好。
  • 波动率—观众倾向于对比特率波动作出负面反应,倾向于采用恒定比特率。 此指标确定视频流更改其质量的次数。
  • 质量分布—这使我们能够确定视频的多少部分以何种质量提供给给定客户。 例如,80%的服务质量高,10%中等,10%低。

工作原理

Estimated rebuffer算法如何只需两条信息就能对QoE提供如此有用的评估? 让我们来看一下。

自适应比特率(ABR)视频流包含许多单独的视频块或资产。 每个块的大小是固定的,通常为4秒。 例如,一个40秒的ABR视频流有10个块(40/4=10个块)。

每个块按顺序命名,例如,a1.ts,a2.ts,a3.ts…a10.ts等。 第一个字母是质量类型。 在我们的例子中:A是最低的,B比A高,C比B…高,依此类推。 借助这些知识,我们将查看每位客户的请求,并按顺序检查它们。 如果它们的质量发生变化,例如A1.ts,B2.ts,A3.ts,我们将其添加到波动率指标中。

因为我们知道客户端何时向我们请求数据块以及每个数据块的时长(4秒),所以我们可以为所有请求的数据块添加所有时间/持续时间。 如果我们看到之间的间隙,请求的间隙超过播放器过去请求的块数(即缓冲区中的视频),我们将其视为重新缓冲区。 我们还会考虑当缓冲视频客户端从CDN发出新的块请求时会观看多少内容。

此算法不是Verizon Media独有的,现在是Edgio。 它可以扩展到Edgio交付网络上的其他视频服务,只要它们使用类似的文件命名约定。

应用程序

借助QoE数据,我们可以通过多种方式改进QoE,包括调试特定问题和识别性能不佳的网络。 一旦我们发现QoE问题,我们就可以轻松深入地了解问题发生的原因。

当我们发现QoE较差时,我们可以查看每个数据中心的QoE指标,以确定哪个数据中心观察到QoE较差。 确定数据中心后,我们可以深入了解导致数据中心的网络,找出原因并建议修复。 例如,一种修复方法可能是在下一个实况视频流期间不使用特定网络,如果该网络显示容易出现故障。 通常,当我们遇到重新缓冲问题时,在事件开始为新流量腾出空间之前,我们会手动移动流量。 根据估计的重新缓冲算法数据,我们的流量管理团队可以创建游戏前缓冲区,以便在游戏开始抢先解决容量问题之前移动流量。

由于系统可以实时工作,我们可以在视频直播期间主动采取纠正措施。 例如,这可能需要将流量从QoE较差的数据中心迁移到更健康的数据中心。 实时错误检测和解决是一种非常有效的工具,可减少遇到重新缓冲或其他问题的客户端数量。

虽然消除可怕的旋转轮可能永远不可能实现,但服务器端分析工具(如估计重缓冲算法)大大降低了其外观的频率。