关闭

用NDKr9编译最新ffmpeg2.0.1(ffmpeg2.0.2)到android平台

489人阅读 评论(0) 收藏 举报


本文参照 http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/ 在linux下的编译,在MAC下也差不多,只需做一点点小改动,在LINUX下也可以参考。最好不要在windows下用cygwin,各种错误会搞得各种烦燥。

1、下载NDK,到 http://developer.android.com/tools/sdk/ndk/index.html#download 下载最新的NDKr9,选择Mac下的NDKr9版本,一般你的系统都是64bit的,选64bit的版本下载。查看你的系统版本可以在终端里输入 uname -a 查询 

下载完,只要找个地方解压就好了,后面我们用$NDK代替解压后的全路径。


2、下载最新的ffmpeg http://www.ffmpeg.org/download.html

目前最新的release版是2.0.1.

下载后,解压到$NDK/sources文件夹下。


3、复制以下代码,在ffmpeg目录下建立build_android.sh文件

#!/bin/bash

NDK=$HOME/NDK

SYSROOT=$NDK/platforms/android-9/arch-arm/

TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64    #这里要注意,如果是linux换成linux-x86_64,看你的系统情况定

function build_one

{

./configure \

    --prefix=$PREFIX \

    --enable-shared \

    --disable-static \

    --disable-doc \

    --disable-ffmpeg \

    --disable-ffplay \

    --disable-ffprobe \

    --disable-ffserver \

    --disable-avdevice \

    --disable-doc \

    --disable-symver \

    --disable-everything \

    --enable-decoder=h264 \   #要什么解码器或编码器看着办

    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \

    --target-os=linux \

    --arch=arm \

    --enable-cross-compile \

    --sysroot=$SYSROOT \

    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \

    --extra-ldflags="$ADDI_LDFLAGS" \

    $ADDITIONAL_CONFIGURE_FLAG

make clean

make

make install

}

CPU=arm

PREFIX=$(pwd)/android/$CPU 

ADDI_CFLAGS="-marm"

build_one



做完后就可以开始编译了

在终端上运行:

sudo chmod +x build_android.sh

./build_android.sh

接下来就等编完了,完了后,可以在ffmpeg/android下发现一个arm文件夹,里面有lib和include两个目录,lib里就有你想要的.so文件了。


具体怎么用这个.so,这里有个例 子,https://github.com/roman10/android-ffmpeg-tutorial

最后,祝你们好运。编译(ffmpeg2.0.2)也一样的,没什么区别

 

谢谢这个哥们

转载请注明出处 http://www.mingjianhua.com

 

另外提醒一下

    --enable-shared \  动态库

    --disable-static \    静态库

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7809次
    • 积分:128
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:7篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论