一.软解与硬解
基本定义:
1、硬解指的是使用硬件GPU运行解码,通过调用GPU的专门模块编码进行解码,本质上依靠的是芯片,解码效果和兼容性受芯片(厂商)技术影响。
2、软解即软件解码,它本质上依靠的是硬件的CPU性能处理能力,CPU性能越高解码效果越好。
二者区别:
1、功耗上:
软解使用CPU解码,解码中对视频信息进行运算使得CPU负载过高,会导致高功耗、转换效率低、高发热等;而硬件的出现就是为了补充软解CPU占用过多导致卡顿的一种替代性方案,使用GPU解码,GPU独特的计算方法使得解码效率高、低功耗、发热小。
2、软硬件支持上:
硬解起步比软解晚,对应的软件支持度相对滞后。面对一些复杂的视频编码样式,可能会出现兼容性问题;而软解相对来讲不需要过多的硬件支持,兼容性高一些,使用范围相对更广。
本文是常规的软解流程,硬解将在后面介绍。
二.初始化解码器
void QHVideoDecoder::openDecoder(Format *format)
{
codec = avcodec_find_decoder((AVCodecID)format->codecID);
if (!codec)
{
std::cout <<"video codec not found"<< std::endl;
}
m_c
本文介绍了基于live555的rtsp播放器中视频解码的过程,包括软解码的概念、初始化解码器的方法、解码步骤以及关闭解码器的操作。在软解码中,利用CPU进行解码可能导致高功耗和发热,而硬解码利用GPU可以提高效率并降低功耗。文章主要讲述了常规的软解码流程,而硬解码的实现将在后续内容中探讨。
订阅专栏 解锁全文
3293

被折叠的 条评论
为什么被折叠?



