温馨提示×

centos jellyfin怎么转码

小樊
68
2026-10-02 23:40:18
栏目: 智能运维

在 CentOS 上让 Jellyfin 正常进行转码(Transcode),一般涉及几个关键点:CPU 软解 / GPU 硬解、权限、依赖包。下面按常见场景说明。


一、确认 Jellyfin 已安装并能运行

systemctl status jellyfin

如果没装:

sudo dnf install jellyfin -y

(或用官方 repo)


二、默认 CPU 转码(软解)

Jellyfin 默认就是 CPU 转码,只要:

  1. 登录 Jellyfin 后台
    控制台 → 播放 → 转码
  2. 勾选:
    • ✅ 允许视频转码
    • ✅ 允许音频转码
  3. 在用户/设备播放时选择:
    • 自动
    • 或手动限制码率(会触发转码)

✅ 一般不需要额外配置
❌ 缺点是 CPU 占用高


三、CentOS 安装 ffmpeg(非常重要)

Jellyfin 依赖 ffmpeg

CentOS 7

yum install epel-release -y
yum install ffmpeg ffmpeg-devel -y

CentOS 8 / Stream

dnf install epel-release -y
dnf install ffmpeg ffmpeg-devel -y

确认:

which ffmpeg
ffmpeg -version

⚠️ 如果系统仓库没有 ffmpeg,需要装 RPM Fusion 或用 Jellyfin 自带 ffmpeg


四、GPU 硬解转码(推荐)

1️⃣ Intel 核显(最常见)

dnf install intel-media-driver -y

把 jellyfin 用户加入 video 组:

usermod -aG video jellyfin

Jellyfin 后台:

  • 播放 → 转码
  • 硬件加速:VAAPI
  • VAAPI 设备:/dev/dri/renderD128

重启:

systemctl restart jellyfin

2️⃣ NVIDIA 显卡

  1. 安装驱动
  2. 安装:
dnf install nvidia-container-toolkit

或宿主机直接:

dnf install ffmpeg

(需支持 nvenc)

Jellyfin 设置:

  • 硬件加速:NVIDIA NVENC
  • 勾选对应编解码器

五、播放时如何触发转码

播放界面:

  • 齿轮 ⚙️ → 质量
  • 选择 低于原片码率
  • 或选“转码”

六、常见问题排查

1. 转码失败

看日志:

journalctl -u jellyfin -f

或后台:控制台 → 日志

常见原因:

  • ffmpeg 不存在
  • 权限不足(/dev/dri)
  • 容器没映射 GPU

2. Docker 用户注意

必须加:

--device /dev/dri:/dev/dri

并映射 ffmpeg


七、最简可用方案总结

✅ CentOS + Jellyfin
✅ 安装 ffmpeg
✅ 默认即可 CPU 转码
✅ Intel 显卡 → VAAPI
✅ NVIDIA → NVENC


如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是否 Docker
  • 显卡型号

我可以直接给你精确命令。

0 踩