zoukankan      html  css  js  c++  java
  • 用NDKr9编译最新ffmpeg2.0.1到android平台

    原文来自http://www.mingjianhua.com

    本文参照 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

    最后,祝你们好运。

  • 相关阅读:
    如何在Altium中下载并添加软件没有的苦文件【转】
    20121124
    变量作用域&函数作用域
    http相关知识
    函数声明和函数表达式
    js中constructor和prototype
    委托模式
    js跨域
    原型和原型链
    javascript 数据类型
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3325158.html
Copyright © 2011-2022 走看看