Skip to content

dimix/video-tutorial-grabber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

video-tutorial-grabber

CLI tool that extracts code from video tutorials using AI vision analysis.

How it works

  1. Frame extraction - Uses ffmpeg to capture frames at fixed intervals or via scene change detection
  2. Deduplication - Removes near-duplicate frames using perceptual hashing (pHash) to reduce API costs
  3. AI analysis - Sends frames to Claude's vision API which reconstructs the complete source code

Prerequisites

Installation

npm install
npm run build

Usage

# Set your API key
export ANTHROPIC_API_KEY=sk-ant-...

# Basic usage - extract frames every 5 seconds
npx vtg tutorial.mp4

# Custom interval (every 10 seconds)
npx vtg tutorial.mp4 --interval 10

# Use scene detection (captures frames only when screen changes)
npx vtg tutorial.mp4 --scene-detection

# Scene detection with custom sensitivity (lower = more frames)
npx vtg tutorial.mp4 --scene-detection --scene-threshold 0.2

# Save output to specific file
npx vtg tutorial.mp4 -o output/app.ts

# Keep extracted frames for inspection
npx vtg tutorial.mp4 --keep-frames

# Use a different Claude model
npx vtg tutorial.mp4 --model claude-sonnet-4-20250514

Options

Option Description Default
-i, --interval <seconds> Seconds between frame captures 5
-s, --scene-detection Use scene change detection instead of fixed interval off
-t, --scene-threshold <0-1> Scene detection sensitivity (lower = more sensitive) 0.3
-d, --dedup-threshold <n> Deduplication strictness (lower = stricter) 5
--no-dedup Disable frame deduplication
-o, --output <path> Output file path <video>_code.<ext>
-k, --api-key <key> Anthropic API key $ANTHROPIC_API_KEY
-m, --model <model> Claude model to use claude-sonnet-4-20250514
-b, --batch-size <n> Max frames per API request 20
--keep-frames Keep extracted frames after analysis off
--frames-dir <path> Directory for extracted frames frames

Tips

  • Scene detection is recommended for most tutorials - it captures meaningful changes and skips static moments
  • For long videos (>30 min), increase --interval or use --scene-detection to reduce frame count
  • If results are noisy, try a stricter dedup threshold (--dedup-threshold 3)
  • For higher accuracy, use --model claude-sonnet-4-20250514 (costs more but better at reading code)

About

CLI tool that extracts code from video tutorials using AI vision analysis.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors