- Posts: 1
- Joined: Fri Feb 17, 2017 11:36 pm
How do I detect and decode the ancillary data on the SDI stream?
I'm using a black magic ursa mini 4k connected to a deck link PCIE capture card and I'm interested in any metadata produced by the camera in the ancillary data, but specifically, I'm hoping to extract the current camera recording status, the lens focal length, the current focus and zoom settings, white balance, exposure, etc. Is this data available in the SDI stream?
I read this standards of IDs and status: https://smpte-ra.org/smpte-ancillary-data-smpte-st-291
I started looking at the binary data in the buffer returned by GetBufferForVerticalBlankingLine from the stream and diffing frames of ancillary data I can see the data changing. I searched for 0x3ff which I believe is part of the start header but I didn't find it in the ancillary data.
I also looked at the ClosedCaptions sample in the SDK and while the DID and SDID makes sense, I didn't understand how you know that ClosedCaptions should be on line 15:
from blackmagic/Linux/Samples/ClosedCaptions/main.cpp:57-58
// Define VANC line for CEA-708 captions
const uint32_t kCaptionDistributionPacketLine = 15;
Does anyone know the best way to get the information I'm looking for? Is Ancillary data the right answer? What is the best reference for understanding what is in the ancillary data and how to decode it?
I'm using a black magic ursa mini 4k connected to a deck link PCIE capture card and I'm interested in any metadata produced by the camera in the ancillary data, but specifically, I'm hoping to extract the current camera recording status, the lens focal length, the current focus and zoom settings, white balance, exposure, etc. Is this data available in the SDI stream?
I read this standards of IDs and status: https://smpte-ra.org/smpte-ancillary-data-smpte-st-291
I started looking at the binary data in the buffer returned by GetBufferForVerticalBlankingLine from the stream and diffing frames of ancillary data I can see the data changing. I searched for 0x3ff which I believe is part of the start header but I didn't find it in the ancillary data.
I also looked at the ClosedCaptions sample in the SDK and while the DID and SDID makes sense, I didn't understand how you know that ClosedCaptions should be on line 15:
from blackmagic/Linux/Samples/ClosedCaptions/main.cpp:57-58
// Define VANC line for CEA-708 captions
const uint32_t kCaptionDistributionPacketLine = 15;
Does anyone know the best way to get the information I'm looking for? Is Ancillary data the right answer? What is the best reference for understanding what is in the ancillary data and how to decode it?