Jellyfin 版本发布 - v10.6.0
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
历经数月的开发,我们迎来了又一个重磅版本更新,本次包含超过30项重大改进和海量修复。
在服务器和网页客户端共计合并超过500个拉取请求后,Jellyfin 10.6.0带来了数量惊人的新功能、改进和错误修复。这是一个里程碑式的版本,内容极其丰富,让我们即刻开始探索吧!
近期各大平台纷纷推出与好友共享观影体验的功能。在当前全球特殊形势下,这显得尤为必要,而Jellyfin也毫不落后。
我们自豪地宣布Jellyfin 10.6的核心功能:SyncPlay。
SyncPlay允许您创建房间,供其他用户或客户端加入,共同享受同步观影体验。房间人数没有上限,您还可以使用同一账户从多个设备加入相同房间。
特别感谢首次贡献者OancaAndrei,他向服务器(jf#2733)和网页客户端(jf-web#1011)提交了实现此功能的基石代码。现在,您足不出户就能与亲朋好友同步欣赏影视内容。
该功能将在未来版本中持续优化,但在开发周期中已被众多用户实际使用,客户端间延迟仅数毫秒。
迁移至Entity Framework Core
这项工作已筹备多时,感谢新团队成员barronpm,我们的数据库模型重构正稳步推进!
此前Jellyfin采用SQLite数据库(是的,多个数据库)、XML文件和C#混合方案处理数据操作。信息分散存储于多处,甚至存在重复,且主要在C#层面进行过滤处理,未能充分利用数据库引擎的高效性能。
在本开发周期中,barronpm成功梳理了复杂架构,将ActivityDB(jf#2970)和UserDB(jf3148)迁移至EF Core。
虽然仍有工作待完成,但EF Core将带来更快的查询速度、多数据库引擎支持、更简洁的代码结构以及显著降低的内存占用。当前我们仍通过桥接层连接新EF Core数据库与现有代码,后续将逐步优化。
内存优化部分归功于:当前继承的自定义ORM为弥补性能不足,会在内存中全量缓存数据。对于大型数据库,这可能造成数百MB的内存浪费。而EF Core将繁重任务交由数据库引擎处理,既提升响应速度又降低整体内存消耗。
首次启动Jellyfin 10.6时将自动迁移数据库。尽管迁移流程已通过数月严格测试,仍不排除可能出现意外情况。为避免数据丢失,请务必在开始迁移前备份现有数据文件。
更现代化的网页客户端
长久以来,我们的网页客户端深受技术债务积重难返之苦,根源在于项目初始分叉时仅提供了压缩版 本源码,且采用了过时的网络技术。这些陈旧技术直到近期仍阻碍着我们使用现代化 JavaScript 工具链,而这类工具本可大幅优化源码结构。
值得庆幸的是,MrTimscampi 已通过引入 Gulp 工具重塑构建流程 (jf-web#862),成功解决了这一困境。这项改进不仅让我们能借助 Babel 使用前沿 JavaScript 特性,还大幅简化了对老旧客户端(尤其是早期 WebOS 和 Tizen 版本)的兼容支持。
在迁移至 Gulp 构建体系的过程中,Camc314、cromefire、Delgan、dkanada、grafixeyehero、MrTimscampi 和 sarab97 等贡献者携手推动项目逐步弃用 RequireJS,转向标准的 EcmaScript 模块化方案。
这项重大变革完成后,网页客户端的构建流程将大幅简化,进而为迁移至 Vue 框架奠定基础,彻底重构代码结构。随着技术债务的清理及过时代码库的移除,未来版本还将带来显著的客户端性能提升。
服务器性能优化、错误修复与网络功能改进
我们的常驻 C# 性能优化专家 Bond-009 持续致力于消除服务器源码警告并提升性能,期间同步修复了多处程序缺陷。
mark-monteiro 为 10.6 版本贡献了多项修复,包括重构管理员控制面板中的网络设置模块 (jf#2774, jf-web#1140)。
团队成员 nyanmisaka 在 artiume 协助下,主导实现了多项转码功能增强 (jf#2809, jf-web#1046, jf#2821, jf#2715):新增格式切换开关、为老旧 GPU 提供关闭 HEVC/10 位 VP9 视频转码的选项、支持 FFmpeg 4.3 的 VP8/VP9 QSV 与 NVDEC 解码器、优化 UTF-16 字幕支持等。
其他服务端改进包括修复合集元数据问题 (jf#3117)、优化元数据提供程序 (jf#3071, jf#3056, jf#3289),以及更多核心功能模块迁移至插件体系 (jf#3208)。
更多网页客户端改进
Itegulov 和 dkanada 通过集成基于 epub.js 的 EPUB 阅读器 (jf-web#1263),显著增强了电子书支持能力。未来版本还将逐步添加更多格式的阅读器支持,包括 CBZ/CBR 和 PDF 格式。
在使用新版 10.5 详情页面的数月间,我们发现仍有优化空间。团队成员 MrTimscampi 在 Web 团队和其他用户的反馈支持下,对该页面进行了二次优化 (jf-web#949, jf-web#1206),既精简了设计又修复了若干视觉问题。Delgan 则通过避免音轨选择器渲染时的页面跳动问题 (jf-web#1406) 为页面增添了最终润色。


团队成员 ferferga 和贡献者 samuel9554 致力于重构音乐体验模块。在 10.6 版本中,他们彻底重制了移动端音乐播放器界面,并对迷你播放器及远程播放器 UI 进行了大幅改进 (jf-web#1056, jf-web#1430)。


MrTimscampi 重构了图片加载系统 (jf-web#1065),通过卸载视野外图片修复了视觉问题并优化了内存占用。与此同时,ferferga、GranPC、JustAMan 和 Bond-009 在服务端和 Web 客户端同步实现了 Blurhash 占位符支持,为界面带来更精细的视觉呈现。
JustAMan 针对新版 SSA/ASS 字幕渲染系统进行了深度优化,显著提升了特效字幕的渲染性能 (jf-web#1144, jf-web#1095, jf-web#1048, jf-web#1005)。尽管该功能仍被视为实验性质,现已能够准确渲染绝大多数字幕并保持稳定的性能表现。
Web 客户端的其他改进包括:重构的图片查看器 (jf-web#967)、媒体库单页项目数量配置选项 (jf-web#983)、Chromecast 客户端夜间版切换开关 (jf-web#1242),以及多插件仓库支持 (jf-web#1393, jf#3244)。
赞助渠道:Patreon 与 GitHub
随着项目活跃度持续攀升,我们想借此机会推广几种支持 Jellyfin 日常开发者的方式。
我们想强调,虽然部分贡献者个人接受财务捐赠,但 Jellyfin 及其功能永不会设置付费门槛。资金支持开发者完全出于自愿,不会因此获得独家功能或优先支持,也不会影响功能需求或问题处理的优先级。
我们出色的公关与开发者关系维护者 anthonylavado 通过 Github Sponsors 接受捐赠。
主导服务器开发并推动 EF Core 迁移的 barronpm 近期开通了 Patreon 页面。
横跨服务器与网页客户端的开发者 dkanada 通过 Github Sponsors 接受捐赠。
网页客户端贡献者、本地化专家 ferferga 通过 Github Sponsors 接受捐赠。
专注 Android TV 客户端开发的 nielsvanvelzen 可通过 Github Sponsors 获得支持。
负责网页客户端优化与现代化的 MrTimscampi 近期也开通了 Patreon 页面。
Jellyfin for Kodi 开发者之一 oddstr13 在 Github Sponsors 接受捐赠。
负责 iOS/Android 客户端并参与 Android TV 开发的 thornbill 可通过 Github Sponsors 获得支持。
贡献者名单
最后,我们要衷心感谢所有让 Jellyfin 10.6 成为现实的贡献者: