RTMP Target (Multi scaler)
Introduction
The RTMP Target (Multi scaler) streams the composed scene to up to four RTMP / RTMPS destinations simultaneously, each with its own resolution and bitrate, from a single component. One scene in, four independently-encoded videos out — perfect for multi-destination delivery, adaptive-bitrate (ABR) ladders, or program+backup redundancy without standing up four separate target instances and four separate encoder paths.
Compared to running multiple RTMP Target components in parallel — which works, but encodes the same source once per target — the Multi scaler is more efficient: a single CUDA multi-scaler kernel produces all four resolutions in one launch on the GPU, and a single NVENC encoder produces all four video tracks. The result is dramatically lower GPU and CPU load when you need a fan-out delivery from one Composer scene.
Encoding pipeline
The component uses a tightly integrated GPU pipeline:
- CudaMultiScaler — one kernel invocation produces up to four scaled copies of the rendered frame at the configured destination resolutions. Cheaper than four separate scale passes.
- NVENC — a single hardware encoder instance handles all video tracks in parallel; each destination can carry its own bitrate, profile, and codec parameters.
- AAC audio — one shared audio program is mixed into every destination, so all four streams stay in lock-step audio-wise.
- Per-destination FLV / RTMP mux writers — independent network connections, each with its own automatic reconnect. A failed destination retries on its own without disturbing the others.
Using the Multi scaler requires an NVENC-capable NVIDIA GPU. Most modern NVIDIA cards qualify, but the maximum number of concurrent NVENC sessions, supported codecs, and resolution limits vary by model — consult NVIDIA's compatibility matrix when planning a deployment.
Common use cases
- Multistreaming to several platforms at once — push the same broadcast simultaneously to YouTube Live + Twitch + Facebook Live + a custom origin without provisioning four target components.
- Adaptive-bitrate (ABR) ladder — deliver 1080p / 720p / 540p / 360p rungs into a single CDN ingest from one Composer scene, ready for HLS / DASH packaging downstream.
- Program + backup redundancy — push the program feed to redundant origins on different network paths; the per-destination reconnect logic keeps each path live independently.
- Contribution + distribution from the same scene — send a high-bitrate contribution feed to the master facility and a lower-bitrate distribution feed straight to viewers in one component.
- Resource-constrained machines — when CPU / GPU headroom is tight, the shared scale + encode passes free up budget that running four separate RTMP Target components would consume.
URL macros
Each destination URL supports three substitution macros, evaluated at start time:
@@RandomId()— unique per destination, useful when each rung in an ABR ladder needs its own stream key.@@SharedRandomId()— identical across all four destinations, useful when each destination is a different origin but the stream identifier should match.@@HostName()— the machine's hostname.
Resilience
Per-destination automatic reconnect retries each network connection independently — a single dropped destination retries on its own without interrupting the other three. Combined bitrate, queue depth, and reconnect statistics are surfaced as readable properties for dashboards and the HTTP API.
RTMP Target (Multi scaler) - Settings

| Property | Description |
|---|---|
Show advanced options |
Reveals advanced/expert properties — backup addresses, H.264 profile, GOP size, and NVENC tuning JSON for each destination. Off by default. |
Autostart when application starts |
When On, all enabled destinations connect automatically when the project loads. Useful for unattended multistreaming setups. |
Status
Status — overall connection state and the start/stop/reconnect controls.

| Property | Description |
|---|---|
ConnectionStatus |
Aggregate connection status across all enabled destinations (read-only). Use per-destination DestNConnectionStatus for fine-grained checks. |
Connect |
Connects all enabled destinations and begins streaming. |
Disconnect |
Stops streaming and disconnects all destinations. |
Reconnect |
Schedules an immediate reconnect of every destination without tearing down the encoder. Use when a CDN has had a hiccup but the local pipeline is fine. |
Shared settings
Shared settings — audio bitrate, reconnect interval, and queue size that apply to all four destinations.

| Property | Description |
|---|---|
AAC Bit Rate |
AAC audio bitrate used by every destination (audio is encoded once and muxed to all destinations). Typical: 128 kbit/s for stereo broadcast. |
Reconnect Interval |
How long to wait before retrying a failed destination. Each destination reconnects independently — a single bad CDN doesn't slow the others down. |
Max Output Queue Size |
Maximum number of encoded packets queued before frames are dropped. [min=50, max=500, default=200]. Larger queues mask brief network slowdowns at the cost of added latency. |
Destination 1
Destination 1 — primary RTMP target (enabled by default at scene resolution).

