云计算百科
云计算领域专业知识百科平台

Windows 下使用 MSYS2 + MinGW64 编译 x264、x265 与 FFmpeg

本文记录在 Windows 10/11 64位系统下,使用 MSYS2 环境配合 MinGW64 工具链,编译 x264、x265 以及 FFmpeg 的完整流程,方便在 Windows 平台下生成支持 H.264/H.265 编码的 FFmpeg 动态库。

一、环境准备

1. 安装 MSYS2

从 MSYS2 官网 下载安装包,按提示安装即可。

2. 配置镜像源(加速下载)

打开 MSYS2 MinGW 64-bit,执行以下命令替换为中科大镜像源:

sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
pacman -Sy

3. 安装编译工具链与依赖

pacman -S mingw-w64-x86_64-toolchain # MinGW64 编译工具链(gcc, make等)
pacman -S base-devel # 基础开发工具
pacman -S yasm nasm # 汇编器
pacman -S git # 可选,用于拉取源码
pacman -S mingw-w64-x86_64-cmake # CMake(用于 x265 编译)

4. 验证安装

输入以下命令查看 gcc 版本:

gcc -v

2024-03-19-09-13-02-image.png

5. 添加环境变量(可选)

如果希望在任何终端中使用 MinGW 工具,可将以下路径添加到系统 PATH 中(根据实际安装路径调整):

C:\\msys64\\mingw64\\bin

2024-03-19-09-15-01-image.png

二、编译 x264

1. 下载源码

git clone https://code.videolan.org/videolan/x264.git
cd x264

2. 编译脚本(build-x264.sh)

创建 build-x264.sh,内容如下:

#!/bin/sh
basepath=$(cd `dirname $0`;pwd)
echo ${basepath}

cd ${basepath}/x264-src # 根据路径名称自行修改
pwd

./configure –prefix=${basepath}/x264_MinGW –enable-shared
make -j8
make install
make clean

3. 执行编译

chmod +x build-x264.sh
./build-x264.sh

2024-03-19-15-31-39-image.png

三、编译 x265

1. 下载源码

git clone https://bitbucket.org/multicoreware/x265_git.git
cd x265_git

2. 使用 CMake 生成 Makefile

2024-03-19-15-25-19-image.png

3. 编译与安装

# 进入相对应目录
cd D:/FFmpeg/x265_MinGW

# 编译
mingw32-make -j$(nproc)
mingw32-make install

四、编译 FFmpeg(集成 x264 与 x265)

1. 下载 FFmpeg 源码

从 FFmpeg 官网 下载稳定版源码(如 ffmpeg-5.1.4.tar.xz),解压后进入目录。

2. 编译脚本(build-ffmpeg.sh)

创建 build-ffmpeg_MinGW.sh,内容如下:

#!/bin/sh
basepath=$(cd `dirname $0`;pwd)
echo ${basepath}

cd ${basepath}/ffmpeg-5.1.4-src
pwd

export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/d/FFmpeg/x264_MinGW/lib/pkgconfig
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/d/FFmpeg/x265_MinGW/lib/pkgconfig
echo ${PKG_CONFIG_PATH}

./configure –prefix=${basepath}/ffmpeg514_MinGW \\
–enable-gpl –enable-libx264 –enable-libx265 –disable-static –enable-shared \\
–extra-cflags=-l${basepath}/x264_MinGW/include –extra-ldflags=-L${basepath}/x264_MinGW/lib
–extra-cflags=-l${basepath}/x265_MinGW/include –extra-ldflags=-L${basepath}/x265_MinGW/lib

make -j8
make install

3. 执行编译

chmod +x build-ffmpeg.sh
./build-ffmpeg.sh

2024-03-19-15-38-04-image.png

五、验证编译结果

进入安装目录(如 ffmpeg_mingw/bin),运行:

ffmpeg –version

若输出中包含 –enable-libx264 –enable-libx265,则说明编译成功。

image.png

六、常见问题

  • 找不到 pkg-config 包 确保 PKG_CONFIG_PATH 环境变量指向正确的 .pc 文件路径。

  • CMake 无法找到编译器 请确认使用的是 MSYS2 MinGW 64-bit 终端,而非 MSYS2 其它终端。

  • 编译过程中缺少依赖 可通过 pacman -S mingw-w64-x86_64-<包名> 安装对应依赖。

赞(0)
未经允许不得转载:网硕互联帮助中心 » Windows 下使用 MSYS2 + MinGW64 编译 x264、x265 与 FFmpeg
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!