December 24, 2014

MPEG-DASH hotlink protection and paywall

Nimble Streamer team keeps working on MPEG-DASH feature set. In addition to MPEG-DASH VOD streaming and RTMP to DASH live transmuxing, we've continued implementing features already existing for HLS.

One of the most popular feature sets of Nimble Streamer and WMSPanel is content protection. It allows creating easy-to-use paywalls and embedding them into existing websites. Major available features are hotlinking protection and pay-per-view framework.

Hotlinking protection

Hotlinking protection allows preventing "links hi-jacking". When you publish some media behind the paywall, anyone can take the direct URL to content and pass it to anyone else. Nimble Streamer allows preventing that. This is how it works.

  1. You modify a webpage which shows a media link to include a "signature" - the URL parameter which is based on a secret password and viewer's IP address
  2. You also set up protection rules in WMSPanel where you describe which streams are affected and what password will be used.
  3. When a viewer requests the media from the media server, Nimble Streamer checks the signature against the viewer's IP and encrypted password. If they match, the connection is established, if they don't then it will be forbidden.

This scenario works already for HLS and progressive download already. Now it works perfectly for MPEG-DASH.

Hotlinking protection for MPEG-DASH workflow diagram.

Read this article to learn how to set up hotlinking protection for supported media protocols.


Many of our customers need some mechanism of users' limitation based on consumed media. This usually covers pay-per-view, pay-per-minute and periodical subscription. Nimble Streamer allows setting up a framework for covering these areas.

These are the steps for a customer to integrate those capabilities into customer's workflow:

  1. Implement pay-per-view API handler which is able to accept POST requests.
  2. Enter that handler's URL in WMSPanel.
  3. Add a signature into existing media links, like it is done for hotlinking protection. Each signature contains a secret password and an ID of the user which the URL is shown to.

Now having that, the general workflow is as follows:

  1. Nimble Streamer sends request to handler on a periodical basis. The sync contains all users' IDs, IPs, view time and streams names.
  2. Customer handler makes required decisions based on company business logic and sends response to Nimble. This response specifies which users must be blocked from watching media.
  3. Blocked users are shut down immediately, while others keep watching.
  4. When a user is allowed to watch, he is removed from block list.

Pay-per-view for MPEG-DASH workflow diagram.

Read this article for details about the setup and shows code examples. Please also read this guide from one of our customers about the deployment of pay-per-view framework based on WMSPanel technologies.

The described features allow building basic content protection scenarios for all protocols supported by Nimble Streamer including HLS, MPEG-DASH and progressive download.

WMSPanel is currently an associate member of DASH Industry Forum. Going forward we will extend DASH feature set with all infrastructure scenarios available for HLS. Please contact us if you need to cover some specific use cases or if you just have any feedback about DASH handling in Nimble Streamer.

Related documentation

Nimble StreamerDASH industry forumMPEG-DASH VOD streaming, MPEG-DASH live streaming from RTMPHLS VOD streamingHLS live streaming, Paywall feature set for Nimble Streamer and Wowza,

No comments:

Post a Comment

If you face any specific issue or want to ask some question to our team,

This will give much faster and precise response.
Thank you.

Note: Only a member of this blog may post a comment.