KaraokeVideoDownloader/docs/PRD.md

2.0 KiB
Raw Blame History

🎤 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)

  • --audio flag to extract MP3 only.
  • Smart filename cleanup ([Karaoke] tag).
  • Graceful skip of unavailable/private videos.
  • Retry logic for failed downloads.