# 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 -i -frames:v 1 -q:v 3 /tmp/frames/frame_.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 ±5–10 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:35–52:40 visually — a 7–12 second offset. - "鸟追着打" (bird chase) had zero visual evidence in the 55:00–56: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.