136 lines
7.5 KiB
Markdown
136 lines
7.5 KiB
Markdown
|
# Using Azure Kinect SDK
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
If you aren't making changes to the SDK itself, you should use a binary
|
||
|
distribution. On Windows, binaries are currently available as an MSI and a
|
||
|
NuGet package. On Linux, binaries are currently available as debian packages.
|
||
|
See below for installation instructions for each distribution mechanism. If
|
||
|
you would like a package that is not available please file an
|
||
|
[issue](https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/new?assignees=&labels=Enhancement&template=feature-request--enhancement-.md&title=).
|
||
|
|
||
|
If you are making changes to the SDK, you can build your own copy of the SDK
|
||
|
from source. Follow the instruction in [building](building.md) for how to
|
||
|
build from source.
|
||
|
|
||
|
### MSIs
|
||
|
|
||
|
The latest stable binaries are available for download as MSIs.
|
||
|
|
||
|
Tag | MSI | Firmware
|
||
|
-------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------
|
||
|
[v1.4.1](https://github.com/microsoft/Azure-Kinect-Sensor-SDK/releases/tag/v1.4.1) | [Azure Kinect SDK 1.4.1.exe](https://download.microsoft.com/download/3/d/6/3d6d9e99-a251-4cf3-8c6a-8e108e960b4b/Azure%20Kinect%20SDK%201.4.1.exe) | [1.6.110079014](https://download.microsoft.com/download/3/d/6/3d6d9e99-a251-4cf3-8c6a-8e108e960b4b/AzureKinectDK_Fw_1.6.110079014.bin)
|
||
|
[v1.4.0](https://github.com/microsoft/Azure-Kinect-Sensor-SDK/releases/tag/v1.4.0) | [Azure Kinect SDK 1.4.0.exe](https://download.microsoft.com/download/4/5/a/45aa3917-45bf-4f24-b934-5cff74df73e1/Azure%20Kinect%20SDK%201.4.0.exe) | [1.6.108079014](https://download.microsoft.com/download/4/5/a/45aa3917-45bf-4f24-b934-5cff74df73e1/Firmware/AzureKinectDK_Fw_1.6.108079014.bin)
|
||
|
[v1.3.0](https://github.com/microsoft/Azure-Kinect-Sensor-SDK/releases/tag/v1.3.0) | [Azure Kinect SDK 1.3.0.exe](https://download.microsoft.com/download/e/6/6/e66482b2-b6c1-4e34-bfee-95294163fc40/Azure%20Kinect%20SDK%201.3.0.exe) | [1.6.102075014](https://download.microsoft.com/download/1/9/8/198048e8-63f2-45c6-8f96-1fd541d1b4bc/AzureKinectDK_Fw_1.6.102075014.bin)
|
||
|
[v1.2.0](https://github.com/microsoft/Azure-Kinect-Sensor-SDK/releases/tag/v1.2.0) | Deprecated | [1.6.102075014](https://download.microsoft.com/download/1/9/8/198048e8-63f2-45c6-8f96-1fd541d1b4bc/AzureKinectDK_Fw_1.6.102075014.bin)
|
||
|
[v1.1.1](https://github.com/Microsoft/Azure-Kinect-Sensor-SDK/releases/tag/v1.1.1) | Deprecated | [1.6.987014](https://download.microsoft.com/download/4/9/0/490A8EB2-FFCA-4BAD-B0AD-0581CCE438FC/AzureKinectDK_Fw_1.6.987014.bin)
|
||
|
[v1.1.0](https://github.com/Microsoft/Azure-Kinect-Sensor-SDK/releases/tag/v1.1.0) | Deprecated | [1.6.987014](https://download.microsoft.com/download/4/9/0/490A8EB2-FFCA-4BAD-B0AD-0581CCE438FC/AzureKinectDK_Fw_1.6.987014.bin)
|
||
|
[v1.0.2](https://github.com/Microsoft/Azure-Kinect-Sensor-SDK/releases/tag/v1.0.2) | Deprecated | [1.6.987014](https://download.microsoft.com/download/4/9/0/490A8EB2-FFCA-4BAD-B0AD-0581CCE438FC/AzureKinectDK_Fw_1.6.987014.bin)
|
||
|
|
||
|
The installer will put all the needed headers, binaries, and tools in the
|
||
|
location you choose (by default this is `C:\Program Files\Azure Kinect SDK
|
||
|
version\sdk`).
|
||
|
|
||
|
### NuGet
|
||
|
|
||
|
Directly include the Sensor SDK in your project using
|
||
|
[Nuget](https://www.nuget.org/packages/microsoft.azure.kinect.sensor/).
|
||
|
|
||
|
### Debian Package
|
||
|
|
||
|
We currently have debian packages available for Ubuntu 18.04. If you have
|
||
|
need for a different debian distribution, please file an
|
||
|
[enhancement request](https://aka.ms/azurekinectfeedback).
|
||
|
|
||
|
Our packages are hosted in [Microsoft's Package
|
||
|
Repository](https://packages.microsoft.com).
|
||
|
* **AMD64** users, please follow [these
|
||
|
instructions](https://docs.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software)
|
||
|
to configure Microsoft's Package Repository on your machine.
|
||
|
* **ARM64** users, please use the same instructions, but use https://packages.microsoft.com/ubuntu/18.04/multiarch/prod for the repository path instead of the default ~~https://packages.microsoft.com/ubuntu/18.04/prod~~.
|
||
|
|
||
|
|
||
|
Once you have configured Microsoft's Package Repository you should have access
|
||
|
to the following packages:
|
||
|
|
||
|
* libk4a\<major\>.\<minor\> (Runtime package)
|
||
|
* libk4a\<major\>.\<minor\>-dev (Development package)
|
||
|
* k4a-tools (Tools package)
|
||
|
|
||
|
Please note that "\<major\>" and "\<minor\>" refer to the major and minor
|
||
|
portion of the version of the SDK you would like to target. For example, at the writing of these instructions the following packages are available.
|
||
|
|
||
|
* libk4a1.4
|
||
|
* libk4a1.4-dev
|
||
|
* k4a-tools
|
||
|
|
||
|
Each package contains different elements.
|
||
|
|
||
|
* Runtime package - contains shared objects needed to run executables that depend on libk4a.
|
||
|
* Development package - contains headers and cmake files to build against libk4a.
|
||
|
* Tools package - contains k4aviewer and k4arecorder
|
||
|
|
||
|
## Using tools
|
||
|
|
||
|
The installer comes with a pre-built viewer application (k4aviewer.exe) which can be used to verify the
|
||
|
functionality of your device and explore its capabilities. The installer puts a link to this in your Start
|
||
|
menu as Azure Kinect Viewer. Other command line tools; such as the recorder and firmware update utilities, are
|
||
|
available in the installer 'tools' directory.
|
||
|
|
||
|
## Including the SDK in your project
|
||
|
|
||
|
If you are including the Azure Kinect SDK in a C or C++ project, update your project to link to **k4a.lib** and
|
||
|
add the include path such that you can `#include <k4a/k4a.h>`. You also need to ensure that **k4a.dll** and **depthengine_2_0.dll** are in your path or in the same directory as your application.
|
||
|
|
||
|
For recording and playback you will need to also reference **k4arecord.lib** and the headers in include/k4arecord and have
|
||
|
**k4arecord.dll** in your path.
|
||
|
|
||
|
## Dependencies
|
||
|
|
||
|
The following dependencies are needed for the Azure Kinect SDK to run.
|
||
|
|
||
|
### Cross Platform Dependencies
|
||
|
|
||
|
The Azure Kinect SDK uses a closed source depth engine to interpret depth frames
|
||
|
coming from the depth camera. This depth engine must be in your OS's loader's
|
||
|
path. The depth engine is a shared object and can be found with any version
|
||
|
of the shipping SDK. If you are a developer, you will need to copy this
|
||
|
depth engine from where the SDK is installed to a location where your loader
|
||
|
can find it.
|
||
|
|
||
|
### Windows Dependencies
|
||
|
|
||
|
* [Depth Engine](depthengine.md)
|
||
|
|
||
|
### Linux Dependencies
|
||
|
|
||
|
* OpenSSL
|
||
|
|
||
|
* OpenGL
|
||
|
|
||
|
* [Depth Engine](depthengine.md)
|
||
|
|
||
|
## Device Setup
|
||
|
|
||
|
### Windows Device Setup
|
||
|
|
||
|
On Windows, once attached, the device should automatically enumerate and load
|
||
|
all drivers.
|
||
|
|
||
|
### Linux Device Setup
|
||
|
|
||
|
On Linux, once attached, the device should automatically enumerate and load
|
||
|
all drivers. However, in order to use the Azure Kinect SDK with the device and without
|
||
|
being 'root', you will need to setup udev rules. We have these rules checked
|
||
|
into this repo under 'scripts/99-k4a.rules'. To do so:
|
||
|
|
||
|
* Copy 'scripts/99-k4a.rules' into '/etc/udev/rules.d/'.
|
||
|
* Detach and reattach Azure Kinect devices if attached during this process.
|
||
|
|
||
|
Once complete, the Azure Kinect camera is available without being 'root'.
|
||
|
|
||
|
## API Documentation
|
||
|
|
||
|
See https://microsoft.github.io/Azure-Kinect-Sensor-SDK/ for the most recent API documentation, including documentation for the current
|
||
|
development branch.
|