Video Compose
Overlays multiple videos on top of a primary reference stream
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 |
✓ |
|
preview |
How this component's two preview monitors are delivered. A STREAMED preview needs H264, so Norsk creates an encoder for it automatically — and because that encoder belongs to this component, if it cannot keep up it back-pressures the whole workflow, not just the preview. A 1080p50 stream preview can therefore throttle your programme output. Use a lower frame rate, JPEG stills, or off if you do not need a live monitor. Does not affect the per-source thumbnails. |
✗ |
|
thumbnailResolution |
Resolution of the per-source thumbnails used to draw the layout diagram (the 'Current Layout' pane and the preset previews). These are PNG stills, one per source per second, so a source with transparency keeps its alpha and does not hide the layers beneath it. Larger is sharper but pushes bigger stills to every open browser pane. (default: "480x270") |
✗ |
|
previewTransport |
Deprecated — superseded by the Preview setting. |
✓ |
|
sources |
Automaticaly maintained by component, list of the sources that are subscribed to |
✓ |
|
reference |
Source name (NOT component id) of the reference stream that will drive the output. For input.srt-listener, this is the connection's streamId, which may differ from the component id. |
✗ |
|
hardwareAcceleration |
Override the global hardware acceleration setting |
✗ |
|
pipelineHints |
Quadra-only hardware pipeline hints (ignored on other hardware) |
✗ |
|
notes |
Notes about this component |
✗ |
|
Options with an environment override can be set when Studio starts, without
editing the workflow. |
Preview (Live stream)
| Option | Description | Required |
|---|---|---|
type |
"stream" |
✓ |
transport |
WebRTC serves the monitors over WHEP; MoQ serves them over WebTransport instead, and requires the global MoQ Preview listener (cert + key) to be configured. (default: "webrtc") |
✗ |
frameRate |
Frame rate of the preview stream. 'Source rate' is the most expensive — a 1080p50 compose gets a 1080p50 preview encode. A lower rate cuts that encoder's work proportionally. (default: {"type":"source"}) |
✗ |
resolution |
Resolution of the preview stream. 'Source resolution' encodes at the compose's full output size — a 1080p encode feeding a monitor a few hundred pixels wide. Encoder cost scales with pixel count, so this is usually a bigger saving than the frame rate, and the preview encoder does the resize itself at no extra cost. (default: {"type":"source"}) |
✗ |
Pipeline Hints
| Option | Description | Required |
|---|---|---|
type |
✓ |
|
rescaler |
Quadra rescaler algorithm (ffmpeg ids: 0=default, 1=filterblit, 2=bicubic) (default: "default") |
✗ |
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) |
✗ |
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. (default: true) |
✗ |
Tags: compose overlay pip picture-in-picture layout