Skip to main content
Skip table of contents

Configuration Examples

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

OPF credentials

freshOpf.config.json
JS
{
  "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
JS
{
  "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
JS
{
  "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
JS
{
  "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
JS
{
  "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
JS
{
  "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": []
  }
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.