@Stephen4171127: Recently discovered an open-source tool called Claude-real-video, which directly hits the deadlock of current LLM video analysis. Previously, the entire industry was fiercely competing to 'natively bake video capabilities into large models,' which is equivalent to every company having to build a phone with a screen from scratch — either wait for big players to slowly roll out features, or burn money training small models. Ordinary developers simply can't keep up…
Summary
Introducing the open-source tool claude-real-video, which uses scene change detection and audio transcription to allow any LLM to analyze videos locally, solving the pain points of fixed-frame sampling and cloud uploads.
View Cached Full Text
Cached at: 07/03/26, 06:40 PM
I recently discovered an open-source tool called Claude-real-video that directly addresses a fundamental limitation in current LLM-based video analysis.
Until now, the entire industry has been obsessed with “natively baking video capabilities into large models” — essentially requiring every company to build a phone with a screen from scratch. That means either waiting for big players to drip-feed new features, or burning cash to train smaller models yourself. Ordinary developers simply can’t compete.
This tool takes a different approach: it’s a universal external module. No matter which LLM you’re using, plug it in and it can directly parse video content. It’s like adding a display to a feature phone that could only handle voice calls.
And it’s not just simple frame sampling every few seconds.
What’s even more impressive is that the community discussions around this project are full of practical insights — not the empty star-collecting kind. People talk about real-world limitations, suggest alternatives, and share actual use cases. Developers building video agents can pull this down and try it right away.
HUANGCHIHHUNGLeo/claude-real-video
Source: https://github.com/HUANGCHIHHUNGLeo/claude-real-video
claude-real-video
Let Claude — or any LLM — actually watch a video.
Most AI tools don’t really see a video. Paste a YouTube link into ChatGPT and it reads the transcript, not the picture. Claude won’t take a video file at all. Even Gemini, which can read video natively, has to send it up to Google and samples frames at a fixed interval (1 fps by default), so fast cuts slip past.
claude-real-video does it differently, and locally: point it at a URL or a
file, and it pulls the frames that actually matter (every scene change, not a
fixed quota), throws away the near-duplicates, transcribes the audio, and hands
you a clean folder any LLM can read — on your own machine, nothing uploaded.
crv "https://www.youtube.com/watch?v=..."
# → crv-out/frames/*.jpg + crv-out/transcript.txt + crv-out/MANIFEST.txt
Then drop the frames + MANIFEST.txt into Claude / ChatGPT / Gemini and ask away.
Why not just sample frames?
Most “let an LLM watch a video” scripts (and Gemini’s own pipeline) grab frames
at a fixed interval — e.g. one per second. That over-samples a static
screencast and under-samples a fast-cut reel. claude-real-video is smarter:
| fixed-interval sampling | claude-real-video | |
|---|---|---|
| Frame selection | every N seconds | scene-change detection + density floor |
| Repeated shots (A-B-A cuts) | sent again every time | sliding-window dedup sends each shot once |
| Static slide (10 min) | ~600 near-identical frames | collapses to 1 (dedup) |
| Fast-cut reel | misses frames between samples | catches each visual change |
| Audio | often ignored | Whisper transcript w/ language detect |
| Where the video goes | often uploaded to a cloud | stays on your machine |
| Input | usually local file only | URL (yt-dlp) or local file |
You feed the model fewer, more meaningful frames — cheaper context, better understanding.
Install
pip install claude-real-video # core (frames + dedup)
pip install "claude-real-video[whisper]" # + audio transcription
System requirement: ffmpeg
ffmpeg / ffprobe are used for frame extraction and audio, and aren’t
pip-installable. Install them once:
| OS | command |
|---|---|
| macOS | brew install ffmpeg |
| Linux | sudo apt install ffmpeg (or your distro’s package manager) |
| Windows | winget install Gyan.FFmpeg — or choco install ffmpeg — or download a build (https://www.gyan.dev/ffmpeg/builds/) and add its bin\ folder to your PATH |
Verify it’s on your PATH:
ffmpeg -version
Transcription uses the whisper CLI (installed by the [whisper] extra, or
pip install openai-whisper). Whisper also relies on ffmpeg.
Works on macOS, Windows, and Linux — Python 3.10+.
Usage
# A YouTube / Instagram / TikTok / ... link
crv "https://www.instagram.com/reel/XXXX/"
# A local file, English transcript, output to ./out
crv lecture.mp4 -o out --lang en
# Frames only, no transcription
crv clip.mp4 --no-transcribe
# A login-gated video (your own / authorised use): pass a Netscape cookie file
crv "https://..." --cookies cookies.txt
python -m claude_real_video ... works as an alias for crv too.
Options
| flag | default | meaning |
|---|---|---|
-o, --out | crv-out | output directory |
--scene | 0.30 | scene-change sensitivity (lower = more frames) |
--fps-floor | 1.0 | at least one frame every N seconds |
--max-frames | 150 | hard cap on total frames |
--lang | auto | Whisper language (en, zh, auto, …) |
--dedup-threshold | 8 | % of pixels that must change for a frame to count as new; higher = fewer frames |
--dedup-window | 4 | compare against the last N kept frames — a shot the model already saw doesn’t come back after a cutaway (1 = consecutive-only) |
--report | off | keep dropped frames in ./dropped + write report.html visualising every keep/drop decision |
--no-transcribe | off | skip audio |
--keep-audio | off | also save the full soundtrack (audio.m4a) so audio models can hear it |
--cookies | – | Netscape cookie file for login-gated sources |
Use it from Python
from claude_real_video import process
r = process("https://youtu.be/...", "out", lang="en")
print(r.frame_count, r.transcript_path)
How it works
- Fetch —
yt-dlpfor URLs (optional cookies), or copy a local file. - Extract — one chronological
ffmpeg selectpass grabs every scene change plus a density floor (at least one frame every--fps-floorseconds), so fast cuts and slow screencasts are both covered. - Dedup — real pixel difference (downscaled RGB, not a perceptual hash — hashes
go blind on flat colours and equal-luma hue changes) against a sliding window
of the last
--dedup-windowkept frames, so an A-B-A cutaway doesn’t re-send a shot the model has already seen.--reportwritesreport.htmlshowing every keep/drop decision with its diff %, for tuning. - Text — if the video already has subtitles (a sidecar
.srt/.vttnext to a local file, or an embedded subtitle track), those are used as the transcript — faster and more accurate than re-transcribing. Only when there are no subtitles does it fall back to Whisper on the audio (skipped cleanly if there’s no audio). - Audio (optional,
--keep-audio) — save the full original soundtrack (audio.m4a: music + speech + effects, copied losslessly when possible). The transcript only has the words; the audio file lets a model that can listen (Gemini, GPT-4o, …) actually hear the music and tone. - Manifest —
MANIFEST.txtsummarises everything for the model.
So the model can see (key frames), read (transcript) and — with --keep-audio —
hear (full soundtrack) the video. The transcript is plain text any model can read;
the tool doesn’t burn subtitles into the video — burning is a presentation choice,
not something needed to make a video AI-readable.
Notes
- Only download content you have the right to. The
--cookiesoption is for your own, authorised access — don’t ship credentials in a repo. - Re-running overwrites the output directory.
License
MIT
Similar Articles
Claude-real-video - any LLM can watch a video
claude-real-video is a Python tool that extracts key frames via scene detection and audio transcripts from videos locally, enabling any LLM to analyze video content without cloud uploads.
@0xluffy_eth: Someone created a free video editing tool for Claude Code... Insane. Just put raw footage and assets in a folder. That's it. It handles everything: - Clip segments - Remove filler words - Add subtitles - Apply color grading and filters - Handle animations - Render final video No timeline. No manual edits. No back-and-forth. Honestly, this surpasses tools like Remotion. It doesn't just help you make videos... it does the editing for you.
A free, open-source video editing tool built for Claude Code that fully automates editing from raw footage—clipping, filler word removal, subtitles, color grading, animation, and final rendering—all without a timeline or manual edits.
@Easycompany333: Compiled 6 Claude Skills for video that you can try directly: 1. HyperFrames – generate animated video with one sentence. Articles, tweets, product intros can all become MP4. Suitable for product promotion, tutorial openers, short social videos. https://github.com/heyg…
Compiled 6 Claude Skills for video that can be used directly, covering auto-generated animated videos, AI-assisted rough cuts, React component rendered videos, multimedia generation toolbox, Chinese editing agent, and video prompt writing open-source tools.
@369Serena: How to give Codex the ability to replicate and deconstruct viral TikTok videos?? There's a GitHub repository with nearly 3K stars called claude-video, that allows agents like Claude / Codex to truly 'understand' videos. If you are a creator…
Introduces the claude-video tool on GitHub, which enables AI agents like Claude/Codex to truly 'understand' video content, applicable for deconstructing viral videos, analyzing ad creatives, diagnosing bugs, and more.
@hank_aibtc: The first open-source agentic video production system — let Claude/Cursor create a 60-second Pixar-quality animated short for me in 3 minutes for just $1.33! OpenMontage turns your AI coding assistant (Claude Code, Cursor, Copilot, etc.) into…
OpenMontage is an open-source agentic video production system that can turn AI coding assistants (such as Claude Code, Cursor) into a full video production studio. With just one sentence description, it automatically handles research, scriptwriting, asset generation, editing, voiceover, subtitles, and rendering at extremely low cost (Pixar-quality animation for just $1.33).