Syndication

The Dolby.io Real-Time Streaming APIs supports the ability to syndicate content using either a subscribe token or self-signed subscribe tokens. Syndication allows you to send the same stream to multiple streaming partners whilst identifying the syndicated stream using a tracking ID to analyze viewer data, giving you the ability to determine how much bandwidth was consumed, who was watching for which provider, and a few other statistics for billing purposes.

The self-signed subscribe token is a user generated JWT that is generated from a subscribe token. The subscribe token functions as a parent token, and any self-signed subscribe token generated from this token will inherit any restrictions or parameters that are specified when the subscribe token is created.

This guide covers the following steps:

  • Creating a subscribe token with a tracking ID
  • Tracking with self-signed subscribe tokens
  • Publishing a secure stream with syndication
  • Viewing statistics

Creating a Subscribe Token with Tracking ID

You can create a subscribe token with a tracking ID:

Note: If you already have a subscribe token, you can create a self-signed subscribe token offline for your customers to use. See Tracking with Self-signed Subscribe Tokens.

To use the Create Token API, add the following to your API request body:

{
  "label": "with-tracking-2",
  "streams": [
    {
      "streamName": "test-stream",
      "isRegex": false
    }],
    "tracking":{
        "trackingId":"JohnDoe"
    },
    "originCluster": "ams-1"
}

Using the Dolby.io dashboard you can specify a tracking ID when creating a subscriber token .

834

Tracking with Self-signed Subscribe Tokens

Once you have created a subscribe token with a tracking ID, you can self-sign the token by creating a JWT.

Note:

  • If the parent subscribe token has no tracking ID present, then your self-signed subscribe token can have any tracking ID you wish (custom tracking).
  • If the parent subscribe token has a tracking ID, then your self-signed subscribe token will need to be set with the same tracking ID.
  • The self-signed subscribe token created can only have one Stream Name, which will need to be matched to a Stream Name from the parent subscribe token.
  • If the parent subscribe token has global ".*" with regex, then the Stream Name can be any Stream Name.
  • If the parent subscribe token has specific streams in it, then the self-signed subscribe token must match one of them.

Examples of tracking a self-singing a token can be found at this GitHub repository.

Publishing a Secure Stream with Syndication

  1. Publish a stream (using the Dolby.io dashboard or a third-party application). For publishing using tracking, this stream must be an authenticated stream (secure stream) which requires a subscribe token.
  2. Create a subscribe token or a self-signed subscribe token to provide to your streaming partners or viewers.
  3. You can view the published stream by connecting to the media server. The media server gathers statistics for the viewer associated with the tracking ID information.

Note: The published stream and subscribe token must originate from the same cluster region. "Auto" may be selected for both. For more information see Multi-region Support.

Viewing Statistics

With an API Secret, you can use the Analytics API to query information based on your viewer's tracking ID and other information.

For more information see the following REST APIs: