Feature-rich Android video player based on libmpv.
mpvRex is an advanced, customizable video player for Android. It combines the versatility of libmpv with a modern Jetpack Compose interface and unique user-centric features.
Video browser · Picture-in-picture · About screen
Playlist window · File options sheet
- Seek Cancellation — cancel a seek mid-gesture by dragging backwards, with interactive pointer-scaling feedback animations
- Subtitle Drag-to-Reposition — tap and drag subtitles vertically to position them anywhere on screen
- Subtitle Swipe Seeking — swipe horizontally to jump precisely between subtitle lines
- Top Seek Capsule OSD — pill-shaped overlay showing double-tap seek feedback without blocking the video
- Dynamic A-B Loop & Frame Navigation — set loop points with adjustable vertical bias; fine-tune with a floating, non-colliding frame-by-frame panel
- Persistent Video Pan & Zoom — zoom and position settings saved per video, with quick sliders in the Aspect Ratio menu
- Keyboard-Free Sleep Timer — touch-friendly bottom sheet to schedule sleep times without opening a keyboard
- Onboarding Tutorials — step-by-step in-player guides for speed lock and subtitle gestures
- Refined Tap & Lock Logic — custom exclusion zones, optional seekbar tap prevention, and one-tap control lock
- Dynamic Tab Manager — hide, show, and reorder dashboard tabs to fully customize your bottom navigation
- Material You — player controls dynamically match your Android system accent or app theme
- Animated Splash Screen — custom vector-art launch animation with light/dark mode support
- Clean Preferences — organized Jetpack Compose preference screens with fully localized strings
- Unified Explorer Engine — ensures every browsing mode (local storage, network shares, and playlists) looks, feels, and behaves identically
- Multi-Select Range — select a range of items easily by long-pressing the first file and tapping the last
- Sectioned Grid/List Layouts — independently customizable inside tree subdirectories
- Folder Metadata — recursive file counts, watched/unplayed dimming, and reactive "NEW" badges
- Breadcrumb Navigation — toggleable path breadcrumbs in the tree view
- Advanced Sorting — by Name, Date, Size, and Duration
- Network Streaming Proxy — high-performance proxy for WebDAV, SMB, and FTP streams with image preview caching
- Mark As System — mark videos as watched, skipped, or flagged; filter your library accordingly
- Media Library View — browse your full video collection outside the file tree
- Shorts Mode — vertical video playback with auto-swipe for Reels-style content
- HDR-to-SDR Tone Mapping — high-quality tone mapping via
hdr-toysshader pipeline - Smart Orientation — force landscape/portrait per video, stored as a preference
- Audio Support — scan, display, and play standalone audio files directly inside the file explorer and player
- Battery-Optimized Playback — optimized playback engine designed to maximize battery life during long viewing sessions
- Async UI Animations — seekbar animations run in coroutine contexts, off the UI thread
- Smart Background Service — background playback service starts only when actually backgrounded
- Compose Recomposition Tuning — minimized unnecessary recompositions across all player controls
Preview builds may be unstable and are intended for testing only.
Translations can be managed using Droidlate (PyPI) — a local, web-based UI designed for editing Android strings.xml translation files.
If you would like to contribute to translating mpvRex into your language, please refer to the Translation Contribution Guide for step-by-step instructions on running Droidlate locally.
mpvRex has its roots in mpvEx, which itself builds on mpv-android. We're grateful for the foundation they laid.
Additional inspiration and reference: mpvKt · Next Player · Gramophone
Distributed under the Apache License 2.0. See LICENSE for details.






