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
metais the top level object for a stream provision. Stream properties such asauthentication,georulesorqoswhich exist at this level are treated asglobal. Ie, they are automatically copied over to each stream variant unless an override exists.- Individual
streamobjects can include additional custom properties. The json is not validated for custom property names, thus making it flexible for new properties to be added. bandwidthproperty is optional. Streams are validated by the value of theirlevelattribute. Higher quality stream variant should specify a lower value for thelevelattribute. Level values start from 1.- Stream
propertiesis an optional placeholder to help the provisioner to specify any optional data for a variant. It may also contain its ownauthentication,georulesorqosobject. This can be used to override themaster authentication,georulesandqosobject definitions specified at top level directly under themetaobject.
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
}
}