
Video Understand
FreeAnalyze and transcribe video content locally without API keys.
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 source1. Install with the skills CLI
npx skills add calesthio/openmontage/video-understand --agent claude-code2. 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 calesthiovideo-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 ffmpegopenai-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
| Flag | Description |
|---|---|
video | Input video file (positional, required) |
-m, --mode | Extraction mode: scene (default), keyframe, interval |
--max-frames | Maximum frames to keep (default: 20) |
--whisper-model | Whisper model size: tiny, base, small, medium, large (default: base) |
--no-transcribe | Skip audio transcription, extract frames only |
-o, --output | Write result JSON to file instead of stdout |
-q, --quiet | Suppress progress messages, output only JSON |
Extraction Modes
| Mode | How it works | Best for |
|---|---|---|
scene | Detects scene changes via ffmpeg select='gt(scene,0.3)' | Most videos, varied content |
keyframe | Extracts I-frames (codec keyframes) | Encoded video with natural keyframe placement |
interval | Evenly spaced frames based on duration and max-frames | Fixed 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
Spring Boot Testing
Master testing techniques for Spring Boot 4 applications.
GitHub Issues
Manage GitHub issues efficiently with MCP tools.
Geofeed Tuner
Optimize your IP geolocation feeds in CSV format.
Batch Files
Master Windows batch scripting for automation and task management.
Adobe Illustrator Scripting
Automate your Illustrator workflows with ExtendScript.
Plugin Structure
Create and organize Claude Code plugins effectively.
