用android-ndk-r21b 在linux上编译ffmpeg4.2.2

1,下载android-ndk-r21b 和 ffmpeg4.2.2

2,解压ndk和ffmpeg4.2.2

3,在解压的ffmpeg4.2.2目录下写两个shell文件,build-ndk-r21b-ffmpeg4_2_2-armv7.sh 和 build-ndk-r21b-ffmpeg4_2_2-arm64.sh,内容如下

build-ndk-r21b-ffmpeg4_2_2-armv7.sh

#!/bin/bash

API=21

#armv7-a

ARCH=armv7

PREFIX=../out-ffmpeg/$ARCH

TOOLCHAIN=/home/bili/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64

build()

{

./configure \

--prefix=$PREFIX \

--disable-static \

--enable-shared \

--enable-small \

--enable-gpl \

--disable-doc \

--disable-programs \

--disable-avdevice \

--enable-cross-compile \

--target-os=android \

--arch=$ARCH \

--cc=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang \

--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-

make clean

make -j4

make install

}

build

build-ndk-r21b-ffmpeg4_2_2-arm64.sh

#!/bin/bash

API=21

#arm64 x86 x86_64 aarch64 i686 x86_64

ARCH=arm64

ARCH2=aarch64

PREFIX=../out-ffmpeg/$ARCH

TOOLCHAIN=/home/bili/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64

build()

{

./configure \

--prefix=$PREFIX \

--disable-static \

--enable-shared \

--enable-small \

--disable-doc \

--disable-programs \

--disable-avdevice \

--enable-cross-compile \

--target-os=android \

--arch=$ARCH \

--cc=$TOOLCHAIN/bin/$ARCH2-linux-android$API-clang \

--cross-prefix=$TOOLCHAIN/bin/$ARCH2-linux-android-

make clean

make -j4

make install

}

build

4,在解压的ffmpeg4.2.2目录下,分别执行两个sh文件即可编译完成。编译后的结果分别放在与ffmpeg4.2.2同级的out-ffmpeg目录下

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