iOS下完美编译ffmpeg+x264,支持armv7, armv7s, 模拟器 (验证不通过,估计和ffmpeg版本有关)

http://blog.csdn.net/h_o_w_e/article/details/9097035


iOS下完美编译ffmpeg+x264,支持armv7, armv7s, 模拟器  (本人试过,没有编译出来,请看本人另外一篇日志,可以编译出来:http://blog.csdn.net/h_o_w_e/article/details/9112981

原作者:wity_lv

文章出处:http://www.cocoachina.com/bbs/read.php?tid=142628


wity_lv去年做了一个项目,需要用ffmpeg对h264视频流进行解码。当时折腾了很久只在armv7编译通过。调试必须用真机,很麻烦。
后来我将编译整理成脚本,现在支持 armv7, armv7s, i386(模拟器)。

项目在这里:
https://github.com/lvjian700/ffmpegc

使用方法:
1. clone 项目
2. 运行 install-ffmpeg.sh 脚本, 一键编译

编译后使用方法看这个demo项目(那个iFrameExecutor项目太老了)
https://github.com/lvjian700/ffmpegc-demo
图解使用说明:
http://witcheryne.iteye.com/blog/1734706


好的,以下是编译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、付费专栏及课程。

余额充值