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.

Before starting, check out our REST API Quickstart Guide. It makes getting started easy!

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",
  "static_network": {
    "ip_address": "1.2.3.4",
    "netmask": "255.255.255.0",
    "gateway": "1.2.3.1",
    "dns_address": "5.6.7.8"
  },
  "version": "versionstring",
  "device_id": "deviceid",
  "xml": {
    "enabled": true,
    "url": "http://get.your.xml.here/test.xml",
    "poll_interval": 10
  },
  "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"
    },
    "static_network": {
      "type": "object",
      "properties": {
        "ip_address": {
          "type": "string"
        },
        "netmask": {
          "type": "string"
        },
        "gateway": {
          "type": "string"
        },
        "dns_address": {
          "type": "string"
        }
      },
      "required": [
        "ip_address",
        "netmask",
        "gateway",
        "dns_address"
      ]
    },
    "version": {
      "type": "string"
    },
    "device_id": {
      "type": "string"
    },
    "xml": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "url": {
          "type": "string"
        },
        "poll_interval": {
          "type": "number"
        }
      },
      "required": [
        "enabled",
        "url",
        "poll_interval"
      ]
    },
    "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",
    "static_network",
    "version",
    "device_id",
    "xml",
    "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_address": "5.6.7.8"
  },
  "xml": {
    "enabled": true,
    "url": "http://get.your.xml.here/test.xml",
    "poll_interval": 10
  },
  "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_address": {
          "type": "string"
        }
      },
      "required": [
        "ip_address",
        "netmask",
        "gateway",
        "dns_address"
      ]
    },
    "xml": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "url": {
          "type": "string"
        },
        "poll_interval": {
          "type": "number"
        }
      },
      "required": [
        "enabled",
        "url",
        "poll_interval"
      ]
    },
    "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

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
    }
  ]
}
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"
          }
        },
        "required": [
          "in_channel_id"
        ]
      }
    }
  }
}

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
  },
  "video_input": {
    "value": "input_hdmi",
    "possible_values": [
      "input_auto",
      "input_hdmi",
      "input_sdi"
    ],
    "detected_format": {
      "value": "FORMAT_1080p60"
    }
  }
}
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"
        }
      },
      "required": [
        "value",
        "possible_values",
        "detected"
      ]
    },
    "video_input": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        },
        "detected_format": {
          "type": "object",
          "properties": {
            "value": {
              "type": "string"
            }
          },
          "required": [
            "value"
          ]
        }
      },
      "required": [
        "value",
        "possible_values",
        "detected_format"
      ]
    }
  },
  "required": [
    "in_channel_id",
    "audio_input",
    "video_input"
  ]
}

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"
  },
  "video_input": {
    "value": "input_hdmi"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "audio_input": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "video_input": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "required": [
    "audio_input",
    "video_input"
  ]
}
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,
      "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"
          },
          "active": {
            "type": "boolean"
          },
          "status": {
            "type": "string"
          },
          "seconds_in_status": {
            "type": "number"
          }
        },
        "required": [
          "data_encoder_id",
          "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,
  "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",
      "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_3840X2160",
      "RES_1920X1080",
      "RES_1280X720",
      "RES_960X540",
      "RES_720X576",
      "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,
  "status": "DISABLED",
  "seconds_in_status": 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"
    },
    "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"
            }
          ]
        }
      },
      "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"
            }
          ]
        }
      },
      "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"
    },
    "status": {
      "type": "string"
    },
    "seconds_in_status": {
      "type": "number"
    }
  },
  "required": [
    "name",
    "active",
    "vid_encoder_id",
    "in_channel_id",
    "bitrate",
    "latency_mode",
    "bitrate_mode",
    "keyframe_interval",
    "scaling_resolution",
    "limit_to_30_fps",
    "codec",
    "klv_timestamp_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,
  "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"
    },
    "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",
    "codec"
  ]
}
Response  204

Create New Video Encoder
POST/v2/encoders/vid_encoders

Create new video encoder with the specified settings.

Example URI

POST http://ip.address:2020/v2/encoders/vid_encoders
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

