DeckLink Duo 2 config: device 1-2 vs 1

Hi,

Running Windows 10 with BMD 11.7. drives. and CasparCG 2.3.0 stable.
The problem I have is that upon start up the video device is initialised with parameter 1-2 that does not show any picuture:
[2021-01-12 08:57:43.837] [info] DeckLink Duo 2 [1-2|1080i5000] Initialized.

However if I apply command PLAY 1 DECKLINK 1 the following device is initilazed, where after the picture is shown:
[2021-01-12 08:57:50.174] [info] DeckLink Duo 2 [1|1080i5000] Initialized.

I have been testing both:

  • different BMD Desktop Video “Connectors” settings by grouping the SDI ports (1-2, 3-4) and having then as is (1,2,3,4)
  • and also playing around with adding several decklink devices under the channel config id’s and instances.

This is probably something very trivial, but out of ideas at the moment.

[2021-01-12 08:57:43.481] [info]    ############################################################################
[2021-01-12 08:57:43.482] [info]    CasparCG Server is distributed by the Swedish Broadcasting Corporation (SVT)
[2021-01-12 08:57:43.482] [info]    under the GNU General Public License GPLv3 or higher.
[2021-01-12 08:57:43.482] [info]    Please see LICENSE.TXT for details.
[2021-01-12 08:57:43.482] [info]    http://www.casparcg.com/
[2021-01-12 08:57:43.482] [info]    ############################################################################
[2021-01-12 08:57:43.482] [info]    Starting CasparCG Video and Graphics Playout Server 2.3.0 a4a7c053 Dev
[2021-01-12 08:57:43.726] [info]    Initializing OpenGL Device.
[2021-01-12 08:57:43.726] [info]    Initialized OpenGL 4.5.0 NVIDIA 451.77 NVIDIA Corporation
[2021-01-12 08:57:43.777] [info]    D3D11: Selected adapter: NVIDIA Quadro P4000
[2021-01-12 08:57:43.777] [info]    D3D11: Selected feature level: 45312
[2021-01-12 08:57:43.781] [info]    Initialized ffmpeg module.
[2021-01-12 08:57:43.781] [info]    Initialized oal module.
[2021-01-12 08:57:43.781] [info]    Initialized decklink module.
[2021-01-12 08:57:43.781] [info]    Initialized screen module.
[2021-01-12 08:57:43.781] [info]    Initialized newtek module.
[2021-01-12 08:57:43.803] [info]    Initialized html module.
[2021-01-12 08:57:43.803] [info]    Flash support is disabled
[2021-01-12 08:57:43.804] [info]    Initialized flash module.
[2021-01-12 08:57:43.804] [info]    Initialized bluefish module.
[2021-01-12 08:57:43.804] [info]    Initialized image module.
[2021-01-12 08:57:43.804] [info]    "C:/Users\casparcg\Desktop\casparcg-server-v2.3.0-lts-stable\casparcg.config":
[2021-01-12 08:57:43.804] [info]    -----------------------------------------
[2021-01-12 08:57:43.804] [info]    <?xml version="1.0" encoding="utf-8"?>
[2021-01-12 08:57:43.804] [info]    <configuration>
[2021-01-12 08:57:43.804] [info]       <html>
[2021-01-12 08:57:43.804] [info]          <enable-gpu>true</enable-gpu>
[2021-01-12 08:57:43.804] [info]       </html>
[2021-01-12 08:57:43.804] [info]       <paths>
[2021-01-12 08:57:43.804] [info]          <media-path>media/</media-path>
[2021-01-12 08:57:43.804] [info]          <log-path>log/</log-path>
[2021-01-12 08:57:43.804] [info]          <data-path>data/</data-path>
[2021-01-12 08:57:43.804] [info]          <template-path>template/</template-path>
[2021-01-12 08:57:43.804] [info]          <font-path>font/</font-path>
[2021-01-12 08:57:43.804] [info]       </paths>
[2021-01-12 08:57:43.804] [info]       <lock-clear-phrase>secret</lock-clear-phrase>
[2021-01-12 08:57:43.804] [info]       <channels>
[2021-01-12 08:57:43.804] [info]          <channel>
[2021-01-12 08:57:43.804] [info]             <video-mode>1080i5000</video-mode>
[2021-01-12 08:57:43.804] [info]             <consumers>
[2021-01-12 08:57:43.804] [info]                <decklink>
[2021-01-12 08:57:43.804] [info]                   <device>2</device>
[2021-01-12 08:57:43.804] [info]                   <embedded-audio>true</embedded-audio>
[2021-01-12 08:57:43.804] [info]                   <channel-layout>8ch</channel-layout>
[2021-01-12 08:57:43.804] [info]                   <latency>low</latency>
[2021-01-12 08:57:43.804] [info]                   <keyer>internal</keyer>
[2021-01-12 08:57:43.804] [info]                   <key-only>false</key-only>
[2021-01-12 08:57:43.804] [info]                   <buffer-depth>3</buffer-depth>
[2021-01-12 08:57:43.804] [info]                </decklink>
[2021-01-12 08:57:43.804] [info]                <system-audio>true</system-audio>
[2021-01-12 08:57:43.804] [info]                <screen>
[2021-01-12 08:57:43.804] [info]                   <device>2</device>
[2021-01-12 08:57:43.804] [info]                   <x>1440</x>
[2021-01-12 08:57:43.804] [info]                   <y>540</y>
[2021-01-12 08:57:43.804] [info]                   <width>480</width>
[2021-01-12 08:57:43.804] [info]                   <height>270</height>
[2021-01-12 08:57:43.804] [info]                   <aspect-ratio>16:9</aspect-ratio>
[2021-01-12 08:57:43.804] [info]                </screen>
[2021-01-12 08:57:43.804] [info]             </consumers>
[2021-01-12 08:57:43.804] [info]          </channel>
[2021-01-12 08:57:43.804] [info]       </channels>
[2021-01-12 08:57:43.804] [info]       <controllers>
[2021-01-12 08:57:43.804] [info]          <tcp>
[2021-01-12 08:57:43.804] [info]             <port>5250</port>
[2021-01-12 08:57:43.804] [info]             <protocol>AMCP</protocol>
[2021-01-12 08:57:43.804] [info]          </tcp>
[2021-01-12 08:57:43.804] [info]       </controllers>
[2021-01-12 08:57:43.804] [info]       <amcp>
[2021-01-12 08:57:43.804] [info]          <media-server>
[2021-01-12 08:57:43.804] [info]             <host>localhost</host>
[2021-01-12 08:57:43.804] [info]             <port>8000</port>
[2021-01-12 08:57:43.804] [info]          </media-server>
[2021-01-12 08:57:43.804] [info]       </amcp>
[2021-01-12 08:57:43.804] [info]       <log-level>info</log-level>
[2021-01-12 08:57:43.804] [info]    </configuration>
[2021-01-12 08:57:43.804] [info]    -----------------------------------------
[2021-01-12 08:57:43.809] [info]    Initialized OpenGL Accelerated GPU Image Mixer for channel 1
[2021-01-12 08:57:43.809] [info]    video_channel[1|1080i5000] Successfully Initialized.
[2021-01-12 08:57:43.832] [info]    DeckLink Duo 2 [1-2|1080i5000] Enabled embedded-audio.
[2021-01-12 08:57:43.832] [info]    DeckLink Duo 2 [1-2|1080i5000] Enabled low-latency mode.
[2021-01-12 08:57:43.832] [info]    DeckLink Duo 2 [1-2|1080i5000] Enabled internal keyer.
[2021-01-12 08:57:43.837] [info]    DeckLink Duo 2 [1-2|1080i5000] Initialized.           <<--- THIS....
[2021-01-12 08:57:43.927] [info]    DeckLink Duo 2 [1-2|1080i5000] Reference signal: not detected.
[2021-01-12 08:57:44.655] [info]    oal[1|1080i5000] Initialized.
[2021-01-12 08:57:44.657] [warning] Screen consumer [1|1080i5000] Could not find display settings for screen-index: 1
[2021-01-12 08:57:44.657] [info]    Screen consumer [1|1080i5000] Initialized.
[2021-01-12 08:57:44.657] [info]    Initialized channels.
[2021-01-12 08:57:44.660] [info]    Initialized controllers.
[2021-01-12 08:57:44.660] [info]    Initialized osc.
play 1 decklink 1.                                 <<--- manual command
[2021-01-12 08:57:50.154] [info]    Received message from Console: play 1 decklink 1\r\n
[2021-01-12 08:57:50.174] [info]    DeckLink Duo 2 [1|1080i5000] Initialized         <<--- ...VERSUS THIS 
#202 PLAY OK

