Download videos from VRT MAX with automatic authentication.
Get Started · Usage · Web UI · Docs · Nederlands
- Automatic Login: Authenticate via Playwright browser automation
- HLS Stream Download: Extract and download HLS streams with FFmpeg
- DRM Detection: Detects DRM-protected content
- Simple CLI: Easy-to-use command line interface
- Web UI: Browser-based interface for easy downloading
- Python 3.9+
- ffmpeg
- VRT MAX account
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# or: .\venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Install Playwright browsers
playwright install chromiumpython thuis.py --setupThis prompts for your VRT MAX email and password, stored in .env.
Note: Your password is stored unencrypted in .env!
# Download a video
python thuis.py "https://www.vrt.be/vrtmax/a-z/thuis/31/thuis-s31a6017/"
# Download entire season
python thuis.py "https://www.vrt.be/vrtmax/a-z/thuis/31/"
# Dry-run (show what would be downloaded)
python thuis.py "https://www.vrt.be/vrtmax/a-z/thuis/31/" --dry-run
# Interactive mode (ask before downloading)
python thuis.py "https://www.vrt.be/vrtmax/a-z/thuis/31/" --interactive
# With custom output name
python thuis.py "https://www.vrt.be/vrtmax/a-z/thuis/31/thuis-s31a6017/" -o "thuis.mp4"
# Show browser window (for debugging)
python thuis.py "https://www.vrt.be/vrtmax/a-z/thuis/31/thuis-s31a6017/" --no-headlessVideos are automatically saved to the media/ directory.
A browser-based interface is also available:
# Start the web server
python app.pyThen open http://localhost:5000 in your browser.
The Web UI allows you to:
- Enter a VRT MAX URL
- See what would be downloaded (season or single episode)
- Start downloads with one click
- Monitor download progress
# Fast tests (default, DRM detection only)
pytest tests/ -v
# All tests including downloads (slow)
pytest tests/ -v -m ""| Type | Program | DRM |
|---|---|---|
| Short DRM-free | Flikken Maastricht trailer | No |
| Long DRM-free | Thuis episode | No |
| DRM protected | De camping S1 E1 | Yes |
- Login: Automatic login to VRT MAX via Playwright
- Stream Extraction: Fetches HLS stream URL via VRT API
- Download: Uses FFmpeg to download the video
- Check credentials in
.env - Try with
--no-headlessto see what's happening
- Check if FFmpeg is installed:
ffmpeg -version