不架服务器的海报墙

更新于 2026 年 8 月 31 日 · 适用于 HarmonyOS 6.0 及以上

一句话:很多人架 Emby 其实只为两件事——有个海报墙记住看到第几集。如果就你自己看,客户端直连 SMB 加客户端侧刮削能把这两件事都办了,还省掉一个要维护、要吃 CPU、升级时会出事的服务端。但如果你需要多人各自账号与权限、服务端统一进度、远程转码,或者多台设备要看到一模一样的元数据,那服务器仍然该架——文末有对照。

先把服务端的活拆开看

「要不要架 Emby」之所以难回答,是因为它被当成一个整体在讨论。把它做的事拆成五件,答案立刻清楚:

  1. 扫描片库、刮削出海报墙。识别片名年份季集,去元数据库抓海报简介演员表。
  2. 记住看到哪儿。已看标记、播放进度、接着看下一集。
  3. 多用户与权限。每个人各自的账号、各自的进度、各自能看到哪些库。
  4. 转码。设备放不动的片源,服务器实时转成能放的。
  5. 远程访问与分享。把库开到外网,或者分享给朋友。

第 1、2 件不需要服务端——它们完全可以发生在客户端。第 3、4、5 件才是服务端真正不可替代的部分。所以真正的问题不是「要不要 Emby」,而是「你用不用得上后三件」。绝大多数一个人看片的场景,答案是用不上。

两条路的对照

架 Emby / Jellyfin / Plex客户端直连 SMB
海报墙服务端刮,多端一致手机上刮,存在本机
看到第几集服务端记,多端共享本机记,鸿蒙设备间可接续
多人各自账号与权限,这是服务端的强项不能,只有「各看各的」
远程转码能,代价是吃 CPU不做转码,靠本机解码
换新手机后登录即恢复,库与进度都在要重新扫一遍,进度不带走
NAS 负载中到高,转码时明显几乎为零,只读文件
要维护什么容器/套件、升级、数据库备份开个 SMB 共享就行
元数据配置在服务端配一次在客户端填 TMDB 或 OMDb 的 Key
适合谁多人共用、要统一进度与远程访问自己看,想省事、想让 NAS 闲着

注意「换新手机后」那一行——这是直连方案最真实的代价,下面单独说。除此之外,直连这一列在个人场景里几乎全面占优,尤其是低配 NAS:那种套牌 J 系列的机器跑 Emby 转码会很吃力,而只读文件它完全吃得消。

海报墙这件事,客户端自己就能办

做法只有三步:

  1. NAS 上开 SMB。在控制面板一类的地方找到文件服务,启用 SMB,给你用的账号一个只读权限就够——播放不需要写权限。不同品牌、不同固件版本的菜单名不一样,但都在这个层级。
  2. 加源。「文件」页右上角 + 添加源局域网与 NAS → 选 SMB 胶囊。这一类顶栏有一颗扫描局域网按钮,点一下同网段在跑的 SMB / NFS / WebDAV / FTP / SFTP / DLNA 服务会列在「发现的设备(点击填充)」下面,点中就自动填好地址。手填的话注意地址要带共享名smb://192.168.1.5/video,只填到 IP 是连不上的——这是最高频的求助原因。填完点测试并保存
  3. 纳入媒体库。加完源不会自动扫描,要点进这个源、浏览到存影视的目录,点顶栏的纳入媒体库。按目录粒度收录是刻意的——整盘扫会把备份、素材、监控录像一起卷进来。撤销就长按同一颗按钮选「将此目录移出媒体库(不删除文件)」。

扫之前记得先在「设置 → 元数据与刮削」里配好 TMDB 或 OMDb 的 API Key,否则只按文件名入库,有条目但没有海报。两家都配的话会互为兜底。

凭什么客户端刮得准

这是最容易被质疑的一点,值得给出原理。识别分两层:目录结构决定「哪些文件该入库、谁是正片、哪几个互为版本」,文件名只决定「叫什么、第几季第几集」。

结构那一层的核心判据是时长比:一棵子树里最长的片子还不到同一部作品正片时长的四分之一,那整棵子树就是附属内容(花絮、样片、菜单片段),不入库。这比维护一张目录名黑名单可靠得多——发布组给附属目录起的名字千奇百怪,SampleScreensBox CoverExternal AC3、中文的「奥斯卡获奖动画长片」,名单永远追不上,而这一条判据一次就能全认出来。另外时长不足六分钟的视频不进媒体库(在「文件」页里仍然看得到也能播)。

