[FFmpeg] 在Windows x64上通过MSYS2编译FFmpeg

本文详细介绍了如何使用MSYS2环境配置并编译64位ffmpeg,包括安装必要组件、编译外部库及ffmpeg本身的过程,并提供了精简ffmpeg的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

若遇到问题可看附注。

配置64位MSYS2

  1. 在MSYS2官网上下载MSYS2 64位安装包并安装
  2. 运行MSYS2软件根目录下的msys2.exe,执行 pacman -S make yasm diffutils pkg-config
  3. 执行pacman -S mingw-w64-x86_64-gcc(可在mingw64.exe执行gcc --version查看gcc是否安装成功)
  4. 执行pacman -S nasm(nasm用于编译x264的汇编代码)
  5. 执行pacman -S mingw-w64-x86_64-SDL2(ffplay编译依赖sdl2),退出软件

下载外部库

  1. 下载libfdk-aac源码和x264源码并解压

编译64位ffmpeg

  1. 运行MSYS2软件根目录下的mingw64.exe
  2. cd进入libfdk-aac源码根目录下依次执行./configure --prefix=/mingw64/、make和make install
  3. cd进入x264源码根目录下依次执行./configure --prefix=/mingw64/ --enable-shared、make和make install
  4. cd进入解压的ffmpeg源码根目录,执行 ./configure --prefix=/usr/local/  --enable-libx264 --enable-libfdk-aac --enable-gpl --enable-nonfree(这里仅添加了libx264和libfdk-aac库,如果需要其他外部库可自行添加)
  5. 修改config.h中的#define CONFIG_FFPLAY 0为#define CONFIG_FFPLAY 1(为0不会生成ffplay)
  6. 依次执行make和make install

运行ffmpeg

  1. 在mingw64.exe中可运行ffmpeg和ffplay等软件

精简ffmpeg

ffmpeg集成了很多工具和功能,但有时候其中的大部分我们并不需要,所以可以精简掉一些工具以加快编译速度和减少程序的体积,可通过修改配置来达到这个目的,比如将“编译64位ffmpeg”的第4步中的命令修改如下:

./configure --prefix=/usr/local/ --disable-encoders --disable-decoders --enable-encoder=libx264 --enable-encoder=libfdk_aac --enable-decoder=h264 --enable-decoder=libfdk_aac --enable-libx264 --enable-libfdk-aac --enable-gpl --enable-nonfree

读者可自行配置来编译出自己想要的ffmpeg软件。

附注

1. --prefix=用于指明make install后文件的存放路径,/usr/local为MSYS2软件根目录下/usr/local

2. 老版本ffmpeg中ffplay的编译可能需要sdl1.2,可自行下载并编译安装

3. 如果要在编译ffmpeg时生成 .dll 文件,需要在执行 ./configure 时加上 --enable-shared

4. msys2.exe用来安装环境,mingw64.exe用来编译软件

5.若要添加x265编码器可参考链接

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值