android api 34 编译ffmpeg with libfdk-aac

03-27 1615阅读

  • 利用ffmpeg-android-maker编译,地址Javernaut/ffmpeg-android-maker: Contains a script that assembles FFmpeg library for Android (github.com)
  • libfdk-aac编译脚本
    #!/bin/bash
    NDK=$ANDROID_NDK_HOME  # 这里需要替换成你本地的 NDK 路径
    HOST_TAG=linux-x86_64
    TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$HOST_TAG
    ANDROID_LIB_PATH="$(pwd)/android"
    API=34
    function build_android
    {
    echo "Build fdk-aac for android $CPU"
    ./configure \
    --host=$HOST \
    --enable-shared \
    --enable-static \
    --prefix="$ANDROID_LIB_PATH/$CPU" \
     CPPFLAGS="-fPIC"
    make clean
    make -j8
    make install
    echo "Build fdk-aac for android $CPU completed"
    }
    # armeabi-v7a
    CPU=armv7-a
    HOST=arm-linux-android
    export AR=$TOOLCHAIN/bin/llvm-ar
    export AS=$TOOLCHAIN/bin/llvm-as
    export LD=$TOOLCHAIN/bin/ld
    export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
    export STRIP=$TOOLCHAIN/bin/llvm-strip
    export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang
    export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang++
    #export LD=${CC}
    build_android
    # arm64-v8a
    CPU=armv8-a
    HOST=aarch64-linux-android
    export AR=$TOOLCHAIN/bin/llvm-ar
    export AS=$TOOLCHAIN/bin/llvm-as
    export LD=$TOOLCHAIN/bin/ld
    export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
    export STRIP=$TOOLCHAIN/bin/llvm-strip
    export CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
    export CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
    #export LD=${CC}
    build_android
    
    • 修改ffmpeg-android-maker/scripts/ffmpeg/build.sh 中 configure部分内容,这里添加了disable-doc,否则会报cc1错误
      ./configure \
        --prefix=${BUILD_DIR_FFMPEG}/${ANDROID_ABI} \
        --enable-cross-compile \
        --target-os=android \
        --arch=${TARGET_TRIPLE_MACHINE_ARCH} \
        --sysroot=${SYSROOT_PATH} \
        --cc=${FAM_CC} \
        --cxx=${FAM_CXX} \
        --ld=${FAM_LD} \
        --ar=${FAM_AR} \
        --as=${FAM_CC} \
        --nm=${FAM_NM} \
        --ranlib=${FAM_RANLIB} \
        --strip=${FAM_STRIP} \
        --extra-cflags="-O3 -fPIC $DEP_CFLAGS" \
        --extra-ldflags="$DEP_LD_FLAGS" \
        --enable-shared \
        --disable-static \
        --disable-vulkan \
        --enable-nonfree \
        --enable-libfdk-aac \
        --disable-doc \
        --pkg-config=${PKG_CONFIG_EXECUTABLE} \
        ${EXTRA_BUILD_CONFIGURATION_FLAGS} \
        $ADDITIONAL_COMPONENTS || exit 1
      
      • export PKG_CONFIG_PATH=${FDK_PKG_CONFIG_PATH}:${PKG_CONFIG_PATH},即fdk-aac生成的pkgconfig路径
      • ./ffmpeg-android-maker.sh -abis=arm64 -android=34
      android api 34 编译ffmpeg with libfdk-aac
      (图片来源网络,侵删)
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]