需要的工具:
visual studio 2019 (可以是其他版本,只是本人电脑上装的为2019)
msys2
ffmpeg-7.1源码
1.
修改msys2_shell.cmd
在msys2目录修改msys2_shell.cmd
打开后找到行set MSYS2_PATH_TYPE=inherit
删除开头的rem
2.
运行msys2
运行x64 Native Tools Command Prompt for VS 2019
打开后跳转到msys2目录,并运行msys2_shell.cmd,会打开msys2窗口
在msys2窗口输入cl,查看是否有输出:
用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.29.30148 版
版权所有(C) Microsoft Corporation。保留所有权利。用法: cl [ 选项... ] 文件名... [ /link 链接选项... ]
如果没有输出,则表示没有继承到VS 2019环境,查看msys2_shell.cmd是否修改成功
3.
配置环境
在msys2中运行:
pacman -Syu
pacman -S make
pacman -S diffutils
pacman -S yasm
pacman -S nasmmv /usr/bin/link.exe /usr/bin/link.exe.bak
4.
编译ffmpeg-7.1
在msys2窗口中进入ffmpeg-7.1目录下
创建build.sh,输入:
#!/bin/shexport CC=cl./configure \
--prefix=/d/lib/ffmpeg-7.1/build_windows \
--toolchain=msvc \
--arch=x86_64 \
--enable-x86asm \
--enable-asm \
--enable-shared \
--disable-programs \
--enable-d3d11va \
--enable-d3d12va \
--enable-dxva2 \
--disable-static
如果有报错查看ffmpeg目录下的ffbuild/config.log
文件
等待配置完成
然后依次输入:
make V=1 j 8
make install
5.
libx264
如果需要libx264,需要自行下载libx264源码
并编译
在libx264目录下运行:
CC=cl ./configure --prefix=<编译物输出目录> --enable-shared
make -j 8
make install
在ffmpeg配置的时候添加(libx264为gpl):
--enable-gpl \
--enable-libx264 \
--extra-ldflags="-LIBPATH:<你的libx264编译输入目录>/lib/" \
--extra-cflags="-I<你的libx264编译输入目录>/include/"
即可编译带有x264的ffmpeg
msys2 下载
ffmpeg-7.1 源码下载
libx264