MDC 生态演变史:从命令行到 Rust 重构的四年之路
在元数据刮削工具领域,MDC 系列工具的发展史几乎就是一部开源项目演进的微缩教科书——从单一的命令行脚本,到 PyQt 图形界面,再到 Rust 现代化的 Web 架构,四年间经历了多次分叉、重构和创新。
开端:yoshiko2/Movie_Data_Capture
一切始于 yoshiko2/Movie_Data_Capture(简称 MDC)。这是最早一批专注于日本影视内容元数据刮削的开源工具。
技术特点:
- Python 命令行工具
- 通过文件名识别番号
- 从 JavBus 等数据源刮削元数据
- 生成 NFO 文件和海报图片
MDC 的贡献在于验证了"自动番号识别 + 多源刮削"这一技术路线的可行性。但其 CLI 界面对非技术用户门槛过高。
命运:MDC 的开源版本现已不活跃,新版本转为闭源商业化。
第一次分叉:moyy996/AVDC
moyy996/AVDC 是 MDC 的第一个重要 Fork,核心贡献是使用 PyQt 实现了图形界面。
关键变化:
- 命令行 → 图形界面
- 降低了用户门槛
- 保留了 MDC 的核心刮削逻辑
AVDC 证明了"刮削工具也可以有好看的界面",但项目并未能长期维护下去。
命运:项目停止维护。
第二次分叉:@Hermit/MDCx
@Hermit 在 AVDC 的基础上继续开发,形成了 MDCx。这一阶段最重要的改进是在 AVDC 的图形界面基础上,对刮削引擎进行了优化。
关键变化:
- 修复了 AVDC 中的多个 Bug
- 优化了多源刮削的并发处理
- 改进了 NFO 文件的兼容性
MDCx 由 @anyabc 在 GitHub 上分发源代码和可执行文件,成为社区中最受欢迎的日本影视刮削工具之一。
命运:2023 年 11 月 3 日,@anyabc 因未知原因销号删库,MDCx 的最后一个社区版本号为 20231014。项目就此停滞。
第三次分叉:ShotHeadman/MDCz
MDCz 由社区开发者 ShotHeadman 发起,基于 MDCx 的代码进行了大幅重构。
关键变化:
- 代码解耦:将 MDCx 中高度耦合的模块拆分为独立的组件
- 配置中心化:统一的配置管理,支持多配置文件切换
- 流程可编排:刮削管道的执行顺序可自定义
- 结果可预览:写入文件前可预览和修正刮削结果
MDCz 的整体架构依然是 PyQt 桌面应用,但其工程实践和代码质量相比 MDCx 有了显著提升。
完全重写:mdc-ng/MDC-NG
MDC-NG(Next Generation)标志着一场彻底的变革——它不再基于 MDCx 的代码,而是使用 Rust + Next.js + SQLite 完全重写。
关键变化:
- Python → Rust,性能提升数十倍
- PyQt → Next.js,桌面应用变为 Web 应用
- 单数据源 → 30+ 刮削源
- 手动触发 → 目录监控自动化
- 本地运行 → Docker/服务化部署
MDC-NG 的技术栈选择反映了刮削工具演进的趋势:高性能、现代化界面、轻量部署。
演变全景
| 项目 | 时间 | 语言 | 界面 | 架构 | 状态 |
|---|---|---|---|---|---|
| MDC | 2021-2022 | Python | CLI | 单体脚本 | 不活跃,已闭源 |
| AVDC | 2022-2023 | Python | PyQt | 初步模块化 | 停止维护 |
| MDCx | 2023 | Python | PyQt | 模块化 | 停滞(v20231014) |
| MDCz | 2024-今 | Python | PyQt | 解耦重构 | 活跃开发 |
| MDC-NG | 2025-今 | Rust | Next.js | 现代化 Web | 活跃开发 |
启示
MDC 系列的演变揭示了几个关键趋势:
从桌面到 Web:早期刮削工具都是桌面应用(CLI 或 PyQt),需要用户在本地操作。新一代工具(如 MDC-NG、AMMDS)都选择了 Web 架构,用户无需安装软件,通过浏览器即可管理刮削任务。
从单语言到多语言混合:Python 在原型开发和小工具中仍有优势,但在追求性能和部署体验时,Rust、Go 等语言正在取代 Python 的位置。
从手动到自动:早期工具需要用户手动触发刮削,新工具已实现目录监控、定时调度等自动化能力。
从单一工具到生态整合:MDC 系列的发展方向是从纯粹的"刮削工具"向"媒体管理平台"演进。MDC-NG 已经开始集成演员管理、任务队列等功能,而 AMMDS 则直接以平台化思维进行设计。
与 AMMDS 的关系
AMMDS 并非 MDC 系列的直接后代,但两者在功能上重叠,理念上互相借鉴:
- AMMDS 吸收了 MDC 系列"番号识别 + 多源刮削"的核心思路
- AMMDS 的插件化架构与 MDC-NG 的模块化设计有异曲同工之处
- 两者都在从"刮削工具"向"媒体管理平台"演进,只是 AMMDS 走得更远
对于用户而言,MDC 系列的轻量化和 AMMDS 的全平台化并非对立关系——很多用户将 MDC-NG 或 MDCz 作为刮削前端,将 AMMDS 作为后端管理平台,构建出适合自己的最佳组合。
结语
从 MDC 到 MDC-NG,四年时间见证了刮削工具的飞速发展。这个故事告诉我们,即使是一个看似小众的技术领域,只要社区有足够的需求和创造力,就能催生出持续迭代的创新产品。未来,随着更多开发者加入这个生态,我们有理由期待更多令人惊喜的工具出现。
