ffmpeg编译和使用NDK交叉编译

参考http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

去掉了libaom
到ffmpeg目录下执行如下操作:
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 &&
tar xjvf ffmpeg-snapshot.tar.bz2 &&
cd ffmpeg &&
PATH="PATH" PKG_CONFIG_PATH="HOME/ffmpeg_build"
--pkg-config-flags="--static"
--extra-cflags="-IHOME/ffmpeg_build/lib"
--extra-libs="-lpthread -lm"
--bindir="HOME/bin:$PATH" make &&
make install &&
hash -r

编译跨平台动态链接库
参考:https://blog.csdn.net/qq_15807167/article/details/79379964

安装ndk,并且设置环境变量
创建FFmpeg-android.sh脚本
添加权限chmod -R 777 FFmpeg-android.sh
执行FFmpeg-android.sh脚本
在/android/arm目录下 so包

ndk交叉编译Android平台动态包
参考:https://blog.csdn.net/qq_34902522/article/details/87879145

!/bin/bash

set -x
API=14
NDK=~/Documents/android-ndk-r17c
SYSROOT=API/arch-arm/
TOOLCHAIN=PREFIX
--disable-shared
--enable-static
--disable-doc
--disable-ffplay
--disable-ffprobe
--disable-symver
--disable-ffmpeg
--cc=TOOLCHAIN/bin/arm-linux-androideabi-
--target-os=linux
--arch=arm
--enable-cross-compile
--sysroot=NDK/sysroot/usr/include/arm-linux-androideabi -isysroot $NDK/sysroot -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a"
--enable-neon

make clean all
make
make install
}
CPU=armv7-a
PREFIX=CPU
function_one

你可能感兴趣的:(ffmpeg编译和使用NDK交叉编译)