Losing dark background transparent (rgb alpha) with key and fill dsk

Hello everyone ! It’s me again !! :smiley:

I’m experiencing a new, rather technical problem. I thought I’d solved it, but I haven’t… I spent hours trying to find a solution to my problem. I managed to fix it last night, but when I turned it back on this morning, I’m having the same problem again.

To explain, I created my template in HTML/CSS and JS. Here’s what it looks like when I launch index.html from Chrome.

It works perfectly and respects all the requested colors, as well as the background. You’ll notice that the background is

background: rgba(0, 0, 0, 0.50);

I import it into my template after finishing it and checking that the “PLAY()” and “STOP()” animations work well.

When I send it to my channel 2 (see my server configuration file) it displays well on my program but the entire template is transparent. So much so that my background disappears completely:

My config:

  • ATEM Television Studio Pro HD
  • Decklink Duo 2
  • CasparCG Server v2.4.3 Stable
  • Ubuntu environnement

This is my server configuration file:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <paths>
    <media-path>/home/casparcg/Documents/media/</media-path>
    <log-path>/home/casparcg/Documents/log/</log-path>
    <data-path>/home/casparcg/Documents/data/</data-path>
    <template-path>/home/casparcg/Documents/template/</template-path>
  </paths>

   <channels>
      <channel>
        <video-mode>1080p5994</video-mode>
          <consumers>
            <decklink>
              <device>1</device>
                <embedded-audio>true</embedded-audio>
                <latency>low</latency>
                <keyer>internal</keyer>
                <key-only>false</key-only>
                <buffer-depth>3</buffer-depth>
            </decklink>
          </consumers>
      </channel>

      <channel>
        <video-mode>1080p5994</video-mode>
        <straight-alpha-output>false</straight-alpha-output>
          <consumers>
            <decklink>
              <device>2</device>
                <latency>low</latency>
                <keyer>external</keyer>
                <key-only>false</key-only>
                <buffer-depth>3</buffer-depth>
            </decklink>
          </consumers>
      </channel>
  </channels>

  <controllers>
    <tcp>
      <port>5250</port>
      <protocol>AMCP</protocol>
    </tcp>
  </controllers>

  <osc>
    <predefined-clients>
      <predefined-client>
        <address>127.0.0.1</address>
        <port>6251</port>
      </predefined-client>
    </predefined-clients>
  </osc>
</configuration>

I have correctly connected my fill to my fill source and my key to my key source in my ATEM Software Control:

And my ATEM Setup for Duo 2:

All of my sources and production video running in 1080p59.94.

Yesterday I managed to get it working but I don’t know how, after 3 hours of searching. And today, when I turned it back on, I had the same problem but I can’t get it back to how it was yesterday.


Thank you very much for helping me try to find the problem on the CasparCG side !
PS: if needed I can provide the HTML / CSS / JS files

I think something in the setup of the ATEM is done wrong. Can you map the two sources “GFX” and “KEY GFX” on two windows of the multi-viewer and post a photo how that looks, when you play the graphic?

Theres some things that are different from the config-file I have been using
01_conf_2graphicsduo_SDI_NDI_i50.config

<?xml version="1.0" encoding="utf-8"?>

<!--
CASPARCG Configuration:
Channel 1: CLips (FILL)
Channel 2: Graphics (KEY&FILL)
Device 1: Input

Decklink configuration:
BNC1 - IN device 1
BNC2 - OUT Channel 2 FILL (clips)
BNC3 - OUT Channel 1 FILL (graphics)
BNC4 - OUT Channel 1 KEY (graphics)

Desktop Video Setup Program:
Decklink Duo (1) - Connectors "SDI 1"
Decklink Duo (2) - Connectors "SDI 3 & SDI 4"
Decklink Duo (3) - Connectors "SDI 2"
Decklink Duo (4) - Connectors "None"

-->
<configuration>
   	 <paths>
        		<media-path>d:\ASSETS\media/</media-path>
        		<log-path>log/</log-path>
        		<data-path>data/</data-path>
        		<template-path>d:\ASSETS\templates/</template-path>
    	</paths>
    
<lock-clear-phrase>secret</lock-clear-phrase>
<channels>
  	<channel>
		<video-mode>1080i5000</video-mode>
		<straight-alpha-output>false</straight-alpha-output>
		<consumers>
			<ndi>
                	<name>CasparCG 1</name>
                	<allow-fields>false [true|false]</allow-fields>
            		</ndi>
			<decklink>
				<device>2</device>
				<embedded-audio>true</embedded-audio>
				<channel-layout>stereo</channel-layout>
				<latency>normal</latency>
				<keyer>external</keyer>
				<key-only>false</key-only>
				<buffer-depth>3</buffer-depth>
				<custom-allocator>true</custom-allocator>
			</decklink>  
		</consumers>
	</channel>
	<channel>
		<video-mode>1080i5000</video-mode>
		<straight-alpha-output>false</straight-alpha-output>
		<consumers>
 		 	<ndi>
                		<name>CasparCG 2</name>
                		<allow-fields>false</allow-fields>
            		</ndi>
			<decklink>
				<device>3</device>
				<embedded-audio>true</embedded-audio>
				<channel-layout>stereo</channel-layout>
				<latency>normal</latency>
				<keyer>default</keyer>
				<key-only>false</key-only>
				<buffer-depth>3</buffer-depth>
				<custom-allocator>true</custom-allocator>
			</decklink>
		</consumers>
	</channel>
