RP-NDI-PANACONV_2021_09
proposal for carriage of Panasonic Convertible PTZ Protocol over NDI
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 NDI IP Video protocol SDK incorporates a set of highly standardised PTZ camera control messages which are widely implemented. However, many cameras feature a considerably wider array of controls than that currently offered by NDI within the standard NDI PTZ Protocol, and additionally, NDI does not provide a return path for confirmation or queries. To extend this capability and allow for complete remote control of sophisticated broadcast cameras over an NDI connection, this proposal adds a standardised wrapper to carry Panasonic control data over NDI by way of a recommended practice technical note.
Basic Premise:
The focus is based on the need for remote control of camera shading functionality over NDI connections, and over NDI over WAN extended connections for remote sports camera backhaul and other workflows.
- The Panasonic Convertible protocol offers extensive support for all aspects of camera control in a standardised and well documented protocol.
In this proposal, the Panasonic data is sent using dedicated metadata messages already defined in the NDI Protocol, the same type used for PTZ control of cameras, and NDI specific tally information. It uses the real time (non frame based) NDI Metadata stream, with Panasonic Control data enclosed. Raw Panasonic message data is carried in text format wrapped in the XML tag.
Sent Messages are wrapped in the outer XML tag PANACONV_MSG. Each message contains a seq attribute, which increments for each message, and must be included in asynchronous status in order to provide context of returned async status.
For messages, where a 'reply' is required - the return data is sent asynchronously on the reverse NDI metadata channel, along with sufficient information to give the async data its context, using the XML tag PANACONV_REPLY. In this mechanism, all operations must be asynchronous and control systems must be designed with this in mind.
Where a command is sent expecting a reply - the control system should typically wait for the reply before proceeding with additional commands.
NDIlib_metadata_frame_t meta_data
meta_data.p_data =
<PANACONV seq="21">...........</PANACONV>
<PANACONV_REPLY seq="21">...........</PANACONV_REPLY>
Example : Recall PTZ Preset 01 Panasonic Convertible Command
<PANACONV seq="22">#R01</PANACONV>
<PANACONV_REPLY seq="22">s01</PANACONV_REPLY>
This protocol is designed to co-reside alongside the existing NDI PTZ Protocol. Where messages for both protocols are received, devices should respond to both.
This protocol can be used in either direction on NDI connections, but will most typically be used as return commands from an NDI Reciever talking to an NDI Source which can be directly or indirectly controlled with Panasonic commands.
NB: The PANACONV_CMD optionally includes a camera ID, but given the dynamic nature of NDI, and since this messaging is indirect to the end device it is anticipated that the NDI Device processing the PANACONV_CMD may alter the camera ID to target a camera configured within the receiving system when emitting the real Panasonic command. NDI-PANACONV is discrete to a single NDI Stream - and as such could be considered a single channel system. Systems which override the camera ID when sending Panasonic should take care to also override the return message from the camera in order that the system sending the NDI-PANACONV command gets a response with the same camera ID as it was sent with.
If you have any questions, or you would like to engage Sienna for NDI Consultancy or Custom Development, please contact info @ sienna.tv