Simple Python program for downloading a source video playlist from YouTube. Sources that aren't a compatible file type are converted into mp4 via ffmpeg. Sources are automatically organized into subfolders based on channel.
Requires a config.yaml file with the following fields:
| Key | Value | Example |
|---|---|---|
| source-folder | Location for downloaded files. | D:\Sources |
| output-template | youtube-dl output template (for naming files). Must contain title, id, and uploader, in that order. | %(title)s____%(id)s____%(uploader)s |
| separator | Separator character(s) used in youtube-dl's output template. | ____ |
| playlist-id | Playlist to download. | PLMs_JcuNozJavHPJul81lF127gQ7_sZJG |
| api-key | YouTube Data API key used for getting playlist info. | get your own :) |
| rate-limit | Rate limit for youtube-dl. | 1M |
| channel-limit | An int. If more than this many videos are downloaded from a single channel, they will be moved to a subfolder with that channel's name. | 5 |
| extensions | Array of video file extensions used when organizing the main folder, so the organizer ignores non-video files. | - .mp4, - .mkv, etc |
| dont-sleep | Location of the Don't Sleep exe. | D:\DontSleep_x64_p.exe |
Requirements:
pip
Google API Client
youtube-dl
FFmpeg
Don't Sleep