我们很高兴带来杰利芬(Jellyfin)12.0 这个新稳定版。该版本延续 10.11 的方向,完成数据库转换启动的工作,将新基础转化为实际的性能提升,并终于让书籍和漫画获得多年来应得的支持。若想快速了解升级和运行所需,可阅读下方的 TL;DR 章节,或继续查阅完整的主要功能与改进说明。也可在 GitHub 上查看服务端和网页端的详细更新日志。
正文
Jellyfin 12.0 稳定版延续 10.11 的方向:完成数据库转换、将新基础转化为实际性能工作,并终于给书籍和漫画提供了多年来应有的支持。若只想了解升级须知,可看下方 TL; DR,或继续阅读全面了解新特性。
TL; DR
升级前阅读本节非常重要。本版更改数据库架构并在首次启动时主动重写数据,备份是回退到旧版的唯一途径。
- 重大升级前务必停止 Jellyfin 并完整手动备份数据和配置目录。
- 升级前必须运行 Jellyfin 10.10.7 或任意 10.11.x。从 10.11.x 直接升 12.0 完全支持;更老的先升 10.10.7 再升 12.0。
- 升级前检查用户名。用户名现大小写不敏感,仅大小写不同的两个账户会导致数据库迁移失败。
- 升级后必须全库扫描。修复替代版本存储方式时,自动分组的版本(非手动合并)会在升级中清除,扫描前这些版本看似丢失。
- 升级后首次扫描远超平时,部分电影可能显示为新加入,这正常。Jellyfin 现核对库中每项与磁盘文件以清理旧版残留,迁移运行期间勿停服务器。
- 安装后若遇 UX 异常,硬刷新或清除 Web 缓存,坏缓存是此类问题主因。
- 升级前移除第三方插件。为 10.11 建的插件无法在 12.0 加载,需作者更新;官方插件已支持 12.0。
- 很老的第三方客户端将失效。旧 /emby/ 和 /mediabrowser/ 地址支持已移除,弃用登录方式禁用。
- 本版含安全修复,准备好后建议升级。
- 大版本必有 bug,报告请加 “[12.0]” 前缀,并再次备份。
为何是 12.0?
最明显变化是名称:去掉主版本“10”,原 10.12.0 现为 12.0,服务器报版本 12.0.0,10.11.x 是旧方案末支。原因来自 10.11.0 后反馈:该版重写了库数据库堪称重大发布,但版本号显得像小更新,前导 10 从不改变也无意义,反而把重要数字挤到中间。去掉后大版本时首位才变动。解析版本字符串的客户端、监控、脚本需注意。
调优新数据库
10.11.0 完成了库数据库重建,为本次性能工作开门。浏览时应有明显差异。
最大变化是播放列表和合集的存储。此前整个列表存在播放列表内,数据库无法看内部,取计数或编辑都要加载解包全部。现在每个项目独立成行,数据库可计数、分页、增删单条,大列表改善明显。合集与套装同理。
此外: - 一次性删大量项目不再中途失败。 - 继续观看、下一集、重看、音乐最新媒体、艺术家查找、文件夹已看计数更快。 - 重型数据库维护不在库扫描时跑,二者不争资源。
多数表现为原本卡死的页面不再卡。注意此工作针对读取库而非扫描器,扫描器可能稍快但非目标。
首次启动时运行的内容
新发布带多次数据库迁移,耗时视库大小和坏数据量。若想主动执行而非首次启动进行,服务器现接受 --mode MigrateSystem,迁移后退出不启动其余部分。
剧集的多版本支持
替代版本自引入仅限电影,12.0 起支持剧集,同一集的播出版与加长版、1080p 与 4K 可像电影般分组,含跟随实际观看版本的续播数据。这也正是升级后需扫描的原因:修复版本链接存储,自动解析版本需从磁盘重建。
书籍与漫画,这次认真支持
书籍此前次于视频,本版开始改变,Bookshelf 插件大部分功能移入服务器。
服务器端: - 直接从 OPF、ComicInfo 文件或 ComicBookInfo 注释读元数据,无需插件。 - 为 EPUB 和各类漫画归档生成海报,有声书支持外部封面。 - 从书名解析名称、序号、年份、系列,漫画文件名提取卷期。 - 从漫画归档和 PDF 提取页数,有声书提取章节。 - Bookshelf 拆为 GoogleBooks 和 ComicVine 提供方,新 OpenLibrary 插件提供元数据和图片。 - 支持 ISBN 外部 ID 与链接。
Web 客户端: - Modern 书籍库布局含视图类型、分页及作者、合集、文件夹标签。 - 书籍显示作者信息,作者显示其书和有声书。 - 阅读界面重设计统一,全屏与 PDF 滑动导航统一。 - 进度指示恢复,可按序号和发行日排序,EPUB 字号选择改进。 - iOS 后台有声书播放。
Bookshelf 插件已弃用,功能并入服务器或拆为 ComicVine 和 GoogleBooks 提供方。
更好推荐与可扩展插件的搜索
“更多类似”和推荐行来源不再固定,可按库在元数据提供方处选择,电影音乐可用不同源。ListenBrainz 随服务器提供,音乐库指向它可用真实收听数据做相似艺术家建议。搜索同理,插件可在 Jellyfin 结果旁加自己的,想同时搜别处现在是插件而非分支。
Modern 布局现为默认
原“实验”布局现称 Modern,桌面移动端未显式选择者的默认,旧布局称 Legacy。电视不变仍用 TV 布局。
改进: - 所有主题基于 CSS 变量共享基础。 - 库工具栏并入应用栏,库头 sticky。 - 合集播放列表标签所有库可用,详情页显合集。 - 音乐视频、混合媒体等视图更新;家庭视频照片库获默认标签和文件夹视图。 - 音频字幕语言筛选、重置筛选按钮、工作室搜索。


