创建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 调试

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

参考链接:

1https://www.cnblogs.com/suiyek/p/15669562.html

相关推荐
hz5678917 小时前
电子远程评标系统哪家好?安全、合规、易用平台评测指南
安全·云计算·音视频·实时音视频·信息与通信
星空语20 小时前
音频001_Android+Linux车载/手机音频全链路分层架构图
android·linux·音视频
hz567891 天前
局域网视频会议解决方案,适配政企专网场景
音视频·实时音视频·信息与通信·安全架构
Cutecat_1 天前
YouTube 多语种自动配音功能实测:AI 如何让一条视频“开口说”多种语言
人工智能·科技·音视频
潜创微科技1 天前
国产 USB3.0 千兆网卡芯片 CH9153:Pin-to-Pin 替换 RTL8153,免改板、免驱、工业级
音视频
中微极客1 天前
2026 AI视频生成器选型指南:Kling 3.0深度解析
人工智能·音视频
ai产品老杨2 天前
NVIDIA GPU部署AI视频分析项目实战记录
人工智能·音视频
REDcker2 天前
远程实时操控技术详解
音视频·实时音视频·数据采集·遥控·遥操作·数据闭环·远程操控
AI_Video_Editing2 天前
长视频转短视频应用怎么选:从成本公式、处理链路到场景适配的判断逻辑
音视频
气泡音人声分离2 天前
技术解析|音频可视化:从波形图到声谱图,把“听觉”变成“视觉”
音视频·音频剪辑·音频可视化