This is the multi-page printable view of this section. Click here to print.
Payloads
Payloads documentation.
1 - ClientInfo
Contains information about the client’s capabilities.
{
"name": "Play:1",
"platform": "Sonos",
"maxAudioBitrate": 512000,
"maxTranscodingAudioBitrate": 256000,
"directPlayProfiles": [
{
"containers": [ "mp3" ],
"audioCodecs": [ "mp3" ],
"protocols": [ "http" ],
"maxAudioChannels": 2
},
{
"containers": [ "flac" ],
"audioCodecs": [ "flac" ],
"protocols": [],
"maxAudioChannels": 2
}
,
{
"containers": [ "mp4" ],
"audioCodecs": [ "flac", "aac", "alac" ],
"protocols": [],
"maxAudioChannels": 2
}
],
"transcodingProfiles": [
{
"containers": "mp3",
"audioCodecs": "mp3",
"protocols": "http",
"maxAudioChannels": 2
},
{
"containers": "flac",
"audioCodecs": "flac",
"protocols": "*",
"maxAudioChannels": 2
}
],
"codecProfiles": [
{
"type": "AudioCodec",
"name": "mp3",
"limitations": [
{ "name": "audioBitrate", "comparison": "LessThanEqual", "values": [ "320000" ], "required": true }
]
},
{
"type": "AudioCodec",
"name": "flac",
"limitations": [
{ "name": "audioSamplerate", "comparison": "LessThanEqual", "values": [ "192000" ], "required": false },
{ "name": "audioChannels", "comparison": "Equals", "values": ["1", "2" ], "required": false }
]
}
]
}| Field | Type | Req. | OpenS. | Details |
|---|---|---|---|---|
name | string | Yes | Yes | The name of the client device. |
platform | string | Yes | Yes | The platform of the client (e.g., Android, iOS). |
maxAudioBitrate | integer | No | Yes | The maximum audio bitrate the client can handle. 0 or missing means no limitation. |
maxTranscodingAudioBitrate | integer | No | Yes | The maximum audio bitrate for transcoded content. 0 or missing means no limitation. |
directPlayProfiles | DirectPlayProfile[] | No | Yes | A list of profiles for direct playback. |
transcodingProfiles | TranscodingProfile[] | No | Yes | A list of profiles for transcoding. The server should evaluate these in the order they are listed, as a priority list. |
codecProfiles | CodecProfile[] | No | Yes | A list of codec-specific profiles. |
2 - CodecProfile
Defines a codec profile with optional limitations.
{
"type": "AudioCodec",
"name": "mp3",
"limitations": [
{ "name": "audioBitrate", "comparison": "LessThanEqual", "value": "320000", "required": true }
]
}| Field | Type | Req. | OpenS. | Details |
|---|---|---|---|---|
type | string | Yes | Yes | The type of codec profile. Currently only AudioCodec is supported. |
name | string | Yes | Yes | The name of the codec (e.g., mp3, flac). Only a single value is accepted. |
limitations | Limitation[] | No | Yes | A list of limitations for this codec. |
3 - DirectPlayProfile
Defines a direct play profile.
{
"containers": [ "mp4" ],
"audioCodecs": [ "aac", "alac" ],
"protocols": [ "http" ],
"maxAudioChannels": 2
}| Field | Type | Req. | OpenS. | Details |
|---|---|---|---|---|
containers | Array of string | Yes | Yes | List of supported container format (e.g., mp3, flac, mp4). An empty array means any container. |
audioCodecs | Array of string | Yes | Yes | List of supported audio codecs. An empty array means any codec. |
protocols | Array of string | Yes | Yes | The streaming protocols. Supported values are http, hls. |
maxAudioChannels | integer | No | Yes | The maximum number of audio channels supported. |
4 - Limitation
Defines a limitation for a codec profile.
{
"name": "audioSamplerate",
"comparison": "Equals",
"values": [ "44100", "48000" ],
"required": true
}| Field | Type | Req. | OpenS. | Details |
|---|---|---|---|---|
name | string | Yes | The name of the limitation. Can be audioChannels, audioBitrate, audioProfile, audioSamplerate, or audioBitdepth. | |
comparison | string | Yes | The comparison operator. Can be Equals, NotEquals, LessThanEqual, GreaterThanEqual. | |
values | string | Yes | The values to compare against. For LessThanEqual and GreaterThanEqual, only the first value will be used. | |
required | boolean | Yes | Whether this limitation must be met. |
5 - TranscodingProfile
Defines a transcoding profile.
{
"container": "mp3",
"audioCodec": "mp3",
"protocol": "http",
"maxAudioChannels": 2
}| Field | Type | Req. | OpenS. | Details |
|---|---|---|---|---|
container | string | Yes | Yes | The container format (e.g., mp3, flac). |
audioCodec | string | Yes | Yes | The target audio codec for transcoding. |
protocol | string | Yes | Yes | The streaming protocol. Can be http or hls. |
maxAudioChannels | integer | No | Yes | The maximum number of audio channels for the transcoded stream. |