Closed Captions & SCTE — Overview

PLAYDECK can carry Closed Captions (CEA-608 / CEA-708) and SCTE ad/splice markers through many inputs and outputs. They are different signals:

  • Closed Captions travel with the video (SDI VANC, or embedded in MPEG-2 / MPEG-4 / H.264 elementary streams).
  • SCTE-104 is used on SDI (VANC).
  • SCTE-35 is used in MPEG-TS (UDP, SRT, DVB-compatible streams, TS recordings, HLS segments).

This page is the map: what works from where to where, what you must enable, and where the limits are. Step-by-step setup lives in the linked articles below.

Note: Soft Subtitles (SRT / ASS) are always burned into the picture. They are not the same as Closed Captions. See Closed Captions & Subtitles.

In this article:
→ Quick rules
→ How to enable CC and SCTE
→ Closed Captions matrix
→ SCTE matrix
→ Known limits
→ Related articles


Quick rules

  1. SDI ↔ IP are different SCTE worlds
    SDI = SCTE-104. Streams / TS files = SCTE-35. PLAYDECK does not convert 104 ↔ 35 automatically.
  2. Streams need embed flags
    Unlike the SDI “VANC Data” checkbox for Inputs, stream and recording options are easy to miss. You must set them in the stream/recording Parameter / config string (embed_cc, embed_scte35).
  3. Codec vs protocol
    • CC pass-through (embed_cc): depends on video codec (MPEG-2, MPEG-4 Part 2, H.264 — not HEVC).
    • SCTE-35 (embed_scte35): depends on MPEG-TS transport, not on the video codec.
  4. Pass-through vs burn-in (CC)
    • Pass-through: caption data stays in the signal; PLAYDECK can preview it; downstream devices decode it. Needs VANC / embed_cc as applicable.
    • Burn-in: text is drawn into the video pixels; no embed flag required for the text to be visible on outputs.
  5. UDP loopback
    Prefer your machine’s LAN IP (e.g. udp://192.168.x.x:5000?pkt_size=1316). udp://127.0.0.1:… is unreliable in current setups.

How to enable CC and SCTE

SDI
DirectionWhat to do
InputEnable VANC Data → Enable Closed Captions and SCTE-104 Triggers on that input. This turns on VANC/CC/ANC capture (there is some processing cost — that is why it is opt-in).
OutputWith a Closed Captions license, PLAYDECK enables CC/VANC on the SDI renderer automatically.

Streams and Recordings

Open Parameter on the stream or recording and set the flags in the config string (examples):

embed_cc='true'
embed_scte35='true'


FlagUse for
embed_cc='true'CC pass-through into MPEG-2 / MPEG-4 / H.264 (UDP, SRT, DVB, HLS segments, TS/MKV record, RTMP/FLV, etc.)
embed_scte35='true'SCTE-35 into MPEG-TS only (UDP, SRT, DVB, TS file record, HLS segments). Not for MKV or RTMP/FLV.

Without these flags, pass-through CC / SCTE-35 will not leave PLAYDECK on that output — even if the UI looks “ready”.


Injecting SCTE

Attach SCTE commands to clips, blocks, overlays, or Action buttons. Choose SCTE-104 for SDI, SCTE-35 for MPEG-TS streams or TS files. Details and XML samples: SCTE-104 on SDI · SCTE-35 to servers.


Reacting to SCTE (Break Triggers)

Break Blocks can also listen for incoming markers and start (then return) automatically. That is separate from sending commands: you match text from the SCTE Event Log (<<) and pick a duration mode. Guide: Start Ad Breaks from Incoming SCTE.


Closed Captions matrix

Verified PLAYDECK behaviour (pass-through unless noted).

PathResultNotes
File → SDI → SDI (loop)YesEnable VANC on the receiving input.
File → UDP / SRT / DVB → Stream inYesembed_cc='true'; MPEG-2, MPEG-4 Part 2, or H.264 (e.g. NVEnc / Quick Sync). HEVC: no.
File → RTMP → YouTubeYesembed_cc='true'; YouTube shows CC.
File → NDI → NDI (PLAYDECK loop)YesPLAYDECK↔PLAYDECK only. NDI Studio Monitor / vMix do not show CC.
File → HLS (.m3u8)Yes*CC in segments; PLAYDECK can play the m3u8 and show CC. (*Not as separate tags in the playlist file.)
Recording MKVYesembed_cc; optional sidecars via scc_capture / anc_capture (.scc / .anc).
Recording MPEG-TSYesembed_cc; MediaInfo shows EIA-608/708 muxed in video.
SDI → Stream (chain)YesVANC capture in + embed_cc on the stream.
Stream without embed_ccNo (pass-through)Burn-in still works (pixels).

Burn-in works on SDI, NDI, streams, and desktop outputs whenever CC is rendered into the frame (channel pass-through option off).

More UI detail: Closed Captions & Subtitles.


SCTE matrix

PathResultNotes
SCTE-104 → SDI → SDIYesUse SCTE-104 commands. Check Event Log >> / <<.
SCTE-35 → UDP / SRT / DVB → StreamYesRequires embed_scte35='true'. Codec does not matter.
SCTE-35 stream → stream forwardYese.g. Ch1 → UDP → Ch2 → UDP → Ch3; << on both receivers.
SCTE-104 on SDI, then stream that channel to IP104 on SDI yes; not on IPNo automatic 104→35. Fire SCTE-35 on the stream-sending channel if the IP side needs markers.
SCTE-35 toward SDI outputNoWrong domain for SDI.
SCTE-104 toward UDP/SRT/DVBNoWrong domain for MPEG-TS.
NDI loop (104 or 35)NoNo << on NDI receive in PLAYDECK.
Record MPEG-TS + SCTE-35 while recordingYesVisible in DVB Inspector; PLAYDECK playback shows << SCTE-35.
Record / play MKVNo SCTEMKV has no embed_scte35.
HLSPartialNo SCTE/CUE tags in the .m3u8. PLAYDECK playback of the m3u8 can still show << SCTE-35 from segments. External packagers that only read manifest cues need another tool (e.g. Nimble).

DVB-compatible streaming in PLAYDECK behaves like UDP/SRT for CC and SCTE-35 once the embed flags are set (format='dvb', still udp:// or SRT URL).


Known limits

SCTE-104 together with an active CC/ASS track (SDI)

If a clip is playing with an active Closed Caption or ASS text track, SCTE-104 may only arrive intermittently on an SDI loop (>> send is stable, << receive is not). Disable the text track if SCTE-104 reliability on SDI is critical.
This conflict was not seen on MPEG-TS streams when using SCTE-35 (with or without embed_cc).

NDI
  • CC: works in a PLAYDECK↔PLAYDECK loop; not shown in NDI Studio Monitor or vMix.
  • SCTE: not received back over NDI in PLAYDECK.

HEVC

embed_cc does not deliver usable CC pass-through with HEVC in our tests. Use MPEG-2, MPEG-4 Part 2, or H.264 for CC pass-through.

HLS manifests

PLAYDECK does not write SCTE/CUE tags into the .m3u8. Caption and SCTE-35 data can still be present in the underlying segments.


Related articles

ArticleWhat you will find
Closed Captions & SubtitlesTracks, burn-in vs pass-through, preview, SRT/ASS
SCTE on SDI (SCTE-104)VANC, commands, SDI loop testing
Sending SCTE-35 to a stream serverXML samples, placeholders, Nimble / HLS workflows
Recording CC & SCTEMKV vs TS, sidecars, playback checks
Start Ad Breaks from Incoming SCTEMatch inbound SCTE → play Break Block

Event Log tips

Use Logs → SCTE:

  • >> = marker applied on the sending channel
  • << = marker detected on a receiving playlist/stream

For TS files, DVB Inspector (or TSDuck) is useful to confirm SCTE-35 inside the file; MediaInfo often shows CC clearly but not SCTE-35.

Mastering Program Flow & Playlist Automation

Welcome to the PLAYDECK Playlist Automation and Program Flow guide. While PLAYDECK serves as an excellent manual clip player for live operators, it also features a highly advanced automation engine for continuous broadcasting and structured event schedules. This guide will show you how to transition from basic manual playout to sophisticated automation—allowing you to control precise playback down to the exact second, keep your timeline perfectly readable, and build self-running, smart playlist logic.

In this article:
→ Fulfilling Factual Timelines (Time-of-Day Scheduling)
→ The Smart “Planned” Column: Predictive vs. Real Playout
→ Structuring Program Flow (Block End Methods & Auto-Shuffle)
→ Advanced Playout Control: Marker Cues & Command Actions
→ Automated Advertising: Managing Scheduled Break Blocks
→ Visual Organization & Operator Prompts (Colors, Notes & Pauses)
→ Broadcasting Exports & EPG Integration (Day Planner & XMLTV)
→ Enterprise Automation: Custom Playout Logic via PLAYDECK API


Fulfilling Factual Timelines (Time-of-Day Scheduling)

Many broadcasting environments, corporate events, and digital signage installations require strict compliance with real-world clock times. PLAYDECK solves this through individual block schedules.

  • The Concept: Instead of scheduling single clips, you organize your media into Playback Blocks and apply an absolute time constraint to the entire block.
  • The Setup:
    • Select your target Playback Block in the timeline.
    • Click the Clock Icon on the block header toolbar.
    • Enter your target start time down to the exact second (e.g., 11:02:48 AM).
  • Auto-Trigger Engine: Once you enable the auto-trigger flag, PLAYDECK continuously checks the system clock. The moment the scheduled time arrives, the block fires automatically. To keep operators perfectly prepared, a live, frame-accurate countdown timer to the next (earliest) upcoming scheduled block is displayed right at the top of the interface next to the Preview window.


The Smart “Planned” Column: Predictive vs. Real Playout

One of PLAYDECK’s most powerful features is its real-time mathematical timeline engine, visible in the Planned column of your playlist view.

  • Predictive Calculation: The moment you assign a schedule to a block, PLAYDECK instantly calculates the exact airtime for every single clip within that block. This engine is highly intelligent: it automatically factors in custom clip trims (In/Out points), loop configurations, and transition durations. You will see exactly when Clip #5 will go on air before the block even starts. Planned times and block duration only include clips that can play in this take. Inactive clips and gray clips (Shuffle leftover or Limit Playout) are omitted.
  • Dynamic Reality Update: The moment the block goes LIVE, the “Planned” column instantly adapts. If a live event ran long and your block started 45 seconds later than scheduled, the column dynamically stops showing the theoretical schedule. Instead, it instantly updates to reflect the actual, real-world execution times for all remaining clips based on the current playout reality.


Structuring Program Flow (Block End Methods & Auto-Shuffle)

Automation is not just about when a block starts, but how PLAYDECK behaves after a block finishes playing. By opening the Block End behavior settings (the list icon on the block header), you define the automatic transition logic between different program segments.

  • Jump to next Block & PLAY next Block: This is the standard linear broadcasting rule. Once the current block finishes its last take clip, PLAYDECK automatically skips to the next block in the list and immediately triggers playback. You can even define a custom delay in seconds before the next block fires off.
  • Loop Block & Clip Shuffle: The block repeats until a manual command or a scheduled block overrides it. Open Clip Shuffle / Sync on the Block to shuffle all clips, only N clips, or fill a time budget (Shuffle time). Optional Sync clips alone (No Shuffle) or together with Shuffle keeps the block matched to a folder while the Block is idle (not Current/Next; cooldown ~10s / ~30s when clips were added). PLAYDECK deals a take on block header CUE/PLAY/Fade, when the Block becomes Next, or when a Schedule / Break enters that Block — not when you CUE a clip inside the Block. Leftover clips stay gray (↷). Loop Block + Shuffle: each loop cycle deals a new take when the next lap starts (playhead stays on the clip that just started; the rest reshuffles). Loop Clips keeps the same take. Details: Playout Rules.


Advanced Playout Control: Marker Cues & Command Actions

For advanced show control and complex broadcasting logic, PLAYDECK provides internal triggers that extend far beyond standard linear video playback.

  • Clip Timeline Markers: Within the individual clip timeline, you can set dedicated Markers to act as precise jump points for separate CUE triggers. These markers can be jumped to manually by an operator or targeted automatically via system commands.
  • Playout Overrides via Commands: Commands represent a deeper method of structuring your program flow. You can attach execution commands to individual clips or entire blocks at any position—including timestamps relative to the end of a clip. These commands can fully remote-control PLAYDECK, enabling your timeline to automatically trigger external events, change channel states, or jump directly to a targeted clip based on complex programming needs.


Automated Advertising: Managing Scheduled Break Blocks

Integrating commercials or commercial breaks into an automated schedule is built directly into the program flow engine.

  • The Break Block Concept: If you want ads to seamlessly interrupt your active playout, you can format a block as a dedicated Break Block.
  • Automatic Resuming: Set the block end behavior to Break Block and configure it to Return to last Clip/Position. When the break ends, PLAYDECK cuts back to your main playlist, resuming the exact frame of the video clip that was playing before the interruption.
  • Interval Scheduling: These ad breaks can be tightly scheduled. You can time them to fire off at absolute real-world clock times or configure them to execute periodically on a fixed interval, such as every 15 minutes. For more information, check out the specialized Ad Breaks Documentation.


Visual Organization & Operator Prompts (Colors, Notes & Pauses)

When managing complex broadcast schedules, keeping the user interface readable and providing reminders for operators is key to a flawless production.

  • Color Coding: You can visually group your program items by right-clicking any clip or group of clips and selecting Color. Use this to instantly separate commercials (e.g., Red) from your main content (e.g., Green), making long playlists highly scannable.
  • Text Notes for Segmenting: You can drag and drop text Notes directly into the playlist just like normal clips. These notes act as visual separators to segment your program within a block. They appear prominently as an INFO banner in the UI Preview window to remind an operator of crucial tasks (e.g., “Switch audio mixer now!” or “Prepare graphic overlay”), but they are completely invisible to your master output signal.
  • EPG Programme Descriptions: The same Notes can also supply the programme description (<desc>) when you export XMLTV. Place a Note inside the scheduled block (after the first clip, before the block end). If you use Notes as live operator prompts, keep those separate from EPG text — every Note in the block is concatenated into one description.
  • Playout Rules: The pause icon on a clip opens Playout Rules. After Clip Action is pause, stop, or continue after the clip (with optional delay). Limit Playout restricts a clip by weekdays, primetime, campaign dates, and max playouts per day. Gray clips (↷) are skipped by automation; inactive clips (checkbox off) cannot be started at all. Full guide: Playout Rules.


Broadcasting Exports & EPG Integration (Day Planner & XMLTV)

To hand over your automated schedule to management teams or external broadcasting networks, PLAYDECK offers industry-standard export tools located under the File menu.

  • Export Project as Day Planner: This tool generates a clean, highly visual PDF overview of your schedule. It provides a macro-view of your program structure and clearly highlights scheduled Ad Breaks and playlist GAPs. Ideal for production managers who need to verify gapless program planning.
  • Export Project as XMLTV: Essential for formal broadcasting workflows. This exports an XML file with programme start/stop times from your scheduled playlist blocks. The format is widely used by IPTV servers, set-top boxes, and TV guide / EPG apps to show live programme information to viewers.


How to create a working EPG (step by step)

  1. Schedule your programmes
    Only blocks with an active Schedule (time-of-day / weekday / date) become XMLTV programmes. The block name becomes the programme <title>. Unscheduled or inactive blocks are skipped. Break blocks are also skipped — they are interruptions, not stand-alone TV programmes.
  2. Set channel names
    In Settings → Channel, set each channel’s Channel Name. These names appear as <display-name> in the XMLTV file. Channel IDs are always playdeck.1, playdeck.2, …
  3. Add programme descriptions (optional)
    Insert a playlist Note inside the block with the viewer-facing synopsis. On export, that text becomes <desc>.
    • Put the Note inside the block (safest: after the first clip, before the block end).
    • Multiple Notes in the same block are merged into one description (separated by spaces).
    • Do not mix live operator reminders into the same Notes if you care about a clean EPG.
  4. Export
    File → Export Project as XMLTV…
    PLAYDECK writes programmes for the near schedule window (about two weeks ahead). Channels must be licensed and started to appear in the export.
  5. Publish & map in your IPTV / EPG system
    Host the .xml file on a URL your IPTV panel, middleware, or guide app can fetch (or copy it into the system). Then map each XMLTV channel id to your stream:
    • playdeck.1 → Channel 1 stream
    • playdeck.2 → Channel 2 stream
      Without this mapping, the guide often looks “empty” even though the file contains data.
  6. Refresh when the schedule changes
    XMLTV is a snapshot. After playlist or schedule edits, export again and update the file on your server / panel.

Day Planner vs XMLTV — important differences

Day Planner (PDF)XMLTV (EPG)
PurposeInternal planning overviewViewer-facing TV guide
Gaps / empty timeShown as GAP rowsNot exported
Ad BreaksVisible in the PDFNot exported as programmes
Programme titleBlock nameBlock name → <title>
Programme description—Playlist Notes → <desc>

If the PDF looks “full” but the guide looks empty, check: correct calendar day, channel mapping (playdeck.N), and that you are looking at real programmes — not GAPs.

Minimal example

<programme start="20260810200000 +0000" stop="20260810210000 +0000" channel="playdeck.1">
  <title lang="en">Evening News</title>
  <desc lang="en">The latest national and international news stories of the day.</desc>
</programme>

(Category and icon are optional and currently not exported.)



Enterprise Automation: Custom Playout Logic via PLAYDECK API

If your broadcasting workflow requires deeply customized automation logic, proprietary scheduling databases, or integration with external master control switchers, you can bypass the standard user interface entirely.

  • Full Remote Architecture: PLAYDECK features a comprehensive, open programming interface.
  • Custom Playout Scripts: By using the PLAYDECK API, you can write your own custom scripts and external software logic to control, update, override, and drive your entire playout engine according to your custom rules.

Setup Cloud & Remote Productions

Welcome to the Playdeck Cloud & Remote Productions guide. This central guide helps you transition from a local studio environment to a decentralized or cloud-hosted setup. Rather than detailing specific commercial cloud providers, this page gives you the exact blueprint to deploy Playdeck on any online server or headless machine, feed remote streams into your playlists, and configure network triggers for total remote automation.

In this article:
→ Why Choose Remote Deployment? (Production Use Cases)
→ System Requirements & Network Architecture
→ Remote Inputs
→ Remote Outputs
→ Remote Control & Automation


Why Choose Remote Deployment? (Production Use Cases)

Installing Playdeck on an online remote server or data center computer instead of a local office machine provides critical architectural advantages. Below is why professional workflows utilize remote deployments:

Scenario A: High-Pressure Corporate Events & Galas

  • The Problem with Local Office Setup: Running a live event playout from an office or venue laptop exposes you to local network drops, accidental Windows update reboots, or personnel accidentally messing with the local machine.
  • Why Remote PC Deployment: By moving Playdeck to a dedicated online server, you isolate the playout engine entirely. Even if your local office internet goes down completely, Playdeck continues to run safely in the data center. Its dedicated HDMI/SDI output automatically isolates the feed—guaranteeing that the operating system desktop, mouse cursors, or other running applications are never displayed on the program feed, maintaining a clean look even if a remote operator disconnects.


Scenario B: 24/7 Fixed Installations & Automated Playout

  • The Problem with Local Office Setup: Office computers are vulnerable to local power outages, hardware tampering, and standard consumer network interruptions, making them highly unreliable for around-the-clock broadcasting.
  • Why Remote PC Deployment: A remote data center computer offers enterprise-grade power redundancy (UPS) and climate control. You can manage a completely headless system from anywhere via RDP. Because you have full remote access, you can update, reorder, or completely replace the active playlist remotely via the web interface or API commands from any device worldwide, ensuring instant schedule adjustments on a headless system without interrupting the active stream.


Scenario C: Multi-Destination Cloud Distribution & Monitoring

  • The Problem with Local Office Setup: Standard office DSL or Wi-Fi connections simply lack the upload bandwidth required to output multiple high-quality video streams simultaneously, causing massive packet loss and stuttering.
  • Why Remote PC Deployment: Data center servers are hooked directly into massive internet backbones with symmetrical gigabit speeds. This allows you to output your main playout signal to a high-quality master SRT destination while simultaneously pushing multiple lower-bitrate RTMP feeds to social platforms—completely bypassing local office bandwidth bottlenecks. Furthermore, production assistants or clients can monitor the active playlist, clip countdowns, and system health status globally via the Web UI interface, ensuring zero performance impact on the primary hardware-accelerated video rendering engine.

System Requirements & Network Architecture

You can run Playdeck in the cloud or data centers on almost any modern virtualized or physical machine. This provides massive internet bandwidth for handling multiple parallel stream outputs and high-bitrate ingests compared to typical office DSL or Wi-Fi connections.

  • Operating System: Any standard Windows 11 (64-bit) environment.
  • Remote Management: The system can run completely “headless” (without a physical monitor attached). You can connect and manage the interface entirely via Remote Desktop Protocol (RDP).
  • Hardware & GPU: While standard hardware requirements apply, a dedicated GPU (e.g., NVIDIA) is highly recommended to handle hardware decoding for common codecs like H.264.
  • Base Specifications: For a detailed breakdown of recommended components, check out our Playdeck PC Build Guide.


Remote Inputs

Playdeck can take remote streams in two ways — see Stream Inputs for the full guide.

Playlist Stream clips (STREAM icon / URL on the playlist) pull network bandwidth only when that clip is next / on air — so you can list many remote URLs without keeping them all connected.

Permanent Stream Inputs (Settings → Inputs → Stream Input) stay connected in the background, like a camera. Use them for cams or feeds you cut to often, or when Recording / outbound stream must keep the ingest alive without tying up a playlist channel.

  • Playlist Stream clip: Drag the STREAM icon onto the playlist and enter the ingest URL.
  • Permanent Stream Input: Paste the URL under Settings → Inputs, enable URL, then cut via LIVE INPUT in the playlist.
  • YouTube: Works as a Playlist Stream clip, or as a Permanent Stream Input for Live that must stay ready. After a playlist scan, right-click → Video/Audio Tracks for quality. Details: YouTube Integration Guide.

Remote Outputs

Distribute your playout signal from your cloud server or studio to any remote destination with maximum efficiency:

  • Direct Cloud Streaming: Use the native streaming options to push your output directly to major cloud platforms (YouTube Live, Twitch, Facebook Live) or custom RTMP/SRT media servers.
  • Low-Latency Master Control: Deliver high-quality SRT output feeds to enterprise cloud switchers or decentralized broadcast facilities.
  • Virtual Monitoring: Map Playdeck’s output to virtual camera and audio drivers to route the live feed directly into video conferencing tools (Zoom, Microsoft Teams) for instant client approval or remote monitoring.

Remote Control & Automation

Playdeck offers a deep matrix of network commands, remote interfaces, and hardware trigger support divided cleanly within the settings menu.

Network > Remote Control

  • Web User Interface: Access a dedicated, mobile-friendly remote layout from any smartphone, tablet, or external browser. Simply scan the QR Code displayed in this menu section to launch it instantly without manual activation steps.
  • Bitfocus Companion: Control your playout from anywhere via a physical Stream Deck or virtual buttons. Review the integration steps in the Companion Documentation.
  • Playdeck API: Connect via WebSockets (REST API planned) to send commands or read live playlists, playout statuses, and events. This API forms the exact foundation of our own Web UI Remote Control. Read the technical syntax in the Playdeck API Reference.


Network > Incoming

  • TCP Commands: An open, versatile interface used to fully remote-control Playdeck using third-party apps, including dynamically inserting new clips or initiating streams. See the complete command list in our TCP Commands Guide.
  • ATEM & vMix Integration: Map local or LAN-based ATEM Switchers (via USB/Network) and vMix instances to act as automatic CUE+PLAY triggers the exact moment a designated input goes live.
  • Hardware Triggers (COM/USB): Connect older or highly customized physical hardware devices utilizing a closed-circuit setup for instant CUE+PLAY actions.
  • Broadcast Standards (TSL UMD & NDI Tally): Trigger automated CUE+PLAY via TSL UMD (versions 3.1 and 5.0, e.g. Ross mixer tally) or via NDI Tally when an assigned NDI input goes live.
  • AMP Video Server (Generic DDR): PLAYDECK acts as an AMP server. Switchers such as Ross Carbonite connect as client, browse playlist clips, and control cue, play, stop and pause. Video is routed separately (SDI/NDI/HDMI). See our AMP Video Server Guide.


Network > Outgoing

  • TCP Commands: Instruct Playdeck to automatically send custom, individual strings to external third-party hardware or software whenever specific events occur (e.g., Clip/Block Start, Action Buttons, or Overlay triggers).
  • TCP Events: Broadcast predefined, automated system status changes from Playdeck to keep external control systems perfectly in sync with your active playout timeline.

HDR Output and Recording

PLAYDECK supports HDR playback, SDI output (via Blackmagic DeckLink) and HDR recording.

→ Prerequisites in Hardware
→ Enabling HDR Mode
→ Setting up SDI Output
→ Setting up Recording
→ Monitoring & Controlling
→ Troubleshooting


Prerequisites in Hardware

Graphics card
NVIDIA GPU with at least Turing architecture (GTX 16xx / RTX 20xx or newer).
Recommended: RTX 30xx / 40xx series (e.g. RTX 3080, 4070, 4080).
→ Required for 10-bit decoding/processing/encoding.

SDI output card
Blackmagic Design DeckLink with 10-bit and HDR metadata support:
– DeckLink 8K Pro
– DeckLink 12G Extreme
– DeckLink 6G / 12G models (Quad 2 / Duo 2 / Mini Recorder 4K etc.)
→ Older models (e.g. DeckLink 4K Extreme without 12G) may be limited to 4K 30p or no HDR metadata.

You can check your Graphics card in PLAYDECK:


Enabling HDR Mode

HDR Mode needs to be enabled in the Channel Settings. In HDR Settings, choose one of the following Output Pixel Format. Start with v210 unless you specifically need RGB processing.

Match Source / Passthrough
Uses the source pixel format (if 10-bit) or auto-detected
→ May default to r210 on HLG/PQ content.

10-bit YUV 4:2:2 (v210) – Broadcast Standard for HDR & SDI (recommended)
→ Preferred choice for most SDI workflows.
→ Full compatibility up to 8K 60p on single-link 12G-SDI.
→ Recommended when frame rate > 4K 30p.

10-bit RGB 4:4:4 (r210) – Maximum internal precision
→ Best for tone mapping, keying or heavy internal processing.
→ Limitation: On many DeckLink cards limited to ~4K 30p (bandwidth constraint on single 12G-SDI link).
→ Use with caution at higher frame rates.


Setting up SDI Output

In Output Settings, select your DeckLink card as the output device. 10-bit Output will be activated automatically. If the Card doesn’t support it, it will fall back to SDR.

Important:
HDR metadata (PQ/HLG) is carried in VANC (Vertical Ancillary Data) on SDI.
Most modern DeckLink cards and downstream devices (monitors, switchers) detect this automatically when 10-bit signal is present.
You need to re-enable your Device, if you changed Output Pixel Format in HDR Settings.


Setting up Recording

  1. Select a Format/Container (recommended: MOV or MKV).
  2. Pick NVIDIA H265 HEVC as Video Codec. Currently, no other Video Codecs are supported for HDR.
  3. Apply your preferred bitrate (50–100 Mbps recommended for 4K HDR)
  4. Click on Parameter behind Video Codec and set these options:
    – output.10bit = true
    – output.444 = true (! Only is “10-bit RGB 4:4:4 (r210)” selected in HDR Settings)
    – preset = p4

Result: Recorded file contains BT.2020 + HLG/PQ metadata when source was HDR.


Monitoring & Controlling

Play a HDR Clip in the Playlist. You can download this HDR HLG BT2020 Test Video.

Note: Preview on standard HDMI SDR monitors may appear washed-out or flat for HDR content — this is expected behavior.

You can check on the Clip’s HDR properties by right-clicking the Clip and selecting MediaInfo:

To verify, if PLAYDECK is correctly processing your HDR File, open Monitoring from the Main Menu and check these properties:
– Pixel Format (v210 or r210)
– Transfer characteristics (HLG or PQ)
– Color primaries (BT2020)

This allows you to check, if your SDI Card is sending HDR without a SDI HDR Monitor.

To verify your Recording, open the Recording Folder and Drag Drop your new File into the Playlist.

It should show the same HDR Meta Data as your Original (or your HDR Settings):


Troubleshooting

Working with HDR requires sufficient system bandwidth to handle increased pixel data and frame sizes, which can be tested using Blackmagic’s SignalGenHDR.exe tool. Users can stress-test their setup by running4 simultaneous instances to output 4K signals and verify 12G-SDI throughput capacity.

Download the Tool here:
https://downloads.playdeck.tv/assets/SignalGenHDR.zip

Color Correction for Inputs and Channel

This article will show how to use Color Correction Tools for your Broadcasts.

→ Video Range (16-235) vs. Full Range (0-255)
→ Color Adjustment Controls
→ Tools: Waveform, Vectorscope & Histogram
→ Why is CPU Processing required?


Video Range (16-235) vs. Full Range (0-255)

Video Range (Limited / Broadcast): Uses 16–235 (8-bit). Black = 16, white = 235. Standard for TV, broadcast, streaming — preserves headroom.

Full Range (PC / Data): Uses full 0–255. Black = 0, white = 255. Native for computer monitors, graphics, photos.

Color Range Expansion converts Video → Full Range (lifting blacks, expanding whites) to avoid washed-out appearance on PC displays. Mismatches cause crushed blacks, blown whites, or grayish/milky picture.

With PLAYDECK you can quickly convert between both modes by selecting the signal range or one of the preset buttons:


Color Adjustment Controls

PLAYDECK’s sliders help solve common broadcast and live-production challenges quickly:

  • Black Stretch Recover lost shadow detail in underexposed footage or create deeper, more cinematic blacks for dramatic looks.
  • White Stretch Bring back highlight detail in overexposed shots (e.g. skies, lights) or add punch to flat, washed-out highlights.
  • Brightness Correct overall too-dark or too-bright sources without changing contrast — ideal for matching multiple cameras.
  • Contrast Make flat, low-energy pictures pop for sports/news or reduce harsh contrast on harsh studio lighting.
  • Saturation Boost dull, desaturated camera feeds (e.g. ENG cameras) or tone down overly vivid graphics/logos for broadcast-safe output.
  • Color Phase Fix green/magenta casts from mismatched lighting, warm up cool skin tones, or match color temperature between sources.
  • Detail Sharpen soft, low-resolution streams or reduce noise in low-light footage without introducing artifacts.


Tools: Waveform, Vectorscope & Histogram

hese professional monitoring tools appear in a dedicated panel next to the video preview — perfect for precise color and exposure control during live production or playback.

  • Waveform: Check overall exposure and luminance levels quickly. Spot clipped highlights (flat at 100 IRE), crushed blacks (piled at 0 IRE), or mismatched camera levels so you can adjust brightness/black/white stretch before broadcast.
  • Vectorscope: Verify and correct color balance and saturation. Ensure skin tones stay in the correct flesh-tone line, detect unwanted color casts (e.g. green from LED lights), and confirm broadcast-legal saturation without over-the-top vividness.
  • Histogram: Analyze tonal distribution across the image. Identify if shadows/midtones/highlights are evenly spread or if detail is lost in dark/bright areas — ideal for fine-tuning contrast and stretch sliders to achieve a balanced, professional picture.


Why is CPU Processing required?

When using Color Correction (or certain other video filters) for the first time, PLAYDECK may prompt you to switch to CPU Processing:


Reason: Certain video filters (vfilters) on inputs and playlists rely on FFmpeg processing, which runs only on the CPU. The GPU pipeline does not support these standard filters, so CPU mode is required for them to work correctly — ensuring reliable playback and effects.

GPU Processing handles: Scaling, Mixing, Overlays, Format Conversion, and many Effects.

Switching to CPU mode keeps all features working normally — the only difference is higher CPU usage (and lower GPU load).

You can switch back to GPU Processing anytime in the application settings:

PLAYDECK License Options

Simple, Flexible & Transparent:
PLAYDECK is available in three editions and multiple license models to fit your production needs. All prices exclude VAT and can be processed in your preferred currency via our global shop. Choose the plan that matches your independent playout channels and workflow requirements.

→ PLAYDECK Editions
→ Choose Your License Model
→ Free Trial Edition (incl. Limitations)
→ License Activation
→ Support Options
→ License Portability & Backup
→ Special Conditions & Discounts
→ Upgrades, Downgrades & Cancellations
→ Dongle Details
→ Reseller Conditions


PLAYDECK Editions

We offer three editions tailored to your production scale, primarily differing in the number of independent main playout channels you can control simultaneously:

  • LITE: 1 independent playout channel – €190.80 per year (≈ €15.90/month, save €132 vs. monthly billing)
  • PLUS: 2 independent playout channels – €430.80 per year (≈ €35.90/month, save €288 vs. monthly billing)
  • STUDIO: 8 independent playout channels – €994.80 per year (≈ €82.90/month, save €684 vs. monthly billing)

All editions share the same powerful, rock-solid core: native support for virtually every codec and container format, low-latency GPU decoding, professional hardware I/O (SDI/HDMI via Blackmagic, AJA, Deltacast), IP streaming (NDI®, SRT, RTMP), graphics overlays, and automated failsafes.

For a full, detailed feature comparison chart (audio channel routing, recording channels, advanced scheduling, etc.), visit our official Plans & Pricing page: https://playdeck.tv/plans-pricing/


Choose Your License Model

PLAYDECK offers flexible licensing to match different workflows:

Online Shop License (most popular): Tied to your email in a personal License Pool. Requires internet for transfers/check-in/out. Easy portability.

USB Dongle License: Hardware-based (USB stick). No internet needed for daily use/activation. Portable by moving the dongle.

Offline License (special cases): Permanently bound to one specific PC (System ID). No internet ever required. Not portable without re-issuance.


Free Trial Edition (incl. Limitations)

Download and test PLAYDECK completely free—no time limit, no credit card required. Switch editions instantly inside the software via Menu → License → Change Trial Edition.

Limitations:
— Watermark on all video outputs.
— Occasional random short audio mutes (clearly signaled on screen).

All other production features are fully unlocked—ideal for comprehensive real-world testing of your local or cloud setup before purchase.


License Activation

Activation is quick and simple. Access our detailed activation guide here: https://playdeck.tv/activate-license/

Quick Steps:
— Shop / Online Pool: Open the License Manager inside PLAYDECK, log in with your purchase email, and instantly check out your seat from your personal pool.
— Dongle: Simply plug the physical USB security key into the machine—the software auto-detects the license immediately.
— Offline: Paste the machine-bound activation key provided by our support desk into the License Manager.


Support Options

[email protected] – available nearly 24/7, even for trial users or pre-purchase questions.

No forced onboarding. PLAYDECK is built to run easily out-of-the-box. If needed (rare), we can remote-connect via RustDesk to fix issues fast.


License Portability & Backup

PLAYDECK commercial licenses are highly flexible and designed to move seamlessly between production systems:

License TypeHow to TransferInternet Required for Move?Lost / Crash Handling
Shop License (Pool)Check-in/out via internal License Manager (tied to email)YesFree instant pool reset—simply email our desk.
Dongle LicenseUnplug and connect the physical USB stick to the new computerNoHardware replacement options available upon verification.
Offline LicenseBound to one PC—email your new System ID for secure re-issuanceNoSystem ID re-issue possible for hardware upgrades.

Perfect for freelancers, technical rental fleets, and dynamic multi-PC staging environments.

Detailed guide for transfering: https://playdeck.tv/move-license/

Detailed guide for recovery: https://playdeck.tv/recover-license/


Special Conditions & Discounts

  • NGO / Educational / Non-Profit: 25% discount on all licenses (any edition/duration). Email [email protected] with proof (e.g., official email/certificate) → we send discount code or invoice.
  • Multi-Year Pre-Pay: Up to 5 years with 25% discount on total. Contact support for quote.
  • No Lifetime License: We release regular updates for driver/OS/codec compatibility and third-party fees. Lifetime would mean missing critical improvements.


If you like to purchase a larger number of licenses, we can discuss special options – please contact us.


Upgrades, Downgrades & Cancellations

Upgrades & Downgrades: Possible at any time. We issue a pro-rata refund or store credit for your remaining license runtime, allowing you to seamlessly purchase your new tier. Due to automated shop infrastructure, direct mid-term upgrades cannot be processed automatically.

Cancellations: Cancel your subscription at any time via your user account at playdeck.tv or by emailing [email protected]. You will retain full commercial access until the exact end of your current paid billing period. No cancellation penalties apply.


Dongle Details

Dongle licenses share the exact same pricing structure as our annual online plans (minimum 1-year duration required). Extensions and renewals are processed remotely via network updates—no new hardware shipping is required for renewals.

One-Time Hardware Fee: €15 for the rugged USB security key (plus standard local shipping and handling costs).

Key Operational Advantages:
— 100% Air-Gapped Security: Completely offline activation and continuous validation. No internet connection is ever required for daily deployment.
— Instant Physical Portability: Move your license between production rigs instantly by simply plugging the USB key into the active machine.

Financial Example: A PLAYDECK Plus Dongle costs €430.80 per year plus a one-time €15 hardware fee.



Reseller Conditions

Interested in reselling PLAYDECK in your region or integrating it into your media staging catalog? We welcome international B2B partners and keep our referral process straightforward:

— Full authorization to market, promote, and sell PLAYDECK via your digital platforms.
— 25% standard commission per referred sales transaction (processed via custom customer discount codes or direct payout architecture).
— Fast commission claims backed by simple verification of prior customer interaction (e.g., email trail copy).
— Access our unified digital asset deployment kit containing official logos, brand typography, and promotional banners: Download deployment kit.

Email [email protected] to launch your partnership—we keep our partner onboarding highly efficient.

Create Pre-Show Waiting Loop

This article will show how to create a Audio Playlist and combine this with a looping video, perfect for pre-show waiting Loops.


We start by creating a loop block and insert some mp3 audio file to the block:

Now we add a default image, which is shown, whenever audio-only clips are playing:

And voila, we have a pre-show waiting loop:

But that’s not all. We can also use a video loop instead of a still image. For this we add the video as overlay with a loop setting. The video will be shown in fullscreen, if it has the same size, otherwise we can scale it in the overlay settings:

We could also add an Countdown via overlays.uno. Quick and easy:


PLAYDECK API

Integrate PLAYDECK into scripts, automation systems, and custom user interfaces using our standard REST API (OpenAPI 3) and WebSocket interface for real-time control on a single port.

In this article:
→ Which interface do I need?
→ REST API quickstart
→ Interactive API Reference
→ WebSocket real-time channel
→ Legacy TCP Commands Input
→ Integration Examples


Which interface do I need?

PLAYDECK offers different interfaces depending on your integration requirements. Use the following overview to select the correct protocol and port:

Use CaseRecommended InterfacePort
Scripts, cURL, Postman, Custom HTTP IntegrationsREST API /api/v1 (OpenAPI 3)11411
Live Status, Events, HTML Overlays, Bitfocus CompanionWebSocket Channel11411
Ready-made Control SurfacesBitfocus Companion (via WebSocket)11411
Legacy TCP Clients / Existing Automation PipelinesTCP Commands In11375

Recommendation: Most new integration projects should start with the REST API. Switch to or combine it with WebSocket only if you require continuous, low-latency status updates or real-time event triggers.


REST API quickstart

While PLAYDECK is running, the HTTP REST API is automatically available on port 11411 (sharing the same service as the built-in Web Remote).

Base URL

http://HOST:11411/api/v1


Replace HOST with the actual IP address of your PLAYDECK machine, found under Settings ➔ Network ➔ Developer API.

Testing inside PLAYDECK

You do not need external tools to start testing. Open Settings ➔ Network ➔ Developer API within the software application to send sample requests directly from the UI or launch the interactive documentation.

HTTP Request Examples

1. Service Health Check:

GET /api/v1/health HTTP/1.1
Host: HOST:11411


2. Retrieve Playout Status (JSON response):

GET /api/v1/status HTTP/1.1
Host: HOST:11411


3. Trigger Play on Playout Channel 1:

POST /api/v1/channels/1/play HTTP/1.1
Host: HOST:11411


4. Play Block 1, Clip 2 on Playout Channel 1:

POST /api/v1/channels/1/play/1/2 HTTP/1.1
Host: HOST:11411


Many actions accept optional path parameters for targeted control (such as block/clip IDs, timecode offsets, or overlay IDs).

Legacy Command Escape Hatch

If you need full coverage of the classic PLAYDECK command language via HTTP, you can pass pipe-formatted commands into the dedicated commands endpoint:

POST /api/v1/commands HTTP/1.1
Host: HOST:11411
Content-Type: application/json

{
  "command": "play",
  "args": ["1", "1", "2"]
}


Note: No API key or authentication token is required for local area network (LAN) operations in the current version.


Interactive API Reference

The complete machine-readable contract for this interface is provided as an OpenAPI 3 specification document.

➔ Download: OpenAPI Specification (YAML)

For interactive browsing, payload inspection, and direct “Try it out” testing against your active PLAYDECK instance:

  1. Launch PLAYDECK.
  2. Navigate to Settings ➔ Network ➔ Developer API and click Open API Reference.
  3. Alternatively, open a web browser on any machine within the same network and navigate to: http://HOST:11411/api/v1/docs

This documentation page dynamically lists all available REST endpoints, required parameters, schema definitions, and expected response payloads.


WebSocket real-time channel

Port 11411 simultaneously handles WebSocket connections. This bi-directional channel is engineered specifically for operations requiring sustained data streaming:

  • Continuous Playout Status: High-frequency playback position tracking and timecode updates.
  • Event Triggers: Immediate notifications when a clip, block, or playlist starts, stops, or loops.
  • Classic Pipe Commands: Direct processing of native control commands formatted as <play|1|...>.

The official Bitfocus Companion PLAYDECK module, the Web Remote UI, custom HTML graphics overlays, and Director View templates utilize this specific real-time channel. Complete syntax documentation for commands and event types can be found directly within the application package or within your local template directory:

Web Remote UI:
c:\Program Files\JoyEventMedia\Playdeck\html\webremote.html

HTML-Templates:
C:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\
or
c:\Users\<user>\AppData\Local

Legacy TCP Commands Input

To maintain backwards compatibility with existing broadcast automation infrastructure, PLAYDECK continues to accept incoming raw TCP connections on port 11375.

This setting is managed under Settings ➔ Network ➔ Incoming ➔ TCP Commands In. The payload syntax matches the pipe-delimited format used by the WebSocket channel and the REST /api/v1/commands endpoint.

  • Developer Note: For all clean-sheet development projects and new script integrations, we highly recommend utilizing the REST API instead of raw TCP sockets.


Integration Examples

  • Bitfocus Companion: Rapid deployment of physical hardware control surfaces using our production-ready native module over WebSockets.
  • Web Remote: Full-featured production control interface accessible through any browser on port 11411.
  • Director View & HTML Overlays: Built-in web templates showcasing live status binding.
  • Custom Software Tools: Rapid application development using standard HTTP clients generated from our OpenAPI specification, optionally backed by WebSockets for telemetry.

Questions or custom workflow requirements? Contact our engineering team at [email protected].


Translation

This article will show how to work on translations for PLAYDECK.


Introduction

The existing Languages are pre-translated via Online Tools. We use DeepL for this. This works very well for longer sentences (e.g. Settings), but it works also very poorly for single words (e.g. “Input”).

In addition, some translations use more or less space (number of character). This could lead to certain words not “fitting” into a certain Button. If the translation can’t be shortend, we can also make the button wider.

For these reasons, every language needs fine-tuning.


Workflow

The translations are being edited via an external tool called “SIL Editor”, where you can load and edit our language. You can then preview your edits directly in PLAYDECK.

One your Editing is done, you send use the Language File and we import your changes into the App.


Downloads and Installation

You need PLAYDECK in Version 4.2b6, which you can download here:
https://downloads.playdeck.tv/4.2b6/PlaydeckSetup.exe

You need the SIL Editor, which you can find here (only download “SIL Editor”):
https://www.sicomponents.com/download/

And you need the Language File with the Translations:
https://downloads.playdeck.tv/4.2b6/PLAYDECK.sib

—————-

Install PLAYDECK and the SIL Editor, then save the SIB File here:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\PLAYDECK.sib

If PLAYDECK detects a SIB File in this location, it will PREFER to use it over the internal translation.


Testrun

Let’s try to edit something and check, if PLAYDECK updates the translation. Double click the SIB File, which will open the SIL Editor. Open the first branch “Tf_about”, which represents the ABOUT Popup in PLAYDECK. Click on “Captions”, which represents all static text fields in the popup. You can minimize all language columns, that don’t concern you – in this example I focus on GERMAN (can be any other language). Now for “l_header” change the translation to something noticable – in this case I simply add “XXX” infront of the text for testing.

Save the SIB File (or press CTRL+S). In PLAYDECK switch to GERMAN in the App Settings:

After restarting PLAYDECK, open the About Popup via “License > PLAYDECK”. It now should reflect your text editing change. Don’t forget to change back after testing. Should this not work, please contact us.



Where to start

We recommend to edit all dynamic texts first, as they are used repeatedly in PLAYDECK and therefor form the “base translation”. You can find them under “Tf_lang > Strings”:

Once that’s done, you can decide for yourself: You can either search PLAYDECK for needed edits by walking through all Settings and Popups. Or you can walk through all Popups directly in the SIL Editor.



Orientation and Editing

The left Side in the Editor represents all possible Popups in PLAYDECK.

Noticable are “main” (Main UI) and “settings” (all settings). These are further devided into groups:

The Groups have the following meaning (only mentioning the onces you need):

– Captions: All static texts visible in the Popup, mostly Labels, Buttons, Menus
– Collections: Rarely used. Only some Dialog Options.
– Extended: Also static texts, but mostly Headlines
– Hints: Texts that appear under the Mouse, eg. the “?” Button or Toolbar Icons
– Multilines: Table Headers and Drop-Down fields with multiple selection. Edited by Double-Clicking.
– Other: Rarely used. Only some Dialog Options.
– Strings: Dynamic Text Blocks. Only used in “Tf_lang”

In the huge middle table, where you edit your texts, there is also a column called “String ID”, which represents the internal name of the corresponding element in PLAYDECK. This “can” be of help in some cases you might be searching for something.

Here are some information on the choice of name:
– l_: Static Text Labels
– b_ or mb_: Buttons
– cb_: Checkbox with Text
– rb_: Radio Button with Text
– pm_: Popup or Right-Click Menu
– os_ or op_: Drop Down Boxes



Tips for Editing

1) Please note, that there are several redundancies (same text over and over), which can’t be avoided, if for example the same text appears several times in PLAYDECK (e.g. Settings).

2) Some Texts also can’t be translated at all, since they are deeply nested within the System or the Video Engine, which are also Settings typically (Drop Down Edits).

