2023最新Windows编译ffmpeg详细教程,附msys2详细安装配置教程

安装MSYS2

msys2是一款跨平台编译套件,它模拟linux编译环境,支持整合mingw32和mingw64,能很方便的在windows上对一些开源的linux工程进行编译运行。

类似的跨平台编译套件有:msyscygwinmingw

优势:

  1. 相对于 cygwinmsys 等环境,它支持 pacman 包管理器,这意味着你可以很方便的安装所需要的软件包和开发库,而不需要自己去找源码编译
  2. 支持多种编译环境,可以很方便的整合 mingwclang,自身也是基于cygwin的一个简单开发环境,可以通过 pacman 包管理器很方便的安装对应编译环境的开发库。msys2的安装目录结构如下:

为什么要安装MSYS2呢?因为ffmpegwindows不够友好。

点击这里MSYS2进入官网,按如下步骤进行操作:

安装路径可自选:

配置

建议打开MSYS2 MINGW64进行以下所有步骤。

如果你用的默认的MSYS2 MSYS也就是我最开始的方式也没关系,请听我继续道来。

可以看到我最开始就用的MSYS2 MSYS:

执行命令pacman -S mingw-w64-x86_64-toolchain

敲回车继续:

接下来执行命令pacman -S base-devel

用MSYS2 MSYS的问题在于有些包搜索不到,导致有些命令用不了。

接下来可以看到我用MSYS2 MINGW64重新执行了之前的两个命令:

pacman -S mingw-w64-x86_64-toolchain

pacman -S base-devel

重新安装过后,我们可以发现常用的linux命令都能使用了,gccmakelsar等等。

安装pkg-config

执行命令:

pacman -S mingw-w64-x86_64-pkg-config

pacman -S mingw-w64-x86_64-zlib

安装好后F:\msys2\mingw64\bin目录下应该有 pkg-config.exe文件:

如果没有,进入:https://download.gnome.org/binaries/win32/dependencies/下载,没有64位的,就下32位的。

解压后在bin目录会发现pkg-config.exe,把它解压移到F:\msys2\mingw64\bin里,每个人的路径可能不一样。

接下来安装glib_2.24.2-2_win64.ziphttps://download.gnome.org/binaries/win64/glib/2.24/

解压后将 libglib-2.0-0.dll复制移到F:\msys2\mingw64\bin里,每个人的路径可能不一样。

最后将F:\msys2\mingw64\bin添加到Path环境变量,每个人的路径可能会不一样。

还可以新建系统变量PKG-CONFIG-PATH,值为F:\msys2\mingw64\lib\pkgconfig,注意每个人的路径可能会不一样。

编译ffmpeg

进入官网:https://www.ffmpeg.org/download.html#releases,点击下载:

解压后我将它放在的路径为F:\ffmpeg

接下来打开MSYS2 MINGW64进入ffmpeg源码的目录,并执行:./configure --prefix=../ffmpeg_buildout --disable-static --enable-shared --enable-version3 --disable-ffplay --enable-ffmpeg --disable-x86asm

应该会等好几分钟,我就是这样。千万不可慌张。

接下来编译,依次执行:

bash 复制代码
make -j4
make install -j4

这两步终端会输出很多东西,也需要好一会,学会等待。

至此你会发现ffmpeg同级路径会出现一个ffmpeg_builtout目录,其里面有如下目录:

并且可以找到ffmpeg.exe文件,初步断定编译成功。

接下来可以这么处理,删掉ffmpeg目录,将ffmpeg_builtout目录改名为ffmpeg,并将F:\ffmpeg\bin添加到环境变量Path里,因为ffmpeg.exe在这个路径里。

最后就可以打开终端执行ffmpeg -version查看是否安装成功啦:

至此ffmpeg编译成功。

相关推荐
Dontla6 分钟前
git bash打开Claude code报错:Claude Code on Windows requires git-bash.(别把git装其他位置,严格按照默认安装)找不到claude code
windows·git·bash
comcoo1 小时前
电脑自动干活不用值守!OpenClaw 本地部署完整实操流程
windows·开源·github·open claw部署·open claw部署包
蓝鸟19742 小时前
Windows Route 内外网双通原理+实战详解(彻底解决双网卡互斥断网)
windows·网络运维·电脑网络配置·路由冲突解决·route命令·内外网同时上网·windows路由 双网卡双通
2601_961845423 小时前
法考真题及答案解析|历年真题|资料已整理
linux·windows·ubuntu·macos·centos·gnu
coolwaterld4 小时前
windows下删文件,找出“到底是谁占用
windows
caimouse6 小时前
Reactos 第6章 进程间通信(续)
windows
触底反弹7 小时前
拷个 .exe 到新电脑就跑不起来?你缺的不是文件,是对链接的理解
c++·windows·操作系统
W优化大师7 小时前
Windows 更新待处理弹窗一直不消失怎么解决,C 盘空间和后台任务该如何排查
windows·系统优化·磁盘清理·windows11·c盘·系统更新
无风听海7 小时前
在 ASP.NET Core 开发环境中为自定义域名签发受信任的自签名证书—HSTS 启用后的完整实践
windows·后端·asp.net
Ztopcloud极拓云视角8 小时前
我用AI辅助做了一个多端工具:解决2026世界杯回放被剧透的问题
人工智能·windows·个人开发