数据从 Plex 迁移到 Emby
从 Plex 搬到 Emby 的人通常带着两样东西:几个 TB 的媒体文件,和多年积累下来的播放列表与观看记录。好消息是第一样几乎可以原样搬走;坏消息是第二样大多要重建。这篇把迁移拆成五个阶段,每一步给出可验证的操作方法与预期结果,照着做完就能得到一个可用的 Emby 媒体库。
在正式开始前,还有两件事值得先做。一是给 Plex 的配置与数据库做一次本地备份,迁移过程中如果你想回滚,有备份就还有退路。二是确认 Plex 与 Emby 不会长期并存运行同一批媒体目录的扫描,两套刮削引擎同时写入会让目录结构变得混乱。迁移可以分周末分批做,但方向要明确:从 Plex 到 Emby,而不是两边并行维护。
先评估能搬走什么
动手之前先盘清楚每类数据的可迁移性,避免对错误的东西抱有期待:
| 数据类型 | 可迁移性 | 说明 |
|---|---|---|
| 媒体文件与目录结构 | 完全可迁移 | 只需按规范整理目录 |
| 元数据与海报 | 需重新刮削 | 两边数据源与存储格式不同 |
| 观看进度 | 大部分丢失 | 可通过插件或手动重建 |
| 播放列表 | 大部分需重建 | 无官方导入途径 |
| 用户与家庭分组 | 需重新创建 | 账号体系不互通 |

唯一需要特别说明的是观看进度。社区里存在一些把 Plex 的观看状态导出、再写入 Emby 数据库的第三方脚本,但这类脚本依赖两边的数据库结构,一旦版本更新就可能失效。对观看进度有强需求的人,可以评估脚本的维护成本;只图省事的,接受重建是更稳妥的选择——反正新库刚建好,进度为一片空白时反而便于验证刮削结果是否正确。
另一样无法迁移的是用户与家庭分组。Plex 的家庭账号体系与 Emby 的用户管理完全独立,迁过来之后需要重新建用户、分配媒体库权限。好消息是 Emby 的用户体系更直接:管理员手动建用户并指定可访问的库,不需要像 Plex 那样依赖云端账号邀请流程,对家里长辈来说反而更简单。
第一步:整理媒体目录
Plex 对目录的要求相对宽松,一个文件夹里混放电影与剧集往往也能被识别。Emby 同样有一定容错,但按规范分库能让刮削准确率显著提高。迁移期的整理原则是:按媒体类型分库、按规范命名、不确定的先单独放。
| 媒体类型 | 目录结构 | 命名要点 |
|---|---|---|
| 电影 | 电影名/电影名.年份.扩展名 | 文件名含年份可大幅减少误匹配 |
| 剧集 | 剧集名/季 XX/剧集名.SxxExx.扩展名 | 季与集号必须规范 |
| 音乐 | 肖人/专辑/曲目.扩展名 | 依赖内嵌标签优先 |
| 有声书 | 书名/分集文件或整本 | 按章节文件命名清晰 |
Plex 用户尤其要检查的是合集目录。Plex 允许把一个系列的多部电影放在同一目录里作为合集管理,Emby 的电影库则更习惯一部电影一个子目录。混放的合集目录导入 Emby 后可以识别,但刮削时容易被当成剧集或重复条目,最好提前拆开成标准电影目录。
如果 Plex 的目录已经是这个结构,直接进入下一步。如果混放严重,先整理再导入,否则后面修刮削错误的时间远大于整理目录的时间。
整理目录时有一个技巧:不要整库一次性搬,而是按媒体类型分批。先把电影库迁过去验证刮削效果,再迁剧集与音乐。蜜月期如果发现命名规范不合适,调整规范后重来的只是一个库,而不是全部内容。每批迁移完都在 Emby 网页端抽查十到二十个条目,确认海报、简介、年份无系统姓错误,再动下一批。
第二步:迁移媒体文件
媒体文件本身不需要任何转换。Plex 与 Emby 都是读取磁盘上的原始文件,媒体格式是 MKV、MP4 还是其他封装两边一视同仁。所以这一步本质上是把目录挪到 Emby 服务端能访问的位置:可以是为 Emby 新建一个共享目录,也可以直接把 Plex 的媒体目录挂载给 Emby 容器。
需要留意的是权限。Docker 部署的 Emby 以容器内进程身份读取媒体目录,如果源目录属于其他用户且权限收紧,容器内会出现扫描不到文件的情况。先在宿主机上确认目录对所有者之外的读取权限开放,或在部署时通过环境变量指定运行用户。
如果媒体文件准备迁移到新的存储位置,迁移过程本身还有两个细节。一是跨盘拷贝几 TB 数据优先用支持校验与断点续传的工具,普通复制一旦中断很难确认哪些文件完整。二是拷贝完成后核对文件数量与总字节数是否一致,再抽查若干大文件的哈希,确认无误后才让 Plex 与 Emby 指向新位置。对存储与文件系统不熟悉的读者,《自组 NAS 完全指南》里有完整的阵列与拷贝实践可以参考。
两套媒体库能不能同时指向同一个目录?可以,但不建议长期这样做。两个服务同时生成各自体系的元数据与缩略图,目录里会出现混杂的隐藏文件,刮削结果也会因各自规则不同而分叉。迁移完成、确认 Emby 侧正常后,及时让 Plex 媒体目录退场。
一个常见疑问是文件移动后观看记录是否还在。回答是:记录与文件位置无关,只与两边各自的数据库相关,所以无论你把文件挪到 Emby 服务的目录还是原地挂载,Plex 里积累的进度都不会自动出现在 Emby。这一点在第四步还会展开。
第三步:重新刮削
媒体导入完成后,刮削是迁移质量的分水岭。Emby 的匹配引擎与 Plex 的自有数据库逻辑不同,对同一批内容可能给出不同的匹配结果,热门影片通常一次成功,冷门内容需要手动干预。
几个能显著提升一次成功率的做法:文件名里带上年份、剧集严格按 SxxExx 命名、避免文件名中出现多余片段如样本分辨率标记或压制组信息。遇到匹配错误的条目,先在影片详情里用手动匹配指定正确 ID,再让媒体库刷新。更多刮削配置的细节见 em-0203。
Emby 与 Plex 在刮削上的一个可感知差异是数据源。Plex 依赖自有数据库,对主流内容匹配精准;Emby 依赖公开数据源,对冷门内容有时需要补填 ID。另一处差异是音乐库:Emby 的音乐刮削对内嵌标签依赖更重,标签不全的专辑建议先在 Plex 或外部工具里修一遍标签再导入。

