LogoLogo
WebsiteSupportDownloadsForumsQuick LinksContact Us
v3.2
v3.2
  • OptiTrack Documentation
  • WHAT'S NEW
    • What's New in Motive 3.2
  • QUICK START GUIDES
    • Quick Start Guide: Getting Started
    • Quick Start Guide: Prime Color Camera Setup
    • Quick Start Guide: Precision Capture
    • Quick Start Guide: Tutorial Videos
    • Quick Start Guide: Active Marker Tracking
    • Quick Start Guide: Outdoor Tracking Setup
  • HARDWARE
    • Cameras
      • Ethernet Cameras
        • PrimeX 120
        • PrimeX 41
        • PrimeX 22
        • PrimeX 13
        • PrimeX 13W
        • SlimX 13
        • Prime Color
        • VersaX 22
        • VersaX 41
        • VersaX 120
      • USB Cameras
        • Slim 3U
        • Flex 13
        • Flex 3
        • V120:Duo
        • V120:Trio
        • Adjusting Global Origin for Tracking Bars
    • Prepare Setup Area
    • Camera Mount Structures
    • Camera Placement
    • Ethernet Camera Network Setup
      • General Overview and Specs
      • Windows 10 Network Settings
      • Cabling and Load Balancing
      • Switch Configuration for PrimeX 120
      • NETGEAR ProSafe GSM7228S: Disabling the Broadcast Storm Control
      • White/Blacklisting Cameras
    • USB Camera System Setup
      • USB Camera Network Overview and Specs
      • V120:Duo and Trio Setup
      • Tracking Bar Coordinate System
        • Transforming Coordinate System: Global to Local
    • Aiming and Focusing
    • Camera Status Indicators
  • MOTIVE
    • Installation and License Activation
    • Motive Basics
    • Calibration
      • .mcal XML Calibration Files
      • Continuous Calibration
      • Continuous Calibration (Info Pane)
      • Calibration Squares
    • Markers
    • Assets
      • Gizmo Tool: Translate, Rotate, and Scale
    • Rigid Body Tracking
      • Aligning Rigid Body Pivot Point with a Replicated 3D Model
    • Skeleton Tracking
    • Trained Markersets
    • IMU Sensor Fusion
    • Data Recording
      • Data Types
    • Labeling
    • Data Editing
    • Data Export
      • Data Export: BVH
      • Data Export: C3D
      • Data Export: CSV
      • Data Export: FBX
      • Data Export: TRC
    • Data Streaming
    • Camera Video Types
    • Audio Recording
    • Motive HotKeys
    • Measurement Probe Kit Guide
    • Motive Batch Processor
    • Reconstruction and 2D Mode
  • MOTIVE UI PANES
    • Settings
      • Settings: General
      • Settings: Assets
      • Settings: Live Pipeline
      • Settings: Streaming
      • Settings: Views
      • Settings: Mouse and Keyboard
      • Settings: Audio
    • Assets Pane
    • Builder Pane
    • Constraints Pane
      • Constraints XML Files
    • Calibration Pane
    • Data Pane
    • Devices Pane
    • Edit Tools Pane
    • Graph View Pane
    • Info Pane
    • Labels Pane
    • Log Pane
    • Probe Pane
    • Properties Pane
      • Properties Pane: Camera
      • Properties Pane: Force Plates
      • Properties Pane: NI-DAQ
      • Properties Pane: OptiHub2
      • Properties Pane: Rigid Body
      • Properties Pane: Skeleton
      • Properties Pane: Take
      • Properties Pane: Trained Markerset
      • Properties Pane: eSync2
    • Status Panel
    • Toolbar/Command Bar
    • Control Deck
    • Viewport
  • PLUGINS
    • OptiTrack Blender Plugin
      • OptiTrack Blender Plugin
    • OptiTrack Unreal Engine Plugin
      • Unreal Engine: OptiTrack Live Link Plugin
        • Quick Start Guide: Real-Time Retargeting in Unreal Engine with Live Link Content
        • Unreal Editor for Fortnite (UEFN): OptiTrack Plugin for Live Link Hub
        • Unreal Engine: Live Link Camera Stream Setup
        • Live Link Content: Active Puck Static Meshes
      • Unreal Engine: MotionBuilder Workflow
      • Unreal Engine: HMD Setup
      • Unreal Engine VCS Inputs
    • OptiTrack Unity Plugin
      • Unity: HMD Setup
    • OptiTrack OpenVR Driver
    • OptiTrack MATLAB Plugin
    • Autodesk Maya
      • Autodesk Maya: OptiTrack Insight VCS Plugin
    • Autodesk MotionBuilder
      • Autodesk MotionBuilder Plugin
      • Autodesk MotionBuilder: OptiTrack Skeleton Plugin
      • Autodesk MotionBuilder: OptiTrack Optical Plugin
      • Autodesk MotionBuilder: OptiTrack Insight VCS Plugin
      • Autodesk MotionBuilder: Timecode Data
    • OptiTrack Peripheral API
    • External Plugins
      • Houdini 19 Integration
  • ACTIVE COMPONENTS
    • Active Components Hardware
      • Active Puck
      • Wired AnchorPuck
      • CinePuck
      • Wired CinePuck
      • BaseStation
      • Information for Assembling the Active Tags
      • Manus Glove Setup
    • Configuration
      • Active Batch Programmer
      • Active Hardware Configuration: PuTTY
      • Active Component Firmware Compatibility
    • Active Marker Tracking
      • Active Finger Marker Set
  • SYNCHRONIZATION
    • Synchronization Hardware
      • External Device Sync Guide: eSync 2
      • External Device Sync Guide: OptiHub2
    • Synchronization Setup
    • OptiTrack Timecode
  • VIRTUAL PRODUCTION
    • Unreal Engine: OptiTrack InCamera VFX
    • Entertainment Marker Sets
    • PrimeX 41
  • MOVEMENT SCIENCES
    • Movement Sciences Hardware
      • General Motive Force Plate Setup
      • AMTI Force Plate Setup
      • Bertec Force Plate Setup
      • Kistler Force Plate Setup
      • Delsys EMG Setup
      • NI-DAQ Setup
      • Multiple Device Setup
    • Movement Sciences Marker Sets
      • Biomechanics Marker Sets
      • Biomech (57)
      • Rizzoli Marker Sets
    • For Visual3D Users
    • Prime Color Camera Setup
      • Prime Color Setup: Required Components
      • Prime Color Setup: Hardware Setup
      • Prime Color Camera Setup: Camera Settings
      • Prime Color Camera Setup: Prime Color FS Calibration
      • Prime Color Setup: Data Recording / Export
      • Prime Color Camera Setup: FAQ / Troubleshooting
      • Prime Color Camera Setup: Windows Network Settings
  • VIRTUAL REALITY
    • VR Plugins
      • VR Unreal Engine
        • OptiTrack Unreal Engine Plugin
        • Unreal Engine: OptiTrack Live Link Plugin
          • UE5.1 Live Link Retarget External Workaround
        • Unreal Engine VCS Inputs
      • VR Unity
        • OptiTrack Unity Plugin
      • VR OpenVR
        • OptiTrack OpenVR Driver
    • VR HMD Setup
      • Unreal Engine: HMD Setup
      • Unity: HMD Setup
      • Manually Calibrating the HMD Pivot Point
      • Sync Configuration with an HTC Vive System
    • SlimX 13
    • Active Marker Tracking
      • Active Finger Marker Set
    • Synchronization Hardware
      • External Device Sync Guide: eSync 2
      • External Device Sync Guide: OptiHub2
  • ANIMATION
    • Autodesk Maya
      • Autodesk Maya: OptiTrack Insight VCS Plugin
    • Autodesk MotionBuilder
      • Autodesk MotionBuilder Plugin
      • Autodesk MotionBuilder: OptiTrack Skeleton Plugin
      • Autodesk MotionBuilder: OptiTrack Optical Plugin
      • Autodesk MotionBuilder: OptiTrack Insight VCS Plugin
      • Autodesk MotionBuilder: Timecode Data
  • ROBOTICS
    • MoCap4ROS2 Setup
    • OptiTrack Robot Applications
    • Outdoor Tracking Setup
  • DEVELOPER TOOLS
    • Developer Tools Overview
    • Camera SDK
      • Class: cCameraModule
      • Class: cUID
    • Motive API
      • Motive API: Quick Start Guide
      • Motive API Overview
      • Motive API: Function Reference
      • Motive API Camera Calibration
    • NatNet SDK
      • NatNet 4.1
      • NatNet: Class/Function Reference
      • NatNet: Creating a Managed (C sharp) Client Application
      • NatNet: Creating a Native (C++) Client Application
      • NatNet: Data Types
      • NatNet: Matlab Wrapper
      • NatNet: Migration to NatNet 3.0 libraries
      • NatNet: Remote Requests/Commands
      • NatNet: Sample Projects
      • NatNet: Unicast Data Subscription Commands
      • Latency Measurements
    • VRPN Sample
    • Peripheral API: Glove Devices
  • SKELETON MARKER SETS
    • Full Body
      • Baseline (41)
      • Core (50)
      • Biomech (57)
      • Conventional (39)
    • Full Body + Fingers
      • Baseline + Passive Fingers (49)
      • Baseline + Active Fingers (57)
      • Core + Passive Fingers (54)
      • Core + Active Fingers (62)
    • Upper
      • Baseline Upper (25)
      • Conventional Upper (27)
    • Lower
      • Baseline Lower (20)
      • Helen Hayes Lower (19)
      • Conventional Lower (16)
    • Hand and Fingers
      • Left/Right Hand (4) Active
      • Left/Right Hand (10) Active + Passive
      • Active Finger Marker Set
    • Glove Device Setup
      • Manus Glove Setup
      • StretchSense Glove Setup
    • Rizzoli Marker Sets
    • Entertainment Marker Sets
    • Rigid Body Skeleton Marker Set
  • GENERAL TROUBLESHOOTING
    • Licensing Troubleshooting
    • Windows 11 Optimization for Realtime Applications
    • Network Troubleshooting
    • Troubleshooting Q&A
    • Running Motive on High DPI Displays
    • Firewall Settings
Powered by GitBook
On this page
  • Overview
  • NatNet Streaming
  • Streaming Settings
  • Advanced Settings
  • VRPN Settings
  • Remote Triggering
  • Streaming Protocols/Plugins

Was this helpful?

Export as PDF
  1. MOTIVE

Data Streaming

Learn how to configure Motive to broadcast frame data over a selected server network.

PreviousData Export: TRCNextCamera Video Types

Last updated 2 months ago

Was this helpful?

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 for the following applications:

  • Autodesk Motion Builder

  • Unreal Engine

  • Unity

  • Maya (VCS)

Motive can stream to the following applications or protocols as well:

  • Visual3D

  • VRPN

In addition to these plugins, the 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 of the user guide for more information on using NatNet and its API references.

Rotation conventions

NatNet streams rotational data in quaternions. If you wish to present the rotational data in the Euler convention (pitch-yaw-roll), the quaternions data must be converted into Euler angles.

In the provided NatNet SDK samples, the SampleClient3D application converts quaternion rotations into Euler rotations to display in the application interface. The sample algorithms for the conversion are scripted in the NATUtils.cpp file.

Refer to the NATUtils.cpp file and the SampleClient3D.cpp file to find out how to convert quaternions into Euler conventions.

Streaming Settings

Settings in the NatNet category apply to streaming plugins as well as NatNet.

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:

