ffmpeg armv7,armv7s (for iOS)(验证通过,Mac10.8.2+xCode4.5.1可以编译)

15 篇文章 0 订阅

本人初步追踪到的原始出处,可能是:

http://stackoverflow.com/questions/13233880/building-ffmpeg-library-for-ios6-0-armv7-processor-success-but-compile-error

本人转载自 http://blog.csdn.net/zengconggen/article/details/8179355

在此感谢原创作者和转载者。


严重注意,实际操作和文中所说有点出入,请看下面的特别说明部分。

本人所用Mac OS X 版本是 10.8.3, 编译时所用的xCode版本是4.5.1,ffmpeg版本是1.2.1

=========Howard 2013-06-17 特别说明==BEGIN===================

1. 下载ffmpeg:

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

2. 下载gas-preprocessor

地址: https://github.com/yuvi/gas-preprocessor,

下载完后把gas-preprocessor.pl 复制到 /usr/bin/ 目录下,修改权限  chmod 777

就是在控制台输入: chmod 777  /usr/bin/gas-preprocessor.pl

3. 本人所用Mac没有下面所说的/usr/local/这个路径,编译出来的.a 文件是在 ffmpeg对应的子目录当中,在ffmpeg目录查找一下.a文件,可以找到。


===========Howard 2013-06-17 特别说明==END===================


Here is my working Configure for cross-compiling FFmpeg on iOS 6 the arch is ARMv7

NOTE: You must have to have gas-preprocessor.pl inside /usr/local/bin/ please do not continue until you have gas-preprocessor.pl on your bin directory

  • Download FFmpeg 1.0 "Angel" from here

  • Unzip it and place it somewhere i.e. your Desktop folder

  • Open terminal and browse to unzipped FFmpeg folder

  • Copy and paste the following command, (be patient will take a while)

./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch=arm --target-os=darwin --cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk' --enable-pic --enable-decoder=rawvideo --disable-asm

  • Now type the following command on terminal make (wait a little more)

  • Once it has finished now type on terminal sudo make install (wait again)

  • Go to /usr/local/lib to find your freshly baked armv7 libs

  • Enjoy!


    Added Support for armv7s

    This armv7s configure is totally untested and i dont really know if this would work, i don't own an iPhone 5 so we need someone to test the final armv7s libs

    ./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch=arm --target-os=darwin --cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7s' --extra-ldflags='-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk' --enable-pic --enable-decoder=rawvideo --disable-asm

====模拟器版本=====================================================

//Howard 2013-06-17 以下是本人参考网上资料,针对Mac OS X 10.8.2, xCode 4.5.1 写的:

./configure   --disable-ffmpeg  --disable-ffplay  --disable-ffprobe --disable-ffserver --enable-avresample --enable-cross-compile --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk" --target-os=darwin  --cc="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc" --extra-cflags="-arch i386" --extra-ldflags="-arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk" --arch=i386 --cpu=i386 --enable-pic --disable-asm 


===========================================================



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是编译FFmpeg ARMv7-A版本的步骤: 1. 首先,你需要下载NDK工具包并解压。你可以从这里下载最新版本:https://developer.android.com/ndk/downloads/ 2. 接着,你需要下载FFmpeg源代码。你可以从这里下载最新版本:https://ffmpeg.org/download.html 3. 解压FFmpeg源代码并进入解压后的目录。 4. 执行以下命令以配置FFmpeg: ``` ./configure \ --disable-shared \ --enable-static \ --arch=arm \ --target-os=android \ --enable-cross-compile \ --cross-prefix=$NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi21- \ --sysroot=$NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/sysroot \ --extra-cflags="-march=armv7-a -mfloat-abi=softfp -mfpu=neon" \ --extra-ldflags="-L$NDK_HOME/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -lc++_static" ``` 其中,$NDK_HOME是你解压NDK工具包的路径。上述命令的作用是配置FFmpeg,禁用共享库,启用静态库,指定编译目标为ARMv7-A架构,指定编译目标操作系统为Android,启用交叉编译,指定交叉编译工具链前缀,指定系统根目录,设置编译器选项和链接器选项。 5. 执行以下命令以编译FFmpeg: ``` make -j4 ``` 其中,-j4表示使用4个线程进行编译,你可以根据自己的情况进行调整。 6. 编译完成后,你可以在当前目录下的lib目录中找到编译好的静态库文件libavcodec.a、libavformat.a、libavutil.a等。 7. 最后,你可以将这些静态库文件打包成一个共享库文件,以便在Android应用中使用。你可以使用Android Studio或者手动编写Android.mk文件进行打包。 以上就是编译FFmpeg ARMv7-A版本的步骤,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值