Resource Group

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,
  "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"
    },
    "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",
    "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"
  ],
  "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"
      }
    },
    "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,
  "codec": {
    "value": "mpeg4_aac",
    "possible_values": [
      "mpeg4_aac"
    ]
  },
  "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"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": {
            "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": "string"
        },
        "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",
    "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": "string"
        }
      },
      "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.

Example URI

POST http://ip.address:2020/v2/encoders/aud_encoders
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,
      "active": true,
      "status": "DISABLED",
      "seconds_in_status": 1
    }
  ],
  "available_codecs": [
    "klv_sync"
  ]
}
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"
          },
          "active": {
            "type": "boolean"
          },
          "status": {
            "type": "string"
          },
          "seconds_in_status": {
            "type": "number"
          }
        },
        "required": [
          "data_encoder_id",
          "active"
        ]
      }
    },
    "available_codecs": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "data_encoders",
    "available_codecs"
  ]
}

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,
  "codec": {
    "value": "klv_sync",
    "klv_sync": {}
  },
  "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"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "klv_sync"
          ]
        },
        "klv_sync": {
          "type": "object",
          "properties": {}
        }
      },
      "required": [
        "value"
      ]
    },
    "status": {
      "type": "string"
    },
    "seconds_in_status": {
      "type": "number"
    }
  },
  "required": [
    "name",
    "active",
    "data_encoder_id",
    "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",
  "codec": {
    "value": "klv_sync",
    "klv_sync": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "codec": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "klv_sync"
          ]
        },
        "klv_sync": {
          "type": "object",
          "properties": {}
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "required": [
    "name",
    "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
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

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"
    }
  ]
}
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_pull",
              "http_push",
              "srt",
              "file_record",
              "thumbnail"
            ]
          }
        },
        "required": [
          "out_stream_id",
          "output_type"
        ]
      }
    }
  },
  "required": [
    "out_streams"
  ]
}

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
    ]
  },
  "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"
        ],
        "data": "{}"
      }
    },
    "http_pull": {
      "protocols": [
        "DASH",
        "HLS"
      ],
      "media_container": {
        "value": "FMP4",
        "possible_values": [
          "TS",
          "FMP4"
        ]
      },
      "segment_length": 1,
      "number_of_segments": 1,
      "ultra_low_latency": {
        "enable": false,
        "chunk_interval": {
          "interval": 1,
          "unit": "MILLISECONDS",
          "possible_units": [
            "MILLISECONDS",
            "FRAMES"
          ]
        }
      }
    },
    "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
      },
      "ultra_low_latency": {
        "enable": false,
        "chunk_interval": {
          "interval": 1,
          "unit": "MILLISECONDS",
          "possible_units": [
            "MILLISECONDS",
            "FRAMES"
          ]
        }
      }
    },
    "srt": {
      "status": "STREAM_OFF",
      "dest_ip": "srt://1.2.3.4 || srt://stream.url",
      "dest_port": 5555,
      "latency": 120,
      "passphrase": "abc123",
      "bw_overhead": 25,
      "key_size": {
        "value": "NONE",
        "possible_values": [
          "NONE",
          "AES128",
          "AES192",
          "AES256"
        ]
      },
      "stream_id": "stream1"
    },
    "file_record": {
      "filename_base": "VID",
      "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!"
      }
    },
    "thumbnail": {
      "interval": {
        "value": 1,
        "value_range": {
          "min": 32,
          "max": 512
        }
      },
      "width": {
        "value": 320,
        "value_range": {
          "min": 32,
          "max": 512
        }
      }
    }
  }
}
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"
      ]
    },
    "output_type": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "unicast",
            "multicast",
            "rtsp",
            "rtmp",
            "http_pull",
            "http_push",
            "srt",
            "file_record",
            "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"
                    }
                  ]
                },
                "data": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "possible_values",
                "data"
              ]
            }
          },
          "required": [
            "status",
            "service"
          ]
        },
        "http_pull": {
          "type": "object",
          "properties": {
            "protocols": {
              "type": "array",
              "items": [
                {
                  "type": "string"
                },
                {
                  "type": "string"
                }
              ]
            },
            "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"
            },
            "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"
                  ]
                }
              },
              "required": [
                "enable"
              ]
            }
          },
          "required": [
            "protocols"
          ]
        },
        "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"
                }
              },
              "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"
                  ]
                }
              },
              "required": [
                "enable"
              ]
            }
          }
        },
        "srt": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string"
            },
            "dest_ip": {
              "type": "string"
            },
            "dest_port": {
              "type": "number"
            },
            "latency": {
              "type": "number"
            },
            "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"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "value",
                "possible_values"
              ]
            },
            "stream_id": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "dest_ip",
            "dest_port",
            "latency",
            "bw_overhead"
          ]
        },
        "file_record": {
          "type": "object",
          "properties": {
            "filename_base": {
              "type": "string"
            },
            "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",
            "selected_device_name",
            "available_drives",
            "status",
            "file_format",
            "device_selection_policy"
          ]
        },
        "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"
      ]
    }
  },
  "required": [
    "out_stream_id",
    "enable",
    "output_type"
  ]
}

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
    ]
  },
  "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_pull": {
      "media_container": {
        "value": "FMP4"
      },
      "segment_length": 1,
      "number_of_segments": 1,
      "ultra_low_latency": {
        "enable": false,
        "chunk_interval": {
          "interval": 1,
          "unit": "MILLISECONDS"
        }
      }
    },
    "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
      },
      "ultra_low_latency": {
        "enable": false,
        "chunk_interval": {
          "interval": 1,
          "unit": "MILLISECONDS"
        }
      }
    },
    "srt": {
      "dest_ip": "srt://1.2.3.4 || srt://stream.url",
      "dest_port": 5555,
      "latency": 120,
      "passphrase": "abc123",
      "bw_overhead": 25,
      "key_size": {
        "value": "NONE"
      },
      "stream_id": "stream1"
    },
    "file_record": {
      "filename_base": "VID",
      "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
      }
    },
    "thumbnail": {
      "interval": {
        "value": 1
      },
      "width": {
        "value": 320
      }
    }
  }
}
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"
      ]
    },
    "output_type": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "unicast",
            "multicast",
            "rtsp",
            "rtmp",
            "http_pull",
            "http_push",
            "file_record",
            "srt",
            "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_pull": {
          "type": "object",
          "properties": {
            "media_container": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            },
            "segment_length": {
              "type": "number"
            },
            "number_of_segments": {
              "type": "number"
            },
            "ultra_low_latency": {
              "type": "object",
              "properties": {
                "enable": {
                  "type": "boolean"
                },
                "chunk_interval": {
                  "type": "object",
                  "properties": {
                    "interval": {
                      "type": "number"
                    },
                    "unit": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "interval",
                    "unit"
                  ]
                }
              },
              "required": [
                "enable"
              ]
            }
          }
        },
        "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"
                }
              },
              "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"
                  ]
                }
              },
              "required": [
                "enable"
              ]
            }
          }
        },
        "srt": {
          "type": "object",
          "properties": {
            "dest_ip": {
              "type": "string"
            },
            "dest_port": {
              "type": "number"
            },
            "latency": {
              "type": "number"
            },
            "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"
          ]
        },
        "file_record": {
          "type": "object",
          "properties": {
            "filename_base": {
              "type": "string"
            },
            "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",
            "file_format",
            "device_selection_policy"
          ]
        },
        "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"
      ]
    }
  },
  "required": [
    "enable",
    "output_type"
  ]
}
Response  204

Run output action
POST/v2/out_streams/{id}/action/{action_name}

Run action for output, often supported by RTMP outputs, to support third-party API calls. This does not return anything directly but will cause status to change or service-specific data to populate.

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

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  200

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

SCTE-35

SCTE-35

Get SCTE-35 Settings
GET/v2/scte35

Get the SCTE-35 settings for the device.

These settings include ad duration.

Example URI

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

Update SCTE-35 Settings
PUT/v2/scte35

Update the SCTE-35 settings for the device.

These settings include ad duration.

Example URI

PUT http://ip.address:2020/v2/scte35
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "duration": 30
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "duration": {
      "type": "number"
    }
  },
  "required": [
    "duration"
  ]
}
Response  204

Unmount Storage Device
POST/v2/scte35/insert_splice

Insert splice markers to transport stream outputs starting now. The duration of the splice will be what is configured in the scte35 endpoint. There will be at least a 4 second delay in splice start.

Example URI

POST http://ip.address:2020/v2/scte35/insert_splice
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 31 Aug 2021