Video Perception
Řídí ffmpeg MCP server, aby Claude četl video snímky a časově označené přepisy
Funguje s nastavením
Co umí
Zapojuje Claude Code do claude-video-vision MCP serveru, aby mohl číst lokální video soubory (.mp4, .mov, .mkv, .webm) a YouTube URL jako obrazové snímky plus časově označený audio přepis. Dovednost předepisuje pracovní postup: načíst metadata, spustit strukturální analýzu ffmpeg (změny scén, intervaly ticha, pohyb) před extrakcí jakýchkoli snímků, poté stahovat snímky s adaptivním FPS kolem důležitých okamžiků. Spouští se, když se v konverzaci objeví cesta k video souboru, odkaz na YouTube nebo požadavek na sledování, revizi nebo shrnutí videa.
Testovací report
Nainstaloval jsem claude-video-vision@1.3.2 z npm do sandboxed HOME, řídil MCP server přes stdio JSON-RPC a potvrdil, že všech šest nástrojů reaguje, poté jsem vygeneroval 3minutové testovací video se čtyřmi označenými kapitolami a 1sekundovým zábleskem „ERROR CODE 7742“ v čase 01:37. ZÁKLADNÍ TEST (naivní video_watch, fps auto): 100 snímků / 487KB obrázků; zachytil záblesk v čase 00:01:37, ale tiše dosáhl max_frames=100 a nikdy neextrahoval posledních 41 sekund videa. SPUŠTĚNÍ DOVEDNOSTI (video_info, poté video_analyze, poté plánovaná extrakce segmentů): video_analyze vrátilo přesný seznam střihů 00:00:45, 00:01:30, 00:01:37, 00:01:38, 00:02:15 plus interval ticha 00:00:45-00:01:30 pro nulové obrazové tokeny — včetně střihu 02:15, který základní test nikdy neviděl — ale předepsaná extrakce segmentů vrátila pouze 34KB snímků označených 00:00:10, 00:01:48, 00:01:41, 00:02:21, 00:02:34 a 00:03:54 (za dobu 3:00) a zcela minula záblesk chyby. Kořenová příčina, kterou jsem četl v dist/extractors/frames.js: -ss je předáno před -i, zatímco -to je předáno po, takže každý požadavek na okno běží do EOF; reprodukoval jsem to na segmentech video_watch, video_watch start_time/end_time a video_detail v čistém HOME. Transkripce také vrací prázdné pole bez varování, když není nakonfigurován žádný whisper/API backend.
Testováno: 2026-07-21 · Claude Code 2.x (agent harness)
Instalace
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.
Příkazy a ukázkové prompty
/video-perceptionŘídí ffmpeg MCP server, aby Claude četl video snímky a časově označené přepisy
Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):
Watch this video and summarize what happensAnalyze this YouTube link for key momentsReview this MP4 and describe the scenes