>_ DevTrendsen

Language

Home

Languages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Security
Rust

Jellium Desktop — when you want a proper Jellyfin player without Electron lag

If you run a home media server on Jellyfin, you've probably faced the client selection dilemma. The official desktop app often feels bloated, and browsing through the web means constant compromises with codecs and subtitles. I recently came across a project called Jellium Desktop that tries to solve these problems in a straightforward but effective way.

The author went for a hybrid approach: using the Chromium Embedded Framework (CEF) for the interface and mpv for video playback. The result is an unofficial client that looks like the native Jellyfin interface but plays video through one of the most powerful open-source engines in the world.

Why bother if there's a browser

The main pain point of web-based media players is limited format support. Browsers are finicky: they don't like HEVC, get confused by audio formats, and often force the server to transcode on the fly. This adds extra load to your server's CPU and degrades picture quality.

Jellium Desktop shifts the decoding task to the client side. Thanks to mpv under the hood, the player can handle pretty much anything you throw at it. The interface stays familiar — it's the same Jellyfin UI you know from the web, just without the extra browser chrome and with proper system integration.

How it works under the hood

The project is written in Rust, which already hints at an attempt to build something more performant than typical Electron builds. The architecture is split into two fronts:

  1. Interface layer. Uses CEF. This preserves full compatibility with the original Jellyfin design. You get all the same posters, descriptions, and episode lists that you configured on the server.
  2. Player. Instead of the standard HTML5 player, mpv is invoked. This provides hardware acceleration, proper HDR support, and — importantly — correct rendering of complex anime subtitles (ASS/SSA), which many other players struggle with.

Interestingly, the developer uses just for build management. It's a modern alternative to make that simplifies compiling the project from source.

What Jellium Desktop can do

Despite being an unofficial client, the project is already quite usable for daily use. Here are a few things that caught my attention:

  • Cross-platform. Builds available for Windows, Linux, and macOS. Both Intel and ARM processors are supported (Apple Silicon).
  • Native video handling. Forget about transcoding just because the browser couldn't understand the audio format.
  • Lightweight. The app feels more responsive than the official Jellyfin Media Player based on Electron.

By the way, macOS users should note a small quirk: after installation, you need to manually remove the quarantine attribute via the terminal. This is standard for unsigned software, but it can confuse newcomers. The command is simple: sudo xattr -cr /Applications/Jellium\ Desktop.app.

Should you switch

I wouldn't say Jellium Desktop is a "killer" of all other clients. It has its rough edges, typical of young projects. For example, there's currently a decent number of open issues in the repository, indicating an active refinement phase.

Who this project is definitely for:

  • Owners of low-powered servers that can't handle 4K content transcoding.
  • Anime fans and movie watchers who use external subtitles.
  • Those who appreciate Rust and want to support an alternative branch of client development for Jellyfin.

If you're tired of video stuttering in the browser or your server's fans spinning up, give Jellium a try. It's a solid tool that does exactly what it promises: just plays your content without unnecessary intermediaries.

You can check out the source code or download binaries in the project repository.

Related projects