【FFMPEG系列】之windows下编译FFMPEG篇----之二(MSYS2)

有一些ffmpeg编译教程使用mingw与msys工具编译ffmpeg,老版本的Mingw可能不包括msys(此属猜测,欢迎留言告诉),所以安装时既要下载Mingw,又要下载msys。较新版本的Mingw安装完后自带msys。
  本文介绍使用msys2编译ffmpeg,不需要安装mingw,至于理由详见

Building for the MSYS environment is discouraged, MSYS2 provides a full MinGW-w64 environment

1、下载安装msys2

http://msys2.github.io/ 或 https://github.com/msys2 下载,不能下的话就,或网上找现成的。

2、安装

本文采用默认安装,安装完后打开c:\msys64\msys2_shell.bat 打开shell,在窗口上右击, 选择Options,更改字符集,否则中文乱码,如图
【FFMPEG系列】之windows下编译FFMPEG篇----之二(MSYS2)_第1张图片

3、工具包的安装
3.1 安装基本的工具

运行c:\msys64\msys2_shell.bat,在弹出的shell窗口中执行

pacman -S make yasm diffutils pkg-config

【FFMPEG系列】之windows下编译FFMPEG篇----之二(MSYS2)_第2张图片
注意:官网上pkg-config的描述可能有误,如

4.1.1 Native Windows compilation using MSYS2
The MSYS2 MinGW-w64 environment provides ready to use toolchains and dependencies through pacman.
Make sure to use ‘mingw64_shell.bat’ or ‘mingw32_shell.bat’ to have the correct MinGW-w64 environment. The default install provides shortcuts to them under MinGW-w64 Win64 Shell and MinGW-w64 Win32 Shell.
1、normal msys2 packages
pacman -S make pkgconf diffutils
2、 mingw-w64 packages and toolchains
pacman -S mingw-w64-x86_64-nasm mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2
To target 32 bits replace x86_64 with i686 in the command above.

3.2 安装gcc

使用 pacman -Sl | grep “gcc” 可查看安装了哪些gcc。
【FFMPEG系列】之windows下编译FFMPEG篇----之二(MSYS2)_第3张图片
  如上图,因为使用了安装命令:

pacman -S mingw-w64-i686-gcc 
pacman -S mingw-w64-x86_64-gcc 
4、编译
4.1 编译32位库

1、通过cmd进入msys2的安装目录即msys64, 执行

 msys2_shell.cmd -mingw32

在启动的shell中,执行

./configure --enable-shared --disable-everything --enable-decoder=h264 --enable-parser=h264 --arch=x86_32

2、编译
    按顺序执行

make 
make install

备注:生成的库在C:\msys64\usr\local\bin

4.2 编译64位库

1、通过cmd进入msys2的安装目录即msys64, 执行

 msys2_shell.cmd -mingw64

在启动的shell中,执行

./configure --enable-shared --disable-everything --enable-decoder=h264 --enable-parser=h264 --arch=x86_64

2、编译
    按顺序执行

make 
make install

备注:生成的库在C:\msys64\usr\local\bin
 

特别说明:用Msys2生成的库有依赖,依赖于C:\msys64\mingw32\bin 或 C:\msys64\mingw64\bin 下的某些dll库。

参考网址:https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=5&t=3688
参考网址:https://blog.csdn.net/longji/article/details/54891236

你可能感兴趣的:(视频编解码)