Data Streaming
Learn how to configure Motive to broadcast frame data over a selected server network.
Overview
Common motion capture applications rely on real-time tracking. The OptiTrack system is designed to deliver data at an extremely low latency even when streaming to third-party pipelines.
Motive offers multiple options to stream tracking data to external applications in real-time. Streaming plugins are available on the OptiTrack download site for the following applications or protocols:
Autodesk Motion Builder
Unreal Engine
Unity
Blender
Godot
MatLab
MoCap4ROS2
OpenXR or OpenVR
Visual3D
VRPN
In addition to these plugins, the NatNet SDK enables users to build custom clients to receive capture data.
NatNet Streaming
NatNet is a client/server networking protocol for sending and receiving data across a network in real-time. It utilizes UDP along with either Unicast or Multicast communication to integrate and stream reconstructed 3D data, Rigid Body data, Trained Markerset data, and Skeleton data from OptiTrack systems to client applications.
The API includes a class for communicating with OptiTrack server applications for building client protocols. Using the tools provided in the NatNet API, capture data can be used in various application platforms. Please refer to the NatNet SDK section of the user guide for more information on using NatNet and its API references.

Streaming Settings
To quickly access streaming settings, click the streaming icon
from the control deck. This will open the Streaming tab in the Application Settings panel. Alternately, you can open the Settings panel by clicking the
button, then selecting the Streaming tab.

Enable Streaming
Check Enable to start streaming. This will change the color of the streaming icon in the Control Deck:

Once enabled, Motive will display a warning if you attempt to exit without turning it back off first:

NatNet Settings
The NatNet settings allow streaming of tracking data via Motive's free streaming plugins or any custom-built NatNet interfaces.

With Advanced settings displayed, scroll to see additional options:

VRPN Settings
For information on streaming data via the VRPN Streaming Engine, please visit the VRPN knowledge base. Note that only 6 DOF Rigid Body data can be streamed via VRPN.

Remote Triggering
You can send and receive either NatNet commands or XML broadcast messages using the UDP communication protocol between Motive and a client application. This includes the ability for either Motive or the client application to remotely trigger the other application.
Recording start and stop commands can also be transmitted via XML packets. To trigger via XML messages, the Remote Trigger setting under the Advanced Streaming Settings must be enabled. For Motive or clients to receive the packets, the XML messages must be sent via the XML Broadcast port.
Tip: Within the NatNet SDK sample package, there is are simple applications (BroadcastSample.cpp (C++) and NatCap (C#)) that demonstrates a sample use of XML remote trigger in Motive.
The XML messages must follow the appropriate syntax. The samples below show the correct XML syntax for the start / stop trigger packet:
Capture Start Packet
Name
Name of the Take that will be recorded.
SessionName
Name of the session folder.
Notes
Informational note for describing the recorded Take.
Description
(Reserved)
Assets
List of assets involved in the Take.
DatabasePath
The file directory where the recorded captures will be saved.
Start Timecode
Timecode values (SMTPE) for frame alignments, or reserving future record trigger events for timecode supported systems. Camera systems usually have higher framerates compared to the SMPTE Timecode. In the triggering packets, the subframe values always equal to 0 at the trigger.
PacketID
(Reserved)
HostName
(Reserved)
ProcessID
(Reserved)
Capture Stop Packet
Streaming Protocols/Plugins
Unless otherwise noted, the following plugins are available on the OptiTrack downloads site.
Last updated
Was this helpful?


