FFmpeg在官方网站中提供了已经编译好的可执行文件。FFmpeg是开源,所有可以根据自己的需求进行手动编译。
Windows平台编译
FFmpeg在Windows平台中的编译需要使用MinGW-w64,MinGW是Minimalist GNU for Windows的缩写,它提供一系列的工具链来辅助编译Windows的本地化程序。
MinGW-w64单独使用起来比较麻烦,但是可以与MSYS环境配合使用,MSYS主要工作是为UNIX 在Windows的功能。显而易见这是一个仿生UNIX环境的Windows工具集
1、下载FFmpeg源码
2、准备MinGW-w64 + MSYS环境
3、进入FFmpeg源码目录,执行./configure
4、./configure执行成功后,执行make,这是一个比较漫长的过程
5、执行make install,到此为止,FFmpeg在Window上的编译一全部完成,执行./ffmpeg.exe -h来验证编译结果
注意:
以上编译出来的只是最简单的ffmpeg,并没有H264、字母等编码的支持,如需要支持更多的模块和参数,还需要进行更详细的定制,后期会有文章详细介绍,敬请期待,手动滑稽。
Linux平台编译
1、下载FFmpeg源码
2、进入FFmpeg源码目录,执行./configure
3、./configure执行成功后,执行make,这是一个比较漫长的过程
4、执行make install
默认编译FFmpeg的时候,需要用到yasm汇编器对FFmpeg中的汇编部分进行编译。如不需要用到汇编部分的时候,则可以不安转yasm,如果执行默认配置的时候,会提示错误:
错误提示很清楚,可以使用--disable-yasm 来取消yasm编译配置。执行成功如下图
OS X 平台编译
在OS X平台上使用的编译工具链为LLVM,另外还需要安装yasm汇编编译工具,否则在生成Makefile时会报错误提示未安装yasm工具。
除了环境不同,步骤和Linux基本相同
FFmpeg的源码目录
讲了半天编译,大家想必还不知道FFmpeg源码目录长啥样把:看下图
请忽略android这个目录和build_android.sh脚本,这两个不是源码目录内容,android这目录下放的是我用build_android.sh脚本执行编译生成给android使用的so动态库。