主要学习了https://blog.csdn.net/u014552102/article/details/104442111,本次在这个基础上稍微修改,解决一些版本问题。
一:下载安装msys2
首先我们在http://msys2.github.io/ 下载msys2。
安装好以后使用mingw64.exe
下载编译需要的工具:
pacman -S gcc mingw-w64-x86_64-toolchain yasm make
二:编译freetype
从官网下载源码:https://download.savannah.gnu.org/releases/freetype/
选择最新的freetype-2.10.1.tar.gz
可能缺少libtool,automake等工具,使用pacman -S libtool automake下载
./autogen.sh //生成configure文件
./configure --prefix=/usr/local/freetype
make
make install
三:编译libxml2
从gitlab下载源码:https://gitlab.gnome.org/GNOME/libxml2/
./autogen.sh
./configure --prefix=/usr/local/libxml2 --without-python
make
make install
四:编译fontconfig
从gitlab下载源码:https://gitlab.freedesktop.org/fontconfig/fontconfig
需要先安装gperf,pacman命令:pacman -S gperf
./autogen.sh
export PKG_CONFIG_PATH=/usr/local/libxml2/lib/pkgconfig:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/freetype/lib/pkgconfig:$PKG_CONFIG_PATH
./configure --prefix=/usr/local/fontconfig --disable-docs --enable-libxml2
make
make install
这里碰到了问题freetype2 >= 21.0.15,解决办法在:https://blog.csdn.net/asdasfdgdhh/article/details/116711504
五:编译fribidi
首先从github clone代码:https://github.com/fribidi/fribidi
./autogen.sh //生成configure文件
./configure --prefix=/usr/local/fribidi
make
六:编译ffmpeg
export PKG_CONFIG_PATH=/usr/local/freetype/lib/pkgconfig:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/libxml2/lib/pkgconfig:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/fontconfig/lib/pkgconfig:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/fribidi/lib/pkgconfig:$PKG_CONFIG_PATH
./configure --enable-shared --enable-decoder=h264 --enable-parser=h264 --enable-libfreetype --enable-libfontconfig --enable-libfribidi --prefix=/usr/local/ffmpeg
make -j4
make install
验证:
左上角有Welcome,msys2编译支持drawtext的ffmpeg成功!!
ffmpeg -i C:\resources\cuc.flv -vf drawtext=fontfile=arial.ttf:text=Welcome C:\resources\cuccc.flv