On SDI, PLAYDECK uses SCTE-104 markers in VANC (not SCTE-35). Use SCTE-104 to signal ad inserts / splice points to downstream SDI equipment.
For the full matrix (including streams, recording, NDI) see:
Closed Captions & SCTE — Overview
For IP / MPEG-TS markers, use SCTE-35 instead: Sending SCTE-35 to a stream server.
In this article:
→ SDI vs streams
→ Enable SCTE-104 on SDI
→ Send SCTE-104
→ Detect and log
→ SDI loop test
→ Forwarding
→ Important limit (CC / ASS track)
→ Related
SDI vs streams
| Connection | SCTE type |
|---|---|
| SDI (DeckLink, etc.) | SCTE-104 only (VANC) |
| UDP / SRT / DVB / TS file / HLS segments | SCTE-35 only |
PLAYDECK does not convert SCTE-104 ↔ SCTE-35 automatically.
If you go SDI → IP stream, SCTE-104 will not appear as SCTE-35 on the stream. Fire SCTE-35 on the channel that owns the stream output (see overview and SCTE-35).
Enable SCTE-104 on SDI
Input
On the SDI input, enable VANC Data → Enable Closed Captions and SCTE-104 Triggers.
Same checkbox as Closed Captions capture. It is opt-in because VANC capture adds processing load.
Output
With a license that includes SCTE / CC, SDI output can carry VANC including SCTE-104 when markers are present on the channel.
Send SCTE-104
You can attach SCTE commands to:
- Clips (any position)
- Blocks (start / end)
- Overlays (show / hide)
- Action buttons
Select command type SCTE-104 and paste a valid SCTE-104 XML payload.
PLAYDECK does not ship a fixed library of “product” markers — you define the XML your downstream gear expects. Placeholders such as {clipduration} are documented for SCTE-35 workflows; use the same command UI where applicable.
Minimal sample (single operation)
<SCTE104 line=12>
<single_operation_message>
<opID>1</opID>
<result>0</result>
<result_extension>0</result_extension>
<protocol_version>1.1</protocol_version>
<AS_index>1</AS_index>
<message_number>2</message_number>
<DPI_PID_index>3</DPI_PID_index>
<data>data string</data>
</single_operation_message>
</SCTE104>
Use SCTE-104 (not SCTE-35) as the command type when this should go out on SDI.
Detect and log
Open the SCTE Event Log (Logs → SCTE).
>>= marker sent on that channel<<= marker detected on a receiving playlist (e.g. SDI input playing in another channel)
Logging both directions is the fastest way to verify a loop without external analyzers.
SDI loop test
- Channel 1: SDI output active.
- Physical loop (or second port) into an SDI input; enable VANC Data on that input.
- Channel 2: play that input in the playlist.
- Channel 1: Action button with SCTE-104 sample; both channels playing.
- Event Log:
>>on Ch1 and<<SCTE-104 on Ch2.
You can add a second SDI hop (Ch2 → Ch3) to confirm forwarding on SDI.
Forwarding
PLAYDECK can forward incoming SCTE-104 from an SDI input to an SDI output when that input is played through a channel that drives SDI out.
Forwarding SDI (104) → UDP/SRT (35) does not happen automatically. Use SCTE-35 on the streaming channel instead.
Important limit (CC / ASS track)
If Channel 1 is playing a clip with an active Closed Caption or ASS text track, SCTE-104 on SDI may only be received intermittently (>> still looks fine; << on the loop is unreliable).
Workaround: turn the text track off when SCTE-104 on SDI must be reliable.
This conflict was not observed for SCTE-35 on MPEG-TS streams in the same way.
Related
| Article | Topic |
|---|---|
| Closed Captions & SCTE — Overview | Full matrix, domains, embed flags |
| Sending SCTE-35 to a stream server | UDP/SRT/DVB, Nimble, HLS |
| Closed Captions & Subtitles | CC burn-in / pass-through |
| Recording CC & SCTE | MKV vs TS, sidecars, playback checks |