Page 1 of 1

Synchronised Capture

PostPosted: Mon Sep 20, 2021 10:27 am
by ShilpiR_beesys
Hi ,

SDK Version : 12.1
Card : DecklinkQuad

I am capturing 6 inputs all together , Currently the issue I am facing is that all the channels start at a different frame time , the frame time that I get in the VideoFrame's GetFrameTime function is different for all the channels even in the first FrameArrived callback , I tried to use the captureGroup but in this case the capture doesn't start at all . Tried to use the SynchronisedCapture.exe as well but it stucks at "Waiting for Signal Lock..." . Are there some settings that has to be done ?
DecklinkQuad.png
DecklinkQuad.png (14.09 KiB) Viewed 2446 times

Re: Synchronised Capture

PostPosted: Thu Sep 23, 2021 6:13 am
by Cameron Nichols
Hi Shilpi,

Unmodified, the SynchronizedCapture SDK example will perform the following:
  • Iterate the first 2 devices (typically DeckLink Quad (1) and DeckLink Quad (2)) - the device count is defined by constant kDeviceCount
  • Add both devices to the same Synchronised Capture group
  • Enable inputs on both devices with video mode 1080p25 - defined by kDisplayMode
  • Wait until the detected inputs on both devices are 1080p25
  • Synchronously start streams on both inputs
The example will wait forever until a valid input is detected on the 2 inputs. You may want to run the DeviceStatus SDK sample to check that there are valid detected inputs on each device.

Regards
Cameron

Re: Synchronised Capture

PostPosted: Tue Sep 28, 2021 8:38 am
by ShilpiR_beesys
Hi Cameron ,

Thanks for your reply but I am using single device for 6 inputs , the Video frames that I am receiving in the VideoInputFrameArrived callback have different frame times , I am getting the different frame time (obtained from GetFrameTime() ) for all the capture channels , is there a way out where i can get the same frame time ..

Re: Synchronised Capture

PostPosted: Thu Sep 30, 2021 11:08 am
by Cameron Nichols
Hi Shilpi,

Synchronised Capture is the only way to ensure the stream times for all inputs are aligned - IDeckLinkVideoInputFrame::GetStreamTime will output the same stream time at the same frame period for all inputs.

But you must ensure that all inputs are locked to a common reference and the inputs are detected before you can start synchronised streams. It is not required that the DeckLink itself is locked to the same reference.

Regards
Cameron