最近托尼刷到一条微博,内容大致说的是B站为了省带宽,强行在Web端开启了HEVC编码视频播放,导致我们在用浏览器看B站视频的时候,电脑很容易就会处在一种高负载的运行状态。很多网友看到这条微 博之后,也是纷纷在评论区留言说 “ 怪不得我一看B站电脑风扇就狂转掉电还贼快 ”、“ 我说呢,看 B站视频时不时会卡原来是这么回事”、“看B站能耗掉油管两倍的电”……
尽管 B站官方后来发文表示 HEVC编码方式并不是强制使用,只有设备满足一定性能才会开启:
但依然还是有很多网友不买账。
讲真,在没看到那条微博前,之前还真没怎么注意到这个事情,不过在了解清楚HEVC究竟是什么后,我觉得这次很多人可能错怪B站了。
至少在使用HEVC编码视频播放这件事上,B站这么做并没有错,反而是浏览器拖了B站的后腿。
为什么这么说呢?这就要从视频压缩的必要性开始说起了。
很多人可能不知道,无论是我们用手机拍出来的视频,还是别人发在网上的视频,其实都经过了压缩,如果视频没压缩,原始文件就会变得非常大。
就拿一段1080P60帧的视频来说吧。
视频每一帧有200万像素(1920*1080),每个像素算占 3个字节(R、G、B各一个),这意味着一帧画面就要消耗5.7MB,60帧就是342MB:
如果不压缩,一台256G 的手机,满打满算也只能拍 766.5秒 1080P60帧视频,换你你能接受?
另外要是你想在线观看完全没压缩过的1080P60帧视频,没3000兆以上的宽带提供网速支持,视频来不及加载也就根本没法流畅播放好吧……
所以为了方便视频的保存和传播,我们肯定有必要对它进行压缩。
压缩视频的原理讲起来有点儿复杂,但要是往简单的说主要就是干了三件事—— 跳帧、划块、抽色。
比如说在前期把相似的画面只保留一帧,后期再通过预测还原;
又或者把一块颜色相同的区域当做一个大色块处理;
再或者偷偷砍掉人眼不容易察觉的颜色,毕竟现在的视频甚至能装十亿种色彩,人眼基本分辨不出那么多。
总之效率越高压缩编码技术,往往可以在保证不损失画质的前提下,尽可能地把视频体积压缩到更小。
而HEVC就是一种高效的视频压缩编码技术,它通常也被叫作H.265。
根据官方给出的说法,HEVC 相比传统的 AVC也就是 H.264压缩编码技术,可以在保证相同视频画质的前提下,减少约50%左右的数据量。
简单来说就是同等规格的视频,采用HEVC编码所需要的空间大概是AVC的一半甚至更少,而且HEVC最高甚至支持对8K超高清视频进行编码。
这样一来经过HEVC编码压缩之后的视频,体积还可以进一步减小,我们也只需更低的带宽就能实现高清视频在线播放或者直播推流。
也正是基于 HEVC这种更高效的编码,早在2017年,苹果就开始让自家iOS11支持HEVC,并且首个支持HEVC的应用就是它自带的相机App。
而安卓后来也是很快就跟上了,到如今基本上每台手机都能拍摄并且播放HEVC编码格式的视频:
另外像是 AMD、NVIDIA、英特尔等厂商,也早就在硬件上开放了对 HEVC编解码的支持。
别的不说,英伟达2014年发布的GTX750,就支持一部分HEVC视频的编解码:
而对画质有追求的 B站呢,也是从2019年就上线了HEVC编码,算是国内一众视频网站中最早支持HEVC的那一批,它这么做也算是在紧跟潮流。
之所以我们看B站视频会导致电脑卡顿或者发热严重,要怪就怪Chrome和那些使用Chromium内核的浏览器到现在都不支持GPU硬解HEVC。
浏览器不支持GPU硬解HEVC会导致一个问题,那就是它在播放视频时只能通过CPU来实现软解码,这对CPU的运算性能要求非常高。
实测,用Chrome看B站高画质的视频。
如果你在设置里选了 “ 优先使用HEVC编码视频播放 ”,你会发现它对CPU的占用率非常高,都快飙到100了,而对GPU的占用率却一直都很低:
而一旦你把视频切换成 Chrome 支持硬解的AVC编码播放,浏览器对CPU的占用率立马就会降下去,GPU的占用率虽然有所上升,但并不算高:
这是因为GPU拥有专门的解码模块,在硬解对应编码视频时候的解码效率非常高,不但能减轻CPU的负担,还有着功耗低、发热少的特点。
遗憾的是,特意去搜了下,目前除了苹果端的Safari浏览器,包括Chrome、Edge在内的其它几个主流浏览器均不支持硬解HEVC……
这些浏览器不支持硬件HEVC的原因倒不是因为技术受限,而是因为想要获得HEVC相关组织的授权,所需要支付的授权费一点都不低。
目前负责HEVC授权的组织一共有三家,就拿其中相对比较厚道的MPEGLA来说。
想要获得它家的HEVC授权,厂商每年头十万台终端免费,之后每台终端就要花费0.20美元,不过每年封顶2500万美元,但也是笔不小的数目。
这个费用在手机厂商看来可能没啥,毕竟成本分摊到每台手机上也就是两块不到的事情,但对于可以免费下载到多台设备的浏览器来说就很恐怖了。
所以之前谷歌也搞了一套叫做VP9的编码方式,性能和H.265差不多,但其他厂商不乐意啊!
一方面是因为Chrome的市占率太大,要是大家选了这套方案,谷歌肯定一家独大,甚至可能垄断视频编码市场。
另一方面,则是因为VP系列编码是参考H.26x开发,对于这编码是否侵犯专利还真说不清楚,万一真出事了,那些用了VP9的厂商,可能也会有麻烦。
到时候出事了谷歌可不会对此负责~
所以现在谷歌、微软、亚马逊、Facebook、Netflix等几大互联网公司联合推出了开源免费的AV1压缩编码技术。
它的视频压缩效率不比HEVC低,既然有免费的这些浏览器当然会优先考虑支持它。
之所以要这么干,也是因为天天给别人交专利费,心里不爽,有这个技术条件,搞个更好用的出来,岂不美哉?
只不过由于在视频编解码方面,为这个编码格式提供硬件解码的厂商目前比较少,现在只有各大芯片厂商以及最新的显卡比如RTX系列才能支持。
所以日后 AV1能不能成为一种主流视频编码格式还是个问题。
回到B站推HEVC这件事上。
B站作为国内少有能提供8K以及HDR10内容的视频网站,它在借助HEVC给我们提供更高规格视频的同时还能节省带宽,这事本身就值得肯定。
之前甚至还有不少人通过B站UWP应用提供的HEVC视频扩展,在 Windows 上白嫖到了本来要花钱才能买到的HEVC解码器……
不过话说回来,B站支持HEVC编码是一回事,它在这个编码下能给视频提供多少码率就是另外一回事了。
有网友表示,最近B站给HEVC的码率变低了,结果导致选择HEVC播放的视频画质还不如AVC,尤其是在1080P分辨率下会特别明显。
然而也有人实际测试了下,在1080P分辨率下,HEVC的视频码率确实比AVC高:
由于这点还存在争议,所以对这事也不好评价。
但不管怎么说,HEVC必然是一个大趋势,在流媒体平台和硬件产品的通力支持下,我们离顺畅体验它的未来,应该也不远了。