Local Interface

Default: Loopback

This setting determines which network Motive will use to stream data.

Use the Loopback option when Motive and the client application are both running on the same computer. Otherwise, select the IP address for the network where the client application is installed.

Motive Host PCs often have multiple network adapters, one for the camera network and one or more for the local area network (LAN). When streaming over a LAN, select the IP address of the network adapter connected to the LAN where the client application resides.

Firewall or anti-virus software can block network traffic. It's important to either disable these applications or configure them to allow access to both server (Motive) and Client applications.

Transmission Type

Default: Multicast

NatNet uses the UDP protocol in conjunction with either Point-To-Point Unicast or IP Multicasting for sending and receiving data.

Unicast NatNet clients can subscribe to just the data types they need, reducing the size of the data packets streamed. This feature helps to reduce the streaming latency. This is especially beneficial for wireless unicast clients, where streaming is more vulnerable to packet loss.

Labeled Markers

Default: Enabled

Enables streaming of labeled Marker data. These markers are point cloud solved markers.

Unlabeled Markers

Default: Enabled

Enables streaming of all of the unlabeled Marker data in the frame.

Asset Markers

Default: Enabled

Enables streaming of asset markers associated with all of the assets (Rigid Body, Trained Markerset, Skeleton) in the Take. The streamed list will contain a special marker set named all, which is a list of labeled markers in all of the Take's assets. In this data, Skeleton, Rigid Body, and Trained Markerset markers are point cloud solved and model-filled on occluded frames.

Rigid Bodies

Default: Enabled

Skeletons

Default: Enabled

Enables streaming of Skeleton tracking data from active Skeleton assets. This includes the total number of bones and their positions and orientations in respect to global, or local, coordinate system.

Trained Markerset Markers

Default: Enabled

Enables streaming of solved marker data for active Trained Markerset assets. This includes the total number of bones and their positions and orientations in respect to the global coordinate system.

Trained Markerset Bones

Default: Enabled

Enables streaming of bone data for active Trained Markerset assets. This includes the total number of bones, their positions and orientations in respect to the global coordinate system, and the structure of any bone chains the asset may have.

Devices

