Azure Kinect DK
I tried Azure Kinect DK 2 years ago, and rencently I’d love to some fun with it again.
0. My Working Environment
1 | $ lsb_release -a |
1. Azure Kinect DK
1.1 Overview
1.2 Hardware Specification
Refer to Azure Kinect DK hardware specifications.
2. lsusb
and
Demonstration
[!NOTE:]
Azure Kinect DK is quite picky at USB cables.
2.1 Nothing Detected
For some USB cables, lsusb
shows nothing related to Azure
Kinect DK.
1 | $ lsusb | grep Azure |
Please also refer to: cannot connect via Thunderbolt 3.
2.2 Detected
For other USB cables, both lsusb
and
AzureKinectFirmwareTool are able to detect Azure
Kinect DK.
1 | $ AzureKinectFirmwareTool -q |
2.2.1 k4aviewer No Available Devices
However, when we run k4aviewer, it still shows No Available Devices.
1 | $ lsusb | grep Azure |
No Available Devices | No Available Devices, Errors |
---|---|
2.2.2 Detect Okay And Run Successfully
Fortunately, I got one cable working partially perperly, but lsusb failed to detect Azure Kinect DK's Microphone Array.
1 | $ lsusb | grep -i Azure |
2.3 I Believe and I Found It
Luckily, I found a cable, which is able to detect ALL of the following:
1 | $ lsusb | grep Azure |
2.4 4K Camera Is Working Fine Like An Independent UVC Camera
1 | $ v4l2-ctl --list-devices |
It can be simpilied decmonstrated that GUVCView is able to
successfully detect
Bus 002 Device 016: ID 045e:097d Microsoft Corp. Azure Kinect 4K Camera
as a UVC Camera and carry out the real-time streaming.
3. libdepthengine.so
Currently, Azure
Kinect DK supports Ubuntu 18.04
ONLY. However, the libdepthengine.so.2.0
is working fine under my Ubuntu 24.04, which can be
extracted directly from the package libk4a1.4_1.4.2_amd64.deb.
Save libdepthengine.so.2.0
under any $PATH
, and create a symbolic link if you want
to.
4. Build Azure-Kinect-Sensor-SDK Longer Vision From Source
Don’t use the original Azure-Kinect-Sensor-SDK. Use Azure-Kinect-Sensor-SDK Longer Vision instead.
5. Python Wrappers for Azure-Kinect-Sensor-SDK
Wrappers | Description |
---|---|
k4a Python wrapper | the official Python Wrapper with Azure-Kinect-Sensor-SDK |
pyk4a | a third-party Python Wrapper |
6.
The Bug:
replace_sample(). capturesync_drop, releasing capture early due to full queue TS
Please refer to the following 2 Github issues: