A high-performance recording and restreaming server for RTSP IP cameras — a single connection per camera, zero transcoding, multi-node high availability.
record:
format: fmp4
segmentDuration: 900
rtsp:
enabled: true
port: 8554
cameras:
camera_001:
source: rtsp://…/stream1
sub: rtsp://…/stream2
camera_002:
record: falseFrom single-box recording to a replicated cluster — one binary, one config.
Multi-camera RTSP ingestion to fragmented MP4. Configurable segment duration, path templates with {camera_id} and {timestamp}, playable while recording.
Full RTSP server, zero-transcoding passthrough. One connection per camera, unlimited clients via broadcast, automatic idle timeout.
Raft-based multi-node cluster with automatic camera scheduling, failover and a replicated cluster license.
Distributed recording archive across nodes with unified query and export.
Low-latency browser playback without plugins — sub-second live view straight from the hub.
Adaptive HLS output for wide client compatibility and CDN-friendly distribution.
A main HD stream for recording plus an optional low-bitrate substream for monitoring walls.
Push lifecycle events to your own services — connect, disconnect, segment finalized, camera errors.
Thousands of cameras, a single connection each, recorded to fMP4 with failover across nodes.
Ingest once, distribute to unlimited RTSP/WebRTC/HLS clients with zero transcoding.
Record at the edge, query and export recordings across the whole cluster.
record:
format: fmp4
segmentDuration: 900
cameras:
camera_001:
source: "rtsp://admin:pw@192.168.1.100:554/stream1"
sub: "rtsp://admin:pw@192.168.1.100:554/stream2"# main stream
vlc rtsp://localhost:8554/camera_001
# low-bitrate substream
vlc rtsp://localhost:8554/camera_001/subcurl localhost:8080/license/info
# → mode, licensed_to, max_cameras,
# used_cameras, remaining_cameras,
# expiry_utc, expiredUp and running with RTSP cameras in under 5 minutes.