github Riteshp2001/mpvRx v2.7.0
mpvRx v2.7.0

latest release: v2.7.1
3 hours ago

2.7.0 - Snapshots, Rich Lyrics, Smarter Browsing, and Playback Polish

Highlights

  • A new Snapshots library saves lossless frame captures, groups them into folders, supports sorting and bulk management, and can return directly to the captured moment in a video.
  • Network browsing now includes optional image browsing with a full-screen viewer, plus read-only ZIP navigation and direct playback without extracting an archive.
  • Regular playlists can mix local and network media, while local M3U and M3U8 playlists can be discovered and refreshed automatically across supported storage locations.
  • Lyrics gained sixteen online providers, ISRC-aware matching, provider search, stronger synchronized-result selection, and a compact active-line presentation below album art.
  • Right-to-left lyrics, optional forced left-to-right subtitle rendering, and independently adjustable secondary subtitles improve multilingual playback.
  • The responsive home-screen widget provides artwork, metadata, and transport controls; idle or missing-art states now show the centered music note logo inside a theme-colored circular halo that switches with the widget's light or dark theme.
  • Wallpaper presets, a realistic home preview, wallpaper-derived theme colors, app-wide UI scaling, and Liquid Glass surfaces expand appearance customization.
  • Player behavior is more predictable across rotation, Surface replacement, PiP, background playback, seeking, Android TV, and compact or landscape layouts.
  • Automatic configuration backups, restore-aware onboarding, watch statistics, bounded debug logs, and a redesigned crash-recovery screen improve resilience and diagnostics.

Snapshots, Images, and Archives

Snapshot Library

  • Save to Snapshots: Capture a lossless PNG from the frame-navigation panel, store it in the system gallery, and record its source media and playback position.
  • Dedicated library: Enable a Snapshots navigation tab to browse captures in a photo grid, select multiple items, and remove saved records in bulk.
  • Return to playback: Open a snapshot and jump back to the exact source video and captured timestamp.
  • Snapshot folders: Create in-app folders, choose a destination while capturing, and organize snapshot records without moving or duplicating the gallery files themselves.
  • Presentation fixes: Added a folder mosaic layout and improved snapshot sorting, folder covers, wallpaper continuity, and photo-grid presentation.

Network Images and ZIP Files

  • Network image browsing: Optionally show common image formats alongside folders and videos on WebDAV, SMB, FTP, and SFTP connections.
  • Full-screen image viewer: Open network images with swipe navigation, pinch zoom, and rotation controls.
  • Clear media identity: Image and video rows use type badges when both kinds are visible in one network folder.
  • ZIP virtual folders: Import readable ZIP archives as persistent read-only playlists, browse them as folder trees, and play supported media directly through mpv without extracting them first.
  • Archive queues: Next and Previous follow sibling media entries inside the archive, and ZIP folders can be opened from the browser action menu.
  • Filename understanding: Added GuessIt-based title and metadata inference with a fast Kotlin/Anitomy fallback when the Python parser is unavailable.

Playlists and Network Browsing

Mixed-Source Playlists

  • Add WebDAV, SMB, FTP, and SFTP videos to regular playlists alongside local files.
  • Long-press a network file to add it directly to a playlist.
  • Show source, path, size, and connection badges for network entries; disconnected entries remain visible and become playable again when their connection is recreated.
  • Preserve stored queue order and item identity while allowing natural display sorting, source metadata, selection, bookmarks, and responsive list or grid layouts.
  • Added persistent Sort and View choices to playlist library, detail, and Add Videos screens, including manual-grid controls and full filename display.
  • Improved playlist reordering, grid toggles, landscape sizing, release-build playlist sheets, thumbnail selection, and subtitle indicators.

Local IPTV Discovery

  • Automatically discover M3U and M3U8 files from readable internal storage, SD cards, USB volumes, MediaStore, and folders granted through Android's storage picker.
  • Refresh changed sources after media-index, storage-mount, permission, or manual scan events without blocking the interface.
  • Deduplicate canonical file and document locations, preserve playlist history, skip HLS segment manifests, and retain unavailable imported sources until the storage returns.
  • Use the first entry's IPTV logo or cached thumbnail as playlist artwork and resolve relative media and logo paths more reliably.

Browser Reliability

  • Kept view and grid settings isolated to the browser where they were selected and refined file-picker layouts across orientations.
  • Improved resolution metadata loading, source formatting, media browsing, and optimistic folder removal.
  • Preserved the Movies filesystem fallback with cancellable, deduplicated traversal and routed shared text links through streaming-link handling.
  • Refined manual-grid controls and dual-pane scaling so cards remain usable at compact widths.

