1 安装msys2;
下载地址:https://www.msys2.org/
默认安装
2 配置镜像地址
打开安装路径C:\msys64\etc下的pacman.conf文件,删除如下部分
[mingw32]
Include = /etc/pacman.d/mirrorlist.mingw32
[mingw64]
Include = /etc/pacman.d/mirrorlist.mingw64
[msys]
Include = /etc/pacman.d/mirrorlist.msys
然后添加
[mingw32]
#中国科学技术大学开源软件镜像
Server = https://mirrors.ustc.edu.cn/msys2/mingw/i686/
#北京理工大学开源软件镜像
Server = https://mirror.bit.edu.cn/msys2/REPOS/MINGW/i686
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = https://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MINGW/i686
Include = /etc/pacman.d/mirrorlist.mingw32
[mingw64]
#中国科学技术大学开源软件镜像
Server = https://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
#北京理工大学开源软件镜像
Server = https://mirror.bit.edu.cn/msys2/REPOS/MINGW/x86_64
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = https://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MINGW/x86_64
Include = /etc/pacman.d/mirrorlist.mingw64
[msys]
#中国科学技术大学开源软件镜像
Server = https://mirrors.ustc.edu.cn/msys2/msys/$arch
#北京理工大学开源软件镜像
Server = https://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$arch
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = https://jaist.dl.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MSYS2/$arch
Include = /etc/pacman.d/mirrorlist.msys
3 更新组件并安装需要的软件包
打开开始菜单中的MSYS MinGW 64-bit,执行如下命令
pacman -Syu (更新核心组件)
pacman -Su
pacman -S gcc
pacman -S mingw-w64-x86_64-toolchain
pacman -S mingw-w64-i686-toolchain
pacman -S base-devel
pacman -S yasm
pacman -S make
pacman -S diffutils
4 编译mfx
打开开始菜单中的MSYS MinGW 64-bit(32位打开MSYS MinGW 32-bit),cd到mfx所在的文件夹下,执行如下命令
1)autoreconf -i(将Makefile.am 中libintel_gfx_api-x86.a,libintel_gfx_api-x64.a改为libintel_gfx_api-x86.la, libintel_gfx_api-x64.la))
2)./configure --prefix=/usr/local 32位执行./configure --host=i686-w64-mingw32 --prefix=/usr/local
/usr/local为文件的生成目录
3)make -j$(nproc) install
会在/usr/local/lib下生成pkgconfig文件夹、libmfx.a库和libmfx.la库,同时在/usr/local/include文件夹下生成mfx文件夹
5 编译ffmpeg
1)设置环境变量:将上一步生成的/usr/local/lib/pkgconfig设置为环境变量
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
2)编译
./configure --prefix=./buildout --enable-shared --enable-gpl --enable-version3 --enable-w32threads --enable-x86asm --arch=x86_64 --enable-libmfx --enable-encoder=h264_qsv --enable-decoder=h264_qsv
./configure --prefix=./buildout --enable-shared --enable-gpl --enable-version3 --enable-w32threads --enable-x86asm --arch=x86_32 --enable-libmfx --enable-encoder=h264_qsv --enable-decoder=h264_qsv
(注:32位的将--arch=x86_64改为--arch=x86_32)
make -j
make install