2016-05-16
youtube每日百万视频如何高效转码 youtube视频繁多如何优化转码。作为世界上最大的视频平台,YouTube每天都会新增来自世界各地的数百万个视频。这些视频具有非常大的多样性,对YouTube来说,要将这些不同的视频和相关的音频都转换成人们可以接受的播放质量是一个相当大的挑战。此外,尽管谷歌的计算和存储资源非常庞大,但也总归是有限的,要以上传视频的原格式存储网络视频无疑会带来显著的额外成本。
为了提高网络视频的播放质量,关键是要降低视频和音频的压缩损失。增加比特率是一种方法,但同时那也需要更强大的网络连接和更高的带宽。而YouTube则选择了另一种更聪明的做法:通过优化视频处理的参数使其在满足最低视频质量标准的同时不会增加额外的比特率和计算周期。
要在视频压缩和转码时满足视频质量、比特率和计算周期的要求,一般的做法是寻找对大量视频(而非所有视频)平均最优的转码参数组合。这种最优组合可以通过尝试每种可能来寻找,直到找到最让人满意的结果。而最近,有一些公司甚至尝试在每一段视频上都使用这种“穷举搜索”的方式来调整参数。
YouTube通过在这一技术的基础上引入机器学习而开发出了一种新的自动调整参数的方法。目前,这一技术已经在提升YouTube和Google Play视频影片的质量上得到了应用。
并行处理的优劣
据YouTube的博客介绍,每分钟都有400小时的视频被上传到YouTube上。而其中每个视频都需要被不同的转码器转码成几种不同的格式,以便可以在不同的设备上进行播放。为了提高转码速度,让用户更快看到视频,YouTube将上传的每一个文件都切割成被称为“数据块(chunk)”的片段,然后再将其每一块都独立地在谷歌云计算基础设施的CPU中同时进行并行处理。在这一过程中所涉及到分块和重组是YouTube的视频转码中的一大难题。而除了重组转码后数据块的机制,保持每一段转码后的视频的质量也是一个挑战。这是因为为了尽可能快地处理,这些数据块之间不会有重叠,而且它们会被切割得非常小——每段只有几秒钟。所以并行处理有提升速度和降低延迟的优势,但它也有劣势:缺失了前后临近视频块的信息,也因此难以保证每个视频块在被处理后都具有看上去相同的质量。小数据块不会给编码器太多时间使其进入一个稳定的状态,所以每一个编码器在处理每一个数据块上都略有不同。
智能并行处理
为了得到稳定的质量,可以在编码器之间沟通同一视频中不同分块的信息,这样每一个编码器都可以根据其处理块的前后块进行调整。但这样做会导致进程间通信的增加,从而提高整个系统的复杂度,并在每一个数据块的处理中都要求额外的迭代。
但“其实,事实上我们在工程方面都很固执,我们想知道我们能将‘不要让数据块彼此通信’的想法推进多远。”YouTube博客说。
下面的曲线图展示了来自一段使用H.264作为编解码器的720p视频的两个数据块的峰值信噪比(PSNR,单位:dB每帧)。PSNR值越高,意味着图片(视频每帧)的质量越高;反之则图片质量越低。可以看到每段视频开始时的质量非常不同于结束时的质量。这不仅在平均质量上没有达到我们的要求,这样剧烈的质量变化也会导致恼人的搏动伪影(pulsing artifact)。
因为数据块很小,还要让每一块的行为都与其前后块的行为类似;所以研究人员需要在连续数据块的编码处理上保持一个大致相同的结果。尽管这在大部分情况下适用,但却不适用于本例。一个直接的解决办法是改变数据块的边界使其与高活动的视频行为保持一致,例如快速运动或场景剪切。但这样做就能让保证数据块的相对质量并使编码后的结果更均匀吗。事实证明这确实能有所改善,但并不能达到我们期望的程度,不稳定性仍经常存在。
关键是要让编码器多次处理每一个数据块,并从每一次迭代中学习怎么调整其参数以为整个数据块中将发生的事做好准备,而非仅其中的一小部分。这将导致每一个数据块的开端和结束拥有相似的质量,而且因为数据块很短,所以总体上不同数据块之间的差异也减少了。但即便如此,要实现这样的目标,就需要很多次的重复迭代。研究人员观察到,重复迭代的次数会受到编码器在第一次迭代上的量化相关参数(CRF)的很大影响。更妙的是,往往存在一个“最好的”CRF可以在保持期望质量的同时只用一次迭代就能达到目标比特率。但这个“最好的”却会随着每段视频的变化而变化——这就是棘手的地方。所以只要能找到每段视频的最好配置,就能得到一个生成期望编码视频的简单方法。
YouTube的研究人员在同一段1080p视频片段上使用他们的编码器实验不同的CRF所得到的比特率结果(编码后的视频质量恒定)。可以看出,CRF和比特率之间存在一个明显的函数关系。事实上这是对使用三个参数的指数拟合的非常好的建模,而且该图也表明建模线(蓝线)与实际观察到的数据(点)拟合得非常好。如果我们知道该线的参数,然后我们想得到一个我们的视频片段的5 Mbps版本,那么我们所需的CRF大约为20.
大脑
那么接下来需要的就是一种能够通过对视频片段的低复杂度的测量预测三个曲线拟合参数的方式。这是机器学习、统计学和信号处理中的经典问题。YouTube研究人员已将其相关的数学细节发表在他们的论文中(见文末1,其中还包括研究人员想法的演化历程)。而简单总结来说:通过已知的关于输入视频片段的信息预测三个参数,并从中读出我们所需的CRF。其中的预测阶段就是“谷歌大脑(Google Brain)”的用武之地。
前面提到的“关于输入视频片段的信息”被称为视频的“特征(features)”。在YouTube研究人员的定义中,这些特征(包括输入比特率、输入文件中的运动矢量位、视频分辨率和帧速率)构成了一个特征向量。对这些特征的测量也包括来自输入视频片段的非常快速的低质量转码(能提供更丰富的信息)。但是,每个视频片段的特征和曲线参数之间的确切关系实际上非常复杂,不是一个简单的方程就能表示的。所以聪明的研究人员并不打算自己来发现这些特征,他们转而寻求谷歌大脑的机器学习的帮助。研究人员首先选择了10000段视频,并对其中每一段视频的每一个质量设置都进行了严格的测试,并测量了每一种设置的结果比特率。然后研究人员得到了10000条曲线,通过测量这些曲线研究人员又得到了4×10000个参数。
有了这些参数,就可以从视频片段中提取特征了。通过这些训练数据和特征集合,YouTube的机器学习系统学到了一个可以预测特征的参数的“大脑(Brain)”配置。“实际上我们在使用大脑的同时也使用一种简单的‘回归(regression)’技术。这两者都优于我们现有的策略。尽管训练大脑的过程需要相对较多的计算,但得到的系统实际上相当简单且只需要在我们的特征上的一点操作。那意味着生产过程中的计算负载很小。”
巧用WPS校园版制作带拼音课件
2011-06-22
支付宝私奔蝴蝶效应 互联网现融资恐慌
2011-06-22
门户网站的电商江湖 借微博取道电子商务
2011-06-10
U-mail邮件系统:谱写售后服务传奇
2011-06-22
胡舒立:马云为什么错
2011-06-22
谷歌副总裁称谷歌地图服务拥有1.5亿移动用户
2011-06-10
远离【色】【情】吧!互联网反黄完全解决方案
2011-06-11
腾讯SOSO开创情境搜索 领衔后搜索时代全面革新
2011-06-22
腾讯开放平台VS Facebook开放平台
2011-06-22
百度与出版商谈判破裂 将推版权DNA比对系统
2011-06-10
英雄联盟云顶之弈手机版本下载v14.8.5768838 安卓最新版本
策略塔防 78.2M
下载苍蓝前线手游下载v1.1.0 安卓版
策略塔防 464.3M
下载崩坏学园2手游下载v12.2.8 安卓最新版本
角色扮演 323.3M
下载彩虹联萌手游下载v7.3.23015 安卓官方版
卡牌对战 804.7M
下载花花填色苹果版下载v2.2.5 iPhone版
其它手游 174M
下载奥特曼超时空英雄官方正版下载v1.0.2 安卓版
动作闯关 1.63G
下载全民奇迹2ios版下载v15.0.0 iphone版
其它手游 3G
下载罗布乐思roblox国际服最新版官方正版下载v2.682.538 安卓版
动作闯关 131.0M
下载com.roblox.client国际服下载v2.682.538 安卓版
下载
绝地鸭卫游戏下载v0.2.3 安卓版
下载
梦幻模拟战官服下载v6.13.2110 安卓最新版
下载
天龙八部手游8868版下载v1.133.2.2 安卓版
下载
天龙八部游戏下载v1.133.2.2 安卓手机版
下载
天龙八部手游果盘端下载v1.133.2.2 安卓版
下载
海贼王燃烧意志官方版下载v3.3.0.492700 安卓正版
下载
宝宝巴士安慰小宝宝下载v9.87.00.01 安卓版
下载