Skip to content

midhunmanesh01-code/yt-dnl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฅ StreamVault

Python Flask JavaScript HTML5 CSS3 Render

A modern web-based YouTube video downloader built using Flask and yt-dlp.


๐Ÿ“– Overview

StreamVault is a lightweight web application that allows users to download YouTube videos and audio in multiple quality options through a simple and responsive interface.

The application uses Flask as the backend and yt-dlp for video extraction. Downloads are processed on the server and delivered directly to the user's browser using native browser downloads.


โœจ Features

  • ๐ŸŽฌ Download YouTube videos in multiple resolutions
  • ๐ŸŽต Download audio-only format
  • ๐Ÿ“ฅ Native browser download support
  • ๐Ÿ“ฑ Responsive user interface
  • โšก Fast Flask backend
  • ๐Ÿงน Automatic cleanup of temporary files
  • ๐Ÿ›ก Graceful error handling
  • โ˜ Hosted on Render
  • ๐Ÿ”„ Uses yt-dlp Android client for improved compatibility

๐Ÿ›  Tech Stack

Technology Purpose
Python Backend
Flask Web Framework
HTML5 Structure
CSS3 Styling
JavaScript Client-side functionality
yt-dlp Video extraction
FFmpeg Audio/Video merging
Render Deployment

๐Ÿ“‚ Project Structure

StreamVault/
โ”‚
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ app.py
โ”‚   โ”œโ”€โ”€ templates/
โ”‚   โ”‚   โ””โ”€โ”€ index.html
โ”‚   โ”œโ”€โ”€ static/
โ”‚   โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ”‚   โ””โ”€โ”€ js/
โ”‚   โ””โ”€โ”€ downloads/
โ”‚
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ Procfile
โ””โ”€โ”€ README.md

๐Ÿš€ Installation

Clone the repository

git clone <repository-url>
cd yt-dnl

Replace <repository-url> with your fork or the repository URL.

Example:

git clone https://github.com/username/yt-dnl.git
cd yt-dnl

2๏ธโƒฃ Create a virtual environment

python -m venv venv

Activate it:

Windows

venv\Scripts\activate

macOS/Linux

source venv/bin/activate

3๏ธโƒฃ Install dependencies

pip install -r requirements.txt

4๏ธโƒฃ Install FFmpeg

Download FFmpeg from:

https://www.gyan.dev/ffmpeg/builds/

Add the bin folder to your system PATH.


5๏ธโƒฃ Run the application

python backend/app.py

Open:

http://127.0.0.1:5000

๐ŸŒ Deployment

This project is deployed using Render.

Deployment includes:

  • Flask backend
  • Static frontend
  • yt-dlp
  • FFmpeg support
  • Native browser downloads

โš™๏ธ How It Works

User
 โ”‚
 โ–ผ
Paste YouTube URL
 โ”‚
 โ–ผ
Choose Quality
 โ”‚
 โ–ผ
Flask Backend
 โ”‚
 โ–ผ
yt-dlp extracts video
 โ”‚
 โ–ผ
FFmpeg merges streams (if needed)
 โ”‚
 โ–ผ
Temporary file created
 โ”‚
 โ–ผ
Browser downloads file
 โ”‚
 โ–ผ
Temporary file deleted

๐Ÿงน Automatic Cleanup

Downloaded files are stored temporarily on the server.

After the browser receives the file, the server automatically deletes it to prevent unnecessary storage usage.


โš  Known Limitations

  • Some YouTube videos may trigger bot verification.
  • Age-restricted or private videos require authentication.
  • Very large videos may exceed free hosting limitations.
  • Availability depends on YouTube's current restrictions.

๐Ÿ”ฎ Future Improvements

  • Thumbnail preview
  • Video title preview
  • File size estimation
  • Download progress indicator
  • Playlist support
  • Better error pages
  • Dark mode
  • Search functionality
  • Download history

๐Ÿค Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a new branch
git checkout -b feature-name
  1. Commit your changes
git commit -m "Add feature"
  1. Push the branch
git push origin feature-name
  1. Open a Pull Request

๐Ÿ“œ License

This project is intended for educational and personal learning purposes.

Users are responsible for complying with YouTube's Terms of Service and applicable copyright laws when downloading content.


โญ Support

If you found this project useful, consider giving it a โญ on GitHub!


Built with โค๏ธ using Flask, yt-dlp and Python

Made by Midhun Manesh

About

STREAM_VAULT - YT-Dnl Website Origin Flow View

Resources

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors