docs: per-segment edit plan template, context-based ASR inference, remove copywriting pitfall
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# 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 ±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.
|
||||
Reference in New Issue
Block a user