龙空技术网

FFmpeg Windows编译调试

音视频流媒体技术 156

前言:

如今兄弟们对“webrtc编译windows”大体比较讲究,姐妹们都想要分析一些“webrtc编译windows”的相关知识。那么小编同时在网摘上搜集了一些关于“webrtc编译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中。

相关学习资料推荐,点击下方链接免费报名,先码住不迷路~】

音视频免费学习地址:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发

【免费分享】音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击788280672加群免费领取~

使用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编译调试

标签: #webrtc编译windows #清华镜像下载