Partilhar via


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

Para gravar dados do sensor, o formato de contêiner Matroska (.mkv) é usado, o 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 IR e IMU.

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

Nome da faixa Formato Codec
COR Dependente do modo (MJPEG, NV12 ou YUY2)
PROFUNDIDADE b16g (escala de cinza de 16 bits, Big-endian)
IR b16g (escala de cinza de 16 bits, Big-endian)
IMU Estrutura personalizada, consulte Estrutura de exemplo da IMU abaixo.

Utilização de ferramentas de terceiros

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

Por exemplo, o comando a seguir 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 -map 0:1 parâmetro irá extrair o índice de faixa 1, que para a maioria das gravações será profundidade. Se a gravação não contiver uma faixa colorida, -map 0:0 será usada.

O -vsync 0 parâmetro força o ffmpeg a extrair quadros como estão, em vez de tentar corresponder a uma taxa de quadros de 30 fps, 15 fps ou 5 fps.

Estrutura da amostra da IMU

Se os dados 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 da IMU é a seguinte. Todos os campos são little-endian.

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

Identificação de faixas

Pode ser necessário identificar qual faixa contém Cor, Profundidade, IR e assim por diante. Identificar as faixas é necessário ao trabalhar com ferramentas de terceiros para ler um arquivo Matroska. Os números das faixas variam de acordo com o modo de câmara e o conjunto de faixas ativadas. As tags são usadas para identificar o significado de cada faixa.

A lista de tags abaixo está cada uma anexada a um elemento Matroska específico, e pode ser usada para procurar a faixa ou anexo correspondente.

Essas tags podem ser visualizadas com ferramentas como ffmpeg e mkvinfo. A lista completa de tags está listada na página Gravar e Reproduzir .

Nome do Sinalizador Alvo da tag Valor da tag
K4A_COLOR_TRACK Faixa de cores Matroska Track UID
K4A_DEPTH_TRACK Trilha de profundidade Matroska Track UID
K4A_IR_TRACK Trilha IR Matroska Track UID
K4A_IMU_TRACK Pista IMU Matroska Track UID
K4A_CALIBRATION_FILE Acessório de calibração Nome do ficheiro do anexo

Próximos passos

Gravação e reprodução