Remote Commentary
Manages remote commentators with WebRTC, providing event audio/video monitoring and talkback capabilities
Component Configuration
| Option | Description | Required | Environment override |
|---|---|---|---|
id |
A unique identifier for the component instance |
✓ |
|
displayName |
The name shown in the Studio UI of this component |
✓ |
|
monitorTransport |
Transport for the per-commentator monitor mix ("ears") returned to each commentator. WebRTC serves it over WHEP; MoQ publishes it over the global MoQ Preview listener (WebTransport) instead, with no WHEP monitor, matching the program preview transport. (default: "webrtc") |
✗ |
|
channelLayout |
Audio channel layout (default: "stereo") |
✗ |
|
burstProtection |
Drop data until input is completely stable (default: true) |
✗ |
|
commentators |
Commentary channels. Each row is one commentator/language slot with an optional RFC 5646 language tag (e.g. "en", "es", "pt-BR") that flows onto the per-commentator output audio stream metadata. (default: [{"name":"English","languageCode":"en"}]) |
✗ |
|
|
Options with an environment override can be set when Studio starts, without
editing the workflow. |
Commentators
| Option | Description | Required |
|---|---|---|
name |
Commentator/channel display name (e.g. "English", "Spanish", "Pundit Booth") |
✗ |
languageCode |
RFC 5646 language tag for this channel's broadcast output audio. Optional. Leave blank to emit un-tagged audio. |
✗ |
Ice Servers
Environment override: GLOBAL_ICE_SERVERS (sets this global option as a whole).
| Option | Description | Required |
|---|---|---|
url |
URL of the STUN/TURN server (with turn:/stun: prefix) as accessed by Norsk Studio |
✓ |
reportedUrl |
Optional URL of the STUN/TURN server as accessed by the client (if different to the above) |
✗ |
username |
Optional username |
✗ |
credential |
Optional password |
✗ |
Moq Preview
Environment override: GLOBAL_MOQ_PREVIEW (sets this global option as a whole).
| Option | Description | Required |
|---|---|---|
quicServerPort |
QUIC listener port for native MoQT subscribers (optional — only needed for non-browser clients) |
✗ |
webTransportPort |
WebTransport listener port for browser MoQ players. Defaults to 4443. (default: 4443) |
✗ |
publicHost |
The hostname browsers reach MoQ on, when it is not the public hostname (PUBLIC_URL_PREFIX): e.g. a host whose web UI is reached over an SSH tunnel while its media ports are public. Applies to the listener above and, when no Relay public URL is set, to the relay. |
✗ |
quicServerCert |
TLS certificate file path. If omitted, a self-signed cert is auto-generated (14-day validity, rotated every 10 days). |
✗ |
quicServerKey |
TLS private key file path. If omitted, auto-generated alongside the cert. |
✗ |
serveFingerprint |
Publishes the cert SHA-256 so the moq-js player can trust it via WebTransport's serverCertificateHashes. Defaults on. Turn it off when the certificate is CA-issued and the browser trusts it already. (default: true) |
✗ |
relayUrl |
Publish through a shared MoQ relay instead of binding a listener here. Setting this switches every MoQ component to relay mode and the ports/cert above are no longer used, so several Norsk instances on one host can share a single MoQ port. This is how NORSK reaches the relay, which behind a proxy is an internal address. |
✗ |
relayPublicUrl |
What the BROWSER connects to, if that differs from the Relay URL. Leave blank to use the public hostname (PUBLIC_URL_PREFIX) with the Relay URL's port. |
✗ |
relayNamespacePrefix |
Prepended to every namespace this instance publishes to the relay, so instances sharing one relay stay distinct. Usually the instance name. |
✗ |
relayDisableTlsVerify |
Skip TLS verification when connecting to the relay. Needed only for a relay with a self-signed certificate. (default: false) |
✗ |
Tags: commentary remote webrtc talkback comms