Sensor Stream Client

Sensor Stream Client is the destination that receives the sent frames from Sensor Stream Server.

The ssp_client application receives network packets from the ssp_server, de-serializes and decodes them, and makes them available for processing.

For example, you could use the code with BundleFusion or another, comparable algorithm. This is beneficial if you’re ingesting multiple sensor streams, and want to run computer vision algorithms such as skeleton tracking. And also lends itself perfectly to projects involving sensors in multiple locations, i.e. if you want to combine streams from a variety of drones operating in different locations into one stream.

You can have Sensor Stream Client receive multiple streams and ingest the data for a spatial computing/computer vision pipeline.

Processing Examples

To provide an example, ssp_client_opencv converts the encoded frames into displayable OpenCV, whereas ssp_client_k4a connects with remote Azure Kinect body tracking and ssp_client_pointcloud generates a pointcloud from your Kinect DK data.

These three different clients provide three examples of output format, but you can adapt this code for final processing however you like.

Have a look at ssp_client_template for a bare-bones template that you can play around with.

./bin/ssp_client_opencv <port> (<log level>) (<log file>)
./bin/ssp_client_k4a <port> (<log level>) (<log file>)
./bin/ssp_client_pointcloud <port> (<output_folder>) (<log level>) (<log file>)

Due to the enqueuing process as described in the ssp_server section, it is recommended that you start the ssp_client application first.

Parallel processing

By default, the ssp_client can receive frames from multiple servers in parallel, and will process the input using a fair queuing method.

Last updated