每个YouTube视频都要过的坎儿
我们身处视频发展的黄金时代。仅视频量就足够惊人,在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
大体上,YouTube的播放都会很流畅,但还是会有少数例外情况,我们和所有人一样都讨厌这种情况,因此我们每天都在想办法,让视频缓冲图标出现的时间少一点点。——Richard, YouTube
【附赠】Nat &Lo探访YouTube 完整版视频
https://v.qq.com/txp/iframe/player.html?vid=h0327bmfmgi&width=500&height=375&auto=0
想要了解更多关于YouTube的故事?