Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

🚀 YouTube Batch Downloader (Automated 4K Setup)

Welcome to the YouTube Batch Downloader! This repository provides an automated, highly efficient system to bulk download high-resolution YouTube videos (up to 4K) and massive playlists.

Powered by the robust yt-dlp library, this setup utilizes aria2c for lightning-fast multi-threaded downloading and intelligent auto-sorting to organize your files seamlessly. Whether you are a developer or a complete beginner, this guide will get you up and running in minutes.


✨ Key Features

  • 🧠 Smart Auto-Sorting: Automatically scans your URLs and routes downloads to specific folders (YT-Knowledge, YT-Entertainment, or standard Downloads) based on the Playlist ID.
  • ⚡ Lightning Fast Speeds: Integrates aria2c with 16 concurrent connections per file to max out your internet bandwidth.
  • 🛡️ Intelligent Cookie Management: Bypasses YouTube's strict anti-bot measures by prioritizing local cookies.txt files for huge playlists, with an automatic fallback to your default browser cookies.
  • 💾 Crash-Proof Resuming: Utilizes a downloaded_archive.txt tracker. If your internet drops or you close the script, it will instantly resume where it left off without downloading duplicates.
  • ⚙️ Zero-Touch Windows Setup: The included PowerShell script automatically installs and updates all required background tools via Scoop.

🛠️ Installation & Prerequisites

For Windows Users (Fully Automated)

If you are on Windows 10 or 11, the provided .ps1 script handles almost everything for you. It automatically checks for and installs the necessary packages (yt-dlp, ffmpeg, aria2, deno).

For macOS & Linux Users (Manual Setup)

Since the primary automation script is written in Windows PowerShell, Mac and Linux users will need to install the core dependencies manually before running yt-dlp via terminal.

Please install the following prerequisites using your system's package manager (like Homebrew for macOS or APT for Ubuntu), or download them directly:

  1. Python (Required to run yt-dlp)
  2. FFmpeg (Required for merging high-quality video and audio tracks)
  3. yt-dlp (The core downloading engine)
  4. Aria2 (The download accelerator)
  5. Deno (Required for specific web scraping tasks)

🚀 How to Use the Downloader

Step 1: Add Your Links

Navigate to the script/ folder and open the YT-url.txt file[cite: 4]. Paste the YouTube URLs (single videos or full playlists) you want to download.

  • Rule: Place exactly one URL per line.
  • (Note: Any line starting with a # is treated as a comment and will be ignored by the script).

Step 2: Set Up Authentication (Crucial for Large Playlists)

YouTube frequently blocks automated mass downloads. To prevent the script from crashing during massive batch downloads (100+ videos), you must authenticate the session:

  1. Install the Get cookies.txt LOCALLY extension on Chrome or Firefox.
  2. Open a Private / Incognito window in your browser.
  3. Log in to your YouTube account, then navigate to youtube.com/robots.txt (a blank page that prevents background scripts from expiring your session early).
  4. Click the extension icon and export your cookies.txt file.
  5. Move this cookies.txt file into the script/ folder, placing it right next to the .ps1 script[cite: 4].
  6. Close the Incognito window completely to "freeze" the session.

If you skip this step, the script will attempt to fall back and extract cookies directly from your active Firefox browser.

Step 3: Run the Script

  • Windows: Right-click the yt-batch-HighRes4K.ps1 file inside the script/ folder and select Run with PowerShell[cite: 4].
  • macOS/Linux: You can read the parameters inside the .ps1 file and execute the yt-dlp commands natively in your terminal.

Once the process finishes successfully, the script will automatically wipe the YT-url.txt file clean, ready for your next batch! All files are saved by default to your OS Downloads folder.


🗄️ Repository Structure

  • script/ - The active working directory containing the main PowerShell script, the URL text file, and your cookies file[cite: 4].
  • Old/ - An archive directory for legacy scripts and outdated configuration references[cite: 4].

Legacy Configuration Paths (For Reference Only) If you are looking to manually configure yt-dlp outside of the provided script, standard configuration files (yt-dlp.conf) are historically placed here[cite: 4]:

  • Windows: C:\Users\<YourName>\yt-dlp.conf or %APPDATA%\yt-dlp\config.txt[cite: 4]
  • Linux/macOS: ~/.config/yt-dlp/config[cite: 4]
  • See the Official yt-dlp Configuration Docs for more details.[cite: 4]

🤝 Contributing & Contact

Found a bug? Have an idea for a new feature? Feel free to open an Issue or submit a Pull Request (PR)! Contributions are highly encouraged and always welcome.

Maintainer: Monish Soni
📧 Email: sonimonish00[at]gmail[dot]com
🔗 LinkedIn: 🔗monishsoni
🐦 Twitter/X: @MonishSoni95


🎉 Acknowledgments & Credits

This project wouldn't be possible without the incredible open-source community. Massive thanks to:

  • The developers and maintainers of yt-dlp for creating the ultimate media downloader.
  • The team behind Aria2 for the ultra-fast download engine.
  • The creators of FFmpeg for the flawless media processing.
  • Special thanks to the RapidSeedBox Complete Guide for providing excellent foundational documentation on maximizing yt-dlp's potential.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages