FFMPEG 全平台平台编译
##windows平台##
一.操作流程
1. 安装工具
ffmepg 版本: release 4.4 https://github.com/FFmpeg/FFmpeg.git
msys: MinGw
下载好MinGW以后,安装时勾选以下选项
- mingw-devloper-toolkit
- mingw32-base
- mingw32-gcc-g++
- msys-base
安装完成以后按住Win+R 打开cmd,输入gcc --version
测试是否成功
下载 glib 和 pkg-config ,将bin里文件放在 C:\MinGW\bin下
pkg-config-0.23-2.zip、glib_2.18.4-1_win32.zip
2.编译ffmpeg
运行msys,进入ffmpeg源码的目录
# 配置编译参数
./configure --prefix=../ffmpeg_buildout --disable-static --enable-shared --enable-version3 --disable-ffplay --enable-ffmpeg --disable-x86asm
#编译
make -j4
make install
二.遇到问题
1.若编译过程中出现如下错误,打开libavformat/os_support.h
,添加#include<winerror.h>
,即可。错误内容:
libavformat/os_support.c:194:10: error: 'ERROR_NOT_ENOUGH_MEMORY' undeclared (first use in this function)
2. ffbuild/common.mak:173: *** missing separator. Stop.
原因:不同系统上对于行尾结束符号的标记不一致,Windows系统上的文件是CRLF,而MAC和Linux系统上,则是LF。
解决:
解决方式就是关闭行末结束估好的自动转换,运行如下命令:
git config --global core.autocrlf false
删除本地暂存分区上的文件
git rm --cached -r .
同步线上代码
git reset --hard
三.添加H264编码支持
1.下载H264 http://download.videolan.org/pub/videolan/x264/snapshots/
2. 打开msys,执行:
CFLAGS="-fPIC" ./configure --enable-static --disable-opencl --disable-asm --prefix=../x264_build
make
make install
3.重新编译ffmpeg
./configure --prefix=../ffmpeg_buildout --disable-static --enable-shared --enable-version3 --disable-ffplay --enable-ffmpeg --enable-libx264 --disable-x86asm --enable-gpl --extra-cflags=-I../x264_build/include --extra-ldflags=-L../x264_build/lib
make
make install
##ios平台##
X264 ios 编译脚本 https://github.com/kewlbear/x264-ios
ffmpeg ios 编译脚本 https://github.com/kewlbear/FFmpeg-iOS-build-script