Red5 Documentation

Stream Manager 2.0 NodeGroupConfig Examples

About NodeGroupConfig Examples

There are two main categories of examples. The first category is cluster topology, where each example demonstrates a particular arrangement of servers and server relationships. The second category consists of propertyOverrides examples to dynamically configure various features as Red5Pro servers are deployed. A third, miscellaneous category shows nodes-in-Docker and scheduled use cases.

Note that NodeGroupConfig is documented in the SM 2.0 Admin Service doc, where you will find information about its fields and child objects.

Cluster Topology Examples

These examples demonstrate how NodeGroupConfigs can be defined to acheive various cluster topologies.

All-in-One

All-in-One topology diagram

Example

This example shows how single role can be defined to handle all traffic. This is useful for development and some test cases, where most testbed functionality can be used with a very small cluster.

Origin-Edge

Origin-Edge topology diagram

Example

This example shows a basic production-ready topology. The most important thing is the roles.

Transcoder-Origin-Edge

Origin-Edge-Transcoder topology diagram

Example

This example adds a transcoder role with the TRANSCODE capability. Note that the transcoder role does not define any parent role.

Origin-Relay-Edge

Origin-Edge-Relay topology diagram

Example

To support larger numbers of subscribers, relay nodes can be used. Each relay is the parent of a dedicated group of edges. This is known as “fan-out”.

Transcoder-Origin-Relay-Edge

Origin-Edge-Relay-Transcoder topology diagram

Example

This combines transcoding with the relay topology.

Multiple Regions

Multi-region topology diagram

Example

SubGroups can be used to model regions.

Multiple Regions, Origin in One Region

Multi-region 1O topology diagram

Example

This example shows how to place nodes of a given role in only one region.

Multiple Regions in a Hierarchy of GeoZones

GeoZone topology diagram

Example

SubGroups can represent any kind of hierarchical grouping, not just regions. Here we group regions together into “geo zones”.

propertyOverrides Examples

These examples demonstrate how to configure various features on the Red5Pro cluster nodes. Configuration is modified when new cluster nodes are created.

Cluster Reporting Speed

Example

The Red5Pro Server nodes report status periodically. The default value is 1000 milliseconds, but this can be changed.

Interstitial

Example

Enable the Interstitial API.

See also Interstitial Media Insertion API

Max Publishers/Subscribers

Example

Limit the total max publishers and subscribers per NodeGroup.

Pre-Processor

Example

Pre-processing can be used to normalize the stream to Baseline for WebRTC delivery, as well as to scale or otherwise reencode the input stream.

See also Preprocessor

Cloud Storage/DVR

Example

Post-processing for cloud storage/DVR functionality using Amazon S3.

See also VOD via Cloud Storage

Round-Trip Authentication

Example

Enable round-trip authentication using a third-party remote host.

See also Simple Authentication Plugin.

Social Media Pusher

Example

Enable Social Media Pusher API.

See also Social Media Pusher

WebHooks

Example

Enable and configure WebHooks.

See also Social Media Pusher

Miscellaneous Examples

These examples show other cases not demonstrated above.

Transcoder with Pre-Processing

Example

This example shows how propertyOverrides can be used at the role level to define preprocessing only for transcoder nodes.

Scheduled NodeGroup

Example

A scheduled NodeGroup that is only active on weekends.

Scheduled Overlay

Example

This example shows how a given NodeGroup’s configuration can be modified on a schedule, where more nodes are available on weekends.