Two Decklink Duo 2 having issues with Caspar

Hi

Im having issues with my two Decklink Duo 2 outputcards in combination with CasparCG.

The problem is that sometimes my two card setup doesn’t start up with the correct configuration:

I use card 1 for 4 x SDI out.
I use card 2 for 2 x key/fills

I have tested it - and it runs smooth. Sometimes. When I restart the computer though, it sometimes shuffles the config.

This is how it sometimes starts up - incorrectly! After a couple of restarts it goes back to normal. Normally it uses all the inputs for normal SDI outputs on Card 1.

Of course it makes a lot of errors in CasperCG, but I can’t figure out, if the Decklink Drivers are the reason for the faulty configuration, or CasperCG is the bully.

I have downgraded to the 14.2.1 Decklink drivers cause of the latest CasperCG issues with black signal.

I use CasperCG 2.4.1.

Can anyone give me a lead on where to start looking for error?

My CasparCG config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <log-level>debug</log-level>
  <paths>
    <media-path>media/</media-path>
    <log-path>log/</log-path>
    <data-path>data/</data-path>
    <font-path>font/</font-path>
    <template-path>C:\casparcg\template</template-path>
  </paths>
  <lock-clear-phrase>secret</lock-clear-phrase>
  <channels>
    <channel>
      <video-mode>1080p5000</video-mode>
      <consumers>
        <decklink>
          <device>1</device>
          <key-device>0</key-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>1080p5000</video-mode>
      <consumers>
        <decklink>
          <device>2</device>
          <key-device>0</key-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>1080p5000</video-mode>
      <consumers>
        <decklink>
          <device>3</device>
          <key-device>0</key-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>1080p5000</video-mode>
      <consumers>
        <decklink>
          <device>4</device>
          <key-device>0</key-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>1080p5000</video-mode>
      <consumers>
        <decklink>
          <device>5</device>
          <key-device>0</key-device>
          <embedded-audio>false</embedded-audio>
          <latency>normal</latency>
          <keyer>external</keyer>
          <key-only>false</key-only>
          <buffer-depth>5</buffer-depth>
        </decklink>
      </consumers>
    </channel>
    <channel>
      <video-mode>1080p5000</video-mode>
      <consumers>
        <decklink>
          <device>6</device>
          <key-device>0</key-device>
          <embedded-audio>false</embedded-audio>
          <latency>normal</latency>
          <keyer>external</keyer>
          <key-only>false</key-only>
          <buffer-depth>5</buffer-depth>
        </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>false</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>false</auto-load>
  </ndi>
  <osc>
    <default-port>6250</default-port>
    <disable-send-to-amcp-clients>false</disable-send-to-amcp-clients>
    <predefined-clients />
  </osc>
</configuration>

The errors I got from CasperCG:

Type "q" to close application.
Logging [debug] or higher severity to log/

