【视频编码】软解与硬解
视频解码分为软解和硬解。
软解,即软件解码:即通过软件让CPU来对视频进行解码处理;
硬解,即硬件解码:是将原来全部交由CPU来处理的视频数据的部分交由GPU来做。
所谓“软解”就是通过软件让CPU进行视频解码处理;而“硬解”是指不依赖于CPU,通过专用的设备(子卡)单独完成视频解码,比如曾经的VCD/DVD解压卡、视频压缩卡都被冠以“硬解”的称号。现在实现高清硬解不需要额外的子卡,也不需要额外的投入,因为硬解码模块被整合在了GPU内部,而目前主流的显卡(包括整合显卡)都能支持硬解码。
“硬解”其实更需要软件的支持,只是基本不需要CPU参与运算,从而为系统节约了很多资源开销。通过降低CPU占用率,可以给用户带来很多实惠:
- GPU硬解码高清视频的优势:
- 不需要太好的CPU,单核足矣,CPU方面节约不少资金;
- 硬解码基本相当于免费附送,不到500元的整合主板都能完美支持;
- 硬解码让CPU占用率超低,系统有能力在看HDTV的同时进行多任务操作;
- CPU需要倾尽全力才能解码HDTV,而GPU只需动用0.1亿晶体管的解码模块就能完成任务,功耗控制更好;
- GPU硬解码高清视频的劣势:
- 起步较晚,软件支持度无法与软解相提并论;
- 面对杂乱无章的视频编码、封装格式,硬解码无法做到全面兼容;
- 软解拥有大量画面输出补偿及画质增强技术,而硬解这方面做得还远远不够;
- 硬解码软件设置较为复杂,很多朋友根本不知道该如何正确使用GPU硬件解码。
上述描述比较笼统,不完全对。举一个反例,intel的qsv硬编方案,就是基于cpu的。以后会越来越不好区分,两者逐渐在融合。fpga已经有这个趋势。
参考:
[1] 视频编码之软解与硬解区别
[2] 【干货】关于软解(ffmpeg)和硬解(MediaCodec、MediaPlayer)以及底层(OpenMax)的那点事
【视频编码】软解与硬解相关推荐
- 视频编码之软解与硬解区别
视频解码分为软解和硬解. 所谓"软解"就是通过软件让CPU进行视频解码处理:而"硬解"是指不依赖于CPU,通过专用的设备(子卡)单独完成视频解码,比如曾经的VC ...
- 【保凌】Dante AV之软解和硬解
上期手术示教网络方案清晰展示出,在已有的Dante音频里加入Dante AV云台摄像机后,实现飞跃拥有更加完善的 "Dante AV视频+音频". 我们也正在将Dante AV不断 ...
- 【XBMC教程/kodi】有关XBMC软解、硬解以及外挂播放的详细解答
来自http://www.hdpfans.com/forum-801-1.html 最近自己打算要做一个带庞大电影库的NAS局域网,配上带安卓系统的投影仪供客人观看无卡顿的高清电影,所以开始研究XBM ...
- 视频解码之软解与硬解
视频解码之软解与硬解 硬解:从字面意思上理解就是用硬件来进行解码,通过显卡的视频加速功能对高清视频进行解码,很明显就是一个专门的电路板(这样好理解...)来进行视频的解码,是依靠显卡GPU的. 软解: ...
- ffmpeg解码的软解及硬解(cuda和qsv)使用方法
对ffmpeg不是很熟悉,在使用的过程中遇到了很多坑,总结下,避免以后再遇到类似情况 版本兼容问题: 本次使用的ffmpeg版本是4.2,解码的调用方式为: int32_t iRet = -1;// ...
- 【音视频编解码】查看软解还是硬解
文章目录 前言 编解码器如何选择 软件和硬解如何区分 前言 编解码器如何选择 软件和硬解如何区分 //android\frameworks\av\media\libstagefright\MediaC ...
- Android视频播放软解与硬解的区别
https://blog.csdn.net/u010072711/article/details/52413766 硬解,用自带播放器播放,android中的VideoView 软解,使用音视频解码库 ...
- 转 Android视频播放软解与硬解的区别
硬解,用自带播放器播放,android中的VideoView 软解,使用音视频解码库,比如FFmpeg 一.硬解码 硬解:就是调用GPU的专门模块编码来解,减少CPU运算,对CPU等硬件要求也相对低点 ...
- N5105 软路由安装 ESXi 7 直通核显给 Debian / Ubuntu 虚拟机通过 Docker 实现 jellyfin 硬件转码视频文件(硬解/编码)
摘要 在ESXi 7.0u3e里直通N5105的核显给虚拟机Debian 11/Ubuntu 22.04(更新到5.18内核),再套用Docker镜像nyanmisaka/jellyfin (10.8 ...
最新文章
- 【开发环境】为 Visual Studio Community 2013 版本安装中文语言包 ( 安装 Test Agents 2013 | 安装 Visual Studio 2013 简体中文 )
- 声明 struct x1 { ...}; 和 typedef struct { ...} x2; 有什么不同?
- python json包_python编程 之 json包
- python 公众号爬虫_python_爬虫_微信公众号抓取
- java spi与api,SPI和API之间的区别?
- Python编程一定要注意的那些“坑”(六)
- hihocoder 1043 完全背包
- 使用jave进行视频转码
- 从酒店服务员到世界500强大数据工程师,月薪4K到年薪40W,我经历了什么?
- 立锜1.2V~5.5V稳压芯片RT9078-33GJ5
- layui标签输入框inputTags
- 导出word中图片的方法
- MTK 平台TP调试遇坑
- jQuery UI 实例 - 滑块(Slider)
- 面试——数据库常问问题
- Berkeley DB之JE入门
- 如何制作有素描关系的圆
- dio拦截器 flutter_Flutter 中 Dio 拦截器
- ic启动器我的世界_我的世界HMCL启动器
- python定义一个空数组_python数组 1_python 数组最后一个元素_python定义一个空数组 - 云+社区 - 腾讯云...