zoukankan      html  css  js  c++  java
  • 移植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的编译

     

  • 相关阅读:
    SignalR Self Host+MVC等多端消息推送服务(3)
    SignalR Self Host+MVC等多端消息推送服务(2)
    [翻译 EF Core in Action 1.9] 掀开EF Core的引擎盖看看EF Core内部是如何工作的
    [翻译 EF Core in Action 1.8] MyFirstEfCoreApp应用程序设置
    [翻译 EF Core in Action 1.7] MyFirstEfCoreApp访问的数据库
    [翻译 EF Core in Action 1.6]你的第一个EF Core应用程序
    [翻译 EF Core in Action] 1.5 关于NoSql
    [翻译] EF Core 概述
    [翻译] 你将在本书中学到什么
    [翻译] 对正在使用EF6x开发人员的一些话
  • 原文地址:https://www.cnblogs.com/xuanyuanchen/p/2454285.html
Copyright © 2011-2022 走看看