PRIVATE ALPHA

LL-HLS output

Serve low-latency HLS from local inputs or the shared cascade delivery path.

output.http.llhls

Local LL-HLS serves local push and managed pull inputs. output.http.llhls.enabled defaults to false. The viewer entry point is /llhls/{streamId}/master.m3u8 on the configured media listener.

LL-HLS uses the shared HTTP listener and output storage settings. The media listener never exposes operational or control routes.

"http": {
  "listener": {
    "host": "0.0.0.0",
    "port": 8080,
    "maxConnections": 2048
  },
  "llhls": {"enabled": true, "windowDuration": "5m"}
}

HLS and LL-HLS can run together on the same listener. When input.srt.cascade is also enabled, the shared LL-HLS handler serves a local stream first and starts cascade pull only when the stream is absent locally. See cascade input for upstream configuration.

A usable upstream dispergo anchor appears as cascade in stream detail. Existing EXT-X-PROGRAM-DATE-TIME (PDT) calculation, cascade wire format, and degradation behavior remain unchanged. See wall-clock provenance.

Cascade visibility and readiness

output.http.llhls.enabled controls the local push/managed-pull branch. Cascade's internal media owner is independent. The optional output.http.llhls.cascadePublicEnabled defaults to enabled when omitted; setting it to false hides public cascade LL-HLS playback while preserving internal media ownership for other outputs such as WHEP.

Stream detail can expose a separate versioned llHlsState. Opt into webhook.llHlsState.enabled for LL-HLS readiness events. Readiness means the current node's retained master playlist is servable; input health or another node's playlist is not proof. Observation never starts a pull.

Configuration reference

Use the shared output settings with this module. The complete field reference covers every accepted option; the maximal composition shows how modules fit together.