본문으로 건너뛰기

MDC-NG:Rust 重构的下一代刮削引擎

· 약 4분
萌森
新疆萌森软件开发工作室

当 MDC 系列工具走过 CLI、PyQt 图形界面时代,MDC-NG(Next Generation)的出现标志着这一系列工具进入了全新的技术纪元。采用 Rust + Next.js + SQLite 技术栈的 MDC-NG,在设计理念和工程实践上都与前代工具截然不同。

项目定位

MDC-NG(Yet another Movie Data Capture tool)是一个完全从零构建的元数据刮削工具。它不是 MDCx 或 MDCz 的简单升级,而是一次彻底的重写——在吸收前代工具功能经验的基础上,选择了全新的技术路线。

项目的核心设计目标可以概括为:高性能、现代化、易部署

技术栈解析

后端:Rust

选择 Rust 作为后端语言是 MDC-NG 最具标志性的技术决策。Rust 带来的优势包括:

  • 极致性能:Rust 的原生性能远超 Python,多线程并发处理刮削任务时优势显著
  • 内存安全:Rust 的所有权系统保证无垃圾回收停顿,适合长时间稳定运行的服务
  • 零成本抽象:编译为单一二进制文件,镜像体积 < 300MB,启动速度极快
  • 内存占用低:运行时内存占用 < 300MB,在 NAS 等资源受限设备上表现优异

前端:Next.js

相比前代工具使用 PyQt 构建桌面界面,MDC-NG 选择了 Next.js 构建 Web 管理界面:

  • 响应式设计:桌面和移动端均可使用
  • 现代交互体验:支持主题切换、NSFW 模式、实时日志推送
  • 零客户端安装:通过浏览器即可访问,无需安装额外软件

数据库:SQLite

  • 零配置:无需单独部署数据库服务
  • 轻量易维护:单文件存储,备份迁移方便
  • 性能足够:对于个人媒体库场景,SQLite 的性能完全够用

核心功能

智能刮削

MDC-NG 的刮削引擎支持 30+ 刮削源,覆盖了市面上主流的元数据数据库。其智能刮削流程包括:

  1. 番号自动识别:从文件名中智能提取影片标识符
  2. 多源并行查询:同时在多个数据源中搜索匹配的元数据
  3. AI 人脸识别裁剪:智能定位演员面部区域,生成标准尺寸海报
  4. 日亚高清海报:从 Amazon Japan 搜索下载高质量海报素材

多种整理模式

MDC-NG 支持 5 种文件整理模式,满足不同存储场景的需求:

模式说明适用场景
硬链接节省空间,文件系统级别共享本地 NAS 存储
复制完整的文件副本跨盘迁移
移动文件移动到目标目录整理归档
软链接创建符号链接灵活映射
原地整理在原目录生成元数据不想改变文件结构

目录监控

MDC-NG 提供两种监控模式:

  • 性能模式:使用文件系统事件监听(inotify/FSEvents),实时响应文件变更,适合本地存储
  • 兼容模式:定时扫描文件系统,检查更新,兼容网络挂载等特殊文件系统

演员管理

MDC-NG 支持联动 Emby 自动刮削演员信息和图片,数据源涵盖维基百科、minnano-av、graphis、gfriends 等多个演员数据库。

图片处理

  • AI 人脸识别智能裁剪海报
  • Amazon Japan 高清海报下载
  • 支持视频/图片为背景的海报,可选择保留片名或人脸检测
  • 4K/8K 分辨率影片类型水印标签

任务管理

MDC-NG 提供完整的任务管理与记录系统:

  • 任务持久化:完整的刮削记录,支持状态追踪
  • 批量操作:批量重试、停止、删除等管理功能
  • 详情页面:美观的刮削详情页,含画廊展示和元数据分析
  • 日志分析:详细的刮削日志和错误信息

数据源生态

MDC-NG 支持 30+ 刮削源,覆盖各类视频类型,并且支持:

  • 优先级配置:用户可为数据源配置优先级
  • 防反爬机制:自动处理请求频率、User-Agent 伪装等
  • 自动重试:失败时自动切换到备用数据源,提高刮削成功率

部署体验

MDC-NG 在部署便捷性上做了大量工作:

  • Docker 一键启动:官方提供 Docker 镜像,docker compose up -d 即可运行
  • 单文件部署:Rust 编译后的单一二进制文件,部署无复杂依赖
  • 版本更新轻量:更新仅需约 60MB 的下载量

与 AMMDS 的对比

对比维度MDC-NGAMMDS
后端语言RustJava SpringBoot
前端框架Next.js (React)Vue3
数据库SQLitePostgreSQL
部署方式Docker / 单文件Docker / Windows Launcher
刮削源30+ 内置刮削源插件化扩展
功能边界专注刮削与整理刮削 + 站点 + 订阅 + 推送一体化
镜像体积< 300MB因包含完整平台功能而更大

MDC-NG 在"纯粹刮削"这个赛道上做到了极致——用 Rust 的高性能换来了流畅的批量处理体验,用 Next.js 的现代化界面提升了用户交互感受,用轻量化设计降低了部署门槛。它与 AMMDS 是差异化竞争的关系,分别服务于不同偏好的用户群体。

结语

MDC-NG 的出现证明了元数据刮削工具还有很大的创新空间。Rust + Next.js 的技术组合不仅带来了性能上的飞跃,也为后续的功能拓展奠定了良好的基础。对于追求极致性能和现代交互体验的用户来说,MDC-NG 是一个非常值得尝试的选择。