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

若遇到问题可看附注。

配置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编码器可参考链接

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Windows下使用MSYS2编译FFmpeg,你可以按照以下步骤进行操作: 1. 首先,下载FFmpeg的源代码。你可以在官方网站上找到下载链接。 2. 安装MSYS2 MinGW64。你可以在官方网站上找到安装程序。 3. 在MSYS2 MinGW64的命令行中,执行以下命令来配置编译环境和编译FFmpeg: ``` pacman -S mingw-w64-x86_64-toolchain // 安装mingw工具链 pacman -S msys/base-devel // 安装基础工作环境 pacman -S yasm nasm gcc // 安装汇编和编译器 pacman -S mingw64/mingw-w64-x86_64-SDL2 // 安装FFmpeg依赖的SDL2库 ``` 4. 解压下载的FFmpeg源码,并进入解压后的文件夹。使用以下命令进行配置和编译安装: ``` cd /path/to/ffmpeg-source-code // 进入FFmpeg源码文件夹 ./configure --prefix=/usr/local/ffmpeg // 配置安装路径 make // 编译源码(需要一段时间) make install // 安装编译结果 ``` 5. 编译完成后,你就可以在指定的安装路径(默认为/usr/local/ffmpeg)找到生成的相关文件。 请注意,编译过程中可能会出现一些错误。如果遇到问题,你可以参考一些博客或文档,或者重新安装MSYS2并重复上述步骤来解决问题。 希望这些步骤对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [windows使用MSYS2编译FFmpeg](https://blog.csdn.net/ice_bear221/article/details/128515239)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值