Freeze and time out during PRINT

Hi,
I got an issue asking for a snapshot with PRINT command.
It works well except this time.
Here are the log :


[2019-07-18 17:21:28.108] [3776] [info]    Received message from 127.0.0.1: PRINT 2\r\n
[2019-07-18 17:21:28.153] [1340] [info]    output[2] image[] Added.
[2019-07-18 17:21:28.153] [3768] [debug]   Executed command: PrintCommand
[2019-07-18 17:21:28.153] [3768] [info]    Sent message to 127.0.0.1: 202 PRINT OK\r\n
[2019-07-18 17:21:28.154] [1340] [info]    output[2] image[] Removed.

[2019-07-18 17:21:29.423] [3776] [info]    Received message from 127.0.0.1: PRINT 1\r\n
[2019-07-18 17:21:29.493] [1332] [info]    output[1] image[] Added.
[2019-07-18 17:21:29.493] [3780] [debug]   Executed command: PrintCommand
[2019-07-18 17:21:29.493] [3780] [info]    Sent message to 127.0.0.1: 202 PRINT OK\r\n
[2019-07-18 17:21:29.493] [1332] [info]    output[1] image[] Removed.

[2019-07-18 17:21:29.767] [3776] [info]    Received message from 127.0.0.1: PRINT 2\r\n
	[2019-07-18 20:08:08.314] [1340] [error]   consumer\output.cpp(268): Throw in function void __thiscall caspar::core::`anonymous-namespace'::<lambda10>::operator ()(void) const
	Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::timed_out>
	std::exception::what: Unknown exception
	[struct caspar::tag_msg_info *] = output[2] DeckLink 4K Extreme 12G [2-2|1080i5000] Timed out during send

	[2019-07-18 20:08:08.380] [3716] [info]    DeckLink 4K Extreme 12G [2-2|1080i5000] Scheduled playback has stopped.
	[2019-07-18 20:08:08.380] [404]  [debug]   DeckLink 4K Extreme 12G [2-2|1080i5000] allocated a total of 0 bytes and was called 0 times during playout
	[2019-07-18 20:08:08.384] [404]  [info]    DeckLink 4K Extreme 12G [2-2|1080i5000] Using custom allocator.
	[2019-07-18 20:08:08.384] [404]  [info]    DeckLink 4K Extreme 12G [2-2|1080i5000] Disabled low-latency mode.
	[2019-07-18 20:08:08.384] [404]  [info]    DeckLink 4K Extreme 12G [2-2|1080i5000] Enabled external keyer.
	[2019-07-18 20:08:08.395] [404]  [info]    DeckLink 4K Extreme 12G [2-2|1080i5000] Reference signal: not detected.
	[2019-07-18 20:08:08.453] [1340] [info]    DeckLink 4K Extreme 12G [2-2|1080i5000] Successfully Initialized.
[2019-07-18 20:08:08.500] [1340] [info]    output[2] image[] Added.
[2019-07-18 20:08:08.500] [3768] [debug]   Executed command: PrintCommand
[2019-07-18 20:08:08.500] [3768] [info]    Sent message to 127.0.0.1: 202 PRINT OK\r\n
[2019-07-18 20:08:08.500] [1340] [info]    output[2] image[] Removed.

[2019-07-18 20:08:09.371] [3776] [info]    Received message from 127.0.0.1: PRINT 1\r\n
[2019-07-18 20:08:09.439] [1332] [info]    output[1] image[] Added.
[2019-07-18 20:08:09.439] [3780] [debug]   Executed command: PrintCommand
[2019-07-18 20:08:09.439] [3780] [info]    Sent message to 127.0.0.1: 202 PRINT OK\r\n
[2019-07-18 20:08:09.440] [1332] [info]    output[1] image[] Removed.

Does anyone understand what happened ?

Chris

… The trouble occured from [2019-07-18 17:21:29.767] to [2019-07-18 20:08:08.314] … 3 hours freeze…

Please create an issue on GitHub

IIRC print is blocking (and rather resource intensive), so if it fails, it can escalate into complete failure. You didn’t mention what version you are using. Try a newer build if possible.

On a sidenote, why are you PRINTING once pr. second?

Thanks,

Sorry for not using GitHub… i didn’t know where to post.

I use Server V2.0.7… Should i change ?

I’m PRINTING every second because i need to get a snapshot every second and i don’t know how to do this in a another way… Is there a way to do this using less ressources ?

What for do you need these snapshots? I cannot imagine a scenario, where that makes sense. So to give you a good alternatve, it‘s necessary to understand your use case?

My use case is : my client is a tv channel, i have been asked to recognize some graphic patterns in 2 signals. So this signal is sent to a PC equiped with 2 Decklink and a casparcg server, i alternatively snapshot each signal and process the pictures to detect the patterns.

I see. I would investigate some way to directly accessing the Decklink input. There are tools (dll‘s etc.) that you can use for that. For instance LEADTOOLS (commercial and quite expensive but very power full) or the like. A Google search should give you plenty of options to choose from. With a little programing you are up and running.

You are right… i did it this way because of lack of time… but probably i should change to access decklink directly. Thanks

There are example programs in the Decklink SDK that just simply capture a frame and output an image.

You could also use ffmpeg with decklink support. With it you could simply grab an image every XX frames and output it, either overwriting the same file again and again or a new one each time.