Compartilhar via


Usar o SDK do Sensor do Azure Kinect para registrar o formato de arquivo

Para registrar dados de sensor, é usado o formato de contêiner Matroska (.mkv), que permite que várias faixas sejam armazenadas usando uma ampla gama de codecs. O arquivo de gravação contém faixas para armazenar cores, profundidade, imagens do IR e IMU.

Detalhes de baixo nível do formato de contêiner .mkv podem ser encontrados no site do Matroska.

Nome da faixa Formato do codec
COR Dependente de modo (MJPEG, NV12 ou YUY2)
DEPTH b16g (escala de cinza de 16 bits, big endian)
IR b16g (escala de cinza de 16 bits, big endian)
IMU Estrutura personalizada, confira a Estrutura de exemplo do IMU abaixo.

Usar ferramentas de terceiros

Ferramentas como o comando ffmpeg ou mkvinfo do kit de ferramentas MKVToolNix podem ser usadas para exibir e extrair informações de arquivos de gravação.

Por exemplo, o seguinte comando extrairá a faixa de profundidade como uma sequência de PNGs de 16 bits para a mesma pasta:

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

O parâmetro -map 0:1 extrairá o índice 1 da faixa, que, para a maioria das gravações, será profundidade. Se a gravação não contiver uma faixa de cores, -map 0:0 será usada.

O parâmetro -vsync 0 força o ffmpeg a extrair os quadros no estado em que se encontram, em vez de tentar fazer a correspondência com uma taxa de quadros de 30 fps, 15 fps ou 5 fps.

Estrutura de exemplo do IMU

Se os dados do IMU forem extraídos do arquivo sem usar a API de reprodução, os dados estarão em formato binário. A estrutura dos dados do IMU está descrita abaixo. Todos os campos são little-endian.

Campo Tipo
Carimbo de data/hora do acelerômetro (μs) uint64
Dados do acelerômetro (x, y, z) float[3]
Carimbo de data/hora do giroscópio (μs) uint64
Dados do giroscópio (x, y, z) float[3]

Identificar faixas

Pode ser necessário identificar qual faixa contém cor, profundidade, IR e assim por diante. Você precisa identificar as faixas ao trabalhar com ferramentas de terceiros para ler um arquivo Matroska. Os números de faixa variam com base no modo de câmera e no conjunto de faixas habilitadas. As marcas são usadas para identificar o significado de cada faixa.

A lista de marcas abaixo é anexada a um elemento Matroska específico e pode ser usada para pesquisar a faixa ou o anexo correspondente.

Essas marcas são visíveis com ferramentas como ffmpeg e mkvinfo. A lista completa de marcas está listada na página Gravar e Reproduzir.

Nome da marca Destino da marca Valor da marca
K4A_COLOR_TRACK Faixa de cores UID da faixa do Matroska
K4A_DEPTH_TRACK Faixa de profundidade UID da faixa do Matroska
K4A_IR_TRACK Faixa do IR UID da faixa do Matroska
K4A_IMU_TRACK Faixa do IMU UID da faixa do Matroska
K4A_CALIBRATION_FILE Anexo de calibragem Nome do arquivo do anexo

Próximas etapas

Gravar e Reproduzir