Repository navigation
Release v0.1-alpha
Pre-releaseFFmpeg GUI v0.1-alpha
The first public release of FFmpeg GUI: a full-featured video, audio and photo editor for Android, powered by FFmpeg and on-device AI, in a responsive Material 3 Expressive interface.
Everything runs fully offline. Every change shows in a live preview before anything is rendered, and the generated FFmpeg command is always visible and editable.
What's in this release
🎬 Video editor
- Timeline of clips from one or more files: split, trim, reorder, duplicate, freeze frames, and photos as clips with Ken Burns motion.
- Speed controls with ready-made ramps and hand-drawn curves, reverse, crop, aspect ratio, rotation, mirroring, resolution and frame rate.
- 25 transitions between clips, previewed live.
- Keyframes with easing for zoom, pan, colour and volume; animated texts and overlays.
- Texts and picture-in-picture overlays on their own tracks, chroma key and colour key with spill removal.
- Multiple sound tracks with real waveforms, volume, speed, pitch shift, fades and equaliser.
- Burned-in subtitles (
.srt,.ass), undo and redo of every edit. - HDR: HDR videos (HDR10, HLG) tone-mapped to SDR, or an HDR look for SDR videos saved as real HDR (HLG, BT.2020, HEVC Main 10).
🧠 On-device smart features
- Subtitles from speech: speech recognition on the phone in 25 European languages, with styles, word highlighting and
.srtexport. - Transcripts: any audio or video file written down as
.txtor.srt, corrected line by line. - Subject cut-out: background removal without a green screen, refined with a magic brush (SlimSAM) and a precise brush.
🎧 Audio editor
- Dedicated editor with a large waveform, heard live as you edit.
- Ten-band equaliser with a draggable curve and presets, filters, noise gate, compressor, limiter, echo, reverb and modulation effects.
- EBU R128 loudness levelling (
loudnorm), silence trimming and splitting into parts. - Tags and cover art for MP3, M4A, FLAC, OGG and OPUS.
🖼️ Pictures & GIF
- Photo editor for any picture or any frame of a video, and export of every frame as a ZIP.
- Crop, straighten, perspective, light and colour adjustments, filters and effects.
- Background removal with transparency (PNG, WEBP, TIFF) and HDR look saved as Ultra HDR JPG.
- GIF editor with width, frame rate, colours, dithering and loops, previewed exactly as exported.
🛠️ Core
- Transparent FFmpeg: the generated command is always in view; copy it, edit it, or replace it with your own.
- Hardware video encoding where supported; exports keep running in the background, with progress in a notification.
- Layouts for phones, landscape, tablets and large screens.
Security and privacy by design
An app that handles your private media has to be trustworthy and verifiable, so a large part of the work behind this release went into the app's isolation and into hardening the supply chain.
On your device
- No internet access: the app does not declare the
INTERNETpermission, so Android does not let it open network sockets at all. - No unnecessary permissions: no storage, media, camera or microphone permission. Files arrive only through the system file picker or a share. The build fails if any dependency tries to add one of these permissions.
- No analytics or telemetry: no trackers, no crash reporters, no ads, no accounts.
- Safe file intake: raw
file://paths and links to the app's own private files are rejected, so other apps cannot trick it into reading or exposing them. - Locked-down playback: only the system and the app itself can control the media session.
- AI models checked before use: the models are not bundled and never downloaded by the app; you import them yourself, and every file must match a pinned SHA-256.
In the build
- FFmpeg built from source: FFmpegKitNext and the 52 libraries it compiles are pinned to exact commits, verified before and after the build, and compiled in an isolated Nix environment with a pinned toolchain.
- Reproducible FFmpeg runtime: it is built twice, independently, on different machines, and published only if both builds are identical byte for byte. The app accepts no FFmpeg runtime other than the one with that exact SHA-256.
- Pinned build tools: the FFmpeg build's Gradle distribution and every dependency it downloads are checked against pinned SHA-256 digests.
- Reproducible APK: the APK is built from the release tag in a clean environment, rebuilt from scratch with IzzyOnDroid's verification builder (rbtlog), and published only if both builds are identical byte for byte.
- Offline signing: the signing key never leaves my computer; the CI holds no secrets.
In short: the APK you install is built from the published source code, and anyone can check it.
Note
Hardening reduces risk, not bugs. This release comes with no warranty; you are encouraged to read the source and build it yourself. Found a flaw? Please let me know.
Requirements
- Android 10 (API 29) or newer.
- 64-bit device (
arm64-v8aorx86_64).
Known limitations & feedback
This is an alpha release. The core features are tested, but real-world media files and devices vary wildly. If you run into bugs, slowdowns or crashes, please open an issue with your device model, Android version, the type of file and the steps to reproduce it.
About updates: I'm a student developing FFmpeg GUI in my spare time. Releases will not follow a fixed schedule and will ship when studies and exams allow. Issues and pull requests are read even during quiet periods.
Verifying this release
- Signing certificate SHA-256:
46:4A:2F:87:7D:67:E9:6C:52:64:F3:19:FD:C8:DD:C0:5B:B6:34:C2:77:36:50:18:A2:A1:94:5F:51:A1:F9:5F - Unsigned APK SHA-256:
bd6bfcd1a1ffec5c13d57ade3fb56900b4fc039574f039ac5f9583dcaa074a5c - FFmpeg runtime (AAR) SHA-256:
3081cc13da8d82b5322161b7310613f2bf05bcf0ee820e15c685d5b3e4776fc2 - Built, and rebuilt identical with IzzyOnDroid's builder, in this run.
FFmpeg GUI's source code is free software under the EUPL v1.2. This APK also contains FFmpeg built with GPL libraries, so, as allowed by Article 5 of the EUPL, the APK as a whole is distributed under the GNU GPL v3. If it's useful to you, you can support it on Ko-fi.