1. MSYS2 + MinGW64 方式
1. MinGW64 下载安装
# 下载地址
https://www.mingw-w64.org/downloads/#mingw-builds
# 安装
双击 mingw64-w64-install.exe
# 选择
Version: 8.1.0
Architecture: x86_64
Threads: posix # 见参考 5.1
Exception: dwarf # 见参考 5.2
Build revision: 0
# 完成
一直点下一步
# 环境变量
1. PC -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量
2. 新建 -> Name: MINGW_PATH Value: D:/MinGW64/bin
3. 选中 Path -> 编辑 -> 新建 添加 %MINGW_PATH%
2. MSYS2 下载安装
# 下载地址
https://msys2.org
# 安装
双击 msys2-x86_64-20210725.exe
# 完成
点击下一步,勾选 "完成后打开控制台"
# 安装 make
pacman -S make
# 编辑 mingw64.ini
取消 MSYS2_PATH_TYPE=inherit 注释。方便 mingw64.exe 访问到环境变量 MINGW_PATH
3. YASM 下载安装
# 下载地址
https://yasm.tortall.net/Download.html
# 安装
下载 win64.exe,下载后文件名为: yasm-1.3.0-win64.exe
重命名为 yasm.exe,剪切此文件到 MinGW64 下的 bin 目录
4. SDL 下载安装
# 下载地址
https://www.libsdl.org/download-2.0.php
# 安装
下载 SDL2-2.0.16-win32-x64.zip (64-bit Windows)
解压文件 SDL2.dll 文件拷贝到 MinGW64 根目录下
上面的不行,下载 SDL2-2.0.16.zip-GPGsigned 源码
手动编译,编译结果拷贝到 MinGW64 下的 bin、include、share 目录
5. libx264 下载安装
# 下载地址
# 编译安装
6. DirectShow 下载安装
主要为了捕获 DirectShow 输入设备数据,好像只有 windows 上的音视频用到这种
MinGW64 自带支持,不用安装
7. OpenAL 下载安装
configure 文件内容,--enable-openal 默认关闭,可以不用安装
8. pkg-config 下载安装
1. glib
# 下载地址
https://download-fallback.gnome.org/binaries/win64/
# 安装
拷贝 libglib-2.0-0.dll 文件到 MinGW64 bin 目录下
2. gettext-runtime
# 下载地址
https://download-fallback.gnome.org/binaries/win64/
# 安装
拷贝 libintl-8.dll 文件到 MinGW64 bin 目录下
3. pkg-config
# 下载地址
https://download-fallback.gnome.org/binaries/win64/
# 安装
拷贝 pkg-config.exe 到 MinGW64 bin 目录下
9. diffutils 下载安装
# 下载地址
https://sourceforge.net/projects/gnuwin32/files/diffutils/2.8.7-1/diffutils-2.8.7-1.exe
# 安装
双击 diffutils-2.8-7-1.exe
安装完成,拷贝 diffutils/bin 目录下的所有文件到 MinGW64 bin 目录下
10. lib.exe 处理
没明白,这是啥?
11. configure
# 配置说明
打开 configure 文件,有注释说明
# 最简单 configure 配置
双击打开 mingw64.exe,弹出控制台,输入:
./configure --prefix=../ffmpeg
12. make && make install
# make 开启 4 任务编译加速,不写就无限任务卡电脑
make -j 4
# make install 安装
make install
2. MSYS2 包管理方式
1. 安装依赖
# make
pacman -S make
# diffutils
pacman -S diffutils
# yasm
pacman -S yasm
# pkg-config
pacman -S pkg-config
# mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-gcc
# mingw-w64-i686-gcc 可选
pacman -S mingw-w64-i686-gcc
2. SDL 和 libx264 安装
# 目录结构如下
ffmpeg
- bin
- include
- lib
- share
ffmpeg_src
- ffmpeg
- SDL_2.0
- libx264
# 编译 SDL
cd /g/ffmpeg_src/SDL_2.0
./configure --prefix=/g/ffmpeg
make && make install
# 编译 libx264
cd /g/ffmpeg_src/libx264
PKG_CONFIG_PATH=/g/ffmpeg/lib/pkgconfig ./configure --prefix=/g/ffmpeg --enable-static
make && make install
3. 编译 ffmpeg
# congiure
cd /g/ffmpeg_src/ffmpeg
PKG_CONFIG_PATH=/g/ffmpeg/lib/pkgconfig ./configure \
--prefix=/g/ffmpeg/ \
--enable-gpl \
--enable-libx264 \
# 安装
make && make install
3. CygWin 包管理方式
1. 依赖安装
重新 运行 setup-x86_64.exe,Search 以下依赖,进行安装
# SDL
libSDL2
libSDL2_image
libSDL2_mixer
libSDL2_ttf
libSDL2_Pango
libSDL2_gfx14
# yasm
# diffutils
# pkg-config
# make
# binutils
# cmake
# make
# gcc-core
# gcc-g++
# gdb
4. 交叉编译
1. centos 平台
2. windows 10 WSL
5. 参考
5.1 stackoverflow.com/questions/1…
5.2 stackoverflow.com/questions/1…