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
这样选择烧录字幕时就可以显示正确字幕了