Decklink 8k Pro won't initialize

Hey guys, hope you’re doing well.

Recently I started to configure a new studio environment and wanted to use CasparCG as the graphic playout.
The computer is equipped with an AMD Ryzen Threadripper PRO 3955WX, a GeForce RTX 3080 Ti and Windows 10 Pro 22H2. For SDI output we use a Blackmagic DeckLink 8K Pro.
My casparcg.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<paths>
		<media-path>media/</media-path>
		<log-path disable="false">log/</log-path>
		<data-path>data/</data-path>
		<template-path>template/</template-path>
	</paths>
	<lock-clear-phrase>secret</lock-clear-phrase>
	<channels>
		<channel>
			<video-mode>1080p2500</video-mode>
			<consumers>
				<screen />
				<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>
				<ndi>
					<name>Caspar1</name>
					<allow-fields>false</allow-fields>
				</ndi>
			</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>
	<ndi>
		<auto-load>true</auto-load>
	</ndi>
</configuration>

When I start the server, the screen and NDI consumer initialize normally. But the Decklink consumer throws the following error message:

[2023-12-11 11:51:36.816] [info]    [decklink_consumer] Uninitialized.
[2023-12-11 11:51:36.816] [error]   Exception: D:\a\server\server\src\modules\decklink\consumer\../decklink_api.h(93): Throw in function class ATL::CComQIPtr<struct IDeckLinkOutput,&struct __s_GUID const _GUID_065a0f6c_c508_4d0d_b919_f5eb0ebfc96b> __cdecl caspar::decklink::iface_cast<struct IDeckLinkOutput,struct IDeckLink>(const class ATL::CComPtr<struct IDeckLink> &,bool)
[2023-12-11 11:51:36.816] [error]   Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::not_supported>
[2023-12-11 11:51:36.816] [error]   [struct caspar::tag_msg_info * __ptr64] = Could not cast from struct IDeckLink to struct IDeckLinkOutput. This is probably due to old Decklink drivers.
[2023-12-11 11:51:36.816] [error]   [struct caspar::tag_stacktrace_info * __ptr64] =  0# 0x00007FF7FFA72C17 in casparcg
[2023-12-11 11:51:36.816] [error]    1# 0x00007FF7FFA9DB16 in casparcg
[2023-12-11 11:51:36.816] [error]    2# 0x00007FF7FFBF61CD in casparcg
[2023-12-11 11:51:36.816] [error]    3# 0x00007FF7FFBF7476 in casparcg
[2023-12-11 11:51:36.816] [error]    4# 0x00007FF7FFBF9CFA in casparcg
[2023-12-11 11:51:36.816] [error]    5# 0x00007FF7FFAC5A2F in casparcg
[2023-12-11 11:51:36.816] [error]    6# 0x00007FF7FFB079AE in casparcg
[2023-12-11 11:51:36.816] [error]    7# 0x00007FF7FFB01C46 in casparcg
[2023-12-11 11:51:36.816] [error]    8# configthreadlocale in ucrtbase
[2023-12-11 11:51:36.816] [error]    9# BaseThreadInitThunk in KERNEL32
[2023-12-11 11:51:36.816] [error]   10# RtlUserThreadStart in ntdll
[2023-12-11 11:51:36.816] [error]   
[2023-12-11 11:51:36.816] [error]   

[2023-12-11 11:51:36.816] [error]    0# 0x00007FF7FFA72C17 in casparcg
[2023-12-11 11:51:36.816] [error]    1# 0x00007FF7FFA726A5 in casparcg
[2023-12-11 11:51:36.816] [error]    2# 0x00007FF7FFD2A869 in casparcg
[2023-12-11 11:51:36.816] [error]    3# 0x00007FFEB2BF1080 in VCRUNTIME140_1
[2023-12-11 11:51:36.816] [error]    4# _NLG_Return2 in VCRUNTIME140_1
[2023-12-11 11:51:36.816] [error]    5# RtlCaptureContext2 in ntdll
[2023-12-11 11:51:36.816] [error]    6# 0x00007FF7FFA999C5 in casparcg
[2023-12-11 11:51:36.816] [error]    7# 0x00007FF7FFA9E099 in casparcg
[2023-12-11 11:51:36.816] [error]    8# 0x00007FF7FFA74952 in casparcg
[2023-12-11 11:51:36.816] [error]    9# 0x00007FF7FFA77E62 in casparcg
[2023-12-11 11:51:36.816] [error]   10# 0x00007FF7FFCE7DC4 in casparcg
[2023-12-11 11:51:36.816] [error]   11# BaseThreadInitThunk in KERNEL32
[2023-12-11 11:51:36.816] [error]   12# RtlUserThreadStart in ntdll
[2023-12-11 11:51:36.816] [error]   

I tried some variations with the config, e.g. changed device number, video-mode, keyer and so on but it will always fail to intialize.
We updated the Decklink drive to v. 12.7.1. You can find a screenshot of the Decklink configuration attached.
Does anyone know what the issue is?

Thanks everyone :slight_smile:
~Janse

Try „Run as administrator“.

Hey, thanks for the quick reply.
Unfortunately this makes no difference. Still the same error.
Oh, I almost forgot: I use CasparCG Server v. 2.4.0 Beta 1.

~Janse

Does v2.3.3 work?

Unfortunately no.
The error message seems quite different though (path of the exception it seems):

