`

[原创]Android ndkr8编译 FFmpeg 0.11.1 "Happiness"

 
阅读更多
编译环境:
Host:Fedora16
Ndk: ndk-r8
ffmpeg:0.11.1

ndk下载和ffmpeg下载:
ndk下载链接:
http://developer.android.com/tools/sdk/ndk/index.html
ffmpeg链接
http://ffmpeg.org/download.html
通过以下命令下载
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

配置一下环境变量:
vim ~/.bash_profile
添加以下两行
NDK_ROOT=/home/chenxiang/ndk/android-ndk-r8b
export NDK_ROOT

我的目录是
~/ndk/android-ndk-r8b
在下面的samples中新建FFMPEG文件夹。再在FFMPEG中新建jni文件夹。

在jni下面新建Android.mk文件,附录中有下载。

然后cd $NDK_ROOT
执行./ndk-build NDK_PROJECT_PATH=$NDK_ROOT/samples/FFMPEG
就可以开始编译了。

中间可能会遇到没有.h文件的错误,只要
在ffmpeg目录下运行
cat libavcodec/avcodec.h | libavcodec/codec_names.sh config.h libavcodec/codec_names.h

最后编译好的so文件在附件中


参考资料
http://stackoverflow.com/questions/7782389/undefined-reference-ffmpeg-on-android-ndk
http://stackoverflow.com/questions/5337833/ffmpeg-on-android-undefined-references-to-libavcodec-functions-although-it-is
http://bbs.rosoo.net/thread-13749-1-1.html
http://blog.csdn.net/kurama_sai/article/details/7211295
http://www.cnblogs.com/scottwong/archive/2010/12/17/1909455.html
http://abitno.me/compile-ffmpeg-android-ndk
http://www.cnblogs.com/binsys/articles/2073538.html
http://blog.csdn.net/perfectpdl/article/details/6932696



分享到:
评论
1 楼 xumin_minzi 2013-01-22  
我也在使用ndk编译,ffmpeg源码放在哪个目录里面? 

相关推荐

    android-ndk-r8b编译最新ffmpeg方法详解

    这篇教程主要介绍了如何使用`android-ndk-r8b`编译最新版本的FFmpeg,并将其应用于Android应用程序。以下是对整个过程的详细解释: 1. **FFmpeg的安装**: 首先,你需要在Ubuntu 10.04 LTS环境中安装Git,以便克隆...

    android用NDKr9d编译最新ffmpeg-2.2-rc1

    在Android平台上,FFmpeg是一个非常重要的音频和视频编解码库,它提供了丰富的编码、解码、转换和流...如果你的应用需要处理多媒体内容,掌握如何正确编译和移植FFmpeg到Android平台将大大提升你的开发效率和应用质量。

    ndkr9b编译最新ffmpeg-3.1.3

    "ndkr9b编译最新ffmpeg-3.1.3"这个项目显然就是将FFmpeg的3.1.3版本源代码编译为适用于Android平台的库文件。 在Android上使用NDK编译FFmpeg的过程涉及多个步骤: 1. **获取源代码**:首先,你需要从FFmpeg的官方...

    android ffmpeg4.1.3 x264 编译脚本.zip

    `ndkr19c`是Android NDK的一个特定版本,它包含了必要的交叉编译工具链,用于将C/C++代码编译为可以在Android设备上运行的二进制文件。 在提供的压缩包中,有三个关键的脚本文件: 1. `android_build_ffmpeg.sh`:...

    ndk r9编译的ffmpeg2.2.4库可在android上使用

    用ndk r9编译的ffmpeg2.2.4库,可以在android中通过jni方法调用, 头文件请自己到官网下载源代码

    android-arm平台ndk交叉编译python

    8. **测试**:在Android设备上运行编译好的Python,验证其功能是否正常。 需要注意的是,这个过程可能会遇到各种问题,比如库的版本不兼容、编译选项错误等。解决这些问题可能需要对Android的构建系统、NDK工具链...

    android-ndk(android-ndk-r23b-linux.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++库开发工具集。这个“android-ndk-r23b-linux.zip”文件是NDK的一个特定版本,即r23b,专为Linux操作系统设计。在Android...

    android_NDK_r9_使用方法.docx

    ### Android NDK r9 使用方法详解 #### 一、Android NDK 概述 - **定义**:Android NDK(Native Development Kit)是Android官方提供的一个工具包,它允许开发者利用C/C++来编写Android应用的部分组件。对于那些...

    android-ndk-r6-linux-x86.tar.tar

    android ndkr6 linux-x86 tar android ndkr6 linux-x86 tar

    android-ndk-r20b-windows-x86_64.zip

    本文将深入探讨Android NDK R20B版本,特别是其在64位Windows环境下的应用,以及如何与cygwin、FFmpeg等工具协同工作,实现视频编辑功能的动态库编译。 Android NDK是Google提供的一个开源工具集,它允许开发者在不...

    android-ndkr10环境搭建.pdf

    4. 配置Eclipse自动编译NDK:在Eclipse中,为Android工程添加一个Builder。这使得Eclipse能够自动编译NDK代码。具体步骤是在Project > Properties > Builders > New中选择Program,然后在Edit Configuration中配置...

    android-ndkr10环境搭建借鉴.pdf

    本文主要介绍了如何在Windows环境下搭建Android NDK r10的开发环境,并通过实例演示了如何在Eclipse中配置和使用NDK进行编译。 首先,你需要访问Android开发者官网,找到"Develop"部分,然后点击"Tools"。在页面...

    android-ndk(android-ndk-r26b-darwin.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++原生代码开发工具。NDK允许开发者在Android应用中使用原生代码,以实现高性能、低级别的硬件交互以及利用已有的C/C++库。在...

    android-ndk(android-ndk-r26b-windows.zip)

    5. **预编译库集成**:如果项目依赖于第三方C/C++库,NDK可以帮助预编译这些库,使其能在Android设备上运行。 6. **安全与隐私**:某些敏感操作,如加密算法,可能更适合在本地代码中执行,以避免暴露Java层的敏感...

    android-ndk(android-ndk-r25b-linux.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++库开发工具集。这个“android-ndk-r25b-linux.zip”文件是NDK的一个特定版本,即r25b,专为Linux操作系统设计。在Android...

    android-ndk(android-ndk-r25b-windows.zip)

    1. **编译工具链**:NDK包含了一套针对不同架构(如armeabi-v7a, arm64-v8a, x86, x86_64等)的编译工具,可以将C/C++源代码编译为适合Android设备的二进制库。 2. **预编译库**:NDK包含了一些预编译的库,如...

    x264-snapshot-20181217-2245(R19CNDK编译过的64位_arm-v8).7z

    这份压缩包里面是,通过NDKR19C编译用于Android的64位x264库。里面包含了X264库的编译配置文件。 新版本的NDK已经没有GCC编译器了。 开发安卓需要使用库的可以直接下载。arm-v8 64位的库

Global site tag (gtag.js) - Google Analytics