Back to top

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 Settings
GET/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

GET http://ip.address:2020/v2/system
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Settings
PUT/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

PUT http://ip.address:2020/v2/system
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
  ]
}
Response  204

About

Get About (Device info)
GET/v2/about

Example URI

GET http://ip.address:2020/v2/about
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "daemon_version": "12.3.4"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "daemon_version": {
      "type": "string"
    }
  },
  "required": [
    "daemon_version"
  ]
}

Input Channels

Input Channels

Get Input Channel List
GET/v2/in_channels

Get the list of input channels.

Example URI

GET http://ip.address:2020/v2/in_channels
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "in_channels": [
    {
      "in_channel_id": 1,
      "input_type": "hardware"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "in_channels": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "in_channel_id": {
            "type": "number"
          },
          "input_type": {
            "type": "string",
            "enum": [
              "hardware"
            ]
          }
        },
        "required": [
          "in_channel_id",
          "input_type"
        ]
      }
    }
  }
}

Input Channel Configuration

Get Input Channel Configuration
GET/v2/in_channels/{id}

Get the input channel configuration.

Example URI

GET http://ip.address:2020/v2/in_channels/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "in_channel_id": 1,
  "audio_input": {
    "value": "input_embedded",
    "possible_values": [
      "input_auto",
      "input_embedded",
      "input_3p5mm"
    ],
    "detected": true,
    "sdi_ignore_phase": true
  },
  "video_input": {
    "value": "input_hdmi",
    "possible_values": [
      "input_auto",
      "input_hdmi",
      "input_sdi"
    ],
    "detected_format": {
      "value": "FORMAT_1080p60"
    }
  },
  "video_rotation": {
    "value": "ROTATE_0",
    "possible_values": [
      "ROTATE_0",
      "ROTATE_90",
      "ROTATE_180",
      "ROTATE_270"
    ]
  },
  "graphic_overlay": {
    "enable": true,
    "position": {
      "preset": {
        "value": "MANUAL",
        "possible_values": [
          "MANUAL",
          "FULLSCREEN",
          "LOWER_THIRD",
          "TOP_LEFT",
          "BOTTOM_LEFT",
          "TOP_CENTER",
          "CENTER",
          "BOTTOM_CENTER",
          "TOP_RIGHT",
          "BOTTOM_RIGHT"
        ]
      },
      "x": 0,
      "y": 0,
      "width": 100,
      "height": 100,
      "lock_aspect_ratio": {
        "value": "NO_LOCK",
        "possible_values": [
          "NO_LOCK",
          "LOCK_TO_WIDTH",
          "LOCK_TO_HEIGHT"
        ]
      }
    },
    "image_status": "NO_IMAGE"
  },
  "name": "Input1",
  "connection_caps": {
    "producer_caps": [
      "RAW_VIDEO",
      "RAW_AUDIO",
      "DATA_SMPTE291"
    ]
  },
  "input_type": {
    "value": "hardware",
    "hardware": {
      "hw_channel": 0
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "in_channel_id": {
      "type": "number"
    },
    "audio_input": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        },
        "detected": {
          "type": "boolean"
        },
        "sdi_ignore_phase": {
          "type": "boolean"
        }
      },
      "required": [
        "value",
        "possible_values",
        "detected",
        "sdi_ignore_phase"
      ]
    },
    "video_input": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        },
        "detected_format": {
          "type": "object",
          "properties": {
            "value": {
              "type": "string"
            }
          },
          "required": [
            "value"
          ]
        }
      },
      "required": [
        "value",
        "possible_values",
        "detected_format"
      ]
    },
    "video_rotation": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "graphic_overlay": {
      "type": "object",
      "properties": {
        "enable": {
          "type": "boolean"
        },
        "position": {
          "type": "object",
          "properties": {
            "preset": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "width": {
              "type": "number"
            },
            "height": {
              "type": "number"
            },
            "lock_aspect_ratio": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            }
          },
          "required": [
            "preset",
            "x",
            "y",
            "width",
            "height",
            "lock_aspect_ratio"
          ]
        },
        "image_status": {
          "type": "string"
        }
      },
      "required": [
        "enable",
        "position",
        "image_status"
      ]
    },
    "name": {
      "type": "string"
    },
    "connection_caps": {
      "type": "object",
      "properties": {
        "producer_caps": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "producer_caps"
      ]
    },
    "input_type": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "hardware"
          ]
        },
        "hardware": {
          "type": "object",
          "properties": {
            "hw_channel": {
              "type": "number"
            }
          },
          "required": [
            "hw_channel"
          ]
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "required": [
    "in_channel_id",
    "audio_input",
    "video_input",
    "video_rotation",
    "graphic_overlay",
    "name",
    "connection_caps",
    "input_type"
  ]
}

Update Input Channel Configuration
PUT/v2/in_channels/{id}

Set the input channel configuration.

Example URI

PUT http://ip.address:2020/v2/in_channels/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "audio_input": {
    "value": "input_embedded",
    "sdi_ignore_phase": true
  },
  "video_input": {
    "value": "input_hdmi"
  },
  "video_rotation": {
    "value": "ROTATE_0"
  },
  "graphic_overlay": {
    "enable": true,
    "position": {
      "preset": {
        "value": "MANUAL"
      },
      "x": 0,
      "y": 0,
      "width": 100,
      "height": 100,
      "lock_aspect_ratio": {
        "value": "NO_LOCK"
      }
    }
  },
  "name": "Input1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "audio_input": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "sdi_ignore_phase": {
          "type": "boolean"
        }
      },
      "required": [
        "value",
        "sdi_ignore_phase"
      ]
    },
    "video_input": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "video_rotation": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "graphic_overlay": {
      "type": "object",
      "properties": {
        "enable": {
          "type": "boolean"
        },
        "position": {
          "type": "object",
          "properties": {
            "preset": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            },
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "width": {
              "type": "number"
            },
            "height": {
              "type": "number"
            },
            "lock_aspect_ratio": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "preset",
            "x",
            "y",
            "width",
            "height",
            "lock_aspect_ratio"
          ]
        }
      },
      "required": [
        "enable",
        "position"
      ]
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "audio_input",
    "video_input",
    "graphic_overlay",
    "name"
  ]
}
Response  204

Create New Input Channel
POST/v2/in_channels/

Create the input channel configuration.

Example URI

POST http://ip.address:2020/v2/in_channels/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "audio_input": {
    "value": "input_embedded",
    "sdi_ignore_phase": true
  },
  "video_input": {
    "value": "input_hdmi"
  },
  "video_rotation": {
    "value": "ROTATE_0"
  },
  "graphic_overlay": {
    "enable": true,
    "position": {
      "preset": {
        "value": "MANUAL"
      },
      "x": 0,
      "y": 0,
      "width": 100,
      "height": 100,
      "lock_aspect_ratio": {
        "value": "NO_LOCK"
      }
    }
  },
  "name": "Input1",
  "input_type": {
    "value": "hardware",
    "hardware": {
      "hw_channel": 0
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "audio_input": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "sdi_ignore_phase": {
          "type": "boolean"
        }
      },
      "required": [
        "value",
        "sdi_ignore_phase"
      ]
    },
    "video_input": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "video_rotation": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "graphic_overlay": {
      "type": "object",
      "properties": {
        "enable": {
          "type": "boolean"
        },
        "position": {
          "type": "object",
          "properties": {
            "preset": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            },
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            },
            "width": {
              "type": "number"
            },
            "height": {
              "type": "number"
            },
            "lock_aspect_ratio": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "preset",
            "x",
            "y",
            "width",
            "height",
            "lock_aspect_ratio"
          ]
        }
      },
      "required": [
        "enable",
        "position"
      ]
    },
    "name": {
      "type": "string"
    },
    "input_type": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "hardware"
          ]
        },
        "hardware": {
          "type": "object",
          "properties": {
            "hw_channel": {
              "type": "number"
            }
          },
          "required": [
            "hw_channel"
          ]
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "required": [
    "audio_input",
    "video_input",
    "graphic_overlay",
    "name",
    "input_type"
  ]
}
Response  204

Delete Input Channel
DELETE/v2/in_channels/{id}

Delete the input channel configuration.

Example URI

DELETE http://ip.address:2020/v2/in_channels/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Input Channel Status
GET/v2/in_channels/{id}/status

Get the status info of the input channel.

NOTE: This information is very product specific and is subject to change.

Example URI

GET http://ip.address:2020/v2/in_channels/0/status
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "video": {
    "width": 1920,
    "height": 1080,
    "interlaced": false,
    "fieldrate": {
      "numerator": 60000,
      "denominator": 1001
    },
    "input_type": "VIDEO_IN_NONE"
  },
  "audio": {
    "sample_rate_hz": 48000,
    "input_type": "AUDIO_IN_NONE"
  },
  "sdi_rx": {
    "pll_lock": true,
    "video": {
      "horizontal_active": 1920,
      "horizontal_total": 2200,
      "vertical_active": 1080,
      "vertical_total": 1125,
      "interlaced": false,
      "fractional_framerate": true
    },
    "audio": {
      "active_channels": [
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8
      ],
      "chan_1_2_sample_rate_hz": 48000,
      "valid_phase_data": true
    }
  },
  "hdmi_rx": {
    "pll_lock": true,
    "dvi": false,
    "video": {
      "vsync_stable": true,
      "width": 1920,
      "height": 1080,
      "interlaced": false,
      "vsync_period_us": 16683
    },
    "audio": {
      "present": true,
      "pll_phase_lock": true,
      "pll_freq_lock": true,
      "sample_rate_hz": 48000
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "video": {
      "type": "object",
      "properties": {
        "width": {
          "type": "number"
        },
        "height": {
          "type": "number"
        },
        "interlaced": {
          "type": "boolean"
        },
        "fieldrate": {
          "type": "object",
          "properties": {
            "numerator": {
              "type": "number"
            },
            "denominator": {
              "type": "number"
            }
          }
        },
        "input_type": {
          "type": "string"
        }
      },
      "required": [
        "input_type"
      ]
    },
    "audio": {
      "type": "object",
      "properties": {
        "sample_rate_hz": {
          "type": "number"
        },
        "input_type": {
          "type": "string"
        }
      },
      "required": [
        "input_type"
      ]
    },
    "sdi_rx": {
      "type": "object",
      "properties": {
        "pll_lock": {
          "type": "boolean"
        },
        "video": {
          "type": "object",
          "properties": {
            "horizontal_active": {
              "type": "number"
            },
            "horizontal_total": {
              "type": "number"
            },
            "vertical_active": {
              "type": "number"
            },
            "vertical_total": {
              "type": "number"
            },
            "interlaced": {
              "type": "boolean"
            },
            "fractional_framerate": {
              "type": "boolean"
            }
          }
        },
        "audio": {
          "type": "object",
          "properties": {
            "active_channels": {
              "type": "array",
              "items": [
                {
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ]
            },
            "chan_1_2_sample_rate_hz": {
              "type": "number"
            },
            "valid_phase_data": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "hdmi_rx": {
      "type": "object",
      "properties": {
        "pll_lock": {
          "type": "boolean"
        },
        "dvi": {
          "type": "boolean"
        },
        "video": {
          "type": "object",
          "properties": {
            "vsync_stable": {
              "type": "boolean"
            },
            "width": {
              "type": "number"
            },
            "height": {
              "type": "number"
            },
            "interlaced": {
              "type": "boolean"
            },
            "vsync_period_us": {
              "type": "number"
            }
          }
        },
        "audio": {
          "type": "object",
          "properties": {
            "present": {
              "type": "boolean"
            },
            "pll_phase_lock": {
              "type": "boolean"
            },
            "pll_freq_lock": {
              "type": "boolean"
            },
            "sample_rate_hz": {
              "type": "number"
            }
          }
        }
      }
    }
  },
  "required": [
    "video"
  ]
}

Overlay Graphic

Retrieve Overlay Graphic
GET/v2/in_channels/{id}/overlay_graphic

Example URI

GET http://ip.address:2020/v2/in_channels/0/overlay_graphic
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: image/png; Content-Transfer-Encoding: base64
Body
<base64 png>

Upload Overlay Graphic
POST/v2/in_channels/{id}/overlay_graphic{?persist}

Upload overlay graphic.

Example URI

POST http://ip.address:2020/v2/in_channels/0/overlay_graphic?persist=false
URI Parameters
HideShow
id
integer (required) Example: 0
persist
boolean (optional) Example: false

Default is false. Only use persist for static overlays that should persist after reboot.

Request
HideShow
Headers
Content-Type: multipart/form-data; boundary=---------BOUNDARY
Body
---------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
---------BOUNDARY
Response  204

Delete overlay graphic
DELETE/v2/in_channels/{id}/overlay_graphic

Delete the stored overlay graphic.

Example URI

DELETE http://ip.address:2020/v2/in_channels/0/overlay_graphic
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Encoders

Encoders

Get Encoders List
GET/v2/encoders

Get the list of encoders present in the device.

Example URI

GET http://ip.address:2020/v2/encoders
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 List
GET/v2/encoders/vid_encoders

Get the list of video encoders present in the device.

Example URI

GET http://ip.address:2020/v2/encoders/vid_encoders
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Configuration
GET/v2/encoders/vid_encoders/{id}

Get the current encoder settings.

Example URI

GET http://ip.address:2020/v2/encoders/vid_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "VideoEncoder1",
  "active": true,
  "vid_encoder_id": 1,
  "in_channel_id": 1,
  "connection_caps": {
    "consumer_caps": [
      "RAW_VIDEO",
      "DATA_SMPTE291"
    ],
    "producer_caps": [
      "ES_VIDEO_H264",
      "ES_VIDEO_H265",
      "ES_VIDEO_MJPEG"
    ]
  },
  "sync_group_id": 1,
  "bitrate": {
    "value": 500,
    "value_range": {
      "min": 32,
      "max": 512
    }
  },
  "latency_mode": {
    "value": "HIGH",
    "possible_values": [
      "HIGH",
      "NORMAL",
      "LOW",
      "LOWEST"
    ]
  },
  "bitrate_mode": {
    "value": "variable",
    "possible_values": [
      "constant",
      "constant_strict",
      "variable"
    ]
  },
  "keyframe_interval": {
    "interval": 100,
    "unit": "FRAMES",
    "possible_units": [
      "FRAMES",
      "MILLISECONDS"
    ],
    "interval_range_frames": {
      "min": 32,
      "max": 512
    },
    "interval_range_milliseconds": {
      "min": 32,
      "max": 512
    }
  },
  "scaling_resolution": {
    "value": "RES_1920X1080",
    "possible_values": [
      "RES_PASSTHROUGH",
      "RES_3840X2160",
      "RES_2560X1440",
      "RES_1920X1200",
      "RES_1920X1080",
      "RES_1280X720",
      "RES_960X540",
      "RES_720X576",
      "RES_854x480",
      "RES_640X360",
      "RES_480X270",
      "RES_320X180"
    ]
  },
  "limit_to_30_fps": true,
  "codec": {
    "value": "H264",
    "possible_values": [
      "H264",
      "H265"
    ],
    "h264": {
      "profile": {
        "value": "PROFILE_BASELINE",
        "possible_values": [
          "PROFILE_BASELINE",
          "PROFILE_MAIN",
          "PROFILE_HIGH"
        ]
      },
      "level": {
        "value": "LVL5P1"
      }
    },
    "h265": {
      "profile": {
        "value": "PROFILE_MAIN",
        "possible_values": [
          "PROFILE_MAIN"
        ]
      },
      "level": {
        "value": "LVL_5P1_HIGH"
      }
    }
  },
  "klv_timestamp_enabled": true,
  "allow_outputs_to_adjust_bitrate": true,
  "cc_processing_enabled": true,
  "status": "DISABLED",
  "seconds_in_status": 1,
  "current_bitrate": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "active": {
      "type": "boolean"
    },
    "vid_encoder_id": {
      "type": "number"
    },
    "in_channel_id": {
      "type": "number"
    },
    "connection_caps": {
      "type": "object",
      "properties": {
        "consumer_caps": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        },
        "producer_caps": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "consumer_caps",
        "producer_caps"
      ]
    },
    "sync_group_id": {
      "type": "number"
    },
    "bitrate": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        },
        "value_range": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number"
            },
            "max": {
              "type": "number"
            }
          },
          "required": [
            "min",
            "max"
          ]
        }
      },
      "required": [
        "value",
        "value_range"
      ]
    },
    "latency_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "bitrate_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "keyframe_interval": {
      "type": "object",
      "properties": {
        "interval": {
          "type": "number"
        },
        "unit": {
          "type": "string"
        },
        "possible_units": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        },
        "interval_range_frames": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number"
            },
            "max": {
              "type": "number"
            }
          },
          "required": [
            "min",
            "max"
          ]
        },
        "interval_range_milliseconds": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number"
            },
            "max": {
              "type": "number"
            }
          },
          "required": [
            "min",
            "max"
          ]
        }
      },
      "required": [
        "interval",
        "unit",
        "possible_units"
      ]
    },
    "scaling_resolution": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "limit_to_30_fps": {
      "type": "boolean"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        },
        "h264": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "level": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "profile",
            "level"
          ]
        },
        "h265": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "level": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "profile",
            "level"
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "klv_timestamp_enabled": {
      "type": "boolean"
    },
    "allow_outputs_to_adjust_bitrate": {
      "type": "boolean"
    },
    "cc_processing_enabled": {
      "type": "boolean"
    },
    "status": {
      "type": "string"
    },
    "seconds_in_status": {
      "type": "number"
    },
    "current_bitrate": {
      "type": "number"
    }
  },
  "required": [
    "name",
    "active",
    "vid_encoder_id",
    "in_channel_id",
    "connection_caps",
    "bitrate",
    "latency_mode",
    "bitrate_mode",
    "keyframe_interval",
    "scaling_resolution",
    "limit_to_30_fps",
    "codec",
    "klv_timestamp_enabled",
    "allow_outputs_to_adjust_bitrate",
    "cc_processing_enabled"
  ]
}

Update Video Encoder Configuration
PUT/v2/encoders/vid_encoders/{id}

Update the current encoder settings.

Example URI

PUT http://ip.address:2020/v2/encoders/vid_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "VideoEncoder1",
  "in_channel_id": 1,
  "sync_group_id": 1,
  "bitrate": {
    "value": 500
  },
  "latency_mode": {
    "value": "HIGH"
  },
  "bitrate_mode": {
    "value": "variable"
  },
  "keyframe_interval": {
    "interval": 100,
    "unit": "FRAMES"
  },
  "scaling_resolution": {
    "value": "RES_1920X1080"
  },
  "limit_to_30_fps": true,
  "klv_timestamp_enabled": true,
  "allow_outputs_to_adjust_bitrate": true,
  "cc_processing_enabled": true,
  "codec": {
    "value": "H264",
    "h264": {
      "profile": {
        "value": "PROFILE_MAIN"
      }
    },
    "h265": {
      "profile": {
        "value": "PROFILE_MAIN"
      }
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "in_channel_id": {
      "type": "number"
    },
    "sync_group_id": {
      "type": "number"
    },
    "bitrate": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        }
      },
      "required": [
        "value"
      ]
    },
    "latency_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "bitrate_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "keyframe_interval": {
      "type": "object",
      "properties": {
        "interval": {
          "type": "number"
        },
        "unit": {
          "type": "string"
        }
      },
      "required": [
        "interval",
        "unit"
      ]
    },
    "scaling_resolution": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "limit_to_30_fps": {
      "type": "boolean"
    },
    "klv_timestamp_enabled": {
      "type": "boolean"
    },
    "allow_outputs_to_adjust_bitrate": {
      "type": "boolean"
    },
    "cc_processing_enabled": {
      "type": "boolean"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "h264": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "profile"
          ]
        },
        "h265": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "profile"
          ]
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "required": [
    "name",
    "in_channel_id",
    "bitrate",
    "latency_mode",
    "bitrate_mode",
    "keyframe_interval",
    "scaling_resolution",
    "limit_to_30_fps",
    "klv_timestamp_enabled",
    "allow_outputs_to_adjust_bitrate",
    "codec"
  ]
}
Response  204

Create New Video Encoder
POST/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

POST http://ip.address:2020/v2/encoders/vid_encoders
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "VideoEncoder1",
  "in_channel_id": 1,
  "sync_group_id": 1,
  "bitrate": {
    "value": 500
  },
  "latency_mode": {
    "value": "HIGH"
  },
  "bitrate_mode": {
    "value": "variable"
  },
  "keyframe_interval": {
    "interval": 100,
    "unit": "FRAMES"
  },
  "scaling_resolution": {
    "value": "RES_1920X1080"
  },
  "limit_to_30_fps": true,
  "klv_timestamp_enabled": true,
  "allow_outputs_to_adjust_bitrate": true,
  "cc_processing_enabled": true,
  "codec": {
    "value": "H264",
    "h264": {
      "profile": {
        "value": "PROFILE_MAIN"
      }
    },
    "h265": {
      "profile": {
        "value": "PROFILE_MAIN"
      }
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "in_channel_id": {
      "type": "number"
    },
    "sync_group_id": {
      "type": "number"
    },
    "bitrate": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        }
      },
      "required": [
        "value"
      ]
    },
    "latency_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "bitrate_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "keyframe_interval": {
      "type": "object",
      "properties": {
        "interval": {
          "type": "number"
        },
        "unit": {
          "type": "string"
        }
      },
      "required": [
        "interval",
        "unit"
      ]
    },
    "scaling_resolution": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "limit_to_30_fps": {
      "type": "boolean"
    },
    "klv_timestamp_enabled": {
      "type": "boolean"
    },
    "allow_outputs_to_adjust_bitrate": {
      "type": "boolean"
    },
    "cc_processing_enabled": {
      "type": "boolean"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "h264": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "profile"
          ]
        },
        "h265": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "profile"
          ]
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "required": [
    "name",
    "in_channel_id",
    "bitrate",
    "latency_mode",
    "bitrate_mode",
    "keyframe_interval",
    "scaling_resolution",
    "limit_to_30_fps",
    "klv_timestamp_enabled",
    "allow_outputs_to_adjust_bitrate",
    "codec"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  },
  "required": [
    "id"
  ]
}

Delete Video Encoder
DELETE/v2/encoders/vid_encoders/{id}

Delete the specified video encoder.

Example URI

DELETE http://ip.address:2020/v2/encoders/vid_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Sync Groups

Sync Groups

Get Sync Group List
GET/v2/encoders/vid_encoders/sync_groups

Get the list of sync groups.

Example URI

GET http://ip.address:2020/v2/encoders/vid_encoders/sync_groups
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Configuration
GET/v2/encoders/vid_encoders/sync_groups/{id}

Get settings for the specified sync group.

Example URI

GET http://ip.address:2020/v2/encoders/vid_encoders/sync_groups/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Configuration
PUT/v2/encoders/vid_encoders/sync_groups/{id}

Update settings for the specified sync group.

Example URI

PUT http://ip.address:2020/v2/encoders/vid_encoders/sync_groups/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
  ]
}
Response  204

Create Sync Group
POST/v2/encoders/vid_encoders/sync_groups

Create sync group with the specified settings.

Example URI

POST http://ip.address:2020/v2/encoders/vid_encoders/sync_groups
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  },
  "required": [
    "id"
  ]
}

Delete Sync Group
DELETE/v2/encoders/vid_encoders/sync_groups/{id}

Delete the specified sync group.

Example URI

DELETE http://ip.address:2020/v2/encoders/vid_encoders/sync_groups/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Audio Encoders

Audio Encoders

Get Audio Encoders List
GET/v2/encoders/aud_encoders

Get the list of audio encoders present in the device.

Example URI

GET http://ip.address:2020/v2/encoders/aud_encoders
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Configuration
GET/v2/encoders/aud_encoders/{id}

Get the current audio encoder settings.

Example URI

GET http://ip.address:2020/v2/encoders/aud_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "AudioEncoder1",
  "active": true,
  "aud_encoder_id": 1,
  "in_channel_id": 1,
  "connection_caps": {
    "consumer_caps": [
      "RAW_AUDIO"
    ],
    "producer_caps": [
      "ES_AUDIO_AAC_MPEG4_ADTS",
      "ES_AUDIO_OPUS"
    ]
  },
  "codec": {
    "value": "mpeg4_aac",
    "possible_values": [
      "mpeg4_aac",
      "opus"
    ]
  },
  "sample": {
    "value": "SAMPLE_48_khz",
    "possible_values": [
      "SAMPLE_16_khz",
      "SAMPLE_32_khz",
      "SAMPLE_44p1_khz",
      "SAMPLE_48_khz",
      "SAMPLE_96_khz",
      "SAMPLE_192_khz"
    ]
  },
  "mix_mode": {
    "value": "STEREO",
    "possible_values": [
      "STEREO",
      "DUAL_MONO",
      "LEFT_MONO",
      "RIGHT_MONO",
      "CROSS_MONO"
    ]
  },
  "bitrate": {
    "value": 64,
    "value_range": {
      "min": 32,
      "max": 512
    }
  },
  "bitrate_mode": {
    "value": "variable",
    "possible_values": [
      "constant",
      "variable"
    ]
  },
  "channel_configuration": {
    "num_channel_range": {
      "min": 32,
      "max": 512
    },
    "avail_channel_range": {
      "min": 32,
      "max": 512
    },
    "selected_channels": [
      1,
      2
    ]
  },
  "status": "DISABLED",
  "seconds_in_status": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "active": {
      "type": "boolean"
    },
    "aud_encoder_id": {
      "type": "number"
    },
    "in_channel_id": {
      "type": "number"
    },
    "connection_caps": {
      "type": "object",
      "properties": {
        "consumer_caps": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "producer_caps": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "consumer_caps",
        "producer_caps"
      ]
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "sample": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "mix_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "bitrate": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        },
        "value_range": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number"
            },
            "max": {
              "type": "number"
            }
          },
          "required": [
            "min",
            "max"
          ]
        }
      },
      "required": [
        "value",
        "value_range"
      ]
    },
    "bitrate_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "channel_configuration": {
      "type": "object",
      "properties": {
        "num_channel_range": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number"
            },
            "max": {
              "type": "number"
            }
          },
          "required": [
            "min",
            "max"
          ]
        },
        "avail_channel_range": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number"
            },
            "max": {
              "type": "number"
            }
          },
          "required": [
            "min",
            "max"
          ]
        },
        "selected_channels": {
          "type": "array",
          "items": [
            {
              "type": "number"
            },
            {
              "type": "number"
            }
          ]
        }
      },
      "required": [
        "num_channel_range",
        "avail_channel_range",
        "selected_channels"
      ]
    },
    "status": {
      "type": "string"
    },
    "seconds_in_status": {
      "type": "number"
    }
  },
  "required": [
    "name",
    "active",
    "aud_encoder_id",
    "in_channel_id",
    "connection_caps",
    "codec",
    "sample",
    "mix_mode",
    "bitrate",
    "bitrate_mode",
    "channel_configuration"
  ]
}

Update Audio Encoder Configuration
PUT/v2/encoders/aud_encoders/{id}

Update the current audio encoder settings.

Example URI

PUT http://ip.address:2020/v2/encoders/aud_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "AudioEncoder1",
  "in_channel_id": 1,
  "codec": {
    "value": "mpeg4_aac"
  },
  "mix_mode": {
    "value": "STEREO"
  },
  "bitrate": {
    "value": 64
  },
  "bitrate_mode": {
    "value": "variable"
  },
  "channel_configuration": {
    "selected_channels": [
      1,
      2
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "in_channel_id": {
      "type": "number"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "mix_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "bitrate": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        }
      },
      "required": [
        "value"
      ]
    },
    "bitrate_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "channel_configuration": {
      "type": "object",
      "properties": {
        "selected_channels": {
          "type": "array",
          "items": [
            {
              "type": "number"
            },
            {
              "type": "number"
            }
          ]
        }
      },
      "required": [
        "selected_channels"
      ]
    }
  },
  "required": [
    "name",
    "in_channel_id",
    "codec",
    "mix_mode",
    "bitrate",
    "bitrate_mode",
    "channel_configuration"
  ]
}
Response  204

Create New Audio Encoder
POST/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

POST http://ip.address:2020/v2/encoders/aud_encoders
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "AudioEncoder1",
  "in_channel_id": 1,
  "codec": {
    "value": "mpeg4_aac"
  },
  "mix_mode": {
    "value": "STEREO"
  },
  "bitrate": {
    "value": 64
  },
  "bitrate_mode": {
    "value": "variable"
  },
  "channel_configuration": {
    "selected_channels": [
      1,
      2
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "in_channel_id": {
      "type": "number"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "mix_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "bitrate": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        }
      },
      "required": [
        "value"
      ]
    },
    "bitrate_mode": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "channel_configuration": {
      "type": "object",
      "properties": {
        "selected_channels": {
          "type": "array",
          "items": [
            {
              "type": "number"
            },
            {
              "type": "number"
            }
          ]
        }
      },
      "required": [
        "selected_channels"
      ]
    }
  },
  "required": [
    "name",
    "in_channel_id",
    "codec",
    "mix_mode",
    "bitrate",
    "bitrate_mode",
    "channel_configuration"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  },
  "required": [
    "id"
  ]
}

Delete Audio Encoder
DELETE/v2/encoders/aud_encoders/{id}

Delete the specified audio encoder.

Example URI

DELETE http://ip.address:2020/v2/encoders/aud_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Data Encoders

Data Encoders

Get Data Encoders List
GET/v2/encoders/data_encoders

Get the list of data encoders present in the device.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Configuration
GET/v2/encoders/data_encoders/{id}

Get the current data encoder settings.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "DataEncoder1",
  "active": false,
  "data_encoder_id": 0,
  "in_channel_id": 0,
  "connection_caps": {
    "consumer_caps": [
      "DATA_SMPTE291"
    ],
    "producer_caps": [
      "DATA_SMPTE291_10BIT_SCTE_104",
      "DATA_SMPTE2038",
      "DATA_MPEGTS_METADATA_AU_WRAPPER_KLV_SYNC"
    ]
  },
  "codec": {
    "value": "klv_sync",
    "klv_sync": {},
    "scte35": {
      "splice_duration": 30000
    },
    "smpte2038": {
      "stop_processing": false
    }
  },
  "status": "DISABLED",
  "seconds_in_status": 0
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "active": {
      "type": "boolean"
    },
    "data_encoder_id": {
      "type": "number"
    },
    "in_channel_id": {
      "type": "number"
    },
    "connection_caps": {
      "type": "object",
      "properties": {
        "consumer_caps": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "producer_caps": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "consumer_caps",
        "producer_caps"
      ]
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "klv_sync",
            "scte35",
            "smpte2038"
          ]
        },
        "klv_sync": {
          "type": "object",
          "properties": {}
        },
        "scte35": {
          "type": "object",
          "properties": {
            "splice_duration": {
              "type": "number"
            }
          },
          "required": [
            "splice_duration"
          ]
        },
        "smpte2038": {
          "type": "object",
          "properties": {
            "stop_processing": {
              "type": "boolean"
            }
          },
          "required": [
            "stop_processing"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "status": {
      "type": "string"
    },
    "seconds_in_status": {
      "type": "number"
    }
  },
  "required": [
    "name",
    "active",
    "data_encoder_id",
    "in_channel_id",
    "connection_caps",
    "codec"
  ]
}

Update Data Encoder Configuration
PUT/v2/encoders/data_encoders/{id}

Update the current data encoder settings.

Example URI

PUT http://ip.address:2020/v2/encoders/data_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "DataEncoder1",
  "in_channel_id": 0,
  "codec": {
    "value": "klv_sync",
    "klv_sync": {},
    "scte35": {
      "splice_duration": 30000
    },
    "smpte2038": {
      "stop_processing": false
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "in_channel_id": {
      "type": "number"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "klv_sync",
            "scte35",
            "smpte2038"
          ]
        },
        "klv_sync": {
          "type": "object",
          "properties": {}
        },
        "scte35": {
          "type": "object",
          "properties": {
            "splice_duration": {
              "type": "number"
            }
          },
          "required": [
            "splice_duration"
          ]
        },
        "smpte2038": {
          "type": "object",
          "properties": {
            "stop_processing": {
              "type": "boolean"
            }
          },
          "required": [
            "stop_processing"
          ]
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "required": [
    "name",
    "in_channel_id",
    "codec"
  ]
}
Response  204

Create New Data Encoder
POST/v2/encoders/data_encoders

Create a new data encoder with the specified settings.

Example URI

POST http://ip.address:2020/v2/encoders/data_encoders
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "DataEncoder1",
  "in_channel_id": 0,
  "codec": {
    "value": "klv_sync",
    "klv_sync": {},
    "scte35": {
      "splice_duration": 30000
    },
    "smpte2038": {
      "stop_processing": false
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "in_channel_id": {
      "type": "number"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "klv_sync",
            "scte35",
            "smpte2038"
          ]
        },
        "klv_sync": {
          "type": "object",
          "properties": {}
        },
        "scte35": {
          "type": "object",
          "properties": {
            "splice_duration": {
              "type": "number"
            }
          },
          "required": [
            "splice_duration"
          ]
        },
        "smpte2038": {
          "type": "object",
          "properties": {
            "stop_processing": {
              "type": "boolean"
            }
          },
          "required": [
            "stop_processing"
          ]
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "required": [
    "name",
    "in_channel_id",
    "codec"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  },
  "required": [
    "id"
  ]
}

Delete Data Encoder
DELETE/v2/encoders/data_encoders/{id}

Delete the specified data encoder.

Example URI

DELETE http://ip.address:2020/v2/encoders/data_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

SCTE-35 Splice Commands

Details of the requests that can be run on SCTE-35 data encoders for splice commands.

Get Splice Commands
GET/v2/encoders/data_encoders/{id}/splice_commands

Get the list of active splice commands.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Commands
DELETE/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

DELETE http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Get Splice Command
GET/v2/encoders/data_encoders/{id}/splice_commands/{cmd_id}

Get the details of an active splice command.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands/1
URI Parameters
HideShow
id
integer (required) Example: 0
cmd_id
integer (required) Example: 1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Command
POST/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

POST http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  }
}

Delete Splice Command
DELETE/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

DELETE http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands/1
URI Parameters
HideShow
id
integer (required) Example: 0
cmd_id
integer (required) Example: 1
Response  204

Synchronous KLV Injection

Details of the requests that can be run on synchronous KLV data encoders for injecting KLV.

Get KLV Requests
GET/v2/encoders/data_encoders/{id}/klv

Get the list of KLV requests.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0/klv
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Request
GET/v2/encoders/data_encoders/{id}/klv/{klv_id}

Get the details of a KLV request.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0/klv/1
URI Parameters
HideShow
id
integer (required) Example: 0
klv_id
integer (required) Example: 1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Request
PUT/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

PUT http://ip.address:2020/v2/encoders/data_encoders/0/klv/1
URI Parameters
HideShow
id
integer (required) Example: 0
klv_id
integer (required) Example: 1
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
  ]
}
Response  204

Create KLV Request
POST/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

POST http://ip.address:2020/v2/encoders/data_encoders/0/klv
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  }
}

Delete KLV Request
DELETE/v2/encoders/data_encoders/{id}/klv/{klv_id}

Delete a KLV request.

Example URI

DELETE http://ip.address:2020/v2/encoders/data_encoders/0/klv/1
URI Parameters
HideShow
id
integer (required) Example: 0
klv_id
integer (required) Example: 1
Response  204

Data Encoder Actions

Details of specific actions that can be run on data encoders.

SCTE-35 - Insert Splice
POST/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

POST http://ip.address:2020/v2/encoders/data_encoders/0/action/insert_splice
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Output 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 List
GET/v2/out_streams

Get the list of streaming outputs.

Example URI

GET http://ip.address:2020/v2/out_streams
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Output
GET/v2/out_streams/{id}

Get the state of a single streaming output

Example URI

