YouTube高效传输策略:节省14%带宽 用户体验提升

简介: 视频平台会侦测用户端的带宽来调整码率及分辨率,但通常只考虑到编码器的比特率率--质量关联,忽略了用户的可用带宽影响。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


视频平台会侦测用户端的带宽来调整码率及分辨率,但通常只考虑到编码器的比特率率--质量关联,忽略了用户的可用带宽影响。YouTube团队通过让视频流匹配用户带宽,不仅节省了带宽,还有效提升了用户主观体验。LiveVideoStack原文进行了编译。


文 / Balu Adsumilli, Steve Benting, Chao Chen, Anil Kokaram, and Yao-Chung Lin

译 / 金歌


YouTube致力于在消耗最低带宽的前提下,提供最佳的视频体验。实现这一目标的一种做法是在优化视频时同时考虑可用带宽的约束。最近我们的确提升了视频流的传输性能——通过优化视频本身使其与可用带宽更加的匹配,从而提供了更高的视频的(观看)质量。


当您观看视频时,YouTube的播放器会在客户端测量当前的带宽,同时结合用户的终端设备、解码能力、处理能力等,动态选择最佳的视频块,从而能以足够快的速度进行下载。YouTube制作具有不同分辨率的多个视频,分辨率高的视频对应编码比特率也更高。


640?wx_fmt=png

图1:基于HTTP的自适应视频流


针对特定的分辨率,Youtube会选择使用多少比特来进行编码呢(在编码器允许的范围内)?对于一个给定的分辨率,更高的比特率通常意味着更高的视频质量,但这种视频质量的提升有一个上限。超过这一上限后,进一步提高比特率只会使得视频块更大,并不能提升视频的视觉效果。当我们选择某一分辨率下的编码比特率时,我们会在相应的比特率--质量曲线上选择最优点(参见图2),超过这个最优点后,继续增加比特率并不能使图片视觉效果更好。


640?wx_fmt=png

图2:在给定视频编解码器的情况下,某一视频块在不同编码分辨率下的比率--质量曲线。

我们找到了图中这些最优点,但在观察过人们观看视频的方式后,我们意识到(其实)我们可以更高效地传输视觉效果更出色的视频。


这些最优点是在假设用户的带宽不受限的前提下获得的,然而,如果我们仅仅依据这些最优点来设定编码比特率,我们会发现实际的视频质量常常受限于用户的带宽限制。相反,在给定用户带宽分布(传输带宽)的前提下,如果选择最佳的操作点(而不是曲线中的最优点),我们通常能获得更好的视频观看体验(传输视频质量)。

可以借助图3来理解这一点,我们将用户可用的带宽想象为图3中所示的管道。鉴于管道的容量适合360p的视频块而不是480p的视频块,我们可以通过估计流式传输的带宽来调整480p视频块的大小,从而使其更适应管道的容量,由此提高用户所观看到的分辨率。我们解决了由此所产生的约束优化问题,以确保视频质量没有受到明显的可感知的影响。简言之,通过分析汇总的播放统计数据并相应地调整不同分辨率下的比特率,我们实现了将更高质量的视频传输给更多的用户。(注1


640?wx_fmt=png

图3:高效流媒体方案对比图(使用/不使用本方法)


可以借助图4中给出的例子来理解流式传输的带宽与单个观看者带宽的区别。给定测量出的观看者可用带宽的分布情况,可以使用相邻分辨率的编码比特率之间的区域来估计实际播放分辨率的分布情况。


我们能够通过播放的统计数据对播放器在不同分辨率之间切换时的行为进行建模。这使我们能够有效预测何时比特率的提高易使得播放器切换到较低的分辨率,从而消除某一分辨率下提高比特率所带来的(负面)影响。基于这一模型,我们能够在实际系统中更好的选择视频(码率)的操作点。


640?wx_fmt=png

图4:例如,给定分辨率720p,我们可以根据带宽的概率密度函数来估计不同分辨率下播放的分布情况。使用不同视频版本的编码比特率来划分横轴带宽,每个视频版本被观看的概率可以用带宽曲线下的对应区域来表示。


另一个容易混淆的地方是每个操作点都对应一个估计的传输质量,而这与视频编码质量是不一样的。当用户的可用带宽降低时,用户更倾向于切换到更低的视频分辨率,此时会得到一个新的操作点。这种切换对每个分辨率的编码质量不会有影响,但是却会影响视频的传输质量。


640?wx_fmt=png

图5:编码器优化系统


在图5中,码率-质量分析模块以待编码的视频作为输出,同时为每个分辨率产生一条码率-质量曲线。性能估计模块结合码率-质量分析模块产生的码率-质量曲线,以及观看视频率和流式传输带宽的分布,估计出可能的操作点,最后通过非线性优化器选择出可能的最佳操作点。


系统的输出结果是各个分辨率下最佳操作点的集合。优化算法可以被设定为用于在视频传输质量受限的情况下,最大限度地减少平均流媒体带宽,或者用于在流式传输带宽预算受限的情况下,最大限度地提升视频的传输质量。


当我们使用此系统处理高清视频时,我们成功将YouTube播放中的流式传输带宽减少了14%。这一带宽的减少将有助于降低观众在观看YouTube视频时的数据消耗,这对于数据总量受限的用户尤为有帮助。我们还观察到高清分辨率视频的观看时间增长了6%,这是因为更多人能够在固定和移动网络上传输更高分辨率的视频。


这种方法的另一大好处是提升了观看体验。 除了对传输质量的影响极小之外,这些视频的加载速度提高了5%,卡顿的次数却减少了12%。


我们在提高视频流传输效率方面取得了进展。 但我们想做的还有更多。


目前我们的优化方法基于全球范围内观看者的带宽和播放器的分辨率的分布情况。 但有时视频的观看是有区域性的。例如,某一受欢迎的印度音乐视频可能不会在巴西流行起来,而某一西班牙体育赛事的视频也不太可能在越南多次播放。带宽与播放器分辨率的分布情况因国而异。倘若我们能够准确预测某一视频将在哪些地理区域流行起来,那么我们便可以通过整合当地的带宽统计数据,更好地处理这些视频。我们正在对这一方案进行研究,以便为您带来更好的视频观看体验!


注1:Chao Chen, Yao-Chung Lin, Anil Kokaram and Steve Benting, "Encoding Bitrate Optimization Using Playback Statistics for HTTP-based Adaptive Video Streaming," Arxiv, 2017


WebRTCon 2018  上海,期待与你相遇


继2017年第一届LiveVideoStackCon音视频技术大会之后,LiveVideoStack又一次出发——WebRTCon 2018,将于5月在上海举行,这是一次对过去几年WebRTC技术实践与应用落地的总结。


WebRTCon 2018设立了主题演讲,WebRTC与前端,行业应用专场,测试监控和服务保障,娱乐多媒体开发应用实践,WebRTC深度开发,解决方案专场,WebRTC服务端开发,新技术跨界,WebRTC与Codec等多个专场。邀请30余位全球领先的WebRTC技术专家,为参会者带来全球同步的技术实践与趋势解读。

640?wx_fmt=jpeg

相关文章
|
存储 监控 安全
推荐5款极具效率的实用工具软件
每次分享实用的软件,都会给人一种踏实和喜悦的感觉,这也是我热衷于搜集和推荐高效工具软件的原因。
490 1
|
编译器 Linux 调度
makfile的编译选项:CFLAGS、CPPFLAGS、LDFLAGS、LIBS
makfile的编译选项:CFLAGS、CPPFLAGS、LDFLAGS、LIBS
3313 0
|
2月前
|
数据采集 人工智能 缓存
构建AI智能体:十一、语义分析Gensim — 从文本处理到语义理解的奇妙之旅
Gensim是Python中强大的自然语言处理库,擅长从大量中文文本中自动提取主题、生成词向量并计算文档相似度。它支持LDA、Word2Vec等模型,结合jieba分词可有效实现文本预处理、主题建模与语义分析,适用于新闻分类、信息检索等任务,高效且易于扩展。
367 17
|
缓存 JavaScript 搜索推荐
vue中的一个内置组件Keep-Alive的作用及使用方法介绍——缓存不活动的组件实例
vue中的一个内置组件Keep-Alive的作用及使用方法介绍——缓存不活动的组件实例
1113 1
|
消息中间件 存储 负载均衡
🔥产品:直播送礼延迟这么大,你就不能快点吗
先赞后看,南哥助你Java进阶一大半其实抖音的实时音视频技术RTC,是来源于火山引擎RTC的支持,抖音、火山引擎、巨量引擎属于字节跳动公司旗下的不同业务板块。我是南哥,一个Java学习与进阶的领路人。相信对你通关面试、拿下Offer进入心心念念的公司有所帮助。
400 6
🔥产品:直播送礼延迟这么大,你就不能快点吗
|
人工智能 算法 数据挖掘
StoryTeller:字节、上海交大、北大共同推出的全自动长视频描述生成一致系统
StoryTeller是由字节跳动、上海交通大学和北京大学共同推出的全自动长视频描述生成系统。该系统通过音频视觉角色识别技术,结合低级视觉概念和高级剧情信息,生成详细且连贯的视频描述。StoryTeller在MovieQA任务中展现出比现有模型更高的准确率,适用于电影制作、视频内容分析、辅助视障人士等多个应用场景。
664 0
StoryTeller:字节、上海交大、北大共同推出的全自动长视频描述生成一致系统
|
jenkins 测试技术 持续交付
自动化测试框架的搭建与实践
在软件开发领域,自动化测试是提升开发效率、确保软件质量的关键手段。本文将引导读者理解自动化测试的重要性,并介绍如何搭建一个基本的自动化测试框架。通过具体示例和步骤,我们将探索如何有效实施自动化测试策略,以实现软件开发流程的优化。
505 7
|
机器学习/深度学习 人工智能 自然语言处理
【自然语言处理】自然语言处理NLP概述及应用
自然语言处理(Natural Language Processing,简称NLP)是一门集计算机科学、人工智能以及语言学于一体的交叉学科,致力于让计算机能够理解、解析、生成和处理人类的自然语言。它是人工智能领域的一个关键分支,旨在缩小人与机器之间的交流障碍,使得机器能够更有效地识别并响应人类的自然语言指令或内容。
880 4
|
SQL Java 程序员
马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day1最快 最全(1)
马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day1最快 最全(1)
489 1
|
存储 算法 安全
U盘打不开提示格式化怎么办?(含数据恢复及U盘修复教程)
本文介绍了U盘无法打开并提示格式化的问题,包括症状(如系统弹出格式化提示,文件系统显示为RAW)和常见原因(文件系统损坏、物理损坏)。提供了修复步骤:检查U盘连接、使用数据恢复软件恢复数据、更新U盘驱动、格式化U盘及使用修复工具。强调在格式化前要备份数据,严重损坏时可能需寻求专业维修。

热门文章

最新文章