目录

jellium-desktop:Jellyfin 的非官方桌面客户端,CEF + mpv 双引擎

jellium-desktop:Jellyfin 的非官方桌面客户端,CEF + mpv 双引擎

一句话判断

jellium-desktop 解决的是一个非常具体的需求——Jellyfin 没有官方桌面客户端。它用 CEF(Chromium Embedded Framework,嵌入式 Chromium 框架)渲染 UI、mpv 做视频播放内核,跨平台打包成 Linux AppImage / macOS DMG / Windows installer,三平台原生体验。当前 1.2K stars 说明它在自托管媒体用户圈子里已经站稳了位置。

项目定位

  • 仓库andrewrabert/jellium-desktop,GPL-2.0 协议,Rust 实现
  • GitHub Stars:1.2K,Forks 107(2026-07-19 数据)
  • 支持平台:Linux(x86_64 / aarch64 AppImage + Flatpak)、macOS(Apple Silicon / Intel)、Windows(x64 / arm64)
  • 构建工具just 作为命令运行器
  • 后端依赖Jellyfin Media Server(自托管媒体服务)

系统地图

模块责任技术选型
UI Layer渲染 Jellyfin Web UI 并提供桌面壳CEF(Chromium Embedded Framework)
Player视频 / 音频播放mpv(业界最强的开源视频播放器)
Jellyfin API Client跟 Jellyfin Server 通信HTTP API
Packager跨平台打包AppImage / DMG / MSIX

CEF + mpv 的双引擎组合是 jellium-desktop 的核心设计选择:

  • CEF 提供完整的 Chromium 渲染能力,可以直接承载 Jellyfin 的 Web UI,不做"原生 UI 控件 + WebView"的妥协方案
  • mpv 是 Linux 社区最被信任的视频播放器,对硬解、字幕、色彩管理、HDR 都有完整支持,比 Electron 内置的 video 标签强得多

这两个引擎的组合让 jellium-desktop 在"自托管媒体客户端"这个细分赛道里做到接近 Plex Desktop Client 的体验,但完全开源、无云依赖。

关键机制拆解

1. 跨平台打包

README 给出的下载矩阵:

平台格式
Linux x86_64AppImage
Linux aarch64AppImage
Linux (任意)Flatpak(非 Flathub bundle)
Arch LinuxAUR jellium-desktop-git
macOS Apple SiliconDMG
macOS IntelDMG
Windows x64MSI / MSIX bundle
Windows arm64MSI / MSIX bundle

AppImage + Flatpak + AUR 三套 Linux 发行机制意味着无论用户用哪种 Linux 都能装。macOS 提供 Intel / Apple Silicon 双架构 DMG,但 README 提示安装后需要 sudo xattr -cr /Applications/Jellium\ Desktop.app 移除 quarantine。

2. just 命令运行器

项目用 just 而非 Makefile 作为命令运行器。just 是 Rust 写的 Make 替代品,语法比 Make 简洁很多:

# build
build          # Build the app
run *args      # Run the app
run-mpv *args  # Run the mpv CLI

# test
test           # Run tests

# lint
fmt            # Format workspace
clippy         # Lint workspace
strict-lint    # Strict lint workspace

# package
appimage ...   # Linux AppImage
flatpak ...    # Linux Flatpak
dmg            # macOS DMG

Rust 项目用 just 而不是 Makefile 是 2024 年后的常见选择——跨平台一致、语法简单、和 Cargo 工具链兼容。

README 的下载链接全部指向 nightly.link,这是 GitHub Actions 的产物代理服务,让用户在不登录 GitHub 的情况下也能下载 nightly build。这意味着 jellium-desktop 没有传统的 release 节奏,每个 commit 都自动出 nightly——对开发体验友好,但对稳定性敏感的用户需要选 nightly link 而不是 latest release。

适用人群

  • Jellyfin Server 自托管用户:想要一个原生桌面客户端,不想在浏览器里看片
  • Linux 桌面用户:想要 AppImage / Flatpak / AUR 多种安装方式
  • 追求 mpv 播放质量的人:mpv 的硬解、HDR、字幕支持远超 Electron 自带 video 标签
  • 想要跨平台一致体验的人:macOS / Windows / Linux 三平台用同一个客户端

不适合谁

  • Jellyfin 用户基数小的人:1.2K stars + 1 个 maintainer(andrewrabert)的项目长期维护风险需要自己评估
  • 想要商业级 SLA 的人:没有商业支持,遇到问题只能 GitHub Issues
  • macOS Apple Silicon 用户需要 catalyst 优化的人:DMG 是 Intel 兼容包,不是 Universal Binary 优化

仓库地址

https://github.com/andrewrabert/jellium-desktop

阅读路径建议

  1. 下载对应平台的二进制包,安装后跑通
  2. 配 Jellyfin Server URL,验证登录 / 列表 / 播放三条链路
  3. just 的 recipe 列表,了解 build / package 流程
  4. 如果要贡献,读源码前先跑 just strict-lint,确保环境干净