# Streaming with Azure Kinect DK

## Stream [Azure Kinect](https://azure.microsoft.com/en-us/services/kinect-dk/) on Linux and Windows

Sensor Stream Server supports live streaming with a connected [Azure Kinect](https://azure.microsoft.com/en-us/services/kinect-dk/) on **Linux** and **Windows**.&#x20;

{% hint style="info" %}
MacOS [vcpkg azure-kinect-sensor-sdk is currently broken](https://github.com/microsoft/vcpkg/issues/16329) so no streaming on MacOS until that is fixed (which is likely never).
{% endhint %}

[Azure Kinect](https://azure.microsoft.com/en-us/services/kinect-dk/) streams at high-bandwidth so if you want to send a sensor stream across the network it might be a good idea to compress the stream.

### 1.0 Prepare Sensor Stream Pipe

1.1 Follow installation instructions for [Linux](/linux.md)/[Windows](/windows.md) to build Sensor Stream Pipe on your development platform.

### 2.0 Plug-in your [Azure Kinect](https://azure.microsoft.com/en-us/services/kinect-dk/)

2.1 Plug in your [Azure Kinect](https://azure.microsoft.com/en-us/services/kinect-dk/) to the computer that you will be running Sensor Stream Server.

### 3.0 Run Sensor Stream Client and Sensor Stream Server

3.1 Run Sensor Stream Client with OpenCV (this will use OpenCV to visualize incoming streams)

```
./ssp_client_opencv 9999
```

Run with whatever port you have set in the config yaml (default is 9999)

3.2 Run Sensor Stream Server

```
./ssp_server ../../configs/serve_kinect_raw.yaml
```

You will need to provide an argument which has a path to the config yaml you want to use. Above we are using a config yaml that sets us up to stream color, depth, and IR raw to Sensor Stream Client.

You can update the config file to use different encoders to compress the feed and reduce bandwidth requirements.

You may have to try to plug in your [Azure Kinect](https://www.microsoft.com/en-us/p/azure-kinect-dk/8pp5vxmd9nhq?activetab=pivot:overviewtab) to different USB ports if you get an error connecting with Sensor Stream Server.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sensor-stream-pipe.moetsi.com/streaming-with-azure-kinect-dk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
