我把家庭影音库搬上了 Jellyfin,在威联通 NAS 上跑影院

周末中秋,我顺手在小米电视上点开 Jellyfin,全家一起在小米电视上看蓝光电影,配合外接的音响,深度沉浸式体验。【关键词:#Jellyfin #威联通NAS #豆瓣刮削】
01|为什么我决定把家庭影音库"上云"到自己家 Jellyfin + 威联通 NAS + 豆瓣刮削,是当前最稳的组合。

第一套是硬盘 + USB 直接插电视:小米电视对 NTFS、exFAT 支持不稳定,字幕经常错位、外挂音轨识别不出来。老婆为了追剧投屏到平板,看着看着突然音画不同步,最后只能回电视重新加载。 第二套是某品牌 NAS 自带的媒体中心:海报墙难看得像 Windows 资源管理器,4K 原盘直接卡死,更别提硬解。
Jellyfin 是 Plex 当年的开源分支,GPLv2 协议,功能覆盖 Plex 90% 但完全免费、移动端不限并发、不限画质,已经不是"爱好者玩具"了。
02|Jellyfin 是什么,为什么我选它而不是 Plex/Emby

Jellyfin 是一个用 C# 写的开源媒体服务器,主项目托管在 GitHub 上。核心逻辑很简单:你把电影、电视剧、动漫按"影片/季/集"的目录结构放在硬盘上,Jellyfin 扫描这些目录、帮你拉元数据(封面、简介、演员表、评分)、生成海报墙,然后在你家里的电视、手机、平板、电脑上提供播放服务。它不替你存数据,只替你整理数据和播放——这是和 Plex、Emby 最大的共同点。
为什么我最后选 Jellyfin 而不是 Emby:
- Emby 在 2018 年把服务端核心从开源转成了"个人免费 + 商业付费"的双轨制,移动端解锁、硬件转码都已经收进 Emby Premiere 订阅,¥448 永久。我不是付不起,是不想为一个本来开源的东西再付一次订阅费。
- Jellyfin 是当年 Emby 开源部分 fork 出来的,主要开发者是从 Emich(Emby 创始人)出走的团队,协议是 GPLv2,社区、客户端、插件生态全都独立维护。它不是"想白嫖 Emby 的项目",是有完整产品节奏的独立项目。
- 客户端生态基本一致:Android TV、Apple TV、iOS、Android、Web 全平台都有原生客户端,体验上 90% 的功能我用不到差异。
03|威联通 NAS Docker Compose 部署:把硬解、目录、权限一次说透
我家那台 NAS 是威联通 TS-464C2,CPU 是 Intel N97,自带一块 Intel UHD 核显。要让 Jellyfin 在 NAS 上 4K 硬解、转码不掉帧,核心不是装上就行,是要把硬件透传、目录映射、权限这三件事一次到位。
我用的是威联通 Container Station 3.x,它本身是 Docker + Compose 的 Web 封装,对外暴露的是 docker-compose.yml。文件结构我直接放在 /share/Container/jellyfin/ 下面:
/share/Container/jellyfin/
├── docker-compose.yml
├── config/ # Jellyfin 配置和元数据缓存
├── cache/ # 转码缓存
└── media/ # 影片库根目录
├── movies/
└── tvshows/
docker-compose.yml 关键片段(2026 年 9 月版本,镜像 linuxserver/jellyfin:10.10.7):
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:10.10.7
container_name: jellyfin
restart: unless-stopped
# 关键:把 Intel 核显设备透传进容器,硬件转码才生效
devices:
- /dev/dri:/dev/dri
# 关键:把 NAS 上的影片库以读写方式挂载
volumes:
- ./config:/config
- ./cache:/cache
- /share/Multimedia:/media:rw
ports:
- 8096:8096
# 关键:给容器一组独立的 uid/gid,避免和 NAS 上其他服务冲突
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
# Intel 核显硬解驱动
- INTEL_DRIVER=i965
第一次启动会有一个 Web 向导(http://NAS_IP:8096),让你建管理员账号、选语言、选元数据语言(这里一定要选"中文(简体)",否则后面海报全是英文)、配媒体库目录。
- 改默认端口:8096 太显眼,我换成 18096 并且只在家庭 VLAN 里开放。
- 在威联通控制台给 Container Station 单独开硬件转码权限:默认 Container Station 对
/dev/dri是没有权限的,要在"特权模式"里勾上"启用硬件加速",否则 4K 原盘播放会直接卡顿。 - 写了媒体库更新脚本:每周日凌晨自动扫描新增文件,而不是每天扫(全量扫描会很吃 CPU)。
- 开了 Jellyfin 自带的 HTTPS 反代:用 Nginx Proxy Manager 套一层 Let's Encrypt 证书,域名走家里动态 DDNS。
04|豆瓣刮削:让影片墙变成真正的"海报墙"
光有 Jellyfin 还不够——默认元数据源是 TheMovieDB(TMDB),海报和简介全英文。对于一个家庭场景,这是不能接受的:我妈看不懂英文片名、孩子不认识国外演员,我自己看 IMDb 评分也只看个大概。我们要的是中文海报墙 + 豆瓣评分。
实现方案是 TMDB 主刮削 + MetaShark 插件桥接豆瓣评分。具体步骤:
第一步,先去 TMDB 申请 API Key(免费、个人版就行)。在 https://www.themoviedb.org/settings/api 申请,10 分钟内通过。
第二步,在 Jellyfin 控制台 → 插件 → 目录里加 MetaShark 仓库:
https://raw.githubusercontent.com/caryyu/jellyfin-plugin-metashark/main/manifest.json
第三步,安装 MetaShark 插件并重启 Jellyfin。重启后在媒体库的"元数据下载器"里勾上 MetaShark,优先级要排在 TMDB 之后,避免它把 TMDB 拉来的英文海报覆盖掉。
第四步,配置 MetaShark 抓豆瓣评分:插件设置里填豆瓣的 Cookie(用 Chrome 开发者工具登录 douban.com 抓 bid 这个 Cookie 即可)。这一步是 MetaShark 桥接豆瓣评分的核心,没有 Cookie 插件就只能拉海报、拉不到评分。
效果:海报墙从"英文海报墙"变成"中文海报墙 + 豆瓣 8 分以上小星星"。我妈现在自己就能在小米电视上翻海报,挑她认识的演员追她想看的剧。我自己的体验也明显改善——看到 6 分以下的片直接划走,比翻 IMDB 8.0 列表省事多了。
坑提醒:豆瓣对未登录用户的接口限流很严,Cookie 一定要用、并且定期更新;MetaShark 在 GitHub 上最近一次提交是 2026 年 8 月,活跃度还行,但如果哪天仓库不维护了,这套方案就只剩 TMDB 一条路——所以插件装好之后建议把仓库 ZIP 包本地备份一份。
最后一句话:家庭影音库的真正成本不是 NAS、不是订阅费、不是电费,是"你愿不愿意把客厅娱乐的基础设施角色拿回自己手里"。Jellyfin + 威联通 NAS + 豆瓣刮削,是当前最稳的组合。
作者:猫咪不吃愚(科技从业者 / 程序员 / 运动爱好者) 写于 2026 年 9 月
本文由作者基于真实部署经历撰写,使用 AI 工具辅助资料整理与文字润色;部署细节、版本号与功能判断均来自作者本人在威联通 NAS 上的实测,所有外部链接与项目名称均按公开资料标注。