解决 Jellyfin 在 Linux 上播放电影字幕显示方框或无法显示的问题

在 Linux 服务器上使用 Jellyfin 观看电影时,可能会遇到字幕无法正常显示或显示为方框的问题。这通常是由于系统缺少适当的中文或国际通用字体(如微软雅黑、楷体、Arial 等)。本文介绍如何从 Windows 复制字体到 Jellyfin 服务器,确保字幕正确显示,特别是在使用 Docker 运行 Jellyfin 的情况下。


问题分析

Jellyfin 依赖系统字体来渲染字幕。如果 Linux 服务器上没有适当的中文字体,字幕可能会:

  • 完全无法显示
  • 显示为方框(□)或乱码
  • 部分字符缺失

这是因为 Linux 服务器默认安装的字体库通常不包含微软雅黑、楷体等常见的 Windows 中文字体,而某些字幕文件(如 ASSSSA)可能明确指定了这些字体。


解决方案:复制 Windows 字体到 Jellyfin 服务器

步骤 1:从 Windows 复制字体

在 Windows 11 或 Windows 10 系统上,字体文件通常位于 C:\Windows\Fonts 目录。我们需要复制以下几种常见的字体到 Linux 服务器:

  • 微软雅黑(Microsoft YaHei):msyh.ttcmsyhbd.ttcmsyhl.ttc
  • 楷体(KaiTi):simkai.ttf
  • Arial(通用英文字体):arial.ttf
  • 华文楷体(STKaiti):STKAITI.TTF

步骤 2:为 Jellyfin Docker 挂载字体目录

如果你的 Jellyfin 是通过 Docker 运行的,你需要将字体目录挂载到容器中。假设你的字体存放在 /mnt/jellyfin_fonts/,可以修改 docker-compose.ymldocker run 命令:

方法 1:修改 docker-compose.yml
version: '3'
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    volumes:
      - /mnt/jellyfin_fonts:/usr/share/fonts/custom
    restart: unless-stopped

然后重新启动容器:

docker-compose up -d

或者随便放到一个可以挂载的目录,在设置,播放中,启用备用字体,这里可以设置备用字体的目录,所以只要选择一个可以访问到的目录即可。 


步骤 3:在 Jellyfin 中启用备用字体

  1. 打开 Jellyfin Web UI(通常是 http://your-server-ip:8096)。
  2. 进入 “设置”“播放”“转码”
  3. 找到 “备用字体” 选项,选择 存放字体的目录。
  4. 保存设置,并重启 Jellyfin。

验证字体是否生效

  • 重新播放之前显示方框的字幕电影。
  • 确保正确选择了字幕,并且它们能够正确显示,而不会变成方框。
  • 如果问题仍然存在,可以检查日志:
    journalctl -u jellyfin --no-pager | grep font
    
    以确保 Jellyfin 已经正确加载了新的字体。

总结

如果在 Linux 上运行 Jellyfin 并遇到字幕无法显示的问题,可以通过以下步骤解决:

  1. 从 Windows 复制常见中文字体(如微软雅黑、楷体等)到 Linux。
  2. 如果使用 Docker,确保正确挂载字体目录
  3. 在 Jellyfin 设置中启用备用字体并选择字体目录
  4. 刷新字体缓存并重启 Jellyfin 以应用更改

这样,你就可以顺利观看带字幕的电影,而不会再出现方框或乱码的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孽小倩

非常荣幸能帮助到你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值