GET http://ip.address:2020/v2/out_streams/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "out_stream_id": 1,
  "enable": true,
  "audio_sources": {
    "max_sources": 1,
    "audio_source_ids": [
      1
    ]
  },
  "video_sources": {
    "max_sources": 1,
    "video_source_ids": [
      1
    ]
  },
  "data_sources": {
    "data_source_ids": [
      1
    ]
  },
  "output_type": {
    "value": "unicast",
    "unicast": {
      "protocol": "RTP",
      "destination_ip": "1.2.3.4",
      "destination_port": 1234
    },
    "multicast": {
      "protocol": "RTP",
      "multicast_ip": "1.2.3.4",
      "multicast_port": 1234,
      "ttl": 1
    },
    "rtsp": {
      "stream_name": "test",
      "server_port": 5555
    },
    "rtmp": {
      "status": "STREAM_OFF",
      "service": {
        "value": "generic",
        "possible_values": [
          "generic",
          "akamai",
          "wowza",
          "wowza_cloud",
          "youtube",
          "facebook",
          "aws_ivs",
          "mux"
        ],
        "data": "{}"
      }
    },
    "http_push": {
      "manifest_type": {
        "protocols": [
          "HLS",
          "DASH"
        ],
        "available_protocols": [
          "HLS",
          "DASH"
        ]
      },
      "media_container": {
        "value": "FMP4",
        "possible_values": [
          "TS",
          "FMP4"
        ]
      },
      "segment_length": 2,
      "number_of_segments": 10,
      "save_segment_window": false,
      "service": {
        "value": "generic",
        "possible_values": [
          "generic",
          "akamai"
        ],
        "data": "{}"
      },
      "synchronization": {
        "enable": false,
        "dash_presentation_delay": 1,
        "dash_time_service": "Hello, world!"
      },
      "ultra_low_latency": {
        "enable": false,
        "chunk_interval": {
          "interval": 1,
          "unit": "MILLISECONDS",
          "possible_units": [
            "MILLISECONDS",
            "FRAMES"
          ]
        },
        "target_latency_ms": 4000
      }
    },
    "srt": {
      "status": "STREAM_OFF",
      "call_mode": {
        "value": "CALLER",
        "possible_values": [
          "CALLER",
          "LISTENER"
        ]
      },
      "dest_ip": "1.2.3.4 || stream.url",
      "dest_port": 5555,
      "latency": 120,
      "encryption_enabled": true,
      "passphrase": "abc123",
      "bw_overhead": 25,
      "key_size": {
        "value": "AES128",
        "possible_values": [
          "AES128",
          "AES192",
          "AES256"
        ]
      },
      "stream_id": "stream1"
    },
    "zixi": {
      "destination_ip": "1.2.3.4 || stream.url",
      "destination_port": 2088,
      "stream_id": "stream1",
      "max_latency_ms": 3000,
      "fec_percentage": 30,
      "passphrase": "abc123",
      "key_size": {
        "value": "AES128",
        "possible_values": [
          "AES128",
          "AES192",
          "AES256"
        ]
      },
      "encryption_enabled": true,
      "encryption_key": "5cc73f1f7869c66df90e0771fba2d0ac",
      "enable_back_pressure_bitrate_adjustment": false,
      "dtls": {
        "dtls_cert_exist": false,
        "ignore_dtls_cert_error": false
      }
    },
    "file_record": {
      "filename_base": "VID",
      "filename_timezone": {
        "value": "UTC",
        "possible_values": [
          "UTC",
          "LOCALTIME"
        ]
      },
      "selected_device_name": "84C4-6DDE",
      "available_drives": [
        {
          "uuid": "Hello, world!",
          "type": "Hello, world!",
          "size": 1,
          "free_space": 1
        }
      ],
      "status": "`FILE_NO_STORAGE_DEVICE",
      "file_format": {
        "value": "TS",
        "possible_values": [
          "MP4",
          "TS",
          "FMP4"
        ]
      },
      "device_selection_policy": {
        "value": "ATTACH_TIME_FIRST",
        "possible_values": [
          "ATTACH_TIME_FIRST",
          "ATTACH_TIME_LAST",
          "FREE_SPACE_MAX",
          "TOTAL_SPACE_MAX",
          "VOLUME_UUID"
        ],
        "data": "device_uuid"
      },
      "delete_oldest_when_full": false,
      "limit_max_file_size": {
        "enable": true,
        "value": 1000000
      },
      "ftp_upload": {
        "enable": true,
        "protocol": {
          "value": "FTP",
          "possible_values": [
            "FTP",
            "SFTP"
          ]
        },
        "server": "my.ftp.com",
        "port": 21,
        "username": "admin",
        "password": "password",
        "file_path": "recordings",
        "delete_file_after_upload": true,
        "bytes_uploaded": 1,
        "total_bytes": 1,
        "seconds_elapsed": 1,
        "files_remaining": 1,
        "status": "Hello, world!"
      }
    },
    "whip": {
      "status": "STREAM_OFF",
      "service": {
        "value": "generic",
        "possible_values": [
          "generic",
          "dolby_io"
        ],
        "data": "{}"
      }
    },
    "thumbnail": {
      "interval": {
        "value": 1,
        "value_range": {
          "min": 32,
          "max": 512
        }
      },
      "width": {
        "value": 320,
        "value_range": {
          "min": 32,
          "max": 512
        }
      }
    }
  },
  "name": "Output1",
  "connection_caps": {
    "consumer_caps": [
      "ES_VIDEO_H264",
      "ES_VIDEO_H265",
      "ES_AUDIO_AAC_MPEG4_ADTS",
      "DATA_SMPTE291_10BIT_SCTE_104",
      "DATA_SMPTE2038",
      "DATA_MPEGTS_METADATA_AU_WRAPPER_KLV_SYNC"
    ]
  },
  "status": {
    "code": "OFF",
    "message": "Off"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "out_stream_id": {
      "type": "number"
    },
    "enable": {
      "type": "boolean"
    },
    "audio_sources": {
      "type": "object",
      "properties": {
        "max_sources": {
          "type": "number"
        },
        "audio_source_ids": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      },
      "required": [
        "max_sources",
        "audio_source_ids"
      ]
    },
    "video_sources": {
      "type": "object",
      "properties": {
        "max_sources": {
          "type": "number"
        },
        "video_source_ids": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      },
      "required": [
        "max_sources",
        "video_source_ids"
      ]
    },
    "data_sources": {
      "type": "object",
      "properties": {
        "data_source_ids": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      },
      "required": [
        "data_source_ids"
      ]
    },
    "output_type": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "unicast",
            "multicast",
            "rtsp",
            "rtmp",
            "http_push",
            "srt",
            "zixi",
            "file",
            "whip",
            "thumbnail"
          ]
        },
        "unicast": {
          "type": "object",
          "properties": {
            "protocol": {
              "type": "string"
            },
            "destination_ip": {
              "type": "string"
            },
            "destination_port": {
              "type": "number"
            }
          }
        },
        "multicast": {
          "type": "object",
          "properties": {
            "protocol": {
              "type": "string"
            },
            "multicast_ip": {
              "type": "string"
            },
            "multicast_port": {
              "type": "number"
            },
            "ttl": {
              "type": "number"
            }
          }
        },
        "rtsp": {
          "type": "object",
          "properties": {
            "stream_name": {
              "type": "string"
            },
            "server_port": {
              "type": "number"
            }
          }
        },
        "rtmp": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string"
            },
            "service": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "data": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "possible_values",
                "data"
              ]
            }
          },
          "required": [
            "status",
            "service"
          ]
        },
        "http_push": {
          "type": "object",
          "properties": {
            "manifest_type": {
              "type": "object",
              "properties": {
                "protocols": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "available_protocols": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "protocols",
                "available_protocols"
              ]
            },
            "media_container": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "segment_length": {
              "type": "number"
            },
            "number_of_segments": {
              "type": "number"
            },
            "save_segment_window": {
              "type": "boolean"
            },
            "service": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "data": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "possible_values",
                "data"
              ]
            },
            "synchronization": {
              "type": "object",
              "properties": {
                "enable": {
                  "type": "boolean"
                },
                "dash_presentation_delay": {
                  "type": "number"
                },
                "dash_time_service": {
                  "type": "string"
                }
              },
              "required": [
                "enable"
              ]
            },
            "ultra_low_latency": {
              "type": "object",
              "properties": {
                "enable": {
                  "type": "boolean"
                },
                "chunk_interval": {
                  "type": "object",
                  "properties": {
                    "interval": {
                      "type": "number"
                    },
                    "unit": {
                      "type": "string"
                    },
                    "possible_units": {
                      "type": "array",
                      "items": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "interval",
                    "unit",
                    "possible_units"
                  ]
                },
                "target_latency_ms": {
                  "type": "number"
                }
              },
              "required": [
                "enable"
              ]
            }
          }
        },
        "srt": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string"
            },
            "call_mode": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "dest_ip": {
              "type": "string"
            },
            "dest_port": {
              "type": "number"
            },
            "latency": {
              "type": "number"
            },
            "encryption_enabled": {
              "type": "boolean"
            },
            "passphrase": {
              "type": "string"
            },
            "bw_overhead": {
              "type": "number"
            },
            "key_size": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "stream_id": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "dest_ip",
            "dest_port",
            "latency",
            "encryption_enabled",
            "bw_overhead"
          ]
        },
        "zixi": {
          "type": "object",
          "properties": {
            "destination_ip": {
              "type": "string"
            },
            "destination_port": {
              "type": "number"
            },
            "stream_id": {
              "type": "string"
            },
            "max_latency_ms": {
              "type": "number"
            },
            "fec_percentage": {
              "type": "number"
            },
            "passphrase": {
              "type": "string"
            },
            "key_size": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "encryption_enabled": {
              "type": "boolean"
            },
            "encryption_key": {
              "type": "string"
            },
            "enable_back_pressure_bitrate_adjustment": {
              "type": "boolean"
            },
            "dtls": {
              "type": "object",
              "properties": {
                "dtls_cert_exist": {
                  "type": "boolean"
                },
                "ignore_dtls_cert_error": {
                  "type": "boolean"
                }
              },
              "required": [
                "dtls_cert_exist",
                "ignore_dtls_cert_error"
              ]
            }
          },
          "required": [
            "destination_ip",
            "destination_port",
            "stream_id",
            "max_latency_ms",
            "fec_percentage",
            "encryption_enabled",
            "enable_back_pressure_bitrate_adjustment"
          ]
        },
        "file_record": {
          "type": "object",
          "properties": {
            "filename_base": {
              "type": "string"
            },
            "filename_timezone": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "selected_device_name": {
              "type": "string"
            },
            "available_drives": {
              "type": "array"
            },
            "status": {
              "type": "string"
            },
            "file_format": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "device_selection_policy": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "data": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "possible_values",
                "data"
              ]
            },
            "delete_oldest_when_full": {
              "type": "boolean"
            },
            "limit_max_file_size": {
              "type": "object",
              "properties": {
                "enable": {
                  "type": "boolean"
                },
                "value": {
                  "type": "number"
                }
              },
              "required": [
                "enable",
                "value"
              ]
            },
            "ftp_upload": {
              "type": "object",
              "properties": {
                "enable": {
                  "type": "boolean"
                },
                "protocol": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string",
                      "enum": [
                        "FTP",
                        "SFTP"
                      ]
                    },
                    "possible_values": {
                      "type": "array",
                      "items": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "value",
                    "possible_values"
                  ]
                },
                "server": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "file_path": {
                  "type": "string"
                },
                "delete_file_after_upload": {
                  "type": "boolean"
                },
                "bytes_uploaded": {
                  "type": "number"
                },
                "total_bytes": {
                  "type": "number"
                },
                "seconds_elapsed": {
                  "type": "number"
                },
                "files_remaining": {
                  "type": "number"
                },
                "status": {
                  "type": "string"
                }
              },
              "required": [
                "enable",
                "server",
                "port",
                "username",
                "password",
                "file_path",
                "delete_file_after_upload",
                "bytes_uploaded",
                "total_bytes",
                "seconds_elapsed",
                "files_remaining",
                "status"
              ]
            }
          },
          "required": [
            "filename_base",
            "filename_timezone",
            "selected_device_name",
            "available_drives",
            "status",
            "file_format",
            "device_selection_policy"
          ]
        },
        "whip": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string"
            },
            "service": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "possible_values": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "data": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "possible_values",
                "data"
              ]
            }
          },
          "required": [
            "status",
            "service"
          ]
        },
        "thumbnail": {
          "type": "object",
          "properties": {
            "interval": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "number"
                },
                "value_range": {
                  "type": "object",
                  "properties": {
                    "min": {
                      "type": "number"
                    },
                    "max": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "min",
                    "max"
                  ]
                }
              },
              "required": [
                "value",
                "value_range"
              ]
            },
            "width": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "number"
                },
                "value_range": {
                  "type": "object",
                  "properties": {
                    "min": {
                      "type": "number"
                    },
                    "max": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "min",
                    "max"
                  ]
                }
              },
              "required": [
                "value",
                "value_range"
              ]
            }
          },
          "required": [
            "interval",
            "width"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "name": {
      "type": "string"
    },
    "connection_caps": {
      "type": "object",
      "properties": {
        "consumer_caps": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "consumer_caps"
      ]
    },
    "status": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "out_stream_id",
    "enable",
    "output_type",
    "name",
    "connection_caps"
  ]
}

Update Encoder Streaming Output
PUT/v2/out_streams/{id}

Update the state of a single encoder streaming output

Example URI

PUT http://ip.address:2020/v2/out_streams/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "enable": true,
  "audio_sources": {
    "audio_source_ids": [
      1
    ]
  },
  "video_sources": {
    "video_source_ids": [
      1
    ]
  },
  "data_sources": {
    "data_source_ids": [
      1
    ]
  },
  "output_type": {
    "value": "unicast",
    "unicast": {
      "protocol": "RTP",
      "destination_ip": "1.2.3.4",
      "destination_port": 1234
    },
    "multicast": {
      "protocol": "RTP",
      "multicast_ip": "1.2.3.4",
      "multicast_port": 1234,
      "ttl": 1
    },
    "rtsp": {
      "stream_name": "test",
      "server_port": 5555
    },
    "rtmp": {
      "service": {
        "value": "generic",
        "data": "{}"
      }
    },
    "http_push": {
      "manifest_type": {
        "protocols": [
          "HLS",
          "DASH"
        ]
      },
      "media_container": {
        "value": "FMP4"
      },
      "segment_length": 2,
      "number_of_segments": 10,
      "save_segment_window": false,
      "service": {
        "value": "generic",
        "data": "{}"
      },
      "synchronization": {
        "enable": false,
        "dash_presentation_delay": 1,
        "dash_time_service": "Hello, world!"
      },
      "ultra_low_latency": {
        "enable": false,
        "chunk_interval": {
          "interval": 1,
          "unit": "MILLISECONDS"
        },
        "target_latency_ms": 4000
      }
    },
    "srt": {
      "call_mode": {
        "value": "CALLER"
      },
      "dest_ip": "1.2.3.4 || stream.url",
      "dest_port": 5555,
      "latency": 120,
      "encryption_enabled": true,
      "passphrase": "abc123",
      "bw_overhead": 25,
      "key_size": {
        "value": "AES128"
      },
      "stream_id": "stream1"
    },
    "zixi": {
      "destination_ip": "1.2.3.4 || stream.url",
      "destination_port": 2088,
      "stream_id": "stream1",
      "max_latency_ms": 3000,
      "fec_percentage": 30,
      "passphrase": "abc123",
      "key_size": {
        "value": "AES128"
      },
      "encryption_enabled": true,
      "encryption_key": "5cc73f1f7869c66df90e0771fba2d0ac",
      "enable_back_pressure_bitrate_adjustment": false,
      "dtls": {
        "ignore_dtls_cert_error": false
      }
    },
    "file_record": {
      "filename_base": "VID",
      "filename_timezone": {
        "value": "UTC"
      },
      "file_format": {
        "value": "TS"
      },
      "device_selection_policy": {
        "value": "ATTACH_TIME_FIRST",
        "data": "device_uuid"
      },
      "delete_oldest_when_full": false,
      "limit_max_file_size": {
        "enable": true,
        "value": 1000000
      },
      "ftp_upload": {
        "enable": true,
        "protocol": {
          "value": "FTP"
        },
        "server": "my.ftp.com",
        "port": 21,
        "username": "admin",
        "password": "password",
        "sftp_key": "string",
        "file_path": "recordings",
        "delete_file_after_upload": true
      }
    },
    "whip": {
      "service": {
        "value": "generic",
        "data": "{}"
      }
    },
    "thumbnail": {
      "interval": {
        "value": 1
      },
      "width": {
        "value": 320
      }
    }
  },
  "name": "Output1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "enable": {
      "type": "boolean"
    },
    "audio_sources": {
      "type": "object",
      "properties": {
        "audio_source_ids": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      },
      "required": [
        "audio_source_ids"
      ]
    },
    "video_sources": {
      "type": "object",
      "properties": {
        "video_source_ids": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      },
      "required": [
        "video_source_ids"
      ]
    },
    "data_sources": {
      "type": "object",
      "properties": {
        "data_source_ids": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      },
      "required": [
        "data_source_ids"
      ]
    },
    "output_type": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "unicast",
            "multicast",
            "rtsp",
            "rtmp",
            "http_push",
            "file",
            "srt",
            "zixi",
            "whip",
            "thumbnail"
          ]
        },
        "unicast": {
          "type": "object",
          "properties": {
            "protocol": {
              "type": "string"
            },
            "destination_ip": {
              "type": "string"
            },
            "destination_port": {
              "type": "number"
            }
          }
        },
        "multicast": {
          "type": "object",
          "properties": {
            "protocol": {
              "type": "string"
            },
            "multicast_ip": {
              "type": "string"
            },
            "multicast_port": {
              "type": "number"
            },
            "ttl": {
              "type": "number"
            }
          }
        },
        "rtsp": {
          "type": "object",
          "properties": {
            "stream_name": {
              "type": "string"
            },
            "server_port": {
              "type": "number"
            }
          }
        },
        "rtmp": {
          "type": "object",
          "properties": {
            "service": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "data": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "data"
              ]
            }
          },
          "required": [
            "service"
          ]
        },
        "http_push": {
          "type": "object",
          "properties": {
            "manifest_type": {
              "type": "object",
              "properties": {
                "protocols": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "protocols"
              ]
            },
            "media_container": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            },
            "segment_length": {
              "type": "number"
            },
            "number_of_segments": {
              "type": "number"
            },
            "save_segment_window": {
              "type": "boolean"
            },
            "service": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "data": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "data"
              ]
            },
            "synchronization": {
              "type": "object",
              "properties": {
                "enable": {
                  "type": "boolean"
                },
                "dash_presentation_delay": {
                  "type": "number"
                },
                "dash_time_service": {
                  "type": "string"
                }
              },
              "required": [
                "enable"
              ]
            },
            "ultra_low_latency": {
              "type": "object",
              "properties": {
                "enable": {
                  "type": "boolean"
                },
                "chunk_interval": {
                  "type": "object",
                  "properties": {
                    "interval": {
                      "type": "number"
                    },
                    "unit": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "interval",
                    "unit"
                  ]
                },
                "target_latency_ms": {
                  "type": "number"
                }
              },
              "required": [
                "enable"
              ]
            }
          }
        },
        "srt": {
          "type": "object",
          "properties": {
            "call_mode": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            },
            "dest_ip": {
              "type": "string"
            },
            "dest_port": {
              "type": "number"
            },
            "latency": {
              "type": "number"
            },
            "encryption_enabled": {
              "type": "boolean"
            },
            "passphrase": {
              "type": "string"
            },
            "bw_overhead": {
              "type": "number"
            },
            "key_size": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            },
            "stream_id": {
              "type": "string"
            }
          },
          "required": [
            "dest_ip",
            "dest_port",
            "encryption_enabled"
          ]
        },
        "zixi": {
          "type": "object",
          "properties": {
            "destination_ip": {
              "type": "string"
            },
            "destination_port": {
              "type": "number"
            },
            "stream_id": {
              "type": "string"
            },
            "max_latency_ms": {
              "type": "number"
            },
            "fec_percentage": {
              "type": "number"
            },
            "passphrase": {
              "type": "string"
            },
            "key_size": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            },
            "encryption_enabled": {
              "type": "boolean"
            },
            "encryption_key": {
              "type": "string"
            },
            "enable_back_pressure_bitrate_adjustment": {
              "type": "boolean"
            },
            "dtls": {
              "type": "object",
              "properties": {
                "ignore_dtls_cert_error": {
                  "type": "boolean"
                }
              },
              "required": [
                "ignore_dtls_cert_error"
              ]
            }
          },
          "required": [
            "destination_ip",
            "destination_port",
            "stream_id",
            "max_latency_ms",
            "fec_percentage",
            "enable_back_pressure_bitrate_adjustment"
          ]
        },
        "file_record": {
          "type": "object",
          "properties": {
            "filename_base": {
              "type": "string"
            },
            "filename_timezone": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            },
            "file_format": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            },
            "device_selection_policy": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "data": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "data"
              ]
            },
            "delete_oldest_when_full": {
              "type": "boolean"
            },
            "limit_max_file_size": {
              "type": "object",
              "properties": {
                "enable": {
                  "type": "boolean"
                },
                "value": {
                  "type": "number"
                }
              },
              "required": [
                "enable",
                "value"
              ]
            },
            "ftp_upload": {
              "type": "object",
              "properties": {
                "enable": {
                  "type": "boolean"
                },
                "protocol": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string",
                      "enum": [
                        "FTP",
                        "SFTP"
                      ]
                    }
                  },
                  "required": [
                    "value"
                  ]
                },
                "server": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "sftp_key": {
                  "type": "string"
                },
                "file_path": {
                  "type": "string"
                },
                "delete_file_after_upload": {
                  "type": "boolean"
                }
              },
              "required": [
                "enable",
                "server",
                "port",
                "username",
                "password",
                "file_path",
                "delete_file_after_upload"
              ]
            }
          },
          "required": [
            "filename_base",
            "filename_timezone",
            "file_format",
            "device_selection_policy"
          ]
        },
        "whip": {
          "type": "object",
          "properties": {
            "service": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "data": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "data"
              ]
            }
          },
          "required": [
            "service"
          ]
        },
        "thumbnail": {
          "type": "object",
          "properties": {
            "interval": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "number"
                }
              },
              "required": [
                "value"
              ]
            },
            "width": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "number"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "interval",
            "width"
          ]
        }
      },
      "required": [
        "value"
      ]
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "enable",
    "output_type",
    "name"
  ]
}
Response  204

Create New Encoder Streaming Output
POST/v2/out_streams

Create a new output stream with the specified settings.

Example URI

POST http://ip.address:2020/v2/out_streams
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  },
  "required": [
    "id"
  ]
}

Delete Encoder Streaming Output
DELETE/v2/out_streams/{id}

Delete the specified output stream.

Example URI

DELETE http://ip.address:2020/v2/out_streams/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Output Actions

Details of specific actions that can be run on streaming outputs.

General Output Actions
POST/v2/out_streams/{id}/action/{action_name}

Run action for output, often supported by RTMP outputs, to support third-party API calls.

Example URI

POST http://ip.address:2020/v2/out_streams/0/action/pair, account_info, streamlist, authenticate_ftp
URI Parameters
HideShow
id
integer (required) Example: 0
action_name
string (required) Example: pair, account_info, streamlist, authenticate_ftp
Response  200

File Record - Validate FTP
POST/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

POST http://ip.address:2020/v2/out_streams/0/action/authenticate_ftp
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Devices
GET/v2/storage

Get a list of storage devices.

Example URI

GET http://ip.address:2020/v2/storage
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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 Info
GET/v2/storage/{devno}

Get storage device information for the specified device.

Example URI

GET http://ip.address:2020/v2/storage/2145
URI Parameters
HideShow
devno
integer (required) Example: 2145
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Device
POST/v2/storage/{devno}/unmount

Unmount the specified device.

Example URI

POST http://ip.address:2020/v2/storage/2145/unmount
URI Parameters
HideShow
devno
integer (required) Example: 2145
Response  204

Format Storage Device
POST/v2/storage/{devno}/format

Format the specified device.

Example URI

POST http://ip.address:2020/v2/storage/2145/format
URI Parameters
HideShow
devno
integer (required) Example: 2145
Response  200

XML

XML

Get XML Settings
GET/v2/xml

Get the XML polling settings for the device.

Example URI

GET http://ip.address:2020/v2/xml
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Settings
PUT/v2/xml

Update the XML polling settings for the device.

Example URI

PUT http://ip.address:2020/v2/xml
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
  ]
}
Response  204

Generated by aglio on 04 Sep 2024