升级后可能注意的变化
除旧客户端移除外: - 字幕设置按库而非全服。 - 排序更一致,部分库顺序稍变。 - 插图不再拉伸过真实尺寸,低清海报显真实大小更锐利。 - .ogg 作音频非视频,视频 ogg 下次扫描重排。 - 符号链接媒体在播放而非扫描时跟随。
安全
本版含服务器和 Web 客户端安全修复,堵住构造请求访问服务目录外文件,防配置错误服务器重跑安装向导,拒不安全插件包名,更多处应用家长控制,修 Web XSS。
新特性与增强
用户体验 - Web 客户端
- “仍在观看”提示。
- 播放中逗号句点逐帧拖移。
- 拖进度条时预览泡显章节名,播放信息叠层更紧凑。
- 文件夹可标已看。
- 改进即将上线视图,剧集库播放全部和随机按钮。
- 看照片或阅读时抑制屏保,Modern 布局可设屏保时间。
- 多角色演职员合并卡片,剧集创作者显详情。
- 照片幻灯延迟可配。
- 浏览器缓存更多,已访问页更快,高清屏插图不糊。
- 游戏手柄导航修,非拉丁键盘快捷键,遥控快退快进支持。
管理员体验 - Web 客户端
- 日志查看器实时跟随。
- 活动页排序筛选。
- 相似项推荐源按库配。
- 缓存目录标 CACHEDIR.tag 供备份工具跳过。
- 客户端可请求指定语言响应。
- 数据库文件可存非默认位。
- 禁用插件重启不重启用。
- 备份遇损不整体失败,恢复或扫描中备份前警告。
- 启动界面重设计显版本活动。
- 合集播放列表按库筛选。
- Live TV:XMLTV 背景图与缩略图导入,不返回不可达串流 URL,未变节目跳过使刷新更廉。
- 元数据:电影用 TVDB ID,AudioDb 艺术家搜索,读 ReplayGain,MusicBrainz 更韧,识 WEB-DL,季集文件夹设提供方 ID。
- 解析提供方 ID 支持花括号圆括号,新别名 tvdb、imdb、tmdb。
- 优化数据库任务现分析清理,刷新人物任务清理移除者。
- Live TV:EPG 尊 SchedulesDirect 错误码防锁,HDHomeRun 直玩,M3U 默认重混。
- 播放列表库图可设所有用户,允许重复曲目。
转码与媒体处理
- 上游 FFmpeg 8.1。
- 优化 CUDA 转置、OCL 缩放与色调映射(后者特指 Mali GPU)。
- HLG 色调映射用 BT.2446 Method B 的 EOTF。
- 合规 dvh1 HLS 变体供杜比视界 Profile 5。
- 修 HLS 转视频重混音 A/V 不同步。
- 字幕经 SubtitleEdit 写,避 SSA 转 ASS 样式损。
- VobSub 支持,转码时外字幕嵌 MKS,提取超时可配,基于图字幕重混时客户端渲染。
- 安卓 TV 盒不能旋转视频的设备配置项。
- Trickplay 扫现有文件不重建,不产隔行重复,容坏时间戳,失败自清。
- Web 客户端设备支持:webOS 25+ MKV 杜比视界,TV 客户端 AV1 直流,Tizen 变形视频直玩,iOS 熄屏后台播及修音归一化变速调。
客户端开发变更
HTTP API
- 弃用授权默认禁。
- GetItems 异步,请求筛选时应用 recursive 限含 includeItemTypes,结果集可能异于 10.11。
- ItemByName 限响应并去重人物。
- 过时仍用:GetTrailers 等换 GetItems 或 GetPersons 等,UserDto.HasPassword obsolete。HLS 控制器隐藏。
- Swashbuckle 升 v10,OpenAPI 文档变,SDK 需重生。
- 移除路由:若干 obsolete no-ops,GET /QuickConnect/Initiate 改用 POST。 API 政策:未列规范不用,标 obsolete 不用,弃用标整主版本周期后移除。
插件
- 服务器目标 .NET 10,若干接口变,插件需重定重建。
- 插件新能力:供搜索结果、相似推荐、漫画元数据、未播缺集、聚合演职员、非视频章节、未知用户密码重置、数据剪时自清文件,Live TV 查 Schedules Direct。
- 涉及替代版本或播放列表内容的插件需注意,现不存父项内,有新库方法。
- 完整接口变在发布说明。
内置 TLS/SSL 支持弃用
10.11 宣布本版移除内置 TLS,现推迟至未来。理由未变,仍建议反向代理。用内置 TLS 的联网实例借此时迁移而非豁免。
评论
这场讨论整体氛围积极务实,多数人认可 Jellyfin 12.0 的进步,尤其称赞升级流程和性能改善;分歧主要围绕开发优先级:有人觉得字幕、UX、安全性这些基础问题还没做好,项目却在忙着加漫画支持和性能优化,方向让人困惑。
升级到 12.0 的体验比预期顺利,性能问题基本解决
- 有用户从 10.10.7 直接升到 12.0,整个迁移只花了几分钟,唯一的小插曲是部分条目需要重新扫描才出现(较多人)
- 之前 10.11 性能糟糕的用户这次也放心升级,经过 7 个 RC 的打磨,12.0 在第三方应用里的表现甚至好过 10.10 和 10.11(较多人)
字幕问题是 Jellyfin 的阿喀琉斯之踵
- 在 Android 客户端投屏到 Chromecast 时,字幕显示存在严重 bug:能看到字幕轨道存在但画面不显示,手动添加会卡在进度圈,删了旧字幕再加新的又不成功,每次都得提前折腾很久(少数人)
- 用户强调这不是抱怨开源项目,只是希望有人能注意到并改进(少数人)
安全性和基础 UX 没做好之前,先做性能和漫画支持是优先级错乱
- 把产品做得能安全暴露到公网之前就搞性能优化和漫画书支持,这种排期让人费解;原生客户端支持 OIDC 也比这些更该先做(少数人)
- 有用户建议改进两处基础体验:删除媒体时应明确提示“永久丢失”而不是含糊的“将从 Jellyfin 移除”;另外项目常被认为只在局域网用,但不该因此忽视安全性(少数人)
从 Plex 转投 Jellyfin 的用户越来越多
- 有 Plex 终身会员表示,Jellyfin 的进步让他很有安全感,等 Plex 哪天做出最伤用户的行为时至少有个软着陆;他还提到用 Claude 协助配置 *arr 套件后,媒体请求几乎不再需要人工干预(少数人)
- 另一位用户说 Plex 在自己的服务器上始终无法流畅播放,换到 Jellyfin 后一切都顺滑了(少数人)
有价值的补充
- 一位开发者因为自己的项目域名以 jelly 开头,结果被大量误以为是 Jellyfin 官网的用户注册,被迫关闭开放注册,改为一次性邀请码(个别趣闻,但反映出 Jellyfin 的知名度上涨)
- 库扫描日志难以解读是痛点:想排查某部电影为什么没出现在媒体库里时,日志根本看不出它是否被扫描过;用户希望能有一个只关注扫描过程的独立日志模块(少数人)