Documentation

Working With Lumen eCDN (previously Streamroot)

Introduction

At Radiant Media Player we are committed to providing support for the best and latest technologies from the online video world. Peer-to-peer assisted streaming offers a great way to improve your viewer streaming experience and to reduce media content delivery cost. As such we have partnered with Lumen eCDN (previously Streamroot) to make Lumen technology available with Radiant Media Player.

To overcome the limitations of traditional unicast delivery, Lumen eCDN has developed a hybrid video streaming solution based on peer-to-peer protocols. Working in tandem with a server or CDN architecture, Lumen eCDN creates a mesh network of viewers watching the same content at the same time. Viewers can obtain video segments from the source that provides them most quickly - either the server or another viewer - optimizing data exchanges and freeing up congested servers.

In this article we will review how to use Lumen eCDN peer-to-peer accelerated streaming with Radiant Media Player.

Lumen is a Radiant Media Player technology alliance partner.

Scope of support

Lumen eCDN support in Radiant Media Player is currently available for HLS (hls.js) and DASH (Shaka player) in the following environments:

  • Chrome, Firefox, Opera for Desktop
  • Chrome, Firefox, Opera for Android
  • Ionic/Cordova/WebView for Android
  • macOS and iPadOS Safari

Lumen eCDN technology can be used for on-demand, live or DVR media content with Radiant Media Player.

Usage example

First you will need an account with Lumen eCDN to obtain a streamrootKey.

Then we will set up our player code. To make your life easier we have built Lumen eCDN support directly within Radiant Media Player - you just need to pass a streamrootConfig player setting object. This object references your streamrootKey and other Lumen eCDN related options.

HLS streaming (hls.js)

<!-- Include Radiant Media Player JavaScript file in your <body> or <head> -->
<script src="https://cdn.radiantmediatechs.com/rmp/8.1.2/js/rmp.min.js"></script>
<div id="rmp"></div>
<!-- Set up player configuration options -->
<script>
  // HLS streaming source
  const src = {
    hls: 'https://your-hls-url.m3u8'
  };
  // Then we specify our streamrootConfig: object
  const streamrootConfig = {
    type: 'hlsjs',
    streamrootKey: 'your-streamroot-key',
    dnaConfig: {
      // example for passing dnaConfig setting
      //"fragmentsFetchedBeforeLoad": 3
    }
  };
  // Player settings
  const settings = {
    licenseKey: 'your-radiant-license-key',
    streamrootConfig: streamrootConfig,
    src: src,
    width: 640,
    height: 360, 
    contentMetadata: {
      poster: [
        'https://your-poster-url.jpg'
      ]
    }
  };
  const rmp = new RadiantMP('rmp');
  rmp.init(settings);
</script>

DASH streaming (Shaka player)

<script src="https://cdn.radiantmediatechs.com/rmp/8.1.2/js/rmp.min.js"></script>
<div id="rmp"></div>
<script>
  // DASH streaming source
  const src = {
    dash: 'https://your-dash-url.mpd'
  };
  // Then we specify our streamrootConfig: object
  const streamrootConfig = {
    type: 'shakaplayer',
    streamrootKey: 'your-streamroot-key',
    dnaConfig: {
      // example for passing dnaConfig setting
      //"fragmentsFetchedBeforeLoad": 3
    }
  };
  // Player settings
  const settings = {
    licenseKey: 'your-radiant-license-key',
    streamrootConfig: streamrootConfig,
    src: src,
    width: 640,
    height: 360, 
    contentMetadata: {
      poster: [
        'https://your-poster-url.jpg'
      ]
    },
    // Recommended settings for DASH streaming with Lumen eCDN
    shakaManifestDashDefaultPresentationDelay: 30 
  };
  const rmp = new RadiantMP('rmp');
  rmp.init(settings);
</script>

That is it! You are all set to enjoy the best of Radiant Media Player and Lumen eCDN.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License.

©2015-2022 Radiant Media Player. All Rights Reserved.