Red5 Pro Stream Manager REST API v1.0 (deprecated)

Note: with Red5 Pro Server Release Version 2.1.0, there is an udpated Stream Manager API. Please refer to > Red5 Pro Stream Manager API v2.0 for the correct API calls if you are running server v2.1.0 or greater.

If you are running Stream Manager with Red5 Pro Server Version 2.0.5 or earlier, then the following API v1.0 calls are to be used.

Red5 Pro Stream Manager is a streaming architecture management and information service which helps you automate the process of creating and deleting Red5 Pro instances. Stream Manager also coordinates between broadcasters and subscribers to help them find the correct servers for their broadcast and subscribe action, respectively.

Stream Manager provides you with accurate stream statistic over simple HTTP based REST api calls, once stream publishing has started for the stream.


The following documents also refer to autoscaling and the Red5 Pro Stream Manager:

> Autoscaling Streams with Red5 Pro

> Red5 Pro Stream Manager User Guide


Getting Started

Red5 Pro Stream Manager REST API calls can be executed using any standard REST client.

For this section we will be using Google Chrome Add-On: Postman REST client. You need to have the latest Chrome Browser installed on your computer to install the Add-On.


Given below are examples on using POST, GET and DELETE type REST operations using the Postman REST client. These are the three type of operations that you will come across while using the Stream Manager REST API.

Note: In examples, the URL pattern of {host} will refer to the Stream Manager IP/hostname and {port} will be 5080, the default port for Red5.

Making POST API Calls

To make a POST REST call using the Postman REST client:

  1. Enter your URL in the URL text field
  2. Select POST from methods list on the left-hand side of URL text field
  3. If you have any accompanying data:
    • Select Body tab and select raw option
    • Select JSON (application/json) in the drop down selector next to the raw option
    • Paste the desired JSON data into the text area exposed on selecting raw
  4. Click Send to execute your API call

REST API POST Exmaple


Making GET API Calls

To make a GET REST call using the Postman REST client:

  1. Enter your URL in the URL text field
  2. Select GET from methods list on the left-hand side of URL text field
  3. Click Send to execute your API call

REST API GET Exmaple


Making DELETE API Calls

To make a DELETE REST call using the Postman REST client:

  • Enter your URL in the URL text field
  • Select DELETE from methods list on the left-hand side of URL text field
  • Click Send to execute your api call

REST API DELETE Exmaple


REST API for Groups

Create Group

Description

Create a new node group.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup?accessToken=<accessToken>
  • Method: POST
  • Data: JSON
      {
       "regions": [
         "<region-code>",
       ],
       "launchConfig": "<launch-config-name>",
       "scalePolicy": "<scale-policy-name>"
      }
    

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data:

      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 201

  • Data:
      {
        "id": <autogen-group-id>,
        "name": "<autogen-group-name>",
        "regions": [
          "<egion-code>","
        ],
        "launchConfig": "<launch-config-name>",
        "scalePolicy": "<scale-policy-name>",
        "timestamp": <timestamp>
      }
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup?accessToken=xyz123
  • Method: POST
  • Data : JSON
      {
       "regions": [
         "us-west-2"
       ],
       "launchConfig": "default",
       "scalePolicy": "default"
      }
    

RESPONSE

  • Success: HTTP CODE 201
  • Data:
      {
        "id": 36,
        "name": "group-bbcc379d-57ed-4649-ac68-9f3365dea59f",
        "originConnections": 0,
        "regions": [
          "us-west-2"
        ],
        "launchConfig": "default",
        "scalePolicy": "default",
        "timestamp": 1463514107313
      }
    

baseCapacity

Minimum subscriber connections that this group should support. This parameter helps the scale-in process decide when to scale down an edge. This should be based on the connectionCapacity that you define for new instances in the launchconfig policy file.

For example: If your connectionCapacity for an edge is set to 1000, and you anticipate that your active concurrent connections are generally going to exceed 2000, then you will want to set this to 2000 to ensure there are always at least two active edges in your group.

originConnections

Minimum connections at origin. This should always be zero (0) for the current version of Stream Manager.

regions

The compute zones where you would like the edges to be created. Stream Manager usually lets the Autoscaler use this list in a round-robin style. You can find a list of zones to use on official Google Cloud documentation page: https://cloud.google.com/compute/docs/zones?hl=en

launchConfig

Name of the launch configuration to be used for launching a new instance. Usually this implies the consistent machine configuration for a group. A launch configuration defines your compute machine type, max connections, etc. for an instance.

scalePolicy

Name of the scale policy to be used by Autoscaler to launch new edges when load conditions occur. A scale policy defines details such as min-max edges allowed, instances warm up time, cooldown period, etc.


Read Group

Description

Reads a node group.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/<groupName>?accessToken=<accessToken>
  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data:
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200
  • Data:
      {
        "id": <autogen-group-id>,
        "name": "<autogen-group-name>",
        "region": [
          "<compute-region-code>"
        ],
        "launchConfig": "<launch-config-name>",
        "scalePolicy": "<scale-policy-name>",
        "timestamp": <timestamp>
      }
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/cluster-d2f6aade-c6eb-4b92-b056-3f3a9f99b96f?accessToken=xyz123
  • Method : GET

RESPONSE

  • Success: HTTP CODE 200
  • Data:
      {
        "id": 2,
        "name": "cluster-d2f6aade-c6eb-4b92-b056-3f3a9f99b96f",
        "baseCapacity": 100,
        "originConnections": 0,
        "regions": [
          "us-central1-a",
          "us-central1-f"
        ],
        "launchConfig": "default",
        "scalePolicy": "default",
        "timestamp": 1452595891000
      }
    

Delete Group

Description

Deletes a node group. If the group has no nodes in it then it is deleted right away, otherwise all the nodes of the group are deleted in a background separately and then the group itself is deleted once it is empty.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/<groupName>?accessToken=<accessToken>
  • Method: DELETE

RESPONSE

  • FAILURE: HTTP CODE 400 or 404
  • Data :
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200
  • Data:
      {
        "id": <autogen-group-id>,
        "name": "<autogen-group-name>",
        "baseCapacity": <group-min-connections>,
        "originConnections": <min-origin-connections>,
        "regions": [
          "<compute-region-code>",
          "<compute-region-code>"
        ],
        "launchConfig": "<launch-config-name>",
        "scalePolicy": "<scale-policy-name>",
        "timestamp": <timestamp>
      }
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/cluster-d2f6aade-c6eb-4b92-b056-3f3a9f99b96f?accessToken=xyz123
  • Method: DELETE

RESPONSE

  • Success: HTTP CODE 200
  • Data:
      {
        "id": 2,
        "name": "cluster-d2f6aade-c6eb-4b92-b056-3f3a9f99b96f",
        "baseCapacity": 100,
        "originConnections": 0,
        "regions": [
          "us-central1-a",
          "us-central1-f"
        ],
        "launchConfig": "default",
        "scalePolicy": "default",
        "timestamp": 1452595891000
      }
    

List Groups

Description

List all available groups in the system.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup?accessToken=<accessToken>
  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data:
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200
  • Data:
      [
      {
        "id": <autogen-group-id>,
        "name": "<autogen-group-name>",
        "baseCapacity": <group-min-connections>,
        "originConnections": <min-origin-connections>,
        "regions": [
          "<compute-region-code>",
          "<compute-region-code>"
        ],
        "launchConfig": "<launch-config-name>",
        "scalePolicy": "<scale-policy-name>",
        "timestamp": <timestamp>
      }
      ]
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup?accessToken=xyz123
  • Method: GET

RESPONSE

  • Success: HTTP CODE 200
  • Data:
      [
        {
          "id": 3,
          "name": "cluster-e658a196-cb39-411a-86c1-d1e618222100",
          "baseCapacity": 100,
          "originConnections": 0,
          "regions": [
            "us-central1-a",
            "us-central1-f"
          ],
          "launchConfig": "default",
          "scalePolicy": "default",
          "timestamp": null
        },
        {
          "id": 4,
          "name": "cluster-51921df1-d68e-4fee-8332-6dbdf7102e47",
          "baseCapacity": 200,
          "originConnections": 0,
          "regions": [
            "us-central1-a",
            "us-central1-f"
          ],
          "launchConfig": "default",
          "scalePolicy": "default",
          "timestamp": null
        }
      ]
    

List Group Nodes

Description

List all nodes in a group and their status. The different statuses for a node are:

  • pending (stream manager has contacted the cloud service to start an instance)
  • running (instance has been launched, and services are starting up)
  • inservice (node is active and available for streaming)
  • terminating (node is being deactivated)

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/{groupName}/node?accessToken=<accessToken>
  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • DATA:
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200
  • Data:
      [
       {
          "identifier": "<node-identifier>",
          "role": "<role>",
          "region": "<compute-region-code",
          "adddress": "<host>",
          "state": "<node-state>",
          "launchConfigurationName": "<launch-config-name>",
          "capacity": <connection-capacity>
        }
      ]
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/cluster-8bcc96ed-b7e5-4044-b797-1bc93d5f0be4/node?accessToken=xyz123
  • Method: GET

RESPONSE

  • Success: HTTP CODE 200
  • Data:
      [
        {
          "identifier": "node-us-central1-a-1452586832022",
          "role": "origin",
          "region": "us-central1-a",
          "adddress": "104.197.131.87",
          "state": "inservice",
          "launchConfigurationName": "default",
          "capacity": 1500
        },
        {
          "identifier": "node-us-central1-a-1452587484090",
          "role": "edge",
          "region": "us-central1-a",
          "adddress": "104.197.138.228",
          "state": "inservice",
          "launchConfigurationName": "default",
          "capacity": 500
        }
        ]
    

List Group Origins

Description

List all origin nodes in a group.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/{groupName}/node/origin?accessToken=<accessToken>
  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • DATA:
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200
  • DATA:
      [
       {
          "identifier": "<node-identifier>",
          "role": "<role>",
          "region": "<compute-region-code",
          "adddress": "<host>",
          "state": "<node-state>",
          "launchConfigurationName": "<launch-config-name>",
          "capacity": <connection-capacity>
        }
      ]
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/cluster-8bcc96ed-b7e5-4044-b797-1bc93d5f0be4/node/origin?accessToken=xyz123
  • Method: GET

RESPONSE

  • Success: HTTP CODE 200
  • DATA:
      [
        {
          "identifier": "node-us-central1-a-1452586832022",
          "role": "origin",
          "region": "us-central1-a",
          "adddress": "104.197.131.87",
          "state": "inservice",
          "launchConfigurationName": "default",
          "capacity": 1500
        }
      ]
    

List Group Edges

Description

List all edge nodes in a group.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/{groupName}/node/edge?accessToken=<accessToken>
  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data:
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200
  • Data:
      [
       {
          "identifier": "<node-identifier>",
          "role": "<role>",
          "region": "<compute-region-code",
          "adddress": "<host>",
          "state": "<node-state>",
          "launchConfigurationName": "<launch-config-name>",
          "capacity": <connection-capacity>
        }
      ]
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/cluster-8bcc96ed-b7e5-4044-b797-1bc93d5f0be4/node/edge?accessToken=xyz123
  • Method: GET

RESPONSE

  • Success: HTTP CODE 200
  • Data:
      [
        {
          "identifier": "node-us-central1-a-1452587484090",
          "role": "edge",
          "region": "us-central1-a",
          "adddress": "104.197.138.228",
          "state": "inservice",
          "launchConfigurationName": "default",
          "capacity": 500
        },
        {
          "identifier": "node-us-central1-f-1452587643929",
          "role": "edge",
          "region": "us-central1-f",
          "adddress": "104.197.234.171",
          "state": "inservice",
          "launchConfigurationName": "default",
          "capacity": 500
        }
      ]
    

Launch New Origin

Description

Launches a new origin node for a node group. Only one origin per group is permitted in this version of Red5 Pro Stream Manager. Launching a node on a Cloud Platform is a complex asynchronous process. The REST gateway will provide you a response as soon as it knows that the cloud platform has acknowledged the request.

The actual instance boot up may take up to 2 minutes or less (for Google Compute Platform).

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/{groupName}/node/origin?accessToken=<accessToken>
  • Method: POST

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data:
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 201
  • Data:
      {
        "id": <auto-gen-id>,
        "identifier": "<node-identifier>",
        "region": "<compute-region-code>",
        "role": "<role>",
        "group": "<group-identifier>",
        "requestTime": <timestamp>
      }
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/nodegroup/cluster-51921df1-d68e-4fee-8332-6dbdf7102e47/node/origin?accessToken=xyz123
  • Method: POST

RESPONSE

  • Success: HTTP CODE 201
  • Data:
      {
        "id": 6,
        "identifier": "node-us-central1-a-1452600712264",
        "region": "us-central1-a",
        "role": "origin",
        "group": "cluster-51921df1-d68e-4fee-8332-6dbdf7102e47",
        "requestTime": 1452600723615
      }
    

REST API for Nodes

Read Node

Description

Reads a node by its host address.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/node/<host-address>?accessToken=<accessToken>
  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data:
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200
  • Data:
       {
          "identifier": "<node-identifier>",
          "role": "<role>",
          "region": "<compute-region-code",
          "adddress": "<host>",
          "state": "<node-state>",
          "launchConfigurationName": "<launch-config-name>",
          "capacity": <connection-capacity>,
          "group": <group-identifier>
        }
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/node/104.197.138.228?accessToken=xyz123
  • Method: GET

RESPONSE

  • Success: HTTP CODE 200
  • Data:
      {
          "identifier": "node-us-central1-a-1452586832022",
          "role": "origin",
          "region": "us-central1-a",
          "adddress": "104.197.131.87",
          "state": "inservice",
          "launchConfigurationName": "default",
          "capacity": 1500,
          "group": "cluster-8bcc96ed-b7e5-4044-b797-1bc93d5f0be4"
        }
    

Terminate Node

Description

Terminates a node by its host address.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/node/<host-address>?accessToken=<accessToken>
  • Method: DELETE

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data:
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200
  • Data:
       {
          "identifier": "<node-identifier>",
          "role": "<role>",
          "region": "<compute-region-code>",
          "adddress": "<host>",
          "state": "<node-state>",
          "launchConfigurationName": "<launch-config-name>",
          "capacity": <connection-capacity>,
          "group": <group-identifier>
        }
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/admin/node/104.197.228.198?accessToken=xyz123
  • Method: DELETE

RESPONSE

  • Success: HTTP CODE 200
  • Data:
      {
          "identifier": "node-us-central1-a-1452586832022",
          "role": "origin",
          "region": "us-central1-a",
          "adddress": "104.197.228.198",
          "state": "inservice",
          "launchConfigurationName": "default",
          "capacity": 1500,
          "group": "cluster-8bcc96ed-b7e5-4044-b797-1bc93d5f0be4"
      }
    

REST API for Streams

Read Stream

Description

Reads an event stream from system. This read operation provides the client with an origin server address for the given stream name and scope.

  • For Broadcasters the Origin address is used to publish a stream
  • For Subscribers the Origin address helps in looking up a suitable edge address for the stream via Origin API gateway

If a stream is not publishing, a subscribe type request will result in a http code 400 or 404.

REQUEST

  • URL: Broadcaster

    http://{host}:{port}/streammanager/api/1.0/event/{scopeName}/{streamName}?action=broadcast

    Subscriber

    http://{host}:{port}/streammanager/api/1.0/event/{scopeName}/{streamName}?action=subscribe

  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • DATA:
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    

For Broadcaster (i.e., ?action=broadcast)

  • Success: HTTP CODE 200
  • DATA:
      {
        "name": "<stream-name>",
        "scope": "<stream-scope>",
        "serverAddress": "<origin-host-address>",
        "region": "<origin-compute-region-code>"
      }
    

For Subscriber (i.e., ?action=subscribe)

  • Success: HTTP CODE 200
  • DATA:
      {
        "name": "<stream-name>",
        "scope": "<stream-scope>",
        "serverAddress": "<edge-host-address>",
        "region": "<origin-compute-region-code>"
      }
    

Example 1.a - Broadcaster (?action=broadcast)

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/event/live/demo?action=broadcast
  • Method : GET

RESPONSE

  • Success: HTTP CODE 200
  • DATA:
      {
        "name": "demo",
        "scope": "/live",
        "serverAddress": "104.197.131.87",
        "region": "us-east-1"
      }
    

Example 1.b - Subscriber (?action=subscribe)

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/event/live/demo?action=subscribe
  • Method : GET

RESPONSE

  • Success: HTTP CODE 200
  • DATA:
      {
        "name": "demo",
        "scope": "/live",
        "serverAddress": "104.197.85.57",
        "region": "us-east-1"
      }
    

Read Stream With Stats

Description

Reads an event stream details from system.

This read operation provides the client with the details of the stream and stats on it.

