Ubuntu下NDK编译FFmpeg0.8.1:32位Linux教程与配置

3星 · 超过75%的资源 需积分: 10 4 下载量 24 浏览量 更新于2024-07-25 收藏 212KB DOC 举报
在Ubuntu环境下使用Android NDK(版本ndk-r6)编译ffmpeg 0.8.1的过程是一个关键的步骤,因为尽管最新版本的ffmpeg可能存在不一致性和问题,老版本如0.8.1通常具有更好的文档支持和稳定性。以下是详细的编译步骤和注意事项: 1. 安装和配置NDK: - 首先,访问Android NDK官网(<http://developer.android.com/sdk/ndk/index.html>)下载ndk-r6的Linux 32位版本,如:`http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2`。 - 将下载的包解压到`/home/loulijun/android/`目录。 - 在`~/.bashrc`文件中添加环境变量,设置NDK路径:`export NDK=/home/loulijun/android/android-ndk-r6`,并将NDK路径添加到系统路径中:`export PATH=${PATH}:$NDK`。 - 通过`$source ~/.bashrc`使配置生效。如果使用的是ndk-r7,可能会遇到awk问题,可以参考上一篇博客解决。 2. 下载ffmpeg源码: - 如果你需要ffmpeg 0.8.1版本,可以从官方仓库下载:`http://www.ffmpeg.org/releases/ffmpeg-0.8.1.tar.gz`。选择较旧版本是因为它在文档和教程中有更丰富的支持。 3. 编译过程: - 使用NDK的交叉编译工具链,开始编译ffmpeg。这可能涉及到修改Android.mk和config.sh文件以适应ndk-r6环境。 - 注意到JNI库中的ac3enc_combined.c文件在ffmpeg 0.8.1版本中已被移除,但有ac3enc_template.c替代。这意味着在编译过程中可能需要处理这些差异。 4. 移植注意事项: - 对于ffmpeg 0.8.1的移植,开发者需要关注版本之间的变化,并确保所有依赖项和配置都能正确匹配。可能需要手动处理或替换某些源代码部分,以确保编译后的动态链接库(.so文件)可以在Android设备上正常使用。 5. 兼容性与问题解决: - 需要注意的是,使用ndk-r6版本的ffmpeg和Android.mk文件已过测试,可以生成可用的库。如果尝试使用其他版本的NDK或ffmpeg,可能会遇到各种错误和兼容性问题。 在Ubuntu下使用NDK编译ffmpeg 0.8.1时,要确保环境设置正确,源码版本适配,并处理好编译过程中可能出现的版本差异。这样,你才能成功地将ffmpeg移植到Android平台,实现音视频编解码功能。