Radiant Media Player

Flash DRM support



Scope of support for DRM in Flash

Flash

This feature has been added with Radiant Media Player 3.7.0

Radiant Media Player supports DRM in its Flash fallback through Adobe Access DRM (part of Adobe Primetime platform). This enables playback of DRM-encrypted content for older browsers/devices like Internet explorer 11 on Windows 7 or Mac OS Safari (where Flash is available).

The following streaming format are supported to Radiant Media Player Flash fallback with Adobe Access DRM:

  • Adobe HDS (HTTP Dynamic Streaming): on-demand & live video streaming
  • Progressive download in F4V format (.f4v, which is very similar to MP4 container but enriched with custom metadata): on-demand video streaming

Note that HDS streaming is only supported in Flash in the context of Flash DRM with Radiant Media Player. If you do not use DRM-encrypted content

Flash 11.5 is required to playback Adobe Access DRM encrypted content.

Radiant Media Player supports 2 types of Adobe Access DRM:

  • In-browser Pre-Authorized Playback: pre-authorizes the user to receive a license
  • In-browser Post-Authorized Playback: the user will be prompt for a user name and password in order to view the content

The HDS (.f4m) manifest or F4V file should already include all DRM-realted required information (license server URL, token ...)in order to playback content. The player will automatically parse those information and contact the DRM server license to obtain the required credentials to playback content.


Player settings

flashDrm: Boolean

This enables DRM playback capabilities within Radiant Media Player Flash fallback. Note that when dashDrmUseFlashDrmFallback is set you do not need to enable this setting as this is done internally with the player. Default: false.

dashDrmUseFlashDrmFallback: Boolean

When MPEG-DASH DRM (Widevine or Playready) is not supported in the target device and a valid DRM-encrypted Flash feed (either HDS or F4V) is available the player will automatically switch to Flash playback. Default: false.


Player code example

F4V progressive download (Post-Authorized).

Use testuser (username) and testpass (password) to access content when prompted.

The above player has the following player code:

<script src="https://cdn.radiantmediatechs.com/rmp/v3/latest/js/rmp.min.js"></script>
<div id="rmpPlayer"></div>
<script>
var bitrates = {
  mp4: [
    // The following F4V file is Adobe Access DRM enabled - it requires authentication to start playback
    'http://drmtest2.adobe.com:8080/Content/identity.f4v'
  ]
};
var settings = {
  bitrates: bitrates,
  licenseKey: 'your-license-key',
  delayToFade: 3000,
  width: 640,
  height: 360,
  debug: true,
  // We enable Flash DRM decryption
  flashDrm: true,
  // We force the player in Flash-mode - where Flash it not available content will not play
  flashFirst: true,
  poster: 'https://www.radiantmediaplayer.com/images/poster-rmp-showcase.jpg',
};
var elementID = 'rmpPlayer';
var rmp = new RadiantMP(elementID);
rmp.init(settings);
</script>

Full DRM with Radiant Media Player

Who is who?

Through the combined use of MPEG-DASH DRM (Widevine, Playready), Flash DRM (Primetime/access) and AES-128 HLS (HLSe) it is possible to target the vast majority of the web market with DRM-enabled content with Radiant Media Player.

  • MPEG-DASH DRM (Widevine, Playready): this will cover most modern browsers on desktop and mobile devices.
  • Flash DRM (Primetime/access): this will cover older browsers where MPEG-DASH playback is not possible (IE 9-11 on Windows 7, Mac OS Safari) but where Flash is available.
  • AES-128 HLS: this will cover iOS Safari and Mac OS Safari (where Flash is not available).

Player code example

<script src="https://cdn.radiantmediatechs.com/rmp/v3/latest/js/rmp.min.js"></script>
<div id="rmpPlayer"></div>
<script>
// First we specify bitrates to feed to the player
// In this case we need MPEG-DASH, HDS and HLS
// Note that the below HDS stream is not DRM-enabled - use your own HDS with Adobe Access DRM feed to verify DRM playback
var bitrates = {
  dash: 'http://media.axprod.net/TestVectors/v6-MultiDRM/Manifest_1080p.mpd',
  hls: 'https://rmpsite-1479.kxcdn.com/media/rmp-segment/bbb-abr-aes/playlist.m3u8',
  hds: 'https://streamingrmp-1479.kxcdn.com/vod/smil:bbb.smil/manifest.f4m'
};
// Then our MPEG-DASH custom protection data
var protectionData = {
  "com.widevine.alpha": {
    "serverURL": "http://drm-widevine-licensing.axtest.net/AcquireLicense",
    "httpRequestHeaders": {
      "X-AxDRM-Message": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXJzaW9uIjoxLCJjb21fa2V5X2lkIjoiNjllNTQwODgtZTllMC00NTMwLThjMWEtMWViNmRjZDBkMTRlIiwibWVzc2FnZSI6eyJ0eXBlIjoiZW50aXRsZW1lbnRfbWVzc2FnZSIsImtleXMiOlt7ImlkIjoiNmU1YTFkMjYtMjc1Ny00N2Q3LTgwNDYtZWFhNWQxZDM0YjVhIn1dfX0.yF7PflOPv9qHnu3ZWJNZ12jgkqTabmwXbDWk_47tLNE"
    }
  },
  "com.microsoft.playready": {
    "serverURL": "http://drm-playready-licensing.axtest.net/AcquireLicense",
    "httpRequestHeaders": {
      "X-AxDRM-Message": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXJzaW9uIjoxLCJjb21fa2V5X2lkIjoiNjllNTQwODgtZTllMC00NTMwLThjMWEtMWViNmRjZDBkMTRlIiwibWVzc2FnZSI6eyJ0eXBlIjoiZW50aXRsZW1lbnRfbWVzc2FnZSIsImtleXMiOlt7ImlkIjoiNmU1YTFkMjYtMjc1Ny00N2Q3LTgwNDYtZWFhNWQxZDM0YjVhIn1dfX0.yF7PflOPv9qHnu3ZWJNZ12jgkqTabmwXbDWk_47tLNE"
    }
  }
};
// Then we set our player settings
var settings = {
  licenseKey: 'your-license-key',
  bitrates: bitrates,
  delayToFade: 3000,
  width: 640,
  height: 360,
  dashProtectionData: protectionData,
  // We tell the player to check for MPEG-DASH DRM (Widevine/Playready) support first
  dashDrmCheck: true,
  // If not we check for Flash DRM support - this enables flashDrm setting automatically
  dashDrmUseFlashDrmFallback: true,
  // If neither MPEG-DASH DRM nor Flash DRM are supported we use HLS AES-128
  dashDrmUseAesHlsFallback: true,
  poster: 'https://www.radiantmediaplayer.com/images/poster-rmp-showcase.jpg'
};
var elementID = 'rmpPlayer';
var rmp = new RadiantMP(elementID);
rmp.init(settings);
</script>