Home/Multimedia & AV/video-understand
V

video-understand

by @heygen-comv
4.3(69)

Understand local video content by extracting frames with ffmpeg and transcribing with Whisper, running completely offline without API keys.

video-processingtranscriptionwhisperofflineffmpegGitHub
Installation
npx skills add https://github.com/heygen-com/skills --skill video-understand
compare_arrows

Before / After Comparison

1 组
Before

Manually extracting frames and performing related tasks using ffmpeg requires repetitive operations and confirmations. The entire process takes approximately 98 minutes, is prone to errors, and is inefficient.

After

Using this Skill for automated processing, it intelligently analyzes and executes, completing all work within 9 minutes with high accuracy and standardized procedures.

SKILL.md

video-understand

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

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

Weekly Installs241Repositoryheygen-com/skillsGitHub Stars91First Seen6 days agoSecurity AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onclaude-code217cline60gemini-cli60kimi-cli60codex60cursor60

User Reviews (0)

Write a Review

Effect
Usability
Docs
Compatibility

No reviews yet

Statistics

Installs1.1K
Rating4.3 / 5.0
Version
Updated2026年5月20日
Comparisons1

User Rating

4.3(69)
5
70%
4
30%
3
0%
2
0%
1
0%

Rate this Skill

0.0

Compatible Platforms

🔧Claude Code

Timeline

Created2026年3月23日
Last Updated2026年5月20日
🎁 Agent Knowledge Cards
Survey