Protecting HLS streams using Playready

3.8k Views Asked by At

I am trying Playready protect HLS streams using transform manager.

It seems that the output can only be played using URL "t_200-m3u8-aapl.ism/manifest(format=m3u8-aapl)"

  1. I believe a standard HTTP server wont be able to stream it as it wont be able to interpret /manifest call. What kind of server capabalities are required?

  2. Is there any way I can achieve following workflow: Create HLS stream using apple segmenter -> Playready protect that package (which tool?)

3

There are 3 best solutions below

1
On

Azure Media Services supports the protection and streaming of HLS with PlayReady.

To achieve the workflow, you have to first encode a video to Smooth Streaming format, and then run it through the Encryptor task here with your PlayReady settings.

Once you have an encrypted Smooth Streaming Asset, you can then create a second HLS PlayReady protected asset by passing the file through the Packager task here.

The resulting HLS Asset will be encrypted with PlayReady, and the .m3u8 will contain the proprietary PlayReady tags for use by a player framework that is capable of getting a license and decrypting the content. There are several third party DRM companies that provide such player frameworks. Microsoft does not provide a PlayReady player SDK for iOS at this time, so you have to go to a third party DRM company.

0
On

IIS Transform Manager creates HLS presentations that are designed to be played using IIS Media Services or Windows Azure Media Services. You are correct that basic HTTP servers are not capable of delivering such videos, as some server-side processing is required.

It is possible to protect a stand-alone HLS video using PlayReady, though I am not aware of any freely available tools for this. If you are interested in commercial solutions, I may be able to help you via e-mail ([email protected]).

0
On

To just update on this, Azure Media Services just announced first-party PlayReady service as well. You could obtain a PlayReady server in the cloud, and use Media Services either statically encrypted a smooth streaming asset, then package the content into HLS, or even better, you could encode your asset into Multi-bit-rates MP4, and we do dynamic encryption with PlayReady, and deliver the stream in HLS, DASH and Smooth Streaming on the fly.

For more information, you could check out my blog at http://azure.microsoft.com/blog/2014/09/10/announcing-public-availability-of-azure-media-services-content-protection-services/.