MPV Shim v3 reinvents the client. There's now a full library browser inside MPV, supporting all Jellyfin media types including videos, books, audiobooks, comics, photos, and music. Offline Sync, Live TV, and fast user/server switching are also added. This is also the first MPV Shim version to support Jellyfin v12 without legacy auth turned on.
This is all done without any webviews or heavy copies of Chromium. Nothing touches MPV's video output either, MPV Shim draws into MPV so gpu-next works perfectly. We don't redirect it or recomposite it. HDR, Dolby Vision, and custom shaders all work.
MPV Shim retains the ability to use MPV's default player controls and has improved support for custom OSCs and player keybinds. You can also configure the player to start minimized and stay out of the way, like the past versions did, or you can use the new 10ft browser UI with gamepads, cast controls, and keyboard navigation from your couch. There's also optional presets for audio passthrough, improved shaders with per-library support, and volume normalization (night mode).
Changes:
- Browse and search your entire media library within MPV.
- Playlists, collections, detail pages, favorites, genres, and live tv.
- Per-library view customization.
- Sort and filter library pages.
- Supports built-in and custom themes.
- Offline sync support
- Supports movies, shows, playlists, music, and books.
- Optionally download new episodes of shows you're watching automatically.
- Progress is automatically synced with your server.
- Supports skip intro, trickplay, and media artwork.
- Media playback while online prefers downloaded copies, allowing large syncplay watch parties that would normally exceed server capacity.
- Improved Player UI
- Supports subtitle/audio track switching even for external subtitles and transcodes.
- Standalone skip intro/credits button, meaning skip intro doesn't need to steal seek.
- Chapter navigation, next/prev episode, volume control, trickplay, and media info.
- Classic MPV OSC and custom OSCs (tested with uosc and modernz) are supported too.
- Keyboard shortcuts are only claimed when needed, arrow keys are now yours in
input.conf.
- Music support
- Browse by song, album, artist, album artist, and genre.
- Now playing UI integrated into library browser.
- Playlist creation, editing, and bulk update.
- Books support
- Audiobook support, including chapters, resume, and multi-file editions
- Inline epub and comic book viewer (CBZ and CBT only)
- Any format can be opened in an external viewer if you have one installed.
- Live TV including channels, guide, and recording.
- Quick connect support (#555).
- Fast switching between servers and different users, with optional PIN for users.
- Full keyboard, jellyfin cast navigation, and gamepad support.
- Gamepad requires a supported MPV build if you install via PyPI and must be enabled.
- Video Improvements
- Dolby vision works, note old MPV versions may need
vo=gpu-nextinmpv.conf. - Per library and per-series shader packs now supported.
- Added audio passthrough, exclusive mode support, and "night mode" audio normalization option.
- Allow enabling hardware decoding via settings, either always or only for >1080p videos.
- Secondary subtitles
- Optional deband, tone mapping, rendering, and network setting presets.
- Dolby vision works, note old MPV versions may need
- New searchable settings UI allows configuring most aspects of the client.
- HiDPI support.
- Syncplay doesn't stall when seeking anymore. Buffering and stopping is now handled correctly.
- Groups can now be joined from the home screen.
- Jellyfin v12 is supported and all auth goes through the
Authorizationheader. - Added handling for GNOME's strangeness.
- Added client-side decorations.
- Suppress background operation by default when no systray is available.
- Wayland is properly supported and actually tested.
For users upgrading from 2.10:
- If you wish to disable OSC or use a custom OSC, select the appropriate option under Player Controls Style in settings.
- Display mirroring is supported by default, if you previously used
display_mirroringfor a chromecast-like experience, you can achieve that with theheadlessconfig option. - Most keyboard shortcut settings are now in
input.confand auto-migrate unless you usedmpv_ext_no_ovr. - 32 bit Windows support was dropped due to it not working for several years and no one complaining about it.
- The "auto set subtitles" feature was removed due to Jellyfin's session persistence being flakey, it is replaced by remembering subtitles/audio between episodes and language overrides.
When upgrading/installing on Linux via PyPI, use:
pip install --upgrade "jellyfin-mpv-shim[all]"
You can also install on Linux via Flathub. Note flathub may take a few hours to publish post release, if you're impatient you can download the attached flatpak file instead. If you install via PyPI in other ways or run the application directly from a git clone, you may get errors due to updated dependencies.
About testing: This is a huge release which covers a lot of new ground. To help keep bugs down, the project has adopted automated testing including extensive unit tests, integration tests over multiple MPV backends, and end-to-end tests which test over a newly built fake jellyfin library generator and fake live tv/guide provider. Thank you to everyone who has beta tested the pre-releases and reported bugs, I could not have done it without you.
About Windows Downloads:
- If your CPU is older than roughly 2013 or you get a
0xc0000142error you need to use the LEGACY64 build. - You do not need administrator rights to install the software.
- You can avoid warnings on files by unblocking the file in the properties dialog.
Development was assisted using AI.