Big Moon is a self-hosted Twitch VOD downloader with a web interface, user authentication, and hardware acceleration for Intel GPUs.
-
VOD Discovery: Search for any Twitch channel and browse their available VODs with built-in player previews.
-
Hardware Accelerated: Uses Intel VA-API via
/dev/drito speed up video processing. -
AV1 Support: Integrated with official Intel GPU drivers for AV1 hardware encoding (requires Intel Arc or 14th Gen+ CPUs).
-
Parallel Hardware Processing: Automatically detects all available VA-API devices (e.g., iGPU + dGPU) and distributes compression tasks across them in parallel to maximize throughput.
-
Auto-Download Pipeline:
- Smart Monitoring: Automatically detect and download new VODs from monitored channels.
-
Task Chaining: Fully automated
Download$\rightarrow$ Compresspipeline based on customizable presets. - Flexible Scheduling: Background polling with configurable lookback windows.
-
Advanced Library:
- Smart Management: Search and filter your collection with bulk compression and deletion.
- Size Analytics: Real-time file size comparison showing space saved after compression.
-
Modern UI/UX:
- Glassmorphism: A polished, semi-transparent interface with dynamic accents.
- Collapsible Navigation: Adaptive sidebar for maximum workspace.
- Live Feedback: Visual progress bars with pulsing animations and toast notifications, including real-time task progress in log views.
- Resilient Processing: Automatic reconnection for network-streamed VODs and robust task recovery/retry systems that preserve original compression settings.
- Rich Channel Info: Integrated channel descriptions and robust avatar loading for discovery and favorites.
-
User Management:
- Admin Command Center: High-level dashboard with disk utilization gauges and hardware health monitoring.
- User: Search, request VOD downloads, and manage a personal library.
-
Dockerized: Easy deployment with Docker Compose using an Ubuntu 22.04 base for maximum driver compatibility.
-
Persistent Storage: All VODs and user data are stored in mapped volumes.
- Docker and Docker Compose installed.
- A Twitch App Client ID and Client Secret (get them from the Twitch Dev Console).
- An Intel GPU (for hardware acceleration).
- Note: For AV1 encoding, an Intel Arc GPU or 14th Gen+ CPU is required.
- Ensure the host kernel has the
i915orxedriver installed.
Copy the example environment file and fill in your credentials:
cp .env.example .envEdit .env:
TWITCH_CLIENT_ID: Your Twitch App Client ID.TWITCH_CLIENT_SECRET: Your Twitch App Client Secret.ADMIN_USERNAME: The username for the initial admin account.ADMIN_PASSWORD: The password for the initial admin account.USE_GPU: Set totrueto enable Intel acceleration.
Start the application:
docker compose up -d --buildThe app will be available at http://localhost:5000.
For local development instructions (non-Docker), please refer to DEVELOPMENT.md.
To check which codecs your GPU supports within the container:
docker exec -it <container_id> vainfo/app: Source code for the Flask backend and templates./data: Persistent SQLite database for users./downloads: Location where downloaded VODs are stored.
- No public sign-up page.
- Initial admin is created automatically from
.envon first run. - Subsequent users must be created by an administrator through the Admin Dashboard.
This project was created by Some Watson with the assistance of opencode, an AI software engineering agent.
This project is licensed under the MIT License.