一、前言

硬件解码是图形芯片厂家提出的用GPU资源解码视频流的方案,与之相对的是软解,也就是传统的用CPU承担解码工作的方案;优点是效率高,功耗低、热功耗低,缺点是缺乏有力的支持(包括滤镜、字幕等),局限性较大(例如打开硬件解码后PC的节能方面的功能失效cnq等),设置较为复杂;需要硬件有硬件解码模块、相关的驱动配合、合适的播放软件以及对播放软件正确的设置,缺一而不能开启硬件解码功能,主流的硬件解码方案由Intel、AMD-ATI以及Nvdia推出。

目前主流的播放器都支持硬解码,没有硬解码的播放器都是耍流氓,现在越来越多2K 4K甚至8K的高清视频,没有硬解码只用软解码的话,会大量消耗CPU资源,很不可取,需要专门交给GPU绘制和解码,这样可以大大减低CPU的压力,让CPU可以干其他的活,之前写过的视频监控系统中,就用到过硬解码和GPU绘制,没有用到这两个一切都是空谈,根本没法承受64路通道实时显示,vlc、ffmpeg、mpv肯定对硬解码完美支持的,其中vlc和mpv的设置最为简单,海康的sdk默认不提供硬解码的,官方手册中有写到硬解码的库,估计是要额外联系获取。

不同内核硬解码处理

  1. vlc硬解码:
    1.1 通过调用libvlc_media_add_option设置参数:avcodec-hw=auto
    1.2 支持的参数:none auto any d3d11va dxva2

  2. ffmpeg硬解码:
    2.1 调用av_hwdevice_find_type_by_name根据名称自动寻找硬

Qt音视频开发21-通用硬解码相关推荐

  1. Qt音视频开发10-ffmpeg内核硬解码

    一.前言 为了极大的降低CPU的占用,实现硬解码(也叫硬件加速)非常有必要,一个视频文件或者一路视频流还好,如果增加到64路视频流呢,如果是4K.8K这种高分辨率的视频呢,必须安装上硬解码才是上上策. ...

  2. Qt音视频开发02-海康sdk解码(支持句柄/回调/GPU模式/支持win/linux)

    一.前言 为何还要选用使用海康sdk,之前不是ffmpeg已经牛皮吹上天了吗?这个问题问得好,那是因为无论ffmpeg也好还是vlc/mpv之类的,都是实现的播放相关,不同的监控硬件厂家对应设备还有很 ...

  3. 音视频开发系列--H264编解码总结

    一.概述 H264,通常也被称之为H264/AVC(或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC) 对摄像头采集的每一帧视频需要进行编码,由于视频中存在空间和时间的冗余,需要 ...

  4. Qt音视频开发27-Onvif设备搜索

    一.前言 最近业余时间主要研究音视频开发这块,前面的文章写了好多种视频监控内核,一旦将这些内核搞定以后,视频监控的相关功能水到渠成.做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大 ...

  5. Qt音视频开发01-共享解码线程(耗时一年/性能凶残/至臻完美)

    一.前言 大概在8年前就开始用ffmpeg做视频解码的显示,第一个版本就100行代码左右,功能极其简单,就是开个线程解码视频流转成图片发给主界面绘制.时间过得真快,从当初的一胎到现在二胎都上学了三胎计 ...

  6. Qt音视频开发06-海康sdk内核linux客户端

    一.前言 海康sdk的示例在官方是提供了的,但是无论UI还是交互简直是宇宙无敌的垃圾,猜测应该是初学者编写的,估计练手用的,所以老早就想把这个linux支持集成到自己的示例中,既然已经支持了windo ...

  7. Qt音视频开发22-通用GPU显示

    一.前言 采用GPU来绘制实时视频一直以来都是个难点,如果是安防行业的做视频监控开发这块的人员,这个坎必须迈过去,本人一直从事的是安防行业的电子围栏这个相当小众的细分市场的开发,视频监控这块仅仅是周边 ...

  8. Android音视频【三】硬解码播放H264

    人间观察 穷人家的孩子真的是在社会上瞎混 遥远的2020年马上就过去了,天呐!!! 前两篇介绍了下H264的知识和码流结构,本篇就拿上篇从抖音/快手抽离的h264文件实现在Android中进行解码播放 ...

  9. QT 音视频开发 基于gstreamer框架

    在音视频领域接触最多实现的方案通常是通过ffmpeg(PC和sever端居多)或者硬件厂家的的SDK实现特定硬件的编解码功能(机顶盒,电视等嵌入式设备).国内不太常用的解决方案gstreamer gs ...

最新文章

  1. 难离难舍的internet2与SDN
  2. 利用python爬虫(案例8)--今天就是吃X我也要搞到有道
  3. 华东政法大学教学管理系统_中国科学技术大学1022万采购3包生命科学仪器
  4. MFC关键技术-动态创建
  5. MinIO Azure 网关 ​​​​​​​
  6. python开发面试笔试题_python集合面试笔试题
  7. laravel连接oracle6,Laravel 使用 Oracle 数据库
  8. 计算机组成原理学习四笔记一
  9. 【运维安全】Apache 服务器存在高危提权漏洞,请升级至最新版本 2.4.39
  10. apache的rewrite详解
  11. 下载MySQL安装包
  12. 15款免费远程控制软件下载
  13. 《LDA数学八卦》读后笔记
  14. Sony如何启动微型计算机,索尼vaio笔记本怎么进bios设置|索尼笔记本进bios按什么键-...
  15. linux下对SD卡分区
  16. h5 富文本输入框_富文本输入框
  17. PDPS软件:工装夹具机械装置运动操作的创建方法
  18. 计算机专业硕士北欧,北欧哪个国家计算机专业比较好
  19. C语言实现isalpha函数功能(附完整源码)
  20. python selenium爬取kuku漫画

热门文章

  1. 计算机应用基础是文管二级吗,计算机应用基础(文管二级)习题册
  2. 北京电子地图 谷歌-百度-高清-搜狗电子地图 地图14、17、19级图片
  3. Linux 游戏玩家有福了
  4. 易优cms关于数据库Db::的介绍
  5. C#winform任务栏显示小图标及右击操作
  6. 怎样查询PMP成绩?
  7. centos8磁盘分配
  8. 《勋伯格和声学》读书笔记(七):结束与终止式,伪终止式,以及终止式中的六四和弦
  9. Python实现简单的验证码处理,解决访问频繁老弹出验证码的烦恼
  10. Vue报错:Uncaught (in promise) DOMException: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL