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"
]
}Logging ¶
Debug Verbosity ¶
This endpoint controls how much detail the device writes to the daemon logs on a global level.
Individual components, component types or matched strings (scope) can be set to customized levels (overrides). For more information, see /v2/debug_verbosity/scopes and /v2/debug_verbosity/components When a log message is processed, verbosity is resolved from most specific to least specific: component_types ->Fixed scopes → Explicit component category overrides → Scope substring matches ->Global verbosity
Get Debug VerbosityGET/v2/debug_verbosity
Get the daemon’s current runtime global default logging verbosity (the bottom of the precedence chain above).
Example URI
200Headers
Content-Type: application/jsonBody
{
"verbosity": "INFO"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"verbosity": {
"type": "string",
"enum": [
"INFO"
],
"description": "One of `FATAL`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE`"
}
},
"required": [
"verbosity"
]
}Update Debug VerbosityPUT/v2/debug_verbosity
Set the daemon’s runtime logging verbosity.
This change applies immediately while the daemon is running and is not persisted. After a daemon restart, startup verbosity defaults (CLI/options) are applied again.
Example URI
Headers
Content-Type: application/jsonBody
{
"verbosity": "DEBUG"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"verbosity": {
"type": "string",
"enum": [
"DEBUG"
],
"description": "One of `FATAL`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE`"
}
},
"required": [
"verbosity"
]
}204400Headers
Content-Type: text/plainBody
Invalid JSON body, wrong type for `verbosity`, or unknown enum string. Expect a JSON object: `{"verbosity":"FATAL|ERROR|WARN|INFO|DEBUG|TRACE"}` (string value only).405Body
HTTP methods other than `GET` and `PUT` are not supported on this resource (handled by the HTTP stack).Debug Verbosity Components ¶
Manage runtime verbosity overrides for internal components categories (fine-grained) and discovered component_types (concrete component/container type names parsed from log messages).
Discovered component_types keys are filtered/normalized for display and for overrides (for example all h2c_* prefixes collapse to h2c, trailing _delta and _container suffixes roll up to their base name).
Use GET /v2/debug_verbosity/components to retrieve the current full key set available on this firmware build.
When a log message is processed, verbosity is resolved from most specific to least specific:
component_types ->Fixed scopes → Explicit component category overrides → Scope substring matches ->Global verbosity
Get Component Verbosity OverridesGET/v2/debug_verbosity/components
Get current runtime component overrides, explicit component_types overrides, and the current global default (same value as GET /v2/debug_verbosity).
Example URI
200Headers
Content-Type: application/jsonBody
{
"default_verbosity": "WARN",
"components": {},
"overrides": {},
"component_types": {},
"component_type_overrides": {}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"default_verbosity": {
"type": "string",
"enum": [
"WARN"
],
"description": "One of `FATAL`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE` — mirrors `GET /v2/debug_verbosity` (`Log::VerbosityGet()`)."
},
"components": {
"type": "object",
"properties": {},
"description": "Map of all supported component-category keys to **category-level** effective verbosity (category/parent overrides, else global default merged with substring needles on the category token). Fixed `scopes` bucket overrides from `GET /v2/debug_verbosity/scopes` are applied later when evaluating a concrete log line; see the precedence note on this group."
},
"overrides": {
"type": "object",
"properties": {},
"description": "Map containing only explicitly overridden component-category keys."
},
"component_types": {
"type": "object",
"properties": {},
"description": "Map of discovered component/container type keys to a **preview** verbosity: explicit `component_type_overrides` entry, else global default merged with substring needles on the canonical key (fixed `scopes` buckets are not folded into this map)."
},
"component_type_overrides": {
"type": "object",
"properties": {},
"description": "Map containing only explicitly overridden component/container type keys."
}
},
"required": [
"default_verbosity",
"components",
"overrides",
"component_types",
"component_type_overrides"
]
}Update Component Verbosity OverridesPUT/v2/debug_verbosity/components
Set one or more runtime component verbosity overrides. This change applies immediately while the daemon is running and is not persisted across restart.
Example URI
Headers
Content-Type: application/jsonBody
{
"components": {
"startup": "INFO",
"cmdif_rest": "DEBUG",
"avstream_input": "INFO",
"buffer_management": "INFO",
"output_http_streaming": "DEBUG",
"metadata_events": "INFO",
"uncategorized": "WARN"
},
"component_types": {
"trogdor_av_input": "WARN",
"venus_video_encoder": "INFO",
"android_aac_encoder": "INFO",
"unicast_out": "DEBUG",
"file_recorder": "INFO"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"components": {
"type": "object",
"properties": {
"startup": {
"type": "string",
"enum": [
"INFO"
],
"description": "One of `FATAL`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE`"
},
"cmdif_rest": {
"type": "string",
"enum": [
"DEBUG"
]
},
"avstream_input": {
"type": "string",
"enum": [
"INFO"
]
},
"buffer_management": {
"type": "string",
"enum": [
"INFO"
]
},
"output_http_streaming": {
"type": "string",
"enum": [
"DEBUG"
]
},
"metadata_events": {
"type": "string",
"enum": [
"INFO"
]
},
"uncategorized": {
"type": "string",
"enum": [
"WARN"
]
}
}
},
"component_types": {
"type": "object",
"properties": {
"trogdor_av_input": {
"type": "string",
"enum": [
"WARN"
]
},
"venus_video_encoder": {
"type": "string",
"enum": [
"INFO"
]
},
"android_aac_encoder": {
"type": "string",
"enum": [
"INFO"
]
},
"unicast_out": {
"type": "string",
"enum": [
"DEBUG"
]
},
"file_recorder": {
"type": "string",
"enum": [
"INFO"
]
}
}
}
}
}204400Headers
Content-Type: text/plainBody
Invalid JSON shape, invalid component key, invalid component value type, or unknown verbosity enum string.405Body
HTTP methods other than `GET` and `PUT` are not supported on this resource (handled by the HTTP stack).Debug Verbosity Scopes ¶
scopes shows the effective verbosity for each fixed scope id.
Explicit entries from scope_overrides are shown directly. Otherwise, the value is an inherited preview based on the representative category and the current component/global settings chain. This preview ignores other scope overrides.
Substring-based rules appear only under scope_substring_overrides.
Get Scope Verbosity OverridesGET/v2/debug_verbosity/scopes
Example URI
200Headers
Content-Type: application/jsonBody
{
"default_verbosity": "INFO",
"scopes": {},
"scope_overrides": {},
"scope_substring_overrides": {}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"default_verbosity": {
"type": "string",
"enum": [
"INFO"
],
"description": "One of `FATAL`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE` — current global default from `/v2/debug_verbosity`."
},
"scopes": {
"type": "object",
"properties": {},
"description": "Map of all supported **fixed** scope ids to effective verbosity strings for UI or inspection."
},
"scope_overrides": {
"type": "object",
"properties": {},
"description": "Map containing only explicitly overridden **fixed** scope ids."
},
"scope_substring_overrides": {
"type": "object",
"properties": {},
"description": "Map of explicit substring needle keys to verbosity strings (may be empty)."
}
},
"required": [
"default_verbosity",
"scopes",
"scope_overrides",
"scope_substring_overrides"
]
}Update Scope Verbosity OverridesPUT/v2/debug_verbosity/scopes
Set one or more runtime scope overrides. Not persisted across daemon restart.
Example URI
Headers
Content-Type: application/jsonBody
{
"scopes": {
"buffer_flow": "INFO",
"encoders": "DEBUG",
"h2c": "DEBUG",
"inputs": "WARN",
"outputs": "INFO",
"input": "DEBUG"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"scopes": {
"type": "object",
"properties": {
"buffer_flow": {
"type": "string",
"enum": [
"INFO"
],
"description": "One of `FATAL`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE`"
},
"encoders": {
"type": "string",
"enum": [
"DEBUG"
]
},
"h2c": {
"type": "string",
"enum": [
"DEBUG"
]
},
"inputs": {
"type": "string",
"enum": [
"WARN"
]
},
"outputs": {
"type": "string",
"enum": [
"INFO"
]
},
"input": {
"type": "string",
"enum": [
"DEBUG"
],
"description": "Example **substring** needle: matches categories such as `avstream_input` and canonical types such as `trogdor_av_input` when no explicit category/parent override applies."
}
}
}
},
"required": [
"scopes"
]
}204400Headers
Content-Type: text/plainBody
Invalid JSON shape, missing or empty `scopes` object, invalid value type, unknown verbosity enum string, or invalid needle (empty, shorter than 2 characters, or longer than 96 after normalization).405Body
HTTP methods other than `GET` and `PUT` are not supported on this resource (handled by the HTTP stack).Debug Verbosity Scope ¶
Clear Scope Verbosity OverrideDELETE/v2/debug_verbosity/scopes/{scope}
Remove the runtime override for a fixed scope id or substring needle so matching lines fall back along the precedence chain.
Example URI
- scope
string(required) Example: h2cA fixed scope id from
GET .../scopes→scopes, or a substring needle key fromscope_substring_overrides.
204404Headers
Content-Type: text/plainBody
Empty path segment, or no existing override for this fixed scope or substring needle.405Body
HTTP methods other than `DELETE` are not supported on this resource (handled by the HTTP stack).Debug Verbosity Component ¶
Clear Component Verbosity OverrideDELETE/v2/debug_verbosity/components/{component}
Remove the runtime override for a specific component category or component_types key so matching lines fall back along the precedence chain (remaining component_types / scopes / category / global default).
Example URI
- component
string(required) Example: unicast_outAny valid
componentskey or discoveredcomponent_typeskey returned byGET /v2/debug_verbosity/components.
204404Headers
Content-Type: text/plainBody
Unknown key or no existing override for this component/component_type.405Body
HTTP methods other than `DELETE` are not supported on this resource (handled by the HTTP stack).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",
"status": {
"locked": true,
"audio": {
"detected": true
}
}
}
],
"possible_hw_channels": [
1
],
"possible_gstreamer_instances": 0
}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",
"gstreamer"
]
},
"status": {
"type": "object",
"properties": {
"locked": {
"type": "boolean"
},
"audio": {
"type": "object",
"properties": {
"detected": {
"type": "boolean"
}
},
"required": [
"detected"
]
}
},
"required": [
"locked"
]
}
},
"required": [
"in_channel_id",
"input_type",
"status"
]
}
},
"possible_hw_channels": {
"type": "array",
"items": {
"type": "number"
}
},
"possible_gstreamer_instances": {
"type": "number"
}
},
"required": [
"possible_gstreamer_instances"
]
}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,
"locked": true,
"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"
},
"enable_cef": false,
"cef_url": "html.url",
"name": "Input1",
"connection_caps": {
"producer_caps": [
"RAW_VIDEO",
"RAW_AUDIO",
"DATA_SMPTE291"
]
},
"input_type": {
"value": "hardware",
"hardware": {
"hw_channel": 0
}
},
"enable_persistent_input": false,
"force_av_mute": false,
"aud_channels_to_ignore_changes": [
1
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"in_channel_id": {
"type": "number"
},
"locked": {
"type": "boolean"
},
"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": [
"detected"
]
},
"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": [
"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"
]
},
"enable_cef": {
"type": "boolean"
},
"cef_url": {
"type": "string"
},
"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",
"gstreamer"
]
},
"hardware": {
"type": "object",
"properties": {
"hw_channel": {
"type": "number"
}
},
"required": [
"hw_channel"
]
}
},
"required": [
"value"
]
},
"enable_persistent_input": {
"type": "boolean"
},
"force_av_mute": {
"type": "boolean"
},
"aud_channels_to_ignore_changes": {
"type": "array"
}
},
"required": [
"in_channel_id",
"locked",
"audio_input",
"video_input",
"video_rotation",
"graphic_overlay",
"name",
"connection_caps",
"input_type",
"aud_channels_to_ignore_changes"
]
}Update Input Channel ConfigurationPUT/v2/in_channels/{id}
Set the input channel configuration.
Field Definitions:
- aud_channels_to_ignore_changes - Changes to audio format for individual audio channels are detected and cause reconfiguration. This option allows ignoring changes on specific channels you don’t care about.
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"
}
}
},
"enable_cef": false,
"cef_url": "html.url",
"name": "Input1",
"enable_persistent_input": false,
"force_av_mute": false,
"aud_channels_to_ignore_changes": [
1
]
}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"
]
},
"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"
]
},
"enable_cef": {
"type": "boolean"
},
"cef_url": {
"type": "string"
},
"name": {
"type": "string"
},
"enable_persistent_input": {
"type": "boolean"
},
"force_av_mute": {
"type": "boolean"
},
"aud_channels_to_ignore_changes": {
"type": "array"
}
},
"required": [
"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
}
},
"enable_persistent_input": false,
"force_av_mute": false,
"aud_channels_to_ignore_changes": [
1
]
}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"
]
},
"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",
"gstreamer"
]
},
"hardware": {
"type": "object",
"properties": {
"hw_channel": {
"type": "number"
}
},
"required": [
"hw_channel"
]
}
},
"required": [
"value"
]
},
"enable_persistent_input": {
"type": "boolean"
},
"force_av_mute": {
"type": "boolean"
},
"aud_channels_to_ignore_changes": {
"type": "array"
}
},
"required": [
"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 Status (LiveEdge Node)GET/v2/in_channels/{id}/status (LiveEdge Node)
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
{
"device_time_utc": "1980-01-04T04:20:30.789Z",
"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"
},
"data": {
"cc_last_seen_utc": "1980-01-04T04:20:30.789Z",
"scte104_last_seen_utc": "1980-01-04T04:20:30.789Z"
},
"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": {
"device_time_utc": {
"type": "string"
},
"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"
]
},
"data": {
"type": "object",
"properties": {
"cc_last_seen_utc": {
"type": "string"
},
"scte104_last_seen_utc": {
"type": "string"
}
}
},
"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"
]
}Input Channel Status (LiveEdge Max)GET/v2/in_channels/{id}/status (LiveEdge Max)
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
{
"device_time_utc": "1980-01-04T04:20:30.789Z",
"locked": true,
"video": {
"input_type": "VIDEO_IN_NONE",
"width": 1920,
"height": 1080,
"timing": {
"horizontal_front_porch": 88,
"horizontal_sync": 44,
"horizontal_back_porch": 148,
"horizontal_blank": 280,
"horizontal_active": 1920,
"horizontal_total": 2200,
"horizontal_sync_polarity": true,
"vertical_front_porch": 4,
"vertical_sync": 5,
"vertical_back_porch": 36,
"vertical_blank": [
45,
0
],
"vertical_active_lines": 1080,
"vertical_total": 1125,
"vertical_sync_polarity": true,
"interlaced": false,
"pic_aspect_ratio": "16:9",
"pix_aspect_ratio": "1:1",
"horizontal_rate_hz": 67433,
"frame_rate_hz": {
"numerator": 60000,
"denominator": 1001
},
"field_rate_hz": {
"numerator": 60000,
"denominator": 1001
},
"pixel_clock_hz": 148351648,
"pix_repeat_factor": 0,
"std_timing_id": 16,
"std": "TSTD_CEA_861"
},
"colorimetry": {
"full_range": false,
"color_std": {
"name": "YCC_BT.709",
"primaries": {
"r": "(0.64000, 0.33000)",
"g": "(0.30000, 0.60000)",
"b": "(0.15000, 0.06000)",
"w": "(0.31270, 0.32900)"
},
"channels": "YCbCr",
"ranges": [
"(16-235)",
"(16-240)",
"(16-240)",
"(0-255)"
],
"eotfs": [
"EOTF_SMPTE_170M"
]
},
"present": true
}
},
"audio": {
"input_type": "AUDIO_IN_NONE",
"sample_rate_hz": 48000,
"channel_count": 16,
"sample_format": "SAMPLE_FORMAT_S24_LE",
"present": true,
"active_channels": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16
]
},
"data": {
"cc_last_seen_utc": "1980-01-04T04:20:30.789Z",
"scte104_last_seen_utc": "1980-01-04T04:20:30.789Z"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"device_time_utc": {
"type": "string"
},
"locked": {
"type": "boolean"
},
"video": {
"type": "object",
"properties": {
"input_type": {
"type": "string",
"enum": [
"VIDEO_IN_NONE"
]
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"timing": {
"type": "object",
"properties": {
"horizontal_front_porch": {
"type": "number"
},
"horizontal_sync": {
"type": "number"
},
"horizontal_back_porch": {
"type": "number"
},
"horizontal_blank": {
"type": "number"
},
"horizontal_active": {
"type": "number"
},
"horizontal_total": {
"type": "number"
},
"horizontal_sync_polarity": {
"type": "boolean"
},
"vertical_front_porch": {
"type": "number"
},
"vertical_sync": {
"type": "number"
},
"vertical_back_porch": {
"type": "number"
},
"vertical_blank": {
"type": "array"
},
"vertical_active_lines": {
"type": "number"
},
"vertical_total": {
"type": "number"
},
"vertical_sync_polarity": {
"type": "boolean"
},
"interlaced": {
"type": "boolean"
},
"pic_aspect_ratio": {
"type": "string"
},
"pix_aspect_ratio": {
"type": "string"
},
"horizontal_rate_hz": {
"type": "number"
},
"frame_rate_hz": {
"type": "object",
"properties": {
"numerator": {
"type": "number"
},
"denominator": {
"type": "number"
}
}
},
"field_rate_hz": {
"type": "object",
"properties": {
"numerator": {
"type": "number"
},
"denominator": {
"type": "number"
}
}
},
"pixel_clock_hz": {
"type": "number"
},
"pix_repeat_factor": {
"type": "number"
},
"std_timing_id": {
"type": "number"
},
"std": {
"type": "string",
"enum": [
"TSTD_CEA_861"
]
}
}
},
"colorimetry": {
"type": "object",
"properties": {
"full_range": {
"type": "boolean"
},
"color_std": {
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"YCC_BT.709"
]
},
"primaries": {
"type": "object",
"properties": {
"r": {
"type": "string"
},
"g": {
"type": "string"
},
"b": {
"type": "string"
},
"w": {
"type": "string"
}
}
},
"channels": {
"type": "string"
},
"ranges": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"eotfs": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"present": {
"type": "boolean"
}
}
}
},
"required": [
"timing"
]
},
"audio": {
"type": "object",
"properties": {
"input_type": {
"type": "string",
"enum": [
"AUDIO_IN_NONE"
]
},
"sample_rate_hz": {
"type": "number"
},
"channel_count": {
"type": "number"
},
"sample_format": {
"type": "string",
"enum": [
"SAMPLE_FORMAT_S24_LE"
]
},
"present": {
"type": "boolean"
},
"active_channels": {
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
]
}
}
},
"data": {
"type": "object",
"properties": {
"cc_last_seen_utc": {
"type": "string"
},
"scte104_last_seen_utc": {
"type": "string"
}
}
}
}
}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,
"enable_retry": true,
"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"
},
"enable_retry": {
"type": "boolean"
},
"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",
"enable_retry": true,
"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"
},
"enable_retry": {
"type": "boolean"
},
"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",
"enable_retry": true,
"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"
},
"enable_retry": {
"type": "boolean"
},
"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,
"enable_retry": true,
"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"
},
"enable_retry": {
"type": "boolean"
},
"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",
"enable_retry": true,
"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"
},
"enable_retry": {
"type": "boolean"
},
"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",
"enable_retry": true,
"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"
},
"enable_retry": {
"type": "boolean"
},
"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": true,
"data_encoder_id": 1,
"in_channel_id": 1,
"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": {
"disable_misb1402_timestamps": false
},
"scte35": {
"splice_duration": 30000
},
"smpte2038": {
"stop_processing": false
}
},
"status": "DISABLED",
"seconds_in_status": 1
}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": {
"disable_misb1402_timestamps": {
"type": "boolean"
}
}
},
"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.
Field Definitions:
- codec
- klv_sync
- disable_misb1402_timestamps - True disables KLV stream insertion of MISB 0601 KLV containing a MISB 0603 Precision Time Stamp. This breaks MISB 1402 compliance and is not recommended.
- scte35
- splice_duration - Duration in milliseconds of a splice when none is specified on a request to splice.
- smpte2038
- stop_processing - True dynamically stops the processing of SMPTE-2038 data without restarting the stream or requiring a disconnect of the encoder.
- klv_sync
Example URI
- id
integer(required) Example: 0
Headers
Content-Type: application/jsonBody
{
"name": "DataEncoder1",
"in_channel_id": 1,
"codec": {
"value": "klv_sync",
"klv_sync": {
"disable_misb1402_timestamps": false
},
"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": {
"disable_misb1402_timestamps": {
"type": "boolean"
}
}
},
"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": 1,
"codec": {
"value": "klv_sync",
"klv_sync": {
"disable_misb1402_timestamps": false
},
"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": {
"disable_misb1402_timestamps": {
"type": "boolean"
}
}
},
"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
]
},
"enable_retry": true,
"unlimited_retries": true,
"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"
],
"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",
"aws_mediapackage"
],
"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"
],
"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"
]
},
"enable_retry": {
"type": "boolean"
},
"unlimited_retries": {
"type": "boolean"
},
"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"
}
},
"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"
},
{
"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"
}
},
"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
]
},
"enable_retry": true,
"unlimited_retries": true,
"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"
]
},
"enable_retry": {
"type": "boolean"
},
"unlimited_retries": {
"type": "boolean"
},
"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