软件编码和硬件解码的区别
用于视频信号编码的编码器,依据接口不同分了SDI高清编码器、VGA高清编码器、HDMI高清编码器以及其他的编码器,这类的就叫硬件编码器。
软件编码是将上一阶段的详细设计得到的处理过程的描述转换为基于某种计算机语言的程序,即源程序代码。需注意根据项目的应用领域选择适当的编程语言、编程的软硬件环境以及编码的程序设计风格等事项
硬件解码是图形芯片厂家提出的用GPU资源解码视频流的方案——与之相对的是软解,也就是传统的用CPU承担解码工作的方案;优点是效率高,功耗低、热功耗低,缺点是缺乏有力的支持(包括滤镜、字幕等),局限性较大(例如打开硬件解码后PC的节能方面的功能失效cnq等),设置较为复杂;需要硬件有硬件解码模块、相关的驱动配合、合适的播放软件以及对播放软件正确的设置,缺一而不能开启硬件解码功能,主流的硬件解码方案由Intel、AMD-ATI以及Nvdia推出。
软解和硬解
由于高清视频的分辨率远远高于一般格式视频,使得高清视频的码率非常高。再加上VC-1和H.264编码的压缩率很高,解码运算的运算量很大。因此常规地直接用CPU解码(即常说的“软解”)会极大地消耗CPU的运算能力,一些较老的CPU软解H.264时CPU占用率往往高达90%以上,更老的可能就放不动了。
“硬解”是硬件解码的简称。简单而言,硬件解码就是通过显卡的视频加速功能对高清视频进行解码。因此硬解能够将CPU从繁重的视频解码运算中释放出来,使电脑具备流畅播放高清视频的能力。显卡的GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作。视频解码工作从处理器那里分离出来,交给显卡去做,这就叫做“硬解码”,例如NVIDIA的PureVideo、AMD的UVD技术等等。与之对应的,以前那种纯粹依靠CPU来的方式则是“软解码”。不过受到技术条件的限制,纯粹的“硬解码”在现阶段是不存在的,CPU依然在发挥一部分作用,只不过硬解码时GPU/VPU已经成为运算的主力。