Files
MediaOrganizer/docs/adr/0011-ai-match-duration-resolution-signal.md
Shuery c1ed1795c2
CI / lint + test + build (push) Canceled after 0s
docs: 重写 README、新增项目报告与开发工具配置
- README 现代化重写:徽章区、特性一览、统一 GitHub 提示块格式、修正版本号与 AI 默认值
- 新增 docs/PROJECT_REPORT.md 学术项目报告(含许可证合规分析与死链修复记录)
- 收录 23 份 ADR 架构决策记录与 CONTEXT.md 领域术语表
- 新增开发配置:.editorconfig / .shellcheckrc / .markdownlint-cli2.jsonc
- .gitignore 补充 mo_map/、检查报告、编辑器临时文件
- 新增 config.example.json 配置模板(不含真实密钥)
2026-08-14 22:41:40 +08:00

1.3 KiB

AI 匹配输入补充视频时长/分辨率信号

AI 匹配甄别(match_entries)此前只有文件名 + TMDB 候选数据——"这是剧场版还是周更剧集"、"这个 30 分钟的文件是 OVA 还是正片"这类信息文件名常常不表达,AI 只能猜。决定:构造 match_entries 时对每条待甄别文件运行 ffprobe(已是硬依赖),附加 duration(分钟,一位小数)与 resolution(如 1920x1080),并在 AI_BATCH_PROMPT 明确时长判型规则(正片 ~24min / OVA·特典 ~20-30min / 剧场版 ~70-120min)。

边界语义:① ffprobe 失败 → 字段留空,不阻塞(AI 仍可依据文件名判断)——信号是增强不是前置条件;② 仅对 match_entries(需甄别条目)运行,识别成功路径零额外开销;③ 时长 <1 分钟视为无效(占位/损坏文件不产生噪声信号);④ AI 的 choice 仍须是候选列表成员(沿用现有匹配输入契约),时长只影响选择不产生新候选。

Considered Options: 不传(原状)——AI 无法区分剧场版/OVA;传给所有 search_entries——待纠正条目无候选上下文,时长信号无用且批量 ffprobe 开销大;hachoir 读元数据(BAR 做法)——需新增依赖,ffprobe 已存在且更标准。