1. 随笔一记

视频硬件解码常识

对于视频网站,在选项中经常有如下视频解码方式提供,默认,AV1,HEVC,AVC。

为什么要压缩

首先,我们需要解释一下,因为原生的视频文件体积非常大,简单计算一下:一个1小时时长,8bit色深,24fps,1080p视频,如果不压缩则需要1920*1080*3*24*60*60 ≈ 500GB的存储空间!早期不管是存储资源还是网络带宽资源都非常有限,所以视频必压缩。

编码和解码

压缩即编码,无非就是设计一个压缩编码的算法而已,类似于Zip或者Rar等压缩文件的原理。我们可以通过设计一套软件算法来实现编码和解码。软件实现好处是:编写方便,容易维护,但是缺点是:速度慢(相较于硬件实现),运行时占用大量计算资源。所以,对于市面上常用的视频编解码器基本都有硬件实现,从而加速编解码过程。

硬件解码

按照时间顺序最早诞生的是这个AVC也就是H.264,参考https://zhuanlan.zhihu.com/p/559028359,可以看出Intel早在G41/G45时代就已经支持硬件解码AVC了,可以在极低的资源占用下流畅观看FHD的视频。HEVC也就是H.265是AVC的升级,在Intel 的HD Graphics 4400就支持了对其的硬解,可以在视频质量不明显下降的前提下大幅降低存储空间。甚至,只需要原来带宽的一半就可以播放同样质量的视频,所以在你的机器最高支持HEVC的情况下务必使用HEVC。

当然上述的AVC和HEVC都是受专利保护的,使用该编解码算法的厂商需要缴纳专利费,所以Google搞了个VP9,在效果上和HEVC五五开,但是VP9开源的!Google自家的Youtube视频网址只支持VP9编码,VP9硬件解码Intel最早支持的是HD Graphics(Apollo Lake)、HD Graphics 500,但是后期的一些Iris集显不支持,所以我有一台Iris老机器播放Youtube只能软解,烫手!

最后,隆重介绍AV1,由开放多媒体联盟 (AOMedia) 行业联盟于2018年初联合开发并最终确定,相比目前的HEVC编码,不仅能保持原视频的分辨率、帧率、比特率,视频体积还能再缩小至少20%。关键是开源!现在唯一的劣势是能够硬解的集显要Iris Xe核显或HD Graphics 730之后,目前我手上还没有能够硬解AV1的集显。如果你的设备支持AV1硬解,强烈建议使用AV1,粉碎邪恶的HEVC。