Skip to content

Compatibility

ffmpegkit-maintained edited this page Jun 23, 2026 · 3 revisions

Compatibility

State of the main branch source (and of any .aar/Maven artifact produced by CI going forward). This mirrors README, Compatibility section — that is the source of truth if the two ever drift.

Current
NDK r26c (26.2.11394342)
minSdk 24 (Android 7.0)
compileSdk / targetSdk 35 (Android 15)
ABI arm64-v8a only — CI builds and publishes this ABI exclusively; other ABIs are buildable from source via android.sh but not published
16 KB page size alignment Enforced — native libraries are linked with -Wl,-z,max-page-size=16384, and the CI build fails if any .so is not 16 KB aligned

Note: the original v6.0.0-lts-android release was built before the compileSdk 35 bump and the 16 KB alignment fix - superseded by v6.0.1-lts-android and later, which match this table.

The four tiers

CI builds four separate variants — build.yml (Full), build-basic.yml (Basic), build-gpl.yml (Full GPL), build-free.yml (Free) — each with a different --enable-*/--disable-lib-* flag set. None of upstream's old audio/video/https Maven Central artifact names apply here; these four replace them.

Free Basic Full Full GPL
Distribution Maven Central, free Gumroad, $19 Gumroad, $29 Gumroad, $39
License LGPL-3.0 LGPL-3.0 LGPL-3.0 GPL-3.0 ⚠️
Android MediaCodec (hardware accel)
H.264 decode ✅ (native FFmpeg) ✅ (native FFmpeg) ✅ (native FFmpeg) ✅ (native FFmpeg)
H.264 encode ✅ via openh264 ✅ via openh264 ✅ via x264
H.265/HEVC decode ✅ (native FFmpeg) ✅ (native FFmpeg) ✅ (native FFmpeg) ✅ (native FFmpeg)
H.265/HEVC encode ✅ via kvazaar ✅ via x265
AV1 libaom, dav1d
VP8/VP9 libvpx
Theora libtheora
Audio (Opus, Speex, Vorbis)
Audio (MP3, AMR, MP2)
Images (WebP, GIF, JPEG, PNG, TIFF)
Subtitle/text rendering, drawtext
OCR (tesseract)
SRT streaming
Audio fingerprinting (chromaprint)
TLS openssl
xvidcore, libvidstab, rubberband ✅ (GPL)
GPL-licensed filters ✅ — see GPL Filters

H.264/H.265 decode is always available — it's native to FFmpeg, not tied to any of the encoder libraries above. What differs is encode capability. See Licensing for what the Full GPL tier's license means for your app.

Full per-library detail (which exact library provides what): see README, Available tiers section.

Clone this wiki locally