output.http.hls
HLS
Serve traditional HLS with a bounded live window.
PRIVATE ALPHA
Choose independent delivery, playback, recording and routing branches, then configure their shared services.
output.http.hls
Serve traditional HLS with a bounded live window.
output.http.llhls
Serve local streams and demand-driven cascade streams over LL-HLS.
output.http.webrtc
Play local and demand-driven cascade streams through WHEP.
output.moqt
Publish normalized media or relay catalog-discovered presentations and static exact tracks over QUIC.
output.recording
Keep durable, playable recording sessions on local storage.
output.thumbnails
Generate JPEG previews without requiring HLS or recording.
output.s3
Publish recording artifacts, thumbnails or both through one shared service.
output.srt.cascade
Serve normalized streams to downstream dispergo nodes.
output.srt.push
Send active streams to external SRT targets.
output.root is the writable root for live HLS, local and internal cascade LL-HLS, thumbnail and recording artifacts. Cascade input requires this root even for WHEP-only playback with public cascade LL-HLS disabled.
output.lowWaterMarkBytes defaults to 5 GiB and prevents a new artifact from opening below that free-space threshold, including every new thumbnail commit.
Modules fail independently. A recording or S3 failure does not stop an otherwise healthy live stream.
Every node configuration requires the media listener, even when no HTTP output is enabled. It serves enabled HTTP outputs and never exposes operational or control routes.
| Module | Default | URL | Purpose |
|---|---|---|---|
listener | required | configured host and port | Viewer-facing listener with a default 2048 accepted-connection limit. |
hls.enabled | false | /hls/{streamId}/master.m3u8 | Traditional HLS with a bounded live window. |
llhls.enabled | false | /llhls/{streamId}/master.m3u8 | LL-HLS for local push and managed pull inputs. |
webrtc.enabled | false | /whep/{streamId} | WebRTC playback through WHEP. |
thumbnails.enabled | false | /thumbnails/{sessionId}/{fileName} | GET and HEAD for committed JPEGs; separate from generation. |
HLS, LL-HLS and WHEP can share this listener. When input.srt.cascade is enabled, LL-HLS and WHEP serve a local stream first and start cascade pull only when the stream is absent locally.
MOQT uses its own native QUIC or WebTransport UDP listeners. It does not share this HTTP listener.
"http": {
"listener": {
"host": "0.0.0.0",
"port": 8080,
"maxConnections": 2048
},
"hls": {"enabled": true, "segmentDuration": "6s"},
"llhls": {"enabled": true, "windowDuration": "5m"},
"webrtc": {
"enabled": true,
"network": {"udpPort": 50000},
"security": {"mode": "anonymous"}
}
}