3) You can search for any Text in the Editor or click on the Column Header for sorting. This can help to locate the English Original to find your Text Fields for Editing.

4) Any translation not given (empty field) will automatically use the English Original. So you can DELETE the translation to force PLAYDECK to use the English Original

5) All Multiline Translations need to have the same amount of Lines, otherwise PLAYDECK may fail to start or function correctly. Multiline Edits are edited by Double-Clicking the Translation.

6) Some Text Fields have very specific characters, which help formatting and readability in PLAYDECK. These are “<br>” (Linebreak), or ” ” (Empty Space) or “:” or some UTF8-Icons. Just be aware of them and that removing them can cause loss of readability.

7) Most Languages have “lower” and “UPPER” case and some Translations (“Strings” in “Tf_lang”) provide both cases, if needed. For languages that don’t have “case”, use the same translation in both fields.


External Links

You are able to change most of the Links in PLAYDECK to a different location, e.g. the Support Email-Address as well as Links to Online Documentation and other Website.

You are 100% allowed to do so. We only ask to make sure, that emails are responded to and website links are working and updated regularly.


External Contents

All images in “GET STARTED” and all Documentation Files have also been translated. You can find them here:
c:\Program Files(x86)\JoyEventMedia\Playdeck\lang

While there is no absolute urgency to replace or update those files, you can if you want to.

