Simple desktop app to download audio/video from YouTube and many other sites using yt-dlp, with a PySide6 UI and optional metadata (cover art + lyrics).
- Download audio or video
- Bulk playlist downloads (audio or video)
- Metadata: cover art and synced/plain lyrics (LRCLib + Genius fallback)
- Parallel downloads where applicable
- Choose video quality before downloading
- Supports hundreds of sites via yt-dlp
- Python 3.8+
- ffmpeg (for audio extraction and video merging)
- On Linux:
python3-tk(tkinter) for message dialogs - Internet connection for fetching metadata/thumbnails
- Create a virtual environment (recommended) and install dependencies:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt - Install system packages (Ubuntu/Debian example):
sudo apt update sudo apt install ffmpeg python3-tk
python3 main.py- Web view for the “Watch Video” dialog uses
PySide6-QtWebEngine. - Lyrics are fetched via LRCLib first, then Genius as a fallback.
- If ffmpeg is missing, audio extraction (MP3) and video merges will fail.
Pack into a single executable with PyInstaller (spec file provided):
pyinstaller MediaDownloader.specFor screenshots and extra info: https://ganesh-neupane.com.np/MediaDownloaderDetails
Ganesh Neupane Computer Engineering
- GitHub: @GaneshNeupane01
- Detail: @portfolio
- Email: ganeshneupane1357@gmail.com