These two messages don’t have much to do with each other and do not share the same display format. The first says, that on the first Decklink card the channel 2 is initialized. The second says, that you play the first input channel available to the system. Input channels are all channels that are not used in the config as outputs. Depending on the Decklink config (1&2, 3&4 vs. 1, 2, 3, 4) you have 1 or 3 inputs available, as you have used only channel 2 as output.

OK. Thanks. I played around with both BMD settings and the config file. Now I have better understanding of this.

However still unable to reach the goal I’m after: having the SDI1 be played upon casparcg startup and make it still play after issuing CLEAR 1 to remove all templates loaded. Please correct me if this is against the design.

Rephrasing the above: is the command “play 1 decklink 1” always required to have clean SDI be played? My goal here is to have SDI1 as PGM IN and any of the other SDI’s as output with graphics.

What do you want to do with the Decklink input? Do you only want to add graphics to the video? That is called internal keying and there is a discussion about doing this on a Decklink Duo 2 here. This gives you no latency to the incoming video. If you would want to manipulate the incoming video, like scaling it etc. then you would need the play command. That gives you about 7 frames of latency.

Thanks, the “Decklink Duo 2 - Internal Keyer” thread you mentioned was the solution I was looking for.
Really appreciate the help!

Finally two more questions:

  • Is it possible to have the screen consumer display the internally keyed picture? In other words have that display the same picture I now get from SDI2? This would be handy sometimes when no access to SDI monitor.
  • Have a second internally keyed SDI out? Now I was able to only get graphics out from the other SDI connector.

You can add a screen consumer config block underneath the Decklink block inside the same channel, but it will only display the graphics, not the SDI input, as the signal never reaches Caspar, because the card handles it.

Use the other two BNC connectors in a similar configuration and you can play to either one.

You can play the decklink input in a second channel and route the first channel on top for reference.
It works, but with the input latency added.

Understood. The hardware reasoning makes sense here.

Good idea. I’ll give this a try.

All questions have been answered. Much appreciated!

I’ve now played around with this for a few days.

As explained by @didikunz with the current configuration (device 1 = connector 1 + 2) the video does not reach CasparCG. This of course, based on current findings, means that the mixer is unable to process that internally keyed video for transformations (MIXER CROP, MIXER VOLUME,…).

Things that I had previously working are now “broken” based on the way the Caspar is now handling the producer.

What would be the correct workflow/configuration to load the producer in order to apply transformations and still have the output to default to the decklink producer (“SDI IN”) upon server startup and if CLEAR 1 command is issued? Or does this mean I have to return to the previous configuration where the PLAY 1 DECKLINK 1 command was required to have the clean video passed to the consumer (“SDI out”).

If I now load the decklink producer for mixer transformations the result is a distorted out. This is probably contrary to all guidelines?

tl;dr: How to apply mixer transformations if video is internally keyed?

That is not possible, as I explained further up. To be able to manipulate the Decklink input it needs to be played on a layer. That adds about 7 frames of delay to the output. So if you need audio, you need to play the audio also trough the card.

You have the option to do both internal keying and using the input as a producer. The latency is the only issue to keep in mind.
If you want to make a squeeze, just load the producer and black out the “background” with a solid or loop and mute the audio. The incoming video will have a delay though. When you are done, clear the channel and the sdi passthrough will continue to work.

1 Like

May I ask for ACMP examples on this?