- Concurrent Downloads: Configure the number of simultaneous downloads (1-10)
- Clean User Interface: Modern, intuitive UI with status updates and logs
- Automatic Updates: Built-in yt-dlp downloader ensures you always have the latest version
- Visual Status Tracking: Color-coded status indicators for each download
- Detailed Logging: View progress and debug information for each download
- Go to the Releases page
- Download the latest
VideoDL.exefile - Run the executable - no installation required!
- Clone the repository
git clone https://github.com/randomname124290358349/videoDL.git - Install requirements
pip install -r requirements.txt - Run the application
python main.py
- Clone the repository
git clone https://github.com/randomname124290358349/videoDL.git - Install requirements
pip install -r requirements.txt - Run the application
python main.py
pytest test-download-controller.py test-downloader.py test-download-item.py test-main-window.py test-url-validator.py -v --pdb -p no:faulthandler
- Python 3.8 or higher
- PyQt6
- Internet connection for downloading yt-dlp and videos
- Launch the application
- Select an output directory using the "Browse" button
- Paste video URLs (one per line) in the text area
- Adjust the number of concurrent downloads if needed
- Click "Start Downloads"
- Watch the progress in the downloads area
VideoDL uses yt-dlp for the actual downloading, so it supports all sites compatible with yt-dlp. This includes:
- YouTube
- Vimeo
- TikTok
- SoundCloud
- And hundreds more!
For the full list of supported sites, visit the yt-dlp documentation.
The project includes a GitHub Actions workflow that automatically builds the Windows executable. You can also build it manually:
pyinstaller --name=VideoDL --onefile --windowed --add-data "resources;resources" --icon=resources/icons/icon.ico main.py
pyinstaller --name=VideoDL --onefile --windowed --add-data "resources:resources" --icon=resources/icons/icon.ico main.py
- Programming Language: Python
- UI Framework: PyQt6
- Downloader Backend: yt-dlp
- Concurrency: QThreadPool for multi-threaded downloads
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
