VS2022编译调试FFmpeg
- Git 工具下载,安装直接选择好安装路径,直接下一步到安装完成。
- 配置好工程目录,msvc为编译生成的目标文件的目录,source为源代码目录
- 进入source目录,通过Git下载FFmpeg
git clone https://github.com/ShiftMediaProject/FFmpeg.git
- FFmpeg下载好后,可以打开FFmpeg->SMP->ffmpeg_deps.sln解决方案
- 下载依赖项,管理员方式执行SMP下的project_get_dependencies.bat
注:这脚本需要git依赖,你的项目如果不是git拉下来的话只能手动下载了,也有可能下载失败,也需要手动下载,根据ffmpeg_deps.sln解决方案下各个依赖项,依赖项在https://github.com/ShiftMediaProject这个目录下,手动方式就是一个个下载了,比如下载libass,首先找到libass
- 点击libass
- 在source目录下运行git命令行
-
所有依赖项目下载后,编译ffmpeg还有额外的编译头文件,在msvc目录下,创建如图所示目录
1、下载 opengl 的 glext.h 和 wglext.h 到 " msvc/include/gl/ " 目录下。(下载点 这里)
2、下载 opengl 的 khrplatform.h 到 " msvc/include/KHR/ " 目录下。(下载点 这里)
3、下载 nv-codec-headers 项目的 “include” 文件夹下的内容到 " msvc\include " 目录下。(git 项目点 这里)
4、下载 AMF 项目的 “amf/public/include” 文件夹下的内容到 " msvc/include/AMF/ "目录下。 (git 项目点 这里) -
msvc 来编译 ffmpeg 还需要 安装 NASM 才能编译所有的汇编文件。ShiftMediaProject 为编译 ffmpeg 提供的自定义构建项【nasm / yasm】默认 VS是没有支持的,所以需要用第5步同样的方法下载nasm 和 yasm,并安装,否则有些有汇编的工程无法加载
【nasm】下载地址:https://github.com/ShiftMediaProject/VSNASM.git
【yasm】下载地址:https://github.com/ShiftMediaProject/VSYASM.git
安装:nasm与yasm的安装方式完全一样,这里以nasm举例:进入下载好的nasm目录,找到install_script.bat文件,不要直接运行,先 以管理员身份,在预设好 VS 相关变量的脚本环境中 (开发者命令行 / Developer command),运行该 install_script.bat 脚本
执行成功即可,yasm用同样的方式安装。
一切准备就绪,可以打开ffmpeg_deps.sln解决方案开始编译了,编译的过程中,会有编译不通过的两个工程,一个是gnutls项目,一个是libilbc项目
是因为这两个项目的子项目没有自动下载导致,我这个版本是gnutls,libilbc这两个项目有子项目,不同版本可能有不同的项目存在子项目。
这里以gnutls项目为例,通过编译,可以发现gnutls\devel目录下libtasn1目录是空的。
在github上找到这个子项目的地址进行下载即可。
点击该gnutls的libtasn1这个子项目进入下面页面,点击libtasn1
就可以找到libtasn1的git地址,通过git clone下载到gnutls/devel目录下即可。
同样的方法根据编译提示,找到libilbc缺少的依赖子项目下载下来即可。
最后大功告成
可以变成调试了,Debug编译ffmpeg生成文件是ffmpegd,调式会提示找不到ffmpeg,这需要做如下配置
改好之后就可以调试了
技术参考:
使用 VS2015 编译并调试 ffmpeg:https://www.cnblogs.com/BensonLaur/p/10989115.html
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggeggh
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13