External Overlays with ClassX (and other)

This article will show how to trigger external Overlay Engine during your Playout.


Create external Overlay with ClassX

We use ClassX Liveboard as an example to show, how to work with external Overlays. This sample can be easily copied to any other solution, like: CasparCG, Singular.live.

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 the 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:


You can now add the above Commands to:

  • Clips
  • Blocks
  • Actions
  • Other Overlays


For our Sample we want the external Overlay to show together with a specific Clip. We select this Clip in the Playlist and click the COMMANDS Icon, then add our 2 LiveBoard Commands from above. In this case with start the Overlay 5 seconds into the Clip and show it for 10 seconds in total:


Mixing Video Content and Overlays

If you dont use an external Mixer to mix the Overlays with Alpha Channel over your PLAYDECK playout, you can also use Internal Keying, where you feed the Overlay Signal into PLAYDECK, and have your Output Hardware mix both Layer. See this article on Internal Keying.

If you want to mix on a software level, you can use vMix on the same System as ClassX and PLAYDECK.

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.


Create some Overlays

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:

We now have a functioning Overlay Button for the Lower Third with dynamic Text Content. Not lets automate this Group with the Clip. Select the related Clip and click on the Overlays Icon, then add our Overlay Group to that Clip, starting 5 Seconds into the Clip and showing for 10 Seconds:


Automate Overlay with Blocks

Since there is no Overlay Icon with Blocks, you use a Command to start/stop the Overlay:


Schedule Overlay

You can show/hide Overlays indendent of Content by entering start time and duration. Right-click on the Overlay and click “Autostart” and later “Change Duration”:

ST 2110 Device Setup


Most 2110 Devices can be configured with the Tools given by their manufacturer. For example the “Blackmagic DeckLink IP/SDI HD” can be setup with the Blackmagic Desktop Video 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+).

The specific network configuration will not be covered in this article, as there is too much diversity.


AJA 2110 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


Deltacst 2110 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 DVB compatible Streams

This article will show how to properly setup a new DVB compatible Stream.


Setup of basic Stream Settings

At first, DVB Streams are created like any other Stream in PLAYDECK, by going into the Settings and entering the appropriate Stream Info. In this case we use a local UDP URL for Testing, a High Framerate of 60 FPS, a medium Video Bitrate of 6 MBit/s, the standardized MPEG-2 Video Codec, a High Quality Audio with AAC Codec and 96 KHz Sample Rate and 320 KBit/s Bitrate:

