Jellyfin TV版中文字幕显示为方框乱码的解决方案

        NAS白群辉,通过三方套件中心部署Jellyfin,之前在手机和PC端使用均正常,近期在电视上安装了TV版的Jellyfin后发现在加载ass格式的字幕后中文乱码,显示为方框,英文正常。

        经过查阅资料后基本判断是Jellyfin服务器端没有内置中文字体,且TV客户端也没有可替代字体导致的,大多数现有的文章建议在Jellyfin控制台中设置启用备用字体(本地Client中,在控制台-播放-转码-备用字体文件路径设置一个只包含1种中文字体的文件夹),实际尝试后发现并没有作用,感兴趣的同学也可以自己试一下。

        既然备用字体没有用,那么就从Jellyfin的默认字体上想办法,Jellyfin的默认字体名为Dejavu,我们想办法把这个字体替换成一个中文自己就可以了。

        首先在NAS的控制面板中开启SSH:

        然后通过SSH访问群辉(可以使用MobaXterm这一类的免费SSH软件),使用具有NAS管理员权限的用户名,并且需要知道对应密码:

        找到Jellyfin的字体目录(我的在/volume1/@appstore/jellyfin/share/dejavu/fonts中,如果你的NAS使用Docker安装Jellyfin或者没有安装在群辉的存储空间1中,那么地址可能会有变化)

cd /volume1/@appstore/jellyfin/share/dejavu/fonts

         里面有这些字体:

/volume1/@appstore/jellyfin/share/dejavu/fonts$ ls
DejaVuMathTeXGyre.ttf       DejaVuSansCondensed-BoldOblique.ttf  DejaVuSansCondensed.ttf         DejaVuSansMono-Bold.ttf     DejaVuSans-Oblique.ttf      DejaVuSerif-Bold.ttf                 DejaVuSerifCondensed-Italic.ttf  DejaVuSerif.ttf
DejaVuSans-BoldOblique.ttf  DejaVuSansCondensed-Bold.ttf         DejaVuSans-ExtraLight.ttf       DejaVuSansMono-Oblique.ttf  DejaVuSans.ttf              DejaVuSerifCondensed-BoldItalic.ttf  DejaVuSerifCondensed.ttf
DejaVuSans-Bold.ttf         DejaVuSansCondensed-Oblique.ttf      DejaVuSansMono-BoldOblique.ttf  DejaVuSansMono.ttf          DejaVuSerif-BoldItalic.ttf  DejaVuSerifCondensed-Bold.ttf        DejaVuSerif-Italic.ttf

        可以看下这些文件的大小,没有超过1M的,肯定不支持中文。

        从windows中找到随意一个中文字体(C:\Windows\Fonts),例如微软雅黑,将其改名为DejaVuSans.ttf,然后通过NAS的页面上传至任何一个共享文件夹(例如/volume1/Backup_Phone_SS1/)。

        通过sudo命令将原先的DejaVuSans.ttf删除(可以先做个备份),然后将新文件拷贝至字体目录:

sudo rm DejaVuSans.ttf
sudo cp /volume1/Backup_Phone_SS1/DejaVuSans.ttf /volume1/@appstore/jellyfin/share/dejavu/fonts

        拷贝过来后ll该目录下,应该是这样的: 

drwxr-xr-x 1 sc-jellyfin synocommunity     1086 Jul 20 22:37 .
drwxr-xr-x 1 sc-jellyfin synocommunity       30 May 29 18:16 ..

...

-rw-r--r-- 1 sc-jellyfin synocommunity   251932 May 29 18:16 DejaVuSansMono-Oblique.ttf
-rw-r--r-- 1 sc-jellyfin synocommunity   340712 May 29 18:16 DejaVuSansMono.ttf
-rw-r--r-- 1 sc-jellyfin synocommunity   635416 May 29 18:16 DejaVuSans-Oblique.ttf
-rw------- 1 root        root          16093132 Jul 20 22:37 DejaVuSans.ttf
-rw-r--r-- 1 sc-jellyfin synocommunity   347460 May 29 18:16 DejaVuSerif-BoldItalic.ttf
-rw-r--r-- 1 sc-jellyfin synocommunity   356088 May 29 18:16 DejaVuSerif-Bold.ttf

...

          新拷贝过来的字体在权限、所属用户和用户组与其他字体不同,Jellyfin无法调用,需要通过以下命令,修改DejaVuSans.ttf的权限和用户组:

sudo chmod 644 DejaVuSans.ttf
sudo chown sc-jellyfin:synocommunity DejaVuSans.ttf

        之后就可以打开电视享受有字幕的电影了,如果还不显示,可以逐步将字体目录下的所有文件均替换为中文字体,然后再重启下Jellyfin的NAS服务即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值