首页 > 代码库 > FFMPEG 学习(1) - 库编译

FFMPEG 学习(1) - 库编译

编译环境
*Mac OS 10.9.5 with Xcode6.1
*以编译ffmpeg2.0版本为例 (http://ffmpeg.org/releases/ffmpeg-2.0.tar.gz)
http://www.ffmpeg.org/releases/
*主要参考
http://www.cnblogs.com/smileEvday/p/ffmpeg.html
https://github.com/lvjian700/ffmpegc/issues/4

第一步: 下载build-ffmpeg.sh脚本
https://gist.github.com/m1entus/6983547

第二步: 下载gas-preprocessor.pl脚本,
https://github.com/mansr/gas-preprocessor

第三步: 把gas-preprocessor.pl copy到/usr/bin目录下, 不要copy到/usr/local/bin目录下,因为此目录由于权限问题,可能导致脚本运行失败

第四步: 修改gas-preprocessor.pl文件的读写执行权限
sudo chmod a+rwx gas-preprocessor.pl

第五步: 进入build-ffmpeg.sh所在的目录,修改build-ffmpeg.sh里面的VERSION和SDKVERSION,这需要根据自己MacOS上安装的Xcode版本来设置,比如:
VERSION="2.0"
SDKVERSION="8.1"

第六步: 修改build-ffmpeg.sh第84行的一处hard code, 把Xcode的安装路径修改成你本机上的路径.
Hard code 为/Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/SDKs/

假设你的Xcode安装在/Applications/Xcode6.1.app,用{DEVELOPER}替换,改成如下即可

./configure --prefix="${INTERDIR}/${ARCH}" --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-iconv --disable-bzlib --enable-avresample --sysroot="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk" --cc="${DEVELOPER}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" --as=‘/usr/local/bin/gas-preprocessor.pl‘ --extra-cflags="${EXTRA_CFLAGS} -miphoneos-version-min=${SDKVERSION} -I${OUTPUTDIR}/include" --extra-ldflags="-arch ${ARCH} ${EXTRA_LDFLAGS} -isysroot ${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk -miphoneos-version-min=${SDKVERSION} -L${OUTPUTDIR}/lib" ${EXTRA_CONFIG} --enable-pic --extra-cxxflags="$CPPFLAGS -I${OUTPUTDIR}/include -isysroot ${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk”

第七步: 去掉armv6编译,因为高版本已不支持v6. 在build-ffmpeg.sh的./configure后面加入下面code

--disable-armv6 --disable-armv6t2


第八步: 运行脚本

sh build-ffmpeg.sh

FFMPEG 学习(1) - 库编译