window7 android-ndk-r10d 编译ffmpeg 3.4
准备工作
1、安装NDK r10d 版本 下载
解压NDK到 D:\Android\android-ndk-r10d 目录
2、安装 mingw32 位版本 下载
勾选如下图三个选项,然后 点击菜单 “Installlation->Apply Changes” 开始下载所需安装包
3、下载 ffmpeg-release-3.4 下载
然后解压到 D:\Android\FFmpeg-release-3.4
创建 编译脚本 “D:\Android\FFmpeg-release-3.4\build_android_armv7-a.sh” 文件编码为 UTF8 无BOM格式
#!/bin/bash
FFMPEG_ROOT=`pwd`
export TMPDIR=$FFMPEG_ROOT/tmpdir
mkdir $TMPDIR
NDK=D:/Android/android-ndk-r10d
SYSROOT=$NDK/platforms/android-18/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
CPU=arm
PREFIX=$FFMPEG_ROOT/output/$CPU
EXTRA_CFLAGS="-fdata-sections -ffunction-sections -fstack-protector-strong -ffast-math -fstrict-aliasing -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=vfpv3-d16 -D__ANDROID_API__=18 --sysroot $NDK_ROOT/sysroot -isystem $NDK_ROOT/sysroot/usr/include/arm-linux-androideabi"
EXTRA_LDFLAGS="-Wl,--gc-sections -Wl,-z,relro -Wl,-z,now -Wl,--fix-cortex-a8 --sysroot $NDK_ROOT/platforms/android-18/arch-arm"
function build_one
{
./configure \
--prefix=$PREFIX \
--disable-debug \
--enable-shared \
--enable-static \
--enable-asm \
--enable-neon \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--enable-pthreads \
--enable-small \
--enable-jni \
--disable-v4l2_m2m \
--enable-avresample \
--disable-postproc \
--enable-thumb \
--enable-mediacodec \
--enable-runtime-cpudetect \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=android \
--arch=$CPU \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="$EXTRA_CFLAGS" \
--extra-ldflags="$EXTRA_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
build_one
源码编译
1、运行 D:\MinGW\msys\1.0\msys.bat
进入ffmpge 源码目录
1 | cd /d/Android/FFmpeg-release-3 .4 |
把编译脚本添加执行权限
1 | chmod a+x build_android_armv7-a.sh |
执行编译脚本
1 | . /build_android_armv7-a .sh |
编译生成文件 D:\Android\FFmpeg-release-3.4\output
编译好文件 下载