Yt_Downloader

Ultimate YouTube Downloader (GUI)

Modern, fast, and easy-to-use desktop app to download YouTube videos, playlists, or audio with best quality using yt-dlp and a sleek customtkinter UI. Supports up to 8K/4320p, merges best video+audio, embeds metadata and thumbnails, and optionally downloads subtitles.

Features


Requirements

Install Python dependencies:

pip install yt-dlp customtkinter Pillow

Install FFmpeg:

Verify FFmpeg:

ffmpeg -version

Quick Start (Run from source)

  1. Ensure Python deps and FFmpeg are installed (see Requirements).
  2. From the project root, run:
python main.py
  1. Paste one or more YouTube URLs (one per line). Playlists are supported.
  2. Choose format: Video (MP4) or Audio (MP3).
  3. Optionally set resolution, enable subtitles, and thumbnail embedding.
  4. Choose an output directory.
  5. Click “Start Epic Download”.

Downloads default to your ~/Downloads/YouTube folder unless you change it.


Controls and Options

Progress shows overall status across multiple URLs with percent, speed, and ETA. Post-processing (muxing, metadata, thumbnails, audio extract) is handled by FFmpeg via yt-dlp postprocessors.


Build a Standalone Executable (PyInstaller)

This repo includes a PyInstaller spec (main.spec). You can build a Windows .exe locally.

Basic build command:

pyinstaller --noconfirm --clean main.spec

Outputs:

Notes:


Folder Structure

Yt_Downloader/
├─ main.py              # Application entrypoint (GUI)
├─ main.spec            # PyInstaller build spec
├─ dist/                # Built artifacts (e.g., main.exe)
└─ build/               # PyInstaller build cache

Troubleshooting

Logs shown in the UI include percent, speed, and ETA. Errors for individual URLs display as message boxes while the app continues with the next item.


How It Works (High-level)


Privacy and Disclaimer

This tool downloads content from YouTube. Ensure you have the rights to download and use the content. Respect YouTube’s Terms of Service and local laws.


License

Add your preferred license here (e.g., MIT). If omitted, the project is proprietary by default.


Credits