异想天开

What's the true meaning of light, Could you tell me why

mingw编译ffmpeg记录

日期:2021-09-16 20:39:01
  
最后更新日期:2021-09-16 20:44:49
1. 官网https://www.msys2.org/ 下载msys2。 msys2-x86_64-20210725.exe

2. msys2 是用pacman管理软件包,安装依赖
更改镜像源
以我的为例, 我将 msys2 安装在 C:\msys64 , 管理镜像源的文件在路径 D:\msys64\etc\pacman.d 文件夹下,如下图,将文件地址更改为国内的中科大镜像
分别更新 mirrorlist.mingw32 文件

Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = http://repo.msys2.org/mingw/i686
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = http://www2.futureware.at/~nickoe/msys2-mirror/i686/
mirrorlist.mingw64 文件

Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = http://repo.msys2.org/mingw/x86_64
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = http://www2.futureware.at/~nickoe/msys2-mirror/x86_64/
Server = http://mirror.bit.edu.cn/msys2/REPOS/
mirrorlist.msys 文件

Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = http://repo.msys2.org/msys/$arch
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/

接着安装依赖软件
pacman -S mingw-w64-i686-gcc
pacman -S yasm
pacman -S nasm
pacman -S diffutils
pacman -S pkg-config
pacman -S make

3. 安装libopenh264
由于libx264是GPL协议,这里安装libopenh264
下载openh264-2.1.1.zip源码包。
在开始菜单->virtualstudio 2019命令行进入,执行msys2的msys2_shell.cmd打开控制台。

下面命令包括micsoft windows sdk的rc.exe
export PATH=$PATH:"/d/Program Files/Microsoft SDKs/Windows/v7.1/Bin/"

export PATH=$PATH:/d/msys64/mingw32/bin/
export PATH=$PATH:"/e/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x86/"

make OS=msvc ARCH=x86
make install
安装完了,配置Pkg。
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/

4.编译ffmpeg
mkdir build
cd build
../configure --disable-avdevice --disable-doc --disable-ffplay --disable-ffprobe --disable-static --enable-shared --disable-debug --arch=x86_32 --prefix=/d/Projects/qt_project/ppocr_compile/ffmpeg_32_build_new/ --toolchain=msvc --enable-libopenh264
make -j 4
make install

编译生成了msvc的dll和Lib以及ffmpeg.exe。测试即可。