This repo contains static FFmpeg executable binary which compatible with all Android ABIs:
armeabi
(Android 16+)armeabi-v7a
(Android 16+)arm64-v8a
(Android 21+)x86
(Android 16+)x86_64
(Android 21+)mips
(Android 16+)mips64
(Android 21+)
This is main configuration, optimizes for smallest binary size with most common media codecs and container formats:
[...]
--enable-pic \
--enable-small \
--enable-gpl \
\
--disable-shared \
--enable-static \
\
--enable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
\
--disable-protocols \
--enable-protocol='file,pipe' \
\
--disable-demuxers \
--disable-muxers \
--enable-demuxer='aac,avi,dnxhd,flac,flv,gif,h261,h263,h264,image2,matroska,webm,mov,mp3,mp4,mpeg,ogg,srt,wav,webvtt' \
--enable-muxer='3gp,dnxhd,flac,flv,gif,image2,matroska,webm,mov,mp3,mp4,mpeg,ogg,opus,srt,wav,webvtt,ipod' \
\
--disable-encoders \
--disable-decoders \
--enable-encoder='aac,dnxhd,flac,flv,gif,libmp3lame,libopus,libshine,libvorbis,mpeg4,png,srt,subrip,webvtt' \
--enable-decoder='aac,aac_at,aac_fixed,aac_latm,dnxhd,flac,flv,h261,h263,h263i,h263p,h264,vp8,vp9,libopus,libvorbis,mp3,mpeg4,wavpack,png,rawvideo,srt,webvtt' \
\
--enable-libshine \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-bsf=aac_adtstoasc \
You can build it and customize as you want using build scripts in build_scripts folder. (Recommended using Android NDK r15).
export NDK="path/to/ndk-r15"
./build_all.sh
This software uses code of FFmpeg licensed under the LGPLv2.1 and its source can be downloaded here.