Targets
A target is an output endpoint for a Composer project — the place where a finished scene leaves Composer and goes to be streamed, recorded, displayed, or handed off to another system. Different targets do very different things: some publish a live stream over RTMP or SRT, some write a file to disk, some drive a Decklink card over SDI, some send audio out through ASIO, and a handful exist purely so a script or an upstream service can react when a state change happens. A single scene can host as many targets as you need; they all run from the same composited output, in parallel, on the same render tick.

Note — Core licence target limit
A Vindral Composer Core (free) licence allows at most 1 target across the entire project. See Activating a license for the full Core-licence restrictions table.
Working with targets
Targets live on the Targets tab of Composer Desktop and are organised under their owning scene. The interaction model is the same one used by inputs and operators:
- Collapse / expand a target with the small arrow next to its title to keep the panel scannable when many targets are present.
- Rename by double-clicking the title — the new name is what appears in scripts, the activity log, and the WebSocket event stream.
- Delete with the Delete key or via the right-click context menu.
- Reorder by drag-and-drop. Order is purely cosmetic — every target receives the same composed frame on the same tick regardless of its position in the list.
- Extract to a window to float the target's UI on its own, useful on a multi-monitor setup where one operator drives the program output from a dedicated screen.
Target running-state indicators
Each target carries a small status badge in its title bar so you can see at a glance what's happening on stage:
| Indicator | Meaning |
|---|---|
| 🟢 spinning | The target is actively running and consuming the composited output. |
| 🟡 triangle | The target logged a warning. Hover over the badge for the message and timestamp. |
| 🔴 circle | The target is in an error state — typically a connection or resource problem. The detailed-properties / log section explains what happened. |
A target that's been added but not yet started has no badge.

What targets are available
Composer ships with targets covering every common broadcast and post-production workflow. A short tour:
- Live streaming —
RTMP Target,RTMP Target (Multi scaler),SRT Target,SRT Target 16 channel audio, andNDI Targetsend the composited output to a CDN, ingest server, or peer Composer over the network. Each protocol picks a different point on the latency / reliability tradeoff. - Hardware out —
Blackmagic Decklink Target v4pushes video and audio out over SDI / HDMI through a DeckLink card;ASIO Targetdoes the same for low-latency audio interfaces. - File recording and capture —
File Recorder Targetwrites the program output to disk for archive, post-production handoff, or compliance recording;Snapshot Targetgrabs single still frames on demand;FFmpeg Targetexposes the full FFmpeg muxing toolchain when you need a container or codec the dedicated targets don't cover. - Cloud and CDN —
Google Storage Targetships output straight to a bucket;Vindral CDN Metadata Targetpublishes side-channel metadata into the Vindral CDN. - Automation and integration —
URL Sequencer Targetfires a timed sequence of HTTP requests so external systems can be cued in lockstep with the show;HTTP TargetandUDP Message Targetpush state changes to other systems on the network as they happen.
For the full reference catalogue with per-component property tables, see the Targets manual.
Custom targets
Targets are part of Composer's plug-in component model: every target is a class derived from the engine's AbstractTarget base, scanned at startup the same way inputs and operators are. If none of the built-in targets fit your workflow, the same extension points used to ship the targets above are available for in-house plug-ins — bespoke ingest protocols, proprietary capture cards, or custom analysis pipelines that need a copy of every frame.