A high-performance GUI application for downloading Vimeo videos with concurrent segment downloading and automatic audio/video merging.
Example UI (screenshot placeholder)
- 🚀 High-Quality Downloads - Automatically selects highest available bitrate
- ⚡ Concurrent Downloads - Downloads multiple segments simultaneously (5x faster)
- 🔁 Resume Capability - Automatic retries for failed segments (3 attempts)
- 🔊 Smart Merging - Combines video/audio tracks with FFmpeg
- 📊 Real-Time Progress - Separate progress bars for video and audio
- 📝 Activity Logging - Detailed download history and error reporting
- Python 3.8+
- FFmpeg (must be accessible system-wide)
- Required Python packages:
pip install PySide6 aiohttp
- Alternatively you can use
uvto directly run the project! (RECOMMENDED)
-
Install FFmpeg:
- Windows: Windows Builds
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg
-
Clone repository:
git clone https://github.com/yourusername/vimeo-downloader-pro.git cd vimeo-downloader-pro -
Install Python dependencies:
pip install -r requirements.txt
-
Obtain Playlist URL:
- Play the Vimeo video in your browser
- Open Developer Tools (F12) → Network tab
- Filter for
playlistrequests - Copy the full request URL
-
Run the Application:
python scraper.py
or when using
uvuv run scraper.py
-
GUI Workflow:
- Paste playlist URL in the input field
- Choose output directory (default:
~/Downloads/VimeoDownloads) - Click "Start Download"
- Monitor progress in real-time through the interface
Example Workflow (gif placeholder)
Common Issues:
- "FFmpeg not found" → Ensure FFmpeg is installed and in system PATH
- Failed downloads → Verify network connection and URL validity
- Merge errors → Check if both video/audio files were downloaded successfully
Log Analysis:
- Detailed error messages appear in the activity log
- Look for HTTP errors or file permission issues
- Failed segments will show retry attempts
MIT License - See LICENSE for details
Contributions Welcome!
Found a bug? Have a feature request? Please open an issue or submit a PR.