Geo-cascading

Geo-cascading is a key component of content delivery networks (CDNs) and streaming platforms that aim to provide a high-quality streaming experience for users around the world. To reduce latency and improve reliability, geo-cascading uses a network of clusters that are strategically placed in various geographical locations. This way, viewers can receive streams from regions that are the closest to their location.

Overview

When geo-cascading is disabled, streamed content is hosted and broadcasted using only an origin cluster provided in the publish token. This solution works well when viewers are located close to the broadcaster. However, when viewers are far away from the origin cluster, they may experience less reliable connection and increased latency.

When using geo-cascading, a broadcaster publishes a stream into one cluster, known as the origin cluster, and viewers connect to their closest cluster to access the broadcast. The service automatically handles transmission between the origin cluster and the additional clusters used by the viewers. You can specify the origin cluster and the list of additional clusters in the publish token settings.

You can enable this feature either for all tokens, as a global configuration, or for a specific token. However, token-specific settings override account-level settings. To enable the feature, you can either use the dashboard or REST APIs.

Enabling geo-cascading in the dashboard

Account-wide settings

To define token defaults that are applied account-wide as a global configuration, follow this procedure.

  1. Log in to the dashboard.

  2. Select Settings from the left-side menu.

  3. Select the Default settings tab.

  4. Use the toggle to enable geo-cascading.

  5. Select the preferred regions from the drop-down list. Not specifying any preferred regions results in the automatic selection of the most suitable cluster for each viewer. As streams will only cascade to additional clusters when viewers connect to those clusters, we recommend choosing All regions.

Token-specific settings

To set geo-cascading for a specific token, follow this procedure.

  1. Log in to the dashboard.

  2. Select a token. If you do not have any tokens, create a token by clicking the Create button.

  3. In the Settings section of the Token details tab, use the toggle to enable geo-cascading.

  4. Select the preferred regions from the drop-down list. Not specifying any preferred regions results in the automatic selection of the most suitable cluster for each viewer. As streams will only cascade to additional clusters when viewers connect to those clusters, we recommend choosing All regions.

Enabling geo-cascading using REST APIs

Account-wide settings

To define token defaults that are applied account-wide as a global configuration, use the Update Account Geo Cascade Settings REST API with the isEnabled parameter set to true. In the clusters parameter, provide the IDs of preferred regions. Not specifying any preferred regions results in the automatic selection of the most suitable cluster for each viewer. As streams will only cascade to additional clusters when viewers connect to those clusters, we recommend choosing all regions.

To get the account-wide geo-cascading settings, use the Read Account Geo Cascade Settings REST API.

Token-specific settings

To set geo-cascading for a specific token, set its preferences in either the geoCascade object of Create Token or the updateGeoCascade object of the Update Token REST API. Both objects contain two parameters: isEnabled and clusters. To enable geo-cascading, set isEnabled to true and provide in the clusters parameter the IDs of preferred regions. Not specifying any preferred regions results in the automatic selection of the most suitable cluster for each viewer. As streams will only cascade to additional clusters when viewers connect to those clusters, we recommend choosing all regions.

To get the token-specific geo-cascading settings, use the Read Token REST API.

Cost calculation

Pricing is determined based on bandwidth consumption, which depends on the number of bytes transmitted between the following components:

  • A broadcaster and an origin cluster
  • An origin cluster and additional clusters to which viewers are connected
  • Additional clusters and viewers