Lab
  • DRM packaging tutorialsCourse
  • 5 things you need to know about multi-DRMCourse
  • Getting started with DoveRunner Anti PiracyCourse
  • Getting started with DoveRunner Forensic WatermarkingCourse
  • Getting started with DoveRunner Mobile App SecurityCourse
  • Getting started with DoveRunner Multi-DRMCourse
  • Getting started with DoveRunner Transcoding & PackagingCourse
  • Packaging content with the DRM CLI PackagerLesson · DRM packaging tutorials
한국어

Testing playback with the Dev Console player

Shows the end-to-end flow of playing your own DRM-protected content in Dev Console's player.

Lesson 35 min

DRM: —Status: idle

Where this lesson fits

This is step 3 of the Multi-DRM quickstart. You have packaged content and a license token. Now you'll put both into DoveRunner's test player, request a real DRM license, and confirm playback works, including how to read the logs when it doesn't. You will:

  1. Gather your DASH URL and license token
  2. Load them into the Dev Console web player
  3. Read the playback logs

How playback gets its license

When you press play:

  1. The player requests playback.
  2. It sends your license token and content details to the DoveRunner license server.
  3. DoveRunner validates the request.
  4. A license is issued to the player.
  5. Playback starts.

The token from the last lesson is what authorizes that license.

Ways to play protected content

You have three options for playing DRM content:

  • HTML5 player sample code: for web players such as Shaka Player and dash.js. Download it from the Packager and Sample Downloads page.
  • Native SDKs: for Android, iOS, and other OTT platforms, from the same downloads page.
  • Dev Console web player: no code, built for a quick check. This is what you use here.

For a real service you'd use the first two. To check that your packaging and token work, the Dev Console player is enough.

1. Load your content and token

Open Dev Console (devconsole.doverunner.com), go to DRM Tools > Tester, and choose Web Player (direct link). No login is needed. The player shows the key system and security level your browser reports, for example com.widevine.alpha at L3. Fill in these fields:

Field What to enter
License URL Already filled in with DoveRunner's license server, https://drm-license.doverunner.com/ri/licenseManager.do. Leave it
DASH URL The stream.mpd URL of the content you uploaded to your test web server. It doesn't have to be registered anywhere
pallycon-customdata-v2 The license token from the previous lesson

Don't wait too long between generating the token and playing. It's valid for 10 minutes by default.

2. Press play

Select PLAY. The player requests a license, and if everything checks out, the video starts.

A black frame is expected. You'll see a black picture, with the controls still working and the time advancing. That's not a failure. Multi-DRM blocks screen capture by default, so protected video doesn't show up in a recording or a screenshot. The same thing happens to the lesson recordings you make of this player.

3. Read the logs

There are two places to look.

The log panel under the player. Two logs show what happened:

  • DRM Log: the license request and its result. If the request fails, the error code and message appear here.
  • Player Log: the player's steps. On success you see entries like Manifest parsed, then Buffering - true, then The video is set to Widevine.

DoveRunner Console Analytics. For the full history, open Content Security > Multi DRM > Analytics. The DRM Licenses view charts license requests over a time range you choose and lists every request, successful or not, in a table with status, content ID, user ID, DRM type, request date, device type, device model, and platform. You can filter and export it. The page also has Error and Piracy Guard tabs.

When playback fails

Three things cause almost every failure here:

  1. DRM type mismatch. The DRM type in your token has to match your browser: Widevine for Chrome and Firefox, PlayReady for Edge. It's case-sensitive. Generate a new token with the right type.
  2. Expired token. Tokens expire after 600 seconds by default. A license can't be issued with an expired token, so generate a fresh one. You can change the period under Site Settings > Integration Settings in Console.
  3. CORS not allowed. If your content and the player are on different domains, the web server hosting your content must allow cross-origin access. Enable CORS on that server, then reload.

If it still fails, copy the error code from the DRM Log and look it up in the License Integration guide.

What you've done

  1. Packaged a video into DRM-protected MPEG-DASH
  2. Issued a license token for it
  3. Played it by requesting a real license

What's next

From here, three guides cover taking this into production: