Stream Provisioning
- Create Stream Provision
- List Stream Provisions
- Read Stream Provision
- Read Stream Provision Fragment
- Update Stream Provision
- Delete Stream Provision
Create Stream Provision
Description
Create a new stream provision for a given Stream and Scope; returns the newly created provision data.
REQUEST
- URI:
http://{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>
- Method: POST
- DATA:
{
"meta": {
"authentication": {
"username": "<username>",
"password": "<password>"
},
"stream": [
{
"name": "<variant_name>",
"bandwidth": "<variant_bitrate>",
"level": "<variant_level>",
"properties": {}
}
],
"georules": {
"regions": [
"<location_name>"
],
"restricted": "<restriction_status>"
},
"qos": "<QOS-Constant-Index>"
}
}
RESPONSE
- Success: HTTP CODE
200
- DATA:
{
"name": "<streamName>",
"scope": "<scopeName>",
"data": {
"meta": {
"authentication": {
"username": "<username>",
"password": "<password>"
},
"stream": [
{
"name": "<variant_name>",
"bandwidth": <variant_bitrate>,
"level": <variant_level>,
"properties": {}
}
],
"georules": {
"regions": [
"<location_name>"
],
"restricted": "<restriction_status>"
},
"qos": <QOS-Constant-Index>
}
},
"updated": <updated-timestamp>
}
- Failure: HTTP CODE 400 or 404
- Data:
{
"errorMessage": "<error-message-string>",
"timestamp": <error-timestamp>
}
Example
REQUEST URI: https://streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123
- Method: POST
- Data: JSON
{
"meta": {
"authentication": {
"username": "acme",
"password": "acme!newpass"
},
"stream": [{
"name": "stream1_3",
"bandwidth": 200000,
"level": 3,
"properties": {
"videoWidth": 320,
"videoHeight": 240,
"videoFPS": 15,
}
},
{
"name": "stream1_2",
"bandwidth": 500000,
"level": 2,
"properties": {
"videoWidth": 640,
"videoHeight": 480,
"videoFPS": 30,
}
},
{
"name": "stream1_1",
"bandwidth": 750000,
"level": 1,
"properties": {
"videoWidth": 800,
"videoHeight": 600,
"videoFPS": 30,
}
}
],
"georules": {
"regions": [
"US",
"UK"
],
"restricted": "false"
},
"qos": 3
}
}
RESPONSE
- Success: HTTP CODE 201
- Data:
{
"name": "stream1",
"scope": "live",
"data": {
"meta": {
"authentication": {
"username": "acme",
"password": "acme!newpass"
},
"stream": [
{
"name": "stream1_3",
"bandwidth": 200000,
"level": 3,
"properties": {
"videoWidth": 320,
"videoHeight": 240,
"videoFPS": 15,
}
},
{
"name": "stream1_2",
"bandwidth": 500000,
"level": 2,
"properties": {
"videoWidth": 640,
"videoHeight": 480,
"videoFPS": 30,
}
},
{
"name": "stream1_1",
"bandwidth": 750000,
"level": 1,
"properties": {
"videoWidth": 800,
"videoHeight": 600,
"videoFPS": 30,
}
],
"georules": {
"regions": [
"US",
"UK"
],
"restricted": "false"
},
"qos": 3
}
},
"updated": 1520946314644
}
List Stream Provisions
DESCRIPTION:
Lists the streams that are provisioned through the Stream Manager.
- URI:
http://{host}:{port}/streammanager/api/3.1/admin/event/meta/?accessToken=<accessToken>
METHOD: GET
RESPONSE
- Failure: HTTP CODE 400 or 404
- Data:
{
"errorMessage": "<error-message-string>",
"timestamp": <error-timestamp>
}
SUCCESS
CODE: 200
DATA:
{
"name": "<streamName>",
"scope": "<scopeName>",
"data": {
"meta": {
"authentication": {
"username": "<username>",
"password": "<password>"
},
"stream": [
{
"name": "<variant_name>",
"level": <variant_level>,
"bandwidth": <variant_bitrate>,
"properties": {}
}
],
"georules": {
"regions": [
"<location_name>"
],
"restricted": "<restriction_status>"
},
"qos": <QOS-Constant-Index>
}
},
"updated": <updated-timestamp>
}
Example: Lists the provisioned streams
REQUEST URI: https://streammanager.url.com/streammanager/api/3.1/admin/event/meta?accessToken=xyz123
Method: GET
RESPONSE
- Success: HTTP CODE 201
- Data:
{
"name": "stream1",
"scope": "live",
"data": {
"meta": {
"authentication": {
"username": "acme",
"password": "acme!newpass"
},
"stream": [
{
"name": "stream1_1",
"bandwidth": 25000,
"level": 3,
"properties": {}
},
{
"name": "stream1_2",
"bandwidth": 37500,
"level": 2,
"properties": {}
},
{
"name": "stream1_3",
"bandwidth": 62500,
"level": 1,
"properties": {}
}
],
"georules": {
"regions": [
"US",
"UK"
],
"restricted": "false"
},
"qos": 3
}
},
"updated": 1520946314644
}
Read Stream Provision
DESCRIPTION:
Reads and returns a stream provision from Stream Manager data store for a given Stream and Scope.
- URI:
http://{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>
METHOD: GET
RESPONSE
- Failure: HTTP CODE 400 or 404
- Data:
{
"errorMessage": "<error-message-string>",
"timestamp": <error-timestamp>
}
SUCCESS
CODE: 200
DATA:
{
"name": "<streamName>",
"scope": "<scopeName>",
"data": {
"meta": {
"authentication": {
"username": "<username>",
"password": "<password>"
},
"stream": [
{
"name": "<variant_name>",
"bandwidth": <variant_bitrate>,
"level": <variant_level>,
"properties": {}
}
],
"georules": {
"regions": [
"<location_name>"
],
"restricted": "<restriction_status>"
},
"qos": <QOS-Constant-Index>
}
},
"updated": <updated-timestamp>
}
Example: Reads a stream provision data from store
REQUEST URI: https://streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123
Method: GET
RESPONSE
- Success: HTTP CODE 201
- Data:
{
"name": "stream1",
"scope": "live",
"data": {
"meta": {
"authentication": {
"username": "acme",
"password": "acme!newpass"
},
"stream": [
{
"name": "stream1_1",
"bandwidth": 25000,
"level": 3,
"properties": {}
},
{
"name": "stream1_2",
"bandwidth": 37500,
"level": 2,
"properties": {}
},
{
"name": "stream1_3",
"bandwidth": 62500,
"level": 1,
"properties": {}
}
],
"georules": {
"regions": [
"US",
"UK"
],
"restricted": "false"
},
"qos": 3
}
},
"updated": 1520946314644
}
Read Stream Provision Fragment
Description
Reads and returns a part of the stream provision from Stream Manager data store for a given Stream and Scope by a specified meta ‘key’.
NOTE: The property targeted by the key
parameter must exist at the root level, ie: under the meta
object.
URI: http://{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>&key=<metaKey>
-
Method: GET
-
Parameters:
Parameter | Description | Value |
---|---|---|
key | Name of a property to be read. This property should exist under the root object meta |
A property name string |
RESPONSE
- Failure: HTTP CODE 400 or 404
- Data:
{
"errorMessage": "<error-message-string>",
"timestamp": <error-timestamp>
}
SUCCESS
- CODE: 200
- DATA:
{
"name": "<streamName>",
"scope": "<scopeName>",
"data": {
"<key>": {
<data>
},
"updated": <updated-timestamp>
}
Example: Reading global authentication information
URI: https://streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123&key=authentication
Method: GET
RESPONSE
- Success: HTTP CODE 201
- Data:
{
"name": "stream1",
"scope": "live",
"data": {
"authentication": {
"username": "acme",
"password": "acme!newpass"
}
},
"updated": 1520946314644
}
Update Stream Provision
DESCRIPTION
Updates a provision in the Stream Manager data store for a given Stream and Scope with new data and returns the updated provision.
- URI:
http://{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>
- METHOD: PUT
- DATA:
{
"meta": {
"authentication": {
"username": "<username>",
"password": "<password>"
},
"stream": [
{
"name": "<variant_name>",
"bandwidth": <variant_bitrate>,
"level": <variant_level>,
"properties": {}
}
],
"georules": {
"regions": [
"<location_name>"
],
"restricted": "<restriction_status>"
},
"qos": <QOS-Constant-Index>
}
}
RESPONSE
- Failure: HTTP CODE 400 or 404
- Data:
{
"errorMessage": "<error-message-string>",
"timestamp": <error-timestamp>
}
SUCCESS
- CODE: 200
- DATA:
{
"name": "<streamName>",
"scope": "<scopeName>",
"data": {
"meta": {
"authentication": {
"username": "<username",
"password": "<password>"
},
"stream": [
{
"name": "<variant_name>",
"bandwidth": <variant_bitrate>,
"level": <variant_level>,
"properties": {}
}
],
"georules": {
"regions": [
"<location_name>"
],
"restricted": "<restriction_status>"
},
"qos": <QOS-Constant-Index>
}
},
"updated": <updated-timestamp>
}
Example: Updating authentication password and inverting georule restriction status
- URI:
https://streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123
- Method: PUT
- Data: JSON
{
"meta": {
"authentication": {
"username": "acme",
"password": "acme!diffpass"
},
"stream": [{
"name": "stream1_1",
"bandwidth": 25000,
"level": 3,
"properties": {
}
},
{
"name": "stream1_2",
"bandwidth": 37500,
"level": 2,
"properties": {
}
},
{
"name": "stream1_3",
"bandwidth": 62500,
"level": 1,
"properties": {
}
}
],
"georules": {
"regions": [
"US",
"UK"
],
"restricted": "true"
},
"qos": 3
}
}
RESPONSE
- Success: HTTP CODE 201
- Data:
{
"name": "stream1",
"scope": "live",
"data": {
"meta": {
"authentication": {
"username": "acme",
"password": "acme!diffpass"
},
"stream": [
{
"name": "stream1_1",
"bandwidth": 25000,
"level": 3,
"properties": {}
},
{
"name": "stream1_2",
"bandwidth": 37500,
"level": 2,
"properties": {}
},
{
"name": "stream1_3",
"bandwidth": 62500,
"level": 1,
"properties": {}
}
],
"georules": {
"regions": [
"US",
"UK"
],
"restricted": "true"
},
"qos": 3
}
},
"updated": 1520947709222
}
Delete Stream Provision
DESCRIPTION
Deletes a stream provision from Stream Manager data store by a given Stream and Scope and returns the deleted provision data.
- URI:
http://{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>
- METHOD: DELETE
RESPONSE
- Failure: HTTP CODE 400 or 404
- Data:
{
"errorMessage": "<error-message-string>",
"timestamp": <error-timestamp>
}
SUCCESS
- CODE: 200
- DATA:
{
"name": "<streamName>",
"scope": "<scopeName>",
"data": {
"meta": {
"authentication": {
"username": "<username",
"password": "<password>"
},
"stream": [
{
"name": "<variant_name>",
"bandwidth": <variant_bitrate>,
"level": <variant_level>,
"properties": {}
}
],
"georules": {
"regions": [
"<location_name>"
],
"restricted": "<restriction_status>"
},
"qos": <QOS-Constant-Index>
}
},
"updated": <updated-timestamp>
}
Example: Deletes the stream provision created earlier
- URI:
https://streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123
- Method: DELETE
RESPONSE
- Success: HTTP CODE 201
- Data:
{
"name": "stream1",
"scope": "live",
"data": {
"meta": {
"authentication": {
"username": "acme",
"password": "acme!newpass"
},
"stream": [
{
"name": "stream1_1",
"bandwidth": 25000,
"level": 3,
"properties": {}
},
{
"name": "stream1_2",
"bandwidth": 37500,
"level": 2,
"properties": {}
},
{
"name": "stream1_3",
"bandwidth": 62500,
"level": 1,
"properties": {}
}
],
"georules": {
"regions": [
"US",
"UK"
],
"restricted": "false"
},
"qos": 3
}
},
"updated": 1520947709222
}