Music, Audiobooks, and Lyrics

Audiobooks and Streaming Music

  • Fetch online cover art and metadata for local books and Audiobookshelf entries.
  • Moved Audiobooks into the compact music-source selector so books can be opened in place without a separate top-level header action.
  • Route supported music-streaming links to the audio-player interface and fetch their remote artwork when available.
  • Isolated artwork ownership and playback checkpoints so one music item cannot overwrite another item's presentation or progress.
  • Added a dual-mode equalizer with graphic and parametric controls, live curve visualization, and persistent audio settings.
  • Artwork swiping now follows the active queue across repeated gestures, shuffle order, and repeat-all wrapping.
  • Added fast scrolling to large music libraries and ordered album tracks naturally by disc and track number.
  • Improved Audiobookshelf and Seerr header actions, sizing, and layout.

Lyrics

  • Added sixteen online providers behind one lyrics registry, with provider timeouts, priority ordering, and ISRC-based recording matching before lyric lookup.
  • Added provider search and a single source line above the scrubber; the same area shows the current lyric while the full lyrics view is closed.
  • Prefer word-timed lyrics, then line-synchronized lyrics, before plain text during automatic searches.
  • Search more aggressively for synchronized results and avoid settling prematurely for an unsynchronized response.
  • Cache successful provider-specific lyric results per track, including timing and translations, while explicit refresh still bypasses the cache.
  • Added an active lyric strip below album art and improved dual-pane lyrics, compact overflow following, source controls, and bottom-bar spacing.
  • Moved the audio-format badge between seek timers and balanced the surrounding audio controls.
  • Reset music subtabs cleanly when returning from another main tab.

Subtitles and Multilingual Text

  • Detect the strong direction of each karaoke line and reveal synchronized words from the correct edge for right-to-left scripts.
  • Added a translated Force left-to-right subtitles preference backed by mpv's bidirectional-text compatibility option, while respecting explicit mpv.conf ownership.
  • Added independent secondary-subtitle selection, scale, and vertical position controls.
  • Apply supported secondary subtitle properties consistently through player startup, live settings, reset behavior, and subtitle positioning.
  • Added navigation actions to file and folder pickers used for external subtitle selection.
  • Improved picker filtering so supported subtitle and audio files remain available while filename matches are prioritized through sorting.

Player, Playback, and Controls

Playback Behavior

  • Added Confirm before leaving playback, which requires a second Back press after active sheets, panels, lock state, and TV controls have handled navigation.
  • Added a Only for longer videos resume mode with a configurable minimum duration while preserving existing Always, Ask, Never, and audiobook behavior.
  • Added a per-video Remember choice for background playback while retaining separate audio and audiobook behavior.
  • Exposed video-quality selection consistently across supported video sources and limited online stream selectors to sources that can use them.
  • Aligned precise and fast seeking behavior with mpvEx and repaired unresolved seek-state handling.
  • Preserved the demuxer cache across Android Surface loss so renderer handoffs no longer force unnecessary network rebuffering.
  • Avoided redundant zero-position seeks that could flush the decoder, briefly black out video, and restart first-time playback.
  • Horizontal swipe seeking now keeps the amount/time indicator without showing a duplicate seekbar.
  • Improved initial video orientation, notification-dismissal shutdown, PiP audio cleanup, and stopped-background-player handling.
  • Exposed the complete SMB path to Lua scripts instead of only the shortened display path.

Layout and Interaction

  • Added app-wide UI scaling and preserved the selected scale across device rotation.
  • Restored the correct phone landscape layout instead of treating every rotated phone as a tablet; tablet detection now follows the stable smallest-width classification.
  • Refined player sheets, overlays, draggable panels, playlists, track rows, and preference pages for compact and landscape screens.
  • Fixed clipped or escaping pressed-state feedback on rounded cards, pills, track rows, mini-player surfaces, and frame-review controls.
  • Added Liquid Glass editing bars and strengthened floating navigation surfaces while preserving readable compatibility fallbacks.
  • Unified switches on Material's expressive 250 ms thumb morph with theme-safe check and close symbols.
  • Restored reliable Telegram-style theme reveals from browser-title taps after changing Appearance settings.
  • Improved the mini-player progress fill contrast and clipped its interaction feedback to the rounded container.
  • Kept player controls aligned under forced-dark playback and restored panel dragging and playlist sizing.

