• FFmpeg编译:Linux下使用NDK编译FFmpeg


    环境: Ubuntu 14.04 , android-ndk-r14b , ffmpeg3.4 

    1.下载并解压FFmpeg3.4.zip(略)

    2.将编译脚本放入到FFmpeg解压后的目录。

    3.执行编译脚本: ./linux_build_android.sh 

    linux_build_android.sh

    #!/bin/bash
    echo "进入编译ffmpeg脚本"
    NDK=/home/yongdaimi/Android/android-ndk-r14b
    #5.0
    PLATFORM=$NDK/platforms/android-21/arch-arm
    TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
    CPU=armv7-a
    #输出路径
    PREFIX=./android/$CPU
    function buildFF
    {
        echo "开始编译ffmpeg"
        ./configure 
        --prefix=$PREFIX 
        --target-os=android 
        --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- 
        --arch=arm 
        --cpu=$CPU  
        --sysroot=$PLATFORM 
        --extra-cflags="$CFLAG" 
        --cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc 
        --nm=$TOOLCHAIN/bin/arm-linux-androideabi-nm 
        --enable-shared 
        --enable-runtime-cpudetect 
        --enable-gpl 
        --enable-small 
        --enable-cross-compile 
        --disable-debug 
        --disable-static 
        --disable-doc 
        --disable-ffmpeg 
        --disable-ffplay 
        --disable-ffprobe 
        --disable-ffserver 
        --disable-postproc 
        --disable-avdevice 
        --disable-symver 
        --disable-stripping 
        $ADD 
        make -j16
        make install
        echo "编译结束!"
    }
    ###########################################################
    echo "编译支持neon和硬解码"
    CPU=armv7-a
    PREFIX=./android/armv7-a-neon-hard
    CFLAG="-I$PLATFORM/usr/include -fPIC -DANDROID -mfpu=neon -mfloat-abi=softfp "
    ADD="--enable-asm 
        --enable-neon 
        --enable-jni 
        --enable-mediacodec 
        --enable-decoder=h264_mediacodec 
        --enable-hwaccel=h264_mediacodec "
    buildFF
    
    ###########################################################
    echo "编译不支持neon和硬解码"
    CPU=armv7-a
    PREFIX=./android/$CPU
    CFLAG="-I$PLATFORM/usr/include -fPIC -DANDROID -mfpu=vfp -mfloat-abi=softfp "
    ADD=
    buildFF

    PS:需要将NDK上面的路径替换成自己本机的路径。

  • 相关阅读:
    JSTL和EL
    JSP
    Servlet基础知识
    JSON基础知识
    jQuery基础知识
    ajax基础知识
    索引实战
    反射
    设计模式
    JVM的异常处理
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/9772343.html
Copyright © 2020-2023  润新知