在 Ubuntu 上让 Jellyfin 正常转码,通常需要做以下几步。下面按「最常见、最容易踩坑」的顺序说明。
先确认你是哪种安装方式:
dpkg -l | grep jellyfin
常见有:
后面配置略有不同,但核心都是:FFmpeg + 权限 + 硬件驱动
Jellyfin 转码依赖 FFmpeg。
sudo apt install jellyfin-ffmpeg
验证:
which ffmpeg
# 正常应为 /usr/lib/jellyfin-ffmpeg/ffmpeg
Dashboard → Playback → Transcoding
/usr/lib/jellyfin-ffmpeg/ffmpeg
如果只是 CPU 转码(软解):
Dashboard → Playback → Transcoding
✅ Enable video transcoding
✅ Enable audio transcoding
选支持的格式(如 H264 / H265)
lspci | grep -i vga
常见:
sudo apt install intel-media-va-driver-non-free vainfo
验证:
vainfo
看到 VA-API 即成功
sudo usermod -aG video jellyfin
⚠️ 如果是 Docker,需要映射
/dev/dri
Dashboard → Playback → Transcoding
✅ Intel QuickSync (QSV)
或
✅ VAAPI
ubuntu-drivers autoinstall
✅ NVIDIA NVENC
Docker 需:
devices:
- /dev/nvidia0
- /dev/nvidiactl
devices:
- /dev/dri:/dev/dri
environment:
- JELLYFIN_PublishedServerUrl=192.168.1.100
sudo usermod -aG video jellyfin
sudo chmod 666 /dev/dri/renderD128
播放一个 不支持直接播放 的视频(如 4K HEVC)
Ctrl+Shift+ITranscoding (H264)
| 问题 | 原因 |
|---|---|
| 转码失败 | FFmpeg 路径错 |
| 黑屏 | 权限不够 |
| CPU 100% | 没开硬件转码 |
| Docker 不转码 | 没映射 /dev/dri |
如果你愿意,可以告诉我:
我可以直接给你 一份可直接用的配置。