查看原文
其他

每个YouTube视频都要过的坎儿

2016-09-09 谷歌黑板报 谷歌黑板报



我们身处视频发展的黄金时代。仅视频量就足够惊人,在YouTube 上,每天新上传的视频总数就够一个人24小时不间断地一直看到2081年。



观看视频也是当前互联网用户的主要习惯之一,而用户最基本的一个渴望,莫过于:


“求不卡QAQ”


上传视频的时候求不卡,看视频的时候求不卡,这是全球多少网友无数遍的呼声!为了改善这个问题,YouTube从技术、产品等多个角度给出了解决方案,这一次,两位Googler Nat和Lo来到了YouTube总部,来揭开奥秘!




这些方法,让YouTube视频更加流畅


视频切分




当拿到一段上传的视频时,YouTube需要先了解其分辨率和帧速率,然后生成一个夹层副本(MEZZANINE),将其合(da)理(xie)切(ba)分(kuai),每个片段大约五秒钟,然后将这些片段送到不同的机器里进行处理。



机器会经过一系列精巧的数学计算对片段进行压缩,然后将其按不同的分辨率进行输出,之后相应的片段会重新连接到一起。




看视频的时候也是一样。十年前,YouTube会等到整个视频加载完毕才开始播放,而现在,为了减少用户的等待时间,YouTube会把视频像切片面包一样切成小段。



然后看一点,加载一点,一点一点给进度条小火车铺路,让用户等待的时间大大减少。现在越来越多的视频网站也开始采取这个策略了。




当用户点开一段视频后,YouTube就会立马开始分析:你的网速怎样?屏幕多大?你已经加载了多少?




如果YouTube判定你的情况很不错,便会给你提供最佳的视频质量。




但如果不巧你弟弟在下游戏,抢你网速的话,YouTube就会自动为你降低画质,确保在播放视频时足够流畅。



内容分发网络




除了视频切分,另外一种可以让视频加载更快的方法是对内容分发网络(CONTENT DISTRIBUTION NETWORK)的优化。YouTube的视频内容分发可不是那么简单。



当你按下播放键,YouTube会先跑到你所在的地区的硬盘盒,询问有没有你想要的视频。



如果那个视频很有名,可能你的本地硬盘盒里就有,那么你就可以迅速获取资源。



但如果本地硬盘盒里没有,那么硬盘盒会一级一级地往上问,直到问到为止。在这个分发过程中,资源分配的效率大大提高,你的等待时间也大大减少了。


视觉限制压缩

另外,YouTube还会通过强大的技术,在你发现不了的情况下把视频大小压缩,从而让加载变快。



摄影机能捕捉到很多图像细节,但是有不少细节人类的眼睛识别不出来,既然识别不出来还留着占空间干啥?还不如给压缩了呢!YouTube的编解码器就是用通过这个技术成功地压缩了视频的大小,又不影响人类观看质量。



对于电脑而言,视频本质上就是由一个个像素组成的,YouTube的编解码器可以通过识别这些像素,把颜色相同的像素合并。这样就又省了不少空间。



除了这些以外,YouTube连静态背景也不放过,你不是不动吗?那就不需要每一帧都把你给刷新了,这样一来,视频大小又可以被压缩不少!



-那要是我这样乱动呢?是不是会让编解码器更难压缩?

-编解码器:我想抽你。



大体上,YouTube的播放都会很流畅,但还是会有少数例外情况,我们和所有人一样都讨厌这种情况,因此我们每天都在想办法,让视频缓冲图标出现的时间少一点点。——Richard, YouTube





【附赠】Nat &Lo探访YouTube 完整版视频

https://v.qq.com/txp/iframe/player.html?vid=h0327bmfmgi&width=500&height=375&auto=0

想要了解更多关于YouTube的故事?

戳我!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存