varunr89/claude-marketplace/video-ocr

Claude Code and agent skill by varunr89/claude-marketplace

Trust tier 3
  • community
Source check pending

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-ocr

SKILL.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

bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/video_ocr.py <video_file> \
[-o output.jsonl] \
[--fps 3.0] \
[--workers 8] \
[--dedupe] [--dedupe-threshold 0.15] [--hash-size 8] \
[--frames-out <dir>] \
[--markdown <output.md>] [--markdown-images]

Key arguments

ArgumentDefaultDescription
video (positional)requiredInput video file path
-o, --outputocr_output.jsonlOutput JSONL file path
--fps3.0Frames per second to extract
--workers8Number of parallel OCR workers
--dedupefalseDeduplicate visually similar frames
--dedupe-threshold0.15Max visual difference ratio (0-1) to treat as similar
--hash-size8Perceptual hash size (hash_size x hash_size bits)
--frames-outNoneDirectory to save kept frames as JPGs
--markdownNoneOptional Markdown output path
--markdown-imagesfalseEmbed frame images in Markdown (requires --frames-out)

Pipeline

  1. ffmpeg extracts frames from the video at the specified FPS
  2. If --dedupe is enabled, frames are compared using average perceptual hash (aHash) and similar consecutive frames are dropped
  3. Apple Vision OCR runs in parallel on all kept frames
  4. Results are sorted by frame number and written to JSONL (one JSON object per frame with frame, time_sec, and text fields)
  5. 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_size grayscale
  • Pixels above the mean are mapped to 1, below to 0
  • Consecutive frames whose Hamming distance ratio is below --dedupe-threshold are 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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/varunr89/claude-marketplace/video-ocr/badge)](https://verified-skill.com/skills/varunr89/claude-marketplace/video-ocr)

Something wrong with this skill or its page? Tell us.