varunr89/claude-marketplace/video-ocr
Claude Code and agent skill by varunr89/claude-marketplace
- community
Checking that the SKILL.md file is still in the repository.
Extract text from video files by sampling frames and running Apple Vision OCR, with optional perceptual deduplication
Install
npx vskill@latest install varunr89/claude-marketplace/video-ocrSKILL.md
Video OCR
Extracts frames from a video at a configurable FPS using ffmpeg, optionally deduplicates visually similar frames using perceptual hashing (aHash), then runs Apple Vision OCR on each kept frame in parallel.
When to use
Use this skill when the user wants to extract text from a video -- for example lecture recordings, tutorial screencasts, or presentation recordings where on-screen text changes over time.
Usage
Key arguments
| Argument | Default | Description | |
|---|---|---|---|
video (positional) | required | Input video file path | |
-o, --output | ocr_output.jsonl | Output JSONL file path | |
--fps | 3.0 | Frames per second to extract | |
--workers | 8 | Number of parallel OCR workers | |
--dedupe | false | Deduplicate visually similar frames | |
--dedupe-threshold | 0.15 | Max visual difference ratio (0-1) to treat as similar | |
--hash-size | 8 | Perceptual hash size (hash_size x hash_size bits) | |
--frames-out | None | Directory to save kept frames as JPGs | |
--markdown | None | Optional Markdown output path | |
--markdown-images | false | Embed frame images in Markdown (requires --frames-out) |
Pipeline
- ffmpeg extracts frames from the video at the specified FPS
- If
--dedupeis enabled, frames are compared using average perceptual hash (aHash) and similar consecutive frames are dropped - Apple Vision OCR runs in parallel on all kept frames
- Results are sorted by frame number and written to JSONL (one JSON object per frame with
frame,time_sec, andtextfields) - Optionally, a Markdown file is generated with frame headings and OCR text blocks
Deduplication
The deduplication feature uses average perceptual hashing (aHash):
- Each frame is resized to
hash_size x hash_sizegrayscale - Pixels above the mean are mapped to 1, below to 0
- Consecutive frames whose Hamming distance ratio is below
--dedupe-thresholdare dropped - This efficiently removes near-duplicate frames (e.g., static slides)
Dependencies
- ffmpeg (brew install ffmpeg) -- frame extraction
- macOS + PyObjC (pip install pyobjc-core pyobjc-framework-Vision pyobjc-framework-Cocoa) -- Vision OCR
- Pillow (pip install pillow) -- required for --dedupe
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/ocr-toolkit/skills/video-ocr/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/varunr89/claude-marketplace/video-ocr)