阅读量:24
Jellyfin在Ubuntu上的转码设置指南
一、前置准备
-
安装Jellyfin
推荐通过APT安装稳定版(支持Ubuntu 22.04/20.04/18.04/16.04 64位),或使用Docker镜像(如nyanmisaka/jellyfin,需指定tag避免latest标签)。- APT安装步骤:
sudo apt install curl gnupg software-properties-common curl -fsSL https://repo.jellyfin.org/$(awk -F'=' '/^ID=/{print $NF}' /etc/os-release)/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg echo "deb [signed-by=/etc/apt/keyrings/jellyfin.gpg] https://repo.jellyfin.org/$(awk -F'=' '/^VERSION_CODENAME=/{print $NF}' /etc/os-release) $(awk -F'=' '/^VERSION_CODENAME=/{print $NF}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/jellyfin.sources sudo apt update && sudo apt install jellyfin
- APT安装步骤:
-
验证硬件支持
- Intel CPU:确认核显型号(如UHD 600/605),需支持Intel QuickSync(QSV);
- AMD/NVIDIA:需安装对应驱动(如
amdgpu-pro/nvidia-driver)并启用VAAPI。
二、安装/升级ffmpeg
Jellyfin依赖ffmpeg进行转码,需确保版本≥4.4(推荐7.1+以支持硬件加速):
- 手动安装(Ubuntu):
从SynoCommunity下载对应架构的ffmpeg包(如Gemini Lake用ffmpeg_7.1_geminilake.deb),替换系统默认ffmpeg:sudo mv /usr/bin/ffmpeg /usr/bin/ffmpeg.bak sudo cp /path/to/ffmpeg /usr/bin/ffmpeg - Docker镜像:
使用nyanmisaka/jellyfin镜像(如230901-amd64),内置ffmpeg 6.0+,无需额外安装。
三、配置硬件转码(以Intel QSV为例)
1. 加载GuC/HuC固件(可选但推荐)
用于提升低电压模式下的转码效率(适用于Jasper Lake/Elkhart Lake等新架构CPU,如J4105):
sudo apt update && sudo apt install -y linux-firmware
echo "options i915 enable_guc=2" | sudo tee /etc/modprobe.d/i915.conf
sudo update-initramfs -u && sudo update-grub
sudo reboot
# 验证固件加载
cat /sys/kernel/debug/dri/0/i915_guc_load_status # 应显示"RUNNING"
cat /sys/kernel/debug/dri/0/i915_huc_load_status # 应显示"RUNNING"
2. 设置Jellyfin转码参数
- 进入Jellyfin Web界面→播放→转码:
- 转码器:选择
QSV(Intel QuickSync); - 硬件解码:勾选核显支持的编解码格式(如HEVC、VP9);
- 硬件编码:开启;
- 低电压模式:若已加载GuC/HuC,开启以提升效率;
- 允许HEVC编码:开启(用于4K HDR视频);
- VPP色调映射:根据需求开启(需核显支持,如UHD 600支持OpenCL色调映射)。
- 转码器:选择
四、权限与设备访问
-
添加Jellyfin用户到渲染组
允许Jellyfin进程访问/dev/dri/renderD128设备:sudo usermod -aG render jellyfin sudo systemctl restart jellyfin -
验证设备权限
确认/dev/dri目录权限:ls -l /dev/dri # 应显示render组可写(如crw-rw----+ 1 root render 226, 128)
五、测试与优化
-
测试转码效果
播放4K HDR视频(如HEVC 10bit),查看Jellyfin控制台是否显示“硬件转码”状态,同时用top命令监控CPU占用(硬件转码时CPU占用应显著降低,如从90%降至40%以下)。 -
常见问题排查
- 转码失败:检查ffmpeg版本(需≥4.4)、硬件设备权限(是否加入render组)、GuC/HuC固件是否加载;
- 色调映射慢:降低低电压模式的频率(如从“性能”模式调至“平衡”),或关闭VPP色调映射。
六、Docker版额外设置
若使用Docker镜像(如nyanmisaka/jellyfin),需注意:
- 挂载
/dev/dri设备:在Docker容器设置中添加/dev/dri:/dev/dri; - 开启特权模式:允许容器访问硬件设备;
- 指定ffmpeg路径:在Jellyfin设置中留空“ffmpeg路径”,使用系统默认ffmpeg。