Multi-DRM playback

# Multi-DRM playback for the content you cannot afford to leak

Premium content doesn't play without DRM, and DRM is where most home-grown players break. The player has to read the protection metadata, negotiate a licence, respect robustness levels and keep the decrypted video out of reach of the page. That's the layer we maintain for you.

Bradmax plays Widevine, PlayReady and FairPlay protected streams across web, mobile and Smart TV, using the licence service you already pay for.

## One player, every DRM system

A protected stream carries more than video. The manifest lists which DRM systems can decrypt it and where the licence server lives. Bradmax reads that, picks the system the current device supports, requests the licence with your authentication data, and only then starts playback.

The same configuration object describes all three systems, so you describe your licence endpoints once and the player handles the differences between devices.

## Supported DRM systems

### Widevine

Google Widevine, used by Chrome, Firefox, Edge, Android and most Smart TV platforms. The default choice for browser and Android playback.

### PlayReady

Microsoft PlayReady, used by Edge, Windows, Xbox and many set-top boxes. Commonly packaged alongside Widevine in the same stream.

### FairPlay

Apple FairPlay Streaming for Safari, iOS and tvOS, with the server certificate and licence URLs configured per source.

### ClearKey

For testing, and for content that needs a light protection layer without a commercial licence service.

## Licence services we have run with

### EZDRM

A multi-DRM licence service covering Widevine, PlayReady and FairPlay from one endpoint.

### KeyOS (BuyDRM)

Used where the licence server expects a KeyOS authentication payload alongside the request.

### DRMToday (castLabs)

A common choice for operators that already package content through castLabs.

### Cloud DRM and custom servers

The default provider can be pointed at a custom licence endpoint when you run your own service.

## What happens when a protected stream starts

### The manifest arrives

The player loads the HLS, DASH or Smooth Streaming manifest and reads the ContentProtection metadata inside it.

### The player picks a DRM system

It matches the stream to what the device can play: Widevine on Chrome and Android, FairPlay on Safari and iOS, PlayReady where that is what is available.

### It asks your licence server

The player sends the licence request to the endpoint you configured, with the authentication data you already use.

### Playback starts, protected

The licence arrives, the media decrypts, and the player keeps the decrypted frames out of reach of the page.

## The parts that are easy to get wrong

Robustness levels. A studio can require a device to prove it will not route decrypted video to a screen recorder. Getting that wrong doesn't fail loudly; it fails on one TV model, or one browser version, or only on live content.

Manifest quirks. Some older TVs choke on a manifest that lists several DRM systems at once. We've patched that on the device side before, rather than asking the customer to change how content is packaged.

Certificate handling. FairPlay needs a server certificate as well as a licence URL, and the two have to match. It's a small thing that stops a launch when it's missed.

## DRM coverage by platform

| Criterion | Widevine | PlayReady | FairPlay |
| --- | --- | --- | --- |
| Chrome, Firefox, Edge | Yes | Yes on Edge and Windows | No |
| Safari, iOS, tvOS | No | No | Yes |
| Android and Android TV | Yes | Device dependent | No |
| Samsung Tizen | Yes | Yes | No |
| LG webOS | Yes | Yes | No |

## See it and try it

- [Multi-DRM live demo](https://bradmax.com/site/en/demo/drm)

- [DRM integration documentation](https://bradmax.com/static/player-doc/drm/index.html)

- [Migrate an existing player](https://bradmax.com/site/en/guides/migrate-hlsjs-to-bradmax)

- [See pricing](https://bradmax.com/site/en/pricing)

- [Start free](https://bradmax.com/site/en/signup)

## Frequently asked questions

### Which DRM systems does Bradmax support?

Widevine (Google), PlayReady (Microsoft) and FairPlay (Apple), plus ClearKey for testing. A single configuration block describes the licence servers for each system, and the player picks the one the current device can actually use.

### Do I need to re-encode my content?

No. Bradmax plays the manifests you already produce. If your content is packaged for Widevine, PlayReady or FairPlay, the player reads the protection metadata in the manifest and requests the licence.

### Which licence services work with the player?

Any service that exposes a standard licence endpoint. We have working setups with EZDRM, KeyOS (BuyDRM), DRMToday (castLabs) and Cloud DRM, and the default provider can be pointed at a custom server through the same configuration.

### Does DRM work on Smart TVs?

Yes. Tizen and webOS ship native Widevine and PlayReady modules, and the player hands protected playback to the platform. Where a manifest needs adjusting for an older TV, we've done that work before (the Tizen 4.0 fix is described on our Smart TV page).

### How is DRM priced?

Multi-DRM is included in the plan that lists it (from EUR 399 a month) and in custom plans. You bring your own licence service; we don't resell DRM licences.

## Sources and method

- [Bradmax DRM documentation](https://bradmax.com/static/player-doc/drm/index.html) Bradmax player documentation, DRM section

- DRM provider configuration Bradmax player documentation, default provider

- Widevine, PlayReady and FairPlay Vendor documentation for the three DRM systems

### Test your own protected stream

Bring a Widevine, PlayReady or FairPlay manifest and a licence endpoint, and play it on the free plan before you commit. If the licence handshake misbehaves, an engineer answers.
