MDCz:现代影片元数据刮削与管理工具
· 約3分
在 MDCx 项目停滞之后,社区中涌现了多个继承其衣钵的项目。其中 MDCz 是一个值得关注的新面孔——它在 MDCx 的基础上进行了大量重构,以更现代的架构设计提供影片元数据刮削与管理能力。
项目背景
MDCz(全称 Movie Data Capture z)是由社区开发者 ShotHeadman 发起的项目,基于 MDCx 的代码进行了大幅重构与拆分。项目的核心目标是:
- 提高可维护性:重构 MDCx 中耦合严重的代码模块
- 优化刮削流程:通过架构优化提升刮削效率和稳定性
- 增强兼容性:更好地配合 Emby、Jellyfin 等主流媒体服务器
核心功能
智能番号识别
MDCz 的核心能力是通过文件名自动识别影片的识别码(番号)。它支持多种文件名命名格式,能够从复杂的文件名中准确提取番号信息,这是后续所有刮削操作的基础。
多源元数据抓取
MDCz 支持从多个数据源自动抓取元数据信息,包括:
- 影片标题:原始标题与中文译名
- 封面海报:高清封面图、缩略图
- 演员信息:演员姓名、头像
- 影片简介:剧情描述
- 发行信息:发行日期、时长、制作商
- 标签分类:影片类型标签
NFO 文件生成
MDCz 生成的 NFO 文件兼容 Emby、Jellyfin、Kodi 的元数据标准。这意味着将刮削后的文件直接导入媒体服务器,即可自动识别并展示完整的影片信息。
文件整理
支持对刮削后的影片文件进行自动整理,包括重命名、分类归档等操作,帮助用户建立有序的媒体库目录结构。
技术特点
代码重构
MDCz 对 MDCx 的代码进行了系统性重构:
- 模块解耦:将刮削器、文件处理器、UI 界面等模块分离
- 配置中心化:统一的配置管理,支持多配置文件切换
- 错误处理增强:完善的异常捕获和重试机制
架构优化
相比 MDCx,MDCz 在架构层面的改进包括:
- 刮削流程可编排:支持自定义刮削管道的执行顺序
- 数据源优先级可配置:用户可根据数据源的准确性和速度设置优先级
- 刮削结果可预览:在写入文件前预览刮削结果,允许手动修正
与同系列工具的对比
| 对比维度 | MDC(原始) | MDCx | MDCz |
|---|---|---|---|
| 界面 | 命令行 | PyQt 图形界面 | PyQt 重构版 |
| 代码状态 | 不活跃,已闭源 | 停滞,版本 20231014 | 活跃开发中 |
| 架构 | 单体脚本 | 初步模块化 | 解耦重构,模块分离 |
| 配置方式 | 命令行参数 | 配置文件 | 统一配置中心 |
| 媒体服务器兼容 | 基础 NFO | NFO + 基础兼容 | 增强 NFO + 多服务器适配 |
与 AMMDS 的互补关系
MDCz 和 AMMDS 在目标用户群上有所重叠,但定位不同:
- MDCz 是一款纯粹的"刮削工具",适合已经拥有媒体服务器、只需要元数据刮削功能的用户
- AMMDS 是一个"私人数据平台",除了刮削还涵盖站点认证、资源检索、自动化工作流等功能
对于已经搭建好 Jellyfin/Emby 媒体库、只差元数据刮削这一块拼图的用户,MDCz 是一个轻量高效的选择。而对于希望从零开始建立完整媒体管理体系的用户,AMMDS 的一站式方案可能更具吸引力。
结语
MDCz 代表了 MDC 系列工具在图形界面时代的最新演进方向。通过代码重构和架构优化,它在继承前辈功能的同时提升了自己的可维护性和扩展性。作为开源社区的一分子,MDCz 的活跃开发为元数据刮削工具生态注入了新的活力。
