创建ffmpeg vs2019工程

0 写在前面

本文主要参考链接:https://www.cnblogs.com/suiyek/p/15669562.html

感谢作者的付出;

1 目录结构

2 下载yasm和nasm

如果自己在安装VS2019等IDE的时候已经安装了它们,则不用再单独进行安装,比如我这边已经安装了,路径为:C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC,将这个路径加入到系统环境变量Path中即可;

3 下载第三方头文件

3.1 下载AMF头文件

先获得AMF仓库代码:

git clone https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git

然后把 AMF\amf\public\include\ 下的所有子文件夹复制到 ffmpeg_msvc\msvc\include\AMF 下(目录不存在的话请自行创建)。

3.2 下载ffnvcodec头文件

先获得ffnvcodec仓库代码:

git clone https://github.com/FFmpeg/nv-codec-headers.git

然后把nv-codec-headers\include\ffnvcodec\ 下的所有头文件复制到 ffmpeg_msvc\msvc\include\ffnvcodec 下(目录不存在的话请自行创建)。

在后面编译ffmpeg_deps.sln工程的时出现问题:

经过对https://github.com/FFmpeg/nv-codec-headers仓库进行分析,由于自己使用的master分支,所以nvEncodeAPI.h中的内容是不全的,需要将其切换到origin/sdk/12.0分支:

git checkout --track origin/sdk/12.0

3.3 下载openGL头文件

将链接Index of /OpenGL/api/GL下的glext.hwglext.h执行另存为操作,将它们保存在ffmpeg_msvc\msvc\include\gl下(目录不存在的话请自行创建)。

3.4 下载EGL头文件

将链接Index of /EGL/api/KHR下的khrplatform.h头文件执行另存为操作,将它们保存在ffmpeg_msvc\msvc\include\KHR下(目录不存在的话请自行创建)。

4 下载源码并安装依赖

4.1 下载源码

cd ffmpeg_msvc\smp_src

git clone https://github.com/ShiftMediaProject/FFmpeg.git

这个仓库中实际上就已经包含了ffmpeg的源码,具体如下:

可以通过上图中的Changelog可以查看当前ffmpeg的修改内容,当编译完ffmpeg后,可以使用ffmpeg -version来查看ffmpeg到底使用的是哪一个版本。

4.2 安装依赖

在cmd中运行E:\ffmpeg_msvc\smp_src\FFmpeg\SMP\project_get_dependencies.bat脚本,当执行完该脚本后,也会在smp_src的目录中下载编译ffmpeg所依赖的第三方的代码,具体如下:

5 编译与调试

5.1 编译

进入文件夹:E:\ffmpeg_msvc\smp_src\FFmpeg\SMP,打开ffmpeg_deps.sln工程,共47个项目,具体如下:

编译结果:

查看ffmpeg的版本:

可以尝试编译不同的版本:

5.2 调试

直接设置为启动项目即可;

参考链接:

1\][https://www.cnblogs.com/suiyek/p/15669562.html](https://www.cnblogs.com/suiyek/p/15669562.html "https://www.cnblogs.com/suiyek/p/15669562.html")

相关推荐
勘察加熊人20 分钟前
ffmpeg切割音频
ffmpeg·音视频
一条数据库9 小时前
南京方言数据集|300小时高质量自然对话音频|专业录音棚采集|方言语音识别模型训练|情感计算研究|方言保护文化遗产数字化|语音情感识别|方言对话系统开发
人工智能·音视频·语音识别
therese_1008614 小时前
音视频demo
音视频
~远在太平洋~21 小时前
Debian 系统上安装与配置 MediaMTX
音视频
杨天天.1 天前
小程序原生实现音频播放器,下一首上一首切换,拖动进度条等功能
前端·javascript·小程序·音视频
面向星辰2 天前
html音视频和超链接标签,颜色标签
前端·html·音视频
SXJR2 天前
Java mp4parser 实现视频mp4 切割
java·python·音视频
却道天凉_好个秋2 天前
音视频学习(六十三):AVCC和HVCC
音视频·h264·h265·avcc·hvcc
victory04312 天前
疾病语音数据集 WAV格式音频
深度学习·音视频