使用 Azure Kinect 感測器 SDK 來記錄檔格式
為了記錄感測器數據,會使用 Matroska (.mkv) 容器格式,允許使用各種不同的編解碼器來儲存多個曲目。 錄製檔案包含用來儲存色彩、深度、IR 影像和 IMU 的曲目。
您可以在 Matroska 網站上找到 .mkv 容器格式的低階詳細數據。
追蹤名稱 | 編解碼器格式 |
---|---|
顏色 | 模式相依 (MJPEG、NV12 或 YUY2) |
DEPTH | b16g (16 位灰階, 大端) |
IR | b16g (16 位灰階, 大端) |
IMU | 自定義結構,請參閱 下面的IMU範例結構 。 |
使用第三方工具
例如 ffmpeg
或 MKVToolNix 工具組的 mkvinfo
命令,可用來檢視和擷取記錄檔案中的資訊。
例如,下列命令會將深度追蹤擷取為16位PPNG序列至相同的資料夾:
ffmpeg -i output.mkv -map 0:1 -vsync 0 depth%04d.png
參數 -map 0:1
會擷取追蹤索引 1,而大部分錄製內容會是深度。 如果錄製不包含色彩追蹤, -map 0:0
則會使用 。
參數 -vsync 0
會強制 ffmpeg 依原樣擷取畫面格,而不是嘗試比對 30 fps、15 fps 或 5 fps 的幀速率。
IMU 範例結構
如果在不使用播放 API 的情況下從檔案擷取 IMU 數據,則數據會以二進位格式顯示。 IMU 數據的結構如下。 所有欄位都是小到大。
欄位 | 類型 |
---|---|
加速計時間戳 (pps) | uint64 |
加速計資料 (x, y, z) | float[3] |
陀螺儀時間戳 (pps) | uint64 |
陀螺儀數據 (x, y, z) | float[3] |
識別追蹤
您可能需要識別哪些曲目包含 Color、Depth、IR 等等。 使用第三方工具來讀取 Matroska 檔案時,需要識別追蹤。 追蹤號碼會根據相機模式和啟用的曲目集而有所不同。 標記可用來識別每個追蹤的意義。
下列標籤清單會每個附加至特定的 Matroska 元素,而且可用來查閱對應的曲目或附件。
這些標籤可透過和mkvinfo
之類的ffmpeg
工具來檢視。
標籤的完整清單會列在 [記錄和播放 ] 頁面上。
標記名稱 | 標記目標 | 標籤值 |
---|---|---|
K4A_COLOR_TRACK | 色彩追蹤 | Matroska Track UID |
K4A_DEPTH_TRACK | 深度追蹤 | Matroska Track UID |
K4A_IR_TRACK | IR 追蹤 | Matroska Track UID |
K4A_IMU_TRACK | IMU 追蹤 | Matroska Track UID |
K4A_CALIBRATION_FILE | 校正附件 | 附件檔名 |