需求
-
FFmpeg 7.0 开始已经支持 D3D12VA,可以自己编译一份采用 LGPL 协议的定制版了。
-
以前都使用 ShiftMediaProject,现在想学习一种新的编译方式。
解决
这次采用较为普遍的方式:在 MSYS2 环境下编译。
1. 下载、安装
从官网下载,并且官网有 Installation 说明。安装完 MSYS2 本身后,需要在 MSYS2 环境下安装编译 FFmpeg 所需的工具:
1 | pacman -S autotools yasm |
当然,您还需要下载 FFmpeg 代码,目前合适的版本为 7.1。下载完,解压到合适的目录,比如 D:\devel\ffmpeg
,这样代码目录就是 D:\devel\ffmpeg\ffmpeg-7.1
。
2. 启动编译环境
为了编译 x64 版本,运行 x64 Native Tools Command Prompt for VS 2022
。然后进入 MSYS2 安装目录,输入以下命令:
1 | msys2_shell.cmd -use-full-path |
此时获得一个新打开的 MSYS2 实例窗口,后面的命令在这里输入(即,不需要 x64 Native Tools Command Prompt for VS 2022
窗口了)。
3. 编译
由于稣只需要 D3D12VA 对 HEVC 的支持,所以编译其实很快,命令行如下:
1 | cd /d/devel/ffmpeg/ffmpeg-7.1 |