A GUI-EDITOR for editing videos Supports local video files and YouTube URLs with smart segment-aware downloading. clipping videos into segment ussing timestamps from a CSV file.
- Timestamp-based clipping — reads
data/time.csvand splits video into segments at original resolution (no cropping or scaling) - Batch processing — queue multiple videos and process them all at once
- Queue management — add, list, remove, and clear videos from the processing queue
- YouTube Direct — paste a YouTube URL, pick a format, and download only the segments you need
- 3-layer fallback download — segment-aware sidx parsing → range estimation → full download + clip
- Format selection — choose from available formats with size estimates for both full video and clips
- Playlist download — download entire YouTube playlists at a chosen resolution with size estimates
- Custom playlist download — start downloading from a specific episode number or video link in a playlist
- Transcript extraction — pull subtitles/transcripts from any YouTube video
- Comments extraction — download video comments (with optional max count)
- Comment count — get total comment count for a video
- Duplicate detection — tracks previously extracted videos in
output/extracted.txt
- Vocal separation — uses demucs-onnx to separate vocals from audio tracks (per-clip or full bag)
- Vocals-only video — mux isolated vocals back into the video as a separate output
- Silence remover — remove silent regions from audio files with configurable thresholds
- Audio captioner — transcribe speech with Whisper, translate to any language, and render captions on video
- Multiple Whisper models — tiny, base, small, medium, large
- Google Translate integration — auto-translate transcribed text to target language
- Python 3.10+ (3.11 recommended)
- FFmpeg (required for all video/audio operations)
- Node.js (required for yt-dlp YouTube downloads)
| Key | Option | Description |
|---|---|---|
1 |
Add Video File | Browse and add a local video to the queue |
2 |
List Queue | Show all queued videos |
3 |
Remove from Queue | Remove a specific video from the queue |
4 |
Clear Queue | Remove all videos from the queue |
5 |
Process All | Process all queued videos with timestamps |
6 |
Process One | Process a single video from the queue |
7 |
Exit | Exit the application |
8 |
YouTube Direct | Download and clip from a YouTube URL |
13 |
Playlist Download | Download all videos from a YouTube playlist |
9 |
Check / Install Requirements | Verify and install missing packages |
10 |
YouTube Extract | Extract transcript, comments, and comment count |
11 |
Audio Captioner | Transcribe and caption a local video |
12 |
Silence Remover | Remove silence from audio files |
Create data/time.csv with one timestamp pair per line:
02:20 – 02:34
06:51 – 07:46
08:34 – 08:46
Format: MM:SS - MM:SS or HH:MM:SS - HH:MM:SS. Line numbers, en-dashes (–), em-dashes (—), and hyphens (-) are all supported as separators.
- Select
[8] YouTube Direct - Paste the YouTube URL
- View available formats with size estimates (full video vs clips only)
- Pick a format ID or press Enter for best quality
- Segments are downloaded and clipped to
output/
- Select
[13] Playlist Download - Paste the YouTube playlist URL
- Select a download folder via the folder picker
- View available resolutions with total/average size estimates
- Pick a resolution (required, no auto-select)
- Videos download sequentially with live progress
- Paste the YouTube playlist URL
- Enter a starting episode number (e.g.,
1812) - The script extracts episode numbers from video titles and filters from that episode onward
- If title matching fails, you can paste the exact video link instead — it finds the position and downloads from there
- Select folder and resolution, then download
When processing videos (options 5, 6, or 8), you'll be asked if you want to separate vocals. If enabled:
- Each clip gets vocals isolated via demucs-onnx
- Output clips are saved at original resolution with no quality loss
- YouTube segment downloading uses ffmpeg sub-processes for fast extraction
- The tool caches downloaded YouTube source files in
output/_temp/to avoid re-downloading - Whisper model files are downloaded on first use and cached locally