WEB开发网
开发学院手机开发Android 开发 关于使用Android NDK编译ffmpeg 阅读

关于使用Android NDK编译ffmpeg

 2012-05-21 15:52:05 来源:WEB开发网   
核心提示: 由于项目需求,前两天在在ios项目中使用ffmpeg,关于使用Android NDK编译ffmpeg,写下了“关于ios中编译ffmpeg0.9.2库”,然后有朋友在咨询,如何编译最新版的ffmpeg,用于制定api版本,3:配置编译器打开终端,其实最新版的编译也差不多,只是看看最新版的改变如

 由于项目需求,前两天在在ios项目中使用ffmpeg,写下了“关于ios中编译ffmpeg0.9.2库”,然后有朋友在咨询,如何编译最新版的ffmpeg,其实最新版的编译也差不多,只是看看最新版的改变如何,修改一些参数即可,同时又因为我需要将项目跨平台到android,所以这次又需要在android中使用ndk来编译ffmpeg。索性在android上就编译一个最新版的ffmpeg出来看看。
还是先说一下我的环境:
mac os x 10.7.4
Eclispe3.7
android-sdk-macosx
android-ndk-r7b
1:打开ffmpeg官网(http://ffmpeg.org/download.html),看到最新版是ffmpeg-0.10.3,直接就选择了一个最新版本的zip包下载,然后解压,得到ffmpeg-0.10.3文件夹。
因为在网上也看到很多文章用android ndk来编译ffmpeg,但是整个编译和配置过程都很麻烦,并且大部分朋友反应,编译过程总是会出现很多错误,各种编译不成功的原因,这次我们就来个简单点儿的,但是需要确保android ndk的版本在r5以上。原因请看android ndk目录中的doc/STANDALONE-TOOLCHAIN.html文档,因为Android ndk中的交叉工具链可以将一套完整的工具链从NDK里复制出来,不在和ndk放在一起,以后用复制出来的工具链提供的库和头文件来编译会更加方便。
2:从ndk中赋值一个交叉工具链,使用ndk中的make-standalone-toolchain工具。在中断执行如下命令:
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-9 --install-dir=/Users/yarin/android-toolchain
如果环境变量中有ndk的tools目录,就不需要前面的$NDK/build/tools/目录了。
这样就会在制定的目录“/User/yarin”目录中产生一个android-toolchain文件夹,就是我们从ndk中分离出来的独立交叉工具链,其中的sysroot目录就包含了一些基本库和头文件。一会儿我们就会用它来编译ffmpeg。
其中有个参数--platform,做过android的都知道吧,用于制定api版本。
3:配置编译器
打开终端,进入第一步解压得到的ffmpeg-0.10.3目录,在其中输入如下命令:
$ export PATH=/User/yarin/android-toolchain/bin:$PATH
$ export CC=arm-linux-androideabi-gcc
$ export CXX=arm-linux-androideabi-g++
$ export CXXFLAGS="-lstdc++"

1 2  下一页

Tags:关于 使用 Android

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接