Notifications and Android TV

  • Added ongoing-activity metadata for supported live-notification and Dynamic Island integrations.
  • Improved D-pad entry into player sheets and made the seekbar focusable and scrubbable on Android TV.
  • Avoided an R8 verification failure seen on strict ART implementations, including some Android TV and lower-end devices.

Widget, Navigation, and Pickers

Home-Screen Widget

  • Added compact and wide home-screen widget layouts with full-bleed artwork, title and artist metadata, Previous, Play/Pause, and Next actions.
  • Follow the app's light, dark, AMOLED, dynamic, built-in, or custom color scheme and refresh when playback, queue, theme, or widget dimensions change.
  • Use Android 12 responsive size maps with portrait and landscape fallbacks on older supported Android versions.
  • Show the mpvRx launcher icon instead of a generic music or video glyph when no artwork is available.
  • Add a theme-accented circular halo behind the icon, with stronger emphasis while no media is playing and a subtler fallback during active playback.

Responsive Selection and Navigation

  • Moved folder destinations into a bounded responsive bottom sheet that leaves room for actions on phones, tablets, and short landscape screens.
  • Unified app-owned file, folder, playlist, sort, view, option, AI-model, swipe-action, translation-language, subtitle-source, blacklist, audiobook-cover, and Cast-speed selectors on the same responsive sheet.
  • Preserve picker navigation through rotation, recover from invalid or unreadable paths, search with stable item keys, and let hardware Back move to the parent folder before dismissing.
  • Respect reduced-motion preferences by snapping sheets open while retaining normal Material motion otherwise.
  • Improved distant-tab transitions, optimistic folder removal, header actions, top-bar sizing, and responsive manual-grid controls.
  • Added a dedicated contributor Hall of Fame with highlighted contributor grids.

Jellyfin, Media Servers, and Downloads

  • Automatically enable the Jellyfin navigation tab after a server is added.
  • Added a transparent gradient Jellyfin header that transitions with scrolling and increased the hero carousel size.
  • Display Jellyfin title-logo artwork where available and refined technical metadata, title, and detail layouts.
  • Reflow technical details into a responsive selectable grid on compact screens.
  • Added a Hotstar-style clockwise circular progress indicator for Jellyfin downloads.
  • Improved add-server keyboard insets, shared sheet headers, and media-server action icons.
  • Simplified peer-to-peer streaming descriptions consistently across every supported language.

Backup, Statistics, Logs, and Recovery

  • Back up portable app settings automatically under the selected Configuration/Backup folder when the app moves to the background.
  • Deduplicate identical backups, retain the latest seven, and exclude device-local storage permissions from portable exports.
  • Onboarding can select a Configuration folder, restore its newest valid settings backup, and configure its Downloads child as the default download location.
  • Added watch statistics for real, active playback time with audio/video totals, sessions, a seven-day chart, top media, and reset support.
  • Added a configurable 1-10 MB debug-log budget with rolling UTF-8 byte limits across capture, sharing, and export.
  • Redesigned crash recovery with focused restart, diagnostics, copy/share, close, and conditional database-repair actions.

Appearance and Wallpaper

  • Added code-drawn Aurora, Sunset, Ocean, Midnight, Mist, and Blossom wallpaper presets alongside None and custom images.
  • Added a real home-screen preview using the app's top bar, folder cards, and navigation surface instead of an isolated wallpaper-only preview.
  • Added Fit/Fill presentation, preview locking, clearer Replace behavior, and a single Wallpaper card in Appearance settings.
  • Enriched Aurora, Ocean, Blossom, and Mist with layered scenery, depth, reflections, stars, light rays, bubbles, foliage, and petals.
  • Derive app theme colors from a selected custom wallpaper for a more coherent background and control palette.
  • Added Liquid Glass surfaces to the main navigation and mini-player while preserving compatible fallbacks.
  • Added progressive navigation blur and kept wallpaper rendering edge-to-edge without a stale light/dark startup flash.
  • Completed wallpaper labels and controls in every existing translation locale.

Build Compatibility and Releases

Platform and Build Compatibility

  • Updated the standard and non-Vulkan mpv backends to mpvlib 1.0.10; the FongMi backend remains on its compatible 1.0.9 profile.
  • Enabled 16 KB ELF page alignment across native build configurations for newer Android devices.
  • Parallelized distribution builds and strengthened release signing, asset verification, and version-tag handling.
  • Preview and tagged pre-release APKs now retain the production application ID; only debug APKs use a package suffix.

