Skip to content

Supported external libraries

Alexander Berezhnoi edited this page Jul 31, 2020 · 17 revisions

Currently the ffmpeg-android-maker supports only external libraries from the table below. The script automatically downloads their source code and builds according to specified script arguments.

To enable all supported external libraries (from the table below) you can add either --enable-all-external or -all flag.

External libraries don't depend on each other. You are free to enable only those you actually need.

Library name Flag to enable Notes
libaom ‑‑enable‑libaom or ‑aom The encoder in this library requires Android API at least 18 to be compiled (‑android=18). The decoder can be built without this argument (the fallback is API 16).
libdav1d ‑‑enable‑libdav1d or ‑dav1d Uses Meson build system. Certain versions of Meson can't build the library for reasons. 0.52.1 and 0.53.2 are ok.
Also this library requires nasm >= 2.14 and ninja >= 1.9.
If installing all necessary software is an issue for you check out the Docker support page.
libfreetype ‑‑enable‑libfreetype or ‑freetype
libfribidi ‑‑enable‑libfribidi or ‑fribidi
libmp3lame ‑‑enable‑libmp3lame or ‑mp3lame or ‑lame
libopus ‑‑enable‑libopus or ‑opus
libspeex ‑‑enable‑libspeex or ‑speex
libtwolame ‑‑enable‑libtwolame or ‑twolame Currently without libsndfile dependency
libvpx ‑‑enable‑libvpx or ‑vpx The FFmpeg itself supports decoders for VP8 and VP9 and they both have higher priority than libvpx_vp8 and libvpx_vp9. If native vp8 and vp9 aren't needed at all, then they can be disabled with --disable-decoder=vp8 and --disable-decoder=vp9 flags for FFMpeg's configure script.
libwavpack ‑‑enable‑libwavpack or ‑wavpack
libx264 ‑‑enable‑libx264 or ‑x264 Enabling this library causes the output binaries and shared libraries of FFmpeg to be under GPL 2 license.
Clone this wiki locally