CONNECT Player TV Demo
1.6.x 1.5.x 1.4.x 1.3.x 1.2.x 1.1.x 1.0.x
1.6.x 1.5.x 1.4.x 1.3.x 1.2.x 1.1.x 1.0.x

Configuration Examples

Some examples are provided here to inspire you to experiment and understand the flexibility of configuration.

OPF credentials

freshOpf.config.json
JavaScript
{
  "engineerLabel": "Streams from OPF",
  "streams": {
    "drm": {
      "tenantId": "**********",
      "baseUrl": "https://**********.anycast.nagra.com",
      "sspUseSsm": true,
      "sspBaseSsmUrl": "https://**********-ssm.anycast.nagra.com/**********/ssm",
      "licenceServer": "https://*****base url for license, if different from baseUrl****"
    },
    "vod": [
      {
        "name": "vod1",
        "videoUrl": "https://d3bqrzf9w11pn3.cloudfront.net/basic_dash_bbb_clear/bbb_public.mpd",
        "tags": ["1080p"]
      }
    ],
    "live": [
      {
        "name": "Live1",
        "videoUrl": "https://d24rwxnt7vw9qb.cloudfront.net/v1/dash/e6d234965645b411ad572802b6c9d5a10799c9c1/All_Reference_Streams/4577dca5f8a44756875ab5cc913cd1f1/index.mpd",
        "tags": ["AWS"]
      },
      {
        "name": "Live3",
        "videoUrl": "https://cdn-vos-ppp-01.vos360.video/variant/v1/daiRegLat/DASH_DASH/Live/channel(DAITestRegLat)/master.mpd",
        "tags": ["DAI"]
      }
    ],
    "opf": {
      "instance": "**********",
      "username": "**********",
      "password": "**********"
    }
  }
}

licenceServer configuration is optional and is only required if the licence server url is different from baseUrl configuration.

OPF config to mimic a target device

mimickingOpf.config.json
JSON
{
  "engineerLabel": "Streams from OPF",
  "streams": {
    "drm": {
      "tenantId": "",
      "baseUrl": "https://**********.anycast.nagra.com",
      "sspUseSsm": true,
      "sspBaseSsmUrl": "https://**********-ssm.anycast.nagra.com/**********/ssm",
      "licenceServer": "https://*****base url for license, if different from baseUrl"
    },
    "vod": [],
    "live": [],
    "opf": {
      "instance": "****",
      "mimicDevices": [
          "Linux_STB"
      ],
      "nvTenantId": "nagra",
      "mimicCASId": "123456789",
      "username": "not used but still required",
      "password": "not used but still required"
    }
  }
}

Parameters for opy-sdk-js

params.opy-sdk-js.config.json
JavaScript
{
  "engineerLabel": "rebufferingGoal 0, manifest tolerance 0, NOT ignore min buffer timer",
  "parameters": {
    "opy-sdk-js": {
      "streaming": {
        "rebufferingGoal": 0,
        "inaccurateManifestTolerance": 0
      },
      "manifest": {
        "dash": {
          "ignoreMinBufferTime": false
        }
      },
      "drm": {
        "servers": {
          "com.widevine.alpha": "https://***********.anycast.nagra.com/***********/wvls/contentlicenseservice/v1/licenses",
          "com.microsoft.playready": "https://***********.anycast.nagra.com/***********/prls/contentlicenseservice/v1/licenses"
        }
      }
    }
  }
}


Streams and DRM

freshStreamsList.config.json
JavaScript
{
  "engineerLabel": "DRM head end change with streams",
  "streams": {
    "drm": {
      "tenantId": "**********",
      "baseUrl": "https://**********.anycast.nagra.com",
      "sspUseSsm": false,
      "sspBaseSsmUrl": "https://**********-ssm.anycast.nagra.com/**********/ssm",
      "widevineServerCertificate": "CsECCAMSEBcFuRfMEgSGiwYzOi9......",
      "widevinePersistentState": "required",
      "licenceServer": "https://*****base url for license, if different from baseUrl****"
    },
    "vod": [
      {
        "name": "vod1",
        "videoUrl": "https://d3bqrzf9w11pn3.cloudfront.net/basic_dash_bbb_clear/bbb_public.mpd",
        "tags": ["1080p"]
      },
      {
        "name": "vod2",
        "videoUrl": "https://d3bqrzf9w11pn3.cloudfront.net/sintel/sintel.mpd",
        "tags": ["1080p", "multi-audio", "SUBS"]
      }
    ],
    "live": [
      {
        "name": "Live1",
        "videoUrl": "https://d24rwxnt7vw9qb.cloudfront.net/v1/dash/e6d234965645b411ad572802b6c9d5a10799c9c1/All_Reference_Streams/4577dca5f8a44756875ab5cc913cd1f1/index.mpd",
        "tags": ["AWS"]
      },
      {
        "name": "Live2",
        "videoUrl": "https://cdn-vos-ppp-01.vos360.video/Content/DASH_DASH/Live/channel(DAITestRegLat)/master.mpd",
        "tags": ["DAI"]
      },
      {
        "name": "Live3",
        "videoUrl": "https://cdn-vos-ppp-01.vos360.video/variant/v1/daiRegLat/DASH_DASH/Live/channel(DAITestRegLat)/master.mpd",
        "tags": ["DAI"]
      }
    ]
  }
}

licenceServer configuration is optional and is only required if the licence server url is different from baseUrl configuration.

SSP Customer Callback Mode with optional get content token

ssmCallbacks.config.json
JavaScript
{
  "engineerLabel": "customer callback mode with getContentToken",
  "callbacks": {
    "getContentToken": "myGetTokenFunction",
    "system": "customer",
    "requestLicenceCallback": "myBasicLicenceRetrievalFunctionUsingGotToken"
  },
  "streams": {
    "drm": {
      "widevineServerCertificate": "redacted",
      "widevinePersistentState": "required"
    },
    "live": [],
    "vod": [
      {
        "name": "Token Callback: Big Buck Bunny",
        "videoUrl": "https://otvplayer.nagra.com/vod/cmaf/scramble/big_buck_bunny/manifest.mpd",
        "tags": ["1080p", "CMAF", "CBCS"]
      }
    ]
  }
}

SSM Customer Callback Mode

ssmCallbacks.config.json
JavaScript
{
  "engineerLabel": "customer-SSM callback mode",
  "callbacks": {
    "system": "customer-ssm",
    "customerSsmCallback": {
      "getLicence": "myBasicSSMLicenceRetrievalFunction",
      "heartbeat": "myBasicSSMHeartbeatFunction"
    }
  },
  "streams": {
    "drm": {
      "widevineServerCertificate": "redacted",
      "widevinePersistentState": "required"
    },
    "vod": [
      {
        "name": "UEX3X SSM - Big Buck Bunny",
        "videoUrl": "https://otvplayer.nagra.com/vod/demo_content/ed_big_buck_bunny_1080p/big_buck_bunny.mpd",
        "tags": ["SSM"]
      }
    ],
    "live": []
  }
}