ViDownload is a fast and flexible command-line video downloader built with Python and powered by yt-dlp. It allows users to download videos or extract audio (MP3) from URLs with support for multiple resolutions, audio bitrates, batch downloads, and parallel processing. The tool also provides automatic ZIP packaging for multiple downloads and an interactive terminal interface for ease of use.
Project description
🎬 VidDownload
VidDownload is a powerful and user-friendly command-line tool for downloading videos and audio from the internet using Python and yt-dlp.
It supports batch downloads, multiple resolutions, MP3 extraction, and parallel processing — all from a simple terminal interface.
🚀 Features
- 📥 Download videos in multiple resolutions (Best, 480p, 720p, 1080p)
- 🎵 Extract audio as MP3 with selectable bitrate
- ⚡ Parallel downloads for faster performance
- 📦 Automatic ZIP packaging for multiple downloads
- 📁 Choose custom save locations
- 🧠 Smart progress tracking with ETA and speed
- 🖥️ Simple interactive CLI experience
📦 Installation
pip install vid-downlod
Make sure you also have ffmpeg installed on your system.
▶️ Usage
Run directly from terminal:
vid-downlod
🧭 How It Works
-
Enter number of files to download
-
Paste video URLs
-
Choose format:
- MP4 (video)
- MP3 (audio)
-
Select:
- Resolution (for video)
- Bitrate (for audio)
-
Choose save location
-
Sit back while downloads run in parallel 🚀
⚙️ Supported Options
🎥 Video Resolutions
- Best
- 480P
- 720P
- 1080P
🎵 Audio Bitrates
- 128 kbps
- 192 kbps
- 256 kbps
- 320 kbps
📁 Output Behavior
- Single file → saved directly to chosen directory
- Multiple files → downloaded into a temp folder and zipped automatically
🧱 Project Structure
download.py→ Core download logic using yt-dlpmain.py→ CLI interface and orchestrationzip_files.py→ Handles ZIP creation
⚡ Performance
ViDownload uses:
ThreadPoolExecutorfor parallel downloads- Smart progress hooks to reduce UI spam
- Efficient file handling and cleanup
⚠️ Requirements
- Python 3.8+
yt-dlpffmpeg(required for audio/video processing)
🛠️ Example Workflow
How many files do you want to download?: 2
Enter URL #1: https://...
Enter URL #2: https://...
Download as:
1. MP4
2. MP3
Select resolution / bitrate...
✅ Downloads complete
📦 Zip complete
❗ Disclaimer
This tool is intended for educational and personal use only. Please ensure you comply with the terms of service of the content providers you use.
❤️ Contributing
Pull requests and suggestions are welcome!
📄 License
GNU License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vid_download-0.1.0.tar.gz.
File metadata
- Download URL: vid_download-0.1.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3fa0ef7eee004b918aa2d43b36e81c3d469d06e2ac10b4967ed29fa6d152684
|
|
| MD5 |
d423f770d54ebd4c7b519b220b2e55d4
|
|
| BLAKE2b-256 |
19b640312e6de1a98ab83c26eccd6effc84445faf32601335c0ebbbdaa9ea701
|
File details
Details for the file vid_download-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vid_download-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab7c556c36a3add1efeee9a1dde7db66f3c9648861e25854a90d42189d5816a6
|
|
| MD5 |
0c42c9f4eb15e4aaf6717c88362d2ace
|
|
| BLAKE2b-256 |
ea7853600d6d5ddb5f136c042d3496de0437f52646fcb57fbccee3ee52fa75ea
|