当前位置: 首页 > news >正文

Webrtc支持FFMPEG硬解码之Intel

Intel QSV下载编译

git clone https://github.com/lu-zero/mfx_dispatch.git

1.使用CMake生产VS工程

编译生成libmfx.lib文件
头文件为mfx文件夹

libmfx---include---mfx---lib---libmfx.lib

Webrtc中ffmpeg的修改

因为Webrtc中的ffmpeg是使用gn进行编译的,所以这里先找到对应目录

https://chromium.googlesource.com/chromium/third_party/ffmpeg.git

1、添加库
在FFMPEG路径下添加新文件夹3rd,并把上面打包的libmfx拷贝进入

2.
修改FFMPEG配置
BUILD.gn

//在include_dirs里面,多少行不记得了,你自己找一下
"3rd/libmfx/include/mfx"

config.h---目录为chromium\config\Chromelwin\x64\config.h

#define CONFIG_LIBMFX 1
#define CONFIG_D3D11VA 1
#define CONFIG_HWACCELS 1
#define CONFIG_QSV 1
#define CONFIG_QSVDEC 1
#define CONFIG_QSVVPP 1

config_components.h---目录为chromiumlconfig\Chromelwin\x64\config_components.h

#define CONFIG_H264_QSV_DECODER 1
#define CONFIG_H264_D3D11VA_HWACCEL 1
#define CONFIG_H264_D3D11VA2_HWACCEL 1

bsf_list.c--目录为chromium\config\Chromelwin\x64\libavcodec\bsf_list.c添加

&ff_h264_mp4toannexb_bsf,

ffmpeg_generated.gni加入

if(is_win){ffmpeg_c_sources += ["libavcodec/qsv.c","libavcodec/qsvdec.c","libavcodec/dxva2.c","libavcodec/dxva2_h264.c","libavcodec/h264_mp4toannexb_bsf.c","libavfilter/qsvvpp.c","libavfilter/vf_vpp_qsv.c","libavutil/hwcontext_qsv.c","libavutil/hwcontext_dxva2.c","libavutil/hwcontext_d3d11va.c",]
}

webrtc重新生成工程,编译即可
如果遇到编译错误:修改#include<mfxvideo.h>为#include"3rd/libmfx/include/mfx/mfxvideo.h

注意:这里的3rd是自己上面自己创建的目录,根据你创建的来,这里只是给一个示范

http://www.xdnf.cn/news/1388341.html

相关文章:

  • 【React】登录(一)
  • 2025 年 8 月《DeepSeek-V3.1 SQL 能力评测报告》发布
  • OpenCV 图像预处理核心技术:阈值处理与滤波去噪
  • 强化学习的“GPT-3 时刻”即将到来
  • 【C语言16天强化训练】从基础入门到进阶:Day 15
  • centos8部署miniconda、nodejs
  • 音频转音频
  • vue3新特性
  • 【Tools】C#文件自动生成UML图
  • Java流程控制03——顺序结构(本文为个人学习笔记,内容整理自哔哩哔哩UP主【遇见狂神说】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • “设计深圳”亚洲权威消费科技与室内设计盛会
  • Nginx高级配置 | Nginx变量使用
  • RoadMP3告别车载音乐烦恼,一键get兼容音频
  • 20250828在荣品RD-RK3588-MID开发板的Android13系统下适配Bainianxing的GPS模块BU-16M10
  • STM32项目分享:基于单片机的自行车测速系统设计
  • C++ DDS框架学习
  • 【前端教程】用 JavaScript 实现4个常用时间与颜色交互功能
  • mysql安全运维之常见攻击类型与防御指南-从SQL注入到权限提升
  • iOS 文件管理与 uni-app 性能优化实战 多工具协作的完整指南
  • 知识卡片html5动态网页源码
  • 2025-08-28-zabbix5.0创建监控项通过脚本简单实现监控oracle11g的磁盘组和表空间的使用量
  • 【从零开始搭建你的 AI 编程助手知识库】
  • Docker的常用命令及简单使用
  • 微积分 | 积分代换
  • 探索永洪vividime的超链接功能:数据分析的桥梁
  • C# NET5.0及以上版本中如何处理MySQL大数据查询
  • 数据防泄与最小可见:ABP 统一封装行级安全(RLS)+ 列级脱敏
  • Go对接全球期货数据源指南:基于StockTV API实现多品种实时监控
  • whisper-large-v3 模型
  • Rust Tokio异步任务实战教程(高级功能)