FFmpeg提供的是一套基础框架,编码格式,文件封装和协议等均可以作为一个模块挂载再这个框架中。模块以第三方的外部库的方式提供支持,通过FFmpeg源码的configure命令查看所有支持的和不支持的。
h.264编码默认是没配置的,如果想支持,可以自己编译定制进去,如下
configure --enable-libx264
单独这样配置会出现错误,错误提示需要gpl,因此需要多enable一个
configure --enable-gpl --enable-libx264
这样配置还是会报错,因为x264就是第三方外部库,默认clone的FFMPEG源码里是没有的。需要再去git一个x264
x264源码编译失败,报错缺nasm,这是个汇编工具,只好再去下载nasm。
nasm源码在MingGW+MSYS下编译报错,原因未知。
可以直接下载nasm的x86安装版,在windows下安装后,拷贝nasm.exe文件到MSYS目录的bin文件夹下。
然后回到x264源码目录,三部曲 configure make make install
为了逃避复杂的环境设置,可以直接把libx264.a拷贝到MSYS的lib目录下
然后
configure --enable-libx264 --enable-gpl
make
make install