Proposal for Standardised NDI Contribution Markup

This page contains a technical proposal which is not currently a published or formal standard. If you have comments or feedback on the content of this proposal PLEASE contact us with your contribution.


The published NDI IP Video protocol SDK does not currently offer any guidance on definition of source identification metadata for NDI Streams. However, NDI has multiple real time metadata mechanisms which could easily carry this information. This document is a proposal to provide simple standardised support for the most common requirement to identify an source, in order to prevent different implementations by each vendor by way of a recommended practice technical note.


Basic Premise:

The focus is based on the need to communicate basic information about the content of an NDI source within a single NDI video stream.


The most basic example of this would be to push metadata with the name and tag line of a person on screen. This would be very common in the case of remote contributions, and fixed cameras pointed at a speaker at a conference.


The supplied metadata can be used in many ways - for example to drive a lower 3rd graphic, or to update an under-monitor display in a multiviewer.


Advanced workflows could drive graphics templates, M/E selections or other automation based on incoming metadata.


NDI Sources participating in this scheme should provide a mechanism to enter the metadata manually, or automatically (for example in the case of machine vision systems which can identify celebrities or other known persons).


The documented XML metadata is passed within the real time metadata stream of the NDI video stream. It should be applied as 'connection' metadata such that any new consumer of the NDI stream will be pushed the metadata as it connects. NDI consumers shoudl expect follow up messages with changed content which may happen when the NDI stream content changes (eg, camera moves to another speaker, or there is a shot change).



Basic Example :


ndi_video_frame.p_metadata =



     <PRIMARY_TAG>Special Correspondant</PRIMARY_TAG>



In Some cases where the metadata may be merged or for other reasons, there may be a need to decorate the metadata with more information about the source, for example, as shown below, the metadata also carries a source comment, to identify the source, which will provide context even if metadata from many sources is merged before being processed.  There may also be a case to include the original NDI source address.




     <PRIMARY_TAG>Special Correspondant</PRIMARY_TAG>





It is anticipated that additional recommended tags will be added this example, following feedback from the community. However, this structure is by-design intended to be very concise, such that it has a general, simple application which can become universal.


If you require detailed mark-up of NDI Sources, you should instead use the NDI:IXML profile instead which has extensive fields for very rich description of technical and content metadata for an NDI stream.


If you have any questions, or you would like to engage Sienna for NDI Consultancy or Custom Development, please contact info @ sienna.tv


appsupport @ gallery.co.uk