The frame timestamp is the time the frame was created. Its accuracy determines how accurately frames from different sensor streams can be matched. If the frame timestamp is not accurate, there will be dis-synchronisation between frames from different streams of the same sensor. This in turn affects the accuracy of the Nuitrack algorithms.
Nuitrack has several options for the timestamp source, the following list is sorted from most accurate to least accurate:
device
— timestamp is generated on the sensor when the frame occurssystem
— timestamp generated on the sensor vendor's SDK side at the moment a frame is received from the sensornuitrack
— timestamp is generated on the Nuitrack side at the moment the frame is received from the sensor vendor's SDKWe calculate metrics based on frame timestamps and make sure their values stay within the working range for Nuitrack algorithms.
In some cases (depending on the sensor model and firmware), the timestamp sources provided by the sensor vendor (*device
* and *system*
) may not provide correct data, causing an exception to be thrown in Nuitrack.
In this case, we recommend rolling back to a less accurate timestamp source from the list above.
To do this, change the value of the Sensing.TimestampSource.value
parameter via API (Nuitrack::setConfigValue("Sensing.TimestampSource.value", "nuitrack")
) or via the %NUITRACK_HOME%/data/nuitrack.config file.
Windows
To make the device
value of the timestamp source available, the metadata must be registered: https://github.com/orbbec/OrbbecSDK/blob/v1.10.18/misc/scripts/obsensor_metadata_win10.md