首先要准备ffmpeg的编译环境,在Windows环境下,无法直接编译ffmpeg,需要msys或mingw来提供ffmpeg的运行库,这里以msys为例
- 下载msys,到https://www.msys2.org/,选择最新版本下载,并安装,(本例安装目标为e:\ffmpeg\msys);
- 更换msys更新源,转到E:\ffmpeg\msys64\etc\pacman.d目录下,修改站点镜像文件 :
mirrorlist.mingw32文件在最前面增加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
mirrorlist.mingw64文件在最前面增加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
mirrorlist.msys文件在最前面增加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
注意,以上修改都必须在文件和最前面新增一行;
- 更新组件
转到E:\ffmpeg\msys64目录下,双击运行msys2_shell.cmd,并根据自身需要,输入以下命令:
如果需要编译ffplay,则需要按照sdl2
# Update the package database and core system packages(更新包数据库和核心包)
pacman -Syu
# normal msys2 packages
# pacman -S make pkgconf diffutils
# 官方提供的pkgconf不存在,试出了pkg-config这个可以安装
pacman -S make pkg-config diffutils yasm
# mingw-w64 packages and toolchains
# 下面这个是64位版本
# pacman -S mingw-w64-x86_64-nasm mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2
# 下面这个是32位版本
pacman -S mingw-w64-i686-nasm mingw-w64-i686-gcc mingw-w64-i686-SDL2
- 准备环境启动批处理文件
在E:\ffmpeg\msys64目录下面新建一个文件,比如 msys_vs2019.bat,内容如下:
set MSYS2_PATH_TYPE=inherit
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
msys2_shell.cmd -mingw64
其中"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars32.bat" 是 vs2019安装路径下面的一个调整环境变的文件,可根据各自的安装版本和路径进行调整;
- 修改msys的link.exe
为防止msys的link.exe与vs2019的link.exe冲突,可把E:\ffmpeg\msys64\usr\bin目录下的link.exe改名,比如msys-link.exe
- 开始编译
转到E:\ffmpeg\msys64目标,双击运行msys_vs2019.bat文件,启动msys命令行界面,依次输入命令,即可以行ffmpeg的编译
参考文章
- https://blog.csdn.net/Tui_GuiGe/article/details/90320224
- https://blog.csdn.net/justidle/article/details/103025966