active, it appears in the feed as a content item with contentType: "live_stream" and a live viewer count. When the stream ends, its recording becomes available as on-demand video — you can either keep the full recording or generate shorter clips from it.
The live stream object
Attributes
string
Unique identifier (UUID) for the live stream.
string
Identifier viewers use to play the stream. The SDK plays a live stream the same way it plays on-demand video — pass the
playbackId through your custom feed input, or let the feed surface it automatically.string | null
Display title shown in the feed. Max 200 characters.
string
Ingest and delivery protocol. One of
hls or webrtc. Set at creation time and cannot be changed. See Choosing a protocol.string | null
HLS streams only. Glass-to-glass latency target. One of
low, reduced, or standard. See Latency mode below. null for WebRTC streams.integer | null
HLS streams only. Number of seconds the stream will hold the slot if the broadcaster disconnects. After this window expires without a reconnect, the stream automatically transitions to
ended. Range 0–1800. Defaults to 60. null for WebRTC streams.string | null
Ready-to-use RTMPS broadcast URL with credentials embedded. Only returned in the Create Live Stream response. Point your encoder at this URL to start pushing video — no additional configuration needed.Sensitive — treat like an API key. Anyone with this URL can broadcast under your stream. Forward it only to the broadcaster who will publish the stream, never log it, and never expose it to viewers or commit it to source control.
string | null
Broadcaster authentication key, already embedded in
rtmpUrl. Only returned in the Create Live Stream response. Provided separately for encoders that require the key as a distinct field. See the warning on rtmpUrl — same handling rules apply.string | null
ISO 8601 timestamp of when the broadcaster first connected.
null while status is idle.string | null
ISO 8601 timestamp of when the stream ended.
null while the stream is idle or active.string
ISO 8601 creation timestamp.
Lifecycle
A live stream moves through three states:
A stream can transition
idle → active only once. Once it has gone active and then ended, it cannot be restarted — create a new live stream for the next broadcast.
Latency mode
latencyMode applies to HLS streams only and controls the trade-off between end-to-end delay and playback stability. For sub-second delivery, use protocol: "webrtc" instead — see Choosing a protocol.
The default is
low. Higher latency modes give the player more time to buffer, which results in smoother playback over poor connections.
Live streams in the feed
When the SDK fetches the feed, active live streams appear as content items with two extra fields:isLive: true— flags the item as a live broadcastcurrentViewers: <number>— the live concurrent viewer count
isLive flag flips to false and currentViewers returns 0. See The Content Object for the full content shape.