2.4.15 SMPTE 2110 IP Flows¶
SMPTE 2110 is supported by DeckLink IP cards, such as the DeckLink IP/SDI HD. The DeckLink SDK provides interfaces and methods for configuring and activating the 2110 IP Flows. For an example of configuring the sender and receiver IP flows, please refer to the DeckLinkIPExample sample in the DeckLink SDK.
Note
The same functionality can be achieved with an off-the-shelf NMOS controller connected to a network visible to the DeckLink IP card.
2.4.15.1 IP Sender¶
An application can read the SDP content for the sender video, audio and ancillary flows. Prior to performing these steps, the application should first enable playback with the IDeckLinkOutput interface to ensure that the SDPs accurately represent the output.
Obtain an
IDeckLinkIPExtensionsinterface object for the DeckLink IP sender by callingIUnknown::QueryInterface()on theIDeckLinkobject with IID_IDeckLinkIPExtensions.Obtain an
IDeckLinkIPFlowIteratorby callingIDeckLinkIPExtensions::GetDeckLinkIPFlowIterator()and enumerate the supported IP flows for the device by callingIDeckLinkIPFlowIterator::Next().
For each returned IDeckLinkIPFlow interface object:
Obtain an
IDeckLinkIPFlowAttributesinterface object by callingIUnknown::QueryInterface()with IID_IDeckLinkIPFlowAttributes.Call
IDeckLinkIPFlowAttributes::GetInt()with identifierbmdDeckLinkIPFlowDirectionto obtain the IP flow’s direction. An application can filter the sender IP flows by testing for directionbmdDeckLinkIPFlowDirectionOutput.Call
IDeckLinkIPFlowAttributes::GetInt()with identifierbmdDeckLinkIPFlowTypeto obtain the IP flow’s type.
To obtain the SDP for a specific IDeckLinkIPFlow interface object:
Obtain an
IDeckLinkIPFlowStatusinterface object by callingIUnknown::QueryInterface()with IID_IDeckLinkIPFlowStatus.Call
IDeckLinkIPFlowStatus::GetString()with identifierbmdDeckLinkIPFlowSDP.
To activate the sender IP flow:
2.4.15.2 IP Receiver¶
An application can write the SDP content to the receiver video, audio and ancillary flows. These steps should be performed prior to enabling capture with the IDeckLinkInput interface.
Obtain an
IDeckLinkIPExtensionsinterface object for the DeckLink IP receiver by callingIUnknown::QueryInterface()on theIDeckLinkobject with IID_IDeckLinkIPExtensions.Obtain an
IDeckLinkIPFlowIteratorby callingIDeckLinkIPExtensions::GetDeckLinkIPFlowIterator()and enumerate the supported IP flows for the device by callingIDeckLinkIPFlowIterator::Next().
For each returned IDeckLinkIPFlow interface object:
Obtain an
IDeckLinkIPFlowAttributesinterface object by callingIUnknown::QueryInterface()with IID_IDeckLinkIPFlowAttributes.Call
IDeckLinkIPFlowAttributes::GetInt()with identifierbmdDeckLinkIPFlowDirectionto obtain the IP flow’s direction. An application can filter the receiver IP flows by testing for directionbmdDeckLinkIPFlowDirectionInput.Call
IDeckLinkIPFlowAttributes::GetInt()with identifierbmdDeckLinkIPFlowTypeto obtain the IP flow’s type.
To write the peer SDP for a specific IDeckLinkIPFlow interface object:
Obtain an
IDeckLinkIPFlowSettinginterface object by callingIUnknown::QueryInterface()with IID_IDeckLinkIPFlowSetting.Call
IDeckLinkIPFlowSetting::SetString()with identifierbmdDeckLinkIPFlowPeerSDP.
To activate the receiver IP flow: