Streams

Each camera contains a number of sensors of different types. Each sensor (or combination of multiple sensors) provides an image stream which can be consumed directly as video stream, or fed as input into a neural network. Our API exposes operations through which these streams can be consumed or manipulated. Each stream is addresses either by its sensor name - CAM_(A-H) or by its combined name - DEPTH_(A-H)_(A-H).

Depth API

Some camera models containing multiple image sensors, support a feature called Stereo Depth. This feature combines data from two image sensors at a time, to calculate the depth of the image in front of it. The result is a single image stream. The image will consist of depth data calculated by the camera, lighter areas will contain objects that are closer to the camera while darker areas will contain objects further away. This stream is configurable the same way as a single sensor.

Depth stream and the respective sensors it uses cannot be both active at the same time. E.g. if stream DEPTH_B_C is active, then streams CAM_B and CAM_C will be inactive and vice versa.

API Reference

List All Streams

get
/cameras/{mxid}/streams/
Path parameters
mxidstringRequiredPattern: [A-Z0-9]+
Responses
200

Successful Response

application/json
Responseany
get
/cameras/{mxid}/streams/

No content

Activate Stream

post
/cameras/{mxid}/streams/{stream_name}/
Path parameters
stream_namestringRequiredPattern: CAM_[A-H]|DEPTH_[A-H]_[A-H]
mxidstringRequiredPattern: [A-Z0-9]+
Responses
post
/cameras/{mxid}/streams/{stream_name}/

No content

Deactivate Stream

delete
/cameras/{mxid}/streams/{stream_name}/
Path parameters
stream_namestringRequiredPattern: CAM_[A-H]|DEPTH_[A-H]_[A-H]
mxidstringRequiredPattern: [A-Z0-9]+
Responses
delete
/cameras/{mxid}/streams/{stream_name}/

No content

Get Stream Config

get
/cameras/{mxid}/streams/{stream_name}/config
Path parameters
stream_namestringRequiredPattern: CAM_[A-H]|DEPTH_[A-H]_[A-H]
mxidstringRequiredPattern: [A-Z0-9]+
Responses
200

Successful Response

application/json
Responseany of
or
or
get
/cameras/{mxid}/streams/{stream_name}/config

Update Stream Config

post
/cameras/{mxid}/streams/{stream_name}/config
Path parameters
stream_namestringRequiredPattern: CAM_[A-H]|DEPTH_[A-H]_[A-H]
mxidstringRequiredPattern: [A-Z0-9]+
Body
or
or
Responses
200

Successful Response

application/json
Responseany of
or
or
post
/cameras/{mxid}/streams/{stream_name}/config

Get Stream Control

get
/cameras/{mxid}/streams/{stream_name}/control
Path parameters
stream_namestringRequiredPattern: CAM_[A-H]|DEPTH_[A-H]_[A-H]
mxidstringRequiredPattern: [A-Z0-9]+
Responses
200

Successful Response

application/json
get
/cameras/{mxid}/streams/{stream_name}/control

Update Stream Control

post
/cameras/{mxid}/streams/{stream_name}/control
Path parameters
stream_namestringRequiredPattern: CAM_[A-H]|DEPTH_[A-H]_[A-H]
mxidstringRequiredPattern: [A-Z0-9]+
Body
exposure_timeinteger · min: 1 · max: 33000Optional

Exposure time in microseconds. Ignored if auto_exposure_enable is set to true. Value must be between 1 and 33000

sensitivity_isointeger · min: 100 · max: 5000Optional

Value must be between 100 and 5000

auto_exposure_enablebooleanOptional
auto_exposure_compensationinteger · min: -9 · max: 9Optional

Value must be between -9 and 9

auto_exposure_limitintegerOptional

Maximum exposure time limit for auto-exposure in microseconds

auto_exposure_lockbooleanOptional
contrastinteger · min: -10 · max: 10Optional

Value must be between -10 and 10

brightnessinteger · min: -10 · max: 10Optional

Value must be between -10 and 10

saturationinteger · min: -10 · max: 10Optional

Value must be between -10 and 10

chroma_denoiseinteger · max: 4Optional

Value must be between 0 and 4

luma_denoiseinteger · max: 4Optional

Value must be between 0 and 4

auto_whitebalance_lockbooleanOptional
auto_whitebalance_modestring · enumOptionalPossible values:
manual_whitebalanceinteger · min: 1000 · max: 12000Optional

Value must be between 1000 and 12000

focusany ofOptional
or
nullOptional
Responses
200

Successful Response

application/json
post
/cameras/{mxid}/streams/{stream_name}/control

Capture Still Image

get
/cameras/{mxid}/streams/{stream_name}/still
Path parameters
stream_namestringRequiredPattern: CAM_[A-H]|DEPTH_[A-H]_[A-H]
mxidstringRequiredPattern: [A-Z0-9]+
Query parameters
formatany ofOptionalDefault: jpeg
stringOptional
or
nullOptional
Responses
200

Image bytes in the selected format

image/*
Responsestring
get
/cameras/{mxid}/streams/{stream_name}/still

Last updated