github jellyfin/jellyfin-mpv-shim v3.0.0
v3: Library Browser, Offline Sync, and Jellyfin v12 Support

3 hours ago

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.

mpv-ui-player mpv-ui-home mpv-ui-music

More Screenshots

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-next in mpv.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.
  • 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 Authorization header.
  • 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_mirroring for a chromecast-like experience, you can achieve that with the headless config option.
  • Most keyboard shortcut settings are now in input.conf and auto-migrate unless you used mpv_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 0xc0000142 error 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.

Don't miss a new jellyfin-mpv-shim release

NewReleases is sending notifications on new releases.