解决 Jellyfin 10.6.x 中文字幕方块问题

本文参考 完美解决 Jellyfin 网页播放器 ASS 中文字幕显示方块的问题 修改而来。

下载字体

字幕方块是由于默认字体不包含中文字符集造成的,可以下载官方扩展字体:NotoCJK
也可以下载该博客提供的 方正准圆的 woff2 版本

修改文件

由于我使用的是 docker 来安装 jellyfin,所以这里说下 docker 下的修改方法。

1
2
[email protected]# docker exec -it jellyfin /bin/bash
/# cp /jellyfin/jellyfin-web/plugins/htmlVideoPlayer/plugin.js /media/

进入 /media 所映射的 NAS 目录下,打开 plugin.js 文件修改:
定位到 fonts:,做下列替换

1
2
- apiClient=connectionManager.getApiClient(item)
+ attachmentsFonts=attachments.map(function(i){return i.DeliveryUrl})

1
2
- fonts:attachments.map(function(i){return apiClient.getUrl(i.DeliveryUrl)})
+ fonts:attachmentsFonts.concat(appRouter.baseUrl()+"/libraries/FZZY_GBK.woff2")

把字体文件解压至 /media 对应的目录。

1
2
/# cp /media/FZZY_GBK.woff2 /jellyfin/jellyfin-web/libraries/
/# cp /media/plugin.js /jellyfin/jellyfin-web/plugins/htmlVideoPlayer/

查看效果

清除浏览器缓存,刷新后打开视频就可以看到中文字幕正常显示了。