Jellium Desktop — 当你想要一个没有 Electron 卡顿的 Jellyfin 播放器
如果你在 Jellyfin 上运行家庭媒体服务器,你可能面临过客户端选择的困境。官方桌面应用通常感觉过于臃肿,而通过网页浏览则需要在编解码器和字幕方面不断妥协。我最近发现了一个名为 Jellium Desktop 的项目,它用一种简单但有效的方式解决了这些问题。
作者采用了混合方案:使用 Chromium Embedded Framework(CEF)来处理界面,mpv 来播放视频。结果是一款非官方客户端,它看起来像原生 Jellyfin 界面,但通过世界上最强大的开源视频引擎之一来播放视频。
既然有浏览器,为什么还要费这个事
基于网页的媒体播放器的主要痛点是格式支持有限。浏览器很挑剔:它们不喜欢 HEVC,对音频格式感到困惑,经常迫使服务器实时转码。这会增加服务器的 CPU 负载并降低画质。
Jellium Desktop 将解码任务转移到客户端。得益于底层的 mpv,播放器可以处理你扔给它的几乎任何内容。界面保持熟悉——它与你从网页上了解的 Jellyfin UI 相同,只是去掉了多余的浏览器框架,并实现了适当的系统集成。
内部工作原理
该项目使用 Rust 编写,这已经暗示了它试图构建比典型 Electron 构建更高效的东西。架构分为两个部分:
- 界面层。使用 CEF。这保留了与原始 Jellyfin 设计的完全兼容性。你会获得在服务器上配置的所有相同的海报、描述和剧集列表。
- 播放器。不使用标准 HTML5 播放器,而是调用 mpv。这提供了硬件加速、正确的 HDR 支持,而且——重要的是——能够正确渲染复杂的动漫字幕(ASS/SSA),这是许多其他播放器的短板。
有趣的是,开发者使用 just 进行构建管理。这是 make 的现代替代方案,简化了从源码编译项目的过程。
Jellium Desktop 能做什么
尽管是非官方客户端,该项目已经相当成熟,可以日常使用。以下是一些引起我注意的功能:
- 跨平台。支持 Windows、Linux 和 macOS 构建。Intel 和 ARM 处理器都支持(包括 Apple Silicon)。
- 原生视频处理。无需因为浏览器无法理解音频格式而进行服务器转码。
- 轻量级。应用比基于 Electron 的官方 Jellyfin Media Player 响应更快。
顺便说一下,macOS 用户需要注意一个小问题:安装后需要通过终端手动移除隔离属性。这对于未签名软件来说是标准操作,但可能会让新手感到困惑。命令很简单: sudo xattr -cr /Applications/Jellium\ Desktop.app。
值得切换吗
我不会说 Jellium Desktop 是所有其他客户端的"杀手"。作为年轻项目,它有自己的粗糙之处。例如,仓库中目前有相当数量的开放问题,表明项目正处于活跃的完善阶段。
这个项目绝对适合以下人群:
- 无法处理 4K 内容转码的低功耗服务器所有者。
- 使用外部字幕的动漫爱好者和电影观众。
- 欣赏 Rust 并希望支持 Jellyfin 客户端开发另一个分支的人。
如果你厌倦了浏览器中的视频卡顿或服务器风扇加速,不妨试试 Jellium。它是一款扎实的工具,做到了它承诺的一切:直接播放你的内容,无需不必要的中间环节。
你可以在 https://github.com/andrewrabert/jellium-desktop 查看源代码或下载二进制文件。
相关项目