Developed by Engr. Maw. Khandaker Marsus
A simple Windows GUI for downloading YouTube videos and playlists as MP3 (audio) or MP4 (video). It drives the real, official yt-dlp binary as the download engine (unmodified) rather than reimplementing downloading, with aria2c for real multi-connection parallel downloads and ffmpeg for audio/video conversion.
- Paste a video or playlist link, pick MP3 or MP4, pick a save folder, click Download
- Resolution picker for video (Best / 4K / 2K / 1080p / 720p / 480p / 360p) and audio quality picker for MP3
- 10-thread parallel downloading per video via aria2c
- Up to 4 videos downloading at the same time (configurable), with a live per-video progress table (%, speed, ETA, status)
- Self-updates yt-dlp to the latest nightly build on every launch
- No YouTube player client is forced - relies on yt-dlp's own default extraction/fallback logic
- Auto-creates a Desktop shortcut on first run
- Packaged as a portable, self-extracting single-file build for Windows - no install, no Python required on the target machine
Requires Python 3.12+ on Windows.
python -m venv venv
venv\Scripts\pip install yt-dlp pyinstaller
venv\Scripts\python main.py
In dev mode the app looks for the yt-dlp, ffmpeg, ffprobe, deno, and aria2c
binaries next to main.py. Grab these yourself (they are not committed to
this repo due to size/licensing):
- yt-dlp nightly build: https://github.com/yt-dlp/yt-dlp-nightly-builds/releases
- ffmpeg essentials build (Windows): https://www.gyan.dev/ffmpeg/builds/
- Deno: https://github.com/denoland/deno/releases
- aria2: https://github.com/aria2/aria2/releases
venv\Scripts\pyinstaller --onedir --noconsole --name "YTWin" --contents-directory "engine" --icon "ytwin_icon.ico" --clean --noconfirm main.py
Then copy the yt-dlp, ffmpeg, ffprobe, deno, and aria2c binaries, plus
ytwin_icon.ico, into dist\YTWin\engine\. The result in dist\YTWin\
(just the launcher + the engine folder) is fully portable - copy that
whole folder to any Windows PC and run the launcher.
To distribute as a single file, package dist\YTWin\ with a self-extracting
7-Zip archive (see sfx_config.txt).
Only download videos you own or have permission to download (e.g. your own uploads, Creative-Commons content, or content whose owner has given permission). Respect YouTube's Terms of Service and applicable copyright law in your country.