Jellyfin在Ubuntu上的转码设置指南
安装Jellyfin
推荐通过APT安装稳定版(支持Ubuntu 22.04/20.04/18.04/16.04 64位),或使用Docker镜像(如nyanmisaka/jellyfin,需指定tag避免latest标签)。
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
验证硬件支持
amdgpu-pro/nvidia-driver)并启用VAAPI。Jellyfin依赖ffmpeg进行转码,需确保版本≥4.4(推荐7.1+以支持硬件加速):
ffmpeg_7.1_geminilake.deb),替换系统默认ffmpeg:sudo mv /usr/bin/ffmpeg /usr/bin/ffmpeg.bak
sudo cp /path/to/ffmpeg /usr/bin/ffmpeg
nyanmisaka/jellyfin镜像(如230901-amd64),内置ffmpeg 6.0+,无需额外安装。用于提升低电压模式下的转码效率(适用于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"
QSV(Intel QuickSync);添加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%以下)。
常见问题排查
若使用Docker镜像(如nyanmisaka/jellyfin),需注意:
/dev/dri设备:在Docker容器设置中添加/dev/dri:/dev/dri;