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.