NatNetLinux

From Mech
Jump to: navigation, search

This is a C++ library to read raw NatNet packets into structured data fields on Linux systems. Please see the Github NatNetLinux page for more detail.

NatNet

NatNet is a protocol specified by Optitrack. Below are some of the surprising details I learned about it.

  • The 'latency' field of a NatNet packet is not latency of any sort. It is a timestamp added by Motive.
  • The 'latency' field is a float, meaning it has about 7 digits of precision. Since it starts at 0 when Motive starts, this means that it can give you .1 ms precision only for about 1,000 seconds afterward, and 1 ms precision for about 10,000 seconds. It's useless.
  • The 'frame number' field of a NatNet packet is also useless in live mode. You may get many consecutive packets with the same frame number. This field is only defined in playback mode.
Personal tools