This PowerShell script automates downloading videos from specified YouTube channels while tracking previously downloaded videos using an archive file. It efficiently manages downloads by avoiding duplicates through archive checks.
- Prefix-aware Archive Loading: Loads video IDs from an archive file, stripping any prefixes for accurate matching.
- Channel Management: Reads YouTube channel URLs from a file and processes each channel individually.
- Directory Structure: Creates directories per channel to organize downloaded videos.
- Video Filtering: Skips videos already listed in the archive to prevent re-downloads.
- Metadata Handling: Downloads video metadata including descriptions, thumbnails, and subtitles along with videos.
- Error Handling: Ignores errors during downloads to allow continuous script execution.
- Create a
channels.txtfile listing the YouTube channel URLs you want to download from. - Ensure an archive file named
downloaded_archive.txtexists to track downloaded videos. - (Optional) Provide a
cookies.txtfile if authentication is required for any channels.
- Execute the PowerShell script in Windows PowerShell.
- Videos will be saved inside a
yt-dlpdirectory, organized by channel name.
- Install yt-dlp
You will need Python installed. You can install yt-dlp using:or download the standalone binary for your platform.pip install yt-dlp
- The script displays progress and summary in the console, including numbers of videos found, skipped, and downloaded per channel.
- At the end, the script prompts to exit.