Video Timestamp QA: Find Deviations Between Clips and Specs
Gemini3 Team · August 14, 2026 · 5 min read

When Spreadsheets Fail Video Reviews
Product teams still QA demo recordings like it is 2015: two monitors, a spec PDF, manual scrubbing, screenshots pasted into Slack. Gemini 3’s joint video-text reasoning on MidassAI Chat collapses that loop—if you give it temporal constraints, evidence rules, and a fixed output schema.
This tutorial builds a timestamp-level deviation report you can hand to engineering or marketing without writing Python.
Prerequisites
- A screen recording or product demo (MP4/WebM, ideally under 5 minutes for first tests)
- A written spec: PDF, Markdown export, or pasted requirements doc
- 20 minutes and a MidassAI Chat account
Supported clip guidelines on consumer interfaces:
- Clear UI chrome (avoid heavy compression artifacts)
- Stable frame rate (30fps preferred)
- Narration optional—visual state changes matter most
Step 1 — Upload and Declare Roles
Attach video first, then spec PDF (order reduces “which file is primary?” confusion).
Opening prompt:
Role: QA analyst.
Inputs: (1) demo video = ground truth for what was built; (2) PDF spec = intended behavior.
Task prep only: confirm you can read both; list spec sections that describe UI flows (with page numbers). Do not list deviations yet.
If the model cannot parse video, re-export at 720p H.264 and remove background music—audio noise sometimes degrades vision routing on short clips.
Step 2 — Define Sampling Strategy
Blind “watch the whole video” prompts produce vague prose. Constrain sampling:
Analyze video at 1 frame per second for UI state changes. For each spec requirement in Section {X}, identify matching timestamps. If no match within ±2 seconds of expected transition, mark UNVERIFIED.
For fast-click flows, add: “Also inspect 2 fps between {start} and {end} for modal open/close events.”
Step 3 — Run the Deviation Pass
Core prompt (copy and adjust section IDs):
Compare demo video against spec Section 3 (User Onboarding).
Output Markdown table:
| ID | Spec requirement (quote ≤20 words) | Spec page | Video timestamp (MM:SS) | Observed behavior | Match? (Yes/No/Partial) | Severity (H/M/L) |
Rules:
- Timestamp must point to first frame where deviation appears.
- If spec silent on a visible behavior, add row with Spec quote = “NOT SPECIFIED”.
- No recommendations column yet—facts only.
Severity rubric to paste once per thread:
- High: Blocks task completion or violates security/compliance language
- Medium: Wrong copy, wrong default, missing validation
- Low: Cosmetic spacing, non-blocking copy differences
Step 4 — Challenge Weak Rows (Adversarial Pass)
Models overfit to plausible stories. Follow up:
Re-check rows marked Partial or No. For each, cite one frame description that supports the rating. If evidence is ambiguous, downgrade to Partial and explain ambiguity in one sentence.
Then:
List up to 3 deviations you might have missed because of low contrast UI or overlapping modals.
Step 5 — Export for Engineering
Convert table to tickets:
Transform the High and Medium rows into Jira-ready tickets: Title (≤80 chars), Steps to reproduce with timestamps, Expected vs Actual, Spec reference. One ticket per row.
Paste into your tracker—human edit owners and sprint labels.
Example Scenario (Abbreviated)
Spec (Section 3.2): “After email verification, dashboard loads with empty-state checklist—not onboarding wizard.”
Video (01:14): Wizard still visible with Step 2 highlighted.
Output row: No match, High severity, timestamp 01:14.
That single row often replaces twenty minutes of manual scrubbing.
Prompt Upgrades for Specialized Teams
Design QA: Add “Compare hex colors of primary CTA at 00:45 against spec token Primary-600 if listed.”
Accessibility: “Flag missing focus rings on interactive elements at timestamps where keyboard navigation is implied.”
Localization: “If spec requires locale fr-CA, verify date format at 02:03.”
Common Failures and Fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| Timestamps drift by ~1s | Variable frame rate | Re-export constant 30fps |
| “Cannot see video” | Codec unsupported | H.264 MP4 720p |
| False Pass ratings | Vague spec language | Quote exact spec sentence in prompt |
| Hallucinated UI text | Compression blur | Crop video to app window only |
Flash vs Deep Reasoning for Video QA
Use standard / Flash for first-pass table with tight schema. Escalate to deep reasoning when:
- Spec and video span 10+ interactive states
- Partial ratings exceed 30% of rows
- Security or billing logic is in scope
Ethics and Disclosure
Video QA on user sessions may implicate privacy policies. Use synthetic demos or redacted recordings in shared threads. Disclose AI-assisted QA in release notes when your process requires it.
Your Turn
Grab the last demo your team recorded—pair it with the PRD section that never gets fully tested. Run Steps 1–4 on MidassAI Chat today. If you get five actionable timestamps in one pass, promote this workflow to your release checklist.
{"title":"Checklist","rows":[["Inputs","Demo MP4 + spec PDF"],["Output","Timestamped deviation table"],["Validation","Adversarial re-check pass"],["Escalate","Deep reasoning for complex flows"]]}}