A web-based YouTube video/audio downloader built with Flask and yt-dlp, providing a simple UI for downloading public YouTube videos as MP4 or MP3.
Video Info Page
This Flask application uses yt-dlp for downloading YouTube content. It allows:
🎞 MP4 & MP3 download support
🆓 Public video support only (on hosted version)
🖼 Metadata preview (thumbnail, title, duration)
📊 Real-time progress bar
🧹 Auto-delete downloaded files after delivery
| Layer | Tech Used |
|---|---|
| Backend | Flask (Python) |
| Downloader | yt-dlp |
| Audio Convert | FFmpeg |
| Frontend | HTML, CSS, JavaScript |
| Deployment | Render.com + Gunicorn |
This live version is limited to public YouTube videos only. It does not support login-based videos due to lack of authentication.
Videos that will not work include:
- 🔞 Age-restricted content
- 🔒 Private videos
- 🌍 Region-locked videos
- 🙃 Videos requiring login
To support restricted videos, run the app locally:
bash
git clone https://github.com/1efferson/YouTube_Downloader.git
cd your-repo
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python app.py
https://youtube-downloader-97o6.onrender.com
It is hosted on the free tier service, so if no user visits the site within every 15mins, the site "sleeps" which takes about 30 seconds to restart so be patient when you open the website the first time
Want to contribute?
🍴 Fork and clone this repo
🧪 Run locally
🎯 Add support (e.g., Add playlist download)
📬 Open a pull request
