Jellyfin 在 Ubuntu 的常见问题与排查
一 安装与启动
- 使用官方仓库一键安装并验证服务状态,确保安装的是包含 jellyfin-server、jellyfin-web、jellyfin-ffmpeg 的完整包组;安装完成后通过命令检查并启动服务:
- 安装:curl -s https://repo.jellyfin.org/install-debuntu.sh | sudo bash
- 状态:sudo systemctl status jellyfin(应为 active/running)
- 日志:journalctl -u jellyfin -f(实时查看启动报错)
- 若服务已启动但访问异常,优先检查端口监听与进程:
- 监听:ss -ltnp | grep :8096(应看到 0.0.0.0:8096 或 :::8096)
- 进程:ps -aux | grep jellyfin(确认 /usr/bin/jellyfin 正在运行)
二 无法访问与防火墙
- 本机或局域网访问不到 http://服务器IP:8096,常见原因是防火墙未放行或端口未映射(Docker 场景)。
- 快速排查:
- UFW:sudo ufw allow 8096/tcp;如启用 IPv6,补充 sudo ufw allow 8096/tcp comment ‘Jellyfin HTTP’
- firewalld:sudo firewall-cmd --add-port=8096/tcp --permanent && sudo firewall-cmd --reload
- 云服务器:在云厂商安全组放行 TCP 8096
- Docker:确认运行命令包含 -p 8096:8096,且主机端口未被占用(docker ps、ss -ltnp)
- 访问测试:在服务器本机执行 curl -I http://127.0.0.1:8096(返回 200/302 为正常)
三 媒体库刮削与合集识别
- 合集/元数据不生效,多与命名、插件、网络有关:
- 规范命名:电影用“片名 (年份)”,剧集用“剧名 S01E01”,避免特殊字符与缩写
- 插件与语言:启用 TheMovieDb/TheTVDB,设置首选语言;电视剧可检查 TheTVDB API Key 是否有效
- 网络连通:确保能访问 https://www.themoviedb.org 与 https://thetvdb.com;必要时在容器内测试:
- curl -v https://api.themoviedb.org/3/configuration
- 如出现 403/429,考虑更换网络、代理或降低请求频率
- 手动修复:在控制台“查找元数据”手动匹配;必要时为合集添加 nfo 文件
- 版本与日志:升级到最新稳定版;查看 /var/log/jellyfin/server.log,关注 MetadataService/Scraping 相关错误
四 字幕与字体
- 中文字幕显示为方块/乱码,多为系统缺少 CJK 字体:
- 安装字体:sudo apt install fonts-noto-cjk-extra
- 刷新字体缓存:fc-cache -fv
- 重启 Jellyfin:sudo systemctl restart jellyfin
- 如为 Docker,确保容器内能访问宿主机的字体目录或在容器内安装字体包
五 硬件加速与 Docker 专项
- 硬件转码(如 Intel QSV)在 Linux 上需正确启用 VAAPI 驱动与 Jellyfin 转码配置;常见现象是 CPU 占用高、播放卡顿。
- 确认驱动与设备:ls /dev/dri(应见 renderD128 等)
- Jellyfin 控制台:播放 → 转码,启用 VAAPI,视频加速选择 VAAPI,硬件解码选择 VAAPI(Native)
- Docker 运行示例(映射设备与权限):
- docker run -d --name jellyfin
–device /dev/dri:/dev/dri
-p 8096:8096
-v /path/to/config:/config
-v /path/to/media:/media
-e PUID=$(id -u) -e PGID=$(id -g)
jellyfin/jellyfin:latest
- Docker 忘记密码的应急重置(会清空用户数据,谨慎操作):
- 停止容器:docker stop jellyfin
- 进入配置目录:cd /path/to/jellyfin/config
- 备份并清空用户数据:mv users users.bak && mkdir users
- 启动容器:docker start jellyfin(首次登录将创建新管理员)