准备
- 官网下载安装软件vs2019,msys2
- 下载ffmpeg源码,ffmpeg6.0版本
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
编译
1、 进入MSYS2的安装目录,在该目录下打开 msys2_shell.cmd 文件,将该文件第 17 行代码的注释打开,即去掉 rem 关键字。 让MSYS2可以继承Windows控制台的环境变量
set MSYS2_PATH_TYPE=inherit //去掉rem
2、接下来修改msys2安装包源,打开目录msys64\etc\pacman.d,
mirrorlist.msys 文件开头增加
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
mirrorlist.mingw64 文件开头增加
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64
mirrorlist.mingw32 文件开头增加
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686
3、 点击windows开始按钮,输入x64 Native Tools 搜索,点击x64 Native Tools Command Prompt for VS 2022打开命令行窗口, 启动msys2
# 进入到msys2安装目录
cd D:\MSYS64
# 启动msys2命令行窗口
msys2_shell.cmd
4、 安装必要的编译工具
pacman -S diffutils make pkg-config yasm
5、 之后进入ffmpeg源码目录,编译并安装ffmpeg
./configure --prefix=./build --enable-gpl --enable-nonfree --enable-shared --toolchain=msvc
make -j4 && make install
6、 编译完成后可查看build/bin目录
调试
1、VS打开build本地文件夹
2、 右击 ffmpeg.exe 文件, 选择设置为启动项,同时选择添加调试设置,在弹出框中选择本机。调试可设置如下
"configurations": [
{
"type": "native",
"name": "ffmpeg.exe help",
"project": "bin\\ffmpeg.exe",
"projectTarget": "",
"args": [ "--help" ]
},
{
"type": "native",
"name": "ffmpeg.exe dxva",
"project": "bin\\ffmpeg.exe",
"args": [ "-y -loglevel repeat+level+debug -hwaccel dxva2 -threads 1 -i D:\\FFmpeg\\stream.h264 D:\\FFmpeg\\test.yuv " ]
},
{
"type": "native",
"name": "ffmpeg.exe d3d11va",
"project": "bin\\ffmpeg.exe",
"args": [ "-y -loglevel repeat+level+debug -hwaccel d3d11va -threads 1 -i D:\\FFmpeg\\stream.h264 D:\\FFmpeg\\test.yuv " ]
}
]