移植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的编译

优质内容筛选与推荐>>
1、经典算法回顾2
2、React从入门到放弃(5):ReactRouter4
3、mysql 区间分组 interval,elt 的运用 【备忘】
4、twitter面试一题-转载
5、python基础 day 14 生成器函数进阶


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn