基于live555的rtsp播放器之十:视频解码

本文介绍了基于live555的rtsp播放器中视频解码的过程,包括软解码的概念、初始化解码器的方法、解码步骤以及关闭解码器的操作。在软解码中,利用CPU进行解码可能导致高功耗和发热,而硬解码利用GPU可以提高效率并降低功耗。文章主要讲述了常规的软解码流程,而硬解码的实现将在后续内容中探讨。

一.软解与硬解

基本定义:
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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草上爬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值