Skip to main content

video-full-process

Unified workflow combining video-clean and video-add-chapters with transcript reuse and chapter remapping

الانتقال إلى التثبيت

معلومات المصدر

المستودع
jykim/claude-obsidian-skills
آخر نشاط في المصدر
٢٥ يناير ٢٠٢٦ في ١٩:١٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٥٠
التفرعات
١٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
3 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
video-full-process
description
Unified workflow combining video-clean and video-add-chapters with transcript reuse and chapter remapping
allowed-tools
["Read","Write","Bash","Glob"]
license
MIT
# 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 ```bash # 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 ```bash pip install openai ``` ### Environment Variables - `OPENAI_API_KEY` - Required for Whisper API ## Detailed Usage ### Full Processing ```bash python process_video.py "presentation.mp4" --language ko ``` This runs: 1. Transcription (if not exists) 2. Chapter detection 3. Pause removal 4. Chapter remapping 5. Chapter embedding 6. Documentation generation ### Partial Processing ```bash # 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 ```bash # 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-pauses` flag ### video-add-chapters (_Settings_/Skills/video-add-chapters/) - Provides: `transcribe_video.py`, `suggest_chapters.py`, `generate_docs.py` - Modified: Added `--skip-if-exists` flag ## 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`: ```bash python process_video.py "video.mp4" --force-transcribe ``` ### "Chapter timestamps don't match" Regenerate remapped chapters: ```bash python remap_chapters.py "video - chapters.json" --pauses "video - pauses.json" ``` ### FFmpeg embed fails Check that chapters.json format is correct: ```json { "chapters": [ {"start": 0, "title": "Intro", "description": "..."}, {"start": 120, "title": "Main", "description": "..."} ] } ``` ## File Structure ``` video-full-process/ ├── SKILL.md # This documentation ├── process_video.py # Main orchestrator script └── remap_chapters.py # Chapter timestamp remapping ``` ## Version History - **v1.0** (2026-01): Initial release - Unified workflow for video-clean + video-add-chapters - Transcript reuse (single API call) - Automatic chapter remapping - FFmpeg chapter embedding
عرض على GitHub