在Ubuntu编译Android版本的FFMPEG

本文介绍如何在Ubuntu系统中编译适用于Android的FFMPEG库,包括生成多个SO文件和整合h264、h265及libfreetype的步骤。并提供了相关资源的下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译成多个so文件的脚本:

cd ffmpeg-3.4.1

make clean
  
export NDK=/home/zxb/ext/lost+found/android-ndk-r11c
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt
export PLATFORM=$NDK/platforms/android-8/arch-arm
export PREFIX=./android/armeabi
build_one(){
  ./configure --target-os=linux --prefix=$PREFIX \
--enable-cross-compile \
--enable-runtime-cpudetect \
--enable-libx264 \
--enable-libx265 \
--enable-libfreetype \
--arch=arm \
--cc=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-gcc \
--cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- \
--disable-stripping \
--nm=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-nm \
--sysroot=$PLATFORM \
--enable-gpl --enable-shared --disable-static --enable-version3 --enable-small \
--disable-devices \
--disable-avdevice \
--disable-ffprobe --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-debug \
--extra-cflags="-I/home/zxb/ext/lost+found/android-lib/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv6" \
--extra-ldflags="-L/home/zxb/ext/lost+found/android-lib/lib"
}

build_one

make
make install


cd ..

编译成一个so文件的脚本(里面带有h264,h265和libfreetype),如果本地没有编译出的版本,就把他们删除掉就可以了

#!/bin/bash
cd ffmpeg-3.4.1
make clean
export NDK=/home/zxb/android-ndk-r9d
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt
export PLATFORM=$NDK/platforms/android-16/arch-arm
export PREFIX=../ff-onelib
export PKG_CONFIG_PATH=/home/zxb/android-lib/lib/pkgconfig
build_one(){
  ./configure --target-os=android --prefix=$PREFIX \
--enable-cross-compile \
--enable-runtime-cpudetect \
--arch=arm \
--cc=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-gcc \
--cxx=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-g++ \
--cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- \
--disable-stripping \
--nm=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-nm \
--sysroot=$PLATFORM \
--extra-cflags="-I/home/zxb/android-lib/include" \
--extra-ldflags="-L/home/zxb/android-lib/lib" \
--enable-gpl --enable-static --disable-shared --enable-small \
--enable-zlib --disable-ffprobe --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-debug --disable-doc \
--extra-cflags=" -O3 -fpic -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=vfp -marm -march=armv6" \
--enable-libx264 \
--enable-libx265 \
--enable-libfreetype \
--enable-avfilter \
--enable-neon
}

build_one
make
make install
$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -L$PREFIX/lib -L/usr/local/lib -soname libffmpeg.so -shared -nostdlib -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavfilter/libavfilter.a libswresample/libswresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a libpostproc/libpostproc.a libavdevice/libavdevice.a /home/zxb/android-lib/lib/libx264.a /home/zxb/android-lib/lib/libfreetype.a -lx265 -lc -lm -lz -ldl -llog --dynamic-linker=/system/bin/linker $PREBUILT/linux-x86_64/lib/gcc/arm-linux-androideabi/4.8/libgcc.a
cd ..


可直接下载ffmpeg+x264+265资源地址:

ffmpeg+x264+265


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值