来源:Brightcove 主讲:Thiago Teixeira, Yuriy Reznik 翻译:钟宏成 本次演讲首先介绍了流媒体的特点。对流媒体播放数据的分析有助于对客户端逻辑、流媒体系统的优化,因此,作者提供了一个可用于研究的流媒体播放数据集,包含四个真实事件的会话信息、客户端信息、流信息、播放信息和网络信息等。
目录
- 介绍
- ABR 流:主要原则
- 数据集
- 数据集的使用实例
- 流媒体客户端的行为建模
- 结论
介绍
现代流媒体的特点:
- 视频内容分发到多种设备,包括:
- PC、笔记本电脑
- 手机
- 平板电脑
- 电视
- 视频嵌入在网页中,或者全屏播放
- 使用基于 HTTP 的自适应流媒体协议分发,例如 HLS 和 DASH
- 客户端的自适应逻辑主要受下列因素影响:
- 网络带宽
- 播放器窗口大小
- 设备解码性能
ABR 流:主要原则
图1: 流媒体客户端的典型架构
上图是流媒体客户端的典型架构,关键元素有:
- Buffer:缓冲区储存加载的媒体片段,一般可以缓存 10-30 秒的内容
- Bandwidth estimation:带宽预测,用于计算与预测可用的网络带宽
- Adaptation engine:自适应引擎,根据可用网络带宽、比特率阶梯、缓冲区装载程度以及其他因素选择一个版本
图2: 流媒体会话示例
在一个流媒体会话中,可能会经历带宽波动,导致自适应切换事件发生,流媒体的播放有下列特点:
- 不会立即播放,需要先填充缓冲区
- 在播放时,可能会因为带宽变化导致自适应切换
- 客户端可能因为缓冲区耗尽而暂停等待缓冲
- 客户端切换时有时会丢弃已经缓冲的片段
- 在用户中途中止播放时,客户端也会丢弃已缓冲的片段
图3: 播放器分析系统逻辑
典型的播放器状态和事件由一个分析系统收集,分析系统是客户端中内置的一个插件。分析系统会收集客户端的播放日志,收集关键的性能指标比如:观看的事件、加载的数据、选择的流版本等。
收集这些分析数据可以用于许多方面:
- 观众分析
- 哪些内容被观看了
- 被多少观众观看
- 用户数据分析
- 视频的平均观看时长是多少
- 播放次数的分布是什么
- QoE 分析
- 系统的平均分发质量分析
- 启动时间分布
- 系统建模与优化
- 自适应逻辑的优化
- 比特率阶梯的优化
- 分发系统的设计
数据集
数据集在 GitHub 开源:https://github.com/brightcove/streaming-dataset
- 包含超过 5000万条播放器记录
- 包含四个真实世界的流媒体事件
- 包含多样的分发设备、网络状况和编码设置
- 随着流媒体技术的发展,后续可能会添加更多的数据,包括:
- 新的 codec
- 低延迟分发
- UHD/HDR 分发
图4: 数据集收集事件概览
收集的信息包括:会话信息、客户端信息、流信息、播放信息和网络信息,具体如下图。
图5: 数据集收集信息明细
图6 给出了事件1的简要总结:
图6: 事件1数据
数据集的使用实例
流媒体客户端的行为建模
通过对数据的分析,我们发现播放器分辨率大小对流的选择有很大影响,带宽自适应不是唯一的问题。这启发我们对播放器建模的改进。融合了带宽自适应与播放器分辨率自适应的模型更准确。
图7: 客户端建模与真实值比较
结论
提供的流媒体播放数据集可用于研究,在后续的研究中,可以用做:
- 使用机器学习对流媒体客户端与系统更好地建模
- 流媒体客户端的最佳设计
- 自适应流媒体系统的性能分析
- 内容感知的编码优化
- 多屏幕分发优化
附上演讲视频:
http://mpvideo.qpic.cn/0b2efqaaiaaa3qags6p6sfqvalgdaqwaabaa.f10002.mp4?dis_k=d46c785c30818b626a10caf0a2c86384&dis_t=1645153183&vid=wxv_2256065279388762125&format_id=10002&support_redirect=0&mmversion=false