Video Perception

Driver en ffmpeg MCP-server slik at Claude leser videorammer og tidsstemplede transkripsjoner

av jordanrendric · jordanrendric/claude-video-vision

Krever oppsett ★ 6.8/10

Video Perception — Driver en ffmpeg MCP-server slik at Claude leser videorammer og tidsstemplede transkripsjoner

Hva den gjør

Kobler Claude Code til claude-video-vision MCP-serveren slik at den kan lese lokale videofiler (.mp4, .mov, .mkv, .webm) og YouTube-URLer som bilderammer pluss tidsstemplet lydtranskripsjon. Ferdigheten foreskriver en arbeidsflyt: hent metadata, kjør ffmpeg strukturell analyse (sceneendringer, stillhetsintervaller, bevegelse) før du trekker ut rammer, deretter trekk rammer med adaptiv FPS rundt de øyeblikkene som betyr noe. Utløses når en videofilbane, en YouTube-lenke, eller en forespørsel om å se, gjennomgå eller oppsummere en video vises i samtalen.

Testrapport

Jeg installerte claude-video-vision@1.3.2 fra npm i en sandboxed HOME, drev MCP-serveren over stdio JSON-RPC, og bekreftet at alle seks verktøyene svarer, deretter genererte jeg en 3-minutters testvideo med fire merkede kapitler og en 1-sekunds "ERROR CODE 7742" flash på 01:37. BASELINE (naiv video_watch, fps auto): 100 rammer / 487KB bilder; den fanget flashen på 00:01:37, men traff stille max_frames=100 og ekstraherte aldri de siste 41 sekundene av videoen. SKILL-kjøring (video_info deretter video_analyze deretter en planlagt segmentekstraksjon): video_analyze returnerte den eksakte kuttlisten 00:00:45, 00:01:30, 00:01:37, 00:01:38, 00:02:15 pluss 00:00:45-00:01:30 stillhetsintervallet for null bilde-tokens — inkludert 02:15-kuttet baseline aldri så — men den foreskrevne segmentekstraksjonen returnerte bare 34KB rammer merket 00:00:10, 00:01:48, 00:01:41, 00:02:21, 00:02:34 og 00:03:54 (forbi 3:00 varighet) og bommet helt på feilflashen. Rotårsak jeg leste i dist/extractors/frames.js: -ss sendes før -i mens -to sendes etter, så hver vinduforespørsel kjører til EOF; jeg reproduserte det på video_watch-segmenter, video_watch start_time/end_time, og video_detail i en ren HOME. Transkripsjon returnerer også en tom array uten advarsel når ingen whisper/API-backend er konfigurert.

Testet på: 2026-07-21 · Claude Code 2.x (agent harness)

Installer

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 slik at Claude leser videorammer og tidsstemplede transkripsjoner

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

  • Watch this video and summarize what happens
  • Analyze this YouTube link for key moments
  • Review this MP4 and describe the scenes