ffmpeg Windows platfrom ndk compile ffmpeg

1.下载msys2

//https://mirror.tuna.tsinghua.edu.cn/help/msys2/

//并配置源和msys2 根目录的环境变量

2.下载yasm

//https://github.com/yasm/yasm

mkdir build

cd build

cmake ..

cmake --build .

//配置环境变量

3.下载ffmpeg 3.1.3

//这里说明一下,在选版本是最好选4.0以下的,并且ndk编译能过,再下载对应版本的windows库作为开发环境

//windows直接编译ffmpeg源码 生成win32/win64库是非常复杂的,对于初学者不是太建议,因为这样会很容易放弃

//https://ffmpeg.zeranoe.com/builds/

//在上面网站上找到合适的版本进行开发环境搭建(建议ffmpeg3.3.3 version) ()

//windows 配置ffmpeg win32/win64 开发库请查看本人其他的标签,建议上官网

//下载ffmpeg 3.1.3

//http://www.linuxfromscratch.org/blfs/view/7.10-systemd/multimedia/ffmpeg.html

新建android_build.sh

内容

{

#! /bin/bash
echo ".............compile"
make clean
export NDK=G:/Package/Android/android-ndk-r10e
export SYSROOT=$NDK/platforms/android-18/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
export CPU=arm
export PREFIX=D:/PriPro/NDKLIB/src/ffmpeg3.3.3/FFmpeg-n3.3.3/libs/$CPU
export ADDI_CFLAGS="-marm -march=armv7-a"

./configure --target-os=android
    --ln_s="cp -rf"
    --prefix=$PREFIX
    --arch=arm
    
    --enable-shared
    --enable-static
    
    --enable-avcodec
    --enable-avformat
    --enable-decoder=h264
    --enable-decoder=h263
    --enable-decoder=aac
    --enable-decoder=mpeg4
    --enable-decoder=mjpeg
    --enable-decoder=png
    --enable-decoder=gif
    --enable-small
    --disable-asm
    --disable-symver
    --enable-gpl
    --disable-ffmpeg
    --disable-ffplay
    --disable-ffprobe
    --disable-ffserver
    --enable-doc
    --disable-symver
    --enable-fft
    --enable-mdct
    --disable-parsers
    --enable-parser=h264
    --enable-yasm
    
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-
    --enable-cross-compile
    --sysroot=$SYSROOT
    --extra-cflags="-Os -fpic $ADDI_CFLAGS"
    --extra-ldflags="$ADDI_CFLAGS"
    $ADDITIONAL_CONFIGURE_FLAG

echo "configure over"
make clean
make
make install
echo ".............building  over"




}

4.:

  msys2_shell

  cd dir

  ./android_build

  over

{

}

原文地址:https://www.cnblogs.com/YZFHKMS-X/p/13237551.html