The “GetStarted” Folder contains all PNG images, that are shown in the Get-Started Dialogue:


The “Documentation” Folder contain all TXT Files, that are being opened as expert help on several occasions in PLAYDECK:

Should you decide to update these Files, please don’t rename them and send them to use in the same format as the original (PNG with same dimensions and TXT with similar structure).

Growing Files in Playlist

This article will show how to insert growing files into a playlist.

Definition
A growing file is a file that is still being recorded – it is therefore growing in size.

Recommended Setting
When working with growing Files, we recommend you enabling the Settings “Re-scan the runtime of growing files” to make sure the duration is updated every 5 seconds in your playlist view:


Insert to Playlist
Growing files can be inserted to the playlist like any other file: By Drag Drop from outside of PLAYDECK or using the integrated file explorer. They will be detected as “growing”, which can be verified in the info column. The clip duration will be updated every 5 seconds:

Possible Sources
The files can be recorded anywhere, they don’t need to be recorded in PLAYDECK. In the above screenshot we are using one PLAYDECK recording, another from OBS Studio and another from MagicSoft Recorder.

Possible Formats
Only the following file container formats are supported. But within that container you can use any video codec:
– MKV
– AVI
– MPEG

Cutting and Editing
You can cut and edit growing files the same way as regular files. For example: You can set an OUT point to the file and loop it, while it is still being recorded.

1 2 3 4 5 6