[2024-12-16 13:24:59.114] [info]    ############################################################################
[2024-12-16 13:24:59.115] [info]    CasparCG Server is distributed by the Swedish Broadcasting Corporation (SVT)
[2024-12-16 13:24:59.115] [info]    under the GNU General Public License GPLv3 or higher.
[2024-12-16 13:24:59.115] [info]    Please see LICENSE.TXT for details.
[2024-12-16 13:24:59.115] [info]    http://www.casparcg.com/
[2024-12-16 13:24:59.115] [info]    ############################################################################
[2024-12-16 13:24:59.115] [info]    Starting CasparCG Video and Graphics Playout Server 2.4.1 5e29af9 Stable
[2024-12-16 13:24:59.115] [info]    "C:/casparcg\casparcg.config":
[2024-12-16 13:24:59.115] [info]    -----------------------------------------
[2024-12-16 13:24:59.115] [info]    <?xml version="1.0" encoding="utf-8"?>
[2024-12-16 13:24:59.115] [info]    <configuration>
[2024-12-16 13:24:59.115] [info]       <log-level>debug</log-level>
[2024-12-16 13:24:59.115] [info]       <paths>
[2024-12-16 13:24:59.115] [info]          <media-path>media/</media-path>
[2024-12-16 13:24:59.115] [info]          <log-path>log/</log-path>
[2024-12-16 13:24:59.115] [info]          <data-path>data/</data-path>
[2024-12-16 13:24:59.115] [info]          <font-path>font/</font-path>
[2024-12-16 13:24:59.115] [info]          <template-path>C:\casparcg\template</template-path>
[2024-12-16 13:24:59.115] [info]       </paths>
[2024-12-16 13:24:59.115] [info]       <lock-clear-phrase>secret</lock-clear-phrase>
[2024-12-16 13:24:59.115] [info]       <channels>
[2024-12-16 13:24:59.115] [info]          <channel>
[2024-12-16 13:24:59.115] [info]             <video-mode>1080p5000</video-mode>
[2024-12-16 13:24:59.115] [info]             <consumers>
[2024-12-16 13:24:59.115] [info]                <decklink>
[2024-12-16 13:24:59.115] [info]                   <device>1</device>
[2024-12-16 13:24:59.115] [info]                   <key-device>0</key-device>
[2024-12-16 13:24:59.115] [info]                   <embedded-audio>true</embedded-audio>
[2024-12-16 13:24:59.115] [info]                   <latency>low</latency>
[2024-12-16 13:24:59.115] [info]                   <keyer>internal</keyer>
[2024-12-16 13:24:59.115] [info]                   <key-only>false</key-only>
[2024-12-16 13:24:59.115] [info]                   <buffer-depth>3</buffer-depth>
[2024-12-16 13:24:59.115] [info]                </decklink>
[2024-12-16 13:24:59.115] [info]             </consumers>
[2024-12-16 13:24:59.115] [info]          </channel>
[2024-12-16 13:24:59.115] [info]          <channel>
[2024-12-16 13:24:59.115] [info]             <video-mode>1080p5000</video-mode>
[2024-12-16 13:24:59.115] [info]             <consumers>
[2024-12-16 13:24:59.115] [info]                <decklink>
[2024-12-16 13:24:59.115] [info]                   <device>2</device>
[2024-12-16 13:24:59.115] [info]                   <key-device>0</key-device>
[2024-12-16 13:24:59.115] [info]                   <embedded-audio>true</embedded-audio>
[2024-12-16 13:24:59.115] [info]                   <latency>low</latency>
[2024-12-16 13:24:59.115] [info]                   <keyer>internal</keyer>
[2024-12-16 13:24:59.115] [info]                   <key-only>false</key-only>
[2024-12-16 13:24:59.115] [info]                   <buffer-depth>3</buffer-depth>
[2024-12-16 13:24:59.115] [info]                </decklink>
[2024-12-16 13:24:59.115] [info]             </consumers>
[2024-12-16 13:24:59.115] [info]          </channel>
[2024-12-16 13:24:59.115] [info]          <channel>
[2024-12-16 13:24:59.115] [info]             <video-mode>1080p5000</video-mode>
[2024-12-16 13:24:59.115] [info]             <consumers>
[2024-12-16 13:24:59.115] [info]                <decklink>
[2024-12-16 13:24:59.115] [info]                   <device>3</device>
[2024-12-16 13:24:59.115] [info]                   <key-device>0</key-device>
[2024-12-16 13:24:59.115] [info]                   <[1216/132459.228:WARNING:policy_logger.cc(148)] :components\enterprise\browser\controller\chrome_browser_cloud_management_controller.cc(88) Could not create policy manager as CBCM is not enabled.
embedded-audio>true</embedded-audio>
[2024-12-16 13:24:59.115] [info]                   <latency>low</latency>
[2024-12-16 13:24:59.115] [info]                   <keyer>internal</keyer>
[2024-12-16 13:24:59.115] [info]                   <key-only>false</key-only>
[2024-12-16 13:24:59.115] [info]                   <buffer-depth>3</buffer-depth>
[2024-12-16 13:24:59.115] [info]                </decklink>
[2024-12-16 13:24:59.115] [info]             </consumers>
[2024-12-16 13:24:59.115] [info]          </channel>
[2024-12-16 13:24:59.115] [info]          <channel>
[2024-12-16 13:24:59.115] [info]             <video-mode>1080p5000</video-mode>
[2024-12-16 13:24:59.115] [info]             <consumers>
[2024-12-16 13:24:59.115] [info]                <decklink>
[2024-12-16 13:24:59.115] [info]                   <device>4</device>
[2024-12-16 13:24:59.115] [info]                   <key-device>0</key-device>
[2024-12-16 13:24:59.115] [info]                   <embedded-audio>true</embedded-audio>
[2024-12-16 13:24:59.115] [info]                   <latency>low</latency>
[2024-12-16 13:24:59.115] [info]                   <keyer>internal</keyer>
[2024-12-16 13:24:59.115] [info]                   <key-only>false</key-only>
[2024-12-16 13:24:59.115] [info]                   <buffer-depth>3</buffer-depth>
[2024-12-16 13:24:59.115] [info]                </decklink>
[2024-12-16 13:24:59.115] [info]             </consumers>
[2024-12-16 13:24:59.115] [info]          </channel>
[2024-12-16 13:24:59.115] [info]          <channel>
[2024-12-16 13:24:59.115] [info]             <video-mode>1080p5000</video-mode>
[2024-12-16 13:24:59.115] [info]             <consumers>
[2024-12-16 13:24:59.115] [info]                <decklink>
[2024-12-16 13:24:59.115] [info]                   <device>5</device>
[2024-12-16 13:24:59.115] [info]                   <key-device>0</key-device>
[2024-12-16 13:24:59.115] [info]                   <embedded-audio>false</embedded-audio>
[2024-12-16 13:24:59.115] [info]                   <latency>normal</latency>
[2024-12-16 13:24:59.115] [info]                   <keyer>external</keyer>
[2024-12-16 13:24:59.115] [info]                   <key-only>false</key-only>
[2024-12-16 13:24:59.115] [info]                   <buffer-depth>5</buffer-depth>
[2024-12-16 13:24:59.115] [info]                </decklink>
[2024-12-16 13:24:59.115] [info]             </consumers>
[2024-12-16 13:24:59.115] [info]          </channel>
[2024-12-16 13:24:59.115] [info]          <channel>
[2024-12-16 13:24:59.115] [info]             <video-mode>1080p5000</video-mode>
[2024-12-16 13:24:59.115] [info]             <consumers>
[2024-12-16 13:24:59.115] [info]                <decklink>
[2024-12-16 13:24:59.115] [info]                   <device>6</device>
[2024-12-16 13:24:59.115] [info]                   <key-device>0</key-device>
[2024-12-16 13:24:59.115] [info]                   <embedded-audio>false</embedded-audio>
[2024-12-16 13:24:59.115] [info]                   <latency>normal</latency>
[2024-12-16 13:24:59.115] [info]                   <keyer>external</keyer>
[2024-12-16 13:24:59.115] [info]                   <key-only>false</key-only>
[2024-12-16 13:24:59.115] [info]                   <buffer-depth>5</buffer-depth>
[2024-12-16 13:24:59.115] [info]                </decklink>
[2024-12-16 13:24:59.115] [info]             </consumers>
[2024-12-16 13:24:59.115] [info]          </channel>
[2024-12-16 13:24:59.115] [info]       </channels>
[2024-12-16 13:24:59.115] [info]       <controllers>
[2024-12-16 13:24:59.115] [info]          <tcp>
[2024-12-16 13:24:59.115] [info]             <port>5250</port>
[2024-12-16 13:24:59.115] [info]             <protocol>AMCP</protocol>
[2024-12-16 13:24:59.115] [info]          </tcp>
[2024-12-16 13:24:59.115] [info]       </controllers>
[2024-12-16 13:24:59.115] [info]       <amcp>
[2024-12-16 13:24:59.115] [info]          <media-server>
[2024-12-16 13:24:59.115] [info]             <host>localhost</host>
[2024-12-16 13:24:59.115] [info]             <port>8000</port>
[2024-12-16 13:24:59.115] [info]          </media-server>
[2024-12-16 13:24:59.115] [info]       </amcp>
[2024-12-16 13:24:59.115] [info]       <flash>
[2024-12-16 13:24:59.115] [info]          <buffer-depth>auto</buffer-depth>
[2024-12-16 13:24:59.115] [info]          <enabled>false</enabled>
[2024-12-16 13:24:59.115] [info]       </flash>
[2024-12-16 13:24:59.115] [info]       <html>
[2024-12-16 13:24:59.115] [info]          <remote-debugging-port>0</remote-debugging-port>
[2024-12-16 13:24:59.115] [info]          <enable-gpu>false</enable-gpu>
[2024-12-16 13:24:59.115] [info]       </html>
[2024-12-16 13:24:59.115] [info]       <ffmpeg>
[2024-12-16 13:24:59.115] [info]          <producer>
[2024-12-16 13:24:59.115] [info]             <auto-deinterlace>interlaced</auto-deinterlace>
[2024-12-16 13:24:59.115] [info]             <threads>4</threads>
[2024-12-16 13:24:59.115] [info]          </producer>
[2024-12-16 13:24:59.115] [info]       </ffmpeg>
[2024-12-16 13:24:59.115] [info]       <ndi>
[2024-12-16 13:24:59.115] [info]          <auto-load>false</auto-load>
[2024-12-16 13:24:59.115] [info]       </ndi>
[2024-12-16 13:24:59.115] [info]       <osc>
[2024-12-16 13:24:59.115] [info]          <default-port>6250</default-port>
[2024-12-16 13:24:59.115] [info]          <disable-send-to-amcp-clients>false</disable-send-to-amcp-clients>
[2024-12-16 13:24:59.115] [info]          <predefined-clients/>
[2024-12-16 13:24:59.115] [info]       </osc>
[2024-12-16 13:24:59.115] [info]    </configuration>
[2024-12-16 13:24:59.115] [info]    -----------------------------------------
[2024-12-16 13:24:59.115] [info]    Initialized video modes.
[2024-12-16 13:24:59.198] [info]    Initializing OpenGL Device.
[2024-12-16 13:24:59.199] [info]    Initialized OpenGL 4.5.0 NVIDIA 565.90 NVIDIA Corporation
[2024-12-16 13:24:59.214] [info]    Initialized OpenGL Accelerated GPU Image Mixer for channel 1
[2024-12-16 13:24:59.214] [info]    video_channel[1|1080p5000] Successfully Initialized.
[2024-12-16 13:24:59.214] [info]    Initialized OpenGL Accelerated GPU Image Mixer for channel 2
[2024-12-16 13:24:59.214] [info]    video_channel[2|1080p5000] Successfully Initialized.
[2024-12-16 13:24:59.214] [info]    Initialized OpenGL Accelerated GPU Image Mixer for channel 3
[2024-12-16 13:24:59.214] [info]    video_channel[3|1080p5000] Successfully Initialized.
[2024-12-16 13:24:59.214] [info]    Initialized OpenGL Accelerated GPU Image Mixer for channel 4
[2024-12-16 13:24:59.214] [info]    video_channel[4|1080p5000] Successfully Initialized.
[2024-12-16 13:24:59.214] [info]    Initialized OpenGL Accelerated GPU Image Mixer for channel 5
[2024-12-16 13:24:59.214] [info]    video_channel[5|1080p5000] Successfully Initialized.
[2024-12-16 13:24:59.214] [info]    Initialized OpenGL Accelerated GPU Image Mixer for channel 6
[2024-12-16 13:24:59.214] [info]    video_channel[6|1080p5000] Successfully Initialized.
[2024-12-16 13:24:59.214] [info]    Initialized channels.
[2024-12-16 13:24:59.214] [info]    Initialized command repository.
[2024-12-16 13:24:59.214] [info]    Initialized image module.
[2024-12-16 13:24:59.214] [info]    Initialized ffmpeg module.
[2024-12-16 13:24:59.214] [info]    Initialized oal module.
[2024-12-16 13:24:59.214] [info]    Initialized decklink module.
[2024-12-16 13:24:59.214] [info]    Initialized screen module.
[2024-12-16 13:24:59.214] [info]    Initialized newtek module.
[2024-12-16 13:24:59.214] [info]    Initialized artnet module.
[2024-12-16 13:24:59.237] [info]    Initialized html module.
[2024-12-16 13:24:59.237] [info]    Flash support is disabled
[2024-12-16 13:24:59.237] [info]    Initialized flash module.
[2024-12-16 13:24:59.237] [info]    Initialized bluefish module.
[2024-12-16 13:24:59.238] [info]    Initialized modules.
[2024-12-16 13:24:59.241] [info]    Device may not support video-format: 1080p50
[2024-12-16 13:24:59.242] [info]    DeckLink Duo 2 [1-1|1080p5000] Enabled embedded-audio.
[2024-12-16 13:24:59.242] [info]    DeckLink Duo 2 [1-1|1080p5000] Enabled low-latency mode.
[2024-12-16 13:24:59.242] [info]    DeckLink Duo 2 [1-1|1080p5000] Enabled internal keyer.
[2024-12-16 13:24:59.242] [error]   DeckLink Duo 2 [1-1|1080p5000] Failed to schedule primary video.
[2024-12-16 13:24:59.243] [error]   DeckLink Duo 2 [1-1|1080p5000] Failed to schedule primary video.
[2024-12-16 13:24:59.243] [error]   DeckLink Duo 2 [1-1|1080p5000] Failed to schedule primary video.
[2024-12-16 13:24:59.244] [error]   DeckLink Duo 2 [1-1|1080p5000] Failed to schedule primary video.
[2024-12-16 13:24:59.244] [info]    DeckLink Duo 2 [1-1|1080p5000] Initialized.
[2024-12-16 13:24:59.248] [info]    Device may not support video-format: 1080p50
[2024-12-16 13:24:59.248] [info]    DeckLink Duo 2 [2-2|1080p5000] Enabled embedded-audio.
[2024-12-16 13:24:59.248] [info]    DeckLink Duo 2 [2-2|1080p5000] Enabled low-latency mode.
[2024-12-16 13:24:59.248] [info]    DeckLink Duo 2 [2-2|1080p5000] Enabled internal keyer.
[2024-12-16 13:24:59.249] [error]   DeckLink Duo 2 [2-2|1080p5000] Failed to schedule primary video.
[2024-12-16 13:24:59.249] [error]   DeckLink Duo 2 [2-2|1080p5000] Failed to schedule primary video.
[2024-12-16 13:24:59.249] [error]   DeckLink Duo 2 [2-2|1080p5000] Failed to schedule primary video.
[2024-12-16 13:24:59.250] [error]   DeckLink Duo 2 [2-2|1080p5000] Failed to schedule primary video.
[2024-12-16 13:24:59.250] [info]    DeckLink Duo 2 [2-2|1080p5000] Initialized.
[2024-12-16 13:24:59.255] [info]    Device may not support video-format: 1080p50
[2024-12-16 13:24:59.256] [debug]   [decklink_consumer] Destroying on asynchronous destruction thread.
[2024-12-16 13:24:59.256] [debug]   [decklink_consumer] Uninitializing.
[2024-12-16 13:24:59.256] [info]    [decklink_consumer] Uninitialized.
[2024-12-16 13:24:59.256] [error]   Exception: D:\a\server\server\src\modules\decklink\consumer\decklink_consumer.cpp(616): Throw in function void __cdecl caspar::decklink::decklink_consumer::enable_video(void)
[2024-12-16 13:24:59.256] [error]   Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::caspar_exception>
[2024-12-16 13:24:59.256] [error]   [struct caspar::tag_msg_info * __ptr64] = DeckLink Duo 2 [3-3|1080p5000] Could not enable primary video output.
[2024-12-16 13:24:59.256] [error]   [struct caspar::tag_stacktrace_info * __ptr64] =  0# 0x00007FF7B6AE2C17 in casparcg
[2024-12-16 13:24:59.256] [error]    1# 0x00007FF7B6B0DAB6 in casparcg
[2024-12-16 13:24:59.256] [error]    2# 0x00007FF7B6C6D76F in casparcg
[2024-12-16 13:24:59.256] [error]    3# 0x00007FF7B6C698C0 in casparcg
[2024-12-16 13:24:59.256] [error]    4# 0x00007FF7B6C6B39A in casparcg
[2024-12-16 13:24:59.256] [error]    5# 0x00007FF7B6B3573F in casparcg
[2024-12-16 13:24:59.256] [error]    6# 0x00007FF7B6B77E9E in casparcg
[2024-12-16 13:24:59.256] [error]    7# 0x00007FF7B6B72156 in casparcg
[2024-12-16 13:24:59.256] [error]    8# recalloc in ucrtbase
[2024-12-16 13:24:59.256] [error]    9# BaseThreadInitThunk in KERNEL32
[2024-12-16 13:24:59.256] [error]   10# RtlUserThreadStart in ntdll
[2024-12-16 13:24:59.256] [error]
[2024-12-16 13:24:59.256] [error]
[2024-12-16 13:24:59.256] [error]    0# 0x00007FF7B6AE2C17 in casparcg
[2024-12-16 13:24:59.256] [error]    1# 0x00007FF7B6AE26A5 in casparcg
[2024-12-16 13:24:59.256] [error]    2# 0x00007FF7B6D9CEA9 in casparcg
[2024-12-16 13:24:59.256] [error]    3# 0x00007FFF47B21080 in VCRUNTIME140_1
[2024-12-16 13:24:59.256] [error]    4# _NLG_Return2 in VCRUNTIME140_1
[2024-12-16 13:24:59.256] [error]    5# RtlCaptureContext2 in ntdll
[2024-12-16 13:24:59.256] [error]    6# 0x00007FF7B6B097C8 in casparcg
[2024-12-16 13:24:59.256] [error]    7# 0x00007FF7B6B0E039 in casparcg
[2024-12-16 13:24:59.256] [error]    8# 0x00007FF7B6AE4952 in casparcg
[2024-12-16 13:24:59.256] [error]    9# 0x00007FF7B6AE7E62 in casparcg
[2024-12-16 13:24:59.256] [error]   10# 0x00007FF7B6D59814 in casparcg
[2024-12-16 13:24:59.256] [error]   11# BaseThreadInitThunk in KERNEL32
[2024-12-16 13:24:59.256] [error]   12# RtlUserThreadStart in ntdll
[2024-12-16 13:24:59.256] [error]
[2024-12-16 13:24:59.533] [info]    Device may not support video-format: 1080p50
[2024-12-16 13:24:59.534] [debug]   [decklink_consumer] Destroying on asynchronous destruction thread.
[2024-12-16 13:24:59.534] [debug]   [decklink_consumer] Uninitializing.
[2024-12-16 13:24:59.534] [info]    [decklink_consumer] Uninitialized.
[2024-12-16 13:24:59.534] [error]   Exception: D:\a\server\server\src\modules\decklink\consumer\decklink_consumer.cpp(616): Throw in function void __cdecl caspar::decklink::decklink_consumer::enable_video(void)
[2024-12-16 13:24:59.534] [error]   Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::caspar_exception>
[2024-12-16 13:24:59.534] [error]   [struct caspar::tag_msg_info * __ptr64] = DeckLink Duo 2 [4-4|1080p5000] Could not enable primary video output.
[2024-12-16 13:24:59.534] [error]   [struct caspar::tag_stacktrace_info * __ptr64] =  0# 0x00007FF7B6AE2C17 in casparcg
[2024-12-16 13:24:59.534] [error]    1# 0x00007FF7B6B0DAB6 in casparcg
[2024-12-16 13:24:59.534] [error]    2# 0x00007FF7B6C6D76F in casparcg
[2024-12-16 13:24:59.534] [error]    3# 0x00007FF7B6C698C0 in casparcg
[2024-12-16 13:24:59.534] [error]    4# 0x00007FF7B6C6B39A in casparcg
[2024-12-16 13:24:59.534] [error]    5# 0x00007FF7B6B3573F in casparcg
[2024-12-16 13:24:59.534] [error]    6# 0x00007FF7B6B77E9E in casparcg
[2024-12-16 13:24:59.534] [error]    7# 0x00007FF7B6B72156 in casparcg
[2024-12-16 13:24:59.534] [error]    8# recalloc in ucrtbase
[2024-12-16 13:24:59.534] [error]    9# BaseThreadInitThunk in KERNEL32
[2024-12-16 13:24:59.534] [error]   10# RtlUserThreadStart in ntdll
[2024-12-16 13:24:59.534] [error]
[2024-12-16 13:24:59.534] [error]
[2024-12-16 13:24:59.534] [error]    0# 0x00007FF7B6AE2C17 in casparcg
[2024-12-16 13:24:59.534] [error]    1# 0x00007FF7B6AE26A5 in casparcg
[2024-12-16 13:24:59.534] [error]    2# 0x00007FF7B6D9CEA9 in casparcg
[2024-12-16 13:24:59.534] [error]    3# 0x00007FFF47B21080 in VCRUNTIME140_1
[2024-12-16 13:24:59.534] [error]    4# _NLG_Return2 in VCRUNTIME140_1
[2024-12-16 13:24:59.534] [error]    5# RtlCaptureContext2 in ntdll
[2024-12-16 13:24:59.534] [error]    6# 0x00007FF7B6B097C8 in casparcg
[2024-12-16 13:24:59.534] [error]    7# 0x00007FF7B6B0E039 in casparcg
[2024-12-16 13:24:59.534] [error]    8# 0x00007FF7B6AE4952 in casparcg
[2024-12-16 13:24:59.534] [error]    9# 0x00007FF7B6AE7E62 in casparcg
[2024-12-16 13:24:59.534] [error]   10# 0x00007FF7B6D59814 in casparcg
[2024-12-16 13:24:59.534] [error]   11# BaseThreadInitThunk in KERNEL32
[2024-12-16 13:24:59.534] [error]   12# RtlUserThreadStart in ntdll
[2024-12-16 13:24:59.534] [error]
[2024-12-16 13:24:59.796] [info]    Device may not support video-format: 1080p50
[2024-12-16 13:24:59.796] [info]    DeckLink Duo 2 [5-5|1080p5000] Disabled low-latency mode.
[2024-12-16 13:24:59.796] [info]    DeckLink Duo 2 [5-5|1080p5000] Enabled external keyer.
[2024-12-16 13:24:59.799] [info]    DeckLink Duo 2 [5-5|1080p5000] Initialized.
[2024-12-16 13:24:59.808] [info]    Device may not support video-format: 1080p50
[2024-12-16 13:24:59.808] [info]    DeckLink Duo 2 [6-6|1080p5000] Disabled low-latency mode.
[2024-12-16 13:24:59.808] [info]    DeckLink Duo 2 [6-6|1080p5000] Enabled external keyer.
[2024-12-16 13:24:59.811] [info]    DeckLink Duo 2 [6-6|1080p5000] Initialized.
[2024-12-16 13:24:59.811] [info]    Initialized startup producers.
[2024-12-16 13:24:59.811] [info]    Initialized controllers.
[2024-12-16 13:24:59.811] [info]    Initialized osc.
[2024-12-16 13:24:59.837] [info]    DeckLink Duo 2 [5-5|1080p5000] Reference signal: not detected.
[2024-12-16 13:24:59.862] [info]    DeckLink Duo 2 [6-6|1080p5000] Reference signal: not detected.

Thanks in advance.

(Couldn’t upload this picture in the primary post)

This is how it should startup.

That is weird, as I have a machine with two Duo’s also and it works like a charm. Difference: I run 1080i50 (not p) and under CasparCG 2.3.0. And I run Windows 10. Do you run Windows 11?

The only thing, that is a bit wrong in the config is, that the 4 full screens have keyer set to “internal”. I would set it to “default”, then it does not mess around with an internal keying. But if that is enough to mess up the cards config? Maybe not. Sorry, but I have no further idea.

I always find interpreting the Blackmagic technical data to be somewhat challenging, but it may have a clue. CasparCG internally works in RGB or RGBA, the best solution for graphics creation. The Decklink Duo technical data has a statement:

SDI Color Precision
8, 10, 12-bit RGB 4:4:4 in all modes up to 1080p30 and 8, 10-bit YUV 4:2:2 in all modes. 12-bit RGB 4:4:4 only

So a possible interpretation could be that RGB does not work above 1080p30, but does work for 1080i50. This could perhaps explain why your log has messages “Device may not support video format: 1080p50”.

The card can operate 1080p50 or 1080p60 when used in YCbCr colour space, so Media Express should be able to output in 1080p50 from a “standard” 4:2:2 MOV file.

AFAIK the Decklink API does the conversion from RGB to YUV. That should not be an issue.

As I said, I sometimes have issues understanding the Decklink technical specifications. So thank you for the clarification.

I know it is possible to send RGB on the SDI interface (for example using two cables), so I suspect I have assumed internal format operations when the specification is actually describing the transport of RGB signals on the SDI interface. There are multiple mechanisms for HD-SDI. One of method used in SD-SDI split the RGB data onto two SDI connections.

I found a slightly old Decklink SDK document, and this confirms the 8-bit RGBA frame buffer data is hardware converted to YCbCr on the decklink card. I also found a table that states the external keyer support should operate at up to 1080p60.

I never ran into a RGB SDI nor HD-SDI scenario. In practice they are usually always YUV. Back in the analog days RGB was used sometimes for chroma-keying straight out of the camera. One inch video recorders also supported RGB, beside composite. The Batacams have always been YUV. So I have no experience with RGB in SDI and could not help with that.

But to come back to our problem here: It’s not about RGB vs YUV. It must be something else. Either a bug in the Decklink driver, Caspar or Windows 11 (?).

@Sam: Do you run under Windows 11?

Thanks for the many suggestions - Yes, I run Windows 11.

I tried one change: Changed the internal key to default. Today nothing was wrong. I will give it a day or two before I’m positive about if it’s working. But for now… all good!

I actually thought that default WAS the internal key :slight_smile:

