Skip to content

KYOOOOP/universal-video-downloader

Repository files navigation

🌍 Universal Video Downloader

Video Downloader Banner Quality Platforms Free youtube

Download videos from ANY platform with intelligent quality selection and dynamic interface


✨ Features

🎬 Universal Platform Support

  • YouTube, Instagram, TikTok, Facebook, Twitter, Vimeo
  • Reddit, Twitch, Dailymotion, SoundCloud, Bandcamp
  • 1000+ platforms worldwide supported via yt-dlp

🎚️ Complete Quality Range

  • Video: 360p, 480p, 720p, 1080p, 1440p, 4K Ultra HD
  • Audio: 96kbps, 128kbps, 192kbps, 256kbps, 320kbps

πŸ”„ Smart Dynamic Interface

  • Select "Video + Audio" β†’ Shows video quality & format options
  • Select "Audio Only" β†’ Shows audio quality & format options
  • No clutter - only see what you need!

🎡 Multiple Format Support

  • Video: MP4 (most compatible), WebM, MKV
  • Audio: MP3, M4A, WAV, FLAC, OGG (with FFmpeg)

⚑ Advanced Features

  • Real-time download progress tracking
  • Automatic platform detection
  • FFmpeg auto-detection with fallbacks
  • Rate limiting and security features
  • Auto-cleanup after 2 hours
image

πŸ–₯️ Windows Installation Guide

Prerequisites

  • Windows 10/11 (Windows 7/8 may work)
  • Python 3.7 or newer
  • Internet connection

Step 1: Install Python

  1. Go to https://python.org/downloads
  2. Download Python 3.12 (latest version)
  3. IMPORTANT: Check βœ… "Add Python to PATH" during installation
  4. Click "Install Now"
  5. Verify installation:
    python --version
    Should show: Python 3.12.x

Step 2: Download the Project

Option A: Download ZIP (Easiest)

  1. Click the green "Code" button above
  2. Select "Download ZIP"
  3. Extract to a folder (e.g., C:\VideoDownloader)

Option B: Clone with Git

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

Step 3: Install Dependencies

  1. Open Command Prompt (type cmd in Start menu)

  2. Navigate to your project folder:

    cd C:\VideoDownloader\universal-video-downloader
  3. Install required packages:

    pip install -r requirements.txt

    If pip doesn't work, try:

    python -m pip install -r requirements.txt

Step 4: Install FFmpeg (For Audio Conversion)

Option A: Automatic (Recommended)

pip install ffmpeg-python

Option B: Manual Installation

  1. Download from https://ffmpeg.org/download.html#build-windows
  2. Extract to C:\ffmpeg
  3. Add C:\ffmpeg\bin to Windows PATH:
    • Press Win + R, type sysdm.cpl
    • Click "Environment Variables"
    • Under "System Variables", find "Path"
    • Click "Edit" β†’ "New" β†’ Add C:\ffmpeg\bin
    • Click "OK" on all windows
    • Restart Command Prompt

Step 5: Run the Application

  1. In Command Prompt, run:
    python server.py
  2. You should see:
    🌍 UNIVERSAL VIDEO DOWNLOADER
    βœ… Server starting at: http://localhost:5000
    
  3. Open your browser and go to: http://localhost:5000

Step 6: Start Downloading! πŸŽ‰

  1. Paste any video URL
  2. Choose Video+Audio or Audio Only
  3. Select your preferred quality and format
  4. Click "Start Download"
  5. Watch real-time progress
  6. Download your file when complete!

🌐 Use Online (No Installation Required)

Live Demo: Deploy on Railway or Deploy on Render

Just click the deployment button and have your own online video downloader in 2 minutes!


🎯 How to Use

Video + Audio Download

  1. Paste any video URL (YouTube, Instagram, TikTok, etc.)
  2. Select "Video + Audio"
  3. Choose quality: 360p (small) to 4K (huge)
  4. Pick format: MP4 (recommended), WebM, or MKV
  5. Click "Start Download"

Audio Only Download

  1. Paste any video/music URL
  2. Select "Audio Only"
  3. Choose bitrate: 96kbps (small) to 320kbps (high quality)
  4. Pick format: MP3 (universal), M4A, WAV, FLAC
  5. Click "Start Download"

The interface automatically shows only relevant options based on your selection!


πŸ› οΈ Troubleshooting

"Script crashes immediately"

python --version
pip install flask flask-cors yt-dlp

"FFmpeg not found" (for audio conversion)

  • Install FFmpeg using the guide above
  • Or use M4A/WebM formats (no conversion needed)

"Port already in use"

  • Close other applications using port 5000
  • Or change the port in server.py

"Permission denied"

  • Run Command Prompt as Administrator
  • Or choose a different folder with write permissions

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


⚠️ Legal Notice

This tool is for educational purposes and personal use only. Please respect:

  • Copyright laws and intellectual property rights
  • Platform terms of service
  • Fair use guidelines
  • Content creator rights

Users are responsible for ensuring their use complies with applicable laws and regulations.


πŸ™ Credits & Acknowledgments

Created by: KYOOOOP

Built with:

  • yt-dlp - Universal video downloader
  • Flask - Web framework
  • FFmpeg - Audio/video processing

Special Thanks:

  • yt-dlp community for maintaining 1000+ extractors
  • Flask community for the excellent web framework
  • All contributors who help improve this project

πŸ“Š Statistics

  • Supported Platforms: 1000+
  • Quality Options: 7 (360p to 4K)
  • Audio Bitrates: 5 (96kbps to 320kbps)
  • Video Formats: MP4, WebM, MKV
  • Audio Formats: MP3, M4A, WAV, FLAC, OGG

πŸ”— Links


⭐ Star this repository if you find it helpful!

Made with ❀️ by KYOP

Bringing free video downloading to everyone worldwide