Files
video-edit-planner-skill/references/spot-verification-workflow.md
T

56 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Spot-Verification Workflow
When verifying ASR transcript claims against actual video visuals, use this lightweight protocol instead of full clip extraction.
## When to use
- You have a transcript with timestamps and need to confirm what's visually happening at specific moments.
- You need to upgrade/downgrade segment priority based on visual evidence.
- You want to check whether a transcript-claimed event (boss fight, chest opening, character death) actually has corresponding on-screen visuals.
## Procedure
1. **Extract frames at ASR-mentioned timestamps.** For each key transcript claim, extract a single frame:
```bash
ffmpeg -y -ss <TIMESTAMP_IN_SECONDS> -i <VIDEO_PATH> -frames:v 1 -q:v 3 /tmp/frames/frame_<MM_SS>.jpg
```
Use `-ss` before `-i` for fast keyframe seeking. This takes <1s per frame.
2. **Send frames to vision analysis with targeted questions.** For each frame, ask about the specific transcript claim:
- "The transcript says 'X' at this time. Can you see X happening?"
- "Is there a boss/enemy visible? Is combat happening?"
- "Is there a [specific item/UI] visible?"
3. **Handle timestamp discrepancies.** If the frame doesn't match the transcript claim:
- Try ±510 seconds around the timestamp.
- ASR timestamps can lag or lead the visual event by several seconds.
- If still no match after ±10s, the claim may be about off-screen action or voice-only commentary.
4. **Record verification results.** For each verified segment, note:
- Confirmed: visual matches transcript claim → keep or upgrade priority
- Discrepancy: visual differs from transcript (e.g., menu open instead of combat) → downgrade or reclassify
- Not found: no visual evidence for the claimed content → mark as "voice-only" or "needs Premiere manual check"
5. **Distinguish in the edit plan.** Label each segment as:
- **Visually confirmed** — frames show the claimed content
- **Transcript-grounded** — only ASR evidence; visual not yet checked
- **Needs manual check** — frames inconclusive; must be verified in Premiere
## Concrete example (Romestead session 2026-07-14)
| ASR timestamp | Transcript claim | Frame result | Verification |
|---|---|---|---|
| 49:08 | "他跟第一关的boss怎么一样" (boss comparison) | Boss "沙漠巨凤" visible with health bar, combat active | ✅ Confirmed S |
| 50:56 | "他二阶段了" (phase 2) | Boss visible, health bar nearly depleted, intense effects | ✅ Confirmed |
| 51:26 | "他打我有点疼" (hits hard) | Boss visible, player HP low (~20-30%), damage numbers | ✅ Confirmed |
| 52:28 | "打死了" (killed) | Boss still visible at 52:28; boss gone by 52:40 | ⚠️ Kill ~52:30-52:40 |
| 55:35 | "鸟追着打" (bird chasing) | Player in base/village with inventory open, no bird visible | ❌ Not confirmed |
## Key lessons
- ASR segment `start`/`end` are in **milliseconds**, not seconds. Convert before filtering.
- ASR proper nouns are phonetic hints: "沙漠巨凤" (Phoenix) was transcribed as "沙漠巨风" (Wind). Verify names against on-screen UI.
- "打死了" (killed it) at 52:28 was actually ~52:3552:40 visually — a 712 second offset.
- "鸟追着打" (bird chase) had zero visual evidence in the 55:0056:00 range — the player was in a menu. The "凤凰之翼" (Phoenix Wing) item existed in inventory, but the chase itself was voice-only commentary or happened earlier.