# 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 **原因推测**: 1. OCR processor 运行成功 2. processor_results 记录错误(可能是写入失败) 3. chunks_produced 未统计 **影响**: OCR 数据可用,但 processor_results 记录不准确 --- ### Face 状态矛盾 **processor_results**: failed, chunks_produced = 0 **face_detections**: 78 条记录(frame 1798-88102) **原因推测**: 1. Face processor 运行并写入 face_detections 2. processor_results 记录失败(可能是读取输出失败) 3. 输出文件缺失(可能未生成 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 环境: 需检查 **可能原因**: 1. Python 环境问题 2. YOLO 模型文件缺失 3. 视频文件路径问题 --- ### ASRX 未运行原因 **processor_results**: 无记录 **可能原因**: 1. ASRX processor 未在 processor_list 中 2. Job Worker 未触发 ASRX 3. ASRX 依赖未满足 --- ## OCR 输出结构 ```json { "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 表 ```sql 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 数据来源 **可能来源**: 1. 旧版 Face processor(直接写入 face_detections) 2. 手动导入 3. Face processor 运行但未生成 JSON 输出 **验证**: face_detections.created_at 检查 ```sql SELECT MIN(created_at), MAX(created_at) FROM dev.face_detections WHERE file_uuid = '384b0ff44aaaa1f14cb2cd63b3fea966'; -- Result: 需查询 ``` --- ## Worker 状态 ### 运行进程 ```bash ps aux | grep momentry # Found: PID 309: target/release/momentry worker --max-concurrent 2 PID 24478: target/release/momentry server --port 3002 ``` **状态**: Worker 正在运行 ✅ ### Jobs 队列 ```sql 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 准确性 - 自动修复矛盾记录 --- ## 下一步行动 ### 立即执行 1. **测试 Rule 1** - 运行 Rule 1 处理 - 验证 chunks metadata(Face 数据) 2. **手动运行 ASRX** - 检查 ASRX processor 是否可手动运行 - 等待完成后更新 Rule 1 --- ### 调查任务 1. **Face 数据来源** - 查询 face_detections.created_at - 确定写入时间 2. **YOLO 失败原因** - 检查 Python 环境 - 手动运行 yolo_processor.py 3. **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 问题。