mrkeyoor.com_
Wed 23 Sept 12:30 UTC
AI Toolsevaluationupdated 26 Aug 2026

claude-video-vision review

Claude Video Vision is a Claude Code plugin and MCP server that turns video into timestamped frames and audio transcripts Claude can inspect. It uses ffmpeg for pictures, optional yt-dlp for YouTube, and either local Whisper, Gemini, or OpenAI for audio.

+19stars / 7d
Verdict

Our build passed in 9 seconds, but 10 of 148 tests failed without ffmpeg and ffprobe, while npm audit found 9 high-severity advisories among 15 total. Claude Code users who regularly inspect short screen recordings should try it only after installing the media binaries, updating dependencies, and confirming the suite locally. For occasional videos, a direct multimodal API is less machinery; for sensitive files, use local Whisper and verify that no cloud backend is selected.

We ran it

Lab card: what happened when we ran claude-video-visionScreenshot of claude-video-vision (github.com/jordanrendric/claude-video-vision)
Install✓ · 20s224 packages · 199 MB
Build✓ · 9s
Tests✗ · 9s138 passed · 10 failed of 148 (vitest)
Known vulns150 critical · 9 high · 4 moderate · 2 low (npm audit)
Repo70 files~6,100 lines of source · 0.6 MB · 2 CI workflows · tests dir

Answers from our run

Does claude-video-vision build from source?

Dependencies installed in 20 seconds (224 packages), and the build succeeded in 9 seconds. We cloned commit ac47d1f into a clean Debian container with 3 CPUs and no project-specific setup.

Do claude-video-vision's tests pass?

Not all of them: 138 of 148 passed and 10 failed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Does claude-video-vision have known vulnerabilities in its dependencies?

npm audit flagged 15 known advisories in the dependency tree at the time of our run.

Who should not use claude-video-vision?

Users without ffmpeg and ffprobe: 10 of 148 tests failed in our sandbox because those binaries were missing

What are the alternatives to claude-video-vision?

Gemini CLI, yt-dlp, OpenAI API. Our build passed in 9 seconds, but 10 of 148 tests failed without ffmpeg and ffprobe, while npm audit found 9 high-severity advisories among 15 total.

Setup2/5Wizard helps, but ffmpeg, audio backend, and models remain external
Docs4/5Clear tools, backends, dependencies, config, and transcript order
Community3/5Active issue and PR queue, but no published GitHub release
Maturity2/5Useful core with failing tests, advisories, and open behavior bugs

Who it’s for

Claude Code users reviewing screen recordings, tutorials, talks, or bug videos
Developers who want to ask targeted questions about a local video without building an extraction pipeline
Privacy-conscious users willing to install ffmpeg and a local Whisper backend
Teams that can pin and audit an MCP server plus its media-processing dependencies

Who it’s NOT for

Users without ffmpeg and ffprobe: 10 of 148 tests failed in our sandbox because those binaries were missing
Security teams that cannot accept the current dependency state: npm audit reported 15 known vulnerabilities, including 9 high-severity advisories
People expecting a general video editor or one-pass video model: the README calls this a perception layer that returns frames and transcription to Claude
Windows users wanting a settled install path: an open pull request specifically addresses an MCP connection failure caused by invoking npx @latest
Long-film analysts who need proven scene coverage: an open issue reports scene results truncating around 1 hour 9 minutes

Setup reality

Our ./mcp-server run installed 224 npm packages in 20 seconds and used 199 MB. The build passed in 9 seconds. Tests then took 9 seconds and failed: 138 passed and 10 failed of 148. The log shows spawn ffmpeg ENOENT and spawn ffprobe ENOENT in frame and metadata tests.

Node.js 20 or newer is required. Every backend needs ffmpeg; YouTube URLs also need yt-dlp. Audio needs either a Gemini API key, an OpenAI API key, or local Whisper tooling and a model download. Claude Code installs the plugin and starts the MCP server through npm.

The sandbox image did not contain ffmpeg or ffprobe, even though the README lists ffmpeg as required, so the failure is actionable setup evidence rather than an unexplained test regression. npm audit also found 15 advisories: 9 high, 4 moderate, and 2 low. Pin dependencies and rerun the full suite after installing system binaries.

Six MCP tools turn a video into evidence Claude can inspect

The plugin exposes video_watch, video_analyze, video_detail, video_info, video_configure, and video_setup. The main tool extracts timestamped frames and processes audio in parallel, then gives both artifacts to Claude Code. The agent performs the interpretation. This division is sensible because the server remains a media pipeline while the model can vary sampling based on the question.

A one-second UI bug may need original frame rate and a narrow range. A one-hour lecture needs sparse frames and a transcript. The skill asks Claude to adjust frame rate, resolution, and time bounds rather than applying one preset to every file. Cached detail calls let it revisit a moment. Open issue 35 shows the cost of this flexibility: models have confused end_time with duration, and multiple documentation pull requests aim to make absolute timestamps explicit.

What happened when we ran it

