How to integrate Azure PlayReady License service with your own encryptor/streaming server

Azure Media Services announced the Public Availability of Azure Media Services Content Protection a month ago, which offers the capability to encrypt your media content with AES or PlayReady content protection. Now, with Media Services, you could ingest, encode, adding content protection and stream your content. However, there are customers who ask me the question, what if I want to just move my License/key delivery server onto Azure Cloud Platform first, and keep my encoding, encryptor and streaming server on premises, could I do it with Azure? The answer is yes, and this blog would walk you through the integration. I will use PlayReady as an example to explain the concept in this blog, however, the same logic applies to AES key server integration as well.

Here are the steps to achieve your goal and the diagram below shows an overview.

PlayReady License Server Integration
1. Configure Content key with Azure Media Services: generate content key, key id and retrieve the License URL. Content Key, Key ID and License URL are essentially what you need to put into your on-premise/external Encryptor to encrypt a content with PlayReady Licenses.

2. We offer Token-authentication service as an option to authorize the PlayReady license to player. Here is the way to configure it. This is the same as you use Azure Media Services End-to-End. Here is a MSDN documentation you could read about token-authentication as well. PlayReady License template is defined along with the Content Key Authorization policy.


3. Now, you could deliver the stream from your own streaming server. Since when you encrypt your stream, it is points to our License server, your player will ping our key/license server, if you choose token-authentication, our license server will validate the token you sent to us through HTTPS, if it is valid, we will deliver the PlayReady License back to your player.

If you are using PC-based PlayReady SDK (Silverlight, Win8, XBOX), there is no license fee involved. If you are using PlayReady Client SDK for IOS or Android, there will be client licenses fee you need to pay. Azure Media Services only offers the server component, which will be charged at $0.2/100 licenses delivered. You could contact PlayReady team for more information.

You could find the entire source code here: One very important thing is, you will need to go through to sign up for PlayReady service. Here is a Youtube video to tell you how to sign up for PlayReady service through portal.

2 Responses to How to integrate Azure PlayReady License service with your own encryptor/streaming server
  1. Terence Reply

    This is what we want to do.

    How about doing it with the Azure Java SDK?

    I try to do the same with the Java SDK, but content key ID requires a specific format,
    how to generate a content key ID for Azure Media Services?


  2. […] How to integrate Azure PlayReady License service with your own encryptor/streaming server […]...

Leave a Reply

Your email address will not be published. Please enter your name, email and a comment.