Jellyfin 部署与影视库搭建

为什么是 Jellyfin

自建影音中心的三巨头:Plex、Emby、Jellyfin。Plex 要订阅、Emby 高级功能要订阅,Jellyfin 完全免费开源,没有付费墙、没有账号服务器,所有数据都在自己 NAS 上。对已经有 NAS 又不想每月掏钱的玩家,Jellyfin 是默认答案。它在 Container Manager 里部署一个项目就能跑,客户端覆盖手机、平板、电视、网页。

Jellyfin 和 Video Station 不是二选一。Video Station 胜在和 DSM 打通,Jellyfin 胜在生态:刮削强、客户端多、插件丰富、海报墙漂亮。两个库可以指向同一个媒体文件夹,各看各的索引,不冲突。

项目部署:一份可照抄的 compose

Jellyfin 官方提供镜像,部署只需要一个容器。有 Intel 核显的机型把 /dev/dri 传进去开启硬件转码,没有就去掉 devices 那两行:

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    user: 1026:100
    ports:
      - "8096:8096"
      - "8920:8920"
      - "7359:7359/udp"
    volumes:
      - /volume1/docker/jellyfin/config:/config
      - /volume1/docker/jellyfin/cache:/cache
      - /volume1/video:/media
    environment:
      - TZ=Asia/Shanghai
      - JELLYFIN_PublishedServerUrl=http://NAS的内网IP:8096
    devices:
      - /dev/dri:/dev/dri
    group_add:
      - "937"

user 换成你自己的 UID:GID,group_add 的 937 是群晖 videodriver 组的 GID(也可以 SSH 上去 grep video /etc/group 查实际值)。/media 映射整整一个媒体根目录,库在容器内按 /media/电影、/media/剧集 组织。

端口 用途 是否必须映射
8096 HTTP 主服务 是
8920 HTTPS 主服务 用 HTTPS 时映射
7359 局域网客户端发现 可选

部署完访问 NAS的IP:8096 就进首次配置向导。这一步如果显示一直转圈,多半是 JELLYFIN_PublishedServerUrl 没写对。

首次扫描会很慢,媒体库的扫描进度在控制台的「任务」里可以查看。扫描完成后海报墙才成型,期间别反复刷新页面,刮削是排队执行的,乱点只会让任务队列更乱。

配置文件的备份

Jellyfin 的所有设置、用户、播放记录都在 /config 目录里。这个目录不大,却决定了整个库的体验。Hyper Backup 给 docker 文件夹加一条备份任务,顺手就保护了 Jellyfin 的全部配置。必要时把 config 拷到新 NAS 上重建项目,整个库连同用户一起复活,不用重新配置。

首次配置与媒体库

向导很简单:选语言、建账号、添加媒体库。添加库时「类型」选准(电影、剧集、动漫各自分开),「媒体路径」指向容器内的 /media 子目录。推荐勾选「实时监控」之外的扫描计划:每隔几小时扫一次,避免和 Video Station 的索引打架。

刮削语言设置很关键。Jellyfin 默认用英文元数据,中文片名刮出来一堆英文标题很难受。在「控制台、仪表盘、资料库」里,每个库都能设置首选元数据语言为中文、地区为中国。国内影视剧建议同时开 TMDB 和 TheMovieDb 之外的备用刮削器,冷门老片匹配率高不少。

动漫库单独建一个,类型选「节目」但把提供音译标题的选项打开。动漫的命名规范和真人电影差别很大,混在一起挂刮削器会怀疑人生。

库建好之后值得花十分钟调三个全局设置:默认播放的音轨语言优先中文、字幕默认中文、转码码率上限按家里带宽留出余量。这三个设置决定了全家人打开视频时的默认体验,不调的话每个人都有一次手动切音轨的烦躁。

没有硬件转码支持的机型要格外注意码率上限的设置,外网播放 4K 时转码压力全在 CPU 上,软解分分钟把 NAS 拖到满载。码率上限按客户端屏幕尺寸来设:手机 1080P 足够,电视才需要原码。转码的实际调优细节见硬件转码一篇。

Jellyfin数据落点

Jellyfin建库流程

用户与权限

Jellyfin 的多用户能力比 Video Station 强。管理员账号管库,每个家人一个普通账号,各自有观看记录和收藏。家长控制可以给小孩账号设内容分级限制,也可以隐藏特定库。访问控制里还能按 IP 段限制,比如只允许内网段访问管理功能。

客户端登录用的是「用户名加密码」,不区分大小写这点要注意。多人账号的密码统一在控制台重置,别让家里人自己改密码改到找不回来。

客户端怎么选

客户端 平台 体验要点
网页端 全平台 零安装,功能最全
官方 App iOS、Android 基础免费够用
Jellyfin Media Player Win、Mac、Linux 桌面首选
第三方电视客户端 部分电视平台 挑选时确认兼容版本

电视盒子上的客户端是家庭场景的关键。预算够就上 Apple TV 或 Nvidia Shield,常见的 Android 盒子装第三方 Jellyfin 客户端也能用,解码能力参差不齐,买之前查一下芯片对 H.265 和音频直通的支持。客户端选择困难的可以先用网页版,跑顺了再投资硬件。

外网访问是 Jellyfin 的进阶玩点,涉及反代、证书和带宽,本系列外网观影一篇专门展开。容器层面的准备工作现在就能做:把 8920 端口留出来,JELLYFIN_PublishedServerUrl 记住填的是外网准备用的地址。

插件与日常维护

Jellyfin 的插件生态比 Video Station 强一档。常用的有:TMDB 补充刮削、字幕下载、片头片尾跳过、主题界面替换。装插件在控制台的「插件」目录里一键完成,装完重启容器生效。注意插件适配版本,跨大版本升级前先把用不上的旧插件禁掉,开不了机的故障多半是插件不兼容。

日常维护就三件事:定期清理 cache 目录(转码缓存能吃掉几十 GB)、关注镜像更新、有空翻翻控制台的播放失败日志。转码缓存目录可以在配置里设上限,超了自动清,省得手动盯。

缓存清理可以直接删 cache 目录里的转码子目录,不必停容器,Jellyfin 会自己重建。想偷懒的也可以加一条计划任务每周清理一次。

什么配置带得动

Jellyfin 的吃硬件程度完全取决于转码场景。局域网原码播放时,任何能跑 DSM 的机器都够;一旦涉及外网转码或者客户端不支持原格式,CPU 就是瓶颈所在。对照自家机型看看处在哪一档,心里就有数了:

机型档次 典型代表 直连播放 转码能力
入门 J 系列 1080P 流畅 基本转不动
中端 Value 系列 4K 流畅 1080P 勉强
主流 Plus DS423+/DS923+ 类 4K 流畅 支持 QuickSync 的可以 4K
旗舰 Plus DS2422+ 往上 4K 流畅 多路 4K 有压力

转码能力不只看 CPU 型号,还得看核显支持的编解码格式,ARM 机型和 AMD 机型走的又是另一套接口。不确定自己机器能力的,转码一篇里按型号列了详细对照表,照着查就行。

内存方面 Jellyfin 本身 1 GB 足够,加疂数据库和转码缓存所以建议给到 2 GB 上限,整机留 4 GB 给 DSM 是底线。

延伸阅读