WebRTC Duplex
Sends video and/or audio to a client, receives video and/or audio from client
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 |
✓ |
|
acceptVideo |
Accept video from the client (default: true) |
✗ |
|
micTransport |
How the client publishes in. WebRTC takes it over WHIP; MoQ takes it over the global MoQ Preview listener instead. (default: "webrtc") |
✗ |
|
returnTransport |
How what this duplex is sent goes back to the client. WebRTC serves it over WHEP; MoQ publishes it over the MoQ Preview listener or relay instead. (default: "webrtc") |
✗ |
|
notes |
Notes about this component |
✗ |
|
burstProtection |
Drop data until input is completely stable (default: true) |
✗ |
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: webrtc duplex bidirectional interactive