Jellyfin、Emby、Plex 怎么选:自建影视库的真实差异
三者的商业模式、硬解能力、电视端体验差别很大,选错了半年后要重刮几万集元数据。按场景给结论,并说清楚转码这件事为什么决定一切。
这三个工具做的事是一样的:把你硬盘上的电影电视剧整理成一个带海报、简介、续播记录的影视库。但它们的商业模式、转码能力、客户端成熟度差别很大,选错了会在半年后被迫迁移——而迁移影视库意味着重新刮削几万集元数据。
先说结论,后面是理由:
- 纯自用、有 Intel 核显、不想花钱 → Jellyfin
- 家里老人小孩都要用、电视端体验优先、愿意为省心付费 → Plex
- 需要成熟稳定的硬件转码、长期重度使用 → Emby
一、先搞懂一个概念:转码
选择哪套系统,八成取决于你对「转码」的需求。所以必须先说清楚。
直连播放(Direct Play):客户端能直接解码你的原始文件,服务器只负责把字节流发过去,几乎不消耗 CPU。一部 4K 原盘直连播放,N100 这种低功耗芯片也能扛十个人。
转码(Transcode):客户端解不了,服务器得实时把视频重新编码成客户端能播的格式。这时候 CPU 会瞬间打满,必须靠硬件加速(Intel 核显 QSV/VAAPI、NVIDIA NVENC、AMD VCN)才能实时完成。
什么时候会触发转码:
- 视频编码客户端不支持(比如 AV1、HEVC 10bit,很多电视和手机不支持)
- 音频编码不支持(这是最常见的,DTS、TrueHD 绝大多数电视解不了,必须转成 AAC)
- 字幕是 PGS/ASS 这种图形字幕,客户端烧不进画面
- 带宽不够,需要降低码率
所以关键判断是:你有 Intel 核显吗? 有的话,Jellyfin 的 QSV 支持已经很好,N100/N305/i3 都能同时转好几路 4K。如果没有——比如群晖 DS220+ 这类 ARM 或老款无核显机型——那你就只能靠直连播放,选谁都没用。
二、三者的核心差异
授权与费用
Jellyfin 是完全自由的软件,没有账号体系、没有付费档位、没有功能阉割。你不会因为不付费而在某个功能上被卡住。
Emby 早期开源,后来转为闭源。基础功能免费,但硬件转码、影院模式、封面图、离线同步这些都需要 Emby Premiere,按月或买终身授权。
Plex 免费版够用来看片,但硬件转码、移动端播放、离线下载、跳过片头需要 Plex Pass。它还有一个绕不开的特点:需要登录 Plex 账号,媒体库信息会上报到云端。这意味着 Plex 官方服务出问题时,你可能连本地库都打不开,历史上发生过不止一次。
如果「数据不出家门」是你的核心诉求,那这一条基本就能把 Plex 排除掉。
客户端与电视端
这是 Plex 最强的地方。Plex 的电视端 App 覆盖三星、LG、索尼、Apple TV、安卓电视,成熟度和流畅度都领先。Jellyfin 的电视端要靠 Android TV 版或者第三方客户端,在部分智能电视上体验明显不如 Plex,老款电视甚至装不上。
家里如果有不折腾的长辈或小孩,电视端能不能开箱即用,比任何技术参数都重要。这是 Plex 值得付费的唯一理由,也是最重要的理由。
刮削与中文元数据
Plex 自带元数据库最省心,中文片名、演职员信息命中率高。
Jellyfin 用 TMDB/TVDB,需要你在库里配好语言优先级(把中文设为第一),否则默认刮英文标题。配好之后质量也不错,但需要一次额外配置。国内一些冷门剧集在 TMDB 上的中文信息缺失,这时候要靠手动改或者用第三方刮削插件。
外网访问
Plex 有中继服务,不配端口也能从外网访问,代价是带宽受限、画质被压。
Jellyfin 必须自己解决:反向代理 + 域名,或者 VPN 回家,或者 Cloudflare Tunnel。技术上不难,但对不折腾的人是个门槛。
三、Jellyfin 部署要点
用 Docker 部署,关键是把核显直通给容器:
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
network_mode: host # 方便 DLNA 和客户端自动发现
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=1000
volumes:
- /srv/jellyfin/config:/config
- /srv/jellyfin/cache:/cache
- /mnt/media:/media:ro # 媒体库只读挂载,防止误删
devices:
- /dev/dri:/dev/dri # Intel 核显硬解,这一行是重点
restart: unless-stopped
三个容易出错的点:
/dev/dri 不存在。 说明宿主机没有独立显卡设备或驱动没装。用 ls /dev/dri 确认。群晖需要是带 Intel 核显的型号(DS920+、DS1520+ 这类),ARM 机型没有。
用 network_mode: host 而不是端口映射。 Jellyfin 靠 UDP 广播做客户端自动发现,桥接网络下发现会失效。当然 host 模式下它直接占用 8096,注意端口冲突。
媒体目录用 :ro 只读挂载。 影视库目录一旦被容器写坏,几 TB 数据很难救。只读挂载能防住手滑。
硬解需要在 Jellyfin 后台手动开启:管理 → 播放 → 硬件加速选 Intel QuickSync (QSV),勾上 HEVC、VP9、AV1 的解码,勾上「启用硬件编码」。然后放一部 HEVC 的片子,把码率手动调到 3Mbps 强制转码,观察 CPU 占用——如果还是 90%,说明硬解没生效,去看日志里的 ffmpeg 参数有没有 -hwaccel。
四、配套的自动化生态
不管你选哪个,真正让影视库「好用」的是外围工具:
| 工具 | 作用 |
|---|---|
| Sonarr / Radarr | 盯着剧集和电影,自动下载、重命名、整理进库 |
| Prowlarr | 统一管理所有资源站的索引器 |
| Bazarr | 自动下载匹配的字幕,中文片源的救命工具 |
| Jellyseerr | 给家人开的「点播申请」页,审批后自动触发下载 |
| qBittorrent | 下载器,可配限速和计划任务 |
这套组合常被叫做 *arr 全家桶。它和 Jellyfin / Plex / Emby 都兼容——Jellyseerr 三者都支持,所以你不会被锁死在某一个上。
命名规范是这套流程的基础。 目录结构建议:
电影/片名 (年份)/片名 (年份).mkv
剧集/剧名 (年份)/Season 01/剧名 - S01E01.mkv
不符合这个结构的文件,Sonarr 和 Radarr 会拒绝导入或者识别错。
五、按场景给结论
场景一:自己有 Intel 核显的小主机,纯粹自己看。 选 Jellyfin。零成本、硬解够用、不用把账号信息交给别人。花半天配好反向代理,之后的体验和付费产品没有区别。
场景二:一家人都要看,客厅是智能电视,家里有不折腾的人。 选 Plex。为电视端体验付 Plex Pass 是值得的,省下来的沟通成本远超订阅费。
场景三:重度使用,几万集库存,需要稳定的多路硬件转码。 选 Emby。它的硬解和转码调度最成熟,Premiere 的费用相比长期折腾成本不算什么。
场景四:群晖 ARM 机型或没有核显的老机器。 先别急着选软件。你只能直连播放,所以真正该做的是控制片源码率——把片子都转成 H.265 8bit + AAC 音频的组合,市面上主流客户端都能直连,不需要服务器转码。或者加一台 N100 小主机专门跑影视服务。
六、一个反直觉的建议
如果你现在还在犹豫选哪个,先去把片源和目录结构理顺。
我见过太多人在选软件上纠结两周,装好之后发现 80% 的片子因为音频是 DTS 而被强制转码、CPU 打满、播放卡顿,于是认为是软件不行——其实换个软件也一样,问题是文件本身。
真正该先做的三件事:确认你的设备能不能硬解、用 Bazarr 把字幕补齐、把 DTS 音轨批量转成 AAC。这三件做完,用哪个软件都会很顺。