MoqOutputSettings interface
Settings to configure a Moq Egest see NorskOutput.moq()
Signature:
export interface MoqOutputSettings extends SinkNodeSettings<MoqOutputNode>, StreamStatisticsMixin
Extends: SinkNodeSettings<MoqOutputNode>, StreamStatisticsMixin
Properties
| Property | Type | Description |
|---|---|---|
number |
(Optional) Advertised (maximum) audio bitrate in bits per second, published in the catalog. See MoqOutputSettings.videoBitrate. |
|
(Optional) Settings for C2PA (Content Provenance and Authenticity) signing of MoQ output. When set, the init segment and every fragment of each published track is signed before being broadcast. |
||
"subgroup" | "datagram" |
(Optional) Per-object forwarding preference. Defaults to |
|
(Optional) Optional jitter buffer configuration for smoothing output timing. |
||
(Optional) Optional: start a QUIC listener for direct MoQT subscriber connections. |
||
"auto" | "draft14" | "draft16" | "draft18" |
(Optional) Pin the MoQT transport draft this egest speaks, instead of auto-negotiating the newest one. Omit (or "auto") to negotiate. Mainly useful for tests that want to exercise a specific version. |
|
string[] |
The namespace to publish tracks within, as a list of segments (the on-the-wire MoQT tuple). For example, the namespace |
|
(connectionIndex: number, remoteHost: string) ⇒ MoqConnectionResult |
(Optional) Called when a new subscriber connects via QUIC or WebTransport. Return accept with a sourceName, or reject to deny the connection. |
|
(connectionIndex: number, state: string) ⇒ void |
(Optional) Called when a connection status changes (connected, disconnected) |
|
(stats: MoqEgestPathStats) ⇒ void |
(Optional) Every second, while it has any: each subscriber connected directly to this output’s listener, and how its QUIC path is doing — round-trip time, and the packets sent to it and lost on the way. Subscribers on a transport that does not measure its path are left out. |
|
(event: MoqRelayStateEvent) ⇒ void |
(Optional) Called whenever an upstream relay this egest is publishing to transitions through one of the lifecycle states. Use this to surface connection / announce / ready / failure events to the application UI. The Sequence (per relay): "connecting" → "announcing" → "connected" → "ready" ↓ (on retry) "announceFailed" { reason, retryMs } → loops back to "announcing" At any time after "connecting": "disconnected" { reason } "connected" and "ready" are deliberately separate so a UI can distinguish "we have a session, but the namespace hasn’t been accepted yet" from "the relay is publishing-ready". |
|
"cmaf" | "loc" |
(Optional) Packaging format published by this egest. Defaults to |
|
(Optional) If set, a PRFT (Producer Reference Time) box is prepended to each CMAF media segment carrying an NTP wall-clock timestamp. The PdtSource controls how the timestamp is derived. By default, PRFT is only emitted on keyframe fragments. |
||
boolean |
(Optional) When true, emit PRFT on every fragment. Default: false (keyframes only). |
|
{ catalog?: number; audio?: number; subtitle?: number; video?: number; } |
(Optional) MOQT publisher priority (0-255, lower first) per kind of track. When a viewer’s link can’t carry the whole broadcast, higher-priority tracks go first, so a slow link drops video before audio. Kinds left out keep the defaults: |
|
(Optional) MoQT relays to connect to and publish tracks for (e.g. CDN primary and backup) |
||
number |
(Optional) Advertised (maximum) video bitrate in bits per second, published in the catalog. Only needed when the stream bitrate is otherwise unknown — typically a pass-through scenario; when encoding, the bitrate comes from the encode. MSF-format catalogs require a bitrate for audio/video tracks. |
|
number |
(Optional) Drop a video object that can’t be handed to the network within this many milliseconds of being published, rather than delivering it late (a MOQT delivery timeout, advertised to subscribers). Unset means no timeout. A video group whose next group has started is dropped either way. |