HUANGCHIHHUNGLeo/claude-real-video
Let Claude (or any LLM) actually watch a video — scene-aware, deduplicated frames + transcript, from a URL or local file. Runs locally, MIT.
What it solves
Most LLMs cannot "see" videos natively or they rely on fixed-interval sampling (e.g., one frame per second), which often misses fast cuts or wastes tokens on static scenes. claude-real-video provides a local processing pipeline that extracts only the most meaningful frames based on scene changes and deduplication, reducing token costs while improving the AI's visual understanding of the video content.
How it works
The tool processes videos locally using the following pipeline:
- Fetch & Extract: Uses
yt-dlpfor URLs andffmpegto grab frames at every scene change and a minimum density floor. - Deduplication: Employs a sliding-window deduplication system with three channels (global pixel difference, settled-local detection for small UI changes, and an action channel) to ensure only unique shots are sent to the LLM.
- Transcription: Prioritizes existing subtitles; otherwise, it uses OpenAI Whisper (or
faster-whisper) for local speech-to-text. - Packaging: Outputs a folder containing the keyframes, a timestamped JSON file, and a transcript, which can then be uploaded to an LLM. It also supports tiling frames into contact sheets (
--grid) to help models follow motion. - Integration: Can be run as a CLI, a local web UI (
crv-web), or an MCP server for direct integration with agents like Claude Desktop and Cursor.
Who it’s for
- AI Power Users: Those who want to analyze videos with LLMs without uploading raw files to cloud services.
- Developers: Users of coding agents (Claude Code, Cursor) who want their agents to be able to "watch" videos via a skill/plugin.
- Researchers: People needing a high-quality, deduplicated keyframe extractor for video analysis.
Highlights
- Local Processing: All frame extraction and transcription happen on the user's machine; only the final selected data is shared with the LLM.
- Intelligent Sampling: Uses scene-change detection instead of fixed intervals to capture fast cuts and collapse static slides.
- Advanced Dedup: Prevents redundant frames from being sent even after cutaways (A-B-A cuts).
- Agent Integration: Ships as an MCP server and a plugin for various agent hosts.
- Flexible Input: Supports YouTube, Instagram, TikTok, and local files.
- Memory System: Locally indexes all watched videos via SQLite, allowing users to search across their entire video library (
crv-ask).
Related
- Dispatch
- Project
- Project
- Project
- Project