Create L-Band Ads via second Channel

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


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.


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


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.


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.


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.


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.


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.

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 OC

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 deactivate the current License: 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:


1 2 3 4