首先先来说说解码器,分离器以及 DXVA 的概念 解码器的功能就是对视频或者音频进行解压缩
我们知道不论是原始的视频或者是原始的音频,数据都是十分惊人和庞大的,所以我们要用编码器对其进行压缩,这样才有利于传输和存储
在播放时我们就要需要还原成画面或者声音,这就需要解压,也就是解码
其中视频解码器比较复杂: 视频压缩技术就像我们之前所说有很多种,每一种里又有不少官方的,第三方的解码器,各种解码器功能,画面,速度都有差异,不过一般分为两种解码器:硬件解码器和软件解码器
硬件解码器就是利用解码器所带的驱动接口和硬件本身连接上,利用硬件所带的功能对视频进行解码,这样可以降低对 CPU 的负荷,从而实现流畅播放以及提升CPU 多任务的能力
软件解码器就是除了硬件解码器之外的所有解码器,其最大特征就是利用 CPU 通用处理的功能,对其进行软件解码
软件解码虽然耗费CPU,但是可以修改,升级,在 CPU 资源充足的情况下是最好的选择
分离器的功能就是把封装在一起的视频以及音频还原出来
之前我们谈过有不少的封装,每一种封装必须对应一种分离器,才能正确的把视频和音频分离出来以供解码器解码
分离器也有很多种,一般情况下非标准的封装格式在正规的播放器里都没有相应的分离器,比如MKV
而分离器比较出名的有月光分离器,haali 等
DXVA(也称DirectX VA)全称就是 DirectX Video Acceleration(硬件视频加速接口)
DXVA 是一个由微软和图形芯片厂商联合定义的一个硬件接口规范
如果一种显卡芯片在硬件上支持DXVA 规范,并不代表它就实现了DXVA 里面定义的所有功能
不过有一点可以肯定的是:对于 DXVA 定义的每一项功能,符合DXVA 规范的显示芯片驱动程序一定会告诉系统,这项功能在它的硬件里实现了还是没有实现——这是 DXVA 规范强制性要求的