video-full-process
from jykim/claude-obsidian-skills
Claude Skills for Obsidian Vault Management
22 stars3 forksUpdated Jan 25, 2026
npx skills add https://github.com/jykim/claude-obsidian-skills --skill video-full-processSKILL.md
Video Full Process Skill
Combines video-clean and video-add-chapters into a single workflow that:
- Transcribes once (saving API costs)
- Removes pauses and filler words
- Detects and embeds chapters
- Remaps chapter timestamps to the cleaned video
- Generates YouTube chapter markers and documentation
When to Use This Skill
- Processing raw video recordings end-to-end
- Creating polished videos with embedded chapters
- Generating YouTube-ready content with chapter markers
- When you need both pause removal AND chapter organization
Quick Start
# Full processing with default settings
python process_video.py "video.mp4" --language ko
# Preview mode (see what will be changed)
python process_video.py "video.mp4" --preview
# Skip chapter embedding (only clean + generate docs)
python process_video.py "video.mp4" --no-embed-chapters
Workflow Overview
Input: raw_video.mp4
│
▼
┌─────────────────────────────────────┐
│ 1. Transcribe (once) │
│ - Uses chunked transcription │
│ - Handles long videos (15min+) │
│ - Output: transcript.json │
└─────────────────────────────────────┘
│
┌─────┴─────┐
▼ ▼
┌─────────┐ ┌─────────────┐
│ 2a. │ │ 2b. Detect │ ← Parallel
│ Clean │ │ Chapters │
└─────────┘ └─────────────┘
│ │
▼ ▼
┌─────────┐ ┌─────────────┐
│ cleaned │ │ chapters. │
│ .mp4 │ │ json │
│ + pauses│ │ │
│ .json │ │ │
└─────────┘ └─────────────┘
│
▼
┌─────────────────────────────────────┐
│ 3. Remap chapters to cleaned video │
│ - Calculate removed time │
│ - Adjust chapter timestamps │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 4. Embed chapters + Generate docs │
│ - ffmpeg metadata embed │
│ - YouTube chapters txt │
│ - Chapter markdown files │
└─────────────────────────────────────┘
│
▼
Output: cleaned-chapters.mp4 + docs
Output Files
| File | Description |
|---|---|
{video} - cleaned.mp4 | Video with pauses/fillers removed |
{video} - cleaned-chapters.mp4 | Cleaned video with embedded chapters |
{video} - pauses.json | Removed pause data (for remapping) |
{video} - chapters.json | Detected chapter boundaries |
{video} - chapters_remapped.json | Chapters adjusted for cleaned video |
{video} - youtube_chapters.txt | Copy-paste for YouTube description |
Chapter NN - Title.md | Per-chapter documentation |
Requirements
System
- Python 3.7+
- FFmpeg (for video processing)
Python Packages
pip install openai
Environment Variables
OPENAI_API_KEY- Required for Whisper API
Detailed Usage
Full Processing
python process_video.py "presentation.mp4" --language ko
This runs:
- Transcription (if not exists)
- Chapter detection
- Pause removal
- Chapter remapping
- Chapter embedding
- Documentation generation
Partial Processing
# Skip transcription (reuse existing)
python process_video.py "video.mp4" --skip-transcribe
# Skip cleaning (only add chapters)
python process_video.py "video.mp4" --skip-clean
# Skip chapter embedding (only clean + generate docs)
python process_video.py "video.mp4" --no-embed-chapters
Customization
# Adjust pause threshold
python process_video.py "video.mp4" --pause-threshold 0.8
# Custom output directory
python process_video.py "video.mp4" --output-dir "./output"
Chapter Remapping Logic
When pauses are removed, chapter timestamps must be adjusted:
Original Video:
|--Ch1--|--pause--|--Ch2--|--pause--|--Ch3--|
0 30 40 60 70 90
Cleaned Video (pauses removed):
|--Ch1--|--Ch2--|--Ch3--|
0 30 50 70
Remapping:
- Ch1: 0 → 0 (no change)
- Ch2: 40 → 30 (10s pause removed before)
- Ch3: 70 → 50 (20s total pauses removed before)
The remap_chapters.py script handles this automatically using the pause data from video cleaning.
Integration with Existing Skills
This skill orchestrates two existing skills:
video-clean (.claude/skills/video-cleaning/)
- Provides:
transcribe_video.py,edit_video_remove_pauses.py - Modified: Added
--output-pausesflag
video-add-chapters (Settings/Skills/video-add-chapters/)
- Provides:
transcribe_video.py,suggest_chapters.py,generate_docs.py - Modified: Added
--skip-if-existsflag
Cost Estimate
- Single transcription: ~$0.006/min (vs $0.012/min if running separately)
- 1-hour video: ~$0.36 (saves $0.36 by reusing transcript)
Troubleshooting
"Transcript not found" Error
Run transcription first or use --force-transcribe:
python process_video.py "video.mp4" --force-transcribe
"Chapter timestamps don't match"
Regenerate remapped
...
Repository Stats
Stars22
Forks3
LicenseMIT License