No, I did not understand either why it’s called “default” could also be “none” or something. Internal keying uses one BNC to input a signal, key the graphic over it and output it on another BNC. Maybe that setting messes it up sometimes because it does not find an input. But that sounds a bit weird to me. But we will see…

This morning the problem is back. Just turned the Windows 11 computer on, and opened Desktop Video Setup. Card 1 is suddenly again using all four outputs as key/fills.

CasparCG has not been opened, so it must be the decklink config, that is buggy.

Decklink Duo (3) and (4) is set to none in Connectors, but … Output conversion is set to “HD to SD”. This is not something I have done - but something has forced the settings into this.

Any suggestions how to debug?

It seems to be a wider issue - BlackMagic forums has this topic on the problem:
https://forum.blackmagicdesign.com/viewtopic.php?f=4&t=203453

Okay - After doing some research on BlackMagic forums and this forum:

  • The issues with SDI mapping on Duo 2 cards came with the new Declink 14.0 drivers.

  • It seems it is fixed with the 14.3 drivers.

  • But CasperCG doesn’t work with the 14.3, which forces me to downgrade decklink drivers to 12., which should work fine (not tested yet!)

  • According to forums (and Julusian) the problem with the new 14.3 is the new Decklink SDK, that requires all third party software (like Caspar and more) to come out with a patch. https://github.com/CasparCG/server/issues/1589