| Property | Description |
|---|---|
Enabled |
When On, destination 1 streams. Disable if you only need destinations 2–4. |
RTMP Server Address |
Primary RTMP/RTMPS server URL for destination 1 (e.g. rtmp://live.twitch.tv/app/STREAM_KEY). Supports macros: @@RandomId(), @@SharedRandomId(), @@HostName(). Treat as sensitive — stream keys live in this URL. |
Backup Server Address |
(advanced) Optional fallback URL for destination 1, used after the primary address fails. Useful for redundant CDN ingest endpoints. |
Video Resolution |
Output resolution for destination 1. Unchanged keeps the scene resolution; the others rescale (1080p / 720p / 540p / 360p) so each destination can receive a different rung of an ABR ladder. |
Video Bitrate |
Target video bitrate for destination 1. Match this to what the destination CDN expects for the chosen resolution. |
Codec |
Video codec for destination 1. H264_NVENC uses GPU hardware encoding (recommended); H264 uses the CPU software encoder. |
H264 Profile |
(advanced) H.264 profile for destination 1. main is widely compatible; high gives slightly better compression at the cost of older-decoder support. |
GOP Size |
(advanced) GOP (keyframe spacing) for destination 1. Typical: 1x or 2x framerate. |
NVENC options (json) |
(advanced) NVENC encoder parameters for destination 1 as a JSON object. Only applies when the codec is H264_NVENC. Defaults are tuned for low-latency live. |
Connection status |
Connection status for destination 1 (read-only). Useful in scripts to raise an alert when one CDN drops while others stay up. |
Active URL |
(advanced) The fully resolved URL for destination 1, with all macros expanded (read-only, debug). |
Destination 2
Destination 2 — typically configured as a 720p rung of the bitrate ladder, or a second CDN target.

| Property | Description |
|---|---|
Enabled |
When On, destination 2 streams. |
RTMP Server Address |
Primary RTMP/RTMPS server URL for destination 2. Supports macros (@@RandomId(), @@SharedRandomId(), @@HostName()). Treat as sensitive. |
Backup Server Address |
(advanced) Optional fallback URL for destination 2. |
Video Resolution |
Output resolution for destination 2. |
Video Bitrate |
Target video bitrate for destination 2. |
Codec |
Video codec for destination 2. NVENC recommended. |
H264 Profile |
(advanced) H.264 profile for destination 2. |
GOP Size |
(advanced) GOP (keyframe spacing) for destination 2. |
NVENC options (json) |
(advanced) NVENC encoder parameters for destination 2 as JSON. |
Connection status |
Connection status for destination 2 (read-only). |
Active URL |
(advanced) Resolved URL for destination 2, with macros expanded (read-only, debug). |
Destination 3
Destination 3 — typically a 540p rung of the bitrate ladder, or a third CDN target.

| Property | Description |
|---|---|
Enabled |
When On, destination 3 streams. |
RTMP Server Address |
Primary RTMP/RTMPS server URL for destination 3. Supports macros. Treat as sensitive. |
Backup Server Address |
(advanced) Optional fallback URL for destination 3. |
Video Resolution |
Output resolution for destination 3. |
Video Bitrate |
Target video bitrate for destination 3. |
Codec |
Video codec for destination 3. NVENC recommended. |
H264 Profile |
(advanced) H.264 profile for destination 3. |
GOP Size |
(advanced) GOP (keyframe spacing) for destination 3. |
NVENC options (json) |
(advanced) NVENC encoder parameters for destination 3 as JSON. |
Connection status |
Connection status for destination 3 (read-only). |
Active URL |
(advanced) Resolved URL for destination 3, with macros expanded (read-only, debug). |
Destination 4
Destination 4 — typically a 360p rung of the bitrate ladder, or a fourth CDN target.

| Property | Description |
|---|---|
Enabled |
When On, destination 4 streams. |
RTMP Server Address |
Primary RTMP/RTMPS server URL for destination 4. Supports macros. Treat as sensitive. |
Backup Server Address |
(advanced) Optional fallback URL for destination 4. |
Video Resolution |
Output resolution for destination 4. |
Video Bitrate |
Target video bitrate for destination 4. |
Codec |
Video codec for destination 4. NVENC recommended. |
H264 Profile |
(advanced) H.264 profile for destination 4. |
GOP Size |
(advanced) GOP (keyframe spacing) for destination 4. |
NVENC options (json) |
(advanced) NVENC encoder parameters for destination 4 as JSON. |
Connection status |
Connection status for destination 4 (read-only). |
Active URL |
(advanced) Resolved URL for destination 4, with macros expanded (read-only, debug). |
Log
Log — in-panel feed of recent connection events, warnings, and errors.
| Property | Description |
|---|---|
ComponentLog |
In-panel mini-log of connection events across all destinations. |
Performance and properties
Performance and properties — combined runtime stats across every enabled destination.
| Property | Description |
|---|---|
Outgoing Bitrate |
Combined outgoing bitrate across all destinations as a human-readable string (read-only). Useful for verifying total uplink usage. |
Reconnection Count |
Total number of automatic reconnection attempts (across all destinations) since the last connect (read-only). |
Packets Sent |
Total encoded packets sent across all destinations (read-only). |
Frames Processed |
Number of video frames processed by the encoder since the last connect (read-only). |
Errors |
Cumulative error count since the last connect (read-only). Zero is the healthy state — any growth means a destination has failed. |
Warnings |
Cumulative warning count since the last connect (read-only). |
See also: RTMP Target (Multi scaler) in Script Engine Objects.
Related components
- RTMP Target — the single-destination sibling. Use it when you only need one RTMP push without the per-rung scaling ladder.
- RTMP input — the RTMP receiver-side counterpart for ingesting an RTMP stream rather than producing one.
- SRT Target — pick this for sending out over unmanaged networks where RTMP's loss model is too fragile.
- SRT input — the SRT receiver-side for incoming contribution over unmanaged networks.
- MoQ Target — pick this for publishing into the Vindral CDN over MoQ rather than to an RTMP ingest; QUIC-based, sub-second latency.
- MoQ input — the MoQ receiver-side for ingesting from a Vindral CDN channel.
- NDI Target — for publishing a Composer scene to other NDI-aware tools on the same studio LAN; mDNS auto-discovery, very low latency, not internet-traversable.
- NDI input — the NDI receiver-side for studio-LAN contribution.