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

<COMPONENT_ID>_HARDWAREACCELERATION

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. <COMPONENT_ID> is this component’s id in your workflow, uppercased, with spaces and dashes replaced by underscores and other punctuation removed — a component named SRT Input reads SRT_INPUT_PORT. Renaming a component changes its id, and so changes these variable names.

Preview (Off (no preview monitors))

Option Description Required

type

"off"

Preview (JPEG stills (1 fps, cheapest))

Option Description Required

type

"jpeg"

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")

Global Configuration

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