Channel Profiles
Channel profiles represent sets of audio languages (or inputs) which are configured for an Event. This allows the VIS API to set audio languages on the Encoder during startup, making sure each input is labelled correctly.
Each Event will only have 1 profile, but it can contain multiple inputs.
Channel Profile Object
A Channel Profile will contain the following:
[
{
"id": "d9ab1b39-f08a-4f5a-badb-0a2a7faba164",
"audioInputs": [
{
"id": "c018bdad-ac0d-4505-b8a7-0117d3620fa7",
"languageCode": "bu",
"audioChannel": 1,
"audioEnabled": true
},
{
"id": "7698f22e-261e-4f5b-a606-277fc47ab418",
"languageCode": "fr",
"audioChannel": 2,
"audioEnabled": true
},
{
"id": "bd92d52a-d223-46b0-80f0-31642af06fbe",
"languageCode": "es",
"audioChannel": 3,
"audioEnabled": false
},
{
"id": "2bf86d10-b9f2-4d9e-9ac2-6c8e89fc622f",
"languageCode": "en",
"audioChannel": 4,
"audioEnabled": true
},
{
"id": "d4bd8b4b-b4b7-4960-be15-a3ff301b1974",
"languageCode": "de",
"audioChannel": 5,
"audioEnabled": false
},
{
"id": "8c6addbe-7805-42fd-adf9-a5e0d1bee5d2",
"languageCode": "po",
"audioChannel": 6,
"audioEnabled": false
}
]
}
]
Note: audio inputs are always returned ordered by audio channel from the VIS API.
Audio Inputs:
An Audio Input is comprised of the following:
ID: {guid} - the ID of the input.
LanguageCode: {string} - the language code of the input.
AudioChannel: {int} - the input number this refers to.
AudioEnabled: {bool} - whether or not the language should be available in the stream.
Restrictions:
The list of AudioInputs must specify unique languages and unique audio channels, else it will be rejected.
Supported Actions
POST /channelprofile/
Add a Channel Profile.
Request Body:
{
"EventId": "2b3400c3-a2a5-4b17-8b07-1a20ccd3785f",
"AudioInputs": [
{
"LanguageCode": "en",
"AudioChannel": 0,
"AudioEnabled": true
},
{
"LanguageCode": "fr",
"AudioChannel": 1,
"AudioEnabled": false
}
]
}
Response: 200 OK
or 400 Bad Request
if AudioInputs are rejected.
PUT /channelprofile/{id}
Update a Channel Profile by Id.
Request Body:
{
"AudioInputs": [
{
"LanguageCode": "en",
"AudioChannel": 0,
"AudioEnabled": true
},
{
"LanguageCode": "fr",
"AudioChannel": 1,
"AudioEnabled": false
}
]
}
Note: id
values of the AudioInputs are optional and will not change if omitted. Inputs are updated based on the AudioChannel value as well as by id
.
Response: 200 OK
or 400 Bad Request
if AudioInputs are incorrect.
PUT /channelprofile/event/{id}
Adds or Updates a Channel Profile by Event Id.
This request behaves the same as a normal update, but with a different route.
GET /channelprofile/
Get all Channel Profiles.
Query Parameters:
Name | Type | Required | Description |
---|---|---|---|
noCache | bool | No | Whether or not to bypass cache. Defaults to False. |
Response: 200 OK
and a JSON array containing multiple Channel Profile objects.
GET /channelprofile/{id}
Get a Channel Profile by Id.
Query Parameters:
Name | Type | Required | Description |
---|---|---|---|
noCache | bool | No | Whether or not to bypass cache. Defaults to False. |
Response: 200 OK
and JSON containing a Channel Profile object.
GET /channelprofile/event/{id}
Get a Channel Profile by Event Id.
Query Parameters:
Name | Type | Required | Description |
---|---|---|---|
noCache | bool | No | Whether or not to bypass cache. Defaults to False. |
Response:200 OK
and JSON containing a Channel Profile object.
GET /channelprofile/clone/
Clones a Channel Profile for a given Event Id to another Event Id.
Query Parameters:
Name | Type | Required | Description |
---|---|---|---|
sourceEventId | Guid | Yes | The source Event Id to copy from. |
targetEventId | Guid | Yes | The target Event Id to copy to. |
removeSource | bool | No | Whether or not to remove the Channel Profile from the source Event. Defaults to False. |
Response: 200 OK
DEL /channelprofile/{id}
Deletes a Channel Profile by Id.
Response: 200 OK
DEL /channelprofile/event/{id}
Deletes a Channel Profile for a given Event Id.
This request behaves the same as a normal deletion but with a different route.