Videon Streaming REST API
This document presents the REST API for Videon streaming devices. Multimedia encoder settings and media destinations(outputs) can be configured through the REST API.
For specific possible values, please refer to the particular streaming device you are using. All Videon streaming devices share a common REST API, but the specific features supported will vary for each device model.
System ¶
System ¶
Get System SettingsGET/v2/system
Get the system-wide settings for the device.
These settings include network settings, name, id and other attributes not related to encode or media transmission.
Example URI
200Headers
Content-Type: application/jsonBody
{
"device_name": "StreamDevices1",
"ip_scheme": "dhcp",
"net_connected": true,
"mac_address": "ab:cd:ef:12:34:56",
"ip_address": "1.2.3.4",
"network": {
"ip_address": "1.2.3.4",
"netmask": "255.255.255.0",
"gateway": "1.2.3.1",
"dns_addresses": [
"1.1.1.1",
"8.8.8.8"
]
},
"static_network": {
"ip_address": "1.2.3.4",
"netmask": "255.255.255.0",
"gateway": "1.2.3.1",
"dns_addresses": [
"1.1.1.1",
"8.8.8.8"
]
},
"version": "versionstring",
"device_id": "deviceid",
"clock": {
"ntp_server": "time.nist.gov",
"timezone": "America/New_York"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"device_name": {
"type": "string"
},
"ip_scheme": {
"type": "string"
},
"net_connected": {
"type": "boolean"
},
"mac_address": {
"type": "string"
},
"ip_address": {
"type": "string"
},
"network": {
"type": "object",
"properties": {
"ip_address": {
"type": "string"
},
"netmask": {
"type": "string"
},
"gateway": {
"type": "string"
},
"dns_addresses": {
"type": "array"
}
},
"required": [
"ip_address",
"netmask",
"gateway",
"dns_addresses"
]
},
"static_network": {
"type": "object",
"properties": {
"ip_address": {
"type": "string"
},
"netmask": {
"type": "string"
},
"gateway": {
"type": "string"
},
"dns_addresses": {
"type": "array"
}
},
"required": [
"ip_address",
"netmask",
"gateway",
"dns_addresses"
]
},
"version": {
"type": "string"
},
"device_id": {
"type": "string"
},
"clock": {
"type": "object",
"properties": {
"ntp_server": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"ntp_server",
"timezone"
]
}
},
"required": [
"device_name",
"ip_scheme",
"net_connected",
"mac_address",
"ip_address",
"network",
"static_network",
"version",
"device_id",
"clock"
]
}Update System SettingsPUT/v2/system
Update the system-wide settings for the device.
These settings include network settings, name, id and other attributes not related to encode or media transmission.
Example URI
Headers
Content-Type: application/jsonBody
{
"device_name": "StreamDevices1",
"ip_scheme": "static",
"static_network": {
"ip_address": "1.2.3.4",
"netmask": "255.255.255.0",
"gateway": "1.2.3.1",
"dns_addresses": [
"1.1.1.1",
"8.8.8.8"
]
},
"clock": {
"ntp_server": "time.nist.gov",
"timezone": "America/New_York"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"device_name": {
"type": "string"
},
"ip_scheme": {
"type": "string"
},
"static_network": {
"type": "object",
"properties": {
"ip_address": {
"type": "string"
},
"netmask": {
"type": "string"
},
"gateway": {
"type": "string"
},
"dns_addresses": {
"type": "array"
}
},
"required": [
"ip_address",
"netmask",
"gateway",
"dns_addresses"
]
},
"clock": {
"type": "object",
"properties": {
"ntp_server": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"ntp_server",
"timezone"
]
}
},
"required": [
"device_name",
"ip_scheme",
"static_network",
"clock"
]
}204About ¶
Get About (Device info)GET/v2/about
Example URI
200Headers
Content-Type: application/jsonBody
{
"daemon_version": "12.3.4"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"daemon_version": {
"type": "string"
}
},
"required": [
"daemon_version"
]
}Input Channels ¶
Input Channels ¶
Get Input Channel ListGET/v2/in_channels
Get the list of input channels.
Example URI
200Headers
Content-Type: application/jsonBody
{
"in_channels": [
{
"in_channel_id": 1,
"input_type": "hardware"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"in_channels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"in_channel_id": {
"type": "number"
},
"input_type": {
"type": "string",
"enum": [
"hardware"
]
}
},
"required": [
"in_channel_id",
"input_type"
]
}
}
}
}Input Channel Configuration ¶
Get Input Channel ConfigurationGET/v2/in_channels/{id}
Get the input channel configuration.
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: application/jsonBody
{
"in_channel_id": 1,
"audio_input": {
"value": "input_embedded",
"possible_values": [
"input_auto",
"input_embedded",
"input_3p5mm"
],
"detected": true,
"sdi_ignore_phase": true
},
"video_input": {
"value": "input_hdmi",
"possible_values": [
"input_auto",
"input_hdmi",
"input_sdi"
],
"detected_format": {
"value": "FORMAT_1080p60"
}
},
"video_rotation": {
"value": "ROTATE_0",
"possible_values": [
"ROTATE_0",
"ROTATE_90",
"ROTATE_180",
"ROTATE_270"
]
},
"graphic_overlay": {
"enable": true,
"position": {
"preset": {
"value": "MANUAL",
"possible_values": [
"MANUAL",
"FULLSCREEN",
"LOWER_THIRD",
"TOP_LEFT",
"BOTTOM_LEFT",
"TOP_CENTER",
"CENTER",
"BOTTOM_CENTER",
"TOP_RIGHT",
"BOTTOM_RIGHT"
]
},
"x": 0,
"y": 0,
"width": 100,
"height": 100,
"lock_aspect_ratio": {
"value": "NO_LOCK",
"possible_values": [
"NO_LOCK",
"LOCK_TO_WIDTH",
"LOCK_TO_HEIGHT"
]
}
},
"image_status": "NO_IMAGE"
},
"name": "Input1",
"connection_caps": {
"producer_caps": [
"RAW_VIDEO",
"RAW_AUDIO",
"DATA_SMPTE291"
]
},
"input_type": {
"value": "hardware",
"hardware": {
"hw_channel": 0
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"in_channel_id": {
"type": "number"
},
"audio_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"detected": {
"type": "boolean"
},
"sdi_ignore_phase": {
"type": "boolean"
}
},
"required": [
"value",
"possible_values",
"detected",
"sdi_ignore_phase"
]
},
"video_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"detected_format": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"value",
"possible_values",
"detected_format"
]
},
"video_rotation": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"graphic_overlay": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"position": {
"type": "object",
"properties": {
"preset": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"lock_aspect_ratio": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
}
},
"required": [
"preset",
"x",
"y",
"width",
"height",
"lock_aspect_ratio"
]
},
"image_status": {
"type": "string"
}
},
"required": [
"enable",
"position",
"image_status"
]
},
"name": {
"type": "string"
},
"connection_caps": {
"type": "object",
"properties": {
"producer_caps": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"producer_caps"
]
},
"input_type": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"hardware"
]
},
"hardware": {
"type": "object",
"properties": {
"hw_channel": {
"type": "number"
}
},
"required": [
"hw_channel"
]
}
},
"required": [
"value"
]
}
},
"required": [
"in_channel_id",
"audio_input",
"video_input",
"video_rotation",
"graphic_overlay",
"name",
"connection_caps",
"input_type"
]
}Update Input Channel ConfigurationPUT/v2/in_channels/{id}
Set the input channel configuration.
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"audio_input": {
"value": "input_embedded",
"sdi_ignore_phase": true
},
"video_input": {
"value": "input_hdmi"
},
"video_rotation": {
"value": "ROTATE_0"
},
"graphic_overlay": {
"enable": true,
"position": {
"preset": {
"value": "MANUAL"
},
"x": 0,
"y": 0,
"width": 100,
"height": 100,
"lock_aspect_ratio": {
"value": "NO_LOCK"
}
}
},
"name": "Input1"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"audio_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"sdi_ignore_phase": {
"type": "boolean"
}
},
"required": [
"value",
"sdi_ignore_phase"
]
},
"video_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"video_rotation": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"graphic_overlay": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"position": {
"type": "object",
"properties": {
"preset": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"lock_aspect_ratio": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"preset",
"x",
"y",
"width",
"height",
"lock_aspect_ratio"
]
}
},
"required": [
"enable",
"position"
]
},
"name": {
"type": "string"
}
},
"required": [
"audio_input",
"video_input",
"graphic_overlay",
"name"
]
}204Create New Input ChannelPOST/v2/in_channels/
Create the input channel configuration.
Example URI
Headers
Content-Type: application/jsonBody
{
"audio_input": {
"value": "input_embedded",
"sdi_ignore_phase": true
},
"video_input": {
"value": "input_hdmi"
},
"video_rotation": {
"value": "ROTATE_0"
},
"graphic_overlay": {
"enable": true,
"position": {
"preset": {
"value": "MANUAL"
},
"x": 0,
"y": 0,
"width": 100,
"height": 100,
"lock_aspect_ratio": {
"value": "NO_LOCK"
}
}
},
"name": "Input1",
"input_type": {
"value": "hardware",
"hardware": {
"hw_channel": 0
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"audio_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"sdi_ignore_phase": {
"type": "boolean"
}
},
"required": [
"value",
"sdi_ignore_phase"
]
},
"video_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"video_rotation": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"graphic_overlay": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"position": {
"type": "object",
"properties": {
"preset": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"lock_aspect_ratio": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"preset",
"x",
"y",
"width",
"height",
"lock_aspect_ratio"
]
}
},
"required": [
"enable",
"position"
]
},
"name": {
"type": "string"
},
"input_type": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"hardware"
]
},
"hardware": {
"type": "object",
"properties": {
"hw_channel": {
"type": "number"
}
},
"required": [
"hw_channel"
]
}
},
"required": [
"value"
]
}
},
"required": [
"audio_input",
"video_input",
"graphic_overlay",
"name",
"input_type"
]
}204Delete Input ChannelDELETE/v2/in_channels/{id}
Delete the input channel configuration.
Example URI
- id
integer(required) Example: 0
204Input Channel StatusGET/v2/in_channels/{id}/status
Get the status info of the input channel.
NOTE: This information is very product specific and is subject to change.
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: application/jsonBody
{
"video": {
"width": 1920,
"height": 1080,
"interlaced": false,
"fieldrate": {
"numerator": 60000,
"denominator": 1001
},
"input_type": "VIDEO_IN_NONE"
},
"audio": {
"sample_rate_hz": 48000,
"input_type": "AUDIO_IN_NONE"
},
"sdi_rx": {
"pll_lock": true,
"video": {
"horizontal_active": 1920,
"horizontal_total": 2200,
"vertical_active": 1080,
"vertical_total": 1125,
"interlaced": false,
"fractional_framerate": true
},
"audio": {
"active_channels": [
1,
2,
3,
4,
5,
6,
7,
8
],
"chan_1_2_sample_rate_hz": 48000,
"valid_phase_data": true
}
},
"hdmi_rx": {
"pll_lock": true,
"dvi": false,
"video": {
"vsync_stable": true,
"width": 1920,
"height": 1080,
"interlaced": false,
"vsync_period_us": 16683
},
"audio": {
"present": true,
"pll_phase_lock": true,
"pll_freq_lock": true,
"sample_rate_hz": 48000
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"video": {
"type": "object",
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"interlaced": {
"type": "boolean"
},
"fieldrate": {
"type": "object",
"properties": {
"numerator": {
"type": "number"
},
"denominator": {
"type": "number"
}
}
},
"input_type": {
"type": "string"
}
},
"required": [
"input_type"
]
},
"audio": {
"type": "object",
"properties": {
"sample_rate_hz": {
"type": "number"
},
"input_type": {
"type": "string"
}
},
"required": [
"input_type"
]
},
"sdi_rx": {
"type": "object",
"properties": {
"pll_lock": {
"type": "boolean"
},
"video": {
"type": "object",
"properties": {
"horizontal_active": {
"type": "number"
},
"horizontal_total": {
"type": "number"
},
"vertical_active": {
"type": "number"
},
"vertical_total": {
"type": "number"
},
"interlaced": {
"type": "boolean"
},
"fractional_framerate": {
"type": "boolean"
}
}
},
"audio": {
"type": "object",
"properties": {
"active_channels": {
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
]
},
"chan_1_2_sample_rate_hz": {
"type": "number"
},
"valid_phase_data": {
"type": "boolean"
}
}
}
}
},
"hdmi_rx": {
"type": "object",
"properties": {
"pll_lock": {
"type": "boolean"
},
"dvi": {
"type": "boolean"
},
"video": {
"type": "object",
"properties": {
"vsync_stable": {
"type": "boolean"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"interlaced": {
"type": "boolean"
},
"vsync_period_us": {
"type": "number"
}
}
},
"audio": {
"type": "object",
"properties": {
"present": {
"type": "boolean"
},
"pll_phase_lock": {
"type": "boolean"
},
"pll_freq_lock": {
"type": "boolean"
},
"sample_rate_hz": {
"type": "number"
}
}
}
}
}
},
"required": [
"video"
]
}Overlay Graphic ¶
Retrieve Overlay GraphicGET/v2/in_channels/{id}/overlay_graphic
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: image/png; Content-Transfer-Encoding: base64Body
<base64 png>Upload Overlay GraphicPOST/v2/in_channels/{id}/overlay_graphic{?persist}
Upload overlay graphic.
Example URI
- id
integer(required) Example: 0- persist
boolean(optional) Example: falseDefault is false. Only use persist for static overlays that should persist after reboot.
Headers
Content-Type: multipart/form-data; boundary=---------BOUNDARYBody
---------BOUNDARY
Content-Disposition: form-data; image="image[file]"; filename="image.png"
Content-Type: image/png
Content-Transfer-Encoding: base64
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIA
AhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFAEB
AAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AL+AD//Z
---------BOUNDARY204Delete overlay graphicDELETE/v2/in_channels/{id}/overlay_graphic
Delete the stored overlay graphic.
Example URI
- id
integer(required) Example: 0
204Encoders ¶
Encoders ¶
Get Encoders ListGET/v2/encoders
Get the list of encoders present in the device.
Example URI
200Headers
Content-Type: application/jsonBody
{
"vid_encoders": [
{
"vid_encoder_id": 1,
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"max_vid_encoders": 1,
"aud_encoders": [
{
"aud_encoder_id": 1,
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"max_aud_encoders": 1,
"data_encoders": [
{
"data_encoder_id": 1,
"codec": "klv_sync",
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"vid_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vid_encoder_id": {
"type": "number"
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"vid_encoder_id",
"active"
]
}
},
"max_vid_encoders": {
"type": "number"
},
"aud_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"aud_encoder_id": {
"type": "number"
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"aud_encoder_id",
"active"
]
}
},
"max_aud_encoders": {
"type": "number"
},
"data_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data_encoder_id": {
"type": "number"
},
"codec": {
"type": "string",
"enum": [
"klv_sync",
"scte35"
]
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"data_encoder_id",
"codec",
"active"
]
}
}
},
"required": [
"vid_encoders",
"max_vid_encoders",
"aud_encoders",
"max_aud_encoders",
"data_encoders"
]
}Video Encoders ¶
Video Encoders ¶
Get Video Encoders ListGET/v2/encoders/vid_encoders
Get the list of video encoders present in the device.
Example URI
200Headers
Content-Type: application/jsonBody
{
"vid_encoders": [
{
"vid_encoder_id": 1,
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"available_codecs": [
"H264",
"H265"
],
"max_vid_encoders": 1,
"sync_groups": [
{
"active": true,
"sync_group_id": 1
}
],
"max_sync_groups": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"vid_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vid_encoder_id": {
"type": "number"
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"vid_encoder_id",
"active"
]
}
},
"available_codecs": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"max_vid_encoders": {
"type": "number"
},
"sync_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"sync_group_id": {
"type": "number"
}
},
"required": [
"active",
"sync_group_id"
]
}
},
"max_sync_groups": {
"type": "number"
}
},
"required": [
"vid_encoders",
"available_codecs",
"max_vid_encoders",
"sync_groups",
"max_sync_groups"
]
}Video Encoder Configuration ¶
This will describe all attributes of the input video source and the encoded video output.
Get Video Encoder ConfigurationGET/v2/encoders/vid_encoders/{id}
Get the current encoder settings.
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: application/jsonBody
{
"name": "VideoEncoder1",
"active": true,
"vid_encoder_id": 1,
"in_channel_id": 1,
"connection_caps": {
"consumer_caps": [
"RAW_VIDEO",
"DATA_SMPTE291"
],
"producer_caps": [
"ES_VIDEO_H264",
"ES_VIDEO_H265",
"ES_VIDEO_MJPEG"
]
},
"sync_group_id": 1,
"bitrate": {
"value": 500,
"value_range": {
"min": 32,
"max": 512
}
},
"latency_mode": {
"value": "HIGH",
"possible_values": [
"HIGH",
"NORMAL",
"LOW",
"LOWEST"
]
},
"bitrate_mode": {
"value": "variable",
"possible_values": [
"constant",
"constant_strict",
"variable"
]
},
"keyframe_interval": {
"interval": 100,
"unit": "FRAMES",
"possible_units": [
"FRAMES",
"MILLISECONDS"
],
"interval_range_frames": {
"min": 32,
"max": 512
},
"interval_range_milliseconds": {
"min": 32,
"max": 512
}
},
"scaling_resolution": {
"value": "RES_1920X1080",
"possible_values": [
"RES_PASSTHROUGH",
"RES_3840X2160",
"RES_2560X1440",
"RES_1920X1200",
"RES_1920X1080",
"RES_1280X720",
"RES_960X540",
"RES_720X576",
"RES_854x480",
"RES_640X360",
"RES_480X270",
"RES_320X180"
]
},
"limit_to_30_fps": true,
"codec": {
"value": "H264",
"possible_values": [
"H264",
"H265"
],
"h264": {
"profile": {
"value": "PROFILE_BASELINE",
"possible_values": [
"PROFILE_BASELINE",
"PROFILE_MAIN",
"PROFILE_HIGH"
]
},
"level": {
"value": "LVL5P1"
}
},
"h265": {
"profile": {
"value": "PROFILE_MAIN",
"possible_values": [
"PROFILE_MAIN"
]
},
"level": {
"value": "LVL_5P1_HIGH"
}
}
},
"klv_timestamp_enabled": true,
"allow_outputs_to_adjust_bitrate": true,
"cc_processing_enabled": true,
"status": "DISABLED",
"seconds_in_status": 1,
"current_bitrate": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"vid_encoder_id": {
"type": "number"
},
"in_channel_id": {
"type": "number"
},
"connection_caps": {
"type": "object",
"properties": {
"consumer_caps": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"producer_caps": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"consumer_caps",
"producer_caps"
]
},
"sync_group_id": {
"type": "number"
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"value_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"value",
"value_range"
]
},
"latency_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"keyframe_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
},
"possible_units": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"interval_range_frames": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
},
"interval_range_milliseconds": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"interval",
"unit",
"possible_units"
]
},
"scaling_resolution": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"limit_to_30_fps": {
"type": "boolean"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"h264": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"level": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile",
"level"
]
},
"h265": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"value",
"possible_values"
]
},
"level": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile",
"level"
]
}
},
"required": [
"value",
"possible_values"
]
},
"klv_timestamp_enabled": {
"type": "boolean"
},
"allow_outputs_to_adjust_bitrate": {
"type": "boolean"
},
"cc_processing_enabled": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
},
"current_bitrate": {
"type": "number"
}
},
"required": [
"name",
"active",
"vid_encoder_id",
"in_channel_id",
"connection_caps",
"bitrate",
"latency_mode",
"bitrate_mode",
"keyframe_interval",
"scaling_resolution",
"limit_to_30_fps",
"codec",
"klv_timestamp_enabled",
"allow_outputs_to_adjust_bitrate",
"cc_processing_enabled"
]
}Update Video Encoder ConfigurationPUT/v2/encoders/vid_encoders/{id}
Update the current encoder settings.
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"name": "VideoEncoder1",
"in_channel_id": 1,
"sync_group_id": 1,
"bitrate": {
"value": 500
},
"latency_mode": {
"value": "HIGH"
},
"bitrate_mode": {
"value": "variable"
},
"keyframe_interval": {
"interval": 100,
"unit": "FRAMES"
},
"scaling_resolution": {
"value": "RES_1920X1080"
},
"limit_to_30_fps": true,
"klv_timestamp_enabled": true,
"allow_outputs_to_adjust_bitrate": true,
"cc_processing_enabled": true,
"codec": {
"value": "H264",
"h264": {
"profile": {
"value": "PROFILE_MAIN"
}
},
"h265": {
"profile": {
"value": "PROFILE_MAIN"
}
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"sync_group_id": {
"type": "number"
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
},
"latency_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"keyframe_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
}
},
"required": [
"interval",
"unit"
]
},
"scaling_resolution": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"limit_to_30_fps": {
"type": "boolean"
},
"klv_timestamp_enabled": {
"type": "boolean"
},
"allow_outputs_to_adjust_bitrate": {
"type": "boolean"
},
"cc_processing_enabled": {
"type": "boolean"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"h264": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile"
]
},
"h265": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile"
]
}
},
"required": [
"value"
]
}
},
"required": [
"name",
"in_channel_id",
"bitrate",
"latency_mode",
"bitrate_mode",
"keyframe_interval",
"scaling_resolution",
"limit_to_30_fps",
"klv_timestamp_enabled",
"allow_outputs_to_adjust_bitrate",
"codec"
]
}204Create New Video EncoderPOST/v2/encoders/vid_encoders
Create new video encoder with the specified settings, or one with the default settings if no request body is provided
Example URI
Headers
Content-Type: application/jsonBody
{
"name": "VideoEncoder1",
"in_channel_id": 1,
"sync_group_id": 1,
"bitrate": {
"value": 500
},
"latency_mode": {
"value": "HIGH"
},
"bitrate_mode": {
"value": "variable"
},
"keyframe_interval": {
"interval": 100,
"unit": "FRAMES"
},
"scaling_resolution": {
"value": "RES_1920X1080"
},
"limit_to_30_fps": true,
"klv_timestamp_enabled": true,
"allow_outputs_to_adjust_bitrate": true,
"cc_processing_enabled": true,
"codec": {
"value": "H264",
"h264": {
"profile": {
"value": "PROFILE_MAIN"
}
},
"h265": {
"profile": {
"value": "PROFILE_MAIN"
}
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"sync_group_id": {
"type": "number"
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
},
"latency_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"keyframe_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
}
},
"required": [
"interval",
"unit"
]
},
"scaling_resolution": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"limit_to_30_fps": {
"type": "boolean"
},
"klv_timestamp_enabled": {
"type": "boolean"
},
"allow_outputs_to_adjust_bitrate": {
"type": "boolean"
},
"cc_processing_enabled": {
"type": "boolean"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"h264": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile"
]
},
"h265": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile"
]
}
},
"required": [
"value"
]
}
},
"required": [
"name",
"in_channel_id",
"bitrate",
"latency_mode",
"bitrate_mode",
"keyframe_interval",
"scaling_resolution",
"limit_to_30_fps",
"klv_timestamp_enabled",
"allow_outputs_to_adjust_bitrate",
"codec"
]
}201Headers
Content-Type: application/jsonBody
{
"id": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
]
}Delete Video EncoderDELETE/v2/encoders/vid_encoders/{id}
Delete the specified video encoder.
Example URI
- id
integer(required) Example: 0
204Sync Groups ¶
Sync Groups ¶
Get Sync Group ListGET/v2/encoders/vid_encoders/sync_groups
Get the list of sync groups.
Example URI
200Headers
Content-Type: application/jsonBody
{
"sync_groups": [
{
"active": true,
"sync_group_id": 1
}
],
"max_sync_groups": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"sync_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"sync_group_id": {
"type": "number"
}
},
"required": [
"active",
"sync_group_id"
]
}
},
"max_sync_groups": {
"type": "number"
}
},
"required": [
"sync_groups",
"max_sync_groups"
]
}Sync Group Configuration ¶
Get Sync Group ConfigurationGET/v2/encoders/vid_encoders/sync_groups/{id}
Get settings for the specified sync group.
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: application/jsonBody
{
"name": "SyncGroup1",
"active": true,
"sync_group_id": 1,
"in_channel_id": 1,
"connection_caps": {
"consumer_caps": [
"RAW_VIDEO"
],
"producer_caps": [
"ES_VIDEO_H264",
"ES_VIDEO_H265",
"ES_VIDEO_MJPEG"
]
},
"encoder_ids": [
1,
2,
3,
4
],
"keyframe_interval": {
"interval": 100,
"unit": "MILLISECONDS",
"possible_units": [
"FRAMES",
"MILLISECONDS"
],
"interval_range_frames": {
"min": 32,
"max": 512
},
"interval_range_milliseconds": {
"min": 32,
"max": 512
}
},
"limit_to_30_fps": true,
"latency_mode": {
"value": "HIGH",
"possible_values": [
"HIGH",
"NORMAL",
"LOW",
"LOWEST"
]
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"sync_group_id": {
"type": "number"
},
"in_channel_id": {
"type": "number"
},
"connection_caps": {
"type": "object",
"properties": {
"consumer_caps": {
"type": "array",
"items": {
"type": "string"
}
},
"producer_caps": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"consumer_caps",
"producer_caps"
]
},
"encoder_ids": {
"type": "array"
},
"keyframe_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
},
"possible_units": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"interval_range_frames": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
},
"interval_range_milliseconds": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"interval",
"unit",
"possible_units"
]
},
"limit_to_30_fps": {
"type": "boolean"
},
"latency_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
}
},
"required": [
"name",
"active",
"sync_group_id",
"in_channel_id",
"connection_caps",
"encoder_ids",
"keyframe_interval",
"limit_to_30_fps",
"latency_mode"
]
}Update Sync Group ConfigurationPUT/v2/encoders/vid_encoders/sync_groups/{id}
Update settings for the specified sync group.
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"name": "SyncGroup1",
"in_channel_id": 1,
"keyframe_interval": {
"interval": 100,
"unit": "MILLISECONDS"
},
"limit_to_30_fps": true,
"latency_mode": {
"value": "HIGH"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"keyframe_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
}
},
"required": [
"interval",
"unit"
]
},
"limit_to_30_fps": {
"type": "boolean"
},
"latency_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"name",
"in_channel_id",
"keyframe_interval",
"limit_to_30_fps",
"latency_mode"
]
}204Create Sync GroupPOST/v2/encoders/vid_encoders/sync_groups
Create sync group with the specified settings.
Example URI
201Headers
Content-Type: application/jsonBody
{
"id": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
]
}Delete Sync GroupDELETE/v2/encoders/vid_encoders/sync_groups/{id}
Delete the specified sync group.
Example URI
- id
integer(required) Example: 0
204Audio Encoders ¶
Audio Encoders ¶
Get Audio Encoders ListGET/v2/encoders/aud_encoders
Get the list of audio encoders present in the device.
Example URI
200Headers
Content-Type: application/jsonBody
{
"aud_encoders": [
{
"aud_encoder_id": 1,
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"available_codecs": [
"mpeg4_aac",
"opus"
],
"max_aud_encoders": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"aud_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"aud_encoder_id": {
"type": "number"
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"aud_encoder_id",
"active"
]
}
},
"available_codecs": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"max_aud_encoders": {
"type": "number"
}
},
"required": [
"aud_encoders",
"available_codecs",
"max_aud_encoders"
]
}Audio Encoder Configuration ¶
This will describe all attributes of the input audio source and the encoded audio output.
Get Audio Encoder ConfigurationGET/v2/encoders/aud_encoders/{id}
Get the current audio encoder settings.
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: application/jsonBody
{
"name": "AudioEncoder1",
"active": true,
"aud_encoder_id": 1,
"in_channel_id": 1,
"connection_caps": {
"consumer_caps": [
"RAW_AUDIO"
],
"producer_caps": [
"ES_AUDIO_AAC_MPEG4_ADTS",
"ES_AUDIO_OPUS"
]
},
"codec": {
"value": "mpeg4_aac",
"possible_values": [
"mpeg4_aac",
"opus"
]
},
"sample": {
"value": "SAMPLE_48_khz",
"possible_values": [
"SAMPLE_16_khz",
"SAMPLE_32_khz",
"SAMPLE_44p1_khz",
"SAMPLE_48_khz",
"SAMPLE_96_khz",
"SAMPLE_192_khz"
]
},
"mix_mode": {
"value": "STEREO",
"possible_values": [
"STEREO",
"DUAL_MONO",
"LEFT_MONO",
"RIGHT_MONO",
"CROSS_MONO"
]
},
"bitrate": {
"value": 64,
"value_range": {
"min": 32,
"max": 512
}
},
"bitrate_mode": {
"value": "variable",
"possible_values": [
"constant",
"variable"
]
},
"channel_configuration": {
"num_channel_range": {
"min": 32,
"max": 512
},
"avail_channel_range": {
"min": 32,
"max": 512
},
"selected_channels": [
1,
2
]
},
"status": "DISABLED",
"seconds_in_status": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"aud_encoder_id": {
"type": "number"
},
"in_channel_id": {
"type": "number"
},
"connection_caps": {
"type": "object",
"properties": {
"consumer_caps": {
"type": "array",
"items": {
"type": "string"
}
},
"producer_caps": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"consumer_caps",
"producer_caps"
]
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"sample": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"mix_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"value_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"value",
"value_range"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"channel_configuration": {
"type": "object",
"properties": {
"num_channel_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
},
"avail_channel_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
},
"selected_channels": {
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
},
"required": [
"num_channel_range",
"avail_channel_range",
"selected_channels"
]
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"name",
"active",
"aud_encoder_id",
"in_channel_id",
"connection_caps",
"codec",
"sample",
"mix_mode",
"bitrate",
"bitrate_mode",
"channel_configuration"
]
}Update Audio Encoder ConfigurationPUT/v2/encoders/aud_encoders/{id}
Update the current audio encoder settings.
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"name": "AudioEncoder1",
"in_channel_id": 1,
"codec": {
"value": "mpeg4_aac"
},
"mix_mode": {
"value": "STEREO"
},
"bitrate": {
"value": 64
},
"bitrate_mode": {
"value": "variable"
},
"channel_configuration": {
"selected_channels": [
1,
2
]
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"mix_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"channel_configuration": {
"type": "object",
"properties": {
"selected_channels": {
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
},
"required": [
"selected_channels"
]
}
},
"required": [
"name",
"in_channel_id",
"codec",
"mix_mode",
"bitrate",
"bitrate_mode",
"channel_configuration"
]
}204Create New Audio EncoderPOST/v2/encoders/aud_encoders
Create a new audio encoder with the specified settings, or one with the default settings if no request body is provided
Example URI
Headers
Content-Type: application/jsonBody
{
"name": "AudioEncoder1",
"in_channel_id": 1,
"codec": {
"value": "mpeg4_aac"
},
"mix_mode": {
"value": "STEREO"
},
"bitrate": {
"value": 64
},
"bitrate_mode": {
"value": "variable"
},
"channel_configuration": {
"selected_channels": [
1,
2
]
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"mix_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"channel_configuration": {
"type": "object",
"properties": {
"selected_channels": {
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
},
"required": [
"selected_channels"
]
}
},
"required": [
"name",
"in_channel_id",
"codec",
"mix_mode",
"bitrate",
"bitrate_mode",
"channel_configuration"
]
}201Headers
Content-Type: application/jsonBody
{
"id": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
]
}Delete Audio EncoderDELETE/v2/encoders/aud_encoders/{id}
Delete the specified audio encoder.
Example URI
- id
integer(required) Example: 0
204Data Encoders ¶
Data Encoders ¶
Get Data Encoders ListGET/v2/encoders/data_encoders
Get the list of data encoders present in the device.
Example URI
200Headers
Content-Type: application/jsonBody
{
"data_encoders": [
{
"data_encoder_id": 1,
"codec": "klv_sync",
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"available_codecs": [
"klv_sync",
"scte35",
"smpte2038"
],
"max_klv_sync": 1,
"max_scte35": 1,
"max_smpte2038": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"data_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data_encoder_id": {
"type": "number"
},
"codec": {
"type": "string",
"enum": [
"klv_sync",
"scte35"
]
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"data_encoder_id",
"codec",
"active"
]
}
},
"available_codecs": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"max_klv_sync": {
"type": "number"
},
"max_scte35": {
"type": "number"
},
"max_smpte2038": {
"type": "number"
}
},
"required": [
"data_encoders",
"available_codecs",
"max_klv_sync",
"max_scte35",
"max_smpte2038"
]
}Data Encoder Configuration ¶
Get Data Encoder ConfigurationGET/v2/encoders/data_encoders/{id}
Get the current data encoder settings.
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: application/jsonBody
{
"name": "DataEncoder1",
"active": false,
"data_encoder_id": 0,
"in_channel_id": 0,
"connection_caps": {
"consumer_caps": [
"DATA_SMPTE291"
],
"producer_caps": [
"DATA_SMPTE291_10BIT_SCTE_104",
"DATA_SMPTE2038",
"DATA_MPEGTS_METADATA_AU_WRAPPER_KLV_SYNC"
]
},
"codec": {
"value": "klv_sync",
"klv_sync": {},
"scte35": {
"splice_duration": 30000
},
"smpte2038": {
"stop_processing": false
}
},
"status": "DISABLED",
"seconds_in_status": 0
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"data_encoder_id": {
"type": "number"
},
"in_channel_id": {
"type": "number"
},
"connection_caps": {
"type": "object",
"properties": {
"consumer_caps": {
"type": "array",
"items": {
"type": "string"
}
},
"producer_caps": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"consumer_caps",
"producer_caps"
]
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"klv_sync",
"scte35",
"smpte2038"
]
},
"klv_sync": {
"type": "object",
"properties": {}
},
"scte35": {
"type": "object",
"properties": {
"splice_duration": {
"type": "number"
}
},
"required": [
"splice_duration"
]
},
"smpte2038": {
"type": "object",
"properties": {
"stop_processing": {
"type": "boolean"
}
},
"required": [
"stop_processing"
]
}
},
"required": [
"value"
]
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"name",
"active",
"data_encoder_id",
"in_channel_id",
"connection_caps",
"codec"
]
}Update Data Encoder ConfigurationPUT/v2/encoders/data_encoders/{id}
Update the current data encoder settings.
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"name": "DataEncoder1",
"in_channel_id": 0,
"codec": {
"value": "klv_sync",
"klv_sync": {},
"scte35": {
"splice_duration": 30000
},
"smpte2038": {
"stop_processing": false
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"klv_sync",
"scte35",
"smpte2038"
]
},
"klv_sync": {
"type": "object",
"properties": {}
},
"scte35": {
"type": "object",
"properties": {
"splice_duration": {
"type": "number"
}
},
"required": [
"splice_duration"
]
},
"smpte2038": {
"type": "object",
"properties": {
"stop_processing": {
"type": "boolean"
}
},
"required": [
"stop_processing"
]
}
},
"required": [
"value"
]
}
},
"required": [
"name",
"in_channel_id",
"codec"
]
}204Create New Data EncoderPOST/v2/encoders/data_encoders
Create a new data encoder with the specified settings.
Example URI
Headers
Content-Type: application/jsonBody
{
"name": "DataEncoder1",
"in_channel_id": 0,
"codec": {
"value": "klv_sync",
"klv_sync": {},
"scte35": {
"splice_duration": 30000
},
"smpte2038": {
"stop_processing": false
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"klv_sync",
"scte35",
"smpte2038"
]
},
"klv_sync": {
"type": "object",
"properties": {}
},
"scte35": {
"type": "object",
"properties": {
"splice_duration": {
"type": "number"
}
},
"required": [
"splice_duration"
]
},
"smpte2038": {
"type": "object",
"properties": {
"stop_processing": {
"type": "boolean"
}
},
"required": [
"stop_processing"
]
}
},
"required": [
"value"
]
}
},
"required": [
"name",
"in_channel_id",
"codec"
]
}201Headers
Content-Type: application/jsonBody
{
"id": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
]
}Delete Data EncoderDELETE/v2/encoders/data_encoders/{id}
Delete the specified data encoder.
Example URI
- id
integer(required) Example: 0
204SCTE-35 Splice Commands ¶
Details of the requests that can be run on SCTE-35 data encoders for splice commands.
Get Splice CommandsGET/v2/encoders/data_encoders/{id}/splice_commands
Get the list of active splice commands.
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: application/jsonBody
{
"splice_commands": [
{
"id": 1,
"process_time_utc": "1980-01-04T04:20:30.789Z",
"splice_command": {
"value": "splice_insert",
"splice_insert": {
"splice_event_id": 1,
"preroll_time_msec": 4000,
"duration_msec": 30000
},
"time_signal": {
"segmentation_event_id": 1,
"preroll_time_msec": 4000,
"segmentation_descriptor": "020F43554549000000017FBF0000300101",
"segmentation_type_id": 1,
"segment_num": 1
}
}
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"splice_commands": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"process_time_utc": {
"type": "string"
},
"splice_command": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"splice_insert",
"time_signal"
]
},
"splice_insert": {
"type": "object",
"properties": {
"splice_event_id": {
"type": "number"
},
"preroll_time_msec": {
"type": "number"
},
"duration_msec": {
"type": "number"
}
}
},
"time_signal": {
"type": "object",
"properties": {
"segmentation_event_id": {
"type": "number"
},
"preroll_time_msec": {
"type": "number"
},
"segmentation_descriptor": {
"type": "string"
},
"segmentation_type_id": {
"type": "number"
},
"segment_num": {
"type": "number"
}
}
}
}
}
}
}
}
}
}Delete Splice CommandsDELETE/v2/encoders/data_encoders/{id}/splice_commands
Cancel all active splice commands. See description of DELETE for individual splice commands for more detail on how cancelling works.
Example URI
- id
integer(required) Example: 0
204Get Splice CommandGET/v2/encoders/data_encoders/{id}/splice_commands/{cmd_id}
Get the details of an active splice command.
Example URI
- id
integer(required) Example: 0- cmd_id
integer(required) Example: 1
200Headers
Content-Type: application/jsonBody
{
"id": 1,
"process_time_utc": "1980-01-04T04:20:30.789Z",
"splice_command": {
"value": "splice_insert",
"splice_insert": {
"splice_event_id": 1,
"preroll_time_msec": 4000,
"duration_msec": 30000
},
"time_signal": {
"segmentation_event_id": 1,
"preroll_time_msec": 4000,
"segmentation_descriptor": "020F43554549000000017FBF0000300101",
"segmentation_type_id": 1,
"segment_num": 1
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
},
"process_time_utc": {
"type": "string"
},
"splice_command": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"splice_insert",
"time_signal"
]
},
"splice_insert": {
"type": "object",
"properties": {
"splice_event_id": {
"type": "number"
},
"preroll_time_msec": {
"type": "number"
},
"duration_msec": {
"type": "number"
}
}
},
"time_signal": {
"type": "object",
"properties": {
"segmentation_event_id": {
"type": "number"
},
"preroll_time_msec": {
"type": "number"
},
"segmentation_descriptor": {
"type": "string"
},
"segmentation_type_id": {
"type": "number"
},
"segment_num": {
"type": "number"
}
}
}
}
}
}
}Create Splice CommandPOST/v2/encoders/data_encoders/{id}/splice_commands
Create a splice command to insert into the stream. The command will be processed at the given UTC time or immediately if no time is specified.
-
splice_insert - Creates a splice_insert command with the given pre-roll and duration. If pre-roll is not specified, 4 seconds is used. If the duration is not specified, the duration configured in the SCTE-35 encoder will be used. The command will be inserted into the stream at the process time and will be reinserted every 2 seconds of pre-roll for redundancy.
-
time_signal - Creates a time_signal command with the given pre-roll and with the given segmentation descriptor attached. If pre-roll is not specified, 4 seconds is used. The segmentation descriptor is the binary blob of the descriptor data in the form of a hexidecimal string. The command will be inserted into the stream at the process time and will be reinserted every 2 seconds of pre-roll for redundancy.
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"process_time_utc": "1980-01-04T04:20:30.789Z",
"splice_command": {
"value": "splice_insert",
"splice_insert": {
"preroll_time_msec": 4000,
"duration_msec": 30000
},
"time_signal": {
"preroll_time_msec": 4000,
"segmentation_descriptor": "020F43554549000000017FBF0000300101"
}
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"process_time_utc": {
"type": "string"
},
"splice_command": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"splice_insert",
"time_signal"
]
},
"splice_insert": {
"type": "object",
"properties": {
"preroll_time_msec": {
"type": "number"
},
"duration_msec": {
"type": "number"
}
}
},
"time_signal": {
"type": "object",
"properties": {
"preroll_time_msec": {
"type": "number"
},
"segmentation_descriptor": {
"type": "string"
}
},
"required": [
"segmentation_descriptor"
]
}
},
"required": [
"value"
]
}
},
"required": [
"splice_command"
]
}200Headers
Content-Type: application/jsonBody
{
"id": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}Delete Splice CommandDELETE/v2/encoders/data_encoders/{id}/splice_commands/{cmd_id}
Cancel an active splice command.
-
If no splice info sections for the event have been inserted into the stream yet, the active splice command is simply deleted.
-
If splice info sections have been inserted but the event has not occured yet, a cancel splice info section is inserted immediately.
-
(Splice Insert Only) If the splice event has occurred and the duration is under way, an immediate in to network splice_insert is inserted.
Example URI
- id
integer(required) Example: 0- cmd_id
integer(required) Example: 1
204Synchronous KLV Injection ¶
Details of the requests that can be run on synchronous KLV data encoders for injecting KLV.
Get KLV RequestsGET/v2/encoders/data_encoders/{id}/klv
Get the list of KLV requests.
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: application/jsonBody
{
"klv": [
{
"id": 1,
"precision_datetime_utc": "1980-01-04T04:20:30.789Z",
"klv": [
{
"value": "blob",
"blob": "060E2B34010101010105020000000000105965737465726461797320576F726C64",
"enumerated": {
"key": "060E2B34010101010105020000000000",
"length": 16,
"value": "5965737465726461797320576F726C64"
}
}
]
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"klv": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"precision_datetime_utc": {
"type": "string"
},
"klv": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"blob",
"enumerated"
]
},
"blob": {
"type": "string"
},
"enumerated": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"length": {
"type": "number"
},
"value": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}Get KLV RequestGET/v2/encoders/data_encoders/{id}/klv/{klv_id}
Get the details of a KLV request.
Example URI
- id
integer(required) Example: 0- klv_id
integer(required) Example: 1
200Headers
Content-Type: application/jsonBody
{
"id": 1,
"precision_datetime_utc": "1980-01-04T04:20:30.789Z",
"klv": [
{
"value": "blob",
"blob": "060E2B34010101010105020000000000105965737465726461797320576F726C64",
"enumerated": {
"key": "060E2B34010101010105020000000000",
"length": 16,
"value": "5965737465726461797320576F726C64"
}
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
},
"precision_datetime_utc": {
"type": "string"
},
"klv": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"blob",
"enumerated"
]
},
"blob": {
"type": "string"
},
"enumerated": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"length": {
"type": "number"
},
"value": {
"type": "string"
}
}
}
}
}
}
}
}Update KLV RequestPUT/v2/encoders/data_encoders/{id}/klv/{klv_id}
Update the details of a KLV request. Individual KLV within the original request is not added or removed. The KLV data is replaced wholesale.
Example URI
- id
integer(required) Example: 0- klv_id
integer(required) Example: 1
Headers
Content-Type: application/jsonBody
{
"precision_datetime_utc": "1980-01-04T04:20:30.789Z",
"klv": [
{
"value": "blob",
"blob": "060E2B34010101010105020000000000105965737465726461797320576F726C64",
"enumerated": {
"key": "060E2B34010101010105020000000000",
"value": "5965737465726461797320576F726C64"
}
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"precision_datetime_utc": {
"type": "string"
},
"klv": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"blob",
"enumerated"
]
},
"blob": {
"type": "string"
},
"enumerated": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
]
}
},
"required": [
"value"
]
}
}
},
"required": [
"klv"
]
}204Create KLV RequestPOST/v2/encoders/data_encoders/{id}/klv
Create a request to inject KLV into the stream. The KLV will be associated with the video frame that has an MISB 604 Precision Time Stamp matching closest to the the given UTC time.
The format of the KLV in transport streams will follow ISO/IEC 13818-1 Metadata AU Wrapper. The first Metadata AU Cell will be the MISB 0601 KLV containing the Precision Time Stamp, which will be followed by subsequent Metadata AU Cells for each KLV listed in the request.
-
precision_datetime_utc - The UTC time to associate the KLV with. It will be paired with the video frame with closest matching time.
- Time should be specified as ISO 8601 in UTC (i.e. “yyyy-mm-ddTHH:MM:SS.mmmZ”).
- This field is optional and if not specified, the command will be inserted immediately.
- If the time given is up to 1 minute in the past, then the command will be inserted immediately. Otherwise, it will be rejected and an error returned.
- If two separate requests have a precision time matching to the same video frame, they will still be tracked separately, but both will be included in the same KLV frame.
-
klv - An array of KLV to insert into the stream. They are all inserted into the stream at the same time and associated to the same video frame using precision_datetime_utc. Each KLV object can be specified using multiple formats. value is the distinguishing field for format and indicates what corresponding object is being used (e.g. blob).
-
blob - A hexadecimal string containing the full KLV data in the form of a binary blob. KLV data must conform to SMPTE-336.
-
enumerated
- key - A hexadecimal string containing the 16 byte KLV key in the form of a binary blob. Key must conform to SMPTE-336.
- value - A hexadecimal string containing the KLV value in the form of a binary blob. Value must conform to SMPTE-336.
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"precision_datetime_utc": "1980-01-04T04:20:30.789Z",
"klv": [
{
"value": "blob",
"blob": "060E2B34010101010105020000000000105965737465726461797320576F726C64",
"enumerated": {
"key": "060E2B34010101010105020000000000",
"value": "5965737465726461797320576F726C64"
}
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"precision_datetime_utc": {
"type": "string"
},
"klv": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"blob",
"enumerated"
]
},
"blob": {
"type": "string"
},
"enumerated": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
]
}
},
"required": [
"value"
]
}
}
},
"required": [
"klv"
]
}200Headers
Content-Type: application/jsonBody
{
"id": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}Delete KLV RequestDELETE/v2/encoders/data_encoders/{id}/klv/{klv_id}
Delete a KLV request.
Example URI
- id
integer(required) Example: 0- klv_id
integer(required) Example: 1
204Data Encoder Actions ¶
Details of specific actions that can be run on data encoders.
SCTE-35 - Insert SplicePOST/v2/encoders/data_encoders/{id}/action/insert_splice
Legacy endpoint. Insert splice markers to transport stream outputs starting now. The duration of the splice will be what is configured in the SCTE-35 encoder. There will be at least a 4 second delay in splice start.
Example URI
- id
integer(required) Example: 0
204Output Streams ¶
Encoder Streaming Outputs List ¶
This will return the list of all streaming outputs available on a streaming device. The encoded video produced by the encoder will be sent to each active output.
Get Encoder Streaming Outputs ListGET/v2/out_streams
Get the list of streaming outputs.
Example URI
200Headers
Content-Type: application/jsonBody
{
"out_streams": [
{
"out_stream_id": 1,
"output_type": "unicast"
}
],
"max_unicast": 1,
"max_multicast": 1,
"max_rtsp": 1,
"max_http_push": 1,
"max_rtmp": 1,
"max_file_record": 1,
"max_srt": 1,
"max_zixi": 1,
"max_whip": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"out_streams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"out_stream_id": {
"type": "number"
},
"output_type": {
"type": "string",
"enum": [
"unicast",
"multicast",
"rtsp",
"rtmp",
"http_push",
"srt",
"zixi",
"whip",
"thumbnail"
]
}
},
"required": [
"out_stream_id",
"output_type"
]
}
},
"max_unicast": {
"type": "number"
},
"max_multicast": {
"type": "number"
},
"max_rtsp": {
"type": "number"
},
"max_http_push": {
"type": "number"
},
"max_rtmp": {
"type": "number"
},
"max_file_record": {
"type": "number"
},
"max_srt": {
"type": "number"
},
"max_zixi": {
"type": "number"
},
"max_whip": {
"type": "number"
}
},
"required": [
"out_streams",
"max_unicast",
"max_multicast",
"max_rtsp",
"max_http_push",
"max_rtmp",
"max_file_record",
"max_srt",
"max_zixi",
"max_whip"
]
}Encoder Streaming Output ¶
This will describe all the attributes of a single streaming output. The encoded video produced by the encoder will be sent to each active output.
Get Encoder Streaming OutputGET/v2/out_streams/{id}
Get the state of a single streaming output
Example URI
- id
integer(required) Example: 0
200Headers
Content-Type: application/jsonBody
{
"out_stream_id": 1,
"enable": true,
"audio_sources": {
"max_sources": 1,
"audio_source_ids": [
1
]
},
"video_sources": {
"max_sources": 1,
"video_source_ids": [
1
]
},
"data_sources": {
"data_source_ids": [
1
]
},
"output_type": {
"value": "unicast",
"unicast": {
"protocol": "RTP",
"destination_ip": "1.2.3.4",
"destination_port": 1234
},
"multicast": {
"protocol": "RTP",
"multicast_ip": "1.2.3.4",
"multicast_port": 1234,
"ttl": 1
},
"rtsp": {
"stream_name": "test",
"server_port": 5555
},
"rtmp": {
"status": "STREAM_OFF",
"service": {
"value": "generic",
"possible_values": [
"generic",
"akamai",
"wowza",
"wowza_cloud",
"youtube",
"facebook",
"aws_ivs",
"mux"
],
"data": "{}"
}
},
"http_push": {
"manifest_type": {
"protocols": [
"HLS",
"DASH"
],
"available_protocols": [
"HLS",
"DASH"
]
},
"media_container": {
"value": "FMP4",
"possible_values": [
"TS",
"FMP4"
]
},
"segment_length": 2,
"number_of_segments": 10,
"save_segment_window": false,
"service": {
"value": "generic",
"possible_values": [
"generic",
"akamai"
],
"data": "{}"
},
"synchronization": {
"enable": false,
"dash_presentation_delay": 1,
"dash_time_service": "Hello, world!"
},
"ultra_low_latency": {
"enable": false,
"chunk_interval": {
"interval": 1,
"unit": "MILLISECONDS",
"possible_units": [
"MILLISECONDS",
"FRAMES"
]
},
"target_latency_ms": 4000
}
},
"srt": {
"status": "STREAM_OFF",
"call_mode": {
"value": "CALLER",
"possible_values": [
"CALLER",
"LISTENER"
]
},
"dest_ip": "1.2.3.4 || stream.url",
"dest_port": 5555,
"latency": 120,
"encryption_enabled": true,
"passphrase": "abc123",
"bw_overhead": 25,
"key_size": {
"value": "AES128",
"possible_values": [
"AES128",
"AES192",
"AES256"
]
},
"stream_id": "stream1"
},
"zixi": {
"destination_ip": "1.2.3.4 || stream.url",
"destination_port": 2088,
"stream_id": "stream1",
"max_latency_ms": 3000,
"fec_percentage": 30,
"passphrase": "abc123",
"key_size": {
"value": "AES128",
"possible_values": [
"AES128",
"AES192",
"AES256"
]
},
"encryption_enabled": true,
"encryption_key": "5cc73f1f7869c66df90e0771fba2d0ac",
"enable_back_pressure_bitrate_adjustment": false,
"dtls": {
"dtls_cert_exist": false,
"ignore_dtls_cert_error": false
}
},
"file_record": {
"filename_base": "VID",
"filename_timezone": {
"value": "UTC",
"possible_values": [
"UTC",
"LOCALTIME"
]
},
"selected_device_name": "84C4-6DDE",
"available_drives": [
{
"uuid": "Hello, world!",
"type": "Hello, world!",
"size": 1,
"free_space": 1
}
],
"status": "`FILE_NO_STORAGE_DEVICE",
"file_format": {
"value": "TS",
"possible_values": [
"MP4",
"TS",
"FMP4"
]
},
"device_selection_policy": {
"value": "ATTACH_TIME_FIRST",
"possible_values": [
"ATTACH_TIME_FIRST",
"ATTACH_TIME_LAST",
"FREE_SPACE_MAX",
"TOTAL_SPACE_MAX",
"VOLUME_UUID"
],
"data": "device_uuid"
},
"delete_oldest_when_full": false,
"limit_max_file_size": {
"enable": true,
"value": 1000000
},
"ftp_upload": {
"enable": true,
"protocol": {
"value": "FTP",
"possible_values": [
"FTP",
"SFTP"
]
},
"server": "my.ftp.com",
"port": 21,
"username": "admin",
"password": "password",
"file_path": "recordings",
"delete_file_after_upload": true,
"bytes_uploaded": 1,
"total_bytes": 1,
"seconds_elapsed": 1,
"files_remaining": 1,
"status": "Hello, world!"
}
},
"whip": {
"status": "STREAM_OFF",
"service": {
"value": "generic",
"possible_values": [
"generic",
"dolby_io"
],
"data": "{}"
}
},
"thumbnail": {
"interval": {
"value": 1,
"value_range": {
"min": 32,
"max": 512
}
},
"width": {
"value": 320,
"value_range": {
"min": 32,
"max": 512
}
}
}
},
"name": "Output1",
"connection_caps": {
"consumer_caps": [
"ES_VIDEO_H264",
"ES_VIDEO_H265",
"ES_AUDIO_AAC_MPEG4_ADTS",
"DATA_SMPTE291_10BIT_SCTE_104",
"DATA_SMPTE2038",
"DATA_MPEGTS_METADATA_AU_WRAPPER_KLV_SYNC"
]
},
"status": {
"code": "OFF",
"message": "Off"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"out_stream_id": {
"type": "number"
},
"enable": {
"type": "boolean"
},
"audio_sources": {
"type": "object",
"properties": {
"max_sources": {
"type": "number"
},
"audio_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"max_sources",
"audio_source_ids"
]
},
"video_sources": {
"type": "object",
"properties": {
"max_sources": {
"type": "number"
},
"video_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"max_sources",
"video_source_ids"
]
},
"data_sources": {
"type": "object",
"properties": {
"data_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"data_source_ids"
]
},
"output_type": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"unicast",
"multicast",
"rtsp",
"rtmp",
"http_push",
"srt",
"zixi",
"file",
"whip",
"thumbnail"
]
},
"unicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"destination_ip": {
"type": "string"
},
"destination_port": {
"type": "number"
}
}
},
"multicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"multicast_ip": {
"type": "string"
},
"multicast_port": {
"type": "number"
},
"ttl": {
"type": "number"
}
}
},
"rtsp": {
"type": "object",
"properties": {
"stream_name": {
"type": "string"
},
"server_port": {
"type": "number"
}
}
},
"rtmp": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"data": {
"type": "string"
}
},
"required": [
"value",
"possible_values",
"data"
]
}
},
"required": [
"status",
"service"
]
},
"http_push": {
"type": "object",
"properties": {
"manifest_type": {
"type": "object",
"properties": {
"protocols": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"available_protocols": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"protocols",
"available_protocols"
]
},
"media_container": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"segment_length": {
"type": "number"
},
"number_of_segments": {
"type": "number"
},
"save_segment_window": {
"type": "boolean"
},
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"data": {
"type": "string"
}
},
"required": [
"value",
"possible_values",
"data"
]
},
"synchronization": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"dash_presentation_delay": {
"type": "number"
},
"dash_time_service": {
"type": "string"
}
},
"required": [
"enable"
]
},
"ultra_low_latency": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"chunk_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
},
"possible_units": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"interval",
"unit",
"possible_units"
]
},
"target_latency_ms": {
"type": "number"
}
},
"required": [
"enable"
]
}
}
},
"srt": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"call_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"dest_ip": {
"type": "string"
},
"dest_port": {
"type": "number"
},
"latency": {
"type": "number"
},
"encryption_enabled": {
"type": "boolean"
},
"passphrase": {
"type": "string"
},
"bw_overhead": {
"type": "number"
},
"key_size": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"stream_id": {
"type": "string"
}
},
"required": [
"status",
"dest_ip",
"dest_port",
"latency",
"encryption_enabled",
"bw_overhead"
]
},
"zixi": {
"type": "object",
"properties": {
"destination_ip": {
"type": "string"
},
"destination_port": {
"type": "number"
},
"stream_id": {
"type": "string"
},
"max_latency_ms": {
"type": "number"
},
"fec_percentage": {
"type": "number"
},
"passphrase": {
"type": "string"
},
"key_size": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"encryption_enabled": {
"type": "boolean"
},
"encryption_key": {
"type": "string"
},
"enable_back_pressure_bitrate_adjustment": {
"type": "boolean"
},
"dtls": {
"type": "object",
"properties": {
"dtls_cert_exist": {
"type": "boolean"
},
"ignore_dtls_cert_error": {
"type": "boolean"
}
},
"required": [
"dtls_cert_exist",
"ignore_dtls_cert_error"
]
}
},
"required": [
"destination_ip",
"destination_port",
"stream_id",
"max_latency_ms",
"fec_percentage",
"encryption_enabled",
"enable_back_pressure_bitrate_adjustment"
]
},
"file_record": {
"type": "object",
"properties": {
"filename_base": {
"type": "string"
},
"filename_timezone": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"selected_device_name": {
"type": "string"
},
"available_drives": {
"type": "array"
},
"status": {
"type": "string"
},
"file_format": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"device_selection_policy": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"data": {
"type": "string"
}
},
"required": [
"value",
"possible_values",
"data"
]
},
"delete_oldest_when_full": {
"type": "boolean"
},
"limit_max_file_size": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"value": {
"type": "number"
}
},
"required": [
"enable",
"value"
]
},
"ftp_upload": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"protocol": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"FTP",
"SFTP"
]
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"server": {
"type": "string"
},
"port": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"file_path": {
"type": "string"
},
"delete_file_after_upload": {
"type": "boolean"
},
"bytes_uploaded": {
"type": "number"
},
"total_bytes": {
"type": "number"
},
"seconds_elapsed": {
"type": "number"
},
"files_remaining": {
"type": "number"
},
"status": {
"type": "string"
}
},
"required": [
"enable",
"server",
"port",
"username",
"password",
"file_path",
"delete_file_after_upload",
"bytes_uploaded",
"total_bytes",
"seconds_elapsed",
"files_remaining",
"status"
]
}
},
"required": [
"filename_base",
"filename_timezone",
"selected_device_name",
"available_drives",
"status",
"file_format",
"device_selection_policy"
]
},
"whip": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"data": {
"type": "string"
}
},
"required": [
"value",
"possible_values",
"data"
]
}
},
"required": [
"status",
"service"
]
},
"thumbnail": {
"type": "object",
"properties": {
"interval": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"value_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"value",
"value_range"
]
},
"width": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"value_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"value",
"value_range"
]
}
},
"required": [
"interval",
"width"
]
}
},
"required": [
"value"
]
},
"name": {
"type": "string"
},
"connection_caps": {
"type": "object",
"properties": {
"consumer_caps": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"consumer_caps"
]
},
"status": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
},
"required": [
"out_stream_id",
"enable",
"output_type",
"name",
"connection_caps"
]
}Update Encoder Streaming OutputPUT/v2/out_streams/{id}
Update the state of a single encoder streaming output
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"enable": true,
"audio_sources": {
"audio_source_ids": [
1
]
},
"video_sources": {
"video_source_ids": [
1
]
},
"data_sources": {
"data_source_ids": [
1
]
},
"output_type": {
"value": "unicast",
"unicast": {
"protocol": "RTP",
"destination_ip": "1.2.3.4",
"destination_port": 1234
},
"multicast": {
"protocol": "RTP",
"multicast_ip": "1.2.3.4",
"multicast_port": 1234,
"ttl": 1
},
"rtsp": {
"stream_name": "test",
"server_port": 5555
},
"rtmp": {
"service": {
"value": "generic",
"data": "{}"
}
},
"http_push": {
"manifest_type": {
"protocols": [
"HLS",
"DASH"
]
},
"media_container": {
"value": "FMP4"
},
"segment_length": 2,
"number_of_segments": 10,
"save_segment_window": false,
"service": {
"value": "generic",
"data": "{}"
},
"synchronization": {
"enable": false,
"dash_presentation_delay": 1,
"dash_time_service": "Hello, world!"
},
"ultra_low_latency": {
"enable": false,
"chunk_interval": {
"interval": 1,
"unit": "MILLISECONDS"
},
"target_latency_ms": 4000
}
},
"srt": {
"call_mode": {
"value": "CALLER"
},
"dest_ip": "1.2.3.4 || stream.url",
"dest_port": 5555,
"latency": 120,
"encryption_enabled": true,
"passphrase": "abc123",
"bw_overhead": 25,
"key_size": {
"value": "AES128"
},
"stream_id": "stream1"
},
"zixi": {
"destination_ip": "1.2.3.4 || stream.url",
"destination_port": 2088,
"stream_id": "stream1",
"max_latency_ms": 3000,
"fec_percentage": 30,
"passphrase": "abc123",
"key_size": {
"value": "AES128"
},
"encryption_enabled": true,
"encryption_key": "5cc73f1f7869c66df90e0771fba2d0ac",
"enable_back_pressure_bitrate_adjustment": false,
"dtls": {
"ignore_dtls_cert_error": false
}
},
"file_record": {
"filename_base": "VID",
"filename_timezone": {
"value": "UTC"
},
"file_format": {
"value": "TS"
},
"device_selection_policy": {
"value": "ATTACH_TIME_FIRST",
"data": "device_uuid"
},
"delete_oldest_when_full": false,
"limit_max_file_size": {
"enable": true,
"value": 1000000
},
"ftp_upload": {
"enable": true,
"protocol": {
"value": "FTP"
},
"server": "my.ftp.com",
"port": 21,
"username": "admin",
"password": "password",
"sftp_key": "string",
"file_path": "recordings",
"delete_file_after_upload": true
}
},
"whip": {
"service": {
"value": "generic",
"data": "{}"
}
},
"thumbnail": {
"interval": {
"value": 1
},
"width": {
"value": 320
}
}
},
"name": "Output1"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"audio_sources": {
"type": "object",
"properties": {
"audio_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"audio_source_ids"
]
},
"video_sources": {
"type": "object",
"properties": {
"video_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"video_source_ids"
]
},
"data_sources": {
"type": "object",
"properties": {
"data_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"data_source_ids"
]
},
"output_type": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"unicast",
"multicast",
"rtsp",
"rtmp",
"http_push",
"file",
"srt",
"zixi",
"whip",
"thumbnail"
]
},
"unicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"destination_ip": {
"type": "string"
},
"destination_port": {
"type": "number"
}
}
},
"multicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"multicast_ip": {
"type": "string"
},
"multicast_port": {
"type": "number"
},
"ttl": {
"type": "number"
}
}
},
"rtsp": {
"type": "object",
"properties": {
"stream_name": {
"type": "string"
},
"server_port": {
"type": "number"
}
}
},
"rtmp": {
"type": "object",
"properties": {
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
}
},
"required": [
"service"
]
},
"http_push": {
"type": "object",
"properties": {
"manifest_type": {
"type": "object",
"properties": {
"protocols": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"protocols"
]
},
"media_container": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"segment_length": {
"type": "number"
},
"number_of_segments": {
"type": "number"
},
"save_segment_window": {
"type": "boolean"
},
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
},
"synchronization": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"dash_presentation_delay": {
"type": "number"
},
"dash_time_service": {
"type": "string"
}
},
"required": [
"enable"
]
},
"ultra_low_latency": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"chunk_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
}
},
"required": [
"interval",
"unit"
]
},
"target_latency_ms": {
"type": "number"
}
},
"required": [
"enable"
]
}
}
},
"srt": {
"type": "object",
"properties": {
"call_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"dest_ip": {
"type": "string"
},
"dest_port": {
"type": "number"
},
"latency": {
"type": "number"
},
"encryption_enabled": {
"type": "boolean"
},
"passphrase": {
"type": "string"
},
"bw_overhead": {
"type": "number"
},
"key_size": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"stream_id": {
"type": "string"
}
},
"required": [
"dest_ip",
"dest_port",
"encryption_enabled"
]
},
"zixi": {
"type": "object",
"properties": {
"destination_ip": {
"type": "string"
},
"destination_port": {
"type": "number"
},
"stream_id": {
"type": "string"
},
"max_latency_ms": {
"type": "number"
},
"fec_percentage": {
"type": "number"
},
"passphrase": {
"type": "string"
},
"key_size": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"encryption_enabled": {
"type": "boolean"
},
"encryption_key": {
"type": "string"
},
"enable_back_pressure_bitrate_adjustment": {
"type": "boolean"
},
"dtls": {
"type": "object",
"properties": {
"ignore_dtls_cert_error": {
"type": "boolean"
}
},
"required": [
"ignore_dtls_cert_error"
]
}
},
"required": [
"destination_ip",
"destination_port",
"stream_id",
"max_latency_ms",
"fec_percentage",
"enable_back_pressure_bitrate_adjustment"
]
},
"file_record": {
"type": "object",
"properties": {
"filename_base": {
"type": "string"
},
"filename_timezone": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"file_format": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"device_selection_policy": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
},
"delete_oldest_when_full": {
"type": "boolean"
},
"limit_max_file_size": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"value": {
"type": "number"
}
},
"required": [
"enable",
"value"
]
},
"ftp_upload": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"protocol": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"FTP",
"SFTP"
]
}
},
"required": [
"value"
]
},
"server": {
"type": "string"
},
"port": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"sftp_key": {
"type": "string"
},
"file_path": {
"type": "string"
},
"delete_file_after_upload": {
"type": "boolean"
}
},
"required": [
"enable",
"server",
"port",
"username",
"password",
"file_path",
"delete_file_after_upload"
]
}
},
"required": [
"filename_base",
"filename_timezone",
"file_format",
"device_selection_policy"
]
},
"whip": {
"type": "object",
"properties": {
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
}
},
"required": [
"service"
]
},
"thumbnail": {
"type": "object",
"properties": {
"interval": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
},
"width": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
}
},
"required": [
"interval",
"width"
]
}
},
"required": [
"value"
]
},
"name": {
"type": "string"
}
},
"required": [
"enable",
"output_type",
"name"
]
}204Create New Encoder Streaming OutputPOST/v2/out_streams
Create a new output stream with the specified settings.
Example URI
Headers
Content-Type: application/jsonBody
{
"enable": true,
"audio_sources": {
"max_sources": 1,
"audio_source_ids": [
1
]
},
"video_sources": {
"max_sources": 1,
"video_source_ids": [
1
]
},
"output_type": {
"value": "unicast",
"unicast": {
"protocol": "RTP",
"destination_ip": "1.2.3.4",
"destination_port": 1234
},
"multicast": {
"protocol": "RTP",
"multicast_ip": "1.2.3.4",
"multicast_port": 1234,
"ttl": 1
},
"rtsp": {
"stream_name": "test",
"server_port": 5555
},
"rtmp": {
"service": {
"value": "generic",
"data": "{}"
}
},
"http_push": {
"manifest_type": {
"protocols": [
"HLS",
"DASH"
]
},
"media_container": {
"value": "FMP4"
},
"segment_length": 2,
"number_of_segments": 10,
"save_segment_window": false,
"service": {
"value": "generic",
"data": "{}"
},
"synchronization": {
"enable": false,
"dash_presentation_delay": 1,
"dash_time_service": "Hello, world!"
},
"ultra_low_latency": {
"enable": false,
"chunk_interval": {
"interval": 1,
"unit": "MILLISECONDS"
},
"target_latency_ms": 4000
}
},
"srt": {
"call_mode": {
"value": "CALLER"
},
"dest_ip": "1.2.3.4 || stream.url",
"dest_port": 5555,
"latency": 120,
"encryption_enabled": true,
"passphrase": "abc123",
"bw_overhead": 25,
"key_size": {
"value": "AES128"
},
"stream_id": "stream1"
},
"zixi": {
"destination_ip": "1.2.3.4 || stream.url",
"destination_port": 2088,
"stream_id": "stream1",
"max_latency_ms": 3000,
"fec_percentage": 30,
"passphrase": "abc123",
"key_size": {
"value": "AES128"
},
"encryption_enabled": true,
"encryption_key": "5cc73f1f7869c66df90e0771fba2d0ac",
"enable_back_pressure_bitrate_adjustment": false,
"dtls": {
"ignore_dtls_cert_error": false
}
},
"file_record": {
"filename_base": "VID",
"filename_timezone": {
"value": "UTC"
},
"file_format": {
"value": "TS"
},
"device_selection_policy": {
"value": "ATTACH_TIME_FIRST",
"data": "device_uuid"
},
"delete_oldest_when_full": false,
"limit_max_file_size": {
"enable": true,
"value": 1000000
},
"ftp_upload": {
"enable": true,
"protocol": {
"value": "FTP"
},
"server": "my.ftp.com",
"port": 21,
"username": "admin",
"password": "password",
"sftp_key": "string",
"file_path": "recordings",
"delete_file_after_upload": true
}
},
"whip": {
"service": {
"value": "generic",
"data": "{}"
}
}
},
"name": "Output1"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"audio_sources": {
"type": "object",
"properties": {
"max_sources": {
"type": "number"
},
"audio_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
}
},
"video_sources": {
"type": "object",
"properties": {
"max_sources": {
"type": "number"
},
"video_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
}
},
"output_type": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"unicast",
"multicast",
"rtsp",
"rtmp",
"http_push",
"file",
"srt",
"zixi",
"whip",
"thumbnail"
]
},
"unicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"destination_ip": {
"type": "string"
},
"destination_port": {
"type": "number"
}
}
},
"multicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"multicast_ip": {
"type": "string"
},
"multicast_port": {
"type": "number"
},
"ttl": {
"type": "number"
}
}
},
"rtsp": {
"type": "object",
"properties": {
"stream_name": {
"type": "string"
},
"server_port": {
"type": "number"
}
}
},
"rtmp": {
"type": "object",
"properties": {
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
}
},
"required": [
"service"
]
},
"http_push": {
"type": "object",
"properties": {
"manifest_type": {
"type": "object",
"properties": {
"protocols": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"protocols"
]
},
"media_container": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"segment_length": {
"type": "number"
},
"number_of_segments": {
"type": "number"
},
"save_segment_window": {
"type": "boolean"
},
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
},
"synchronization": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"dash_presentation_delay": {
"type": "number"
},
"dash_time_service": {
"type": "string"
}
},
"required": [
"enable"
]
},
"ultra_low_latency": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"chunk_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
}
},
"required": [
"interval",
"unit"
]
},
"target_latency_ms": {
"type": "number"
}
},
"required": [
"enable"
]
}
}
},
"srt": {
"type": "object",
"properties": {
"call_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"dest_ip": {
"type": "string"
},
"dest_port": {
"type": "number"
},
"latency": {
"type": "number"
},
"encryption_enabled": {
"type": "boolean"
},
"passphrase": {
"type": "string"
},
"bw_overhead": {
"type": "number"
},
"key_size": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"stream_id": {
"type": "string"
}
},
"required": [
"dest_ip",
"dest_port",
"encryption_enabled"
]
},
"zixi": {
"type": "object",
"properties": {
"destination_ip": {
"type": "string"
},
"destination_port": {
"type": "number"
},
"stream_id": {
"type": "string"
},
"max_latency_ms": {
"type": "number"
},
"fec_percentage": {
"type": "number"
},
"passphrase": {
"type": "string"
},
"key_size": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"encryption_enabled": {
"type": "boolean"
},
"encryption_key": {
"type": "string"
},
"enable_back_pressure_bitrate_adjustment": {
"type": "boolean"
},
"dtls": {
"type": "object",
"properties": {
"ignore_dtls_cert_error": {
"type": "boolean"
}
},
"required": [
"ignore_dtls_cert_error"
]
}
},
"required": [
"destination_ip",
"destination_port",
"stream_id",
"max_latency_ms",
"fec_percentage",
"enable_back_pressure_bitrate_adjustment"
]
},
"file_record": {
"type": "object",
"properties": {
"filename_base": {
"type": "string"
},
"filename_timezone": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"file_format": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"device_selection_policy": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
},
"delete_oldest_when_full": {
"type": "boolean"
},
"limit_max_file_size": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"value": {
"type": "number"
}
},
"required": [
"enable",
"value"
]
},
"ftp_upload": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"protocol": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"FTP",
"SFTP"
]
}
},
"required": [
"value"
]
},
"server": {
"type": "string"
},
"port": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"sftp_key": {
"type": "string"
},
"file_path": {
"type": "string"
},
"delete_file_after_upload": {
"type": "boolean"
}
},
"required": [
"enable",
"server",
"port",
"username",
"password",
"file_path",
"delete_file_after_upload"
]
}
},
"required": [
"filename_base",
"filename_timezone",
"file_format",
"device_selection_policy"
]
},
"whip": {
"type": "object",
"properties": {
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
}
},
"required": [
"service"
]
}
},
"required": [
"value"
]
},
"name": {
"type": "string"
}
},
"required": [
"output_type"
]
}201Headers
Content-Type: application/jsonBody
{
"id": 1
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
]
}Delete Encoder Streaming OutputDELETE/v2/out_streams/{id}
Delete the specified output stream.
Example URI
- id
integer(required) Example: 0
204Output Actions ¶
Details of specific actions that can be run on streaming outputs.
General Output ActionsPOST/v2/out_streams/{id}/action/{action_name}
Run action for output, often supported by RTMP outputs, to support third-party API calls.
Example URI
- id
integer(required) Example: 0- action_name
string(required) Example: pair, account_info, streamlist, authenticate_ftp
200File Record - Validate FTPPOST/v2/out_streams/{id}/action/authenticate_ftp
Validate the FTP server configuration provided in the request. If ‘password’ is not provided, then the currently saved one will be used.
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"server": "my.ftp.com",
"username": "admin",
"password": "password",
"file_path": "recordings"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"server": {
"type": "string"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"file_path": {
"type": "string"
}
}
}200Headers
Content-Type: application/jsonBody
{
"result": "SUCCESS"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"result": {
"type": "string",
"enum": [
"SUCCESS",
"FAILURE_SERVER_UNREACHABLE",
"FAILURE_AUTHENTICATION",
"FAILURE_PERMISSIONS"
]
}
},
"required": [
"result"
]
}Storage ¶
Storage Devices ¶
List Storage DevicesGET/v2/storage
Get a list of storage devices.
Example URI
200Headers
Content-Type: application/jsonBody
[
{
"devpath": "/dev/block/sdg1",
"syspath": "/sys/devices/soc/6a00000.ssusb/6a00000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1:1.0/host2/target2:0:0/2:0:0:0/block/sdg/sdg1",
"devno": 2145,
"devtime_us": 1575662248234999,
"fstype": "vfat",
"version": "FAT32",
"label": "VOLUMEONE",
"uuid": "84C4-6DDE",
"usage": "filesystem",
"kind": "PARTITION",
"disk_devno": 2144,
"partno": "1",
"type": "USB",
"vendor": "StorageVendor",
"model": "StorageModel",
"size_bytes": 15604908032,
"mount": {
"devno": 2145,
"fsname": "/dev/block/vold/public:8,97",
"dir": "/mnt/media_rw/84C4-6DDE",
"type": "vfat",
"opts": "rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro",
"freq": 0,
"passno": 0,
"size_bytes": 15588130816,
"avail_bytes": 8874713088,
"blocksize_bytes": 8192
},
"fslimits": {
"max_volume_size_bytes": 17592186044416,
"max_file_size_bytes": 4294967295,
"max_filename_length": 255,
"max_path_length": 4096
}
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"devpath": {
"type": "string"
},
"syspath": {
"type": "string"
},
"devno": {
"type": "number"
},
"devtime_us": {
"type": "number"
},
"fstype": {
"type": "string"
},
"version": {
"type": "string"
},
"label": {
"type": "string"
},
"uuid": {
"type": "string"
},
"usage": {
"type": "string"
},
"kind": {
"type": "string"
},
"disk_devno": {
"type": "number"
},
"partno": {
"type": "string"
},
"type": {
"type": "string"
},
"vendor": {
"type": "string"
},
"model": {
"type": "string"
},
"size_bytes": {
"type": "number"
},
"mount": {
"type": "object",
"properties": {
"devno": {
"type": "number"
},
"fsname": {
"type": "string"
},
"dir": {
"type": "string"
},
"type": {
"type": "string"
},
"opts": {
"type": "string"
},
"freq": {
"type": "number"
},
"passno": {
"type": "number"
},
"size_bytes": {
"type": "number"
},
"avail_bytes": {
"type": "number"
},
"blocksize_bytes": {
"type": "number"
}
},
"required": [
"devno",
"fsname",
"dir",
"type",
"opts",
"freq",
"passno",
"size_bytes",
"avail_bytes",
"blocksize_bytes"
]
},
"fslimits": {
"type": "object",
"properties": {
"max_volume_size_bytes": {
"type": "number"
},
"max_file_size_bytes": {
"type": "number"
},
"max_filename_length": {
"type": "number"
},
"max_path_length": {
"type": "number"
}
},
"required": [
"max_volume_size_bytes",
"max_file_size_bytes",
"max_filename_length",
"max_path_length"
]
}
},
"required": [
"devpath",
"syspath",
"devno",
"devtime_us",
"fstype",
"version",
"label",
"uuid",
"usage",
"kind",
"disk_devno",
"partno",
"type",
"vendor",
"model",
"size_bytes",
"mount",
"fslimits"
]
}
}Get Storage Device InfoGET/v2/storage/{devno}
Get storage device information for the specified device.
Example URI
- devno
integer(required) Example: 2145
200Headers
Content-Type: application/jsonBody
{
"devpath": "/dev/block/sdg1",
"syspath": "/sys/devices/soc/6a00000.ssusb/6a00000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1:1.0/host2/target2:0:0/2:0:0:0/block/sdg/sdg1",
"devno": 2145,
"devtime_us": 1575662248234999,
"fstype": "vfat",
"version": "FAT32",
"label": "VOLUMEONE",
"uuid": "84C4-6DDE",
"usage": "filesystem",
"kind": "PARTITION",
"disk_devno": 2144,
"partno": "1",
"type": "USB",
"vendor": "StorageVendor",
"model": "StorageModel",
"size_bytes": 15604908032,
"mount": {
"devno": 2145,
"fsname": "/dev/block/vold/public:8,97",
"dir": "/mnt/media_rw/84C4-6DDE",
"type": "vfat",
"opts": "rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro",
"freq": 0,
"passno": 0,
"size_bytes": 15588130816,
"avail_bytes": 8874713088,
"blocksize_bytes": 8192
},
"fslimits": {
"max_volume_size_bytes": 17592186044416,
"max_file_size_bytes": 4294967295,
"max_filename_length": 255,
"max_path_length": 4096
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"devpath": {
"type": "string"
},
"syspath": {
"type": "string"
},
"devno": {
"type": "number"
},
"devtime_us": {
"type": "number"
},
"fstype": {
"type": "string"
},
"version": {
"type": "string"
},
"label": {
"type": "string"
},
"uuid": {
"type": "string"
},
"usage": {
"type": "string"
},
"kind": {
"type": "string"
},
"disk_devno": {
"type": "number"
},
"partno": {
"type": "string"
},
"type": {
"type": "string"
},
"vendor": {
"type": "string"
},
"model": {
"type": "string"
},
"size_bytes": {
"type": "number"
},
"mount": {
"type": "object",
"properties": {
"devno": {
"type": "number"
},
"fsname": {
"type": "string"
},
"dir": {
"type": "string"
},
"type": {
"type": "string"
},
"opts": {
"type": "string"
},
"freq": {
"type": "number"
},
"passno": {
"type": "number"
},
"size_bytes": {
"type": "number"
},
"avail_bytes": {
"type": "number"
},
"blocksize_bytes": {
"type": "number"
}
},
"required": [
"devno",
"fsname",
"dir",
"type",
"opts",
"freq",
"passno",
"size_bytes",
"avail_bytes",
"blocksize_bytes"
]
},
"fslimits": {
"type": "object",
"properties": {
"max_volume_size_bytes": {
"type": "number"
},
"max_file_size_bytes": {
"type": "number"
},
"max_filename_length": {
"type": "number"
},
"max_path_length": {
"type": "number"
}
},
"required": [
"max_volume_size_bytes",
"max_file_size_bytes",
"max_filename_length",
"max_path_length"
]
}
},
"required": [
"devpath",
"syspath",
"devno",
"devtime_us",
"fstype",
"version",
"label",
"uuid",
"usage",
"kind",
"disk_devno",
"partno",
"type",
"vendor",
"model",
"size_bytes",
"mount",
"fslimits"
],
"additionalProperties": false
}Unmount Storage DevicePOST/v2/storage/{devno}/unmount
Unmount the specified device.
Example URI
- devno
integer(required) Example: 2145
204Format Storage DevicePOST/v2/storage/{devno}/format
Format the specified device.
Example URI
- devno
integer(required) Example: 2145
200XML ¶
XML ¶
Get XML SettingsGET/v2/xml
Get the XML polling settings for the device.
Example URI
200Headers
Content-Type: application/jsonBody
{
"xml": {
"enabled": true,
"url": "http://get.your.xml.here/test.xml",
"poll_interval": 10,
"username": "Hello, world!",
"password": "Hello, world!"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"xml": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"url": {
"type": "string"
},
"poll_interval": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
}
},
"required": [
"enabled",
"url",
"poll_interval"
]
}
},
"required": [
"xml"
]
}Update XML SettingsPUT/v2/xml
Update the XML polling settings for the device.
Example URI
Headers
Content-Type: application/jsonBody
{
"xml": {
"enabled": true,
"url": "http://get.your.xml.here/test.xml",
"poll_interval": 10,
"username": "Hello, world!",
"password": "Hello, world!"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"xml": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"url": {
"type": "string"
},
"poll_interval": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
}
},
"required": [
"enabled",
"url",
"poll_interval"
]
}
},
"required": [
"xml"
]
}204