APK variants

All variants contain the same mpvRx app version and features, with their native backends built from mpvlib Android. Choose the package that best matches your device:

  • Standard (mpvRx-<architecture>-<version>.apk): Recommended for most devices. Available as Universal and architecture-specific APKs with the standard Vulkan-capable playback backend.
  • FongMi (mpvRx-fongmi-<version>.apk): Universal package using the FongMi native profile for Vulkan, direct MediaCodec, and Dolby Vision playback.
  • Non-Vulkan (mpvRx-no-vulkan-<version>.apk): Universal OpenGL-only package for devices without compatible Vulkan support or with unstable legacy GPU drivers.

SHA-256 checksums

43dd4e4e3dc70c53f2837e0eef779344318b4becedb11c2fb61dbdab4904a0b7  release-assets/mpvRx-universal-v2.7.0.apk
fb5c7b7d38e8e28bcbb2ca3c87b3e5ba0b9fbeb101d45220d82b992335e979a1  release-assets/mpvRx-arm64-v8a-v2.7.0.apk
95c7b16595a7a492b6c6c9b160777dc2a51ccd20f8d6274a378ad505d4f11e97  release-assets/mpvRx-armeabi-v7a-v2.7.0.apk
d43b92a500560566bf5856fc0e3b30d2bcdc2beb90cf77b9c2a3b1b983c31611  release-assets/mpvRx-x86-v2.7.0.apk
190b4485a827ecb8612301a7b98d5e4a666819c173dc01cfcfaf1cf2f88a8abf  release-assets/mpvRx-x86_64-v2.7.0.apk
1471e20ebd896e4707bfd721744e83b751407bec22e4140a580e2d80b1c6b08c  release-assets/mpvRx-fongmi-v2.7.0.apk
939e99399068e7005638b183d45a55841dad9ef5bcb79926354de7afaf51c841  release-assets/mpvRx-no-vulkan-v2.7.0.apk

What's Changed

  • feat(ui): update header action icons for Audiobookshelf & Seerr, auto-enable Jellyfin tab by @Arnab11 in #686
  • feat(jellyfin): enhance hero carousel with title logos & dynamic sizing, and ensure 16 KB ELF page alignment by @Arnab11 in #687
  • feat(audiobooks): add online cover art and metadata fetching for local and Audiobookshelf by @Arnab11 in #688
  • feat(browser): redesign manual grid controls, add dynamic dual-pane scaling by @Arnab11 in #698
  • feat(playlist): support network videos in regular playlists by @ThisisWyatt in #699
  • feat(browser): let network files be added to a playlist by long-press by @ThisisWyatt in #710
  • refactor(music): move audiobooks to source dropdown and remove downloads button from header by @Arnab11 in #711
  • feat(appearance): add custom wallpaper theming, presets and live home preview by @Utsavrajputt in #720
  • feat(music): integrate compact source dropdown into top bar title and support in-place audiobooks by @Arnab11 in #726
  • feat(browser): add open zip folder option to FAB and exclude zips from folder list by @Arnab11 in #728
  • feat(player): add active lyric strip under cover art, remove bottom icon, and improve dual-pane lyrics by @Arnab11 in #729
  • feat(browser): browse and view images in network folders by @ThisisWyatt in #730
  • feat(player): move audio format badge between seek timers and balance controls spacing by @Arnab11 in #731
  • feat(player): add ongoing activity support for live notifications by @Arnab11 in #736
  • Fix Android TV support: R8 VerifyError, sheet D-pad focus, seekbar D-pad scrub (refs #708) by @qznet in #738
  • feat(player): expose full SMB/FTP/WebDAV path to Lua scripts by @WayneKent in #739
  • chore(deps): bump the npm_and_yarn group across 1 directory with 3 updates by @dependabot[bot] in #744
  • chore(deps): bump image-size from 2.0.2 to 2.0.4 in /website in the npm_and_yarn group across 1 directory by @dependabot[bot] in #748
  • feat(jellyfin): implement Hotstar-style clockwise circular download progress indicator by @Arnab11 in #749
  • feat(snapshots): add a Snapshots tab with folders and jump-to-video by @ThisisWyatt in #755

New Contributors

Full Changelog: v2.6.0...v2.7.0

Don't miss a new mpvRx release

NewReleases is sending notifications on new releases.