Hold for 2×
Press and hold either side to speed through a slow scene. Let go and you're back to normal speed, exactly where you were.
Android & Android TV · Free, no accounts
JAVP is a bring-your-own player. Point it at your files, your media server, your playlists — and get a fast, gesture-first player that feels the way a video app should. Nothing is bundled, nothing phones home.
Continue watching
On now
For you
Try it: double-tap the sides to skip, press and hold for 2×.
The player
Every control is where your thumb already is. No menu diving, no mystery icons — just gestures that do the obvious thing, fast.
Press and hold either side to speed through a slow scene. Let go and you're back to normal speed, exactly where you were.
±10 seconds a tap, and taps stack — tap three times for 30. Left rewinds, right skips, the middle just shows the controls.
On catch-up capable channels, rewind live TV, start the current programme over, then jump back to the live edge.
Lock the screen so a stray thumb can't ruin a scene. Cinema mode goes full-bleed and immersive; portrait keeps a browse panel below.
Leave the app mid-episode and playback pops into a floating window. There's a mini player inside the app too.
Outline, shadow, boxed or fully custom — size, outline weight, margin, colour and background opacity. Or keep the original ASS styling intact.
media_kit with the full libmpv codec set — hardware decoding by default, software fallback one toggle away.
Embedded and external subtitles and audio, preferred-language defaults, plus HLS/DASH rendition picking.
Intro, recap and credits segments get a skip button — or skip themselves, if you'd rather.
Progress is saved every few seconds, resumes where you stopped, and rolls into the next episode.
Send an HTTP stream to a Chromecast with its poster, title and your current position.
0.5× through 2× from the bottom bar, independent of the hold-to-boost gesture.
Bring your own
JAVP ships with no content — that's the point. Add a source and it shows up as posters, channels and shelves, wherever it came from.
Jellyfin, Emby and Plex libraries with movies, series and episodes. Plex signs in with your account via a plex.tv PIN, or a plain URL and token.
M3U / M3U8 with EPG auto-detected from the playlist header, or full Xtream Codes with live, VOD and series syncing in the background.
Pick videos from the device, or open them straight from your file manager — JAVP registers for video intents.
Paste any direct HTTP(S), HLS or progressive URL and hit play. Deep links (javp://add?…) add whole sources in one tap.
Point JAVP at a catalog you host yourself and it renders as posters and shelves — a bulk dump, or a live query API it calls as you browse. Read the API docs.
Drop in a magnet or .torrent and it streams over a local HTTP bridge, or downloads for offline. Your content, your call.
Continue watching, For you, My List, downloads, favourite channels and what's on now — mixed from every source you added, not siloed per service. Search covers the lot.
Live TV
Channels get an XMLTV guide, reminders that actually fire, and catch-up where your provider supports it — so "I missed the start" stops being a problem.
Android TV
Install it on the TV and JAVP switches to a leanback layout: a left rail, D-pad focus that goes where you expect, and a set-top-box style live view.
Pairing stays on your LAN with a short-lived token — nothing goes through a server.
Profiles & sync
Each profile keeps its own history, sources and preferences. Sync is a small JSON file you own — pick where it lives.
Syncthing, a Dropbox or Nextcloud desktop folder, a mounted share — anything that shows up as a path.
Nextcloud, ownCloud and most NAS boxes. Just a URL and credentials.
For a phone or TV with no mirrored folder. Uses the app-private area, so it never clutters My Drive.
Watch history merges entry by entry, so progress from either device survives. Everything else is last-write-wins per section — removing a source actually sticks. Simultaneous writes are settled with a compare-and-swap, and a snapshot JAVP can't read is set aside rather than overwritten.
Restore from sync on the welcome screen asks where your file lives, lists the profiles it finds, and drops you on Home with your sources and history already there. Nothing to re-add.
Privacy
There is no JAVP server holding your library. The app talks to your sources and to nothing else, unless you connect an optional integration yourself.
No analytics or crash-reporting SDK is bundled. There is nothing to opt out of.
Integration tokens and sync credentials live in the Android keystore-backed secure storage.
Watch history is stored on the device. SIMKL scrobbling is optional and never replaces it.
SIMKL, TMDB and Trakt enrichment are off until you add your own key or sign in.
The one call JAVP makes on its own is a version check against updater.javp.app.
Sync writes one small JSON file per profile, wherever you point it. Copy it, move it or delete it — there is no server-side copy.
Full details in the privacy policy.
A sideloaded APK — no store, no account. Grab the build that matches your device for a much smaller download.
Detecting your device…
Wrong ABI usually won't install — if you're unsure, take Universal. Verify against latest.json, which publishes a SHA-256 for every file.
FAQ
No. It's an empty player until you add a source. There is no built-in catalog, playlist or channel list, and none is downloaded for you.
Not today. JAVP is distributed as a sideloaded APK from updater.javp.app, and the app checks for new versions itself — you can install them from Settings → Updates without coming back here.
Android 7.0 (API 24) and newer, on phones, tablets and Android TV. The same APK covers all of them.
ARM64 for nearly every modern phone and TV box. ARMv7 for older 32-bit devices, x86_64 for emulators and some Chromebooks. Universal works everywhere but is roughly three times the size.
Yes. Direct streams and torrents can be downloaded to the device, with an optional Wi-Fi-only rule, and live programmes can be recorded from the guide.
The interface is translated into 19 languages including English, French, Spanish, German, Italian, Portuguese, Dutch, Polish, Turkish, Russian, Ukrainian, Japanese, Chinese, Korean, Arabic, Hindi, Swedish, Indonesian and Vietnamese. You can override the system language in Settings.
The feature streams torrents you supply. Use it for content you have the rights to — that's on you, and JAVP indexes nothing.
Email [email protected]. Telling us the device, the Android version and the kind of source you were using makes it much easier to reproduce.