Azure Kinect Sensor SDK gebruiken om de bestandsindeling vast te leggen
Voor het vastleggen van sensorgegevens wordt de Matroska-containerindeling (.resource) gebruikt, waardoor meerdere sporen kunnen worden opgeslagen met behulp van een breed scala aan codecs. Het opnamebestand bevat sporen voor het opslaan van Kleuren, Diepte, IR-afbeeldingen en IMU.
Details op laag niveau van de .vm-containerindeling vindt u op de Matroska-website.
Naam bijhouden | Codec-indeling |
---|---|
KLEUR | Modusafhankelijk (MJPEG, NV12 of YUY2) |
DIEPTE | b16g (16-bits grijswaarden, Big-endian) |
IR | b16g (16-bits grijswaarden, Big-endian) |
IMU | Aangepaste structuur, zie de voorbeeldstructuur van IMU hieronder. |
Hulpprogramma's van derden gebruiken
Hulpprogramma's zoals ffmpeg
of de mkvinfo
opdracht van de TOOLKITToolNix toolkit kunnen worden gebruikt om informatie uit opnamebestanden weer te geven en te extraheren.
Met de volgende opdracht wordt bijvoorbeeld het dieptespoor geëxtraheerd als een reeks van 16-bits PNG's naar dezelfde map:
ffmpeg -i output.mkv -map 0:1 -vsync 0 depth%04d.png
Met de -map 0:1
parameter wordt track index 1 geëxtraheerd, wat voor de meeste opnamen diepte zal zijn. Als de opname geen kleurenspoor bevat, -map 0:0
wordt deze gebruikt.
De -vsync 0
parameter dwingt ffmpeg om frames as-is te extraheren in plaats van te proberen een framerate van 30 fps, 15 fps of 5 fps te vinden.
IMU-voorbeeldstructuur
Als IMU-gegevens uit het bestand worden geëxtraheerd zonder de afspeel-API te gebruiken, worden de gegevens in binaire vorm weergegeven. De structuur van de IMU-gegevens is hieronder. Alle velden zijn little-endian.
Veld | Type |
---|---|
Tijdstempel van versnellingsmeter (μs) | uint64 |
Versnellingsmetergegevens (x, y, z) | float[3] |
Gyroscope Timestamp (μs) | uint64 |
Gyroscoopgegevens (x, y, z) | float[3] |
Sporen identificeren
Het kan nodig zijn om te bepalen welke track kleur, diepte, IR, enzovoort bevat. Het identificeren van de sporen is nodig bij het werken met hulpprogramma's van derden om een Matroska-bestand te lezen. Nummers bijhouden variëren op basis van de cameramodus en set ingeschakelde nummers. Tags worden gebruikt om de betekenis van elk spoor te identificeren.
De onderstaande lijst met tags is gekoppeld aan een specifiek Matroska-element en kan worden gebruikt om het bijbehorende spoor of de bijbehorende bijlage op te zoeken.
Deze tags kunnen worden weergegeven met hulpprogramma's zoals ffmpeg
en mkvinfo
.
De volledige lijst met tags wordt weergegeven op de pagina Opnemen en Afspelen .
Codenaam | Tagdoel | Tagwaarde |
---|---|---|
K4A_COLOR_TRACK | Kleurspoor | Matroska Track UID |
K4A_DEPTH_TRACK | Dieptespoor | Matroska Track UID |
K4A_IR_TRACK | IR-trace | Matroska Track UID |
K4A_IMU_TRACK | IMU Track | Matroska Track UID |
K4A_CALIBRATION_FILE | Kalibratiebijlage | Bestandsnaam van bijlage |