A modern, cross-platform video downloader application built with Python and tkinter. Download videos and audio from multiple platforms with high-quality output, professional interface, and advanced format selection capabilities.
- Multi-Platform Support: Download videos from YouTube, Vimeo, and hundreds of other video platforms
- High-Quality Downloads: Support for multiple video qualities (1080p, 720p, 480p, 360p, 240p)
- Audio-Only Downloads: Extract audio in MP3, M4A, WAV, and FLAC formats
- Modern UI: Professional dark theme with rounded corners and smooth animations
- Real-Time Progress: Live download progress tracking with percentage display
- Video Information: Display video details including title, duration, views, and thumbnail
- Format Selection: Choose from multiple video and audio formats or select specific format IDs
- Smart Quality Detection: Only show available qualities for each video
- Download Cancellation: Cancel downloads in progress with dedicated cancel button
- Automatic Dependency Management: Auto-installs required components with fallback options
- Python 3.7 or higher
- 4GB RAM recommended for processing large videos
- Internet connection for downloading videos
- Minimum 100MB free disk space
- Install Python 3.7+ from python.org
- Clone or download this repository
- Open Command Prompt and navigate to the project folder
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python main.py
- Install Python 3.7+ via Homebrew or python.org:
brew install python
- Clone or download this repository
- Open Terminal and navigate to the project folder
- Install dependencies:
pip3 install -r requirements.txt
- Run the application:
python3 main.py
- Install Python and pip:
sudo apt update sudo apt install python3 python3-pip python3-tkinter
- Clone or download this repository
- Open Terminal and navigate to the project folder
- Install dependencies:
pip3 install -r requirements.txt
- Run the application:
python3 main.py
- Install Python and pip:
sudo dnf install python3 python3-pip python3-tkinter
- Follow steps 2-5 from Ubuntu/Debian instructions
- Launch the application using the appropriate command for your system
- Enter a video URL in the input field (YouTube, Vimeo, etc.)
- Click "Analyze" to fetch video information and available formats
- Select quality and format from the dropdown menus or click on a specific format in the list
- Choose download location using the Browse button
- Click "Download Video" to start the download
- Monitor progress in real-time with the progress bar and log
- Cancel if needed using the Cancel Download button
- MP4 (recommended for compatibility)
- WebM
- MKV
- MP3 (most compatible)
- M4A (high quality)
- WAV (uncompressed)
- FLAC (lossless)
The application supports downloading from hundreds of video platforms including:
- YouTube
- Vimeo
- TikTok
- Dailymotion
- And many more
To create a standalone executable:
pip install pyinstaller
pyinstaller --noconsole --onefile --icon=icon.ico main.pypip install pyinstaller
pyinstaller --noconsole --onefile main.pyThe executable will be created in the dist folder.
Installation Problems: Ensure Python 3.7+ is installed and pip is updated
Download Failures: Check internet connection and verify the video URL is accessible
Quality Issues: Some platforms may limit available qualities
Permission Errors: Try installing dependencies with --user flag
FFmpeg Missing: Install FFmpeg manually for format conversion support
If you encounter dependency errors:
pip install --upgrade yt-dlp requests pillowFor FFmpeg installation:
- Windows: Download from ffmpeg.org
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpegorsudo dnf install ffmpeg
Built with:
- Python tkinter for the GUI framework
- yt-dlp for video downloading capabilities
- PIL/Pillow for image processing
- Custom UI components with Canvas-based rounded designs
- Robust error handling and progress tracking
- Multi-threading for responsive interface
This project is for educational and personal use only. Respect copyright laws and platform terms of service when downloading content.
Contributions are welcome. Please ensure code follows the existing style and includes appropriate error handling.