媒体整理
媒体整理帮管理员回答两个问题——同一部片存了几个重复版本、哪部剧缺了哪季哪集——并把「删除重复版本文件」做成可演练、可暂停、可重试的任务队列。

能做什么
先说清边界:媒体整理只做「删除重复版本文件」这一种写操作(含演练模式),重复检查与缺集检查都是只读分析。它不做重命名、不做移动、不建目录;刮削也不在整理队列里,那要在条目详情单独触发。
- 按可排序的保留规则找出同一作品的多个版本,给出推荐保留项。
- 用 TMDB 季集数据对比本地断季断号,列出缺季与缺集。
- 把删除动作任务化:先演练出待删清单,确认后再真删。
界面与操作
入口在侧边栏「媒体整理」(#/media-organizer),标题「媒体整理」、描述「检查重复媒体、缺集记录与整理队列」,三个页签:重复检查 / 缺集检查 / 处理队列。整理偏好只存在当前浏览器里。
重复检查
三步走:规则 → 重复项 → 版本详情。开始前必须先选媒体库和媒体类型(电影 / 剧集),否则会提示「避免全库检查导致数据量过大」。检查是异步的,提交后等结果出来。
7 条保留规则可以上下移调整优先级,排在前面的优先级更高,默认顺序如下:
| # | 规则 | 展开配置 |
|---|---|---|
| 1 | 优先 2160P | — |
| 2 | 优先 HDR | — |
| 3 | 优先 1080P+ | — |
| 4 | 优先文件格式 | 格式优先级列表:mp4 / mkv / ts / m2ts / mov / avi,默认 mp4 > mkv |
| 5 | 优先挂载源 | 「优先网盘挂载源」下拉:按节点 / 挂载源名选择,或选「按媒体库来源顺序」 |
| 6 | 优先文件更大 | — |
| 7 | 优先最近更新 | — |
「优先挂载源」不区分具体目录路径:选中某个网盘挂载源后,该源下的版本就在这条规则里优先保留。自定义规则模板是另一套逻辑,它不会自动逐集执行,只对已勾选的分组一键批量生效:
| 模板项 | 可选值 |
|---|---|
| 保留分辨率 | 2160P / 1080P / 720P / SD,默认 2160P + 1080P |
| 额外保留 HDR 版本 | 选中 2160P 且开启 HDR 时,优先保留 1 个 2160P SDR + 1 个 2160P HDR |
| 每类保留数量 | 1 / 2 / 3 |
结果视图上的操作:
| 操作 | 说明 |
|---|---|
| 搜索 | 按剧名或文件名过滤 |
| 仅显示有冲突 | 只看存在多版本的分组 |
| 展开收起 | 分组内版本列表的展开状态 |
| 加入本次清理 / 取消本集勾选 | 单集级别的勾选 |
| 提交与重置 | 批量重置;单组提交,或按已勾选批量提交 |
| 保留决策标注 | 「推荐保留:{分辨率} HDR」;规则判不出来时标「需要人工确认」 |
| 版本详情 | 列出分辨率、HDR、音轨语言、字幕语言、文件大小、节点与挂载源、文件名、源更新时间与标签 |
缺集检查
只检查剧集,判定方式是本地季集号连续性加 TMDB 季集数据对比:
| 项 | 说明 |
|---|---|
| 缺季组 | 已存在季 / 应存在季 / 缺失季 |
| 缺集组 | 已存在 / 应存在 / 缺失集号 |
| 判定来源标注 | 来自 TMDB 显示「TMDB 对比」,否则显示「本地断季」或「本地断号」 |
| 筛选 | 全部 / 未处理 / 已处理 |
| 标记已处理 / 未处理 | 只存在当前浏览器里 |
处理队列
界面上的演练模式写着「先用演练模式生成待删清单,不真正删除文件」,演练任务不下发到 Storage 节点。状态机共 11 态:
| 状态 | 说明 |
|---|---|
| 排队中 / 准备中 / 下发中 | 任务已创建,正在准备或下发 |
| 处理中 | 正在执行,此时不能删除队列记录 |
| 暂停中 / 已暂停 | 已暂停,可以继续 |
| 演练完成 | 演练模式跑完,只产出了待删清单 |
| 已完成 / 已取消 | 终态 |
| 失败 / 部分失败 | 终态,可重试失败和未执行项 |
队列上的操作与详情:
| 能力 | 说明 |
|---|---|
| 暂停 / 继续 | 运行中的任务可以暂停后再继续 |
| 重试 | 重试失败和未执行项 |
| 删除队列记录 | 处理中的任务不可删,删除时提示「文件删除结果不会回滚」 |
| 进度 | 进度条 + 总文件 / 成功 / 失败计数 |
| 文件明细 | 分页展示,可按文件名 / 路径 / 节点搜索,可输入页码跳转 |
| 节点任务 | 按节点与挂载源列出各自的执行状态、计数与最后错误 |
| 自动刷新 | 间隔可选 手动 / 1 / 2 / 5 / 10 / 30 秒 |
真正的删除在 Storage 侧执行,由定时任务 organizer.delete.poll 每 15 秒轮询一次。
关键规则
| 规则 | 说明 |
|---|---|
| 只做一种整理动作 | 删除重复版本文件(含演练);不支持重命名、移动、建目录 |
| 删除不可回滚 | 文件删除结果不会回滚,先跑演练确认待删清单再真删 |
| 演练不碰网盘 | 演练任务不下发到 Storage 节点 |
| 不做全库扫描 | 重复检查必须先选媒体库与媒体类型 |
| 缺集标记不持久 | 「已处理 / 未处理」只在浏览器本地,换浏览器或清缓存就没了 |
| 文件名 ID 后缀 | 匹配时剥离 [tmdbid-xxx] / [imdbid-xxx] 再参与匹配 |