- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android 音视频编解码
ubuntu 下 ndk 编译 ffmpeg0.8.1
ffmpeg 最新版本有些问题,比如 jni/liblibavcodec/ac3enc_combined.c 在最新的版本中已经没有了,
但是又多了一个 ac3enc_template.c 的文件。虽然更新版本对于开发人员可以使用到更多的功能,但是如
果这样乱改的话真的好无语,非常讨厌这种更新版本的不一致性,唉,只是抱怨一下
我使用的还是稍微老一点的版本 ffmpeg 0.8.1 的,至少老的版本能搜到更多的资料,也比较稳定。
ffmpeg 版本 :ffmpeg 0.8.1 (最新版本是 0.10 ,但是有很多问题)
NDK版本: ndk r6 (ndk r7 编译的话会出现各种错误)
机器: 32 位
系统: ubuntu
注意: ndk r6+ffmpeg0.8.1+Android.mk+config.sh 是经过测试过的,可以生成。如果你用的其他版本的
会出现各种问题
前提:需要你配置好 NDK的环境,还是说说吧
一、下载并配置 NDK环境变量( ubuntu 下,windows 下请使用 cygwin )
1、到 /sdk/ndk/index.html 下载 NDK
这里, ndk r6 版本的下载地址是:
/android/ndk/android-ndk-r6-linux-x86.tar.bz2
2、解压包到 /home/loulijun/android/ 目录下
3、$vim ~/.bashrc 在里面添加如下信息
export NDK=/home/loulijun/android/android-ndk-r6107 export
PATH=${PATH}:$NDK
4、$source ~/.bashrc 使其生效
注意:最新 r7 版本出现了一个关于 awk 问题,这个 awk是 64 位的,所以如果你是 32 位机会遇到,具体解
决办法见我的上篇博客:
/loulijun/archive/2012/02/26/2368787.html
二、下载 ffmpeg 源码包
如果你想下载 ffmpeg0.8.1 版本(老版本),请点击这里:
/releases/ffmpeg-0.8.1.tar.gz
如果你想下载最新版本,可以到 /download.html 下载
使用 $git clone git:///ffmpeg.git ffmpeg
但是下载后的虽然是最新且纯净的代码,可能 Android.mk 文件与之不完全匹配,如果非要用最
新版本的话最好修改一下 Android.mk 吧(工作量有点大)
三、配置 ffmpeg 环境
可以系统目录下创建一个用于存放 ffmpeg 的目录,假如我们全部操作都在
~/mywork/ndk/ffmpeg/ 目录下,将下载好的 ffmpeg 源码放在 ffmpeg 目录下,并改目录名字为 jni (名字
必须位 jni, 否则会出现如下的错误)。
另外,下面即将要说到的 config.sh 脚本和 Android.mk 文件也要放在这个目录下
四、添加 config.sh 脚本到 jni 目录中
在 jin 目录下创建名为 config.sh 脚本文件,在里面添加如下的内容
这一步很重要,下面的这个脚本主要是用于生成 config.h 文件和 config.mak 文件,否则无法 build
下面内容就是 config.sh 文件了。可点击这里下载:
注意:需要修改 cross-prefix 、extra-cflags 、extra-ldflags 的路径
./configure \ --disable-static \ --enable-shared \
--enable-gpl \ --enable-version3 \ --enable-nonfree \
--disable-doc \ --disab
文档评论(0)