Verwenden des Dateiformats des Sensor-SDK für Azure Kinect zum Aufzeichnen

Zum Aufzeichnen von Sensordaten wird das Matroska-Containerformat (.mkv) verwendet, mit dem mehrere Tracks mithilfe einer breiten Palette von Codecs gespeichert werden können. Die Aufzeichnungsdatei enthält Tracks zum Speichern von Farbe, Tiefe, IR-Bildern und IMU.

Allgemeine Informationen zum MKV-Containerformat finden Sie auf der Matroska-Website.

Trackname Codec-Format
COLOR Vom Modus abhängig (MJPEG, NV12 oder YUY2)
DEPTH b16g (16-Bit-Graustufen, Big-Endian)
IR b16g (16-Bit-Graustufen, Big-Endian)
IME Benutzerdefinierte Struktur, siehe IMU-Stichprobenstruktur weiter unten.

Verwenden von Drittanbietertools

Tools wie ffmpeg oder der Befehl mkvinfo aus dem Toolkit MKVToolNix können verwendet werden, um Informationen aus Aufzeichnungsdateien anzuzeigen und zu extrahieren.

Mit dem folgenden Befehl wird beispielsweise der Tiefentrack als Sequenz von 16-Bit-PNGs in denselben Ordner extrahiert:

ffmpeg -i output.mkv -map 0:1 -vsync 0 depth%04d.png

Mit dem Parameter -map 0:1 wird der Trackindex 1 extrahiert, der sich bei den meisten Aufzeichnungen auf die Tiefe bezieht. Wenn die Aufzeichnung keinen Farbtrack enthält, wird -map 0:0 verwendet.

Mit dem Parameter -vsync 0 wird erzwungen, dass ffmpeg Frames unverändert extrahiert, anstatt zu versuchen, eine Bildrate von 30 BpS, 15 BpS oder 5 BpS abzugleichen.

IMU-Stichprobenstruktur

Wenn IMU-Daten ohne Verwendung der Wiedergabe-API aus der Datei extrahiert werden, weisen die Daten das Binärformat auf. Die Struktur der IMU-Daten ist unten dargestellt. Alle Felder weisen das Little-Endian-Format auf.

Feld type
Accelerometer Timestamp (Beschleunigungsmesser-Zeitstempel) (µs) uint64
Accelerometer Data (Beschleunigungsmesserdaten) (x, y, z) float[3]
Gyroscope Timestamp (Gyroskopzeitstempel) (µs) uint64
Gyroscope Data (Gyroskopdaten) (x, y, z) float[3]

Identifizieren von Tracks

Möglicherweise muss ermittelt werden, welche Tracks Daten zu Farbe, Tiefe, IR usw. enthalten. Die Ermittlung der Tracks ist erforderlich, wenn zum Lesen einer Matroska-Datei Drittanbietertools verwendet werden. Tracknummern unterscheiden sich je nach Kameramodus und Gruppe der aktivierten Tracks. Zum Ermitteln der Bedeutung der einzelnen Tracks werden Tags verwendet.

Die weiter unten aufgeführten Tags sind jeweils an ein spezifisches Matroska-Element angefügt und können verwendet werden, um nach dem entsprechenden Track oder der entsprechenden Anlage zu suchen.

Diese Tags können mit Tools wie ffmpeg oder mkvinfo angezeigt werden. Die vollständige Liste der Tags ist auf der Seite Aufzeichnen und Wiedergeben aufgeführt.

Tag-Name Tagziel Tagwert
K4A_COLOR_TRACK Farbtrack Matroska-Track-UID
K4A_DEPTH_TRACK Tiefentrack Matroska-Track-UID
K4A_IR_TRACK IR-Track Matroska-Track-UID
K4A_IMU_TRACK IMU-Track Matroska-Track-UID
K4A_CALIBRATION_FILE Kalibrierungsanlage Dateiname der Anlage

Nächste Schritte

Aufzeichnen und Wiedergeben