On-Device AI Subtitles & Translation
Transcribe speech, generate SRT subtitles, and auto-translate to English โ entirely on-device. No API key, no internet required, no per-request cost. Powered by Whisper.cpp v1.7.5 bundled in a drop-in AAR.
Prebuilt AAR for Android, arm64-v8a, NDK r27c. Drop it in libs/ and update one Gradle line.
Fully on-device speech-to-text in 99+ languages. Generates SRT subtitle files. No API key, no internet, no per-request cost.
Any language transcribed and translated in a single Whisper pass โ French, Spanish, Japanese, Arabic and more.
See Whisper in action on a real Android device โ transcription, SRT generation and auto-translation. whisper-demo-android on GitHub โ
AV1 (libaom + dav1d), VP8/VP9 (libvpx). Hardware-accelerated on Android via MediaCodec.
Android MediaCodec for H.264, H.265, AV1, VP8/VP9. GPU-accelerated where available.
Opus, Vorbis, Speex, MP3, AMR, MP2. Rubberband pitch & time-stretch. Soxr resampling.
OpenSSL for HTTPS. SRT protocol for low-latency secure streaming.
WebP, GIF, JPEG, PNG, TIFF โ full encode and decode support.
Chromaprint integration for audio identification pipelines.
libass, HarfBuzz, FreeType, Fontconfig, Fribidi โ full FFmpeg drawtext and subtitles filter support.
Tesseract and Leptonica for on-device text extraction from video frames.
libvidstab stabilization, zimg, snappy, libxml2, soxr, xvidcore (MPEG-4 encode).
Drop the AAR in your module's libs/ folder. Same API as the original โ your call sites do not change.
repositories {
flatDir { dirs("libs") }
}
dependencies {
// FFmpegKit 8.1 LTS Full โ arm64-v8a, NDK r27c
implementation(files("libs/ffmpeg-kit.aar"))
implementation("com.arthenica:smart-exception-java:0.2.1")
implementation("androidx.annotation:annotation:1.7.1")
}
One-time purchase. No subscription, no telemetry, no surprise renewal.
Yes โ same package surface (FFmpegKit, FFprobeKit, session callbacks). You swap a remote dependency for a local AAR; your call sites do not change.
Whisper.cpp runs entirely on-device. Download a GGML model file (~145 MB, e.g. ggml-base.bin) on first launch and store it in filesDir. No API key, no internet required. See the setup guide.
This package targets arm64-v8a only, which covers the overwhelming majority of physical Android devices in production today.
No. This is an independently maintained, prebuilt redistribution of FFmpegKit 8.1 LTS.