Features
Multi-Platform
Record from Twitch, YouTube, and Kick with a single application
Automatic Recording
Detect when channels go live and start recording automatically
Quality Control
Choose from source quality down to 360p per channel
Post-Processing
Re-encode, copy, or concatenate recordings with FFmpeg
Storage Management
Set quotas and retention policies to manage disk space
Media Server Integration
Automatic Jellyfin library updates with NFO metadata
Notifications
Discord, Telegram, or webhook alerts for recording events
API Access
REST API and WebSocket for real-time status and control
Architecture
Battles Record consists of two main components:- br-daemon - Rust backend service that monitors channels, captures streams, and exposes a REST API + WebSocket for real-time updates
- br-ui - Tauri 2 + SvelteKit desktop application for managing the daemon
- Desktop App (Windows, Linux) - Tauri-based native application with system tray, sidecar daemon management, and auto-reconnect
- Docker Container - Headless server deployment with REST API access (standard and NVIDIA GPU images)
Quick Links
Installation
Get started with desktop or Docker deployment
Add Channels
Set up Twitch, YouTube, and Kick channels
Configure Storage
Set up recording directories and quotas
Troubleshooting
Common issues and solutions
System Requirements
Desktop Application
| Component | Minimum | Recommended |
|---|---|---|
| OS | Windows 10, Ubuntu 20.04 | Latest version |
| RAM | 2 GB | 4 GB+ |
| Storage | 10 GB free | 100 GB+ for recordings |
| CPU | Dual-core | Quad-core for post-processing |
Docker Container
| Component | Minimum | Recommended |
|---|---|---|
| Docker | 20.10+ | Latest stable |
| RAM | 512 MB | 1 GB+ |
| Storage | Volume mount required | SSD recommended |
Privacy
All data stays local. Recordings, configuration, and credentials are stored on your device or server. No data is sent to TeamBattles. View Privacy PolicyChangelog
v1.2.0 - February 9, 2026
v1.2.0 - February 9, 2026
Added
- Automatic update checking for daemon and desktop app via GitHub Releases API (every 6 hours)
- Update notification banners in UI (dismissible, persisted across sessions)
- Client-daemon compatibility validation with
min_client_versionandmax_client_versionfields - Incompatibility warning banner when client version is outside the supported range
check_for_updatesdaemon config option (default: true)BR_CHECK_FOR_UPDATESDocker environment variableupdatefield in/api/statusresponse with latest version info
v1.1.0 - February 9, 2026
v1.1.0 - February 9, 2026
Fixed
- Buttons becoming non-interactable in release builds after using the server selector dropdown
- CSP blocking inline styles in release builds, preventing dropdown and menu positioning
- CSP blocking Tauri IPC protocol, forcing slower postMessage fallback
- CSP blocking remote server health checks and data URI images
- Titlebar drag region race condition caused by duplicate drag handlers
Changed
- Tray icon “Exit” now uses the same close flow as the X button (instant UI hide, saved preference check, confirmation dialog)
- Removed
DropdownMenu.Portalfrom server selector to avoid WebView2 hit-test corruption on Windows - Added
select-noneto button base styles to prevent text selection on click - Updated CSP to properly allow inline styles, Tauri IPC, remote connections, and data URIs
- Toast notifications no longer overflow when message contains long unbreakable strings
v1.0.0 - February 4, 2026
v1.0.0 - February 4, 2026
Initial release of Battles Record.
Core Features
- Multi-platform live stream recording (Twitch, YouTube, Kick)
- HLS segment downloading with crash recovery and atomic writes
- Post-processing with three output formats (re-encode, copy, concatenate)
- GPU-accelerated encoding (NVIDIA NVENC, Intel Quick Sync, AMD AMF)
- Global and per-channel storage quotas with retention policies
- Per-channel schedules with day/time windows and timezone support
- Content filters for titles, games, and minimum viewer count
- Jellyfin integration with TV show structure and rich image generation
- OAuth 2.0 authentication for Twitch, YouTube, and Kick with bundled credentials
- YouTube cookie authentication as OAuth alternative
- Discord, Telegram, and generic webhook notifications
- JWT authentication with Admin and Viewer roles
- Tauri 2 desktop application with system tray and sidecar daemon
- Full REST API and WebSocket for real-time event streaming
- Docker deployment with standard and NVIDIA GPU images
- TOML configuration with hot-reload