Skip to content

MrTech-Hammad/StreamDrop-Final-Version

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 StreamDrop — YouTube Video & Playlist Downloader

A free, open-source YouTube downloader built with Python (Flask) + yt-dlp + FFmpeg Created by Mr. M. HammadYouTube Channel: Mr.Tech_Hammad


✨ Features

  • ⬇️ Download YouTube videos at fixed 720p MP4
  • 🎵 Extract audio as MP3 (320kbps)
  • 📋 Download full playlists automatically
  • 📊 Live progress bar with speed and ETA
  • 🎨 Clean dark UI with smooth animations
  • 🔍 Auto-fetches video/playlist info before download

🖥️ Requirements

Make sure these are installed on your system:

Tool Purpose Download
Python 3.10+ Backend language python.org
FFmpeg Merge video + audio gyan.dev/ffmpeg
yt-dlp YouTube download engine Installed via pip
Flask Web server Installed via pip

⚙️ Installation & Setup

Step 1 — Clone the Repository

git clone https://github.com/MrTech-Hammad/YT-Video-Downloader.git
cd YT-Video-Downloader

Step 2 — Install Python Dependencies

pip install flask yt-dlp

Step 3 — Install FFmpeg

  • Windows: Download from gyan.dev, extract to C:\ffmpeg, add C:\ffmpeg\bin to PATH
  • macOS: brew install ffmpeg
  • Linux: sudo apt install ffmpeg

Step 4 — Run the Server

Windows (PowerShell):

& "path\to\python.exe" app.py

macOS / Linux:

python app.py

Step 5 — Open in Browser

http://localhost:5000

📁 Project Structure

StreamDrop/
├── app.py          ← Python Flask backend
├── index.html      ← Frontend UI
├── requirements.txt← Python dependencies
├── downloads/      ← Temporary download folder (auto-created)
└── cookies.txt     ← Optional: for age-restricted videos

🔌 API Endpoints

Method Endpoint Description
GET / Serves the frontend
POST /api/download Starts a download job
GET /api/status/<job_id> Get live download progress
GET /api/file/<job_id>/<filename> Download the finished file
POST /api/playlist-info Fetch video/playlist metadata

🛠️ Want to Contribute?

This project is 100% open source and made for learners!

You can improve it by:

  • 🎨 Adding new UI themes or fonts
  • 📱 Making it mobile responsive
  • 🔊 Adding more quality options (1080p, 480p, 128kbps)
  • 🌐 Adding support for other platforms
  • 🔐 Adding user authentication
  • 📦 Adding ZIP download for playlists
  • 🌍 Adding multi-language support

How to Contribute:

  1. Fork this repository
  2. Create a new branch: git checkout -b my-feature
  3. Make your changes
  4. Commit: git commit -m "Added new feature"
  5. Push: git push origin my-feature
  6. Open a Pull Request

⚠️ Keep yt-dlp Updated

YouTube changes its download cipher regularly. If downloads stop working, run:

pip install -U yt-dlp

📜 License

This project is licensed under the MIT License — see LICENSE file. You are free to use, modify, and share this project.


🙏 Credits

Built with:


⭐ If this project helped you, please give it a star on GitHub! Subscribe to Mr.Tech_Hammad for more projects!

About

A free YouTube video and playlist downloader built with Python, Flask, yt-dlp and FFmpeg. Download upto 4K MP4 or 320kbps MP3. Open source for learners..

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors