RM新时代网站

使用Orbbec SDK K4A Wrapper 錄制文件格式

本文內容

● 使用第三方工具

● IMU示例結構

● 識別軌道

若要錄制傳感器數據,需使用 Matroska (.mkv) 容器格式,以便可以使用多種編解碼器存儲多個(gè)軌道。 錄制文件包含用于存儲顏色、深度、IR 圖像和 IMU 的軌道。在Matroska 網(wǎng)站上可以找到 .mkv 容器格式的大致詳細信息。

軌道名稱(chēng)

編解碼器格式

COLOR

與模式相關(guān)(MJPEG、NV12 或 YUY2)

DEPTH

b16g(16 位灰度,大字節序)

IR

b16g(16 位灰度,大字節序)

IMU

自定義結構。請參閱下面的 IMU 示例結構。


使用第三方工具

可以使用 ffmpeg 等工具或者MKVToolNix 工具包中的 mkvinfo 命令查看和提取錄制文件中的信息。

例如,以下命令將深度軌道作為 16 位 PNG 序列提取到同一個(gè)文件夾:

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

-map 0:1 參數將提取軌道索引 1,對于大多數錄制內容而言,此索引是深度。 如果錄制內容不包含顏色軌道,則會(huì )使用 -map 0:0。

-vsync 0 參數強制 ffmpeg 按原樣提取幀,而不是嘗試匹配 30 fps、15 fps 或 5 fps 的幀速率。


IMU 示例結構

如果在不使用播放 API 的情況下從文件中提取 IMU 數據,則數據將采用二進(jìn)制格式。 下面是 IMU 數據的結構。 所有字段均為小字節序。

字段

類(lèi)型

加速度傳感器時(shí)間戳 (μs)

uint64

加速度傳感器數據 (x, y, z)

float[3]

陀螺儀時(shí)間戳 (μs)

uint64

陀螺儀數據 (x, y, z)

float[3]


識別軌道

可能需要識別哪個(gè)軌道包含顏色、深度、IR 等屬性。 使用第三方工具讀取 Matroska 文件時(shí),需要識別軌道。 軌道編號根據相機模式和已啟用的軌道集而異。 標記用于標識每個(gè)軌道的含義。

下面所列的每個(gè)標記將附加到特定的 Matroska 元素,可用于查找相應的軌道或附件。

可以使用 ffmpeg 和 mkvinfo 等工具查看這些標記。 

標記名稱(chēng)

標記目標

標記值

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

校準附件

附件文件名

RM新时代网站