FFmpeg Windows编译调试

为何要在Windows上编译FFmpeg

FFmpeg是一个Linux环境的MakeFile工程。

而在Windows上

1 如果仅仅是使用,最方便的就是下载别人编译好的FFmpeg.exe直接在cmd命令行里使用。

2 如果是想自己编译使用,最方便的就是在WSL里面编译使用。

3 在Windows上用MSYS2编译ffmpeg.exe ffmpeg.pdb,直接创建项目调试。

需求

为了了解FFmpeg原理,阅读理解探索其源代码实现,需要在Windows环境下调试FFmpeg。

FFmpeg源码 官方下载

Index of /releases Download FFmpeg

Windows上的Linux编译环境

Compile ffmpeg libs on Windows with Visual Studio compiler (Marco Pracucci)

msys2

清华镜像下载最新版msys2 : msys2 | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

默认路径安装即可:C:\msys64

安装完,桌面有个快捷方式,打开

这个窗口意味着msys实际上是一个Linux子系统。实际上这个控制台是:

其实还有其他几个版本:

在这个子系统中安装工具:

$ pacman -S make gcc diffutils

上图是先执行下面指令执行完之后的截图。安装了make gcc diffutils这三个软件到msys2中。

使用vs2022的命令行打开msys2的MinGW

msys2_shell.cmd  -mingw64

上图显示,虽然从vs2022的命令行打开了msys2,但依然找不到cl.exe 和link.exe

确保你的vs2022的某个版本的cl.exe link.exe能找到:

export PATH=${PATH}:/C/'Program Files'/'Microsoft Visual Studio'/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64

再尝试which cl ; which link;

用msys2 切换到FFmpeg代码目录,执行配置:

 ./configure --toolchain=msvc --arch=x86 --enable-asm --enable-shared  --disable-static  --disable-x86asm
 
make

FFmpeg在Windows下使用VisualStudio调试 - 爱码网 (likecs.com)

上面的所有流程走完,会生成FFmpeg.exe ffmpeg_g.exe 以及对应的pdb文件。

有了pdb文件我们就可以调试FFmpeg了。

具体操作如下:

配置VisualStudio工程,调试ffmpeg

(1)创建一个新的空工程,设置工程属性如下

其中命令参数-i C:\testinput.mp4 -y c:\output.mp4代表将c盘下的testinput.mp4文件转换为c盘下的output.mp4文件,所以你需要自己准备一个testinput.mp4文件放到c盘根目录下

(2)将fftools/ffmpeg.c文件添加到本工程中,在main函数里面添加断点:

(3)点击F5运行调试,会提示编译出错,是否在上次编译成功结果上继续运行,选择“是”。然后就可以在断点处断下。

剩下的过程,大家自己去享受吧。

下载x264 x264, the best H.264/AVC encoder - VideoLAN

原文 FFmpeg Windows编译调试

★文末名片可以免费领取音视频开发学习资料,内容包括(FFmpeg ,webRTC ,rtmp ,hls ,rtsp ,ffplay ,srs)以及音视频学习路线图等等。

见下方!↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

猜你喜欢

转载自blog.csdn.net/yinshipin007/article/details/131463405