Installation
qast requires Python 3.8+ and ffmpeg. Optional extras add support for Chromecast, YouTube extraction, and browser capture.
Prerequisites
- Python 3.8+
- ffmpeg — must be on your
PATH. Install via your package manager or ffmpeg.org.
Install qast
# Full install (recommended) — includes yt-dlp, Chromecast, Playwright
pip install qast[all]
# Minimal install — DLNA and Roku only, local files only
pip install qast
# From source (editable)
git clone https://github.com/richlegrand/qast.git
cd qast
pip install -e ".[all]"
Optional: browser capture
To cast rendered web pages via browser:url, install the Chromium browser binary:
python -m playwright install chromium
Skip this if you don't need browser capture.
Optional: Rust encoder
A high-performance Rust encoder is available for advanced use cases:
# Linux/macOS
cargo build --manifest-path rust/qast-encoder/Cargo.toml --release
# Windows
cargo build --manifest-path rust\qast-encoder\Cargo.toml --release
Verify installation
qast --help
qast-ui --help
Quick test
# Discover TVs on your network
qast --scan
# Cast a YouTube video
qast "https://youtube.com/watch?v=dQw4w9WgXcQ"
# Cast your desktop for 30 seconds
qast screen@30
Extras breakdown
| Extra | Provides | Install |
|---|---|---|
yt-dlp | URL resolution (YouTube, 1000+ sites) | pip install qast[ytdlp] |
chromecast | Chromecast protocol support | pip install qast[chromecast] |
browser | Headless Chromium page capture | pip install qast[browser] |
all | Everything above | pip install qast[all] |
Created by Rich LeGrand · MIT License