channels api.json
{
"openapi": "3.1.0",
"info": {
"title": "Channels API",
"description": "Simplified channel management API",
"version": "0.1.0"
},
"paths": {
"/deployment/eligibility/": {
"get": {
"tags": [
"deployment"
],
"summary": "Get Eligibility",
"description": "Return whether channels-api can take over this box, plus the current state.",
"operationId": "get_eligibility_deployment_eligibility__get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EligibilityResponse"
}
}
}
}
}
}
},
"/channelalarms/active/": {
"get": {
"tags": [
"channel alarms"
],
"summary": "List Active Channel Alarms",
"description": "List active alarms for a channel identified by name.",
"operationId": "list_active_channel_alarms_channelalarms_active__get",
"parameters": [
{
"name": "channelName",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Channelname"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AlarmListResponse"
}
}
}
},
"503": {
"description": "Service unavailable"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/channels/": {
"get": {
"tags": [
"channels"
],
"summary": "List Channels",
"description": "List all channels with OData-style filtering and pagination.\n\nFilter examples:\n- `$filter=status/health/severity ne 'Clear'`\n- `$filter=metadata/created ge 2025-01-01T00:00:00Z`\n- `$filter=contains(tolower(metadata/displayName), 'test')`\n\nOperators: eq, ne, lt, le, gt, ge, and, or\nFunctions: contains(), tolower(), toupper()\n\nAll channels are loaded and hydrated with live status before filtering,\nsorting, and pagination are applied in-memory. This is viable because\nchannel count is bounded (tens, not thousands).",
"operationId": "list_channels_channels__get",
"parameters": [
{
"name": "$top",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Max items per page",
"default": 1000,
"title": "$Top"
},
"description": "Max items per page"
},
{
"name": "$skiptoken",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 0,
"description": "Offset into results",
"default": 0,
"title": "$Skiptoken"
},
"description": "Offset into results"
},
{
"name": "$filter",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "OData filter expression",
"title": "$Filter"
},
"description": "OData filter expression"
},
{
"name": "$orderby",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Sort field(s) with optional asc/desc; comma-delimited for multi-key, e.g. 'status/health/severity asc, metadata/created desc'",
"default": "metadata/created",
"title": "$Orderby"
},
"description": "Sort field(s) with optional asc/desc; comma-delimited for multi-key, e.g. 'status/health/severity asc, metadata/created desc'"
},
{
"name": "$select",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Comma-separated fields; when present, status hydration is skipped",
"title": "$Select"
},
"description": "Comma-separated fields; when present, status hydration is skipped"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ODataPage_Channel_"
}
}
}
},
"503": {
"description": "Service unavailable"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/channels/{channel_id}/": {
"get": {
"tags": [
"channels"
],
"summary": "Get Channel",
"description": "Get a single channel.",
"operationId": "get_channel_channels__channel_id___get",
"parameters": [
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Channel Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Channel"
}
}
}
},
"503": {
"description": "Service unavailable"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"channels"
],
"summary": "Put Channel",
"description": "Create or replace a channel. Configuration runs in background.",
"operationId": "put_channel_channels__channel_id___put",
"parameters": [
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Channel Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChannelCreate"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Channel"
}
}
}
},
"503": {
"description": "Service unavailable"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"patch": {
"tags": [
"channels"
],
"summary": "Patch Channel",
"description": "Update channel displayName or state.",
"operationId": "patch_channel_channels__channel_id___patch",
"parameters": [
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Channel Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChannelPatch"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Channel"
}
}
}
},
"503": {
"description": "Service unavailable"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"channels"
],
"summary": "Delete Channel",
"description": "Delete a channel. Services are stopped before deletion.\n\nService cleanup errors are logged but don't prevent channel removal.",
"operationId": "delete_channel_channels__channel_id___delete",
"parameters": [
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Channel Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"503": {
"description": "Service unavailable"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/channels/{channel_id}/thumbnails/{thumbnail_id}/thumbnail.jpg": {
"get": {
"tags": [
"channels"
],
"summary": "Get Thumbnail",
"description": "Get thumbnail for a channel input.\n\nThe thumbnail_id matches the input's name (e.g. 'sdi-0').\nURL ends with .jpg so browsers treat it as a plain JPEG.",
"operationId": "get_thumbnail_channels__channel_id__thumbnails__thumbnail_id__thumbnail_jpg_get",
"parameters": [
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Channel Id"
}
},
{
"name": "thumbnail_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Thumbnail Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"503": {
"description": "Service unavailable"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/interfaces/": {
"get": {
"tags": [
"interfaces"
],
"summary": "List Interfaces",
"description": "Return available interfaces grouped by type.",
"operationId": "list_interfaces_interfaces__get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InterfacesResponse"
}
}
}
}
}
}
},
"/metrics/current/": {
"get": {
"tags": [
"metrics"
],
"summary": "Get Current Metrics",
"description": "Get instantaneous server metrics. Use $select to limit fields.",
"operationId": "get_current_metrics_metrics_current__get",
"parameters": [
{
"name": "$select",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Comma-separated fields: serverId, cpuUtilizationPercent, temperatureCelsius, uptimeSeconds",
"title": "$Select"
},
"description": "Comma-separated fields: serverId, cpuUtilizationPercent, temperatureCelsius, uptimeSeconds"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CurrentMetricsResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/metrics/query/": {
"get": {
"tags": [
"metrics"
],
"summary": "Query Metrics",
"description": "Execute arbitrary PromQL range query. Returns Prometheus format.",
"operationId": "query_metrics_metrics_query__get",
"parameters": [
{
"name": "query",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "PromQL query",
"title": "Query"
},
"description": "PromQL query"
},
{
"name": "start",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "Start time (ISO8601 or Unix timestamp)",
"title": "Start"
},
"description": "Start time (ISO8601 or Unix timestamp)"
},
{
"name": "end",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "End time (ISO8601 or Unix timestamp)",
"title": "End"
},
"description": "End time (ISO8601 or Unix timestamp)"
},
{
"name": "step",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Query resolution step (e.g. 60s, 5m, 1h)",
"default": "60s",
"title": "Step"
},
"description": "Query resolution step (e.g. 60s, 5m, 1h)"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PrometheusRangeResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/metrics/cpu/": {
"get": {
"tags": [
"metrics"
],
"summary": "Query Cpu",
"description": "Query CPU utilization over time range. Returns Prometheus format.",
"operationId": "query_cpu_metrics_cpu__get",
"parameters": [
{
"name": "start",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "Start time (ISO8601 or Unix timestamp)",
"title": "Start"
},
"description": "Start time (ISO8601 or Unix timestamp)"
},
{
"name": "end",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "End time (ISO8601 or Unix timestamp)",
"title": "End"
},
"description": "End time (ISO8601 or Unix timestamp)"
},
{
"name": "step",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Query resolution step",
"default": "60s",
"title": "Step"
},
"description": "Query resolution step"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PrometheusRangeResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/metrics/temperature/": {
"get": {
"tags": [
"metrics"
],
"summary": "Query Temperature",
"description": "Query outlet temperature over time range. Returns Prometheus format.",
"operationId": "query_temperature_metrics_temperature__get",
"parameters": [
{
"name": "start",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "Start time (ISO8601 or Unix timestamp)",
"title": "Start"
},
"description": "Start time (ISO8601 or Unix timestamp)"
},
{
"name": "end",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "End time (ISO8601 or Unix timestamp)",
"title": "End"
},
"description": "End time (ISO8601 or Unix timestamp)"
},
{
"name": "step",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Query resolution step",
"default": "60s",
"title": "Step"
},
"description": "Query resolution step"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PrometheusRangeResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/export/": {
"post": {
"tags": [
"import-export"
],
"summary": "Channel Export",
"description": "Export channels as a JSON payload.\n\nOmit ``channels`` to export all. Set ``includeServices=false`` for a\nspec-only export (lighter; services regenerated from templates on import).",
"operationId": "channel_export_export__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExportRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/import/": {
"post": {
"tags": [
"import-export"
],
"summary": "Channel Import",
"description": "Import channels from a JSON payload.\n\n``mode=merge`` (default): create missing, update changed, leave others alone.\n``mode=replace``: delete any channel not in the payload, then create/update.\nAn empty ``channels`` list with ``mode=replace`` deletes all channels.\n\nReturns immediately. Background tasks push service configs to the controller;\nobserve final per-channel state via ``GET /channels/{id}/`` (``sync_state``).",
"operationId": "channel_import_import__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ImportRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ImportResult"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/system/": {
"get": {
"tags": [
"system"
],
"summary": "Get System Info",
"description": "Get device identity: software version, serial number, hardware model.",
"operationId": "get_system_info_system__get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SystemInfoResponse"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AbrEncodingConfig": {
"properties": {
"representations": {
"items": {
"$ref": "#/components/schemas/Representation"
},
"type": "array",
"title": "Representations",
"default": []
},
"sharedAudios": {
"items": {
"$ref": "#/components/schemas/AudioEncoding"
},
"type": "array",
"title": "Sharedaudios",
"default": [],
"x-dyn-deps": [
"spec.inputs"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.sharedAudios.all(sa, sa.audioName == null || sa.inputName == null || spec.inputs.exists(inp, inp.name == sa.inputName && \"payload\" in inp && \"audios\" in inp.payload && inp.payload.audios.exists(a, a.name == sa.audioName) )) ? {} : {\"error\": \"sharedAudio references an audioName not defined in the named input's payload\"}"
}
},
"type": "object",
"title": "AbrEncodingConfig"
},
"Ac4Config": {
"properties": {
"frameRate": {
"type": "string",
"title": "Framerate",
"default": "25"
},
"language": {
"type": "string",
"title": "Language",
"default": "auto"
},
"contentClassifier": {
"$ref": "#/components/schemas/Ac4ContentClassifier",
"default": "classCompleteMain"
}
},
"type": "object",
"title": "Ac4Config"
},
"Ac4ContentClassifier": {
"type": "string",
"enum": [
"Unsynced",
"classCompleteMain",
"classEmergency",
"classMusicEffect",
"classMainAssociatedMix"
],
"title": "Ac4ContentClassifier",
"x-enum-varnames": [
"Unsynced",
"Complete Main",
"Emergency",
"Music and Effect",
"Main Associated Mix"
]
},
"ActualState": {
"type": "string",
"enum": [
"Running",
"Stopped"
],
"title": "ActualState",
"x-enum-varnames": [
"Running",
"Stopped"
]
},
"Alarm": {
"properties": {
"kind": {
"type": "string",
"const": "Alarm",
"title": "Kind",
"default": "Alarm"
},
"metadata": {
"$ref": "#/components/schemas/AlarmMetadata"
},
"status": {
"$ref": "#/components/schemas/AlarmStatus"
}
},
"type": "object",
"required": [
"metadata",
"status"
],
"title": "Alarm"
},
"AlarmListResponse": {
"properties": {
"value": {
"items": {
"$ref": "#/components/schemas/Alarm"
},
"type": "array",
"title": "Value"
},
"supplemental": {
"$ref": "#/components/schemas/AlarmListSupplemental"
}
},
"type": "object",
"required": [
"value",
"supplemental"
],
"title": "AlarmListResponse"
},
"AlarmListSupplemental": {
"properties": {
"kind": {
"type": "string",
"const": "AlarmList",
"title": "Kind",
"default": "AlarmList"
},
"count": {
"type": "integer",
"title": "Count"
},
"operation": {
"type": "string",
"const": "list",
"title": "Operation",
"default": "list"
},
"pagination": {
"$ref": "#/components/schemas/Pagination"
}
},
"type": "object",
"required": [
"count",
"pagination"
],
"title": "AlarmListSupplemental"
},
"AlarmMetadata": {
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"displayName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Displayname"
},
"objectId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Objectid"
},
"channelName": {
"type": "string",
"title": "Channelname"
},
"created": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created"
}
},
"type": "object",
"required": [
"id",
"name",
"channelName"
],
"title": "AlarmMetadata"
},
"AlarmStatus": {
"properties": {
"severity": {
"$ref": "#/components/schemas/Severity"
},
"additionalInfo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Additionalinfo"
}
},
"type": "object",
"required": [
"severity"
],
"title": "AlarmStatus"
},
"AsiInput": {
"properties": {
"type": {
"type": "string",
"const": "ASI",
"title": "Type",
"default": "ASI"
},
"name": {
"type": "string",
"title": "Name"
},
"transport": {
"$ref": "#/components/schemas/AsiInputTransport"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/MptsPayload"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"transport"
],
"title": "AsiInput"
},
"AsiInputStatus": {
"properties": {
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"name": {
"type": "string",
"title": "Name"
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Thumbnailurl"
},
"thumbnailPresence": {
"$ref": "#/components/schemas/ThumbnailPresence",
"default": "Unknown"
},
"metadataUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Metadataurl"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/InputMptsPayloadStatus"
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"const": "ASI",
"title": "Type",
"default": "ASI"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/AsiInputTransportStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health",
"name"
],
"title": "AsiInputStatus"
},
"AsiInputTransport": {
"properties": {
"url": {
"type": "string",
"pattern": "^asi://",
"title": "Url",
"examples": [
"asi://localhost/slot_2_port_3"
]
},
"tsPacketSize": {
"anyOf": [
{
"$ref": "#/components/schemas/TsPacketSize"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"url"
],
"title": "AsiInputTransport"
},
"AsiInputTransportStatus": {
"properties": {
"receiving": {
"type": "boolean",
"title": "Receiving"
},
"bitrate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bitrate"
},
"etr290": {
"anyOf": [
{
"$ref": "#/components/schemas/Etr290Stats"
},
{
"type": "null"
}
]
},
"fec": {
"anyOf": [
{
"$ref": "#/components/schemas/InputTransportFec"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"receiving"
],
"title": "AsiInputTransportStatus"
},
"AsiOutput": {
"properties": {
"type": {
"type": "string",
"const": "ASI",
"title": "Type",
"default": "ASI"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"transport": {
"$ref": "#/components/schemas/AsiOutputTransport"
}
},
"type": "object",
"required": [
"transport"
],
"title": "AsiOutput"
},
"AsiOutputStatus": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"type": {
"type": "string",
"const": "ASI",
"title": "Type",
"default": "ASI"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/AsiOutputTransport"
},
{
"type": "null"
}
]
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputPayloadStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health"
],
"title": "AsiOutputStatus"
},
"AsiOutputTransport": {
"properties": {
"url": {
"type": "string",
"pattern": "^asi://",
"title": "Url",
"examples": [
"asi://localhost/slot_2_port_3"
]
}
},
"type": "object",
"required": [
"url"
],
"title": "AsiOutputTransport"
},
"AudioBitrate": {
"type": "integer",
"enum": [
16000,
20000,
24000,
28000,
32000,
40000,
48000,
56000,
64000,
80000,
96000,
112000,
128000,
144000,
160000,
192000,
224000,
256000,
288000,
320000,
384000,
448000,
512000,
640000,
704000,
768000,
832000,
896000,
960000,
1024000
],
"title": "AudioBitrate",
"x-enum-varnames": [
"16 Kbps",
"20 Kbps",
"24 Kbps",
"28 Kbps",
"32 Kbps",
"40 Kbps",
"48 Kbps",
"56 Kbps",
"64 Kbps",
"80 Kbps",
"96 Kbps",
"112 Kbps",
"128 Kbps",
"144 Kbps",
"160 Kbps",
"192 Kbps",
"224 Kbps",
"256 Kbps",
"288 Kbps",
"320 Kbps",
"384 Kbps",
"448 Kbps",
"512 Kbps",
"640 Kbps",
"704 Kbps",
"768 Kbps",
"832 Kbps",
"896 Kbps",
"960 Kbps",
"1024 Kbps"
]
},
"AudioCodec": {
"type": "string",
"enum": [
"Unsynced",
"PassThrough",
"SMPTE302PassThrough",
"MPEG1Layer2",
"AAC",
"HEAAC",
"HEAACv2",
"AC3",
"EAC3",
"AC4"
],
"title": "AudioCodec",
"x-enum-varnames": [
"Unsynced",
"Pass-Through",
"SMPTE 302 Pass-Through",
"MPEG-1 Layer 2",
"AAC",
"HE-AAC",
"HE-AAC v2",
"AC-3",
"E-AC-3",
"AC-4"
]
},
"AudioCodecStatus": {
"type": "string",
"enum": [
"PassThrough",
"SMPTE302PassThrough",
"MPEG1Layer2",
"AAC",
"HEAAC",
"HEAACv2",
"AC3",
"EAC3",
"AC4"
],
"title": "AudioCodecStatus",
"x-enum-varnames": [
"Pass-Through",
"SMPTE 302 Pass-Through",
"MPEG-1 Layer 2",
"AAC",
"HE-AAC",
"HE-AAC v2",
"AC-3",
"E-AC-3",
"AC-4"
]
},
"AudioEncoding": {
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"inputName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Inputname"
},
"audioName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Audioname"
},
"codec": {
"$ref": "#/components/schemas/AudioCodec",
"default": "AC3"
},
"mode": {
"anyOf": [
{
"$ref": "#/components/schemas/AudioMode"
},
{
"type": "null"
}
],
"default": "Stereo",
"x-dyn-deps": [
"spec.transform.encoding.audios.codec"
],
"x-dyn-on-invalid": "clamp",
"x-dyn-rule-cel": "self.codec == \"Unsynced\" ? {} : self.codec in [\"MPEG1Layer2\"] ? {\"enum\": [\"Mono\", \"MonoLeft\", \"MonoRight\", \"DualMono\", \"Stereo\"], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec in [\"AC3\", \"EAC3\", \"AC4\"] ? {\"enum\": [\"Stereo\", \"Surround51\"], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec in [\"AAC\", \"HEAAC\"] ? {\"enum\": [\"Mono\", \"MonoLeft\", \"MonoRight\", \"DualMono\", \"Stereo\", \"Surround51\"], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec in [\"HEAACv2\"] ? {\"enum\": [\"Stereo\"], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : {\"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])}"
},
"bitrate": {
"anyOf": [
{
"$ref": "#/components/schemas/AudioBitrate"
},
{
"type": "null"
}
],
"default": 192000,
"x-dyn-deps": [
"spec.transform.encoding.audios.codec",
"spec.transform.encoding.audios.mode"
],
"x-dyn-on-invalid": "clamp",
"x-dyn-rule-cel": "self.codec == \"Unsynced\" ? {} : self.mode == \"Unsynced\" ? {} : self.codec == \"MPEG1Layer2\" && self.mode in [\"Mono\", \"MonoLeft\", \"MonoRight\"] ? {\"enum\": [32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"MPEG1Layer2\" && self.mode in [\"DualMono\", \"Stereo\"] ? {\"enum\": [32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 320000, 384000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"AC3\" && self.mode == \"Stereo\" ? {\"enum\": [96000, 128000, 160000, 192000, 224000, 256000, 320000, 384000, 448000, 512000, 640000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"AC3\" && self.mode == \"Surround51\" ? {\"enum\": [224000, 256000, 320000, 384000, 448000, 512000, 640000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"EAC3\" && self.mode == \"Stereo\" ? {\"enum\": [96000, 128000, 160000, 192000, 224000, 256000, 320000, 384000, 448000, 512000, 640000, 704000, 768000, 832000, 896000, 960000, 1024000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"EAC3\" && self.mode == \"Surround51\" ? {\"enum\": [192000, 224000, 256000, 320000, 384000, 448000, 512000, 640000, 704000, 768000, 832000, 896000, 960000, 1024000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"AAC\" && self.mode in [\"Mono\", \"MonoLeft\", \"MonoRight\"] ? {\"enum\": [32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"AAC\" && self.mode in [\"DualMono\", \"Stereo\"] ? {\"enum\": [32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 320000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"AAC\" && self.mode == \"Surround51\" ? {\"enum\": [160000, 192000, 224000, 256000, 320000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"HEAAC\" && self.mode in [\"Mono\", \"MonoLeft\", \"MonoRight\"] ? {\"enum\": [32000, 40000, 48000, 56000, 64000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"HEAAC\" && self.mode == \"DualMono\" ? {\"enum\": [32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"HEAAC\" && self.mode == \"Stereo\" ? {\"enum\": [32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"HEAAC\" && self.mode == \"Surround51\" ? {\"enum\": [64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"AC4\" && self.mode == \"Stereo\" ? {\"enum\": [48000, 64000, 96000, 128000, 144000, 192000, 256000, 288000, 320000, 384000, 448000, 512000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"AC4\" && self.mode == \"Surround51\" ? {\"enum\": [96000, 128000, 144000, 192000, 256000, 288000, 320000, 384000, 448000, 512000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : self.codec == \"HEAACv2\" && self.mode in [\"Mono\", \"MonoLeft\", \"MonoRight\", \"DualMono\", \"Stereo\", \"Surround51\"] ? {\"enum\": [16000, 20000, 24000, 28000, 32000, 40000, 48000], \"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])} : {\"x-omit\": self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"], \"x-required\": !(self.codec in [\"PassThrough\", \"SMPTE302PassThrough\"])}"
},
"ac4Config": {
"anyOf": [
{
"$ref": "#/components/schemas/Ac4Config"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"codec"
],
"title": "AudioEncoding"
},
"AudioMode": {
"type": "string",
"enum": [
"Unsynced",
"Mono",
"MonoLeft",
"MonoRight",
"DualMono",
"Stereo",
"Surround51"
],
"title": "AudioMode",
"x-enum-varnames": [
"Unsynced",
"Mono",
"Mono Left",
"Mono Right",
"Dual Mono",
"Stereo",
"5.1 Surround"
]
},
"AudioModeStatus": {
"type": "string",
"enum": [
"Mono",
"MonoLeft",
"MonoRight",
"DualMono",
"Stereo",
"Surround51",
"Surround71",
"Surround514",
"Surround714"
],
"title": "AudioModeStatus",
"x-enum-varnames": [
"Mono",
"Mono Left",
"Mono Right",
"Dual Mono",
"Stereo",
"5.1 Surround",
"7.1 Surround",
"5.1.4 Surround",
"7.1.4 Surround"
]
},
"BissMode": {
"type": "string",
"enum": [
"Unsynced",
"Mode1",
"ModeE"
],
"title": "BissMode",
"x-enum-varnames": [
"Unsynced",
"Mode 1",
"Mode E"
]
},
"Channel": {
"properties": {
"kind": {
"type": "string",
"const": "BeamChannel",
"title": "Kind",
"default": "BeamChannel"
},
"metadata": {
"$ref": "#/components/schemas/ChannelMetadataResponse"
},
"spec": {
"anyOf": [
{
"$ref": "#/components/schemas/ChannelSpec"
},
{
"type": "null"
}
]
},
"status": {
"anyOf": [
{
"$ref": "#/components/schemas/ChannelStatus"
},
{
"type": "null"
}
]
},
"serviceIds": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Serviceids"
}
},
"type": "object",
"required": [
"metadata"
],
"title": "Channel"
},
"ChannelCreate": {
"properties": {
"kind": {
"type": "string",
"const": "BeamChannel",
"title": "Kind",
"default": "BeamChannel"
},
"metadata": {
"$ref": "#/components/schemas/ChannelMetadata"
},
"spec": {
"$ref": "#/components/schemas/ChannelSpec"
}
},
"type": "object",
"required": [
"metadata",
"spec"
],
"title": "ChannelCreate",
"description": "Create channel - same as Channel but without status."
},
"ChannelListSupplemental": {
"properties": {
"kind": {
"type": "string",
"const": "BeamChannelList",
"title": "Kind",
"default": "BeamChannelList"
},
"count": {
"type": "integer",
"title": "Count"
},
"operation": {
"type": "string",
"const": "list",
"title": "Operation",
"default": "list"
},
"pagination": {
"$ref": "#/components/schemas/Pagination"
}
},
"type": "object",
"required": [
"count",
"pagination"
],
"title": "ChannelListSupplemental"
},
"ChannelMetadata": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"displayName": {
"type": "string",
"title": "Displayname"
}
},
"type": "object",
"required": [
"name",
"displayName"
],
"title": "ChannelMetadata"
},
"ChannelMetadataPatch": {
"properties": {
"displayName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Displayname"
}
},
"type": "object",
"title": "ChannelMetadataPatch"
},
"ChannelMetadataResponse": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"displayName": {
"type": "string",
"title": "Displayname"
},
"created": {
"type": "string",
"format": "date-time",
"title": "Created"
}
},
"type": "object",
"required": [
"name",
"displayName",
"created"
],
"title": "ChannelMetadataResponse"
},
"ChannelPatch": {
"properties": {
"metadata": {
"anyOf": [
{
"$ref": "#/components/schemas/ChannelMetadataPatch"
},
{
"type": "null"
}
]
},
"spec": {
"anyOf": [
{
"$ref": "#/components/schemas/ChannelSpecPatch"
},
{
"type": "null"
}
]
}
},
"type": "object",
"title": "ChannelPatch",
"description": "Partial update to a channel."
},
"ChannelSpec": {
"properties": {
"type": {
"$ref": "#/components/schemas/ChannelType"
},
"state": {
"$ref": "#/components/schemas/DesiredState",
"default": "Stopped"
},
"inputs": {
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/SrtCallerInput"
},
{
"$ref": "#/components/schemas/SrtListenerInput"
},
{
"$ref": "#/components/schemas/UdpInput"
},
{
"$ref": "#/components/schemas/AsiInput"
},
{
"$ref": "#/components/schemas/SatDemodInput"
},
{
"$ref": "#/components/schemas/Smpte2110Input"
},
{
"$ref": "#/components/schemas/SdiInput"
},
{
"$ref": "#/components/schemas/UnsyncedInput"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"ASI": "#/components/schemas/AsiInput",
"SDI": "#/components/schemas/SdiInput",
"SRTCaller": "#/components/schemas/SrtCallerInput",
"SRTListener": "#/components/schemas/SrtListenerInput",
"SatDemod": "#/components/schemas/SatDemodInput",
"Smpte2110": "#/components/schemas/Smpte2110Input",
"UDP": "#/components/schemas/UdpInput",
"Unsynced": "#/components/schemas/UnsyncedInput"
}
},
"x-discriminator-varnames": {
"ASI": "ASI",
"SDI": "SDI",
"SRTCaller": "SRT Caller",
"SRTListener": "SRT Listener",
"SatDemod": "Sat Demod",
"Smpte2110": "SMPTE 2110",
"UDP": "UDP",
"Unsynced": "Unsynced"
}
},
"type": "array",
"title": "Inputs",
"default": [],
"x-dyn-deps": [
"spec.type"
],
"x-dyn-on-invalid": "clamp",
"x-dyn-rule-cel": "self.type == \"Unsynced\" ? {} : self.type in [\"EncodingContribution\", \"EncodingDistribution\"] ? {\"allowedDiscriminators\": [\"SDI\", \"Smpte2110\"], \"channelType\": self.type} : self.type in [\"ReceptionDecoding\", \"ReceptionGateway\"] ? {\"allowedDiscriminators\": [\"SRTCaller\", \"SRTListener\", \"UDP\", \"ASI\", \"SatDemod\"], \"channelType\": self.type} : self.type in [\"EncodingStreaming\"] ? {\"allowedDiscriminators\": [\"SDI\"], \"channelType\": self.type} : {}"
},
"transform": {
"anyOf": [
{
"$ref": "#/components/schemas/TransformConfig"
},
{
"type": "null"
}
],
"x-dyn-deps": [
"spec.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.type in [\"EncodingContribution\", \"EncodingDistribution\", \"EncodingStreaming\"] ? {\"x-required\": true} : {}"
},
"outputs": {
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/SrtCallerOutput"
},
{
"$ref": "#/components/schemas/SrtListenerOutput"
},
{
"$ref": "#/components/schemas/UdpOutput"
},
{
"$ref": "#/components/schemas/AsiOutput"
},
{
"$ref": "#/components/schemas/RfOutput"
},
{
"$ref": "#/components/schemas/SdiOutput"
},
{
"$ref": "#/components/schemas/HttpStreamingOutput"
},
{
"$ref": "#/components/schemas/Smpte2110Output"
},
{
"$ref": "#/components/schemas/UnsyncedOutput"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"ASI": "#/components/schemas/AsiOutput",
"HttpStreaming": "#/components/schemas/HttpStreamingOutput",
"RF": "#/components/schemas/RfOutput",
"SDI": "#/components/schemas/SdiOutput",
"SRTCaller": "#/components/schemas/SrtCallerOutput",
"SRTListener": "#/components/schemas/SrtListenerOutput",
"Smpte2110": "#/components/schemas/Smpte2110Output",
"UDP": "#/components/schemas/UdpOutput",
"Unsynced": "#/components/schemas/UnsyncedOutput"
}
},
"x-discriminator-varnames": {
"ASI": "ASI",
"HttpStreaming": "HTTP Streaming",
"RF": "RF",
"SDI": "SDI",
"SRTCaller": "SRT Caller",
"SRTListener": "SRT Listener",
"Smpte2110": "SMPTE 2110",
"UDP": "UDP",
"Unsynced": "Unsynced"
}
},
"type": "array",
"title": "Outputs",
"default": [],
"x-dyn-deps": [
"spec.type"
],
"x-dyn-on-invalid": "clamp",
"x-dyn-rule-cel": "self.type == \"Unsynced\" ? {} : self.type in [\"EncodingContribution\", \"EncodingDistribution\", \"ReceptionGateway\"] ? {\"allowedDiscriminators\": [\"ASI\", \"UDP\", \"SRTCaller\", \"SRTListener\", \"RF\"], \"channelType\": self.type} : self.type in [\"ReceptionDecoding\"] ? {\"allowedDiscriminators\": [\"SDI\", \"Smpte2110\"], \"channelType\": self.type} : self.type in [\"EncodingStreaming\"] ? {\"allowedDiscriminators\": [\"HttpStreaming\"], \"channelType\": self.type} : {}"
}
},
"type": "object",
"required": [
"type"
],
"title": "ChannelSpec"
},
"ChannelSpecPatch": {
"properties": {
"state": {
"anyOf": [
{
"$ref": "#/components/schemas/DesiredState"
},
{
"type": "null"
}
]
}
},
"type": "object",
"title": "ChannelSpecPatch"
},
"ChannelStatus": {
"properties": {
"state": {
"$ref": "#/components/schemas/ActualState",
"default": "Stopped"
},
"health": {
"$ref": "#/components/schemas/HealthStatus",
"default": {
"severity": "Clear"
}
},
"inputs": {
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/SrtCallerInputStatus"
},
{
"$ref": "#/components/schemas/SrtListenerInputStatus"
},
{
"$ref": "#/components/schemas/UdpInputStatus"
},
{
"$ref": "#/components/schemas/SdiInputStatus"
},
{
"$ref": "#/components/schemas/Smpte2110InputStatus"
},
{
"$ref": "#/components/schemas/AsiInputStatus"
},
{
"$ref": "#/components/schemas/SatDemodInputStatus"
},
{
"$ref": "#/components/schemas/UnsyncedInputStatus"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"ASI": "#/components/schemas/AsiInputStatus",
"SDI": "#/components/schemas/SdiInputStatus",
"SRTCaller": "#/components/schemas/SrtCallerInputStatus",
"SRTListener": "#/components/schemas/SrtListenerInputStatus",
"SatDemod": "#/components/schemas/SatDemodInputStatus",
"Smpte2110": "#/components/schemas/Smpte2110InputStatus",
"UDP": "#/components/schemas/UdpInputStatus",
"Unsynced": "#/components/schemas/UnsyncedInputStatus"
}
},
"x-discriminator-varnames": {
"ASI": "ASI",
"SDI": "SDI",
"SRTCaller": "SRT Caller",
"SRTListener": "SRT Listener",
"SatDemod": "Sat Demod",
"Smpte2110": "SMPTE 2110",
"UDP": "UDP",
"Unsynced": "Unsynced"
}
},
"type": "array",
"title": "Inputs",
"default": []
},
"outputs": {
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/SrtCallerOutputStatus"
},
{
"$ref": "#/components/schemas/SrtListenerOutputStatus"
},
{
"$ref": "#/components/schemas/UdpOutputStatus"
},
{
"$ref": "#/components/schemas/AsiOutputStatus"
},
{
"$ref": "#/components/schemas/RfOutputStatus"
},
{
"$ref": "#/components/schemas/SdiOutputStatus"
},
{
"$ref": "#/components/schemas/Smpte2110OutputStatus"
},
{
"$ref": "#/components/schemas/HttpStreamingOutputStatus"
},
{
"$ref": "#/components/schemas/UnsyncedOutputStatus"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"ASI": "#/components/schemas/AsiOutputStatus",
"HttpStreaming": "#/components/schemas/HttpStreamingOutputStatus",
"RF": "#/components/schemas/RfOutputStatus",
"SDI": "#/components/schemas/SdiOutputStatus",
"SRTCaller": "#/components/schemas/SrtCallerOutputStatus",
"SRTListener": "#/components/schemas/SrtListenerOutputStatus",
"Smpte2110": "#/components/schemas/Smpte2110OutputStatus",
"UDP": "#/components/schemas/UdpOutputStatus",
"Unsynced": "#/components/schemas/UnsyncedOutputStatus"
}
},
"x-discriminator-varnames": {
"ASI": "ASI",
"HttpStreaming": "HTTP Streaming",
"RF": "RF",
"SDI": "SDI",
"SRTCaller": "SRT Caller",
"SRTListener": "SRT Listener",
"Smpte2110": "SMPTE 2110",
"UDP": "UDP",
"Unsynced": "Unsynced"
}
},
"type": "array",
"title": "Outputs",
"default": []
},
"syncState": {
"$ref": "#/components/schemas/SyncState",
"default": "Ok"
},
"syncError": {
"items": {
"type": "string"
},
"type": "array",
"title": "Syncerror",
"default": []
}
},
"type": "object",
"title": "ChannelStatus",
"description": "Includes calculated fields such as thumbnailUrl."
},
"ChannelType": {
"type": "string",
"enum": [
"EncodingContribution",
"EncodingDistribution",
"ReceptionDecoding",
"ReceptionGateway",
"EncodingStreaming"
],
"title": "ChannelType",
"x-enum-varnames": [
"Encoding (Contribution)",
"Encoding (Distribution)",
"Reception (Decoding)",
"Reception (Gateway)",
"Encoding (Streaming)"
]
},
"CurrentMetricsData": {
"properties": {
"serverId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Serverid"
},
"cpuUtilizationPercent": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Cpuutilizationpercent"
},
"temperatureCelsius": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Temperaturecelsius"
},
"uptimeSeconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Uptimeseconds"
}
},
"type": "object",
"title": "CurrentMetricsData",
"description": "Selectable fields for current metrics."
},
"CurrentMetricsResponse": {
"properties": {
"data": {
"$ref": "#/components/schemas/CurrentMetricsData"
},
"collectedAt": {
"type": "string",
"format": "date-time",
"title": "Collectedat"
}
},
"type": "object",
"required": [
"data",
"collectedAt"
],
"title": "CurrentMetricsResponse",
"description": "Response for GET /metrics/current/."
},
"DecryptConfig": {
"properties": {
"type": {
"$ref": "#/components/schemas/DecryptType",
"default": "None"
},
"bissMode": {
"anyOf": [
{
"$ref": "#/components/schemas/BissMode"
},
{
"type": "null"
}
],
"x-dyn-deps": [
"decrypt.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.type == \"BISS\" ? {\"x-required\": true} : {}"
},
"bissKey": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Bisskey",
"x-dyn-deps": [
"decrypt.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.type == \"BISS\" ? {\"x-required\": true} : {}"
},
"bissInjectedKeyId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Bissinjectedkeyid",
"x-dyn-deps": [
"decrypt.type",
"decrypt.bissMode"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.type == \"BISS\" ? (self.bissMode == \"ModeE\" ? {\"x-required\": true} : {}) : {}"
},
"bissCAKeyId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Bisscakeyid",
"x-dyn-deps": [
"decrypt.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.type == \"BISSCA\" ? {\"x-required\": true} : {}"
},
"camSlot": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Camslot",
"x-dyn-deps": [
"decrypt.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.type == \"DVBCI\" ? {\"x-required\": true} : {}"
},
"camPort": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Camport",
"x-dyn-deps": [
"decrypt.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.type == \"DVBCI\" ? {\"x-required\": true} : {}"
}
},
"type": "object",
"title": "DecryptConfig"
},
"DecryptType": {
"type": "string",
"enum": [
"Unsynced",
"None",
"BISS",
"BISSCA",
"DVBCI"
],
"title": "DecryptType",
"x-enum-varnames": [
"Unsynced",
"None",
"BISS",
"BISS-CA",
"DVB-CI"
]
},
"DelayMode": {
"type": "string",
"enum": [
"Unsynced",
"Standard",
"Low",
"SuperLow"
],
"title": "DelayMode",
"x-enum-varnames": [
"Unsynced",
"Standard",
"Low",
"Super Low"
]
},
"DesiredState": {
"type": "string",
"enum": [
"Running",
"Stopped"
],
"title": "DesiredState",
"x-enum-varnames": [
"Running",
"Stopped"
]
},
"DynamicRangeConversion": {
"type": "string",
"enum": [
"Unsynced",
"None",
"BT709"
],
"title": "DynamicRangeConversion",
"x-enum-varnames": [
"Unsynced",
"None",
"Convert to BT.709"
]
},
"EligibilityResource": {
"properties": {
"type": {
"type": "string",
"title": "Type"
},
"id": {
"type": "string",
"title": "Id"
},
"channel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Channel"
},
"canUpgrade": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Canupgrade"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
}
},
"type": "object",
"required": [
"type",
"id"
],
"title": "EligibilityResource",
"description": "A single existing resource on the box.\n\ntype — \"service\" (comms registry), \"feed\" or \"savedConfiguration\" (ce1-controller)\nid — the resource's id (comms serviceId, or ce1 channel/template id)\nchannel — name of the channels-api channel this is already part of, else None\ncan_upgrade — whether this resource can be upgraded to a channel. None when it is\n already managed by channels-api (not applicable); otherwise False for\n now, expanded in later releases as upgrade paths are enabled.\nreason — explanation of the can_upgrade verdict\n\nNone fields are omitted from the response (the route uses response_model_exclude_none)."
},
"EligibilityResponse": {
"properties": {
"canRun": {
"type": "boolean",
"title": "Canrun"
},
"deploymentState": {
"type": "string",
"title": "Deploymentstate"
},
"resources": {
"items": {
"$ref": "#/components/schemas/EligibilityResource"
},
"type": "array",
"title": "Resources",
"default": []
}
},
"type": "object",
"required": [
"canRun",
"deploymentState"
],
"title": "EligibilityResponse",
"description": "Verdict for GET /deployment/eligibility/.\n\ncan_run answers \"can channels-api take over this box?\" — False if any listed\nresource cannot be upgraded (can_upgrade is False). Resources already owned by\nchannels-api (can_upgrade None) and any future upgradable resources don't block,\nso an empty list ⇒ True."
},
"EncodingConfig": {
"properties": {
"video": {
"$ref": "#/components/schemas/VideoEncoding"
},
"audios": {
"items": {
"$ref": "#/components/schemas/AudioEncoding"
},
"type": "array",
"title": "Audios",
"default": []
}
},
"type": "object",
"required": [
"video"
],
"title": "EncodingConfig"
},
"Etr290Stats": {
"properties": {
"ccError": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ccerror"
},
"tsSyncLoss": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Tssyncloss"
},
"syncByteError": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Syncbyteerror"
},
"transportError": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Transporterror"
},
"pmtError": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Pmterror"
},
"pidError": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Piderror"
}
},
"type": "object",
"title": "Etr290Stats"
},
"ExportPayload": {
"properties": {
"schemaVersion": {
"type": "string",
"title": "Schemaversion",
"default": "1"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"exportedAt": {
"type": "string",
"format": "date-time",
"title": "Exportedat"
},
"sourceVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sourceversion"
},
"channels": {
"items": {
"$ref": "#/components/schemas/ExportedChannel"
},
"type": "array",
"title": "Channels"
}
},
"type": "object",
"required": [
"exportedAt",
"channels"
],
"title": "ExportPayload"
},
"ExportRequest": {
"properties": {
"channels": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Channels"
},
"includeServices": {
"type": "boolean",
"title": "Includeservices",
"default": true
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
}
},
"type": "object",
"title": "ExportRequest"
},
"ExportedChannel": {
"properties": {
"kind": {
"type": "string",
"title": "Kind",
"default": "BeamChannel"
},
"metadata": {
"$ref": "#/components/schemas/ChannelMetadata"
},
"spec": {
"$ref": "#/components/schemas/ChannelSpec"
},
"services": {
"items": {
"$ref": "#/components/schemas/ExportedService"
},
"type": "array",
"title": "Services"
}
},
"type": "object",
"required": [
"metadata",
"spec"
],
"title": "ExportedChannel"
},
"ExportedService": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"type": {
"type": "string",
"title": "Type"
},
"id": {
"type": "string",
"title": "Id"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config"
},
"configVersion": {
"type": "string",
"title": "Configversion"
}
},
"type": "object",
"required": [
"name",
"type",
"id",
"config",
"configVersion"
],
"title": "ExportedService"
},
"FecStatus": {
"type": "string",
"enum": [
"Disabled",
"Enabled",
"Invalid"
],
"title": "FecStatus",
"x-enum-varnames": [
"Disabled",
"Enabled",
"Invalid"
]
},
"FrameRate": {
"type": "string",
"enum": [
"Unsynced",
"TrueMotion",
"Standard",
"Half",
"Quarter",
"Eighth"
],
"title": "FrameRate",
"x-enum-varnames": [
"Unsynced",
"True Motion (50/59.94)",
"Standard (25/29.97)",
"1/2",
"1/4",
"1/8"
]
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"HealthStatus": {
"properties": {
"severity": {
"$ref": "#/components/schemas/Severity"
}
},
"type": "object",
"required": [
"severity"
],
"title": "HealthStatus"
},
"HttpStreamingEndpoint": {
"properties": {
"segmentationType": {
"$ref": "#/components/schemas/SegmentationType"
},
"url": {
"type": "string",
"title": "Url"
}
},
"type": "object",
"required": [
"segmentationType",
"url"
],
"title": "HttpStreamingEndpoint",
"description": "One advertised playback URL for a HttpStreaming output."
},
"HttpStreamingOutput": {
"properties": {
"type": {
"type": "string",
"const": "HttpStreaming",
"title": "Type",
"default": "HttpStreaming"
}
},
"type": "object",
"title": "HttpStreamingOutput"
},
"HttpStreamingOutputStatus": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"type": {
"type": "string",
"const": "HttpStreaming",
"title": "Type",
"default": "HttpStreaming"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/HttpStreamingOutputTransportStatus"
},
{
"type": "null"
}
]
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputHttpStreamingPayloadStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health"
],
"title": "HttpStreamingOutputStatus"
},
"HttpStreamingOutputTransportStatus": {
"properties": {
"endpoints": {
"items": {
"$ref": "#/components/schemas/HttpStreamingEndpoint"
},
"type": "array",
"title": "Endpoints",
"default": []
}
},
"type": "object",
"title": "HttpStreamingOutputTransportStatus"
},
"ImportMode": {
"type": "string",
"enum": [
"merge",
"replace"
],
"title": "ImportMode"
},
"ImportRequest": {
"properties": {
"payload": {
"$ref": "#/components/schemas/ExportPayload"
},
"mode": {
"$ref": "#/components/schemas/ImportMode",
"default": "merge"
},
"state": {
"anyOf": [
{
"$ref": "#/components/schemas/DesiredState"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"payload"
],
"title": "ImportRequest"
},
"ImportResult": {
"properties": {
"imported": {
"items": {
"$ref": "#/components/schemas/ImportedChannelResult"
},
"type": "array",
"title": "Imported"
},
"deleted": {
"items": {
"type": "string"
},
"type": "array",
"title": "Deleted"
},
"errors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errors"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array",
"title": "Warnings"
}
},
"type": "object",
"title": "ImportResult"
},
"ImportedChannelResult": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"sourceName": {
"type": "string",
"title": "Sourcename"
},
"displayName": {
"type": "string",
"title": "Displayname"
},
"status": {
"type": "string",
"enum": [
"accepted",
"skipped",
"rejected"
],
"title": "Status"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error"
}
},
"type": "object",
"required": [
"name",
"sourceName",
"displayName",
"status"
],
"title": "ImportedChannelResult"
},
"InputElementaryStream": {
"properties": {
"pid": {
"type": "integer",
"title": "Pid"
},
"streamType": {
"type": "integer",
"title": "Streamtype"
},
"type": {
"type": "string",
"title": "Type"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Language"
}
},
"type": "object",
"required": [
"pid",
"streamType",
"type"
],
"title": "InputElementaryStream"
},
"InputMptsPayloadStatus": {
"properties": {
"videoStandard": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Videostandard"
},
"video": {
"anyOf": [
{
"$ref": "#/components/schemas/InputPayloadVideo"
},
{
"type": "null"
}
]
},
"audios": {
"items": {
"$ref": "#/components/schemas/InputPayloadAudio"
},
"type": "array",
"title": "Audios",
"default": []
},
"services": {
"items": {
"$ref": "#/components/schemas/InputService"
},
"type": "array",
"title": "Services",
"default": []
}
},
"type": "object",
"title": "InputMptsPayloadStatus",
"description": "Input payload for MPTS transports. Adds MPTS programme/PID table."
},
"InputPayloadAudio": {
"properties": {
"codec": {
"anyOf": [
{
"$ref": "#/components/schemas/AudioCodecStatus"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Codec"
},
"channelCount": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Channelcount"
},
"channelMode": {
"anyOf": [
{
"$ref": "#/components/schemas/AudioModeStatus"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Channelmode"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Language"
},
"samplingRate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Samplingrate"
}
},
"type": "object",
"title": "InputPayloadAudio"
},
"InputPayloadStatus": {
"properties": {
"videoStandard": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Videostandard"
},
"video": {
"anyOf": [
{
"$ref": "#/components/schemas/InputPayloadVideo"
},
{
"type": "null"
}
]
},
"audios": {
"items": {
"$ref": "#/components/schemas/InputPayloadAudio"
},
"type": "array",
"title": "Audios",
"default": []
}
},
"type": "object",
"title": "InputPayloadStatus",
"description": "Base input payload. Applies to SDI and SMPTE 2110 (no MPTS layer)."
},
"InputPayloadVideo": {
"properties": {
"width": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Width"
},
"height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Height"
},
"codec": {
"anyOf": [
{
"$ref": "#/components/schemas/VideoCodecStatus"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Codec"
},
"chromaFormat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chromaformat"
},
"bitDepth": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bitdepth"
},
"aspectRatio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Aspectratio"
},
"quality": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Quality"
}
},
"type": "object",
"title": "InputPayloadVideo"
},
"InputService": {
"properties": {
"programNumber": {
"type": "integer",
"title": "Programnumber"
},
"serviceName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Servicename"
},
"providerName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Providername"
},
"selected": {
"type": "boolean",
"title": "Selected",
"default": false
},
"pmtPid": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Pmtpid"
},
"pcrPid": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Pcrpid"
},
"elementaryStreams": {
"items": {
"$ref": "#/components/schemas/InputElementaryStream"
},
"type": "array",
"title": "Elementarystreams",
"default": []
}
},
"type": "object",
"required": [
"programNumber"
],
"title": "InputService"
},
"InputTransportFec": {
"properties": {
"status": {
"anyOf": [
{
"$ref": "#/components/schemas/FecStatus"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"correctedPackets": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Correctedpackets"
},
"unrecoveredPackets": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Unrecoveredpackets"
}
},
"type": "object",
"title": "InputTransportFec"
},
"InterfacesResponse": {
"properties": {
"ip": {
"items": {
"$ref": "#/components/schemas/IpInterface"
},
"type": "array",
"title": "Ip",
"default": []
},
"sdi": {
"items": {
"$ref": "#/components/schemas/SlotPortInterface"
},
"type": "array",
"title": "Sdi",
"default": []
},
"asi": {
"items": {
"$ref": "#/components/schemas/SlotPortInterface"
},
"type": "array",
"title": "Asi",
"default": []
},
"rf_demod": {
"items": {
"$ref": "#/components/schemas/SlotPortInterface"
},
"type": "array",
"title": "Rf Demod",
"default": []
},
"rf_modulator": {
"items": {
"$ref": "#/components/schemas/SlotPortInterface"
},
"type": "array",
"title": "Rf Modulator",
"default": []
}
},
"type": "object",
"title": "InterfacesResponse"
},
"IpInterface": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"type": {
"type": "string",
"title": "Type",
"default": "IP"
},
"ipAddresses": {
"items": {
"type": "string"
},
"type": "array",
"title": "Ipaddresses"
},
"displayName": {
"type": "string",
"title": "Displayname",
"readOnly": true
}
},
"type": "object",
"required": [
"name",
"ipAddresses",
"displayName"
],
"title": "IpInterface"
},
"LnbVoltage": {
"type": "string",
"enum": [
"Unsynced",
"Off",
"13V",
"18V"
],
"title": "LnbVoltage",
"x-enum-varnames": [
"Unsynced",
"Off",
"13V",
"18V"
]
},
"MptsPayload": {
"properties": {
"programNumber": {
"type": "string",
"title": "Programnumber",
"default": "1"
},
"delayMode": {
"$ref": "#/components/schemas/DelayMode",
"default": "Standard"
},
"decrypt": {
"anyOf": [
{
"$ref": "#/components/schemas/DecryptConfig"
},
{
"type": "null"
}
]
}
},
"type": "object",
"title": "MptsPayload"
},
"MultiplexingConfig": {
"properties": {
"enabled": {
"type": "boolean",
"title": "Enabled",
"default": false
}
},
"type": "object",
"title": "MultiplexingConfig"
},
"ODataPage_Channel_": {
"properties": {
"value": {
"items": {
"$ref": "#/components/schemas/Channel"
},
"type": "array",
"title": "Value"
},
"@odata.nextLink": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "@Odata.Nextlink"
},
"supplemental": {
"$ref": "#/components/schemas/ChannelListSupplemental"
}
},
"type": "object",
"required": [
"value",
"supplemental"
],
"title": "ODataPage[Channel]"
},
"OutputAudioPayload": {
"properties": {
"codec": {
"anyOf": [
{
"$ref": "#/components/schemas/AudioCodecStatus"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Codec"
},
"mode": {
"anyOf": [
{
"$ref": "#/components/schemas/AudioModeStatus"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mode"
},
"bitrate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bitrate"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Language"
},
"channelCount": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Channelcount"
}
},
"type": "object",
"title": "OutputAudioPayload",
"description": "Audio payload status from statistics-api."
},
"OutputHttpStreamingPayloadStatus": {
"properties": {
"video": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputVideoPayload"
},
{
"type": "null"
}
]
},
"audios": {
"items": {
"$ref": "#/components/schemas/OutputAudioPayload"
},
"type": "array",
"title": "Audios",
"default": []
},
"representations": {
"items": {
"$ref": "#/components/schemas/OutputRepresentationPayload"
},
"type": "array",
"title": "Representations",
"default": []
}
},
"type": "object",
"title": "OutputHttpStreamingPayloadStatus",
"description": "HTTP streaming output payload. Adds ABR representation ladder."
},
"OutputPayloadStatus": {
"properties": {
"video": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputVideoPayload"
},
{
"type": "null"
}
]
},
"audios": {
"items": {
"$ref": "#/components/schemas/OutputAudioPayload"
},
"type": "array",
"title": "Audios",
"default": []
}
},
"type": "object",
"title": "OutputPayloadStatus",
"description": "Single-service output payload. Applies to SRT, UDP, ASI, RF, SDI, SMPTE 2110."
},
"OutputProcessing": {
"properties": {
"videoScaling": {
"$ref": "#/components/schemas/VideoScaling",
"default": "None"
},
"dynamicRangeConversion": {
"$ref": "#/components/schemas/DynamicRangeConversion",
"default": "None"
}
},
"type": "object",
"title": "OutputProcessing"
},
"OutputRepresentationPayload": {
"properties": {
"video": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputVideoPayload"
},
{
"type": "null"
}
]
},
"audios": {
"items": {
"$ref": "#/components/schemas/OutputAudioPayload"
},
"type": "array",
"title": "Audios",
"default": []
}
},
"type": "object",
"title": "OutputRepresentationPayload",
"description": "Single ABR rendition: one video encode paired with shared audio streams."
},
"OutputVideoPayload": {
"properties": {
"resolution": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resolution"
},
"frameRate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Framerate"
},
"codec": {
"anyOf": [
{
"$ref": "#/components/schemas/VideoCodecStatus"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Codec"
},
"bitrate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bitrate"
},
"bitDepth": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bitdepth"
},
"chromaFormat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chromaformat"
}
},
"type": "object",
"title": "OutputVideoPayload",
"description": "Video payload status from statistics-api."
},
"Pagination": {
"properties": {
"start": {
"type": "integer",
"title": "Start"
},
"end": {
"type": "integer",
"title": "End"
},
"records": {
"type": "integer",
"title": "Records"
},
"total": {
"type": "integer",
"title": "Total"
}
},
"type": "object",
"required": [
"start",
"end",
"records",
"total"
],
"title": "Pagination"
},
"PrometheusMatrixData": {
"properties": {
"resultType": {
"type": "string",
"title": "Resulttype",
"default": "matrix"
},
"result": {
"items": {
"$ref": "#/components/schemas/PrometheusMatrixResult"
},
"type": "array",
"title": "Result"
}
},
"type": "object",
"required": [
"result"
],
"title": "PrometheusMatrixData",
"description": "Data section of a matrix response."
},
"PrometheusMatrixResult": {
"properties": {
"metric": {
"$ref": "#/components/schemas/PrometheusMetricLabels"
},
"values": {
"items": {
"prefixItems": [
{
"type": "number"
},
{
"type": "string"
}
],
"type": "array",
"maxItems": 2,
"minItems": 2
},
"type": "array",
"title": "Values",
"description": "Array of [unix_timestamp, value_string] pairs"
}
},
"type": "object",
"required": [
"metric",
"values"
],
"title": "PrometheusMatrixResult",
"description": "Single result in a matrix response."
},
"PrometheusMetricLabels": {
"properties": {
"serverID": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Serverid"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"job": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Job"
}
},
"additionalProperties": true,
"type": "object",
"title": "PrometheusMetricLabels",
"description": "Metric labels from Prometheus. Allows arbitrary labels."
},
"PrometheusRangeResponse": {
"properties": {
"status": {
"type": "string",
"title": "Status",
"description": "'success' or 'error'"
},
"data": {
"anyOf": [
{
"$ref": "#/components/schemas/PrometheusMatrixData"
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error",
"description": "Error message if status is 'error'"
},
"errorType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Errortype"
}
},
"type": "object",
"required": [
"status"
],
"title": "PrometheusRangeResponse",
"description": "Response from Prometheus query_range API."
},
"Representation": {
"properties": {
"video": {
"$ref": "#/components/schemas/VideoEncoding"
},
"audios": {
"items": {
"$ref": "#/components/schemas/AudioEncoding"
},
"type": "array",
"title": "Audios",
"default": []
}
},
"type": "object",
"required": [
"video"
],
"title": "Representation"
},
"RfOutput": {
"properties": {
"type": {
"type": "string",
"const": "RF",
"title": "Type",
"default": "RF"
},
"transport": {
"$ref": "#/components/schemas/RfOutputTransport"
}
},
"type": "object",
"required": [
"transport"
],
"title": "RfOutput"
},
"RfOutputStatus": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"type": {
"type": "string",
"const": "RF",
"title": "Type",
"default": "RF"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/RfOutputTransport"
},
{
"type": "null"
}
]
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputPayloadStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health"
],
"title": "RfOutputStatus"
},
"RfOutputTransport": {
"properties": {
"url": {
"type": "string",
"pattern": "^satmod://",
"title": "Url",
"examples": [
"satmod://localhost/sat0"
]
}
},
"type": "object",
"required": [
"url"
],
"title": "RfOutputTransport"
},
"SatDemodInput": {
"properties": {
"type": {
"type": "string",
"const": "SatDemod",
"title": "Type",
"default": "SatDemod"
},
"name": {
"type": "string",
"title": "Name"
},
"transport": {
"$ref": "#/components/schemas/SatDemodTransport"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/MptsPayload"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"transport"
],
"title": "SatDemodInput"
},
"SatDemodInputStatus": {
"properties": {
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"name": {
"type": "string",
"title": "Name"
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Thumbnailurl"
},
"thumbnailPresence": {
"$ref": "#/components/schemas/ThumbnailPresence",
"default": "Unknown"
},
"metadataUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Metadataurl"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/InputMptsPayloadStatus"
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"const": "SatDemod",
"title": "Type",
"default": "SatDemod"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/SatDemodInputTransportStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health",
"name"
],
"title": "SatDemodInputStatus"
},
"SatDemodInputTransportStatus": {
"properties": {
"receiving": {
"type": "boolean",
"title": "Receiving"
}
},
"type": "object",
"required": [
"receiving"
],
"title": "SatDemodInputTransportStatus"
},
"SatDemodTransport": {
"properties": {
"url": {
"type": "string",
"pattern": "^rfdemod://",
"title": "Url",
"examples": [
"rfdemod://localhost/slot_1_port_1"
]
},
"lnbFrequencyMHz": {
"type": "integer",
"title": "Lnbfrequencymhz"
},
"lnbVoltage": {
"$ref": "#/components/schemas/LnbVoltage",
"default": "Off"
},
"lnbToneEnabled": {
"type": "boolean",
"title": "Lnbtoneenabled",
"default": false
},
"tunerFrequencyHz": {
"type": "integer",
"title": "Tunerfrequencyhz"
},
"tunerSymbolRate": {
"type": "integer",
"title": "Tunersymbolrate"
},
"tunerSearchRangeHz": {
"type": "integer",
"title": "Tunersearchrangehz",
"default": 2000000
},
"tunerMISEnabled": {
"type": "boolean",
"title": "Tunermisenabled",
"default": false
},
"tunerGoldCode": {
"type": "integer",
"title": "Tunergoldcode",
"default": 0
},
"tunerMISStreamId": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Tunermisstreamid",
"x-dyn-deps": [
"spec.inputs.transport.tunerMISEnabled"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.tunerMISEnabled == true ? {\"x-required\": true} : {}"
}
},
"type": "object",
"required": [
"url",
"lnbFrequencyMHz",
"tunerFrequencyHz",
"tunerSymbolRate"
],
"title": "SatDemodTransport"
},
"SdiAudioInput": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"aggregation": {
"oneOf": [
{
"$ref": "#/components/schemas/SdiNoAggregation"
}
],
"title": "Aggregation",
"default": {
"type": "None",
"pair": "G1P1"
},
"discriminator": {
"propertyName": "type",
"mapping": {
"None": "#/components/schemas/SdiNoAggregation"
}
},
"x-discriminator-varnames": {
"None": "None"
}
}
},
"type": "object",
"required": [
"name"
],
"title": "SdiAudioInput"
},
"SdiAudioPair": {
"type": "string",
"enum": [
"Unsynced",
"G1P1",
"G1P2",
"G2P1",
"G2P2",
"G3P1",
"G3P2",
"G4P1",
"G4P2"
],
"title": "SdiAudioPair",
"x-enum-varnames": [
"Unsynced",
"G1P1",
"G1P2",
"G2P1",
"G2P2",
"G3P1",
"G3P2",
"G4P1",
"G4P2"
]
},
"SdiInput": {
"properties": {
"type": {
"type": "string",
"const": "SDI",
"title": "Type",
"default": "SDI"
},
"name": {
"type": "string",
"title": "Name"
},
"transport": {
"$ref": "#/components/schemas/SdiInputTransport"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/SdiPayload"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"transport"
],
"title": "SdiInput"
},
"SdiInputStatus": {
"properties": {
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"name": {
"type": "string",
"title": "Name"
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Thumbnailurl"
},
"thumbnailPresence": {
"$ref": "#/components/schemas/ThumbnailPresence",
"default": "Unknown"
},
"metadataUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Metadataurl"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/InputPayloadStatus"
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"const": "SDI",
"title": "Type",
"default": "SDI"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/SdiInputTransportStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health",
"name"
],
"title": "SdiInputStatus"
},
"SdiInputTransport": {
"properties": {
"url": {
"type": "string",
"pattern": "^sdi://",
"title": "Url",
"examples": [
"sdi://localhost/slot_0_port_1"
]
}
},
"type": "object",
"required": [
"url"
],
"title": "SdiInputTransport"
},
"SdiInputTransportStatus": {
"properties": {
"receiving": {
"type": "boolean",
"title": "Receiving"
}
},
"type": "object",
"required": [
"receiving"
],
"title": "SdiInputTransportStatus"
},
"SdiNoAggregation": {
"properties": {
"type": {
"type": "string",
"const": "None",
"title": "Type",
"default": "None"
},
"pair": {
"$ref": "#/components/schemas/SdiAudioPair",
"default": "G1P1"
}
},
"type": "object",
"required": [
"pair"
],
"title": "SdiNoAggregation"
},
"SdiOutput": {
"properties": {
"type": {
"type": "string",
"const": "SDI",
"title": "Type",
"default": "SDI"
},
"transport": {
"$ref": "#/components/schemas/SdiOutputTransport"
},
"processing": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputProcessing"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"transport"
],
"title": "SdiOutput"
},
"SdiOutputStatus": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"type": {
"type": "string",
"const": "SDI",
"title": "Type",
"default": "SDI"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/SdiOutputTransport"
},
{
"type": "null"
}
]
},
"processing": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputProcessing"
},
{
"type": "null"
}
]
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputPayloadStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health"
],
"title": "SdiOutputStatus"
},
"SdiOutputTransport": {
"properties": {
"url": {
"type": "string",
"pattern": "^sdi://",
"title": "Url",
"examples": [
"sdi://localhost/slot_0_port_1"
]
}
},
"type": "object",
"required": [
"url"
],
"title": "SdiOutputTransport"
},
"SdiPayload": {
"properties": {
"audios": {
"items": {
"$ref": "#/components/schemas/SdiAudioInput"
},
"type": "array",
"title": "Audios",
"default": []
}
},
"type": "object",
"title": "SdiPayload"
},
"SegmentationType": {
"type": "string",
"enum": [
"HLSTS",
"HLSfMP4",
"DASHfMP4"
],
"title": "SegmentationType",
"description": "Packaging format advertised on a HttpStreaming output endpoint.\n\nDerived from the packager catalog output type (hls|cmaf) + manifestType (hls|dash):\ncmaf+hls -\u003E HLSfMP4, cmaf+dash -\u003E DASHfMP4, hls -\u003E HLSTS (HLS-TS not yet emitted).",
"x-enum-varnames": [
"HLSTS",
"HLSfMP4",
"DASHfMP4"
]
},
"Severity": {
"type": "string",
"enum": [
"Critical",
"Major",
"Minor",
"Notice",
"Ignore",
"Clear"
],
"title": "Severity",
"x-enum-varnames": [
"Critical",
"Major",
"Minor",
"Notice",
"Ignore",
"Clear"
]
},
"SlotPortInterface": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"type": {
"type": "string",
"title": "Type"
},
"url": {
"type": "string",
"title": "Url"
},
"displayName": {
"type": "string",
"title": "Displayname",
"readOnly": true
}
},
"type": "object",
"required": [
"name",
"type",
"url",
"displayName"
],
"title": "SlotPortInterface"
},
"Smpte2110AudioInputEssence": {
"properties": {
"type": {
"type": "string",
"const": "audio",
"title": "Type",
"default": "audio"
},
"transportFile": {
"anyOf": [
{
"$ref": "#/components/schemas/TransportFile"
},
{
"type": "null"
}
]
},
"sdpUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sdpurl"
},
"streamIndex": {
"type": "integer",
"minimum": 0,
"title": "Streamindex",
"default": 0
},
"channelGroupIndex": {
"type": "integer",
"minimum": 0,
"title": "Channelgroupindex",
"default": 0
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
}
},
"type": "object",
"title": "Smpte2110AudioInputEssence"
},
"Smpte2110AudioOutputEssence": {
"properties": {
"interface": {
"type": "string",
"title": "Interface"
},
"destinationPort": {
"type": "integer",
"maximum": 65535,
"minimum": 1024,
"title": "Destinationport",
"description": "Port number"
},
"sourcePort": {
"type": "integer",
"maximum": 65535,
"minimum": 1,
"title": "Sourceport",
"description": "Port number"
}
},
"type": "object",
"required": [
"interface",
"destinationPort",
"sourcePort"
],
"title": "Smpte2110AudioOutputEssence"
},
"Smpte2110Input": {
"properties": {
"type": {
"type": "string",
"const": "Smpte2110",
"title": "Type",
"default": "Smpte2110"
},
"name": {
"type": "string",
"title": "Name"
},
"transport": {
"$ref": "#/components/schemas/Smpte2110InputTransport"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/Smpte2110Payload"
},
{
"type": "null"
}
],
"x-dyn-deps": [
"spec.inputs.transport.nmosEnabled"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.transport.nmosEnabled == false ? {\"x-required\": true} : {}"
}
},
"type": "object",
"required": [
"name",
"transport"
],
"title": "Smpte2110Input"
},
"Smpte2110InputStatus": {
"properties": {
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"name": {
"type": "string",
"title": "Name"
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Thumbnailurl"
},
"thumbnailPresence": {
"$ref": "#/components/schemas/ThumbnailPresence",
"default": "Unknown"
},
"metadataUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Metadataurl"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/InputPayloadStatus"
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"const": "Smpte2110",
"title": "Type",
"default": "Smpte2110"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/Smpte2110InputTransportStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health",
"name"
],
"title": "Smpte2110InputStatus"
},
"Smpte2110InputTransport": {
"properties": {
"interface": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Interface"
},
"nmosEnabled": {
"type": "boolean",
"title": "Nmosenabled",
"default": false
}
},
"type": "object",
"title": "Smpte2110InputTransport"
},
"Smpte2110InputTransportStatus": {
"properties": {
"receiving": {
"type": "boolean",
"title": "Receiving"
}
},
"type": "object",
"required": [
"receiving"
],
"title": "Smpte2110InputTransportStatus"
},
"Smpte2110Output": {
"properties": {
"type": {
"type": "string",
"const": "Smpte2110",
"title": "Type",
"default": "Smpte2110"
},
"transport": {
"$ref": "#/components/schemas/Smpte2110OutputTransport"
},
"processing": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputProcessing"
},
{
"type": "null"
}
]
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/Smpte2110OutputEssences"
},
{
"type": "null"
}
],
"x-dyn-deps": [
"spec.outputs.transport.nmosEnabled"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.transport.nmosEnabled == false ? {\"x-required\": true} : {}"
}
},
"type": "object",
"required": [
"transport"
],
"title": "Smpte2110Output"
},
"Smpte2110OutputEssences": {
"properties": {
"video": {
"$ref": "#/components/schemas/Smpte2110VideoOutputEssence"
},
"audios": {
"items": {
"$ref": "#/components/schemas/Smpte2110AudioOutputEssence"
},
"type": "array",
"title": "Audios",
"default": []
}
},
"type": "object",
"required": [
"video"
],
"title": "Smpte2110OutputEssences"
},
"Smpte2110OutputStatus": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"type": {
"type": "string",
"const": "Smpte2110",
"title": "Type",
"default": "Smpte2110"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/Smpte2110OutputTransport"
},
{
"type": "null"
}
]
},
"processing": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputProcessing"
},
{
"type": "null"
}
]
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputPayloadStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health"
],
"title": "Smpte2110OutputStatus"
},
"Smpte2110OutputTransport": {
"properties": {
"interface": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Interface"
},
"nmosEnabled": {
"type": "boolean",
"title": "Nmosenabled",
"default": false
}
},
"type": "object",
"title": "Smpte2110OutputTransport"
},
"Smpte2110Payload": {
"properties": {
"video": {
"anyOf": [
{
"$ref": "#/components/schemas/Smpte2110VideoInputEssence"
},
{
"type": "null"
}
]
},
"audios": {
"items": {
"$ref": "#/components/schemas/Smpte2110AudioInputEssence"
},
"type": "array",
"title": "Audios",
"default": []
}
},
"type": "object",
"title": "Smpte2110Payload"
},
"Smpte2110VideoInputEssence": {
"properties": {
"type": {
"type": "string",
"const": "video",
"title": "Type",
"default": "video"
},
"transportFile": {
"anyOf": [
{
"$ref": "#/components/schemas/TransportFile"
},
{
"type": "null"
}
]
},
"sdpUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sdpurl"
},
"streamIndex": {
"type": "integer",
"minimum": 0,
"title": "Streamindex",
"default": 0
}
},
"type": "object",
"title": "Smpte2110VideoInputEssence"
},
"Smpte2110VideoOutputEssence": {
"properties": {
"interface": {
"type": "string",
"title": "Interface"
},
"destinationAddress": {
"type": "string",
"format": "ipv4",
"title": "Destinationaddress"
},
"destinationPort": {
"type": "integer",
"maximum": 65535,
"minimum": 1024,
"title": "Destinationport",
"description": "Port number"
},
"sourcePort": {
"type": "integer",
"maximum": 65535,
"minimum": 1,
"title": "Sourceport",
"description": "Port number"
}
},
"type": "object",
"required": [
"interface",
"destinationAddress",
"destinationPort",
"sourcePort"
],
"title": "Smpte2110VideoOutputEssence"
},
"SrtCallerInput": {
"properties": {
"type": {
"type": "string",
"const": "SRTCaller",
"title": "Type",
"default": "SRTCaller"
},
"name": {
"type": "string",
"title": "Name"
},
"transport": {
"$ref": "#/components/schemas/SrtCallerTransport"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/MptsPayload"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"transport"
],
"title": "SrtCallerInput"
},
"SrtCallerInputStatus": {
"properties": {
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"name": {
"type": "string",
"title": "Name"
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Thumbnailurl"
},
"thumbnailPresence": {
"$ref": "#/components/schemas/ThumbnailPresence",
"default": "Unknown"
},
"metadataUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Metadataurl"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/InputMptsPayloadStatus"
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"const": "SRTCaller",
"title": "Type",
"default": "SRTCaller"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/SrtCallerInputTransportStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health",
"name"
],
"title": "SrtCallerInputStatus"
},
"SrtCallerInputTransportStatus": {
"properties": {
"receiving": {
"type": "boolean",
"title": "Receiving"
},
"bitrate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bitrate"
},
"activeConnections": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Activeconnections"
},
"connections": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/SrtInputConnectionStats"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Connections"
},
"etr290": {
"anyOf": [
{
"$ref": "#/components/schemas/Etr290Stats"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"receiving"
],
"title": "SrtCallerInputTransportStatus"
},
"SrtCallerOutput": {
"properties": {
"type": {
"type": "string",
"const": "SRTCaller",
"title": "Type",
"default": "SRTCaller"
},
"transport": {
"$ref": "#/components/schemas/SrtCallerOutputTransport"
}
},
"type": "object",
"required": [
"transport"
],
"title": "SrtCallerOutput"
},
"SrtCallerOutputStatus": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"type": {
"type": "string",
"const": "SRTCaller",
"title": "Type",
"default": "SRTCaller"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/SrtCallerOutputTransportStatus"
},
{
"type": "null"
}
]
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputPayloadStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health"
],
"title": "SrtCallerOutputStatus"
},
"SrtCallerOutputTransport": {
"properties": {
"url": {
"type": "string",
"pattern": "^srt://",
"title": "Url",
"examples": [
"srt://10.0.24.5:6060"
]
},
"interface": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Interface"
},
"latency": {
"type": "number",
"maximum": 8,
"minimum": 0.06,
"title": "Latency",
"default": 0.125
},
"encryptionStandard": {
"$ref": "#/components/schemas/SrtEncryptionStandard",
"default": "None"
},
"passPhrase": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Passphrase",
"x-dyn-deps": [
"spec.outputs.transport.encryptionStandard"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.encryptionStandard != 'None' ? {'x-required': true, 'minLength': 10} : {}"
}
},
"type": "object",
"required": [
"url"
],
"title": "SrtCallerOutputTransport"
},
"SrtCallerOutputTransportStatus": {
"properties": {
"url": {
"type": "string",
"title": "Url"
},
"interface": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Interface"
},
"latency": {
"type": "number",
"title": "Latency",
"default": 0.125
},
"encryptionStandard": {
"type": "string",
"title": "Encryptionstandard",
"default": "None"
},
"activeConnections": {
"type": "integer",
"title": "Activeconnections",
"default": 0
},
"connections": {
"items": {
"$ref": "#/components/schemas/SrtConnectionStats"
},
"type": "array",
"title": "Connections",
"default": []
}
},
"type": "object",
"required": [
"url"
],
"title": "SrtCallerOutputTransportStatus"
},
"SrtCallerTransport": {
"properties": {
"url": {
"type": "string",
"pattern": "^srt://",
"title": "Url",
"examples": [
"srt://10.0.24.5:6060"
]
},
"interface": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Interface"
},
"latency": {
"type": "number",
"maximum": 8,
"minimum": 0.06,
"title": "Latency",
"default": 0.125
},
"encryptionStandard": {
"$ref": "#/components/schemas/SrtEncryptionStandard",
"default": "None"
},
"passPhrase": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Passphrase",
"x-dyn-deps": [
"spec.inputs.transport.encryptionStandard"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.encryptionStandard != 'None' ? {'x-required': true, 'minLength': 10} : {}"
}
},
"type": "object",
"required": [
"url"
],
"title": "SrtCallerTransport"
},
"SrtConnectionStats": {
"properties": {
"remoteAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Remoteaddress"
},
"sendBitrateMbps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Sendbitratembps"
},
"packetsLost": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Packetslost"
},
"packetsRetransmitted": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Packetsretransmitted"
},
"rttMs": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rttms"
},
"bandwidthMbps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Bandwidthmbps"
}
},
"type": "object",
"title": "SrtConnectionStats"
},
"SrtEncryptionStandard": {
"type": "string",
"enum": [
"Unsynced",
"None",
"AES128",
"AES192",
"AES256"
],
"title": "SrtEncryptionStandard",
"x-enum-varnames": [
"Unsynced",
"None",
"AES-128",
"AES-192",
"AES-256"
]
},
"SrtInputConnectionStats": {
"properties": {
"remoteAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Remoteaddress"
},
"recvBitrateMbps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Recvbitratembps"
},
"rttMs": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Rttms"
},
"bandwidthMbps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Bandwidthmbps"
},
"packetsLost": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Packetslost"
}
},
"type": "object",
"title": "SrtInputConnectionStats"
},
"SrtListenerInput": {
"properties": {
"type": {
"type": "string",
"const": "SRTListener",
"title": "Type",
"default": "SRTListener"
},
"name": {
"type": "string",
"title": "Name"
},
"transport": {
"$ref": "#/components/schemas/SrtListenerTransport"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/MptsPayload"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"transport"
],
"title": "SrtListenerInput"
},
"SrtListenerInputStatus": {
"properties": {
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"name": {
"type": "string",
"title": "Name"
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Thumbnailurl"
},
"thumbnailPresence": {
"$ref": "#/components/schemas/ThumbnailPresence",
"default": "Unknown"
},
"metadataUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Metadataurl"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/InputMptsPayloadStatus"
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"const": "SRTListener",
"title": "Type",
"default": "SRTListener"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/SrtListenerInputTransportStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health",
"name"
],
"title": "SrtListenerInputStatus"
},
"SrtListenerInputTransportStatus": {
"properties": {
"receiving": {
"type": "boolean",
"title": "Receiving"
},
"bitrate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bitrate"
},
"activeConnections": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Activeconnections"
},
"connections": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/SrtInputConnectionStats"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Connections"
},
"etr290": {
"anyOf": [
{
"$ref": "#/components/schemas/Etr290Stats"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"receiving"
],
"title": "SrtListenerInputTransportStatus"
},
"SrtListenerOutput": {
"properties": {
"type": {
"type": "string",
"const": "SRTListener",
"title": "Type",
"default": "SRTListener"
},
"transport": {
"$ref": "#/components/schemas/SrtListenerOutputTransport"
}
},
"type": "object",
"required": [
"transport"
],
"title": "SrtListenerOutput"
},
"SrtListenerOutputStatus": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"type": {
"type": "string",
"const": "SRTListener",
"title": "Type",
"default": "SRTListener"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/SrtListenerOutputTransportStatus"
},
{
"type": "null"
}
]
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputPayloadStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health"
],
"title": "SrtListenerOutputStatus"
},
"SrtListenerOutputTransport": {
"properties": {
"interface": {
"type": "string",
"title": "Interface"
},
"port": {
"type": "integer",
"maximum": 65535,
"minimum": 256,
"title": "Port",
"description": "Port number"
},
"maxConnections": {
"type": "integer",
"minimum": 1,
"title": "Maxconnections",
"default": 10
},
"latency": {
"type": "number",
"maximum": 8,
"minimum": 0.06,
"title": "Latency",
"default": 0.125
},
"encryptionStandard": {
"$ref": "#/components/schemas/SrtEncryptionStandard",
"default": "None"
},
"passPhrase": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Passphrase",
"x-dyn-deps": [
"spec.outputs.transport.encryptionStandard"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.encryptionStandard != 'None' ? {'x-required': true, 'minLength': 10} : {}"
}
},
"type": "object",
"required": [
"interface",
"port"
],
"title": "SrtListenerOutputTransport"
},
"SrtListenerOutputTransportStatus": {
"properties": {
"interface": {
"type": "string",
"title": "Interface"
},
"port": {
"type": "integer",
"title": "Port"
},
"maxConnections": {
"type": "integer",
"title": "Maxconnections",
"default": 10
},
"latency": {
"type": "number",
"title": "Latency",
"default": 0.125
},
"encryptionStandard": {
"type": "string",
"title": "Encryptionstandard",
"default": "None"
},
"activeConnections": {
"type": "integer",
"title": "Activeconnections",
"default": 0
},
"connections": {
"items": {
"$ref": "#/components/schemas/SrtConnectionStats"
},
"type": "array",
"title": "Connections",
"default": []
}
},
"type": "object",
"required": [
"interface",
"port"
],
"title": "SrtListenerOutputTransportStatus"
},
"SrtListenerTransport": {
"properties": {
"interface": {
"type": "string",
"title": "Interface"
},
"port": {
"type": "integer",
"maximum": 65535,
"minimum": 256,
"title": "Port",
"description": "Port number"
},
"maxConnections": {
"type": "integer",
"minimum": 1,
"title": "Maxconnections",
"default": 10
},
"latency": {
"type": "number",
"maximum": 8,
"minimum": 0.06,
"title": "Latency",
"default": 0.125
},
"encryptionStandard": {
"$ref": "#/components/schemas/SrtEncryptionStandard",
"default": "None"
},
"passPhrase": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Passphrase",
"x-dyn-deps": [
"spec.inputs.transport.encryptionStandard"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "self.encryptionStandard != 'None' ? {'x-required': true, 'minLength': 10} : {}"
}
},
"type": "object",
"required": [
"interface",
"port"
],
"title": "SrtListenerTransport"
},
"SyncState": {
"type": "string",
"enum": [
"Ok",
"Configuring",
"ConfigFailed",
"SyncFailed",
"Failed",
"FieldError"
],
"title": "SyncState",
"x-enum-varnames": [
"Ok",
"Configuring",
"Configuration Failed",
"Out of Sync",
"Failed",
"Field Error"
]
},
"SystemInfoData": {
"properties": {
"softwareVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Softwareversion"
},
"softwareName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Softwarename"
},
"serialNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Serialnumber"
},
"hardwareModel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Hardwaremodel"
}
},
"type": "object",
"title": "SystemInfoData",
"description": "Device identity fields."
},
"SystemInfoResponse": {
"properties": {
"data": {
"$ref": "#/components/schemas/SystemInfoData"
}
},
"type": "object",
"required": [
"data"
],
"title": "SystemInfoResponse",
"description": "Response for GET /system/."
},
"ThumbnailPresence": {
"type": "string",
"enum": [
"Unsynced",
"Present",
"Absent",
"Unknown"
],
"title": "ThumbnailPresence",
"x-enum-varnames": [
"Unsynced",
"Present",
"Absent",
"Unknown"
]
},
"TransformConfig": {
"properties": {
"encoding": {
"anyOf": [
{
"$ref": "#/components/schemas/EncodingConfig"
},
{
"type": "null"
}
],
"x-dyn-deps": [
"spec.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "spec.type in [\"EncodingContribution\", \"EncodingDistribution\"] ? {\"x-required\": true} : {}"
},
"abrEncoding": {
"anyOf": [
{
"$ref": "#/components/schemas/AbrEncodingConfig"
},
{
"type": "null"
}
],
"x-dyn-deps": [
"spec.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "spec.type == \"EncodingStreaming\" ? {\"x-required\": true} : {\"x-omit\": true}"
},
"multiplexing": {
"anyOf": [
{
"$ref": "#/components/schemas/MultiplexingConfig"
},
{
"type": "null"
}
],
"x-dyn-deps": [
"spec.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "spec.type in [\"EncodingContribution\", \"EncodingDistribution\"] ? {} : {\"x-omit\": true}"
}
},
"type": "object",
"title": "TransformConfig"
},
"TransportFile": {
"properties": {
"data": {
"type": "string",
"title": "Data",
"description": "Raw file contents; expects SDP format by default."
}
},
"type": "object",
"required": [
"data"
],
"title": "TransportFile",
"description": "SDP transport file for an ST 2110 stream."
},
"TsPacketSize": {
"type": "string",
"enum": [
"188",
"204"
],
"title": "TsPacketSize",
"x-enum-varnames": [
"188 bytes",
"204 bytes"
]
},
"UdpInput": {
"properties": {
"type": {
"type": "string",
"const": "UDP",
"title": "Type",
"default": "UDP"
},
"name": {
"type": "string",
"title": "Name"
},
"transport": {
"$ref": "#/components/schemas/UdpTransport"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/MptsPayload"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"transport"
],
"title": "UdpInput"
},
"UdpInputStatus": {
"properties": {
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"name": {
"type": "string",
"title": "Name"
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Thumbnailurl"
},
"thumbnailPresence": {
"$ref": "#/components/schemas/ThumbnailPresence",
"default": "Unknown"
},
"metadataUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Metadataurl"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/InputMptsPayloadStatus"
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"const": "UDP",
"title": "Type",
"default": "UDP"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/UdpInputTransportStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health",
"name"
],
"title": "UdpInputStatus"
},
"UdpInputTransportStatus": {
"properties": {
"receiving": {
"type": "boolean",
"title": "Receiving"
},
"bitrate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Bitrate"
},
"receivedPackets": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Receivedpackets"
},
"etr290": {
"anyOf": [
{
"$ref": "#/components/schemas/Etr290Stats"
},
{
"type": "null"
}
]
},
"fec": {
"anyOf": [
{
"$ref": "#/components/schemas/InputTransportFec"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"receiving"
],
"title": "UdpInputTransportStatus"
},
"UdpOutput": {
"properties": {
"type": {
"type": "string",
"const": "UDP",
"title": "Type",
"default": "UDP"
},
"transport": {
"$ref": "#/components/schemas/UdpOutputTransport"
}
},
"type": "object",
"required": [
"transport"
],
"title": "UdpOutput"
},
"UdpOutputStatus": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"type": {
"type": "string",
"const": "UDP",
"title": "Type",
"default": "UDP"
},
"transport": {
"anyOf": [
{
"$ref": "#/components/schemas/UdpOutputTransport"
},
{
"type": "null"
}
]
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/OutputPayloadStatus"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"health"
],
"title": "UdpOutputStatus"
},
"UdpOutputTransport": {
"properties": {
"url": {
"type": "string",
"title": "Url",
"examples": [
"udp://239.0.1.1:5555"
]
},
"interface": {
"type": "string",
"title": "Interface"
},
"sourceAddress": {
"anyOf": [
{
"type": "string",
"format": "ipv4"
},
{
"type": "null"
}
],
"title": "Sourceaddress"
},
"sourcePort": {
"anyOf": [
{
"type": "integer",
"maximum": 65535,
"minimum": 1,
"description": "Port number"
},
{
"type": "null"
}
],
"title": "Sourceport"
}
},
"type": "object",
"required": [
"url",
"interface"
],
"title": "UdpOutputTransport"
},
"UdpTransport": {
"properties": {
"url": {
"type": "string",
"title": "Url",
"examples": [
"udp://239.0.1.1:5555"
]
},
"interface": {
"type": "string",
"title": "Interface"
},
"unicast": {
"type": "boolean",
"title": "Unicast",
"default": false
}
},
"type": "object",
"required": [
"url",
"interface"
],
"title": "UdpTransport"
},
"UnsyncedInput": {
"properties": {
"type": {
"type": "string",
"const": "Unsynced",
"title": "Type",
"default": "Unsynced"
},
"name": {
"type": "string",
"title": "Name"
},
"unsupportedValue": {
"type": "string",
"title": "Unsupportedvalue",
"default": ""
}
},
"type": "object",
"required": [
"name"
],
"title": "UnsyncedInput",
"description": "Input synced from a service config whose transport mode this version of the\nschema does not implement. ``unsupportedValue`` is the discriminator value that\ntriggered it (e.g. ``\"ristListener\"``). Read/display only — a channel containing\none cannot be deployed."
},
"UnsyncedInputStatus": {
"properties": {
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"name": {
"type": "string",
"title": "Name"
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Thumbnailurl"
},
"thumbnailPresence": {
"$ref": "#/components/schemas/ThumbnailPresence",
"default": "Unknown"
},
"metadataUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Metadataurl"
},
"payload": {
"anyOf": [
{
"$ref": "#/components/schemas/InputPayloadStatus"
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"const": "Unsynced",
"title": "Type",
"default": "Unsynced"
}
},
"type": "object",
"required": [
"health",
"name"
],
"title": "UnsyncedInputStatus"
},
"UnsyncedOutput": {
"properties": {
"type": {
"type": "string",
"const": "Unsynced",
"title": "Type",
"default": "Unsynced"
},
"unsupportedValue": {
"type": "string",
"title": "Unsupportedvalue",
"default": ""
}
},
"type": "object",
"title": "UnsyncedOutput",
"description": "Output counterpart of UnsyncedInput. See UnsyncedInput."
},
"UnsyncedOutputStatus": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"health": {
"$ref": "#/components/schemas/HealthStatus"
},
"type": {
"type": "string",
"const": "Unsynced",
"title": "Type",
"default": "Unsynced"
}
},
"type": "object",
"required": [
"health"
],
"title": "UnsyncedOutputStatus"
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
},
"input": {
"title": "Input"
},
"ctx": {
"type": "object",
"title": "Context"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"VideoCodec": {
"type": "string",
"enum": [
"Unsynced",
"HEVCMain",
"HEVCMain10bit",
"HEVCMain422",
"HEVCMain10bit422",
"H264Main",
"H264High",
"H264High422",
"H264High10bit",
"H264High10bit422",
"H264Baseline",
"MPEG2",
"MPEG2422",
"JPEGXS",
"JPEGXS10bit"
],
"title": "VideoCodec",
"x-enum-varnames": [
"Unsynced",
"HEVC Main",
"HEVC Main 10 bits",
"HEVC Main 4:2:2",
"HEVC Main 10 bits 4:2:2",
"H.264 Main",
"H.264 High",
"H264 High 4:2:2",
"H264 High 10 bits",
"H264 High 10 bits 4:2:2",
"H.264 Baseline",
"MPEG-2 Main",
"MPEG-2 4:2:2",
"JPEG-XS",
"JPEG-XS 10 bits"
]
},
"VideoCodecStatus": {
"type": "string",
"enum": [
"H264Main",
"H264High",
"H264High422",
"H264High10bit",
"H264High10bit422",
"HEVCMain",
"HEVCMain10bit",
"HEVCMain422",
"HEVCMain10bit422",
"MPEG2",
"MPEG2422",
"JPEGXS",
"JPEGXS10bit",
"H264Baseline",
"H264",
"Hevc",
"HevcMainSp",
"VvcMain",
"VvcMain10",
"Vvc",
"Avs",
"Avs2",
"Mpeg1Video",
"Mpeg4Video",
"Vc1Advanced",
"Vc1Main",
"AppleProRes",
"Jpeg2000",
"Dv",
"PassThrough",
"Av1"
],
"title": "VideoCodecStatus",
"x-enum-varnames": [
"H.264 Main",
"H.264 High",
"H264 High 4:2:2",
"H264 High 10 bits",
"H264 High 10 bits 4:2:2",
"HEVC Main",
"HEVC Main 10 bits",
"HEVC Main 4:2:2",
"HEVC Main 10 bits 4:2:2",
"MPEG-2 Main",
"MPEG-2 4:2:2",
"JPEG-XS",
"JPEG-XS 10 bits",
"H.264 Baseline",
"H264",
"Hevc",
"HEVC Main SP",
"VVC Main",
"VVC Main 10",
"Vvc",
"Avs",
"Avs2",
"MPEG-1 Video",
"MPEG-4 Video",
"VC-1 Advanced",
"VC-1 Main",
"Apple ProRes",
"JPEG 2000",
"Dv",
"PassThrough",
"Av1"
]
},
"VideoEncoding": {
"properties": {
"codec": {
"$ref": "#/components/schemas/VideoCodec",
"default": "H264High",
"x-dyn-deps": [
"spec.type"
],
"x-dyn-on-invalid": "clamp",
"x-dyn-rule-cel": "spec.type == \"Unsynced\" ? {} : spec.type in [\"EncodingContribution\"] ? {\"enum\": [\"HEVCMain422\", \"HEVCMain10bit422\", \"H264High\", \"H264High10bit\", \"H264High422\", \"H264High10bit422\", \"MPEG2422\", \"JPEGXS\", \"JPEGXS10bit\"]} : spec.type in [\"EncodingDistribution\"] ? {\"enum\": [\"HEVCMain\", \"HEVCMain10bit\", \"H264High\", \"H264Main\", \"MPEG2\"]} : spec.type in [\"EncodingStreaming\"] ? {\"enum\": [\"HEVCMain\", \"HEVCMain10bit\", \"H264High\", \"H264Main\", \"H264Baseline\"]} : {}"
},
"videoFormat": {
"$ref": "#/components/schemas/VideoFormat",
"default": "1920x1080p",
"x-dyn-deps": [
"spec.transform.encoding.video.codec",
"spec.transform.abrEncoding.representations.video.codec",
"spec.type"
],
"x-dyn-on-invalid": "clamp",
"x-dyn-rule-cel": "spec.type == \"EncodingStreaming\" && self.codec in [\"HEVCMain\", \"HEVCMain10bit\"] ? {\"enum\": [\"3840x2160p\", \"1920x1080p\", \"1440x1080p\", \"1280x1080p\", \"960x1080p\", \"1280x720p\", \"960x720p\", \"854x720p\", \"848x720p\", \"640x720p\", \"720x576p\", \"704x576p\", \"544x576p\", \"528x576p\", \"480x576p\", \"352x576p\", \"720x480p\", \"704x480p\", \"640x480p\", \"544x480p\", \"528x480p\", \"480x480p\", \"352x480p\", \"352x288p\", \"320x240p\", \"192x192p\", \"176x144p\", \"176x120p\", \"128x96p\", \"96x96p\"]} : spec.type == \"EncodingStreaming\" && self.codec in [\"H264High\", \"H264Main\", \"H264Baseline\"] ? {\"enum\": [\"1920x1080p\", \"1440x1080p\", \"1280x1080p\", \"960x1080p\", \"1280x720p\", \"960x720p\", \"854x720p\", \"848x720p\", \"640x720p\", \"720x576p\", \"704x576p\", \"544x576p\", \"528x576p\", \"480x576p\", \"352x576p\", \"720x480p\", \"704x480p\", \"640x480p\", \"544x480p\", \"528x480p\", \"480x480p\", \"352x480p\", \"352x288p\", \"320x240p\", \"192x192p\", \"176x144p\", \"176x120p\", \"128x96p\", \"96x96p\"]} : self.codec == \"Unsynced\" ? {} : self.codec in [\"HEVCMain\", \"HEVCMain10bit\", \"HEVCMain422\", \"HEVCMain10bit422\"] ? {\"enum\": [\"3840x2160p\", \"1920x1080p\", \"1920x1080i\", \"1440x1080p\", \"1440x1080i\", \"1280x1080p\", \"1280x1080i\", \"960x1080p\", \"960x1080i\", \"1280x720p\", \"960x720p\", \"854x720p\", \"848x720p\", \"640x720p\", \"720x576p\", \"720x576i\", \"704x576p\", \"704x576i\", \"544x576p\", \"544x576i\", \"528x576p\", \"528x576i\", \"480x576p\", \"480x576i\", \"352x576p\", \"352x576i\", \"720x480p\", \"720x480i\", \"704x480p\", \"704x480i\", \"640x480p\", \"640x480i\", \"544x480p\", \"544x480i\", \"528x480p\", \"528x480i\", \"480x480p\", \"480x480i\", \"352x480p\", \"352x480i\", \"352x288p\", \"320x240p\", \"192x192p\", \"176x144p\", \"176x120p\", \"128x96p\", \"96x96p\"]} : self.codec in [\"H264Main\", \"H264High\", \"H264High422\", \"H264High10bit\", \"H264High10bit422\", \"H264Baseline\"] ? {\"enum\": [\"1920x1080p\", \"1920x1080i\", \"1440x1080p\", \"1440x1080i\", \"1280x1080p\", \"1280x1080i\", \"960x1080p\", \"960x1080i\", \"1280x720p\", \"960x720p\", \"854x720p\", \"848x720p\", \"640x720p\", \"720x576p\", \"720x576i\", \"704x576p\", \"704x576i\", \"544x576p\", \"544x576i\", \"528x576p\", \"528x576i\", \"480x576p\", \"480x576i\", \"352x576p\", \"352x576i\", \"720x480p\", \"720x480i\", \"704x480p\", \"704x480i\", \"640x480p\", \"640x480i\", \"544x480p\", \"544x480i\", \"528x480p\", \"528x480i\", \"480x480p\", \"480x480i\", \"352x480p\", \"352x480i\", \"352x288p\", \"320x240p\", \"192x192p\", \"176x144p\", \"176x120p\", \"128x96p\", \"96x96p\"]} : self.codec in [\"MPEG2\", \"MPEG2422\"] ? {\"enum\": [\"1920x1080i\", \"1440x1080i\", \"1280x1080i\", \"960x1080i\", \"1280x720p\", \"960x720p\", \"854x720p\", \"848x720p\", \"640x720p\", \"720x576i\", \"704x576i\", \"544x576i\", \"528x576i\", \"480x576i\", \"352x576i\", \"720x480i\", \"704x480i\", \"640x480i\", \"544x480i\", \"528x480i\", \"480x480i\", \"352x480i\", \"352x288p\", \"320x240p\", \"192x192p\", \"176x144p\", \"176x120p\", \"128x96p\", \"96x96p\"]} : self.codec in [\"JPEGXS\", \"JPEGXS10bit\"] ? {\"enum\": [\"3840x2160p\", \"1920x1080p\", \"1440x1080p\", \"1280x1080p\", \"960x1080p\", \"1280x720p\", \"960x720p\", \"854x720p\", \"848x720p\", \"640x720p\", \"720x576p\", \"704x576p\", \"544x576p\", \"528x576p\", \"480x576p\", \"352x576p\", \"720x480p\", \"704x480p\", \"640x480p\", \"544x480p\", \"528x480p\", \"480x480p\", \"352x480p\", \"352x288p\", \"320x240p\", \"192x192p\", \"176x144p\", \"176x120p\", \"128x96p\", \"96x96p\"]} : {}"
},
"bitrate": {
"type": "integer",
"maximum": 60000000,
"minimum": 100000,
"title": "Bitrate",
"default": 6000000
},
"frameRate": {
"anyOf": [
{
"$ref": "#/components/schemas/FrameRate"
},
{
"type": "null"
}
],
"default": "TrueMotion",
"x-dyn-deps": [
"spec.type"
],
"x-dyn-on-invalid": "error",
"x-dyn-rule-cel": "spec.type == \"EncodingStreaming\" ? {\"x-required\": true} : {\"x-omit\": true}"
}
},
"type": "object",
"required": [
"codec",
"videoFormat",
"bitrate"
],
"title": "VideoEncoding"
},
"VideoFormat": {
"type": "string",
"enum": [
"Unsynced",
"3840x2160p",
"1920x1080p",
"1920x1080i",
"1440x1080p",
"1440x1080i",
"1280x1080p",
"1280x1080i",
"960x1080p",
"960x1080i",
"1280x720p",
"960x720p",
"854x720p",
"848x720p",
"640x720p",
"720x576p",
"720x576i",
"704x576p",
"704x576i",
"544x576p",
"544x576i",
"528x576p",
"528x576i",
"480x576p",
"480x576i",
"352x576p",
"352x576i",
"720x480p",
"720x480i",
"704x480p",
"704x480i",
"640x480p",
"640x480i",
"544x480p",
"544x480i",
"528x480p",
"528x480i",
"480x480p",
"480x480i",
"352x480p",
"352x480i",
"352x288p",
"320x240p",
"192x192p",
"176x144p",
"176x120p",
"128x96p",
"96x96p"
],
"title": "VideoFormat",
"x-enum-varnames": [
"Unsynced",
"3840x2160p",
"1920x1080p",
"1920x1080i",
"1440x1080p",
"1440x1080i",
"1280x1080p",
"1280x1080i",
"960x1080p",
"960x1080i",
"1280x720p",
"960x720p",
"854x720p",
"848x720p",
"640x720p",
"720x576p",
"720x576i",
"704x576p",
"704x576i",
"544x576p",
"544x576i",
"528x576p",
"528x576i",
"480x576p",
"480x576i",
"352x576p",
"352x576i",
"720x480p",
"720x480i",
"704x480p",
"704x480i",
"640x480p",
"640x480i",
"544x480p",
"544x480i",
"528x480p",
"528x480i",
"480x480p",
"480x480i",
"352x480p",
"352x480i",
"352x288p",
"320x240p",
"192x192p",
"176x144p",
"176x120p",
"128x96p",
"96x96p"
]
},
"VideoScaling": {
"type": "string",
"enum": [
"Unsynced",
"None",
"1080i"
],
"title": "VideoScaling",
"x-enum-varnames": [
"Unsynced",
"None",
"1080i"
]
}
}
},
"servers": [
{
"url": "/ui/connectors/channels-api/latest"
}
]
}