树莓派折腾记录 |
您所在的位置:网站首页 › jellyfin不显示字幕 › 树莓派折腾记录 |
1.解决媒体库显示方块 jellyfin默认的字体是DejaVu,容器内的路径为/usr/share/fonts/truetype/dejavu,所以比较省事的解决方法是把该路径映射出来,并且把我们自己的字体文件重命名放在目录里面。默认字体目录下有如下内容: DejaVuSans.ttf DejaVuSans-Bold.ttf DejaVuSansMono.ttf DejaVuSansMono-Bold.ttf DejaVuSerif.ttf DejaVuSerif-Bold.ttf有网友说选一个.ttf直接复制六份并按照原有文件重命名就可以,但是我怕界面太难看,还是想把字体跟实际需求对应上。于是经过一番调研,发现该项目: 虽然字体的名字看不太懂,不过我们只需要下载Sans,SansMono,Serif这三类字体的常规和加粗字体即可。打开项目release下载如下内容 Language Specific OTFs Simplified Chinese (简体中文):中文简体Sans(NotoSansCJKsc) Language Specific Monospace OTFs Simplified Chinese (简体中文):中文简体SansMono(NotoSansMonoCJKsc) Language Specific OTFs Simplified Chinese (简体中文):中文简体Serif(NotoSerifCJKsc)这样原来的每个字体我们都有对应的替换字体了。字体的对应的关系如下。 NotoSansCJKsc-Regular.otf → DejaVuSans.ttf NotoSansCJKsc-Bold.otf → DejaVuSans-Bold.ttf NotoSansMonoCJKsc-Regular.otf → DejaVuSansMono.ttf NotoSansMonoCJKsc-Bold.otf → DejaVuSansMono-Bold.ttf NotoSerifCJKsc-Regular.otf → DejaVuSerif.ttf NotoSerifCJKsc-Bold.otf → DejaVuSerif-Bold.ttf下载下来的字体是.otf类型的,我们需要把它转换成.ttf类型。这一步经过各种调查,我选择了一个个人认为比较简单的方法fontools。首先需要安装python包。 pip3 install fonttools然后我们可以直接用现成的脚本转换,链接如下: 使用很简单,比如 python3 otf2ttf.py NotoSansMonoCJKsc-Regular.otf -o DejaVuSansMono.ttf一条一条的输入点麻烦,可以利用对应关系针对我们的情况单独写一个脚本,改的比较丑就不放了,最后自动化成果如下: 然后我们把之前提到的目录进行映射,我是docker-compose启动的,直接映射这个目录即可 volumes: - /xxx/myfonts:/usr/share/fonts/truetype/dejavu然后重启jellyfin,在封面图上选择"修改图片",删除已有的封面图。然后再进入控制台-计划任务,触发“提取剧集图片”,重新生成封面图。最后可以看到媒体库的字体问题已经解决了。 2.解决字幕显示方块其实按上面的方法操作过后字幕也已经正常了,以前是方块的ASS字幕完全正常观看。Web和客户端都没有问题。 所以主要记录一下字体的转换。在备用字体处提到了可以使用.woff2格式的字体。 搜索的时候有发现.woff2字体确实比较适合该应用场景,所以我们把刚才下载的.otf字体再转成.woff2字体好啦。首先安装相关工具 sudo apt install woff-tools然后直接转换 woff2_compress NotoSansCJKsc-Regular.otf最后把字体放到之前的文件夹就可以啦。 最后的最后,欢迎大家关注我的公众号最爱吃甜食查看本期文章,有问题可以私信或者公众号留言~ |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |