Qt音视频开发21-通用硬解码
2023-09-14 09:01:41 时间
一、前言
硬件解码是图形芯片厂家提出的用GPU资源解码视频流的方案,与之相对的是软解,也就是传统的用CPU承担解码工作的方案;优点是效率高,功耗低、热功耗低,缺点是缺乏有力的支持(包括滤镜、字幕等),局限性较大(例如打开硬件解码后PC的节能方面的功能失效cnq等),设置较为复杂;需要硬件有硬件解码模块、相关的驱动配合、合适的播放软件以及对播放软件正确的设置,缺一而不能开启硬件解码功能,主流的硬件解码方案由Intel、AMD-ATI以及Nvdia推出。
目前主流的播放器都支持硬解码,没有硬解码的播放器都是耍流氓,现在越来越多2K 4K甚至8K的高清视频,没有硬解码只用软解码的话,会大量消耗CPU资源,很不可取,需要专门交给GPU绘制和解码,这样可以大大减低CPU的压力,让CPU可以干其他的活,之前写过的视频监控系统中,就用到过硬解码和GPU绘制,没有用到这两个一切都是空谈,根本没法承受64路通道实时显示,vlc、ffmpeg、mpv肯定对硬解码完美支持的,其中vlc和mpv的设置最为简单,海康的sdk默认不提供硬解码的,官方手册中有写到硬解码的库,估计是要额外联系获取。
不同内核硬解码处理
-
vlc硬解码:
1.1 通过调用libvlc_media_add_option设置参数:avcodec-hw=auto
1.2 支持的参数:none auto any d3d11va dxva2 -
ffmpeg硬解码:
2.1 调用av_hwdevice_find_type_by_name根据名称自动寻找硬
相关文章
- QT:设置布局边缘
- s3c2410上搭建QT/Embedded4.8.5开发环境(一)---环境导读
- Qt音视频开发系列文章导航
- Qt音视频开发23-视频绘制QPainter方式(占用CPU)
- Qt音视频开发48-通用通道管理
- Qt音视频开发28-Onvif信息获取
- Qt音视频开发16-mpv通用接口
- Qt编写地图综合应用59-经纬度坐标纠偏
- Qt开发经验小技巧196-200
- Qt QTableView 基本操作
- Window系统下开发Qt——在图片上绘制图形
- Qt开发高级教程:如何创建游戏画布和块
- Qt quick性能提升[通俗易懂]
- QT开发教程:重写QStackedWidget模仿iphone的home界面,实现左右滑动
- C++QT开发——TCP&UDP网络编程
- Qt之最简单的窗体圆角设置方式(亲测可用)
- ffmpeg和QT开发播放器之代码初封装
- 使用linuxdeployqt在linux下进行Qt打包发布(超详细)
- C/C++、Qt开发,跨平台CMake判断当前平台是Linux还是Windows,操作系统判断
- Ubuntu20.04下,qt交叉编译报错::-1: error: collect2: error: ld returned 1 exit status