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 |