ffmpeg在IOS上编译

1、第一步,获取ffmpeg
获取ffmpeg git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
 
2、获取libx264
http://www.videolan.org/developers/x264.html
 
3、编译并安装264
 
(1)、iphon4s的编译
CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ./configure --host=arm-apple-darwin --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk --extra-cflags='-arch armv7 -mfpu=neon -miphoneos-version-min=7.0' --extra-ldflags='-arch armv7 -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/lib/system -miphoneos-version-min=7.0' --disable-asm --enable-shared --enable-static --enable-pic
(2)、模拟器编译
CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ./configure --host=i386-apple-darwin --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk --extra-cflags='-arch i386' --extra-ldflags='-arch i386 -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/system' --disable-asm --enable-shared --enable-static --enable-pic
(3)、mac编译
CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ./configure --host=x86_64-apple-darwin --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk --extra-cflags='-arch x86_64' --extra-ldflags='-arch x86_64 -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/system' --disable-asm --enable-shared --enable-static --enable-pic
 
make
 
sudo make install
 
注意,不同iphone用不同的处理器指令,我时4s(下同)
 
安装完毕后会在mac的/usr/local 下,这时需要把这个路径加入到环境变量中,后面ffmpeg编译时需要用到
 
3、如果你是老版本的XCode(5以下)可以采用下面的脚本来安装,当然也需要调整下
git clone https://github.com/gabriel/ffmpeg-iphone-build.git
 
4、在XCode5环境下编译
XCode5没有gcc(蛋疼的苹果),现在有两个选择,一个是安装一个,另外更好的选择是使用clang。
(1)、真机上安装
./configure --enable-cross-compile --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk --target-os=darwin --cc=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --extra-cflags='-arch armv7 -mfpu=neon -miphoneos-version-min=7.0 -I/usr/local/include' --extra-ldflags='-arch armv7 -L/usr/local/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/lib/system -miphoneos-version-min=7.0' --arch=arm --cpu=cortex-a9 --disable-armv5te --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --disable-asm --enable-debug --enable-pic --disable-asm --enable-gpl --enable-libx264 --enable-decoder=h264 --enable-encoder=libx264
(2)、模拟器上安装
这个不需要交叉编译环境,所以比较简单,不用设置各种路径和处理器类型
./configure --enable-cross-compile --cc=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk --target-os=darwin --extra-cflags='-arch i386 -I/usr/local/include' --extra-ldflags='-arch i386 -L/usr/local/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/system' --arch=i386 --cpu=i386 --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --disable-asm  --enable-debug --enable-pic --disable-asm --enable-gpl --enable-libx264 --enable-decoder=h264 --enable-encoder=libx264
(3)、mac编译
把模拟器换成x86_64  
./configure --enable-cross-compile --cc=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk --target-os=darwin --extra-cflags='-arch x86_64 -I/usr/local/include' --extra-ldflags='-arch x86_64 -L/usr/local/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/system' --arch=x86_64 --cpu=x86_64 --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --disable-asm  --enable-debug --enable-pic --disable-asm --enable-gpl --enable-libx264 --enable-decoder=h264 --enable-encoder=libx264 
posted on 2014-04-24 10:03  RS72  阅读(400)  评论(0)    收藏  举报