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 (pracucci.com)

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++程序员Carea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值