Utiliser le Kit de développement logiciel (SDK) de capteur Azure Kinect pour enregistrer un format de fichier

Pour enregistrer des données de capteur, le format de conteneur Matroska (.mkv) est utilisé, ce qui permet de stocker plusieurs pistes à l’aide de toute une série de codecs. Le fichier d’enregistrement contient des pistes pour le stockage des images en couleurs, de profondeur et IR, ainsi que des IMU.

Les détails de bas niveau du format de conteneur .mkv sont disponibles sur le site Web Matroska.

Nom de piste Format de codec
COULEUR Dépendant du mode (MJPEG, NV12 ou YUY2)
DEPTH b16g (nuances de gris, big-endian 16 bit)
IR b16g (nuances de gris, codage Big Endian 16 bite)
Unités de mesure inertielle Structure personnalisée, consultez la structure d’échantillon d’IMU ci-dessous.

Utilisation d’outils tiers

Vous pouvez utiliser des outils tels que ffmpeg ou la commande mkvinfo du kit de ressources MKVToolNix pour afficher et extraire des informations de fichiers d’enregistrement.

Par exemple, la commande suivante extrait la piste de profondeur sous la forme d’une séquence de png 16 bits dans le même dossier :

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

Le paramètre -map 0:1 extrait la piste index 1 qui, pour la plupart des enregistrements, est celle de la profondeur. Si l’enregistrement ne contient pas de piste couleurs, il convient d’utiliser -map 0:0.

Le paramètre -vsync 0 force ffmpeg à extraire les images telles quelles au lieu de tenter de se conformer à une cadence de 30, 15 ou 5 i/s.

Structure d’échantillon d’IMU

Si les données d’IMU sont extraites du fichier sans utilisation de l’API de lecture, elles ont une forme binaire. La structure des données d’IMU est présentée ci-dessous. Tous les champs sont codés en mode Little Endian.

Champ Type
Horodatage de l’accéléromètre (μs) uint64
Données de l’accéléromètre (x, y, z) float[3]
Horodatage du gyroscope (μs) uint64
Données du gyroscope (x, y, z) float[3]

Identification des pistes

Il peut être nécessaire d’identifier la piste Couleur, Profondeur, IR et ainsi de suite. L’identification des pistes est nécessaire lors de l’utilisation d’outils tiers pour lire un fichier Matroska. Les numéros de piste varient en fonction du mode de la caméra et de l’ensemble des pistes activées. Des balises sont utilisées pour identifier la signification de chaque piste.

Dans la liste ci-dessous, chaque balise est attachée à un élément Matroska spécifique et peut être utilisée pour rechercher la piste ou la pièce jointe correspondante.

Ces balises sont visibles avec des outils tels que ffmpeg et mkvinfo. La liste complète des balises figure dans la page Enregistrement et lecture.

Nom de la balise Cible de la balise Valeur de la balise
K4A_COLOR_TRACK Piste Couleur UID de piste Matroska
K4A_DEPTH_TRACK Piste Profondeur UID de piste Matroska
K4A_IR_TRACK Piste IR UID de piste Matroska
K4A_IMU_TRACK Piste IMU UID de piste Matroska
K4A_CALIBRATION_FILE Pièce jointe d’étalonnage Nom du fichier de pièce jointe

Étapes suivantes

Enregistrement et lecture