Proposed New Metadata Messages
<vancData>
Element (CEA-708 & SCTE-104)
<vancData>
Element (CEA-708 & SCTE-104)Initial Implementation: ToolsOnAir
Location: Video Frame Metadata
Legacy close captioning data and SCTE triggers are passed as NDI metadata by encoding the corresponding SDI vertical ancillary data packets directly as XML.
Note that this method should not be used as a general solution for transiting SDI Ancillary data via NDI. Still, it is used in this case because workflows using these protocols are very SDI-centric, and this method is supported by existing equipment and workflows.
This mechanism should NOT be used to tunnel arbitrary SDI ancillary data which can readily be represented by XML.
<vancData>
Attributes
<vancData>
Attributesversion
The <vancData>
element must have a version attribute.
The version attribute supported by this standard is "1.0"
<vancData>
Children
<vancData>
ChildrenvancPacket
This element contains the details for one ancillary data packet. Any number of vancPacket elements may be contained within one vancData element
vancPacket
Element
The vancPacket
element provides details for one ancillary data packet. The ancillary packet data is base64 encoded while the ancillary packet header details are included as attributes of the vancPacket element.
DID and SDID values and ancillary data content are per SMPTE standards ST-334 (CEA-708) and ST-2010 (SCTE-104)
The following ancillary data packet types are currently supported:
CEA-708 close caption: did="97" sdid="1"
SCTE-104 trigger: did="65" sdid="7"
vancPacket
Attributes
did
The ancillary packet DID (Data Identifier)
sdid
The ancillary packet SDID (Secondary Data Identifier)
line
The line number the ancillary data packet was received on
<ndi_metadata type="midi">
Element
<ndi_metadata type="midi">
ElementInitial Implementation: Lamamix
Location: Metadata Frame
Initial NDI Version: 6.1
MIDI <ndi_metadata type="midi">
Children
<ndi_metadata type="midi">
Childrendata
Hexidecimal representation of a MIDI message. Data is read left to right (eg: 0x90 is the first byte transmitted and 0x20 is the last byte to be trasmitted)
<ndi_metadata type="dmx">
Element
<ndi_metadata type="dmx">
ElementInitial Implementation: Salrayworks
Location: Metadata Frame
Initial NDI Version: 6.1
Some early versions of DMX used the tag <SALRAY_DMX>
instead of <ndi_metadata type="dmx">
. Devices receiving DMX via NDI Metadata should look for both element names. Devices sending DMX via NDI metadata should use the <ndi_metadata type="dmx">
element with NDI SDK version 6.1 or newer.
DMX <ndi_metadata type="dmx">
Children
<ndi_metadata type="dmx">
ChildrenUniverse
DMX transmit channel. Multiple universe elements are allowed
Universe
Attributes
id
DMX transmit channel: 1 (first channel) to the capacity of the DMX controller
Universe
Children
Stream
Represents DMX data. Multiple stream elements are allowed
Stream
Children
Address
Starting DMX channel: 1 to 512
Data
Hexidecimal representation of DMX data. Data is read left to right (eg: 0x01 is the first byte transmitted for universe 1, address 1
Timed Text Captions
Initial Implementation: Various standards bodies
Location: Metadata Frame
Modern captioning solutions are migrating to a variety of XML based timed text formats such as:
TTML1
SDP-US
IMSC1
SMPTE-TT
EBU-TT
CFF-TT
As these formats are natively XML they can be easily incorporated into an NDI stream as metadata. As a transport protocol, NDI does not natively prefer any one of these standards over the others. The properly formed XML conforming to one (or more) of these standards should simply be sent as an NDI metadata frame, optionally as the child of an <ndi_metadata_group>
element if for some reason more than one element needs to be sent in the same metadata frame.
W3C has a good overview of the various timed text caption standards, including links to many of the specifications.
As a general rule, it is suggested that applications sending timed-text captions use the minimum set of features necessary for full operation. Receivers should be able to process any Well Formed XML, ignoring any elements or attributes they do not currently implement.
If you are interested in supporting any of the timed-text captioning solutions in real-world workflows, the NDI team would be happy to coordinate with you to help ensure consistency and interoperability across the NDI ecosystem.
Last updated
Was this helpful?