1、使用git下载源码
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
2、FFmpeg在windows平台编译需要使用MinGW-w64来编译,单独使用MinGW-w64比较麻烦,推荐使用MSYS2来编译,下载地址:MSYS2
3、下载MSYS2后,点击exe,直接安装,如下:
4、安装完MSYS2后,自动运行 或者在"开始"菜单栏中,选择“MSYS2 MSYS”软件,点击运行,运行窗口如下:
5、在MSYS2中更新基础依赖项,输入:pacman -Syu
6、安装MinGW-w64等工具项,输入:pacman -S --needed base-devel mingw-w64-x86_64-toolchain
7、安装完成后,关闭MSYS2窗口,在"开始"菜单中,选择“MSYS2 MinGW x64”,运行弹出窗口,切换到FFmpeg源码文件夹路径,进行配置,输入:./configure(可以根据需要进行FFmpeg配置)
8、完成后,输入:make -j8
9、完成后,输入:make install
10、编译完成,可以看到文件夹中,已编译出相应的文件库;
11、 验证,在编译文件夹中,已编译出"ffmpeg.exe",再cmd命令框中输入:ffmpeg.exe -version,结果如下表明编译OK。
补充:
一、根据第7点中,直接运行./configure 是无法生成dll和lib的,只能生成exe;
在configure当前目录下新建"build"文件夹 ,并运行./configure --enable-shared --prefix=./build --enable-gpl --enable-libx264 --disable-x86asm
可以生成dll和lib,以及include文件
二、根据第11点,生成的exe中,是不包含ffplay.exe中,原因是系统缺少SDL,运行
pacman -S mingw-w64-x86_64-SDL2,即可安装SDL
三、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
编译:./configure --prefix=/bin --enable-static --host=mingw64 --disable-cli --disable-asm
make clean
make -j8
make install
编译结果:可以在lib路径下看到libx264.a生成