Create L-Band Ads via second Channel

This article will show how to use how to utilize the second Channel to create L-Band advertisements.


1. L-Band Specifications

Every Station has their own specs on the size, so we just borrow this sample from News18:

The principal is always the same: We “shrink” our main content proportionally to make room for Ads in the remaining area. After shrinking, we leave some overlap to not risk black background. Our final shrink-size is: 1520×855 Pixel.


2. Scale Channel 1 and send to Channel 2

We assume with have our Main Video Content on Channel 1. So we enable the Output Scaler in the Settings to our shrunk size of 1520×855 Pixel. Then we send our scaled Content as NDI signal:

We now loop our NDI signal to Input 1:

We then add Input 1 to the Playlist of Channel 2, by Drag Drop of the Input Icon to the Playlist. We now have the Video Content in L-Band size:


3. Add the Clean Feed for Switching

Since our Final Output will run over Channel 2, we also want our Clean Feed to be selectable in the Channel 2 Playlist. For this, we can simply copy the Channel without the Output Scaler. Use another Input and set Channel 1 as Source:

Then also add that Input to Channel 2. I already renamed both Inputs in the Playlist to be more distinguishable:

You can now quickly switch between L-Bands and Clean Feed.


4. Use Overlays for L-Bands

You can use PLAYDECK Overlays for your L-Bands. For simplicity, we use this transparent PNG over the Video signal. But these can be more complex. See this article on how to create Overlay groups and fade them together.

Click on any empty Overlay Button, then add our Sample PNG:

We now want our Overlay to ONLY play with the Playlist Clip for the “L-Band Feed” Input. For this we select the L-Band Clip and click the Overlay Icon, then add our new Overlay for the whole duration of the Clip:

Our L-Band Overlay will now automatically start together with the L-Band Feed:

Note: Overlays that are assigned to Clips always have a slight reaction delay. This can be overcome by finetuning Playlist and Overlay Fade Times. You could also split the L-Band Feed and Clean Feed to Channel 2 and 3 and use an external Mixer for Transitions.

Setup Device Reference Signal (GenLock)


Introducing a Reference Signal will force the Output Hardware to send Frames based on the Reference Clock.


1. Multichannel SYNC as a use case

If you plan to synchronize multiple channel, you should connect an external clock to your device, then CUE all Channel via LINK (or Commands) and UNPAUSE all Channel. This will start all Channel (almost) SYNC, while the Reference Clock will make sure, that all Channel STAY SYNC. This is only guaranteed for all Channel, that output over the same Device.

This article shows, how to use Action Buttons to start multiple Channel in SYNC.


2. Providing a Reference Signal (GenLock)

Please check with your manufacturer, if your Output Card supports a Reference Input. In this example we use “Blackmagic DeckLink Duo 2”:

If none of your other hardware generates a Clock Signal, you can use separate hardware to generate such a signal, like the Blackmagic Sync Generator.


3. Setting the Reference Input in PLAYDECK

Some Devices need specific reference input settings, like AJA Devices. In this Example, we set the AJA Reference Input to “external” for the Device:

If you click on SHOW HELP, you will see all other Options, that can be set for each device manufacturer.

Automate Overlay Lower Third with Clips

This article will show how to use how to create Overlays Groups and bind them to Clips or schedule them.

In this article:
→ Create Lower Third (with overlays.uno)
→ Create Lower Third (with ClassX)
→ Create Lower Third (in PLAYDECK)
→ Automate Overlay with Clips/Blocks
→ Schedule Overlay
→ Remote Control
→ External Keying


1. Create Lower Third (with overlays.uno)

For this example we use a ready-to-go Lower Third Overlay from overlays.uno.

Open this Overlay Template and click on “Use for free”:
https://overlays.uno/library/199-Lower-Third—Prism

Then click on “Copy Output URL” to have the target URL in your Clipboard.


In PLAYDECK, click on any empty Overlay Button, select “HTML” and paste the URL into the upper Online Template Field:

The Overlay is immediately ready for display. You can even live-update Logo and Text via the overlay.uno Overlay website:


2. Create Lower Third (with ClassX)

ClassX Liveboard is a professional CG Playout Solution for automating dynamic overlay contents. You can register for a Demo Version on their website.

After installation of LiveBoard, you can simply add Videos, GFX and other Contents via the user interface. There you also name the Contents with a unique identifier, e.g. “MyLowerThird” for later reference.

LiveBoard allows to connect via TCP and send Commands to show/hide certain Contents. A complete list of Commands is always found in their Window installation path:
C:\Program Files\…\ClassX_Applications_v6\remotecontroltester\commands

For now, these 2 Commands are enough for us:

LBC_PLAYCONTENT "MyLowerThird"
LBC_STOPCONTENT "MyLowerThird"

    Lets enable our TCP in PLAYDECK to talk to LiveBoard. The default Port of LiveBoard is 301. Enabling this will show CONNECTED, if the LiveBoard Server is running. Otherwise PLAYDECK will try to connect every 5 seconds, so you can start LiveBoard before or after PLAYDECK:

    Please follow up with 4. Automate Overlay with Clips/Blocks


    3. Create Lower Third (in PLAYDECK)

    Lets create our own custom “lower third” composed of a background GFX and Text and group them together.

    Click on an empty Overlay Button to open the Editor, then add some Background GFX. Close the Editor, right-click the Overlay Button and position your Background to the bottom area. We also right-click in the video preview and disable “Channel Name”:

    We add another Text Overlay and use {blockname} as text placeholder for our title text. Then add another Text Overlay and use {clipname} as text placeholder. Then some positioning and it looks like this:

    Now lets group then together: Right-click an empty Overlay Button and select “Create Overlay Group”. Then add our 3 previous Overlays and order them bottom-up:


    4. Automate Overlay with Clips/Blocks

    We now have a functioning Overlay Button for the Lower Third with dynamic Text Content. Now let’s attach this Overlay to a specific Clip. Select the related Clip and click on the Overlays Icon, then add our Overlay to that Clip, starting 5 Seconds into the Clip and showing for 10 Seconds:

    To attach an Overlay to a Block, you can use Commands:

    You can copy the Overlay Attachments by right-clicking the Clip/Block and selecting “Copy/Paste Settings”. This will help immensely to duplicate attachments across the playlist.

    To automate external Overlays, e.g. ClassX, you would also use Commands on Clips or Blocks, but write your Commands in the “External via TCP” Section:

    You can also show/hide Overlays via Actions Buttons via internal or external Commands.


    5. Schedule Overlay

    In addition to attaching overlays to playlist items, you can also schedule them to run at a specific time and for a specific duration, by right-clicking the overlay:


    6. Remote Control

    You already learned about Commands in 4. Automate Overlay with Clips/Blocks. You can call these commands from anywhere and start your overlays via your Stream Deck or any other Remote Control Software.

    Here is an article on how to setup and use commands in general:
    https://playdeck.tv/howto/commands/

    And here you find more information on how to setup and use Stream Deck with Companion:
    https://playdeck.tv/howto/companion/


    7. External Keying

    You can use one Channel of PLAYDECK just for the Overlays and send them to your Mixer via External Keying, which is supported for Device Output as well as NDI Output:
    https://playdeck.tv/howto/keying/

    ST 2110 Device Setup

    For High Quality and Lag-free network operation, we recommend using High-end network hardware (router, switch) as well as high speed ethernet cables (Cat6+).

    In this article:
    → BlackMagic 2110/IP Cards
    → AJA 2110/IP Cards
    → Deltacst 2110/IP Cards


    BlackMagic 2110/IP Cards

    BlackMagic Devices can be configured with the Tools given by the manufacturer:
    Blackmagic Desktop Video Setup:


    AJA 2110/IP Cards

    PLAYDECK allows to assign a network configuration file, which will be loaded upon PLAYDECK start.

    Structure of Configuration File (JSON)

    {
        "protocol":"2110",
        "network2110":
        { // this part configures the parameters of the device itself, the connectors (SFP) with IP configurations
            "ptpPreferredGMID":"00-00-00-00-00-00-00-00",
            "ptpDomain":0,
            "setup4k":"false",
            "multiSDP":"false",
            "audioCombine":"false",
            "rxMatchOverride":0,
            "sfps":
            [   // the configuration itself for each of the connectors
                {
                    "designator":"sfp1",
                    "ipAddress":"192.16.45.8",
                    "subnetMask":"255.255.0.0",
                    "gateWay":"255.255.255.255",
                    "enable":"true"
                },
                {
                    "designator":"sfp2",
                    "ipAddress":"192.16.45.9",
                    "subnetMask":"255.255.0.0",
                    "gateWay":"255.255.255.255",
                    "enable":"true"
                }
            ]
        },
        "receiveVideo2110":
        [ // this part is to receive a video feed where you set the connector, the source address
          // and its port for both the connectors.
            {
                "stream":"video1",
                ...
            },
            {
                "stream":"video2",
                ...
            }
        ],
        "receiveAudio2110":
        [ // this part is to receive an audio feed where you set the connector, the source address
          // and its port for both the connectors.
            {
                "stream":"audio1",
                ...
            },
            {
                "stream":"audio2",
                ...
            }
        ],
        "receiveAnc2110":
        [  // this part is to receive the ancillary data where you set the connector, the source address
           // and its port for both the connectors.
            {
                "stream":"anc1",
                ...
            },
            {
                "stream":"anc2",
                ...
            }
        ],
        "transmitVideo2110":
        [  // this part is to send a video signal where you set the connector, the destination address
           // and its port for both the connectors.
            {
                "stream":"video3",
                ...
            },
            {
                "stream":"video4",
                ...
            }
        ],
        "transmitAudio2110":
        [  // this part is to send an audio signal where you set the connector, the destination address
           // and its port for both the connectors.
            {
                "stream":"audio3",
                ...
            },
            {
                "stream":"audio4",
                ....
            }
        ],
        "transmitAnc2110":
        [  // this part is to send ancilary data where you set the connector, the destination address
           // and its port for both the connectors.
            {
                "stream":"anc3",
                ...
            },
            {
                "stream":"anc4",
                ...
            }
        ]
    }


    Sample Configuration File

    You can download this sample JSON File.


    Assign Configuration to PLAYDECK

    The Configuration will be loaded while starting PLAYDECK and will be assigned to all Inputs and Outputs (if assigned).

    For INPUTS, edit the full path to your JSON File in this Registry Key:
    HKEY_CURRENT_USER\Software\Medialooks\MFormats\MFLive\AJA2\aja.ip_config

    For OUTPUTS, edit the full path to your JSON File in this Registry Key:
    HKEY_CURRENT_USER\Software\Medialooks\MFormats\MFRenderer\AJA2\aja.ip_config


    Deltacast 2110/IP Cards

    PLAYDECK allows to assign a network configuration file, which will be loaded upon PLAYDECK start.

    Structure of Configuration File (JSON)

    {
        "tx2110Setup":
        {
            "ethPort":0,
            "DHCP":"true",
            "ipAddress":"127.0.0.1",
            "subnetMask":"255.255.255.0",
            "gateWay":"127.0.0.1",
            "ipAddressMulticast":"239.1.32.32",
            "udpPort":16
        },
    
        "rx2110Setup":
        {
            "ethPort":0,
            "DHCP":"true",
            "ipAddress":"127.0.0.1",
            "subnetMask":"255.255.255.0",
            "gateWay":"127.0.0.1",
            "ipAddressMulticast":"239.1.32.32",
            "udpPort":16
        }
    }


    Sample Configuration File

    You can download this sample JSON File.


    Assign Configuration to PLAYDECK

    The Configuration will be loaded while starting PLAYDECK and will be assigned to all Inputs and Outputs (if assigned).

    For INPUTS, edit the full path to your JSON File in this Registry Key:
    HKEY_CURRENT_USER\Software\Medialooks\MFormats\MFLive\MFDeviceDC\dc.ip_config

    For OUTPUTS, edit the full path to your JSON File in this Registry Key:
    HKEY_CURRENT_USER\Software\Medialooks\MFormats\MFRenderer\DC\dc.ip_config

    Setup of your Output Streams

    This article will show how to setup your Output Streams for different purposes.

    In this article:
    → Introduction
    → Using Parameter and Config String
    → Config Samples
    → AAC High Quality Audio Streams
    → Color Space and Chroma subsampling and Interlace
    → Multiple Audio Tracks
    → Routing Streams over specific IP
    → Monitoring & Troubleshooting


    Introduction

    You are able to setup 15 different Stream Configurations for any Source, being Channel, Inputs and Director View. As a default, your Video Format is copied from the Source, once the Stream starts, but you can transcode into any Resolution.

    Once you pick your Protocol, the other Fields for Video/Audio Codec and URL will change according to your selection, meaning: Not every Video/Audio Codec will be available for every Stream Protocol.

    INFO: NVIDIA Encoder do NOT support Interlaced Formats anymore. Pick Intel QuickSync instead.

    Your URL will show a suggestion of the required URL Format. Click on “URL Info” to show more examples, e.g. how to integrate Username/Password. The Preview URL will not be used by PLAYDECK, it’s just for your convenience to open the Internet Browser upon clicking “Preview”.


    Using Parameter and Config

    Further Parameter can be set to Protocol and Codecs, which are specific for your selection. These can be used to finetune your Settings, e.g. make your Stream CBR or add Metadata.

    Clicking on “Parameter” will open a Editor, which will only show the possible Settings for your selection. It will highlight any Value that differs from the Default Value.

    The “Config String” is a representation of all your Protocol/Codec selection as well as their respective Parameter. The Config String works both ways: You can also copy/paste a Config String into the Text Field, then click “Update from String” to apply the Values upwards. This allows you to simply copy Settings between Stream ID’s or share with other User.


    Config Samples

    Here is a quick selection of recommended Configurations for different purposes. Copy and Paste to PLAYDECK and click “Update from String”.


    DVB Stream with CBR and GOP B-frames. No PCR or PTS-DTS or Buffer underrun Error

    format='dvb' protocol='udp://' mpegts_start_pid='60' video::streamid='80' video::disable_sps_pps='true' video::codec='n264' video::profile='high' video::level='4.1' video::rc_type='cbr' muxrate='10M' video::b='7.5M' video::bufsize='1.25M' video::g='32' video::bf='2' video::ref_frames='3' audio::streamid='81' audio::metadata::language='deu' audio::codec='mp2' audio::b='192k' pmt_start_pid='100' mpegts_flags='-system_b' rc_buffers='4' pcr_period='35' pat_period='0.1' sdt_period='0.5' tdt_period='10' start_pcr='0' service_name='TEST' service_provider='PD' service_id='1' original_network_id='1' transport_stream_id='201' service_type='advanced_codec_digital_hdtv'


    Or in Short Form:

    format='dvb' protocol='udp://' video::disable_sps_pps='true' video::codec='n264' video::profile='high' video::level='4.1' video::rc_type='cbr' muxrate='10M' video::b='7.5M' video::bufsize='1.25M' video::g='32' video::bf='2' video::ref_frames='3' audio::metadata::language='deu' audio::codec='mp2' audio::b='192k' service_type='advanced_codec_digital_hdtv'


    INFO: Every DVB Receiver is different und you might need different Parameters. Some Receiver will not allow ANY deviancy from official guidelines, and will show BLACK. The most reliable solution to encode DVB signals are Hardware Encoder, e.g. Haivision.

    Best practice to test DVB Streams for PCR Error or other, is using one of these Tools:
    – DVBControl DVBAnalyzer (costs ~2000 EUR, but is most reliable and detects PTS-DTS Error)
    – StreamGURU (costs ~300 EUR, can detect any ETR Error and shows Bitrate Graphic)
    – TSAnalyzer (free, but can ingest Stream URL, needs TS File on HD)
    – Others worth mentioning: DVBInspector, Elecard Stream Analyzer, StreamXpert

    ————————————————————

    SRT Stream in CBR for 25 FPS with High Quality Audio

    The next Sample is being used by several Customer in a Multichannel Stream Setup to broadcast Music Video Content. This Config runs smooth for 4 parallel Output+Stream Channel – achieving optimal sound and picture quality with FHD ACC audio.

    format='mpegts' protocol='srt://' video::codec='n264' video::b='4M' video::rc_type='cbr' video::preset='p4' audio::codec='aac' audio::b='128K' audio::profile='aac_low' audio::stereo_mode='ms_force' audio::minrate='128K' audio::maxrate='128K' audio::bufsize='128K' audio::aac_coder='0'

    ————————————————————

    RTMP Stream in CBR for 60 FPS with 2 second-keyframe

    The next Sample is for YouTube. Use the YouTube Analytic and Stream Health Tools to test your Stream Satbility:

    format='flv' protocol='rtmp://' video::codec='n264' video::b='9000k' video::maxrate='9000k' video::bufsize='9000k' video::g='120' video::preset='veryfast' audio::codec='aac' audio::b='128k' audio::ar='44100'


    The next Sample is for Twitch. Use Twitch Inspector to check your Stream Stability and add “?bandwidthtest=true” to your Stream URL to prevent going Live.

    format='flv' protocol='rtmp://' merge_tracks='true' video::codec='n264' video::b='5800k' video::maxrate='5800k' video::bufsize='5800k' video::g='120' video::preset='veryfast' audio::codec='aac' audio::b='128k' video::tune='zerolatency' audio::codec='aac' audio::ar='44100' audio::b='128k'


    ————————————————————

    Sony XDCAM HD422 Standard

    video parameters—including 4:2:2 chroma subsampling, a specific GOP structure (M=3, N=15), and interlaced field processing—alongside professional-grade 24-bit PCM audio at a 48 kHz sample rate.

    format='mxf' video::codec='mpeg2video' video::b='50M' video::interlace='1' video::top='1' video::g='15' video::v422='true' video::bf='2' video::flags='+ildct+ilme' audio::codec='pcm_s24le' audio::ar='48000'


    AAC High Quality Audio Streams

    The default AAC streaming settings save CPU, but might sound flat on music channels. For pristine audio, choose one of the two profiles below based on your target audience and source material.

    Quick Prep:
    – Source: Use 48 kHz clips (320kbps or lossless PCM).
    – Video: Lower video to 720p30 if bandwidth is low. Always use hardware encoding.


    Option 1: Maximum Compatibility & Stability (Safe Variant)

    Best for: Standard streaming, cable operators, and DVB-T multiplexers. This is the safest profile to prevent phase issues across various types of content.

    format='mpegts' protocol='udp://' video::codec='n264' video::b='4M' audio::codec='aac' audio::b='256K' audio::profile='aac_low' audio::aac_coder='0'


    audio::profile=’aac_low’: Sets AAC-LC for maximum quality and 100% hardware decoder compatibility.
    audio::aac_coder=’0′: Forces a high-quality two-loop encoding run for clear transients. (Change to 1 if you face CPU spikes).
    Dynamic Stereo: Leaves stereo management to the encoder, making it highly resilient against imperfect source material.


    Option 2: High-Fidelity Streaming (Optimized Stereo Variant)

    Best for: Dedicated music channels with pristine studio-grade source files. This profile utilizes a tight VBR envelope and forced Mid/Side stereo processing.

    format='mpegts' protocol='udp://' video::codec='n264' video::b='4M' audio::codec='aac' audio::b='256K' audio::profile='aac_low' audio::stereo_mode='ms_force' audio::minrate='200K' audio::maxrate='320K' audio::bufsize='640K' audio::aac_coder='0'


    audio::stereo_mode=’ms_force’: Forces Mid/Side stereo processing, maximizing bandwidth efficiency for deep, wide stereo soundscapes.
    minrate=’200K’ / maxrate=’320K’ / bufsize=’640K’: A tight VBR envelope that prevents quality drops in quiet passages while leaving room for heavy musical peaks.
    Note: If your audio lacks “punch” or sounds hollow on certain clips, switch back to Option 1, as your source material might contain phase inconsistencies.


    Color Space and Chroma subsampling and Interlace

    The Support for certain Color Spaces, e.g. 4:2:2 for DVB, or Interlaced Encoding, depend very much on the Intel CPU or NVidia GPU you are using.

    Here is a page for NVidia NVenc and 422 Support and here for Intel Quick Sync and 422 Support.

    In basic terms:

    1. NVidia Support for Interlaced Encoding:
    – Pascal (GTX 10-Serie): Last architecture with interlace support
    – Turing / Ampere / Ada (RTX 20/30/40): Hardware support for interlaced encoding was removed
    – Blackwell (RTX 50-Serie): Interlaced encoding for H.264 (8-bit and 10-bit) has been re-introduced

    2. NVidia Support for 4:2:2 Color Space:
    – Blackwell (RTX 50-Serie)

    3. Intel Support for 4:2:2 Color Space
    – 10th Gen and newer processors offer support for Hardware Accelerated encoding and decoding of HEVC codec on 4:2:2 color sampling via Quick Sync.
    – Previous graphics controllers on 9th Generation Intel® Core™ Processors and older were limited to HEVC codec 4:2:0 color sampling for hardware accelerated encoding and decoding.

    This is a quick config sample to encode 4:2:2 with Intel Quick Sync (10th Gen+)

    format='dvb' protocol='udp://' video::codec='hevc_qsv' video::b='5M' audio::codec='aac' audio::b='128K' video::pix_fmt='yuyv422'


    Note: Features such as interlace and 4:2:2 color space are also available in x264 CPU encoders. Since we use an LGPL version of FFmpeg without GPL parts (e.g., libx264), these features are not enabled. It is possible to replace the FFmpeg libraries with your own versions.


    Multiple Audio Tracks

    If you need to send multiple Audio Tracks, e.g. for different Languages or for Director Audio, you can do so with all supported Protocols (DVB, RTMP, UDP and some more). You can also apply different Audio Codecs.

    The same Format Parameter works for Recording: open Recording Settings → Parameter on the container/format (same Config String idea as streaming).

    The way this works is, that you have ALL Audio Tracks already active in your Channel, then SPLIT the Audio Tracks for your Stream or Recording Output in e.g. Stereo Pairs.

    First, make sure your Channel is set to more than 2 Audio Channels:

    Then “fill” these Audio Channels with Audio Content, e.g. by enabling All Audio Tracks on a Clip or ingesting all Tracks via SDI (up to 16 Audio Tracks). You can also use Audio Mapping to mix up/down your Audio Tracks or use Audio Filter to copy and delay certain Audio Tracks.

    Then open your Stream or Recording Settings, open the Parameter of your Protocol / Format, and set split_channels:

    • split_channels=’0′ — off (one multichannel track)
    • split_channels=’1′ — one track per channel (mono tracks)
    • split_channels=’2′ — stereo pairs (1+2, 3+4, …)
    • Also supported: 4, 6, 8 (channels per track)

    Example for stereo pairs: split_channels=’2′

    INFO: The Number of Audio Channels in your Stream / Recording Settings need to stay at 2. The split creates the extra tracks from the Channel’s multichannel bus.

    If needed, you can apply different Audio Codecs for the additional Audio Tracks. Please note the added and increasing Numbers for every Audio Track after the first one:

    audio::codec='aac' audio.1::codec='ac3' audio.2::codec='libmp3lame' audio.3::codec='mp2'


    You can also apply a Language Descriptor for every Audio Track:

    audio::metadata::language='eng' audio.1::metadata::language='ita' audio.2::metadata::language='fra' audio.3::metadata::language='ger'


    INFO: Language Codes must comply to ISO 639-2

    You can then test your resulting Audio Tracks in e.g. StreamGURU (streams) or MediaInfo / your NLE (recordings).


    Routing Streams over specific IP

    Your production requires you to send your streams via specific networks. This is mostly used to have a dedicated/reserved line for streaming, so it doesn’t interfere with regular network traffic.

    If using UDP Streams you simple add this parameter directly to the URL:
    udp://ip:port?localaddr=172.20.10.2

    If using SRT Streams you simple add this parameter directly to the URL. This only works in rendezvous mode:
    srt://ip:port?mode=rendezvous&localip=172.20.10.2

    If using RTMP Streams, there sadly is no paramter. You need to route all RTMP outbound traffic manually. For this we use Proxifier. Goto Profile, Proxification Rules, Add new Rule and edit like this and move it to the top if the rules. Pick your desired adapter via “Advanced”.


    If you want to run a dry test locally without the 2nd line, enable both Ethernet Adapter and Wifi on your PC, then Start a new Hotspot on your Mobile Phone and connect PC Wifi to that Phone. Then open Console (“cmd”) and type “ipconfig”. The IP address you need is there:

    You can test your network traffic with wireshark.


    Monitoring & Troubleshooting

    If your Streams are lagging or even stopping completely, you are often in the dark what exactly happened. Here are some pointer to help you identify the problem.

    1. Bitrate

    Follow this Rule: The Video and Audio Bitrate Setting (for your Stream) should never exceed the Clip Encoding Bitrate. Check by right-clicking your Clip in the Playlist and open MediaInfo. In this case, set your Video Bitrate to 3M and Audio Bitrate to 128K.


    2. Monitoring

    Open the Monitor Window in PLAYDECK or open the Stream Logs.

    FPS 50/60 (FPS Average/Desired)
    Compares the current and average encoding frame rate against the desired level. A drop here indicates the system cannot keep up with real-time encoding.

    Elapsed (Frame Waiting Time in Seconds)
    Shows Time elapsed after the last Frame has been processed. If this value increases, not frames can be processed due to missing Source, or false settings or no connection.

    Skipped (Dropped Frames)
    The most critical indicator of performance bottlenecks. If this value increases, the encoder is intentionally dropping frames because it cannot process them fast enough.

    Breaks (Frames lost)
    If the network is slow, you see Breaks because the Server wants a new frame but it cannot get there in time (for protocols that requires acknowledgement like RTMP or SRT). Breaks can also happen if the Source does not deliver a frame in time.

    Buffer (Frames waiting)
    Monitors the number of frames waiting in the internal queue. A constantly growing buffer typically precedes skipped frames or Breaks. High Skipped, Low Breaks: This usually means your CPU/GPU encoder is too slow. High Breaks, Low/Zero Skipped: This usually means the network or source is the bottleneck. The writer is ready to encode but the frames aren’t arriving or being “pulled” at the correct time intervals due to the connection lag.


    3. Network/Bandwidth Problems

    Turn of all your Streams, open your Windows Console (“cmd” in Start Menu) and type

    tracert <hostname_or_ip>


    Use your Target URLs Hostname or IP Address. If you see any Values >100 ms, this will indicate a slow connection to your Stream Target.

    Also keep in mind, that while today Download Speeds with Fibre, Cable or DSL or mostly high speed (>100 Mbps), the Upload Speed could be very much slower than that. Use a Tool like Speedtest to determine your actual Upload Speed.

    Also use Bandwidth Profiler on the Stream Server to check, if your desired Bitrate is also received on the Server. Most Provider or Software will provide with Tools to measure the received Bitrate. Ideally it is shown as Graph, which can point out any Gaps during the Transmission. If you have no Tool at Hand, we recommend streaming to YouTube, as it has a build-in Stream Analyzer, which is very useful to diagnose any instable connections.

    In addition, please check with your Provider or Service, if the provide any LOCAL Stream Ingest URL’s for your Region or Country. As an example, Twitch provides these Twitch Ingest Endpoints.

    Stream Inputs

    PLAYDECK can take live network streams in two ways:

    1. Permanent Stream Input — configured under Settings → Inputs. The stream stays connected in the background (like a camera or NDI input) and you cut to it from the playlist when you need it.
    2. Playlist Stream clip — a one-off URL dropped onto the playlist. PLAYDECK connects when that clip is scanned / played.

    For live cams, YouTube Live, and anything you cut to often, use a permanent Stream Input. For a single ad-hoc SRT/RTMP/HLS URL, a playlist stream clip is fine.

    In this article:
    → Permanent Stream Input (Settings)
    → Use a Stream Input in the playlist
    → Insert a stream URL directly into the playlist
    → YouTube and website videos


    Permanent Stream Input (Settings)

    Open Settings → Inputs and select an Input slot (1–12).

    Under Stream Input:

    1. Paste the stream URL (SRT, RTMP, UDP, HLS .m3u8, YouTube Live / VOD URL, …).
    2. Enable the URL checkbox next to Stream Input. That starts the permanent connection.
    3. Leave it on. The input stays warm while PLAYDECK runs (same idea as Device / NDI / Display inputs — only one source type per Input slot).

    Notes:

    • Turn URL off to stop the permanent stream.
    • You cannot combine Stream Input with Device / NDI / Display / Channel on the same Input at the same time.
    • If the feeder is offline, the input may show no signal until the remote stream is back — reconnect behavior follows your usual input monitoring.
    • Recording / outbound stream: set the source to this Input (not a Playlist Stream clip) so the permanent ingest stays warm without dedicating a playlist channel.

    Use a Stream Input in the playlist

    Once the permanent Stream Input is running:

    1. Drag the LIVE INPUT control onto the playlist (or use the Live Input menu).
    2. Choose the Input number you configured (e.g. Input 3).
    3. Play / schedule that row like any other live input — ideal for short cuts to a cam that is already connected.

    This is the path for “cut to this live cam for 30 seconds a few times a day” without reconnecting the URL every time.


    Insert a stream URL directly into the playlist

    For a one-shot stream (no permanent Input):

    1. Drag the STREAM icon onto the playlist.
    2. Enter the stream URL in the popup (SRT, RTMP, UDP, HLS, …).
    3. PLAYDECK scans the stream. White = connected, red = not reachable.
    4. Right-click → Change URL if you need to fix a typo.

    You can also drag-drop some URLs from the browser onto the playlist when PLAYDECK recognizes them.


    YouTube and website videos

    • YouTube (playlist clip): drag the YouTube URL onto the playlist, or use the STREAM icon. Details: YouTube.
    • YouTube as permanent Input: put the same URL under Settings → Inputs → Stream Input (URL on), then cut via LIVE INPUT as above — better for Live streams that must stay ready.
    • Website / Twitch-style pages: some sites work via the STREAM icon or drag-drop. Use Show Help in the dialog for supported sites. A plain HTML player page (no direct media URL) will not play — you need a real stream URL (e.g. .m3u8).


    Move License to another PC

    This article will show how to move your License from one System to another System.

    In this article:
    → Shop License
    → USB Dongle License
    → Offline License
    → Backup License


    Shop License

    You can move your License via a simple Check-In/Out System. On the System with the active License, go into your License Manager:

    First, we want to deactivate the current License: Select the TRIAL Edition and click ACTIVATE, then confirm the restart query:

    After restarting PLAYDECK, we can now move the freed License back to your Online License Pool. Re-open the License Manager. Now login to your PLAYDECK ACCOUNT. Use the email address and password, which you used during CHECKOUT in the SHOP. Use the FORGOT PASSWORD button, if you need to reset your password:

    We can now move the License from you LEFT Side to the RIGHT Side with a Button Click (CHECK LICENSE BACK INTO THE POOL). This means, that the License becomes UNAVAILABLE on the current System and becomes AVAILABLE on ANY other System:

    The next Screen shows the OTHER PC after logging into the License Manager. You simply reverse the Process now: Select the License on the RIGHT Side and move it with the Button to the Left Side (CHECK LICENSE FROM POOL TO LOCAL PC). PLAYDECK will now offer to activate the License and restart:


    USB Dongle License

    Simply detach the USB Dongle and attach it to another PC, then start PLAYDECK on that PC. Please note, that if you detach the Dongle while PLAYDECK is still running, PLAYDECK will close immediately and without prior notice. It is recommended to close PLAYDECK regularly to ensure, that all Data is saved properly.


    Offline License

    The Offline License is bound to the PLAYDECK System ID and can NOT be moved to another System by the Customer. Please write us at [email protected] to receive a new Offline License.


    Backup License

    We have a separate article on how to use the Backup License.

    Backup System

    The Backup System links a second PLAYDECK PC to your main playout machine (MAIN). That second PC (the Backup) keeps the same project as MAIN and can take over if MAIN fails.

    Typical use: a spare machine that stays ready while MAIN runs the show. On the Backup PC you can run Lite, Plus, Studio, or a dedicated Backup Edition. After Validate, that PC copies MAIN’s edition features. A dedicated Backup Edition is optional; it adds the offline grace timer (see below).

    In this article:
    → Requirements
    → Setup
    → Modes & project sync
    → Watermark & MAIN offline
    → License & deactivate
    → Tips


    Requirements

    RoleLicense
    MAINLite, Plus, or Studio (shop, dongle, or offline). A Trial MAIN is fine if it is Trial Lite, Trial Plus, or Trial Studio.
    Backup PCLite, Plus, Studio, or Backup Edition (paid or Trial Lite / Plus / Studio).

    Any of those editions can Validate and start a Backup session. After Validate, Backup copies MAIN’s edition features (channels, tools, limits).

    MAIN must not be:

    • in Edit Mode
    • a Backup Edition license
    • already a Backup Client (validated to another MAIN) — Validate will refuse that target
    • an PLAYDECK build older than 4.3b7 (update both MAIN and BACKUP to use the same version)


    Both PCs should use the same PLAYDECK version (or Backup newer than MAIN), and they must reach each other on the network. To try Backup System in Trial: use Trial Lite, Plus, or Studio on the Backup PC, then Validate against MAIN.


    Setup

    On MAIN
    1. Install and run PLAYDECK with your normal license.
    2. Activate Lite, Plus, Studio, or Backup Edition — or pick Lite / Plus / Studio in License → Change Trial Edition.
    3. Note MAIN’s IP address — from the Settings on MAIN.

    You do not enable a special “Backup server” mode. With PLAYDECK running and the port open, MAIN is ready.


    On the Backup PC
    1. Install PLAYDECK (same version as MAIN, or newer).
    2. Activate Backup Edition, or pick Backup Edition in License → Change Trial Edition.
    3. Open Application Settings → Backup System.
    4. Enter the IP address of Main System.
    5. Click Validate. PLAYDECK checks MAIN first. If the target is invalid (wrong IP, Backup Edition, another Backup Client, …), you get a message and the Backup session stays inactive.
    6. Confirm the restart when asked. Only after you confirm does Backup become active. After restart, Backup copies MAIN’s edition features (channels, tools, limits of Lite / Plus / Studio on MAIN).
    7. Choose how Backup should run (next section).

    You can check the link in the window title or About — for example Backup COPY PLUS if MAIN is Plus.


    Modes & project sync

    Operation modes

    After Validate you choose how Backup behaves while MAIN is online.

    Standby until MAIN fails (COLD) — default
    Low load. Good for a spare PC that stays on all the time. The project can stay synced from MAIN; playout stays stopped until MAIN goes offline, then Backup can take over.

    If MAIN comes back while Backup is still playing after a failover, playout does not stop by itself (no sudden black). When MAIN is online again, use Return to Standby next to the COLD mode control (same style as Reload playlist from MAIN now). Settings close first, then Backup stops and returns to standby.

    Sync playhead live (HOT)
    While MAIN is online, Backup follows playhead and overlays about once per second — useful when the spare must stay on the same cue. Optional checkboxes can ignore incoming control and outgoing TCP / SCTE while MAIN is live, so Backup does not fight MAIN for control or send commands twice.


    Project sync

    During a Backup session, MAIN owns the playlist:

    • Open / New / Save for project files are disabled on the Backup PC. The live playlist always comes from MAIN’s sealed mirror — not from Autosave.
    • MAIN’s project is copied to a local mirror on Backup. When that mirror is applied depends on Reload:
    OptionWhen MAIN’s project is applied on Backup
    Only during STOP/CUE (default)When playout is stopped or cued (failover still always applies).
    Immediately when MAIN updatesAs soon as MAIN’s project changes.
    ManuallyOnly when you use Reload playlist from MAIN now (failover still always applies).

    Watermark & MAIN offline

    Watermark
    SituationWatermark on Backup
    Trial on Backup PC (any edition)Yes (Trial)
    Paid Backup Edition, not validated yetYes — until Validate succeeds
    Paid Lite / Plus / Studio on Backup PCNo extra watermark from Backup System
    Paid license, validated to a paid MAINNo (unless this PC is still Trial)
    Validated to a Trial MAINFeatures follow MAIN’s edition; watermark stays if this PC is still Trial

    When MAIN is offline

    Backup is allowed to cover outages. If this PC runs a dedicated Backup Edition, PLAYDECK limits how long it may stay online without MAIN:

    1. If MAIN stays offline for 24 hours, PLAYDECK shows a warning and grants another 24 hours.
    2. If MAIN is still offline after that, PLAYDECK closes.


    If this PC runs Lite, Plus, or Studio, that timer does not apply — you keep your own license; the Backup session simply stops following MAIN until MAIN is back (or you Deactivate).

    When MAIN is online again, the offline countdown resets (Backup Edition only). Keeping Backup validated with MAIN reachable (especially in standby / COLD) is the normal long-running setup.


    License & deactivate

    While a Backup session is active, License Manager shows a short message: end the Backup session in Settings first (Deactivate + restart), then change licenses. That avoids mixing a copied MAIN license with a local checkout.

    To end the session: Application Settings → Backup System → Deactivate. Follow and copied MAIN features stop after restart. MAIN IP and your mode / reload choices stay saved.

    If the Backup license expires or you switch to a different dongle (for example Plus instead of Backup), PLAYDECK clears a leftover Backup session automatically on the next start.


    Tips

    • Point both PCs at the same media paths (or shared storage), or Backup opens a playlist with missing files. Use Locate once to pick a media root — PLAYDECK remembers it and searches it again on the next sync. On Backup you can Snooze until Restart on the Missing Files dialog to silence that popup for this session. Use Reload playlist from MAIN now when you need a fresh copy from MAIN.
    • To copy a show (project + media) onto a stick without LAN: File → Export show package… on the prep PC, then File → Import show package… on the show PC. Missing media is resolved with Locate, not by rewriting paths in the XML. On a Backup session without Open/Save, Import still extracts files; the live playlist stays under MAIN sync. More information: Import / Export Show Package.
    • Firewall: TCP 11411 from Backup → MAIN.
    • Two machines that must playout independently at the same time still need two full licenses. Backup System is for follow + failover.
    • To try the flow in Trial: License → Change Trial Edition → Lite, Plus, or Studio, then Validate (watermark stays).

    Creating a Slideshow Single-Monitor

    This article will show how to create a Slideshow with Transitions and output on the same Monitor.


    1. Creating the Show

    Open the integrated File Explorer by clicking the right-arrow between the Playlists. The search for your images folder, select all images and add the to the Playlist by Drag Drop:

    Select any Clip in the Playlist and press CTRL+A to select all Clips, then select the Icon for DURATION and enter a suitable duration for each image, e.g. 15 seconds:

    While al Clips are still selected, click the Icon TRANSITION next and add any transition. In this case we use a smooth long Fade Transition:

    At the bottom of the Playlist you can see the total duration of your Slideshow:


    2. Playing the Slideshow

    You simply double-click the first Clip (or use Buttons CUE+PLAY), then double-click the Preview Area (or right-click and select FULLSCREEN). Your Playout will now be maximized to your Monitor Size, at maximum Quality. And the Mouse Cursor will be hidden. Use ESC to exit Fullscreen.

    Note: During Fullscreen, you can use the SPACE Key to pause/u-pause Playback.

    You can also output the video signal on a second monitor, or send it to your TV. You could also send it via NDI to another PC and open the signal with PLAYDECK (use the free Backup License), or VCL Mediaplayer or any other 3rd party app:


    Using Commands for Playout Control

    This article will show how to use Commands to control your Playout.

    In this article:
    → Example: CUE+PLAY multiple Channel
    → List of all Commands and where to add them
    → Send Commands from other Apps


    Example: CUE+PLAY multiple Channel

    We want to create an Action Button, which will CUE several Output Channel and PLAY them simultaneously (almost synced).

    Create a new Action Button by clicking on it and select COMMANDS, then EDIT COMMANDS:

    Add this Line under “COMMANDS – Internal”:
    <cue|1|1><cue|2|1><wait|1000><play|1|1><play|2|1>

    This will CUE Channel 1 and 2 (1st Clip 1st Block), then wait 1000ms (for caching), then PLAY both Channel.


    List of all Commands and where to add them

    The List of all Commands can be quickly opened over PLAYDECK’s Main Menu:

    Commands can be added to:

    • Action Buttons (Start, End)
    • Overlay Button (Start, End)
    • Clips (Any Time)
    • Blocks (Start, End)

    Mostly via this Icon:


    Send Commands from other Apps

    We have a separate article on how to control PLAYDECK with Companion.

    But what, if it is not Companion, but a different 3rd party App? First, you would need to enable TCP Commands. This will open PLAYDECK up to receive and execute Commands from external sources:

    In your 3rd party app, connect to PLAYDECK via TCP and send one or multiple Commands. In this Sample we use Hercules to send a Command, which will start Streams 1 and 2:

    Note: AMP Video Server (Settings → Incoming) is a separate protocol for Ross Carbonite and Generic DDR switchers (default port 3811). It is not the same as TCP Commands In (default port 11375). For AMP setup, see AMP Video Server.


    1 2 3 4 5 6