If a stream is not publishing, this operation will result in a 400 or 404 HTTP code.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/event/{scopeName}/{streamName}/stats

  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data :
      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200
  • Data:
      {
        "name": "<stream-name>",
        "scope": "<stream-scope>",
        "serverAddress": "<origin-host-address>",
        "region": "<origin-compute-region-code>",
        "currentSubscribers": <subscriber-count>,
        "startTime": <start-timestamp>
      }
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/event/live/demo/stats
  • Method : GET

RESPONSE

  • Success: HTTP CODE 200
  • Data:
      {
        "name": "demo",
        "scope": "/live",
        "serverAddress": "104.197.131.87",
        "region": "us-east-1",
        "currentSubscribers": 0,
        "startTime": 1454369656708
      }
    

List Streams

Description

Reads all active streams the system.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/event/list
  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data:

      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200

  • Data:
      [
      {
        "name": "<stream-name>",
        "scope": "<stream-scope>",
        "serverAddress": "<origin-host-address>",
        "region": "<origin-compute-region-code>"
      }
      ]
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/event/list
  • Method : GET

RESPONSE

  • Success: HTTP CODE 200
  • Data:
      [
      {
        "name": "demo",
        "scope": "/live",
        "serverAddress": "104.197.131.87",
        "region": "us-east-1"
      }
      ]
    

List All Streams With Stats

Description

Lists all active streams in the system with stats.

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/event/list/stats
  • Method: GET

RESPONSE

  • Failure: HTTP CODE 400 or 404
  • Data:

      {
        "errorMessage": "<error-message-string>",
        "timestamp": <error-timestamp>
      }
    
  • Success: HTTP CODE 200

  • DATA:
      [
      {
        "name": "<stream-name>",
        "scope": "<stream-scope>",
        "serverAddress": "<origin-host-address>",
        "region": "<origin-compute-region-code>",
        "currentSubscribers": <subscriber-count>,
        "startTime": <start-timestamp>
      }
      ]
    

Example

REQUEST

  • URI: http://{host}:{port}/streammanager/api/1.0/event/list/stats
  • Method : GET

RESPONSE

  • Success: HTTP CODE 200
  • DATA:
      [
        {
          "name": "demo",
          "scope": "/live",
          "serverAddress": "104.197.131.87",
          "region": "us-east-1",
          "currentSubscribers": 0,
          "startTime": 0
        }
      ]
    

REST API Glossary

The following glossary explains the Request and Response Parameters provided in the examples above.

group-min-connections

Minimum subscriber connections that this group should support. This param helps the scale-in process decide when to scale down an edge.

min-origin-connections

Minimum connections at origin. This should always be zero (0) for the current version of Stream Manager.

launch-config-name

Name of the launch configuration to be used for launching a new instance. Usually this implies the consistent machine configuration for a group. A launch configuration defines your compute machine type, max connections, etc., for an instance.

scale-policy-name

Name of the scale policy to be used by Autoscaler to launch new edges when load conditions occur. A scale policy defines details such as min-max edges allowed, instances warm up time, cooldown period, etc.

stream-name

Name of the stream for publishing or subscription.

stream-scope

Red5 scope where the stream exists. This usually determined by the RTMP connection URL.

origin-host-address

Host address of an available Red5 Pro origin server.

stream-description

Description information about the stream (optional).

compute-region-code

Google Compute availability zone code - https://cloud.google.com/compute/docs/zones?hl=en#available).

origin-compute-region-code

Google Compute availability zone code for origin - https://cloud.google.com/compute/docs/zones?hl=en#available).

subscriber-count

Total active subscribers count for this stream.

start-timestamp

Stream start timestamp.

node-identifier

Unique Identifier of a node. Directly translates as compute instance name.

role

Role of the instance in the system: Origin or Edge.

host

Instance host name/address.

node-state

Instance state: RUNNING, TERMINATING, INSERVICE, PENDING, etc.

connection-capacity

Max connection capacity of this instance as per launch configuration information.

group-identifier

Group name identifier.

error-message-string

Human friendly error message string.

error-timestamp

Timestamp for when the error message was generated.


Additional Documentation

The following documents also refer to Autoscaling and the Red5 Pro Stream Manager:

> Autoscaling Streams with Red5 Pro

> Red5 Pro Stream Manager User Guide

> Red5 Pro Stream Manager API v2.0