This tool is a Go-based automation utility that downloads YouTube videos and permanently embeds or “hard-codes” their subtitles (typically English) into MP4 output files. The workflow involves specifying one or more URLs (via a simple “url” text file in each folder) and the program uses youtube-dl to fetch video and subtitle, then ffmpeg to overlay the subtitles onto the video track. The architecture follows a command-pattern setup: tasks implement a common interface and are scheduled and executed with concurrency controls (maximum goroutines customizable). It assumes a Linux environment with SSR proxy support, and requires the user to pre-install youtube-dl and ffmpeg. With its focus on automation, the tool is useful for easily archiving multilingual subtitles, prepping content for editing, or creating reference versions of YouTube videos.
Features
- Batch download of YouTube videos via youtube-dl based on URL lists
- Automatic download of matching English subtitles (or other configured language)
- Uses ffmpeg to merge subtitle tracks into the video stream, producing MP4 with hard-coded subtitles
- Command-pattern architecture allowing tasks to be implemented modularly
- Configurable concurrency (max goroutines) for parallel fetching and processing
- Clean directory-based structure: each folder with URL file triggers the process