Default: Enabled

Enables the streaming active peripheral devices (ie. force plates, Delsys Trigno EMG devices, etc.).

Skeleton Coordinates

Default: Global

  • Global: Tracking data is represented according to the global coordinate system.

  • Local: The streamed tracking data (position and rotation) of each skeletal bone is relative to its parent bones.

Bone Naming Convention

Default: Motive

The Bone Naming Convention determines the format to use for streaming Skeleton data so each segment can be properly recognized by the client application.

  • Motive: Uses the standard Motive bone naming convention.

  • FBX: Used for streaming to Autodesk pipelines, such as MotionBuilder or Maya.

  • BVH: Used for streaming biomechanical data using the BioVision Hierarchy (BVH) naming convention.

  • UnrealEngine: Used for streaming to UnrealEngine.

Up Axis

Default: Y Axis

Selects the upward axis of the right-hand coordinate system in the streamed data. Change this setting to Z Up when streaming to an external platform using a Z-up right-handed coordinate system (e.g., biomechanics applications).

Remote Trigger

Default: Disabled

Advanced Settings

Subject Prefix

Default: Enabled

Includes the associated asset name as a subject prefix to each marker label in the streamed data.

Visual3D Compatible

Default: Disabled

Enables streaming to Visual3D. Normal streaming configurations may be not compatible with Visual3D. This feature ensures that the tracking data to be streamed to Visual3D is compatible.

We recommend leaving this setting disabled when streaming to other applications.

Scale

Default: 1

Applies scaling to all of the streamed position data.

Command Port

Default: 1510

Specifies the port to use to negotiate the connection between the NatNet server and client.

Data Port

Default: 1511

Specifies the port to use to stream data from the NatNet server to the client(s).

XML Broadcast Port

Default: 1512

Specifies the port to use to to stream XML data for remote trigger commands.

The XML Broadcast Port is linked to the Command Port and is not an editable field. The port will automatically update if the Command Port is changed from the default so that the XML Broadcast Port remains 2 ports away from the Command Port.

For example, if the Command Port is changed to 1512, the XML Broadcast Port will update to 1514 automatically.

Multicast Interface

Default: 239.255.42.99

Defines the multicast broadcast address.

When streaming to clients based on NatNet 2.0 or below, change the Multicast Interface to 224.0.0.1 and the Data port to 1001.

Multicast as Broadcast

Default: Disabled

When enabled, Motive streams data via broadcasting instead of sending to Unicast or Multicast IP addresses. This should be used only when the use of Multicast or Unicast is not applicable.

To use the broadcast, enable this setting and set the streaming option to Multicast. Set the NatNet client to connect as Multicast, and then set the multicast address to 255.255.255.255. Once Motive starts broadcasting data, the client will receive broadcast packets from the server.

Broadcasting may interfere with other network traffic. A dedicated NatNet streaming network may be required between the server and the client(s).

Socket Size

Default: 1000000

This controls the socket size while streaming via Unicast. This property can be used to make extremely large data rates work properly.

DO NOT modify this setting unless instructed to do so by OptiTrack Support.

VRPN Settings

Enabled

Default: Disabled

When enabled, Motive streams Rigid Body data via the VRPN protocol.

Broadcast Port

Default: 3883

Specifies the broadcast port for VRPN streaming.

Remote Triggering

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:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<CaptureStart>
    <Name VALUE="RemoteTriggerTest_take01"/>
    <SessionName VALUE="SessionName" />
    <Notes VALUE="Take notes goes here if any"/>
    <Assets VALUE="skel1, skel2, sword" />
    <Description VALUE="" />
    <DatabasePath VALUE="S:/shared/testfolder/"/>
    <TimeCode VALUE="00:00:00:00"/>
    <PacketID VALUE="0"/>
    <HostName VALUE="optional host name" />
    <ProcessID VALUE="optional process id" />
</CaptureStart>
<?xml version="1.0" encoding="utf-8"?>
<CaptureStop>
    <Name VALUE="TakeName" />
    <Notes VALUE="Take notes go here if any." />
    <Assets VALUE="skel1, skel2, sword" />
    <TimeCode VALUE="00:00:00:00" />
    <HostName VALUE="optional host name" />
    <ProcessID VALUE="optional process id" />
</CaptureStop>

Capture Start Packet

Value
Description

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

DatabasePath

The file directory where the recorded captures will be saved.

Start Timecode

PacketID

(Reserved)

HostName

(Reserved)

ProcessID

(Reserved)

Capture Stop Packet

Value
Description

Name

Name of the recorded Take.

Notes

Informational notes for describing recorded a Take.

Assets

Timecode

HostName

(Reserved)

ProcessID

(Reserved)

Streaming Protocols/Plugins

NatNet SDK

C/C++ or VB/C#/.NET or MATLAB

Markers: Y Rigid Bodies: Y Skeletons: Y Trained Markersets: Y

Autodesk MotionBuilder Plugin

Runs locally or over a network. Allows streaming of both recorded data and real-time capture data for markers, Rigid Bodies, and Skeletons.

Comes with Motion Builder Resources: OptiTrack Optical Device OptiTrack Skeleton Device OptiTrack Insight VCS

Markers: Y Rigid Bodies: Y Skeletons: Y

Autodesk Maya Plugin

Streams capture data into Autodesk Maya for using the Virtual Camera System.

Works with Maya 2011 (x86 and x64), 2014, 2015, 2016, 2017 and 2018

Markers: Y Rigid Bodies: Y Skeletons: Y

Visual3D

With a Visual3D license, you can download the Visual3D server application which is used to connect an OptiTrack server to a Visual3D application. Using the plugin, Visual 3D receives streamed marker data to solve precise Skeleton models for biomechanics applications.

Unreal Engine 5 Plugin

Markers: Y Rigid Bodies: Y Skeletons: Y Trained Markersets: Y

Unity Plugin

Markers: Y Rigid Bodies: Y Skeletons: Y

Motive API

Runs Motive headlessly and provides the best Motive command/control. Also provides access to camera imagery and other data elements not available in the other streams.

C/C++

Markers: Y Rigid Bodies: Y Skeletons: N

Within Motive

VRPN Sample

Runs locally or over a network.

The Virtual-Reality Peripheral Network (VRPN) is an open source project containing a library and a set of servers that are designed for implementing a network interface between application programs and tracking devices used in a virtual-reality system.

Motive 3.1 uses VRPN version 7.33.1.

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

For more information on NatNet data subscription, please read the page.

Enables streaming of Rigid Body data, which includes the names of Rigid Body assets as well as positions and orientations of their .

For compatibility with left-handed coordinate systems, the simplest method is to rotate the capture volume 180 degrees on the Y axis when defining the ground plane during .

Enables the use of a remote trigger for recording using XML commands. Read more in the section, below.

The Settings panel contains advanced settings that are hidden by default. To access these settings, click the button in the top right corner and select Show Advanced.

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

Recording in Motive can control or be controlled by other remote applications through sending or receiving either or XML broadcast messages to or from a client application using the UDP communication protocol. This enables client applications to trigger Motive and vice versa. We recommend using commands because they are more robust and offer additional control features.

Recording start and stop commands can also be transmitted via XML packets. To trigger via XML messages, the under the Advanced Streaming Settings must be enabled. For Motive, or clients, to receive the packets, the XML messages must be sent via the

List of involved in the Take.

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 always equal to 0 at the trigger.

List of involved in the Take

Timecode values (SMPTE) for frame alignments. The value is zero.

Runs locally or over a network. The NatNet SDK includes multiple sample applications for C/C++, OpenGL, WinForms/.NET/C#, MATLAB, and Unity. It also includes a C/C++ sample showing how to decode Motive UDP packets directly without the use of client libraries (for cross platform clients such as Linux). For more information regarding NatNet SDK visit our page .

Markers: Y Rigid Bodies: N Skeletons: N C-Motion wiki:

Runs locally or over a network. Supports Unreal Engine version 5.3. This plugin allows streaming of Rigid Bodies, markers, Skeletons, trained markersets, and integration of HMD tracking within Unreal Engine projects. Please see the section of our documentation for more information.

Runs locally or over a network. This plugin allows streaming of tracking data and integration of HMD tracking within Unity projects. Please see the section of our documentation for more information.

For more information:

Join the community on the Forum today!

NatNet: Unicast Data Subscription Commands
pivot points
Calibration
VRPN knowledge base
NatNet SDK 4.0
Download
Download
Download
Visual3DServer Plugin
OptiTrack Unreal Engine Plugin
Download
OptiTrack Unity Plugin
Download
VRPN Github
OptiTrack Data Streaming
Remote Triggering
NatNet commands
NatNet
Remote Trigger setting
XML Broadcast port.
assets
assets
OptiTrack download site
NatNet SDK
NatNet SDK section
Streaming tab
Application Settings
subframe values
subframe
Broadcast Frame Data Enabled for streaming.
Streaming Status in the Control Deck.
Warning at Exit if Streaming is enabled.
Click image to enlarge.
Application Settings Panel: Streaming tab, with Advanced NatNet Settings highlighted.