iXML in NDI Streams

NDI Tag = '< iXML >'

iXML is useful in many different areas of media recording, playback and transfer. Another area which can benefit from iXML are within NDI Streams.
The objective here is to provide 2 types of information, firstly a way to properly label and define audio tracks in the same way iXML has been used for years in production sound - that is to allow for audio track labels, audio track function definitions and also to associate audio tracks as a family (which is implied within a single stream but this topic goes beyond that).
Another area where iXML can be used in NDI is to provide inter-stream associations, for example to link video streams as multi-cam stacks, and to provide upstream compositing instructions for audio and video, enabling object-based video and audio workflows where a master (primary or parent) NDI Stream can reference external streams for additional contribution to the final user presentation.
A really simple example here would be for graphics - like lower 3rds - where the master stream can be sent clean and the graphics are sent with forward-compositing instructions so the end-system can construct the appropriate overlay as defined by the sending system. The critical difference here is that the receiving system (which may be driven by an end-user consumer) can make decisions about the object based reconstruction, such as whether to view the graphics, or perhaps to change camera angles
Precedents exist for this very type of behaviour, in the form of closed captions which are sent alongside the video with instrucitons on how they are presented, but its ultimately within the end consumer's domain whether to enable them or not.
In the future object based workflows will become more common and iXML can be used to provide the metadata definition of how to link pieces together.
It is anticipated that NDI frame/packet based and also NDI free real time metadata will contain iXML metadata

iXML v 3.0 will more clearly define iXML in NDI