移植ffmpeg for iphone模拟器

原创,转载请注明出处:http://www.cnblogs.com/xuanyuanchen/archive/2012/04/17/2454285.html

编译ffmepg模拟器版本:

1、下载ffmpeg-iphone-build

下载地址:https://github.com/gabriel/ffmpeg-iphone-build

 2、将gas-preprocessor.pl拷贝到/usr/sbin

方法:$ sudo cp gas-preprocessor.pl /usr/sbin/

3、到ffmpeg官网上下载ffmpeg源码(项目中用的是ffmpeg-0.8.6版本,主要是考虑当时已经有在做的项目用了该版本)

ffmpeg官网上ffmpeg-0.8分支的最新版本已经是ffmpeg-0.8.11版本,经测试ffmpeg-0.8.11是兼容ffmpeg-0.8.6的,所以可以直接下载ffmpeg-0.8.11

下载地址:http://ffmpeg.org/download.html,版本选择:Ffmpeg 0.8.11 "Love"

4、打开终端,解压ffmpeg。切换到ffmpeg 0.8.11的目录下,拷贝以下内容到命令行上(不要前面的"$"符号):

$ ./configure --enable-protocol=mmst --enable-protocol=mmsh --enable-protocol=http --enable-protocol=rtp --enable-muxer=rtp --enable-muxer=rtsp --enable-demuxer=rtp --enable-demuxer=rtsp --enable-cross-compile --disable-armv5te --enable-decoder=h264 --enable-pic --disable-avfilter --cc=/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc' --extra-ldflags=-L/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/system --sysroot=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk --target-os=darwin --arch=i386 --cpu=i386 --extra-cflags='-arch i386' --extra-ldflags='-arch i386'

请注意:

   我的模拟器的sdk版本是4.3,这个对于不同版本的Xcode是不一样的,需要根据实际情况进行修改。

   有两个地方需要修改,一个是--extra-ldflags,另一个是--sysroot

5、在终端下输入make指令,开始编译ffmpeg的静态库。如果想只生成动态库的版本的话,可以看下面的配置:

$ --disable-debug --disable-ffserver --enable-protocol=mmst --enable-protocol=mmsh --enable-protocol=http --enable-protocol=rtp --enable-muxer=rtp --enable-muxer=rtsp --enable-demuxer=rtp --enable-demuxer=rtsp --enable-cross-compile --disable-armv5te --enable-decoder=h264 --enable-pic --enable-avfilter --enable-swscale --enable-pthreads --enable-static --enable-shared --cc=/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc' --extra-ldflags=-L/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/system --sysroot=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk --target-os=darwin --arch=i386 --cpu=i386 --extra-cflags='-arch i386' --extra-ldflags='-arch i386'

这个配置既去掉了调式信息(--disable-debug),又生成了动态库(--enable-shared)。

6、新建一个文件夹

$ mkdir ffmpeg_lib

$ find . -name '*.a' -exec cp  {} ./ffmpeg_lib \;

这样就把所有ffmpeg的库复制保存到了./ffmpeg_lib文件加下。

7、经过以上的步骤后,编译出的ffmpeg库就可以在工程中进行使用了。

参考文章:模拟器与真机下ffmpeg的编译

 

posted @ 2012-04-17 21:04  xiulug  阅读(2230)  评论(0编辑  收藏  举报