AllVideo Downloader & Editor

Save, edit and watch your videos offline. AllVideo puts a complete video toolkit in your pocket — download the videos you own, trim and edit them, and enjoy them anytime without a connection.


Elevator pitch

Most "video downloaders" are thin wrappers that grab a file and stop there. AllVideo is a full offline video workflow — download → edit → watch → share — in a single, private, lightweight Android app. It plays and edits any format (AV1, VP9, HEVC, MKV) even on cheap devices whose hardware can't, keeps every file on-device for privacy, and monetizes cleanly with ads plus a one-tap ad-free upgrade.


Inspiration

Video is the way the world communicates now, but the phone experience around your own videos is still broken:

  • Connectivity isn't a given. On a commute, a flight, a rural signal, or a capped data plan, the video you already have the rights to is suddenly out of reach.
  • The tools are fragmented. You download in one app, trim in another, convert in a third, and half of them won't even play the file because the phone's hardware decoder chokes on modern codecs.
  • Privacy is an afterthought. Most free tools upload your content to a server to "process" it.

We wanted one place to keep, shape, and enjoy the videos you own — fast, offline, and private — that works on the $80 phone as well as the $1,000 one.


What it does

AllVideo is an end-to-end, offline-first video toolkit:

  • ⬇️ Download for offline viewing — Save videos you have the rights to, with a clean queue that shows progress, size and quality. Concurrent downloads keep running in the background (screen off, phone call, other apps) via an Android foreground service with a live progress notification.
  • ✂️ Real editing, not filters — Trim, cut, merge, crop and rotate; add text, paint, stickers and simple effects; then export in the quality you choose.
  • 📺 Play literally anything — A built-in player that software-decodes AV1, VP9, HEVC and MKV, so files play instantly even when the device's hardware decoder can't handle them.
  • 🗂️ Smart library & history — Folders, instant search, and a full download history so nothing gets lost.
  • 🎨 Modern, multilingual UX — Light/dark themes and multiple languages (English, Chinese, Korean, Japanese) out of the box.
  • 🔒 Private by design — Your videos, edits, library and history live only on your device. No account, no upload, minimal permissions.

How we built it

Stack: Flutter (single codebase, Android-first), Dart, Riverpod for state, Drift/SQLite for local persistence.

The engine: The engine runs entirely on-device (bundling a Python/FFmpeg/aria2c runtime), so parsing and downloading happen locally with no middleman server. We built a self-updating layer that fetches the latest engine on first launch and re-checks daily, so the app keeps working as sites change without shipping a new APK.

Play anything, edit anything: Playback uses media_kit (libmpv/FFmpeg) software decoding, so any codec plays like it would in VLC. For editing/export we pair a render engine with a software FFmpeg transcoder, so even devices with broken/absent AV1 or VP9 hardware decoders can still preview and export — a real problem on budget Unisoc/entry chipsets that silently breaks other apps.

Reliability details that matter: Downloads save to scoped, permission-free storage (Play-compliant), files are matched back to their titles even after the OS rewrites illegal filename characters, and a foreground dataSync service keeps long downloads alive under aggressive OEM task-killers.

Business model, wired for scale: Monetization is live via Google AdMob (banner, interstitial, native) with a one-tap RevenueCat + Google Play Billing upgrade to remove ads. Purchases are tracked in real time through Google Play Real-Time Developer Notifications → Cloud Pub/Sub → RevenueCat, so entitlements stay accurate even if the client drops offline mid-purchase.

Ship-ready engineering: Targets Android 16 (API 36), 16 KB page-size ready, per-ABI packaging that trims the download by ~30%, unit-tested filename/matching logic, and a clean flutter analyze.


Challenges we ran into

  • Codecs that don't decode. Some budget chipsets ship broken AV1/VP9 hardware decoders — files download fine but won't play or export. We solved it with end-to-end software decode (media_kit) and a software FFmpeg transcoder fallback.
  • The "download succeeded but file not found" bug. yt-dlp replaces filesystem-illegal characters (like :) with fullwidth Unicode look-alikes when writing files, while the parsed title keeps the ASCII versions — so our matcher couldn't find the finished file. We normalized both ASCII and fullwidth variants and added regression tests.
  • Keeping the engine fresh. Bundled extractors go stale as sites change. We built a rate-limited, network-aware auto-updater that forces an update on first launch and re-checks daily.
  • App size. A bundled media/transcode runtime is heavy. We dropped emulator-only x86 ABIs and pruned unused plugins to cut the shippable size significantly.
  • Real-time purchase tracking. Standing up Google RTDN → Pub/Sub → RevenueCat meant getting cross-project IAM exactly right (project-level topics.list was the non-obvious missing piece).

Accomplishments that we're proud of

  • A genuinely universal player/editor that works on hardware where competitors fail.
  • Fully offline and private — no servers touch user content, with a minimal permission footprint and Play-compliant scoped storage.
  • A complete, shippable product, not a demo: monetization, subscriptions, localization, notifications, background downloads, privacy policy, data-deletion flow, and a marketing site — all done.
  • Self-healing extraction that keeps working as the web changes, without forcing users to update.

What we learned

  • On Android, software decode is a feature, not a fallback — it's the difference between "works everywhere" and "works on my phone."
  • The last 10% (filename edge cases, background-service survival, RTDN IAM, Play policy declarations) is where real apps are won or lost.
  • Privacy and performance aren't a trade-off: keeping everything on-device is both the safer and the faster architecture.

What's next for AllVideo

  • iOS release from the same Flutter codebase.
  • AI-assisted editing: auto-highlights, silence trimming, and one-tap captions/subtitles generated on-device.
  • More editor power: timeline multi-track, transitions, and templates.
  • Format & device coverage: broader codec presets and smarter hardware/software decode selection.
  • Growth: localization into more languages and a lightweight cloud-optional backup for users who want it.

Built with

flutter · dart · riverpod · drift · sqlite · media_kit (libmpv/ffmpeg) · ffmpeg · google-mobile-ads (admob) · revenuecat · google-play-billing · google-cloud-pub/sub · android


Try it out

Built With

Share this project:

Updates

Submission history