There are 2 types of DVB Streaming:

  • Regular DVB Streaming via UDP (udp://…)
  • SRT DVB Streaming via SRT (srt://…)


Additional DVB Settings

DVB Streams rarely work out-of-the-box like other Stream Formats (e.g. RTMP), because the need specific additional Settings, which we walk-thru now. You can also use this official DVB Spec PDF as Reference.


PCR

PCR stands for “Program Clock Reference”, which is send by our DVB encoder. It’s kinda a “heartbeat” for the DVB Stream. If your network connection between PLAYDECK and DVB receiver is not reliable and stable, you will easily get PCR errors on your receiver. The PING from PLAYDECK to DVB receiver should never be higher than 20ms, even in peak times (e.g. other traffic).


MUXRATE

You should always set the Muxrate with this Formula:

MUXRATE = (VIDEO BITRATE + AUDIO BITRATE) * 1.25

So in our Sample above with have (rounded): 8 Mbit/s. We set the MUXRATE to PLAYDECK via the OPTIONS field of our Video Codec:

As a result, the resulting Bitstream will be of the MUXRATE value and non-video and non-audio parts are filled with null-packets.


CLOSED CAPTIONS + SCTE-35

Both dont need to be activated specifically, as they are automatically enabled by PLAYDECK.


INFORMATION TAGS

There are several informative fields, which are unique to DVB:

  • service_name (any text value)
  • service_provider (any text value)
  • service_id (any number – default is 1)
  • service_type (possible values: digital_tv, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv – default is digital_tv)
  • transport_stream_id (any number – default is 1)
  • original_network_id (any number – default is 1)
  • pmt_start_pid (numbers between 16 to 7936 – default is 129)
  • start_pid (numbers between 256 to 3840 – default is 1024)
  • pes_payload_size (any number – default is 2930 bytes)
  • mpegts_flags (possible values: resend_headers, pat_pmt_at_frames, latm)
  • start_timecode (possible values: auto, disabled, local_time OR custom text like “10:00:00:00” – default is auto)
  • tables_version (any number – default is 0)

These values are also entered into the OPTIONS field of our Video Codec. You simply use a SPACE between options. Add as many options as you like/need:


Insert Input Streams into Playlist

This article will show how to insert Streams into your Playlist.


Insert Stream into PLAYDECK

You can directly Drag Drop any YouTube URL from your Browser to PLAYDECK:

To insert a new Stream into your Playlist, simply Drag Drop the STREAM Icon onto the Playlist. A new Popup will appear, where you can enter the Stream URL:

Your Stream will be scanned by PLAYDECK now. If the PLAYDECK could connect to your Stream successfully, the Text will be shown in WHITE. You can now play the Stream and/or can double-click the INFO icon to view more information about the Stream, like Video format and codec:

If the Stream can NOT be connected, it will appear in RED:

If you made a typo, you can quickly re-edit the URL by right-clicking and selecting CHANGE URL:


Insert YouTube

You can insert YouTube Links via Drag Drop or in the same manner as insert as Input Stream. See this article on more information about YouTube.


Insert Website

You can insert some Websites per Drag Drop directly into the Playlist or via the STREAM Icon. We use TWITCH in this example. Click SHOW HELP to get more info about what Websites can be used:


Move License to another PC

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


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 free the active License, so we can move it. Select the TRIAL Edition and click ACTIVATE, then confirm the restart query:

After restarting PLAYDECK, we can now move the free’d License back to your Online License Pool. Re-open the License Manager. Now login to your PLAYDECK ACCOUNT. Use the email adress 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:


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 immediatly and without prior notice. It is recommended to close PLAYDECK regulary 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.

Free Backup License

This article will show how to use the Free Backup License, which comes with every PLAYDECK License. The Backup License functions as follows:

  • Can be used with ANY PLAYDECK License (Dongle, Shop, Offline)
  • Can be used on ANY PLAYDECK-PC in the same network
  • Multiple Clients are supported
  • 24/7 operation is NOT supported (max 24h per session)


Setup

On your MAIN System (the one WITH the License), you dont have to do anything: The BACKUP LICENSE SYSTEM is enabled by default. It will use the WebSocket Port 11411, so make sure this Port is not blocked:

On the CLIENT System (the one WITHOUT the License), you perform a regular PLAYDECK installation, nothing special here: PLAYDECK will not start in TRIAL MODE with the watermark:

Now we need to tell CLIENT PLAYDECK, where to find the MAIN PLAYDECK, by providing the IP adress of MAIN. To receive the IP adress of your MAIN, you can simply open the ABOUT BOX in PLAYDECK (Main Menu > License > About):

On your CLIENT, go to Application Settings, enter the IP adress of MAIN PLAYDECK and click TEST IP NOW. The CLIENT now tests the Network connection and searches for a valid License on MAIN. If you dont see the following INFO POPUP, please check your MAIN License and your Network connection between MAIN and CLIENT:

You can now enable the feature by clicking BACKUP-SYSTEM. PLAYDECK will restart now with the exact same License of MAIN. You can verify, the CLIENT is using the Backup License correctly in several Displays:

Note: If the CLIENT has a valid License itself, the License of MAIN will NOT be used.


Rules of Backup-License

The Backup-License is not meant for 24/7 operation, but to provide a fail-safe for immediate operation, e.g. in a live production, and without the need to buy a secondary license, just to have a backup system for some use cases.

For unattended 24/7 operation, you would need to purchase a secondary license. Please contact use at [email protected], if your next License is for Backup only, and we will provide you with a appropriate discount.

The MAXIMUM RUNTIME of your BACKUP LICENSE will be:
– 2 hours, if the MAIN gets disconnected or closed
– 24 hours, if then MAIN stays online

PALYDECK will terminate the CLIENT without prior warning. So please make sure, to bring the MAIN back online within the 2 hour window, or to restart both MAIN and CLIENT within the 24 hour window.

You can control the remaining RUNTIME in the Settings of the CLIENT:

Creating a Diashow Single-Monitor

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


Creating the Show

Open the integrated File Explorer by clicking the right-arror 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 Diashow:


Playing the Diashow

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/unpause 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.


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 for the first Click (ACTION START).
<cue|1|1><cue|2|1><cue|3|1><cue|4|1>

This will cue the first Clip if Channel 1-4:

Add this Line for the second Click (ACTION END).
<pause|1><pause|2><pause|3><pause|4>

This will un-pause Channel 1-4 and send the CUE into PLAY:

Lets test our new Button: Add a Clip to Channel 1-4 then press the Action Button. Not wait, until all Channel turn GREEN, indicating the Clip has been CUE’d:

Then press the Action Button again to start playback of all 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 sparate 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:


Using Companion for Playout Control

This article will show how to use bitfocus Companion together with PLAYDECK. Companion has a ready-to-use module for PLAYDECK. This is the most comfortable way to connect PLAYDECK to your ATEM Mixer or STREAMDECK.


Installation

Enable TCP Commands in PLAYDECK to allow 3rd party apps to control PLAYDECK externally:

Download and install the latest Version of Companion. The PLAYDECK module is included in the installation:


https://bitfocus.io/companion

Note: The PLAYDECK Companion Module was developed by Semenov Nick. Visit his GitHub for the latest Module updates.

Start Companion, add a new connection and search for PLAYDECK to add the module:

Once connected, you can select typical PLAYDECK Actions to assign to Buttons, like CUE, PLAY, Start Overlay, and many more.


1 2 3 4