第四步:重建观看记录与播放列表
观看记录与播放列表没有官方迁移通道。可行做法有三种:最简单是接受重建,新库逐部观看,进度自然累积;其次是在 Plex 里导出观看历史为文件,对照清单在 Emby 里手动标记已看;最彻底是使用第三方脚本直接写库,速度快但需要承担数据库损坏风险,操作前务必备份。
无论走哪条路,都不要在 Emby 数据库上直接尝试没有备份过的写操作。Emby 的数据库结构随版本演进,第三方脚本的兼容性只能保证写书时的版本,之后的变更不会有人替你测试。备份方法在 em-0403 有完整说明。
播放列表的处理同理。Plex 与 Emby 的播放列表都是各自数据库里的内部对象,互不相通。重建时可以参考一个省事的办法:在 Plex 里把旧播放列表的成员清单截图或导出,然后在 Emby 的合集功能里按清单重建。合集比播放列表更适合长期收藏场景,它本质上是媒体库层面的分组,不依赖播放顺序。
第五步:验证与收尾
迁移完成后的验收清单:
| 验证项 | 通过标准 |
|---|---|
| 媒体库计数与 Plex 一致 | 允许少量合并条目差异 |
| 海报与简介正确显示 | 冷门内容抽查若干 |
| 客户端可正常播放并记录进度 | 至少测试两个客户端 |
| 字幕与音轨切换正常 | 外挂字幕单独验证 |
| 播放列表与合集已按需重建 | 长期收藏优先重建 |
抽检时建议覆盖三种内容:一部热门大片、一部冷门纪录片、一部带多季的剧集。这三类能覆盖刮削引擎最容易出问题的三个点:常规匹配、无海报备选、季与季之间的边界。三类都通过,就可以放心收尾了,接下来是用户与权限。
验收过程中遇到个别条目实在刮削不出来,可以先标记为已观看并将匹配锁定,日后再处理。迁移的目的是把图书馆搬过来,而不是在第一天把每本书都整理到完美。
最后一步收尾动作:确认新库运行平稳一段时间后,就可以关闭 Plex 服务并归档其配置目录。保留 Plex 的媒体目录隐藏文件不影响 Emby 使用,但长期看,把这些只在 Plex 世界里有意义的文件清理掉,能让媒体目录回到干净状态,未来无论继续用 Emby 还是再换到 Jellyfin 都更省事。
延伸阅读
- 刮削的进阶配置在 em-0203,服务端优化项清单在 em-0204
- 迁移到 Emby 之后若再考虑 Jellyfin,em-0403 讲了从 Emby 到 Jellyfin 的方向
- 客户端体验的完整盘点见 em-0301,先验证主力客户端再决定是否保留 Plex
- 硬件若同时升级,可参考《自组 NAS 完全指南》与《群晖 DSM 系统指南》的目录与权限章节
