By emir-can-tr
Let Claude watch a video. Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls captions or falls back to Whisper, and hands frames + transcript to Claude so it can answer questions about the video.
Give Claude the ability to watch any video. Paste a URL or local path, ask a question — get answers grounded in what's actually on screen.
/ec-watch https://youtu.be/dQw4w9WgXcQ what happens at the 30 second mark?
| Feature | Description |
|---|---|
| URL Support | YouTube, Vimeo, TikTok, X, Loom, and 500+ other sites via yt-dlp |
| Local Files | .mp4, .mov, .mkv, .webm, .avi and more |
| Auto-Scaled Frames | Duration-aware frame extraction (2 fps max, 100 frames cap) |
| Free Transcription | Native captions first, local faster-whisper fallback (no API key) |
| AI Analysis | Reads each frame with multimodal AI, combines with transcript |
/plugin marketplace add emir-can-tr/ec-watch
/plugin install ec-watch
/ec-watch <url-or-path> [question]
# Analyze a viral video
/ec-watch https://youtu.be/dQw4w9WgXcQ what hook did they open with?
# Diagnose a screen recording
/ec-watch ~/Downloads/bug-repro.mov what is going wrong?
# Summarize a long video
/ec-watch https://youtu.be/abc summarize the key points
# Focus on a specific section
/ec-watch https://youtu.be/xyz --start 2:15 --end 2:45
┌─────────────────────────────────────────────────────────────┐
│ 1. DOWNLOAD │
│ yt-dlp fetches video → temp directory │
│ Captions extracted automatically (free) │
├─────────────────────────────────────────────────────────────┤
│ 2. FRAME EXTRACTION │
│ ffmpeg extracts frames at auto-scaled fps │
│ Budget: ≤30s→30f, 30-60s→40f, 1-3min→60f, 3-10min→80f │
├─────────────────────────────────────────────────────────────┤
│ 3. TRANSCRIPTION │
│ Native captions (free) or local faster-whisper │
│ No API key required for transcription │
├─────────────────────────────────────────────────────────────┤
│ 4. AI ANALYSIS │
│ Claude reads each frame + transcript │
│ Answers grounded in visual + audio content │
└─────────────────────────────────────────────────────────────┘
| Duration | Frames | Use Case |
|---|---|---|
| ≤30s | ~30 | Dense — every key moment |
| 30s - 1min | ~40 | Still dense |
| 1 - 3min | ~60 | Comfortable |
| 3 - 10min | ~80 | Sparse but workable |
| >10min | 100 | Sparse scan — re-run focused |
Use --start / --end for denser coverage on specific sections.
| Flag | Default | Description |
|---|---|---|
--start T | - | Range start (SS, MM:SS, or HH:MM:SS) |
--end T | - | Range end |
--max-frames N | 80 | Lower frame cap (max 100) |
--resolution W | 512 | Frame width in pixels |
--fps F | auto | Override auto-fps (max 2 fps) |
--no-whisper | - | Disable transcription (frames only) |
ec-watch/
├── SKILL.md # Skill definition (Claude Code)
├── commands/
│ └── watch.md # Slash command shim
├── scripts/
│ ├── watch.py # Main orchestrator
│ ├── download.py # yt-dlp wrapper
│ ├── frames.py # ffmpeg frame extraction
│ ├── transcribe.py # VTT + Whisper orchestration
│ ├── whisper.py # Local faster-whisper client
│ └── setup.py # Preflight + installer
└── hooks/
└── SessionStart/ # Status hook
| Tool | Purpose | Install |
|---|---|---|
yt-dlp | Video download | brew install yt-dlp / winget install yt-dlp |
ffmpeg | Frame extraction | brew install ffmpeg / winget install Gyan.FFmpeg |
faster-whisper | Local transcription | Auto-installed on first use |
Read this in Turkish: README_TR.md
https://github.com/bradautomates/claude-video
MIT License — see LICENSE
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub emir-can-tr/ec-watch --plugin watchMulti-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.