Jellyfin 12.0
621 points • 6 days agoArticle Link

Jellyfin 12.0 是该媒体服务器的一个重要里程碑,结束了将版本号维持在 10.x 的旧做法。这反映出项目把重大架构改动(比如此前启动的大规模数据库重构)视为主版本发布。升级到 12.0 带来了显著的性能提升,尤其是在处理大型播放列表和收藏集时。通过将每个条目重构为独立行而非单一的大列表,服务器在请求处理、编辑和计数方面更高效,从而有效解决了过去大型媒体库容易卡顿的问题。

在升级前,务必先对数据和配置做完整的手动备份。首次启动时会执行大规模的数据库迁移,要求当前版本至少为 10.10.7 。迁移过程中会进行强制的媒体库扫描,因需要验证现有文件并清理遗留数据,扫描时间可能比平时更长。此外,用户名现已不区分大小写,迁移前必须解决可能的账户冲突;第三方插件也需先移除并更新,因为底层框架发生了重大变化。

12.0 对书籍和漫画的支持进行了长期期待的重构。原本依赖 Bookshelf 插件的大部分功能已被直接集成到服务器中,包括从 OPF 和 ComicInfo 文件原生读取元数据、为多种归档自动生成海报,以及改进有声书和电子书的管理。 Web 客户端的阅读界面也大幅更新,导航更统一,对多种文件类型支持更好,使平台在数字阅读方面更具竞争力。

用户体验也有所变化:Modern 布局现在为 Web 和桌面端的默认界面,带来更精致统一的视觉风格。新界面基于使用 CSS 变量的共享基础主题,简化了自定义主题的制作。搜索和推荐系统变得更灵活,管理员可按媒体库配置推荐来源,系统也允许插件扩展搜索功能,逐步摆脱硬编码限制。

底层方面也有大量改进:升级到 FFmpeg 8.1 、为多种 GPU 架构优化了转码性能,并通过 SubtitleEdit 改善了字幕处理。安全性依然是重点,修复了多项文件访问漏洞和跨站脚本风险。虽然内部 TLS/SSL 的弃用已被推迟,开发者仍然强调使用反向代理以提升安全性。需要注意的是,API 存在若干破坏性变更,客户端和插件需更新以适配新的 .NET 10 目标和更新后的 OpenAPI 规范。

355 comments • Comments Link

对于那些担心 Plex 越来越严格的政策和不友好用户行为的人,Jellyfin 成为主要替代方案,尽管它在非技术用户期望的"即插即用"体验上常常略逊一筹。 Plex 仍是许多人的首选,部分原因在于其移动应用 Plexamp 做得非常成熟,能独特地处理复杂的音乐库功能(如"按专辑随机播放")并提供可靠的远程连接。

随着 AI agents 的引入,媒体管理自动化变得更加高效:它们能处理复杂的服务器端任务、调试日志、配置 Usenet providers,并让 *arr stack 实现近乎零维护。专有媒体软件常见的"lifetime pass"模式也让人感到不可靠——用户目睹过许多服务随时间退化或功能被削减,这促使部分人转向像 Jellyfin 这样的开源方案,尽管迁移初期会遇到阻碍。

在 Jellyfin 中,字幕管理仍是反复出现的技术痛点,通常需要借助 Bazarr 或专门的容器配置,才能在不同客户端硬件上保证播放可靠性。性能问题,尤其是库扫描和高分辨率媒体处理,历史上也是阻碍切换的主要因素,但最近版本已显著改进。

关于网络安全的争论凸显了社区分歧:一部分人主张将媒体服务器暴露在公共互联网上以方便访问,另一部分则通过 VPN 、反向代理或 Tailscale 优先保障安全,这往往会限制亲友的访问。 Plex 到 Jellyfin 的迁移还常受文件夹命名规范和元数据处理差异影响,导致有人采取"随意组织"策略或依赖本地 NFO files 来稳定库。技术用户经常对以安全为先的功能(如现代 OIDC 支持)推进缓慢感到不满,而面向消费者的功能(如漫画支持或 UI 调整)却发展迅速。第三方工具生态(包括 Symfonium 、 Infuse 和 Moonfin 等专业客户端)在连接服务器端媒体存储与前端设备可访问性方面起到了关键作用。

从既定媒体平台向开源替代方案过渡,是便利性与长期掌控权之间的权衡。 Plex 提供的那种"it-just-works"的无缝体验对非技术用户来说难以复制,但出于对企业依赖和功能退化的担忧,越来越多长期用户有动力迁移。把现代 AI agents 集成到自托管架构中降低了管理复杂自动化的门槛,有效减轻了此前让许多用户依赖商业产品的维护负担。最终,社区仍分为两派:一派优先稳定性和易用性,另一派则倡导真正自托管、开源的意识形态与实践利益。