美文网首页
NDK ffmpeg6.0 + x264 编译

NDK ffmpeg6.0 + x264 编译

作者: FM_1ad7 | 来源:发表于2023-12-09 22:55 被阅读0次

    x264配置

    NDK=/home/fuweicong/Android/android-ndk-r25c
    HOST_TAG=linux-x86_64
    TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$HOST_TAG
    
    ANDROID_LIB_PATH="$(pwd)/android"
    
    API=21
    
    function build_android_arm
    {
    echo "build for android $CPU"
    ./configure \
     --host=$HOST \
     --disable-shared \
     --enable-static \
     --prefix="$ANDROID_LIB_PATH/$CPU" \
     --enable-pic \
     --enable-strip \
     --extra-cflags="-fPIC"
    
    make clean
    make -j8
    make install
    echo "building for android $CPU completed"
    }
    
    CPU=armv8-a
    HOST=aarch64-linux-android
    #export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
    #export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
    #export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
    #export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
    #export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
    export CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
    export CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
    build_android_arm
    

    ffmpeg配置

    #清空上次的编译
    make clean
    #配置你的NDK路径
    export NDK=/home/fuweicong/Android/android-ndk-r25c
    TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
    echo $NDK
    #export PKG_CONFIG_PATH=/home/fuweicong/x264/temp/arm64-v8a/lib/pkgconfig:$PKG_CONFIG_PATH
    
    function build_android
    {
    ./configure \
      --prefix=$PREFIX \
      --target-os=android \
      --arch=$ARCH  \
      --cpu=$CPU \
      --disable-asm \
      --enable-neon \
      --enable-cross-compile \
      --enable-shared \
      --enable-hwaccels \
      --enable-jni \
      --pkg-config="pkg-config --static" \
      --enable-mediacodec \
      --enable-libx264 \
      --enable-encoder=libx264 \
      --enable-decoder=h264_mediacodec \
      --enable-decoder=hevc_mediacodec \
      --enable-decoder=mpeg4_mediacodec \
      --enable-hwaccel=h264_mediacodec \
      --disable-static \
      --disable-doc \
      --disable-ffplay \
      --disable-ffprobe \
      --disable-symver \
      --disable-ffmpeg \
      --enable-gpl \
      --cc=$CC \
      --cxx=$CXX \
      --sysroot=$SYSROOT \
      --extra-cflags="-Os -fpic $OPTIMIZE_CFLAGS" \
      --disable-vulkan \
      --disable-stripping \
      --extra-cflags="-Os -fpic $OPTIMIZE_CFLAGS -I$X264_INCLUDE " \
      --extra-ldflags="-L$X264_LIB $ADDI_LDFLAGS" \
    #  --extra-cflags="-I/home/fuweicong/x264/temp/arm64-v8a/lib/include" \
    #  --extra-ldflags="-L/home/fuweicong/x264/temp/arm64-v8a/lib" 
    
    make clean
    make -j16
    make install
    
    echo "============================build android ffmpeg end=========================="
    
    }
    
    #arm64-v8a 参数配置
    ARCH=arm64
    CPU=armv8-a
    API=21
    CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
    CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
    SYSROOT=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot
    CROSS_PREFIX=$TOOLCHAIN/bin/aarch64-linux-android-
    PREFIX=$(pwd)/androidaa/$CPU
    OPTIMIZE_CFLAGS="-march=$CPU"
    export PKG_CONFIG_PATH=//home/fuweicong/x264/android/armv8-a/lib/pkgconfig
    X264_INCLUDE=/home/fuweicong/x264/android/armv8-a/include
    X264_LIB=/home/fuweicong/x264/android/armv8-a/lib
    echo "PKG_CONFIG_PATH:${PKG_CONFIG_PATH}"
    
    # 函数调用
    build_android
    
    

    相关文章

      网友评论

          本文标题:NDK ffmpeg6.0 + x264 编译

          本文链接:https://www.haomeiwen.com/subject/xkuugdtx.html