For the complete documentation index, see llms.txt. This page is also available as Markdown.

Video Streams

Get video streams information

get
/v1/videostreams

Returns video stream information. URLs for the video streams are generated dynamically based on client and network context, which prevents this endpoint from supporting subscriptions.

Required scopes
This endpoint requires the following scopes:
  • : Grants access to retrieve system data and information.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Responses
200

Video stream settings

application/json

Information about video stream. This information is mostly static but may change based on a user request.

stream_idstringRequired

Unique video stream identifier.

Example: Zoom
typestringRequired

Video stream type. Possible values:

  • Color - regular color video stream.
  • Thermal - thermal video stream.
frame_widthintegerOptional

Video frames width. Presented for fixed resolution encoders.

Example: 1920
frame_heightintegerOptional

Video frames height. Presented for fixed resolution encoders.

Example: 1080
sensor_widthnumberRequired

Sensor width in mm.

Example: 5.952
sensor_heightnumberRequired

Sensor height in mm.

Example: 3.348
lens_focal_lengthnumberRequired

Lens focal length in mm. This value is constant and is not affected by zoom. This value corresponds to the zoom_min value.

Example: 2.7
zoom_minnumberRequired

Minimum zoom level.

Example: 1
zoom_maxnumberRequired

Maximum zoom level.

Example: 32
codecstringRequired

Video codec. Possible values:

  • H.264
Example: H.264
rtsp_urlstringOptional

RTSP video stream url.

Example: rtsp://192.168.2.100:554/thermal
rtsps_urlstringOptional

RTSPS encoded video stream url.

Example: rtsps://192.168.2.100:322/thermal
can_do_snapshotbooleanRequired

If true then the video stream supports snapshot functionality. This means that the video stream can provide a snapshot image.

Example: true
get/v1/videostreams
GET /api/v1/videostreams HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Video stream settings

[
  {
    "stream_id": "zoom",
    "type": "Color",
    "frame_width": 1920,
    "frame_height": 1080,
    "sensor_width": 5.952,
    "sensor_height": 3.348,
    "lens_focal_length": 2.7,
    "zoom_min": 1,
    "zoom_max": 32,
    "codec": "H.264",
    "rtsp_url": "rtsp://192.168.2.100:554/zoom",
    "rtsps_url": "rtsps://192.168.2.100:322/zoom",
    "can_do_snapshot": true
  },
  {
    "stream_id": "overview",
    "type": "Color",
    "frame_width": 1920,
    "frame_height": 1080,
    "sensor_width": 5.952,
    "sensor_height": 3.348,
    "lens_focal_length": 2.7,
    "zoom_min": 1,
    "zoom_max": 1,
    "codec": "H.264",
    "rtsp_url": "rtsp://192.168.2.100:554/wide",
    "rtsps_url": "rtsps://192.168.2.100:322/wide",
    "can_do_snapshot": true
  },
  {
    "stream_id": "thermal",
    "type": "Thermal",
    "frame_width": 320,
    "frame_height": 240,
    "sensor_width": 3.84,
    "sensor_height": 2.88,
    "lens_focal_length": 9.1,
    "zoom_min": 1,
    "zoom_max": 1,
    "codec": "H.264",
    "rtsp_url": "rtsp://192.168.2.100:554/thermal",
    "rtsps_url": "rtsps://192.168.2.100:322/thermal",
    "can_do_snapshot": true
  }
]

Get video stream state

get
/v1/videostreams/{stream_id}/state

Returns frequently changing video stream information for the specified video stream.

Required scopes
This endpoint requires the following scopes:
  • : Grants access to retrieve system data and information.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Path parameters
stream_idstringRequired

Unique stream identifier.

Example: Zoom
Responses
200

Video stream frequently changing information

application/json

Frequently changing information about video stream

stream_idstringRequired

Unique video stream identifier.

Example: Zoom
is_streamingbooleanRequired

If true then the video stream is currently streaming.

Example: true
timestampnumberOptional

Video timestamp of the last video frame. For RTP video streams this is the RTP timestamp.

Example: 123456789
fov_horizontalnumberOptional

Horizontal field of view in degrees.

Example: 95.57
fov_verticalnumberOptional

Vertical field of view in degrees.

Example: 63.6
pan_nednumber · min: -180 · max: 180Optional

Camera pan angle in degrees in NED coordinates.

  • 0 - The camera is looking North.
  • +90 - The camera is looking East.
  • +180 - The camera is looking South.
  • -90 - The camera is looking West.
Example: 10
tilt_nednumber · min: -180 · max: 180Optional

Camera tilt angle in degrees in NED coordinates.

  • 0 - The camera is level, looking straight ahead.
  • -90 - The camera is looking straight up.
  • +90 - The camera is looking straight down towards gravity vector.
Example: 32
roll_nednumber · min: -180 · max: 180Optional

Camera roll angle in degrees in NED coordinates.

  • 0 - The camera is level, with the top facing upward.
  • +90 - The top of the camera is rotated to the right.
  • +180 - The top of the camera is facing downward (the same direction as gravity vector).
  • -90 - The top of the camera is rotated to the left.
Example: 0
zoom_levelnumberOptional

Current zoom level.

Example: 1
thermal_color_palettestringOptional

Thermal color palette. This property is present only for thermal video streams. If the video stream is not thermal then this property is absent.

Example: Ironbow
get/v1/videostreams/{stream_id}/state
GET /api/v1/videostreams/{stream_id}/state HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "stream_id": "zoom",
  "is_streaming": true,
  "timestamp": 123456789,
  "fov_horizontal": 47.785,
  "fov_vertical": 31.8,
  "zoom_level": 2
}

Set zoom

post
/v1/videostreams/{stream_id}/control/zoom

Sets the zoom level for the specified video stream.

Required scopes
This endpoint requires the following scopes:
  • : Allows sending commands to control the system.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Path parameters
stream_idstringRequired

Unique stream identifier.

Example: Zoom
Body

Request to set zoom level.

zoom_levelnumberRequired

New zoom level to set. Must be in the range from zoom_min to zoom_max.

Example: 2
Responses
202

The command was sent successfully

No content

post/v1/videostreams/{stream_id}/control/zoom
POST /api/v1/videostreams/{stream_id}/control/zoom HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "zoom_level": 2
}

No content

Set thermal color palette

post
/v1/videostreams/{stream_id}/control/palette

Sets the thermal color palette for the specified video stream.

Required scopes
This endpoint requires the following scopes:
  • : Allows sending commands to control the system.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Path parameters
stream_idstringRequired

Unique stream identifier.

Example: Thermal
Body

Request to set thermal color palette.

thermal_color_palettestringRequired

Thermal color palette. Possible values:

  • WhiteHot
  • BlackHot
  • Rainbow
  • RainbowHighContrast
  • Ironbow
  • Lava
  • Arctic
  • Glowbow
  • GradedFire
  • Hottest
Responses
202

The command was sent successfully

No content

post/v1/videostreams/{stream_id}/control/palette
POST /api/v1/videostreams/{stream_id}/control/palette HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 35

{
  "thermal_color_palette": "Ironbow"
}

No content

Get snapshot

get
/v1/videostreams/{stream_id}/snapshot

Returns a snapshot from the specified video stream.

Required scopes
This endpoint requires the following scopes:
  • : Grants access to retrieve system data and information.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Path parameters
stream_idstringRequired

Unique stream identifier.

Example: Zoom
Responses
200

Snapshot image

image/jpeg
string · binaryOptional
get/v1/videostreams/{stream_id}/snapshot
GET /api/v1/videostreams/{stream_id}/snapshot HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
binary

Last updated