Video Perception
Driver en ffmpeg MCP-server, så Claude læser videobilleder og tidsstemplede transskriptioner
Virker med opsætning
Hvad det gør
Forbinder Claude Code til claude-video-vision MCP-serveren, så den kan læse lokale videofiler (.mp4, .mov, .mkv, .webm) og YouTube-URL'er som billedrammer plus tidsstemplet lydtransskription. Skillen foreskriver et workflow: hent metadata, kør ffmpeg strukturel analyse (sceneændringer, stilhedsintervaller, bevægelse), før der udtrækkes billeder, og træk derefter billeder med adaptiv FPS omkring de øjeblikke, der betyder noget. Udløses, når en videofilsti, et YouTube-link eller en anmodning om at se, gennemgå eller opsummere en video vises i samtalen.
Testrapport
Jeg installerede claude-video-vision@1.3.2 fra npm i en sandboxed HOME, drev MCP-serveren over stdio JSON-RPC og bekræftede, at alle seks værktøjer reagerede, derefter genererede jeg en 3-minutters testvideo med fire mærkede kapitler og en 1-sekunds "ERROR CODE 7742" flash ved 01:37. BASELINE (naiv video_watch, fps auto): 100 billeder / 487KB billeder; den fangede flashen ved 01:37, men ramte lydløst max_frames=100 og udtrækkede aldrig de sidste 41 sekunder af videoen. SKILL-kørsel (video_info derefter video_analyze derefter en planlagt segmentudtrækning): video_analyze returnerede den nøjagtige klippeliste 00:00:45, 00:01:30, 00:01:37, 00:01:38, 02:15 plus 00:00:45-01:30 stilhedsintervallet for nul billed-tokens — inklusive 02:15-klippet, baseline aldrig så — men den foreskrevne segmentudtrækning returnerede kun 34KB billeder mærket 00:00:10, 01:48, 01:41, 02:21, 02:34 og 03:54 (forbi 03:00 varigheden) og missede fejlflashen fuldstændigt. Grundårsagen læste jeg i dist/extractors/frames.js: -ss sendes før -i, mens -to sendes efter, så hver vinduesanmodning kører til EOF; jeg reproducerede det på video_watch-segmenter, video_watch start_time/end_time og video_detail i en ren HOME. Transskription returnerer også et tomt array uden advarsel, når ingen whisper/API-backend er konfigureret.
Testet: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
git clone --depth 1 https://github.com/jordanrendric/claude-video-vision.git /tmp/video-perception-src mkdir -p ~/.claude/skills cp -R /tmp/video-perception-src/skills/video-perception ~/.claude/skills/video-perception # The skill is only guidance — it is USELESS without the MCP server that provides # video_info / video_analyze / video_watch / video_detail / video_configure / video_setup. # # Register the MCP server (needs Node 20+ and ffmpeg on PATH): # claude mcp add claude-video-vision -- npx -y claude-video-vision@latest # # Or install the whole plugin instead of this skill, inside Claude Code, one at a time: # /plugin marketplace add https://github.com/jordanrendric/claude-video-vision # /plugin install claude-video-vision # /setup-video-vision # # Required deps: # brew install ffmpeg # frame extraction (mandatory) # brew install yt-dlp # only for YouTube URLs # Audio transcription needs a backend, otherwise transcription silently returns []: # export GEMINI_API_KEY=... # free tier, backend "gemini-api" # brew install whisper-cpp # fully local, backend "local" # export OPENAI_API_KEY=... # paid, backend "openai" # Config lives at ~/.claude-video-vision/config.json (set via the video_configure tool). # # Known defect in the published v1.3.2 server: any time-bounded request over-extracts. # ffmpeg is called with -ss before -i but -to after -i, so asking for 01:36-01:39 # returns ~100 frames spanning 01:36-02:25. Prefer whole-video video_watch and lean on # video_analyze for timestamps until this is fixed.
Kommandoer og eksempelprompter
/video-perceptionDriver en ffmpeg MCP-server, så Claude læser videobilleder og tidsstemplede transskriptioner
Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):
Watch this video and summarize what happensAnalyze this YouTube link for key momentsReview this MP4 and describe the scenes