同目录多个文件时的三分法也在这一层:变集号 = 分集,变技术参数 = 版本,变片名 = 不同的片。最后一条不能省,否则「蜘蛛侠 8 部合集」目录里平铺的《平行宇宙》《英雄归来》《英雄远征》会被合并成一条,静默丢片而且没有任何报错。识别为多版本时展示层只出一条主版本,取体积最大的那份(不是入库最早的——否则详情页的播放按钮可能去播那个 6MB 的样片),其余进详情页的版本菜单,已看状态会落到全部版本上。

结果是不用为了刮削去重命名整个片库。想把识别率再往上提,见电影刮削完全指南里的命名规范。

「看到第几集」这件事,客户端反而做得更细

这一节是本文的价值锚点。「接着看下一集」看起来简单,实际上有个坑,很多实现都踩了:

自动标记已看通常要播满 95%。而跳片尾直接退出的那一集,永远停在「未看」。如果「接着看哪一集」的判据是「遍历分集,取第一个未看的」,那你追到第二季第五集了,详情页顶部的按钮还一直写着「播放 S1E1」,点下去从头重看——因为 S1E1 你当年就是跳着片尾退的,它至今未被标已看,把整条判定钉死在那里。

正确的判据是最近一条真正看过的进度:没看完就是它(续播点跟着走),看完了才顺延到它之后的第一个未看集;播不满 30 秒的记录直接跳过,继续往更早的记录找——误点开一集不该把你的进度带跑。这一份判据在全应用里只有一处实现,首页的「继续观看」、详情页顶部的播放按钮、服务卡片与小艺的「继续播放某某」问的都是它,所以不会出现「首页指着 S2E5、详情页写着 S1E1」这种自相矛盾。

除此之外,本机进度还带来两样服务端方案给不了的东西:跨设备接续走鸿蒙的分布式能力,手机上看到一半,平板或鸿蒙 PC 上接着放,进度、选中的音轨与字幕、字幕延迟一起带过去;以及桌面上的 2×2 / 2×4 服务卡片直接显示「继续观看」,点一下续播。

诚实清单:这四种情况仍然该架服务器

反向卖点讲到这儿,也得把话说全。以下情形里客户端方案办不到,别硬省:

还有一条不算需求但很实际:已经架好并且跑得好好的 Emby,没必要为了这篇文章拆掉。接进来直接用就是了,服务端刮好的元数据会被完整复用,客户端不再重刮,「重新刮削媒体库」也会有意跳过这类源。做法见鸿蒙有 Emby 客户端吗。两种源可以同时存在于一个媒体库里,不冲突。

常见问题

不装服务端,NAS 会不会反而更累?

相反,会更闲。直连方案里 NAS 只做一件事:按请求读文件发出去,几乎不消耗 CPU。转码才是吃 CPU 的大头,而这条路上没有转码。这也是它对低配 NAS 友好的原因。

换手机之后海报墙要重做吗?

要。媒体库存在本机的 SQLite 里,换设备需要重新加源、重新扫一遍。片库大的话扫描要花些时间,但只是等,不需要重新整理文件。观看进度在同账号同局域网的设备之间能自动合并(前提是新设备上也已经扫到了同一部片),但媒体库本身不会跟着走——这是直连方案最实在的代价,介意的话上面那张表的「换新手机后」那一行就是你该架服务器的理由。

家里几个人共用一台 NAS,但各看各的,行吗?

行,而且天然隔离:每个人在自己设备上扫自己关心的目录,互不干扰,进度也各自独立。缺的是权限控制——SMB 账号能限制访问哪些共享目录,但做不到 Emby 那种「同一个库里按内容分级」。

4K 原盘放得动吗?

看三件事:网络带宽(4K Remux 常见 80Mbps 以上,2.4GHz Wi-Fi 基本没戏)、片源编码能否被设备硬解、NAS 自身读取速度。前两件占绝大多数,详细排查顺序见群晖手机看电影用什么 App

蓝光原盘目录和 ISO 镜像也能直接扫吗?

能。BDMV、VIDEO_TS 原盘目录与 DVD / 蓝光 ISO 镜像会被直接认出主影片播放,不用先解压;多段 VOB 会接成一整条时间轴。正片靠时长挑,比读播放列表稳——压制组常把播放列表弄乱。

片子在网盘里而不是 NAS 上呢?

一样的思路。夸克、UC、天翼、移动云盘以及 AList / OpenList 都能接进来,扫描与刮削流程相同。区别只在加源那一步:网盘四家是在各自的官方登录页登一次,登录成功自动返回、源已经建好。

相关阅读:群晖手机看电影用什么 App电影刮削完全指南Emby、Jellyfin、Plex 怎么选。已经在跑服务端的话看鸿蒙有 Emby 客户端吗