Difference between revisions of "NatNetLinux"

From Mech
Jump to navigationJump to search
(Created page with "This is a C++ library to read raw NatNet packets into structured data fields on Linux systems. Please see the [https://github.com/rocketman768/NatNetLinux Github NatNetLinux p...")
 
 
Line 1: Line 1:
This is a C++ library to read raw NatNet packets into structured data fields on Linux systems. Please see the [https://github.com/rocketman768/NatNetLinux Github NatNetLinux page] for more detail.
This is a C++ library to read raw NatNet packets into structured data fields on Linux systems. Please see the [https://github.com/rocketman768/NatNetLinux 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.

Latest revision as of 16:30, 7 March 2014

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.