PRIVATE ALPHA

Output modules

Choose independent delivery, playback, recording and routing branches, then configure their shared services.

Choose outputs

output.http.hls

HLS

Serve traditional HLS with a bounded live window.

output.http.llhls

LL-HLS

Serve local streams and demand-driven cascade streams over LL-HLS.

output.http.webrtc

WebRTC

Play local and demand-driven cascade streams through WHEP.

output.moqt

MOQT

Publish normalized media or relay catalog-discovered presentations and static exact tracks over QUIC.

output.recording

Recording

Keep durable, playable recording sessions on local storage.

output.thumbnails

Thumbnails

Generate JPEG previews without requiring HLS or recording.

output.s3

S3 publication

Publish recording artifacts, thumbnails or both through one shared service.

output.srt.cascade

SRT cascade

Serve normalized streams to downstream dispergo nodes.

output.srt.push

SRT push

Send active streams to external SRT targets.

Shared storage

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.

Shared HTTP listener

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.

ModuleDefaultURLPurpose
listenerrequiredconfigured host and portViewer-facing listener with a default 2048 accepted-connection limit.
hls.enabledfalse/hls/{streamId}/master.m3u8Traditional HLS with a bounded live window.
llhls.enabledfalse/llhls/{streamId}/master.m3u8LL-HLS for local push and managed pull inputs.
webrtc.enabledfalse/whep/{streamId}WebRTC playback through WHEP.
thumbnails.enabledfalse/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.

Shared listener with HTTP outputs
"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"}
  }
}