NDK ffmpeg6.0 + x264 编译

用Clang交叉编译ffmpeg + libx264,出现ERROR: x264 not found using pkg-config 错误,在网上搜了很久都配置不对,

最后用这个博文可以编译通过,转发一下:

NDK ffmpeg6.0 + x264 编译 - 简书

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值