-
Notifications
You must be signed in to change notification settings - Fork 0
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.
| 6.0 / 7.1 LTS | 8.1 LTS | |
|---|---|---|
| NDK | r26c (26.2.11394342) |
r27c (27.2.12479018) |
| minSdk | 24 (Android 7.0) | 24 (Android 7.0) |
| compileSdk / targetSdk | 35 (Android 15) | 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 |
arm64-v8a only |
| 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 |
Enforced |
Every original FFmpegKit artifact name (full, https, min, audio, video, and their -gpl variants) is rebuilt and maintained here, free on Maven Central, across all three LTS lines. Pick the smallest one that covers the codecs your app needs — a smaller build means a smaller APK. MediaCodec hardware acceleration and zlib are included in every variant (Android system libraries).
| Artifact | Adds on top of base FFmpeg | License |
|---|---|---|
ffmpeg-kit-min |
nothing (bare FFmpeg + system libs) | LGPL-3.0 |
ffmpeg-kit-https |
gmp, gnutls (TLS / https URLs) |
LGPL-3.0 |
ffmpeg-kit-audio |
lame, opus, libvorbis, speex, opencore-amr, shine, soxr, twolame, vo-amrwbenc, libilbc
|
LGPL-3.0 |
ffmpeg-kit-video |
dav1d, libvpx, kvazaar, libass, libtheora, libwebp, zimg, freetype, fontconfig, fribidi, snappy
|
LGPL-3.0 |
ffmpeg-kit-full |
audio + video + https (recommended default) | LGPL-3.0 |
ffmpeg-kit-min-gpl |
min + x264, x265, xvid, vidstab
|
GPL-3.0 |
ffmpeg-kit-https-gpl |
https + x264, x265, xvid, vidstab
|
GPL-3.0 |
ffmpeg-kit-full-gpl |
full + x264, x265, xvid, vidstab
|
GPL-3.0 |
H.264/H.265 decode is always available — it's native to FFmpeg, not tied to any encoder library. What differs between artifacts is encode capability: full gives LGPL encoders (kvazaar for H.265), the -gpl variants add x264/x265. See Licensing for what the -gpl artifacts' license means for your app, and GPL Filters for the filter-level detail.
Pro (jokobee.com/ffmpegkit) is distributed separately (.aar download, not Maven Central) and adds capability none of the free artifacts have:
- WhisperKit — on-device speech recognition, subtitles, translation (8.1 line only)
-
OCR (
tesseract/leptonica) and audio fingerprinting (chromaprint) - Priority support and a security-response window
See README, Pro section, for pricing and per-line availability.