准备工具
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 nasm
mv /usr/bin/link.exe /usr/bin/link.exe.bak
4.
编译ffmpeg-7.1
在msys2
窗口中进入ffmpeg-7.1
目录下
创建build.sh
,文件内容:
#!/bin/sh
export 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
保存并退出运行
./build_sh
如果有报错查看ffmpeg
目录下的ffbuild/config.log
文件
等待配置完成
然后依次输入:
make V=1 j 8
make install
构建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