Our sandbox entered ./mcp-server at commit ac47d1f and installed 224 npm packages in 20 seconds. Dependencies occupied 199 MB, compared with a 0.6 MB checkout containing 70 files and about 6,100 source lines. TypeScript built successfully in 9 seconds. The repository had 2 CI workflow files, no Dockerfile, and a tests directory.

Tests ran for 9 seconds and exited with 138 passing and 10 failing tests out of 148. Four of 15 test files failed. The log identified spawn ffmpeg ENOENT in segment and frame extraction cases and spawn ffprobe ENOENT in metadata work. Those errors mean the operating system could not find the required binaries. The README does list ffmpeg as a requirement, so install it before judging the extraction code itself.

The dependency audit is the larger adoption warning

npm audit found 15 known vulnerabilities: 9 high, 4 moderate, 2 low, and 0 critical. Our measurements do not identify which dependency paths produced them, and a count alone does not prove they are exploitable through this MCP server. It does justify holding deployment until the tree is updated, reviewed, and audited again. An MCP process handles local filenames, video data, downloads, and API credentials.

The measured package version was 1.3.2, while the repository README's status section still says v1.0.0 initial release. GitHub had no published release object when checked. Open dependency pull requests proposed major jumps for the OpenAI client, Google client, and Zod, plus a Vitest patch. That combination suggests the npm package has moved ahead of some top-level documentation and maintenance work is waiting in pull requests. Pin the exact package instead of accepting @latest.

Local Whisper is the privacy-first audio path

All modes extract frames with ffmpeg. For sound, users choose Gemini, OpenAI, or local Whisper through whisper.cpp or Python openai-whisper. Cloud modes need their respective API keys and send audio for hosted processing. Local mode avoids that transfer but adds a Whisper installation and model files under ~/.claude-video-vision/models/. The first use can download a model automatically.

Configuration also stores frame format, resolution, maximum frame count, session age, and download age. JPEG is the default; PNG can preserve UI text and sharp screen-recording edges. These controls matter because 100 full-resolution frames can occupy far more model context than a short transcript. The project does not provide a quality benchmark in our lab block, so choose settings with a representative clip and inspect whether Claude received the moment needed to answer.

YouTube support adds yt-dlp and transcript provenance

A URL path downloads through yt-dlp, preserving source metadata and captions. The server prefers manual English subtitles, then automatic captions, then the configured audio backend when captions are absent or too sparse. It labels the result with a transcription source, allowing Claude to distinguish manual subtitles from automatic ones. That ordering can save local compute and API calls.

It also expands the trust and failure surface. yt-dlp must be installed and kept current as sites change. Downloads consume disk until retention cleanup. Captions can disagree with the spoken track, and automatic transcripts can fail on names or jargon. Copyright and site terms still apply to acquisition. For a local file, the pipeline is easier to reason about; for a URL, test download behavior and cleanup with non-sensitive material first.

Open issues map directly to analysis mistakes

GitHub showed 17 combined issues and pull requests and a last push on August 7, 2026. Beyond timestamp ambiguity, open reports covered duplicate MCP server instances after reconnect, segments returning a continuous 1 fps range instead of separate snippets, scene arrays truncating around 01:09 on long films, and motion noise being classified as scene changes. These are specific defects, not cosmetic requests.

A pull request proposes whole-video understanding through another hosted backend, but it remains a proposal in an open PR. Another addresses a Windows startup problem by preferring a global binary over npx @latest. Judge the current default branch and package, not those unmerged changes. The MIT license is permissive, and the source is small enough for a focused audit, which helps teams willing to own the remaining maintenance risk.

Short, targeted review is its strongest use

Claude Video Vision is most convincing for bug recordings, demos, Shorts, and tutorials where a person can compare the answer with a visible timeline. Its adaptive frame selection and six tools give Claude a way to zoom in without uploading every frame. Local Whisper makes a fully local audio path possible after system setup.

The 10 failed tests and 15 audit findings keep it out of unattended or sensitive workflows today. Install ffmpeg and ffprobe, select one audio backend, disable network paths you do not need, pin version 1.3.2 or another reviewed version, and rerun all 148 tests. If that gate passes, start with a disposable short clip before granting the MCP server access to private video directories.

Alternatives

ProjectWhat it isPick it when
Gemini CLI gh↗A terminal agent built around Gemini's multimodal model and tool system.pick this instead when you are willing to use Gemini as the agent and want multimodal files handled in that workflow.
yt-dlp gh↗A mature command-line downloader for YouTube and many other media sites.pick this instead when acquisition and metadata are the job, and you will build your own transcription or frame analysis.
OpenAI APIA hosted API for transcription and multimodal model analysis.pick this instead when a small custom script and hosted processing are preferable to a Claude Code plugin and local MCP server.

What people are saying

  1. [github-trending] jordanrendric/claude-video-vision

Sources

  1. Claude Video Vision README
  2. MCP server package manifest
  3. Claude Video Vision issues
  4. Claude Video Vision privacy policy

More ai tools reviews

reverify · course2md · interdimensional-game · shrimply · infinite-livestream · bkn-foundry · the whole board →