Studio DRM allows you to control how and when customers may consume content with minimal changes to your existing workflow. Studio DRM provides the capability to:
- Comply with copyright licensing by restricting the playback of your digital media.
- Prevent the unauthorized distribution of your digital media.
DRM Solutions
Protect your digital media using one or more of the following DRM solutions:
-
Apple FairPlay Streaming (FPS): Use this DRM solution primarily for Apple devices.
-
Google Widevine: Use this DRM solution primarily for Android, Chrome browsers, and Chromecast devices.
-
Microsoft PlayReady: Use this DRM solution primarily for Roku, Xbox, and the Microsoft Edge browser.
Basic Setup
Setting up Studio DRM consists of the following steps:
-
Studio DRM Activation: Contact your account manager to activate Studio DRM on your account.
-
Apple FairPlay Streaming (FPS) Only
-
Studio DRM
Type DRM Token Live Event # # Live Channels # # CMS Assets (Non-slate) # # CMS Assets (Slate for Live Event or Live Channels)
Learn more. -
Studio DRM Policy: Define a Studio DRM policy, which determines the conditions under which content may be played, via the playback URL’s query string.Use a Studio DRM policy configuration and/or the parameter expansion capability to obfuscate your Studio DRM policy.
-
Media Player SetupConfigure your media player to:
- Point to a signed playback URL for the desired live event, live channel, or CMS asset. This playback URL should include a query string that defines a Studio DRM policy.
- Acquire a license from our license servers.
Requirements
Basic requirements are listed below.
Requirements | Description |
---|---|
Studio DRM | Please contact your account manager if Studio DRM has not been activated on your account. |
Live Slicer | Version 18052400 or higher |
Live Events Live Channels CMS Assets |
|
Please use one of the following DRM platforms / clients:
DRM Platform | ABS | Encryption Method | Recommended Clients |
---|---|---|---|
Apple FairPlay Streaming | HLS | AES-128 CBCS | iOS Apple TV Safari on macOS |
Google Widevine DRM | MPEG-DASH | AES-128 CENC | Android Chrome Chromecast Firefox Shaka Player Exoplayer for Android Bitmovin 8.0.1 View a complete listing. |
Microsoft PlayReady | MPEG-DASH | AES-128 CENC | Windows Roku Xbox One View a complete listing. |
How Does It Work?
By default, encryption is applied to all video content regardless of whether Studio DRM will be enforced. Playback of encrypted HLS/DASH content requires decryption using the Content Key through which it was encrypted. Typically, this key is securely communicated to the media player by signing the playback URL. However, this key is handled in cleartext by both the viewer’s platform and player/client. As a result, it is vulnerable to compromise.
Studio DRM applies an additional level of protection by requiring a player to request a license. A license contains an encrypted Content Key and it allows the publisher to apply security policies that determine the conditions under which the content may be played. By preventing a player from directly requesting a Content Key, it allows the key exchange to typically take place in a Trusted Execution Environment (TEE). This makes it more difficult for an attacker to gain access to keys.
Ingest
Studio DRM does not introduce changes into the workflow for ingesting live or on-demand content.
Playback
Playback of Studio DRM-protected content requires the viewer’s player/client to request a license from our license servers. The workflow for HLS and DASH are described below.
Basic HLS Workflow (Apple FairPlay Streaming)
- Player requests SPC message from our license server.
- The player requests a manifest file in response to a request to play encrypted HLS content.
- Our system responds with the requested manifest file.
- The player requests a key from the operating system.
- The operating system returns an encrypted SPC message to the player.
- The player then submits this SPC message to our license server.
- Our license server identifies the Studio DRM policy for the requested content and then forwards the request, including the Studio DRM policy, to an FPS key server.
- If the client satisfies this policy, then the FPS key server will send an encrypted CKC message that contains the key to the player via our license server.
- The player then passes this CKC message to the OS to initiate playback.
Basic DASH Workflow (Google Widevine and Microsoft PlayReady)
- In response to a request to stream Studio DRM-protected content, the player submits a license request to our license server.
- The player requests a manifest file in response to a request to play Studio DRM-protected content.
- Our system responds with the requested manifest file.
- In response to the manifest file, the player generates a license request and submits it to the platform security layer (e.g., MediaDRM or Encrypted Media Extensions).
- The platform security layer returns license request data to the player. The player will leverage this data to submit a license request to our license servers.
- Our license server identifies the Studio DRM policy for the requested content. If the player satisfies this policy, then a Widevine/PlayReady license will be generated and then forwarded to a Widevine or a PlayReady license server.
- The Widevine or PlayReady license server will then encrypt the license and then deliver it to the player via our license server.
- The player may then leverage this license to initiate playback.