Parameters Index
Parameter | Description | Value Type |
---|---|---|
streamName | The name of the stream for which the data is being provisioned | Alphabetic string |
scopeName | The scopename of the stream for which the data is being provisioned | Alphabetic string |
meta | Top level object for provisioning data | NA |
authentication | Global object containing publisher credentials information for the stream | NA |
username | Username for publisher | Alphanumeric string |
password | Password for publisher | Alphanumeric string |
stream | Master object array with description of stream variants | NA |
stream=> name | Stream variant name | Alphabetic string |
stream=> bandwidth | Stream variant bitrate | Numeric value representing bitrate in bytes per second. This property is optional but can be useful if we need to provide bitrate information to a client, that is unable to guess the stream ‘level’. (Optional) |
stream=> level | Specifies the level for this variant. Higherbitrate streams must havelowerlevel number. Numbering starts from 1 onwards. This is used for abr switching. For a single stream the level should be 0. | Numeric positive integer |
stream=> properties | Additional stream properties holder object for a variant stream. You can override the Global‘authentication’,‘georule’and‘qos’settings by providing an alternate copy of the appropriate object that you need to override inside the‘properties’object. | NA |
georules | Master object containing geo restrictions information | NA |
georules => regions | An array of region / location identifiers | Alphanumeric String (supports hyphens) |
georules => restricted | Indicates whether the location identifiers are inclusive or exclusive | Boolean true/false |
qos | Network QOS value for the Stream | Qos value should represent the index of the QOS content intended. (See below) |
QOS Constants Index:
QOS Content | Index | Java Value |
---|---|---|
IPTOS_LOWCOST | 0 | 0x02 |
IPTOS_RELIABILITY | 0x04 | |
IPTOS_THROUGHPUT | 0x08 | |
IPTOS_LOWDELAY | 0x10 |
Additional Notes
meta
is the top level object for a stream provision. Stream properties such asauthentication
,georules
orqos
which exist at this level are treated asglobal
. Ie, they are automatically copied over to each stream variant unless an override exists.- Individual
stream
objects can include additional custom properties. The json is not validated for custom property names, thus making it flexible for new properties to be added. bandwidth
property is optional. Streams are validated by the value of theirlevel
attribute. Higher quality stream variant should specify a lower value for thelevel
attribute. Level values start from 1.- Stream
properties
is an optional placeholder to help the provisioner to specify any optional data for a variant. It may also contain its ownauthentication
,georules
orqos
object. This can be used to override themaster authentication
,georules
andqos
object definitions specified at top level directly under themeta
object.
Overriding Properties
Global properties can be overridden for a stream variant by specifying the same property in the ‘stream’ variant’s properties container.
EXAMPLE: The following example demonstrates how to specify a different ‘qos’ value for a particular stream variant by name ‘stream_3’.
- URI:
http://{host}:{port}/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123
- Method: POST
- Data: JSON
{
"meta": {
"authentication": {
"username": "acme",
"password": "acme!newpass"
},
"stream": [{
"name": "stream_1",
"bandwidth": 25000,
"level": 3,
"properties": {
}
},
{
"name": "stream_2",
"bandwidth": 37500,
"level": 2,
"properties": {
}
},
{
"name": "stream_3",
"bandwidth": 62500,
"level": 1,
"properties": {
"qos": 1
}
}
],
"georules": {
"regions": [
"US",
"UK"
],
"restricted": "false"
},
"qos": 3
}
}