本文内容
● 使用第三方工具
● IMU示例结构
● 识别轨道
若要录制传感器数据,需使用 Matroska (.mkv) 容器名堂,襶uan憧梢允褂枚嘀直嘟饴肫鞔娲⒍喔龉斓。 录制文件包罗用于存储颜色、深度、IR 图像和 IMU 的轨道。在Matroska 网站上可以找到 .mkv 容器名堂的大致详细信息。
轨道名称 | 编解码器名堂 |
COLOR | 与模式相关(MJPEG、NV12 或 YUY2) |
DEPTH | b16g(16 位灰度,大字节序) |
IR | b16g(16 位灰度,大字节序) |
IMU | 自界说结构。请参阅下面的 IMU 示例结构。 |
使用第三方工具
可以使用 ffmpeg 等工具或者MKVToolNix 工具包中的 mkvinfo 下令审查和提取录制文件中的信息。
例如,以下下令将深度轨道作为 16 位 PNG 序列提取到统一个文件夹:
ffmpeg -i output.mkv -map 0:1 -vsync 0 depth%04d.png
-map 0:1 参数将提取轨道索引 1,对于大多数录制内容而言,此索引是深度。 若是录制内容不包罗颜色轨道,则会使用 -map 0:0。
-vsync 0 参数强制 ffmpeg an原样提取帧,而不是实验匹配 30 fps、15 fps 或 5 fps 的帧速率。
IMU 示例结构
若是在不使用播放 API 的情形下从文件中提取 IMU 数据,则数据将接纳二进制名堂。 下面是 IMU 数据的结构。 所有字段均为小字节序。
字段 | 类型 |
加速率传感器时间戳 (?s) | uint64 |
加速率传感器数据 (x, y, z) | float[3] |
陀螺仪时间戳 (?s) | uint64 |
陀螺仪数据 (x, y, z) | float[3] |
识别轨道
可能需要识别哪个轨道包罗颜色、深度、IR 等属性。 使用第三方工具读取 Matroska 文件时,需要识别轨道。 轨道编号凭证相机模式和已启用的轨道集而异。 标志用于标识每个轨道的寄义。
下面所列的每个标志将附加到特定的 Matroska 元素,可用于查找响应的轨道或附件。
可以使用 ffmpeg 和 mkvinfo 等工具审查这些标志。
标志名称 | 标志目的 | 标志值 |
K4A_COLOR_TRACK | 颜色轨道 | Matroska 轨道 UID |
K4A_DEPTH_TRACK | 深度轨道 | Matroska 轨道 UID |
K4A_IR_TRACK | IR 轨道 | Matroska 轨道 UID |
K4A_IMU_TRACK | IMU 轨道 | Matroska 轨道 UID |
K4A_CALIBRATION_FILE | 校准附件 | 附件文件名 |