- Fix markdown lint issues (MD030, MD047, MD051, MD028, MD005) - Update AI agents, architecture, implementation docs - Add new identity, face recognition, and API documentation - Remove deprecated face/person API guides
6.8 KiB
Processor 状态分析报告
Date: 2026-04-28 21:00 Video UUID: 384b0ff44aaaa1f14cb2cd63b3fea966 (Charade 1963)
输出文件状态
| Processor | 输出文件 | 文件大小 | 内容统计 |
|---|---|---|---|
| OCR | 384b0ff44aaaa1f14cb2cd63b3fea966.ocr.json |
13MB (607KB lines) | 13728 frames |
| Probe | 384b0ff44aaaa1f14cb2cd63b3fea966.probe.json |
558B | Metadata |
| Face | ❌ 缺失 | - | - |
| YOLO | ❌ 缺失 | - | - |
| ASRX | ❌ 缺失 | - | - |
processor_results 状态
| Processor | status | chunks_produced | error_message | 真实状态 |
|---|---|---|---|---|
| ASR | completed | 3664 | - | ✅ 成功 |
| CUT | completed | 1332 | - | ✅ 成功 |
| OCR | failed | 0 | Failed to run... | ⚠️ 矛盾(输出存在) |
| Face | failed | 0 | Failed to read FACE output | ⚠️ 矛盾(face_detections 有78条) |
| YOLO | failed | 0 | Failed to run yolo_processor.py | ❌ 真实失败 |
| ASRX | 无记录 | - | - | ❌ 未运行 |
数据矛盾分析
OCR 状态矛盾
processor_results: failed, chunks_produced = 0 实际输出: 13MB JSON, 13728 frames, 412343 frame_count
原因推测:
- OCR processor 运行成功
- processor_results 记录错误(可能是写入失败)
- chunks_produced 未统计
影响: OCR 数据可用,但 processor_results 记录不准确
Face 状态矛盾
processor_results: failed, chunks_produced = 0 face_detections: 78 条记录(frame 1798-88102)
原因推测:
- Face processor 运行并写入 face_detections
- processor_results 记录失败(可能是读取输出失败)
- 输出文件缺失(可能未生成 JSON)
影响: Face 数据可用(face_detections),但输出文件缺失
YOLO 失败原因
error_message: Failed to run "/Users/accusys/momentry_core_0.1/scripts/yolo_processor.py"
检查:
- 脚本存在: ✅
/Users/accusys/momentry_core_0.1/scripts/yolo_processor.py - 权限: ✅
-rwxr-xr-x - Python 环境: 需检查
可能原因:
- Python 环境问题
- YOLO 模型文件缺失
- 视频文件路径问题
ASRX 未运行原因
processor_results: 无记录
可能原因:
- ASRX processor 未在 processor_list 中
- Job Worker 未触发 ASRX
- ASRX 依赖未满足
OCR 输出结构
{
"frame_count": 412343,
"fps": 59.94,
"frames": [
{
"frame": 29,
"timestamp": 0.484,
"texts": [
{
"text": "1",
"x": 1840,
"y": 366,
"width": 86,
"height": 168,
"confidence": 0.579
}
]
}
]
}
统计:
- 总帧数: 412343
- OCR 检测帧: 13728 (3.3%)
- FPS: 59.94
Face 数据验证
face_detections 表
SELECT file_uuid, COUNT(*), MIN(frame_number), MAX(frame_number)
FROM dev.face_detections
WHERE file_uuid = '384b0ff44aaaa1f14cb2cd63b3fea966';
-- Result:
file_uuid: 384b0ff44aaaa1f14cb2cd63b3fea966
count: 78
frame_range: 1798 - 88102
分析:
- 检测帧数: 78 (占 88102 帧的 0.09%)
- 分布稀疏(可能是特定场景)
Face 数据来源
可能来源:
- 旧版 Face processor(直接写入 face_detections)
- 手动导入
- Face processor 运行但未生成 JSON 输出
验证: face_detections.created_at 检查
SELECT MIN(created_at), MAX(created_at)
FROM dev.face_detections
WHERE file_uuid = '384b0ff44aaaa1f14cb2cd63b3fea966';
-- Result: 需查询
Worker 状态
运行进程
ps aux | grep momentry
# Found:
PID 309: target/release/momentry worker --max-concurrent 2
PID 24478: target/release/momentry server --port 3002
状态: Worker 正在运行 ✅
Jobs 队列
SELECT id, status, rule FROM dev.jobs WHERE asset_uuid = '384b0ff44aaaa1f14cb2cd63b3fea966';
-- Result:
2 jobs QUEUED (rule1)
问题: Rule1 jobs 未执行
问题根源分析
1. processor_results 记录不准确
表现:
- OCR: failed 但输出存在
- Face: failed 但 face_detections 有数据
原因:
- processor_results 写入逻辑问题
- 错误捕获不准确
- chunks_produced 统计缺失
2. Face 数据写入路径不一致
表现:
- Face processor 直接写入 face_detections
- 未生成 JSON 输出文件
- processor_results 记录失败
影响:
- Rule 1 可读取 face_detections ✅
- 无法重新处理(无输出文件)
3. YOLO/ASRX processor 未成功
YOLO: 脚本执行失败 ASRX: 未在 processor_list 中
影响:
- Rule 1 缺少 YOLO objects
- Rule 1 缺少 Speaker ID
解决方案
短期方案
1. 使用现有数据
- ASR: ✅ 可用(3664 chunks)
- Face: ✅ 可用(face_detections 78 条)
- OCR: ✅ 可用(13728 frames)
2. 运行 Rule 1
- Face 数据源已修复(从 face_detections 读取)
- YOLO objects = []
- Speaker ID = "UNKNOWN"
3. 手动运行 ASRX
- 启动 ASRX processor
- 等待完成后重新运行 Rule 1
中期方案
1. 修复 processor_results 记录
- 检查 OCR/Face processor 错误捕获
- 更新 chunks_produced 统计
2. 修复 Face 输出文件
- Face processor 应生成 JSON 输出
- 统一写入路径
3. 修复 YOLO processor
- 检查 Python 环境
- 检查 YOLO 模型
长期方案
1. Processor 输出标准化
- 所有 processor 生成 JSON 输出
- 统一输出路径
- chunks_produced 正确统计
2. Processor 状态监控
- 定期检查 processor_results 准确性
- 自动修复矛盾记录
下一步行动
立即执行
-
测试 Rule 1
- 运行 Rule 1 处理
- 验证 chunks metadata(Face 数据)
-
手动运行 ASRX
- 检查 ASRX processor 是否可手动运行
- 等待完成后更新 Rule 1
调查任务
-
Face 数据来源
- 查询 face_detections.created_at
- 确定写入时间
-
YOLO 失败原因
- 检查 Python 环境
- 手动运行 yolo_processor.py
-
ASRX 未运行原因
- 检查 processor_list 配置
- 确认 ASRX 触发条件
相关文件
| 文件 | 说明 |
|---|---|
docs_v1.0/RULE1_FACE_DATA_SOURCE_FIX.md |
Face 数据源修复 |
docs_v1.0/RULE1_CHUNK_INGESTION_CHECK.md |
Rule 1 问题分析 |
docs_v1.0/RULE1_TRIGGER_MECHANISM.md |
Rule 1 启动机制 |
src/core/chunk/rule1_ingest.rs |
Face 数据源已修复 |
结论
可用数据:
- ✅ ASR (3664 segments)
- ✅ CUT (1332 segments)
- ✅ Face (78 detections, 数据源已修复)
- ⚠️ OCR (13728 frames, processor_results 状态矛盾)
缺失数据:
- ❌ YOLO (processor 失败)
- ❌ ASRX (未运行)
建议: 先运行 Rule 1 测试 Face 数据修复,再解决 YOLO/ASRX 问题。