New to Claude Skills? Learn how to install them →

calesthio on GitHub

Video Understand

Free

Analyze and transcribe video content locally without API keys.

Get this skill

Free · Opens the source repo

What Video Understand does

Video Understand is a powerful tool designed for developers and designers who need to analyze video content without relying on external services. Utilizing ffmpeg for frame extraction and Whisper for audio transcription, this skill operates fully offline, ensuring privacy and control over your data. The ability to understand video content locally makes it ideal for tasks such as scene detection, keyframe extraction, and audio transcription, all without the need for API keys.

The tool offers several modes for video analysis. The default mode detects scene changes, making it suitable for most videos with varied content. If no scene changes are detected, it automatically switches to an interval mode, ensuring that you still receive a predictable output. Additionally, users can extract keyframes directly from the video, which is particularly useful for encoded videos with natural keyframe placement. For more controlled sampling, the interval mode allows users to specify the number of frames to extract based on the video's duration.

For those who require transcription, the integration with Whisper allows for accurate audio-to-text conversion. Users can choose from different Whisper model sizes to balance between performance and resource usage. The output is structured in JSON format, providing detailed information about the video, including duration, resolution, frame count, and a full transcript. This structured output can be easily utilized in further processing or analysis workflows.

Overall, Video Understand is an essential tool for anyone looking to gain insights from video content without the overhead of online services. Its offline capabilities, combined with robust extraction and transcription features, make it a valuable addition to any developer or designer's toolkit.

When to use it

Use this tool when you need to understand or transcribe video content without relying on internet access or API keys.

When not to use it

This skill may not be suitable for real-time video processing or scenarios where cloud-based services are required for additional features.

What you can build with it

Transcribing Educational Videos

Use Video Understand to transcribe lectures or tutorials from recorded educational videos for easier note-taking.

Creating Video Summaries

Extract keyframes and transcriptions to create concise summaries of video content for reports or presentations.

Analyzing Video Content for Research

Utilize the tool to analyze video data for academic or market research, providing insights without external dependencies.

How to install Video Understand

View source

1. Install with the skills CLI

npx skills add calesthio/openmontage/video-understand --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by calesthio

video-understand

Understand video content locally using ffmpeg for frame extraction and Whisper for transcription. Fully offline, no API keys required.

Prerequisites

  • ffmpeg + ffprobe (required): brew install ffmpeg
  • openai-whisper (optional, for transcription): pip install openai-whisper

Commands

# Scene detection + transcribe (default)
python3 skills/video-understand/scripts/understand_video.py video.mp4

# Keyframe extraction
python3 skills/video-understand/scripts/understand_video.py video.mp4 -m keyframe

# Regular interval extraction
python3 skills/video-understand/scripts/understand_video.py video.mp4 -m interval

# Limit frames extracted
python3 skills/video-understand/scripts/understand_video.py video.mp4 --max-frames 10

# Use a larger Whisper model
python3 skills/video-understand/scripts/understand_video.py video.mp4 --whisper-model small

# Frames only, skip transcription
python3 skills/video-understand/scripts/understand_video.py video.mp4 --no-transcribe

# Quiet mode (JSON only, no progress)
python3 skills/video-understand/scripts/understand_video.py video.mp4 -q

# Output to file
python3 skills/video-understand/scripts/understand_video.py video.mp4 -o result.json

CLI Options

FlagDescription
videoInput video file (positional, required)
-m, --modeExtraction mode: scene (default), keyframe, interval
--max-framesMaximum frames to keep (default: 20)
--whisper-modelWhisper model size: tiny, base, small, medium, large (default: base)
--no-transcribeSkip audio transcription, extract frames only
-o, --outputWrite result JSON to file instead of stdout
-q, --quietSuppress progress messages, output only JSON

Extraction Modes

ModeHow it worksBest for
sceneDetects scene changes via ffmpeg select='gt(scene,0.3)'Most videos, varied content
keyframeExtracts I-frames (codec keyframes)Encoded video with natural keyframe placement
intervalEvenly spaced frames based on duration and max-framesFixed sampling, predictable output

If scene mode detects no scene changes, it automatically falls back to interval mode.

Output

The script outputs JSON to stdout (or file with -o). See references/output-format.md for the full schema.

{
  "video": "video.mp4",
  "duration": 18.076,
  "resolution": {"width": 1224, "height": 1080},
  "mode": "scene",
  "frames": [
    {"path": "/abs/path/frame_0001.jpg", "timestamp": 0.0, "timestamp_formatted": "00:00"}
  ],
  "frame_count": 12,
  "transcript": [
    {"start": 0.0, "end": 2.5, "text": "Hello and welcome..."}
  ],
  "text": "Full transcript...",
  "note": "Use the Read tool to view frame images for visual understanding."
}

Use the Read tool on frame image paths to visually inspect extracted frames.

References

  • references/output-format.md -- Full JSON output schema documentation

Frequently asked questions about Video Understand

Similar skills