Well… I just came into the CasparCG universe at a wrong time :smiley:

The keyer type has to have a definition as this impacts on the call(s) to the decklink API code, so some default value is needed in case the mode is not defined.

I looked at the code for server 2.4.1 as an example of how the default keyer is defined. Folder src/modules/decklink/consumer includes two files that define the default definition - config.h and config.cpp
File config.h includes a C++ structure called configuration that includes an enumeration which sets the default to match the enumerated value used for eternal_keyer:

enum class keyer_t
{
    internal_keyer,
    external_keyer,
    default_keyer = external_keyer
}

Line 90 of file config.cpp has the code that looks in casparcg.config for a definition of the keyer in the channel:

auto keyer = ptree.get(L"keyer", L"default");

This code looks in the configuration properties in the current channel decklink tokens for the <keyer> token, and sets the value to “default” if the token is not present. This in turn selects the external_keyer value as the mode to set for the channel.

@Sam Thanks for reporting the results of you investigations.

For a small number of years, until uncompressed or very near uncompressed storage was available in the camera head, transporting digital RGB on multiple SDI links was used to connect the full bandwidth RGB camera outputs to an external specialist storage array. This enabled the best quality chromakey operations in postproduction. Once high speed large capactity storage could be connected directly inside the camera the use of RGB links diminished. We also learned that for many operations, including virtual studios, that 4:2:2 chromakey delivered very high quality results.

1 Like