2.0 KiB
2.0 KiB
🎤 Karaoke Playlist Downloader – PRD (v1.0)
✅ Overview
A Python-based Windows command-line tool that wraps yt-dlp.exe to batch-download karaoke videos from YouTube playlists.
📌 Goals
- Quickly download full YouTube playlists containing karaoke videos.
- Organize downloads by playlist.
- Avoid re-downloading the same videos.
🧑💻 Target Users
- Tech-savvy users, developers, or power users familiar with command-line tools.
- Use case: Karaoke DJs, home karaoke setups, offline playlist prep.
⚙️ Platform & Stack
- Platform: Windows
- Interface: Command-line tool (CLI)
- Tech Stack: Python + yt-dlp.exe
📥 Input
- Accepts YouTube playlist URLs via command line.
- Optional: Accept a text file containing multiple playlist URLs (one per line).
🔹 Example Usage
python download_karaoke.py https://www.youtube.com/playlist?list=XYZ
python download_karaoke.py --file playlists.txt
📤 Output
- Downloads videos as MP4 using
yt-dlp.exe. - Each playlist gets its own folder:
downloads/<playlist_name>/ - Filenames are preserved as per the original YouTube video title.
🛠️ Features
- ✅ Skips already downloaded videos (uses video ID log).
- ✅ Logs each download to
logs/<playlist_name>.log. - ✅ Shows progress and errors in the terminal.
- ✅ Lightweight and fast to execute.
📁 Folder Structure (Suggested)
karaoke_downloader/
├── download_karaoke.py # main script
├── yt-dlp.exe # downloader binary
├── playlists.txt # optional playlist list
├── downloads/ # all video output
│ └── [playlist_name]/ # folders per playlist
└── logs/
└── [playlist_name].log # download log
🚀 Future Enhancements (Optional)
--audioflag to extract MP3 only.- Smart filename cleanup (
[Karaoke]tag). - Graceful skip of unavailable/private videos.
- Retry logic for failed downloads.