我把家庭影音库搬上了 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 上的实测,所有外部链接与项目名称均按公开资料标注。