Jellyfin 12.0
摘要
Jellyfin 12.0 是一个主要的稳定版本,包括数据库架构更改、性能改进以及对书籍和漫画的支持,需要仔细升级,包括备份和完整库扫描。
暂无内容
查看缓存全文
缓存时间: 2026/09/08 03:34
# Jellyfin 12.0
来源:https://jellyfin.org/posts/jellyfin-release-12.0/
我们很高兴向您推出 Jellyfin 12.0,这是我们新的稳定版本。本次发布延续了 10.11 的方向:完成数据库转换开启的工作,将新基础转化为实际的性能提升,并终于为图书和漫画提供了它们应得多年的支持。
如果您只想快速了解升级和运行系统所需的信息,请直接阅读下方的“概要”部分,或继续阅读以全面了解 Jellyfin 12.0 中的所有主要功能与改进!您也可以在服务器端(https://github.com/jellyfin/jellyfin/releases/tag/v12.0.0)和 Web 端(https://github.com/jellyfin/jellyfin-web/releases/tag/v12.0.0)的 GitHub 发布页面查看完整的更新日志。
\- Cody
## 概要 (https://jellyfin.org/posts/jellyfin-release-12.0/#tl-dr)
信息
**在升级到 Jellyfin 12.0 之前,请务必仔细阅读此部分!** 否则可能导致问题!如果您遇到任何疑问或困难,请随时在我们的聊天室(https://jellyfin.org/contact)寻求帮助。
此版本会更改数据库模式,并在首次启动时主动重写数据,因此回退到之前版本的唯一方法是进行备份。
1. 与以往的重大升级一样,请确保**在升级前停止 Jellyfin 并完整手动备份您的数据和配置目录(https://jellyfin.org/docs/general/administration/backup-and-restore/#manual-backup)**!
2. 升级到 12.0 前,您必须运行 Jellyfin **10.10.7 或任何 10.11.x 版本**。支持从 10.11.x 直接升级,无需中间步骤。如果您当前版本低于 10.10.7,请**先**升级到 10.10.7,然后再升级到 12.0。
3. **升级前请检查您的用户名。** 用户名现在不区分大小写,因此两个账户不能有仅大小写不同的名称。如果您有符合此模式的用户,数据库迁移将会失败。
4. **升级后需要运行一次完整的媒体库扫描。** 作为修复替代版本存储方式的一部分,Jellyfin 在升级过程中会清除那些由系统自动分组的版本(而非您自己合并的版本)。在完成扫描之前,这些版本将显示为缺失。
5. **升级后的首次扫描将比平时耗时显著更长**,并且一些电影可能会显示为新添加。这是预期行为。Jellyfin 现在会检查媒体库中的每个项目与磁盘上的文件,以清除先前版本的残留,并修正任何之前分类错误的文件。**请勿在迁移运行期间停止服务器。**
6. 安装完成后,如果您注意到任何界面异常,请确保硬刷新(例如 Ctrl+Shift+R 或类似操作)和/或清除您的 Jellyfin 实例的 Web 缓存。缓存的资源文件错误是导致此类问题的首要原因。
7. **升级前请移除所有第三方插件。** 为 10.11 构建的插件无法在 12.0 上加载,需要作者提供更新的构建版本。请给予他们时间更新,之后再添加回来。官方插件已更新以支持 12.0。
8. **非常老的第三方客户端将停止工作。** 已移除对旧版`/emby/`和`/mediabrowser/`地址的支持,并且已禁用已弃用的登录方式,包括在现有服务器上。那些多年未更新的客户端将面临风险。
9. 此版本包含安全修复,因此我们建议在您准备好时进行升级,而不是停留在较旧的版本。
10. 与所有重大 Jellyfin 版本一样,错误总会存在。请在错误报告前加上 **“[12.0]”**,以便我们快速分类处理,并请再次查看第 1 点:**进行备份**。
现在,让我们来看看激动人心的新功能!
## 为什么是 12.0? (https://jellyfin.org/posts/jellyfin-release-12.0/#why-120)
此版本最显著的变化在于其名称:我们从命名方案中去掉了主版本号“10”。原本应为 10.12.0 的版本现在简称为 12.0,服务器报告的版本号为`12.0.0`。10.11.x 是使用旧方案的最后一个发布分支。
原因是我们在 10.11.0 之后收到的反馈,这一点我们曾在一月(https://jellyfin.org/posts/state-of-the-fin-2026-01-06#versioning)提出,并在五月(https://jellyfin.org/posts/state-of-the-fin-2026-05-24#versioning)确认。像 10.11.0 这样的版本,以任何合理的标准衡量,都是一个重大版本——它重写了媒体库数据库——但版本号却将其呈现为一次小更新,人们的升级预期也因此降低。开头的`10.`从未改变,也无法传递任何信息,它所做的只是将真正重要的数字推到中间位置,使“重大”版本看起来像次要更新。去掉它意味着当发布内容重大时,第一个数字会变动。
如果您维护任何解析 Jellyfin 版本字符串的工具——客户端、监控检查、部署脚本、容器标签锁定——这是您升级前需要查看的关键项。
## 调优新数据库 (https:// Jellyfin.org/posts/jellyfin-release-12.0/#tuning-the-new-database)
Jellyfin 10.11.0 完成了媒体库数据库工作机制的重建,这为本次版本中的性能优化工作打开了大门。我们尚未完成,但您应该能在浏览时注意到显著差异。
最大的变更之一是播放列表和收藏集的存储方式。之前,播放列表中的所有内容都作为一个大列表保存在播放列表本身内部,数据库无法查看该列表。任何我们需要获取的信息都意味着必须先加载整个播放列表并解包它。获取项目数量、计算观看进度或显示单个页面的成本都与加载整个列表相同。编辑也是同样,因为添加或删除一个项目意味着要重写整个列表。
现在,播放列表中的每个项目都是自己的数据库行。数据库可以计数行、返回单个页面,并在不涉及其余部分的情况下添加或删除单个项目,因此这应该能大幅提升大型播放列表的性能。收藏集和套组之前以相同方式存储,现在也获得了相同的修复。
此外:
- 一次性删除大量项目不再会中途失败。
- 继续观看、接着看、重新观看、音乐的最新媒体、艺术家查找以及文件夹的已观看计数应会变得更快。
- 繁重的数据库维护不再在媒体库扫描期间运行,两者不再争夺相同资源。
大部分改进体现为以前会卡顿的页面不再卡顿。
需要注意的是,这项工作针对的是 Jellyfin 读取媒体库的方式,而非媒体库扫描器。您可能会发现扫描器作为附带效果变得稍快了一些,但本次加速扫描并非主要目标。
### 首次启动时的运行项 (https://jellyfin.org/posts/jellyfin-release-12.0/#what-runs-on-first-boot)
与往常一样,Jellyfin 的新版本附带多个数据库迁移。根据媒体库大小和已积累的错误数据量,这些迁移需要一些时间才能完成。
如果您希望主动运行此步骤,而非在服务器首次启动时自动执行,现在服务器接受 **`\-\-mode MigrateSystem`** 参数,它将执行升级并在启动其余 Jellyfin 组件前退出。
## 剧集支持多版本 (https://jellyfin.org/posts/jellyfin-release-12.0/#multiple-versions-for-episodes)
自引入以来,替代版本一直仅是电影的功能。在 12.0 中,剧集也开始支持此功能,因此拥有不同版本(如公映剪辑版与加长版,或同一剧集的 1080p 与 4K 副本)的剧集,可以像电影一直以来那样进行分组。这包括可跟随您实际观看版本的恢复数据。
这也是升级后需要运行扫描的功能背景:让剧集版本正常工作意味着需要修复版本链接的存储方式,因此自动解析的版本必须从磁盘上的文件重新构建。
## 图书与漫画,这次是认真的 (https://jellyfin.org/posts/jellyfin-release-12.0/#books-and-comics-properly-this-time)
在 Jellyfin 中,图书常常因视频播放而居于次要地位,而本版本是改变这一状况努力的开始。以前 Bookshelf 插件所做的大部分工作现在已移至服务器本身。
在服务器端:
- 无需插件即可直接从 OPF 和 ComicInfo 文件,或从 ComicBookInfo 注释中读取图书元数据。
- 为 EPUB 和所有支持的漫画存档格式生成海报,外部封面也适用于有声读物文件。
- 从图书文件名中读取名称、索引、年份和系列信息,当漫画文件名中包含这些信息时,也会读取卷号和章节号。
- 从漫画存档和 PDF 中提取页数。
- 从有声读物中提取章节。
- Bookshelf 已拆分为独立的 GoogleBooks 和 ComicVine 提供程序,新的 OpenLibrary 插件提供元数据和图像。
- 支持 ISBN 外部 ID 和链接。
在 Web 客户端:
- 新增现代图书库布局,包含视图类型和分页,以及作者、收藏夹和文件夹标签页。
- 图书显示其作者信息,作者则显示其图书和有声读物。
- 阅读界面经过重新设计并标准化,适用于所有图书类型,具有统一的全屏行为,并支持 PDF 的滑动导航。
- 支持的电子书恢复了进度指示器,可按索引编号和发布日期排序,并改进了 EPUB 的字体大小选择功能。
- iOS 设备上支持后台有声读物播放。
注意
Bookshelf 插件已被弃用。其功能已合并到服务器中,或提取到 ComicVine 和 GoogleBooks 提供程序中。
## 更好的推荐,以及插件可扩展的搜索 (https://jellyfin.org/posts/jellyfin-release-12.0/#better-recommendations-and-a-search-that-plugins-can-extend)
“更多类似内容”和推荐行的数据来源不再固定。您现在可以在与选择元数据提供程序相同的位置,为每个媒体库配置数据源,因此可以为电影使用一种源,为音乐使用另一种。
ListenBrainz 作为其中一个源内置在服务器中。将您的音乐媒体库指向它,相似艺术家的推荐将来自真实的收听数据,而不仅仅是标签。
搜索现在也以同样方式工作:插件可以在 Jellyfin 自身的搜索结果旁添加自己的结果。如果您曾希望 Jellyfin 同时在其他地方进行搜索,现在可以通过插件实现,而无需分叉。发布说明中为插件作者撰写了这两个系统的文档。
## 现代布局现为默认布局 (https://jellyfin.org/posts/jellyfin-release-12.0/#the-modern-layout-is-now-the-default)
以前作为“实验性”推出的布局现在简称为 **现代** 布局,在桌面和移动设备上,对于未明确选择其他布局的用户,它已成为默认布局。之前的布局仍然可用,现在称为 **传统** 布局。电视设备保持不变:电视设备继续使用仍在旧版应用上运行的电视布局。
在将其设为默认的同时,该布局也进行了相应的优化:
- 所有主题 - 深色、浅色、WMC、蓝色光辉、Apple TV 和紫色朦胧 - 现在都基于一个共享的、使用 CSS 变量构建的基础主题。如果您维护自定义主题,值得关注。
- 媒体库工具栏已合并到应用栏中,并带有固定的媒体库标题。
- 所有媒体库都提供收藏集和播放列表标签页,收藏集显示在项目详情页面上。
- 更新了音乐视频、混合媒体、收藏集与播放列表以及图书视图,家庭视频和照片媒体库获得了默认标签页选项和文件夹视图。
- 新增音频和字幕语言筛选器、重置筛选器按钮和制片厂搜索。
更新后的现代界面图片
更新后的现代界面图片 - 电影媒体库
## 升级后您可能会注意到的更改 (https://jellyfin.org/posts/jellyfin-release-12.0/#changes-you-may-notice-after-upgrading)
除了上面提到的旧版客户端移除之外,还有一些方面与 10.11 表现不同:
- **字幕设置现为按媒体库配置**,而非一次为整个服务器配置,因此旧的服务器级字幕选项不再存在。
- **排序更加一致**,这意味着一些媒体库的顺序可能与您习惯的略有不同。
- **图像不再拉伸超过其实际尺寸。** 低分辨率海报现在以其实际尺寸显示,而非放大以适应,看起来更小但更清晰。
- **`.ogg`文件被视为音频**,而非视频。如果您有`.ogg`视频文件,它们将在下次扫描时被重新分类。
- **用户名现在可以在大小写之间更改。** 作为此更改的一部分,两个账户不能再有仅大小写不同的名称。如果您的服务器有仅大小写不同的用户名,数据库迁移将失败。
- 符号链接的媒体在播放时跟随,而非在媒体库扫描时。
## 安全性 (https://jellyfin.org/posts/jellyfin-release-12.0/#security)
此版本包含多个服务器端和 Web 客户端的安全修复。其中一些修复了精心构造的请求可能访问 Jellyfin 预定服务目录之外文件的方式。其他修复阻止了在错误配置的服务器上无需登录即可重新运行设置向导、拒绝具有不安全名称的插件包、在更多地方应用家长控制,并修复了 Web 客户端中的跨站脚本问题。
## 新功能与增强 (https://jellyfin.org/posts/jellyfin-release-12.0/#new-features--enhancements)
### 用户体验 - Web 客户端 (https://jellyfin.org/posts/jellyfin-release-12.0/#user-experience---web-client)
- 新增“仍在观看吗?”提示。
- 在播放时使用 `,` 和 `.` 逐帧查找。
- 在拖动进度条时,章节名称会出现在预览气泡中,播放信息叠加层更加紧凑,同时显示更多细节。
- 可以将文件夹标记为已播放。
- 改进了即将播放视图,并在剧集媒体库中添加了全部播放和随机播放按钮。
- 查看照片或阅读时会抑制屏幕保护程序,并在现代布局中提供屏幕保护程序时间设置。
- 具有多个角色的剧组成员合并到单个卡片中,电视剧创作者显示在项目详情页面上。
- 可配置照片幻灯片的延迟时间。
- Web 客户端在浏览器中缓存更多数据,因此您访问过的页面返回更快,图像在高分辨率显示屏上不再模糊。
- 修复了游戏手柄导航、适用于非拉丁键盘布局的快捷键,以及支持遥控器上的快退和快进按钮。
### 管理员体验 - Web 客户端 (https://jellyfin.org/posts/jellyfin-release-12.0/#administrator-experience---web-client)
- 日志查看器可以实时跟踪日志,无需刷新。
- 活动页面支持排序和筛选。
- 相似项目和推荐数据的来源可按媒体库配置。
- Jellyfin 现在使用 `CACHEDIR.tag` 标记其缓存目录,因此备份工具知道跳过这些目录而非备份这些文件。
- 客户端可以请求以特定语言响应,因此拥有偏好不同语言用户的服务器运行得更好。
- 数据库文件可以保存在默认位置以外的其他地方。
- 禁用的插件在重启后不再被重新启用。
- 备份在遇到损坏记录时不再直接失败,并且现在会在恢复备份前或在媒体库扫描运行时启动备份前发出警告。
- 重新设计的启动界面,显示版本和活动信息。
相似文章
jellyfin/jellyfin
Jellyfin 是一款免费开源的媒体服务器,用于管理和流式传输个人媒体收藏,是 Emby 和 Plex 等专有系统的替代方案。
Plex越来越糟糕。Jellyfin是一个不错的替代品吗?
这篇Wired文章探讨了Plex用户为何对最近的功能臃肿和涨价感到失望,并评估了免费开源的替代品Jellyfin——发现它在本地流媒体方面表现出色,但远程访问则需要更多技术操作。
andrewrabert/jellium-desktop
Jellium Desktop 是一款基于 CEF 和 mpv 的非官方 Jellyfin 桌面客户端,提供 Linux、macOS 和 Windows 的跨平台下载。
fin: 一个终端下的 Jellyfin 和 Subsonic 客户端
fin 是一个基于 Rust 的终端客户端,用于 Jellyfin 和 Subsonic 媒体服务器,提供带有进程内音频解码的 TUI,并支持 Chromecast 和 UPnP 播放。
SQLite 3.53.0
SQLite 3.53.0 发布,带来重要的累积改进,包括 ALTER TABLE 约束修改、新的 JSON 函数(json_array_insert),以及通过新的查询结果格式化库实现的重大 CLI 模式增强。