[2023-12-11 11:27:36.349] [error]   Exception: c:\program files (x86)\jenkins\workspace\casparcg-server-dep\master\src\modules\decklink\util\../decklink_api.h(93): Throw in function class ATL::CComQIPtr<struct IDeckLinkOutput,&struct __s_GUID const _GUID_cc5c8a6e_3f2f_4b3a_87ea_fd78af300564> __cdecl caspar::decklink::iface_cast<struct IDeckLinkOutput,struct IDeckLink>(const class ATL::CComPtr<struct IDeckLink> &,bool)
[2023-12-11 11:27:36.349] [error]   Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::not_supported>
[2023-12-11 11:27:36.349] [error]   [struct caspar::tag_msg_info * __ptr64] = Could not cast from struct IDeckLink to struct IDeckLinkOutput. This is probably due to old Decklink drivers.
[2023-12-11 11:27:36.349] [error]   [struct caspar::tag_stacktrace_info * __ptr64] =  0# 0x00007FF6027FA37E in casparcg
[2023-12-11 11:27:36.349] [error]    1# 0x00007FF602829690 in casparcg
[2023-12-11 11:27:36.349] [error]    2# 0x00007FF602A4C1F4 in casparcg
[2023-12-11 11:27:36.349] [error]    3# 0x00007FF602A4D738 in casparcg
[2023-12-11 11:27:36.349] [error]    4# 0x00007FF602A50431 in casparcg
[2023-12-11 11:27:36.349] [error]    5# 0x00007FF6028407C8 in casparcg
[2023-12-11 11:27:36.349] [error]    6# 0x00007FF6028E2E52 in casparcg
[2023-12-11 11:27:36.349] [error]    7# 0x00007FF6028DF7E0 in casparcg
[2023-12-11 11:27:36.349] [error]    8# 0x00007FF6027F50B9 in casparcg
[2023-12-11 11:27:36.349] [error]    9# configthreadlocale in ucrtbase
[2023-12-11 11:27:36.349] [error]   10# BaseThreadInitThunk in KERNEL32
[2023-12-11 11:27:36.349] [error]   11# RtlUserThreadStart in ntdll
[2023-12-11 11:27:36.349] [error]   
[2023-12-11 11:27:36.349] [error]   

[2023-12-11 11:27:36.349] [error]    0# 0x00007FF6027FA37E in casparcg
[2023-12-11 11:27:36.349] [error]    1# 0x00007FF6027F9CAF in casparcg
[2023-12-11 11:27:36.349] [error]    2# 0x00007FF602CEBB07 in casparcg
[2023-12-11 11:27:36.349] [error]    3# 0x00007FFC1E641030 in VCRUNTIME140
[2023-12-11 11:27:36.349] [error]    4# is_exception_typeof in VCRUNTIME140
[2023-12-11 11:27:36.349] [error]    5# RtlCaptureContext2 in ntdll
[2023-12-11 11:27:36.349] [error]    6# 0x00007FF6028273EF in casparcg
[2023-12-11 11:27:36.349] [error]    7# 0x00007FF602829752 in casparcg
[2023-12-11 11:27:36.349] [error]    8# 0x00007FF6027FD85D in casparcg
[2023-12-11 11:27:36.349] [error]    9# 0x00007FF60280111D in casparcg
[2023-12-11 11:27:36.349] [error]   10# 0x00007FF602C36A88 in casparcg
[2023-12-11 11:27:36.349] [error]   11# BaseThreadInitThunk in KERNEL32
[2023-12-11 11:27:36.349] [error]   12# RtlUserThreadStart in ntdll
[2023-12-11 11:27:36.349] [error]   

How is the “connectors” tab configured? You’re calling for device 2 so if the Decklink config is set up as one device only it might be unable to initialize?

Hey @Sidon,

every connector is configured as IN/OUT. I also tried some variations like 1-IN/2-OUT and changed device id but it wouldn’t initialize.
The playout via Media Express works fine on all connectors, so I don’t really think it’s a faulty driver/card.

I see, have you tried calling for Device 1 only in the config?

No, I tried 1-4 with all connectors in IN/OUT configuration. Also I reinstalled Desktop Video, still no change.

If you want the Key/Fill to come out of 8K Pro Device 2 then you will need to set 8K Pro (2) connectors to be ‘SDI 3 In, SDI 4 Out’. You should see the Key on one of those and the Fill on the other.

I do wonder why your Desktop Video shows as ‘SDI 1’ whereas all my systems are the device name followed by the card’s device number. ‘DeckLink 8K Pro (1)’ for example. I wonder if that’s indicative of something else going on.

Hey, thanks for the reply.
First of all, the name “SDI 1” is set in the “Label” field in the “About” tab by my predecessor. No clue why though :flushed:
I’ve changed the mode to “SDI 1 In/SDI 2 Out” and “SDI 3 In/SDI 4 Out” and tried both device id 1 and 2, still the same error.
Can you tell me which versions do you running for CasparCG and Decklink driver? Maybe it’s really an incompatiblility.

An update (and the solution):
I’m so sorry if I’ve wasted your time. I’ve missed a small but very important detail: there is also a Quad HDMI Recorder. I thought that CasparCG automatically detects and counts through the SDI connectors but no, device id 1 ist the first HDMI input (of course it’s making sense)!
After changing device id to 5 it works perfekt.
Thanks everyone for your help!

3 Likes

“perfekt” like a real swede! :grin:
(sorry for the off topic)