</channels>
 
<controllers>
	<tcp>
      		<port>5250</port>
      		<protocol>AMCP</protocol>
    		</tcp>
</controllers>
<amcp>
	<media-server>
      		<host>localhost</host>
      		<port>8000</port>
    	</media-server>
</amcp>
<flash>
    	<buffer-depth>auto</buffer-depth>
    	<enabled>true</enabled>
</flash>
<html>
    	<remote-debugging-port>0</remote-debugging-port>
    	<enable-gpu>false</enable-gpu>
</html>
<ffmpeg>
    	<producer>
      		<auto-deinterlace>interlaced</auto-deinterlace>
      		<threads>4</threads>
    	</producer>
</ffmpeg>
<ndi>
    <auto-load>true</auto-load>
</ndi>
<osc>
  <default-port>6250</default-port>
  <disable-send-to-amcp-clients>false [true|false]</disable-send-to-amcp-clients>
  <predefined-clients>
    <predefined-client>
      <address>127.0.0.1</address>
      <port>5253</port>
    </predefined-client>
  </predefined-clients>
</osc>
</configuration>

So if you want to have the graphics from SDI-1&2 (BNC1&3) then I dont think you should have the keyer as internal since you are using a external mixer (ATEM) to do the keying. Then if you have in Desktop Videosetup Duo(2) as “SDI 3 & SDI 4” then channel 2 should work if you connect BNC2&4 to the ATEM. But test with my config and have the connections like it is said in the begining of the config-file. Hope it helps.

Yes i will do it, check it, and send you a screen

I think I found the problem… Another configuration issue…

This is my current CasparCG config file:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <paths>
    <media-path>/home/casparcg/Documents/media/</media-path>
    <log-path>/home/casparcg/Documents/log/</log-path>
    <data-path>/home/casparcg/Documents/data/</data-path>
    <template-path>/home/casparcg/Documents/template/</template-path>
  </paths>

   <channels>
      <channel>
        <video-mode>1080p5994</video-mode>
          <consumers>
            <decklink>
              <device>1</device>
                <embedded-audio>true</embedded-audio>
                <latency>low</latency>
                <keyer>internal</keyer>
                <key-only>false</key-only>
                <buffer-depth>3</buffer-depth>
            </decklink>
          </consumers>
      </channel>

      <channel>
        <video-mode>1080p5994</video-mode>
        <straight-alpha-output>false</straight-alpha-output>
          <consumers>
            <decklink>
              <device>2</device>
                <latency>low</latency>
                <keyer>external</keyer>
                <key-only>false</key-only>
                <buffer-depth>3</buffer-depth>
            </decklink>
          </consumers>
      </channel>
  </channels>

  <controllers>
    <tcp>
      <port>5250</port>
      <protocol>AMCP</protocol>
    </tcp>
  </controllers>

  <osc>
    <predefined-clients>
      <predefined-client>
        <address>127.0.0.1</address>
        <port>6251</port>
      </predefined-client>
    </predefined-clients>
  </osc>
</configuration>

As reminder, my DUO 2 config:

As you can see, I set my key and fill on device 2 in my CasparCG configuration file. Except that it must be using the 3 + 4 SDI output pair (BNC 2 + 4).

On my ATEM, I output my fill on BNC 1 and the key on BNC 3.

Noting this on device 2, I realized that it was sending it to pair 2 / 4. Except that I hadn’t linked this pair in my DUO 2 settings. But I had linked 1 / 3.

So in my configuration file, I simply reversed the configuration from device 2 to device 1 and put device 1 in place of device 2, and it was interpreted without any problem. Then, all that’s left is to send the key and the fill back to the correct inputs of the ATEM to make them enter the key upstream (DSK)

So the correct configuration would be this one

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <paths>
    <media-path>/home/casparcg/Documents/media/</media-path>
    <log-path>/home/casparcg/Documents/log/</log-path>
    <data-path>/home/casparcg/Documents/data/</data-path>
    <template-path>/home/casparcg/Documents/template/</template-path>
  </paths>

   <channels>
      <channel>
        <video-mode>1080p5994</video-mode>
        <straight-alpha-output>false</straight-alpha-output>
          <consumers>
            <decklink>
              <device>1</device>
                <latency>low</latency>
                <keyer>external</keyer>
                <key-only>false</key-only>
                <buffer-depth>3</buffer-depth>
            </decklink>
          </consumers>
      </channel>

      <channel>
        <video-mode>1080p5994</video-mode>
          <consumers>
            <decklink>
              <device>2</device>
                <embedded-audio>true</embedded-audio>
                <latency>low</latency>
                <keyer>internal</keyer>
                <key-only>false</key-only>
                <buffer-depth>3</buffer-depth>
            </decklink>
          </consumers>
      </channel>
  </channels>

  <controllers>
    <tcp>
      <port>5250</port>
      <protocol>AMCP</protocol>
    </tcp>
  </controllers>

  <osc>
    <predefined-clients>
      <predefined-client>
        <address>127.0.0.1</address>
        <port>6251</port>
      </predefined-client>
    </predefined-clients>
  </osc>
</configuration>

Decklink Duo can be a pain to remember how it is configured.
Glad you got it solved.

Yeah… it took me several hours of research but in the end it was so simple to fix…

That’s why I told you to actually look at the outputs. It’s always a mess what comes out where. The fastest way is always to look at what you get.

Yeah you are right ! I immediately saw that there was a problem with the key. Thank you for your help again @didikunz