Kan
Kan
Published on 2024-12-12 / 67 Visits

Jellyfin字幕字体与字幕内设置字体不匹配的异常情况与处理方法

1 异常体现

1.1 前提

已经将ASS字幕文件中的需求字幕放入Jellyfin备用文件夹中

个人设置页字幕设置烧录为自动

已开启备用字幕

1.2 表现情况

仅在一个系列(2季)中出现
在播放视频时未出现理应出现的字幕字体(ASS文件中的标定字体),且出现缺字情况

BanG Dream! 少女乐团派对! (2017) S2与S3

异常体现

2 错误原理

此异常的原理在经过排查后发现:
Jellyfin会自动调用备用字体中最小的文件作为默认字体而不调用ASS文件的字幕
且会忽略ASS文件的字体设置

ASS文件的字体调用,并无该异常字体 TA-rb.otf

2.1 触发猜测

经过查看ASS文件与Jellyfin日志,发现有单个字体大小超过Jellyfin备用字体限制(20mb)无法发送,但仅为两季中的一季的ASS文件有此缺陷,却两季都出现了该异常情况

调用与缺失(大小过限)的字体在ASS中均为非主要字体

可能的情况:Jellyfin检测到无法发送其中一个字体(缺少字体或超出大小),便选择默认字体,即在备用字体文件夹中最小的字体,整体覆盖了ASS文件的设置导致的

二次测试时备用字体文件夹的文件内容

可以看到在仅有两个字体的情况下依旧出现了该错误字体显示

3 解决方法

3.1 解决思路

由于字幕烧录设置在个人设置页面,而个人设置无法固化,在不同设备上初次登陆时均为默认选项

优先保证字体的正常显示,如需特殊字体可以自行在用户界面选择烧录复杂字幕

选择烧录字幕时会调用系统字体

3.2 解决步骤

清空备用字体文件夹

将最通用字体放入备用字体文件夹,作为在非烧录字幕下的默认字体

仅有通用字体的备用字体文件夹

选择另外的文件夹,放入所有字体

带有所有字体的文件夹

将此文件夹映射到Jellyfin下的系统字体文件夹/usr/share/fonts

这样选择烧录字幕时就可以显示正确字幕了


Comment