在Win10系统平台下,编译FFmpeg源码。
相比较于Linux系统来讲,Win10系统编译要繁杂许多。
一、使用git下载源码
$ git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
二、下载编译平台
FFmpeg在windows平台编译需要使用MinGW-w64来编译,单独使用MinGW-w64比较麻烦,推荐使用MSYS2来编译:
下载地址:MSY32
三、安装编译平台
下载MSY32后,点击exe,直接安装,如下:

四、运行编译平台
安装完MSYS2后,自动运行 或者在”开始”菜单栏中,选择“MSYS2 MSYS”软件,点击运行,运行窗口如下:
五、编译平台更新基础依赖项
$ pacman -Syu
六、编译平台安装工具项
安装MinGW-w64工具:
$ pacman -S --needed base-devel mingw-w64-x86_64-toolchain
七、进行源码配置
安装完成后,关闭MSYS2窗口,在”开始”菜单中,选择“MSYS2 MinGW x64”,运行弹出窗口,切换到FFmpeg源码文件夹路径,进行配置,输入:./configure(可以根据需要进行FFmpeg配置)
$ ./configure --disable-x86asm

八、编译源码
$ make -j8

九、编译安装
$ make install

十、编译完成
可以看到文件夹中,已编译出相应的文件库
十一、验证安装
在编译文件夹中,已编译出”ffmpeg.exe”,
用cmd执行命令验证,结果如下表明编译OK:
$ ffmpeg.exe -version

十二、补充
1、根据第七点中,直接运行./configure 是无法生成dll和lib的,只能生成exe;
在configure当前目录下新建”build”文件夹,执行以下命令,可以生成dll和lib,以及include文件:
$ ./configure --enable-shared --prefix=./build --enable-gpl --enable-libx264 --disable-x86asm



2、根据第十一点,生成的exe中,是不包含ffplay.exe中,原因是系统缺少SDL,运行如下命令,即可安装SDL
$ pacman -S mingw-w64-x86_64-SDL2

3、ffmpeg源码的decoder中是不包括x264的,需要额外编译x264,
下载:
$ wget https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2
解压:
$ tar -jxvf E:/ffmpeg/x264-master.tar.bz2 -C E:/ffmpeg/x264
编译:输入如下命令,即可在lib路径下看到libx264.a生成
$ ./configure --prefix=/bin --enable-static --host=mingw64 --disable-cli --disable-asm
make clean
make -j8
make install
