A simple desktop video downloader built with yt-dlp + tkinter.
- Paste a YouTube / Bilibili / etc. link and analyze all available formats in one click
- Format table showing resolution, codec, FPS, file size with four filter modes
- Download cover as PNG (standalone or alongside video)
- Proxy support + browser cookie login
- Pause / Cancel / Resume download
- Per-format concurrency control (video / audio tuned separately)
- Fragment progress grid (Canvas-rendered, real-time color update)
- Translated error messages for common yt-dlp errors
- Chrome UA spoofing + request interval anti-detection
- Optional aria2c integration (16 connections per file)
- Settings auto-persistence
# First-time setup
setup.bat
# Launch
run.batOr manually:
python -m venv venv
venv\Scripts\python.exe -m pip install -r requirements.txt
venv\Scripts\python.exe yt_downloader_gui.py- Configure proxy if needed
- Select browser from Cookie dropdown (must be logged into YouTube)
- Paste link → Analyze
- Choose format → Download
| Problem | Fix |
|---|---|
| SSL error | Check "Skip SSL verify" |
| Bot detection | Select browser in Cookie dropdown |
| Slow download | Increase video threads, or install aria2c |
| Tuple comparison error | Try a different format or restart |
- Python 3.10+
- yt-dlp
- Pillow
- ffmpeg (system install, for format merging)
- aria2c (optional, place in project directory)
MIT
