Skip to content

ra5533/video-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎬 Video Downloader (Python + CustomTkinter)

A clean, fast, and stable desktop application to download YouTube videos or audio using yt-dlp, built with Python and CustomTkinter.


✨ Features

  • 📹 Download videos in MP4 (360p–4K)
  • 🎧 Download audio in MP3 (128–320 kbps)
  • 📊 Real-time progress bar
  • ❌ Cancel download anytime
  • 🧠 Thread-safe UI (no freezing)
  • 🪟 Safe window close during download
  • 🧹 Windows-safe filenames
  • 🔒 No playlists (single video only)

🛠️ Tech Stack

  • Python 3.9+
  • CustomTkinter
  • yt-dlp
  • FFmpeg (required for MP3 downloads)

📦 Installation

1️⃣ Clone the repository

git clone https://github.com/ra5533/video-downloader.git
cd video-downloader

2️⃣ Create virtual environment (recommended)

python -m venv venv
venv\Scripts\activate

3️⃣ Install dependencies

pip install -r requirements.txt

4️⃣ Install FFmpeg (for MP3)


▶️ Run the App

python src/app.py

⚠️ Notes & Design Decisions

  • URL validation is handled internally by yt-dlp
  • Hard subprocess killing is avoided for safety
  • Download resume is not supported by design

These are intentional trade-offs, not bugs.


📜 License

MIT License

About

A Python desktop application built using CustomTkinter and yt-dlp that allows users to download videos and audio with a clean GUI and real-time progress tracking.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages