claude-real-video
A local CLI tool that lets any LLM actually watch a video by extracting scene-aware, deduplicated keyframes and transcripts from URLs or local files.
At a Glance
Full open-source CLI tool under MIT license — scene-aware keyframe extraction, deduplication, transcription, and LLM-ready manifests.
Engagement
Available On
Alternatives
Listed Jul 2026
About claude-real-video
claude-real-video (crv) is an open-source Python CLI tool that solves a fundamental limitation of current AI assistants: they can't truly watch a video. Built by LeoAido and published under the MIT license, it reached the Hacker News front page and has accumulated over 730 GitHub stars. The tool runs entirely on your local machine — only the frames and text you choose to paste into an LLM are ever sent anywhere.
What It Is
claude-real-video is a video preprocessing pipeline for LLMs. Instead of sampling frames at a fixed interval (the approach used by most tools and Gemini's default pipeline), it uses scene-change detection combined with a sliding-window deduplication pass to extract only the frames that actually differ visually. The result is a clean folder of keyframes, an optional Whisper-generated transcript, and a MANIFEST.txt that any LLM can read. It works with YouTube, Instagram, TikTok, and other yt-dlp-supported URLs, as well as local video files.
How the Pipeline Works
The tool runs six sequential steps entirely on your machine:
- Fetch — downloads via
yt-dlpfor URLs, or copies a local file - Extract — a single
ffmpeg selectpass captures every scene change plus a configurable density floor (at least one frame every N seconds) - Dedup — compares real pixel differences (downscaled RGB, not perceptual hashes) against a sliding window of the last N kept frames, so repeated shots aren't re-sent
- Text — uses existing subtitle tracks (
.srt/.vtt) when available; falls back to Whisper transcription only when no subtitles exist - Audio (optional) — saves the full original soundtrack (
audio.m4a) losslessly for models that can listen - Manifest — writes
MANIFEST.txtsummarising everything for the model
The --grid flag packs consecutive keyframes into contact sheets, reducing token count further. The --why flag writes your analysis intent into the manifest so the LLM focuses on what you care about rather than producing a generic summary.
Why It Differs from Fixed-Interval Sampling
The README provides a direct comparison: fixed-interval sampling at 1 fps produces 58 frames for a 58-second clip; crv keeps 26 that actually differ and packs them into 3 contact sheets. A 10-minute static screencast collapses to a single frame under dedup; a fast-cut reel catches every visual change that a 1 fps sampler would miss. The tool also handles the A-B-A cut problem — a shot the model has already seen doesn't re-appear after a cutaway.
Claude Code Integration
The repository ships a skills/ directory that lets Claude Code use crv autonomously. After installing the package and copying the skill folder to ~/.claude/skills/, users can paste a video link directly into Claude Code and ask about it — Claude will invoke crv on its own without manual frame extraction.
Update: v0.4.0 — Contact Sheets, Purpose-Aware Manifests, Knowledge Base
The latest release (v0.4.0, published July 3 2026) added three headline features: --grid contact sheets that pack nine consecutive keyframes per image, --why for purpose-aware manifests, and --kb for saving analysis as dated markdown notes into a personal knowledge base folder (e.g., an Obsidian vault). Version 0.3.0 introduced --why and --kb; v0.4.0 added the grid output. The repository shows active development with the last push on July 4 2026.
crv Pro Add-On
The free open-source tool covers frame extraction and transcription. The developer also offers crv Pro, a paid one-time add-on at leoaido.com/crv-pro/, which adds a --motion pass for camera-move classification (static/pan/tilt/zoom/handheld), editing rhythm analysis (shot list, cuts per minute, pacing curve), action-burst frame sequences at 0.2-second intervals, and a --breakdown report covering hook analysis, camera language, and a Reels-algorithm lens. All processing remains local.
Community Discussions
Be the first to start a conversation about claude-real-video
Share your experience with claude-real-video, ask questions, or help others learn from your insights.
Pricing
Open Source
Full open-source CLI tool under MIT license — scene-aware keyframe extraction, deduplication, transcription, and LLM-ready manifests.
- Scene-change keyframe extraction
- Sliding-window deduplication
- Whisper transcription
- Contact sheet grid output
- Purpose-aware manifests (--why)
crv Pro
One-time add-on adding camera-move classification, editing rhythm analysis, action-burst sequences, and a full video breakdown report.
- Camera-move classification (static/pan/tilt/zoom/handheld)
- Editing rhythm analysis (shot list, cuts per minute, pacing curve)
- Action-burst frame sequences at 0.2s intervals
- --breakdown report (hook analysis, camera language, Reels-algorithm lens)
- 100% local processing
Capabilities
Key Features
- Scene-change detection for keyframe extraction
- Sliding-window pixel-difference deduplication
- yt-dlp URL support (YouTube, Instagram, TikTok, etc.)
- Local file support
- Whisper audio transcription with language detection
- Existing subtitle track reuse (.srt/.vtt)
- Contact sheet grid output (--grid)
- Purpose-aware manifests (--why)
- Knowledge base integration (--kb)
- Full audio track export (--keep-audio)
- Cookie-based authentication for gated videos
- Claude Code skill integration
- HTML report for keep/drop decisions (--report)
- Python API (process() function)
- Configurable scene sensitivity, fps floor, and dedup thresholds
