Players and SDKs

Add protected playback without exposing your DRM secrets.

Integrate the HTML5 Universal Player, Android SDK, Apple FairPlay development preview, native APIs or CMS packages through one server-side playback-session contract.

What this gives your businessA consistent integration boundary from browser playback to Android, iOS, TV, and native DRM applications.DRM-X 6.0 · request-time authorization · protected delivery
Built around your application

Choose your integration path.

Start with your platform. Check the available release and device requirements before integrating.

Public preview · Web 1.2.0-preview.6

HTML5 Universal Player

Add protected playback to supported browsers with one Web Component and a working PHP example.

Read the Web integration guide
  • Playlists, shuffle, repeat and viewer-scoped resume
  • Quality, audio tracks, captions and playback speed
  • Picture-in-Picture where the browser supports it
A practical starting point

Download the PHP sample. Connect your own access rules.

Configure your published Content ID and server credentials, then replace the sample login and entitlement check with your application logic. Playlist and player branding settings are included.

Open the PHP sample
Capabilities

Security controls that stay practical to operate.

Universal Web Player

Use automatic DRM selection, playlists, resume, captions, audio tracks and quality controls in supported browsers. Start with a runnable PHP sample.

Android and TV

Use Kotlin, Media3, and MediaDrm for Widevine on supported Android, Android TV, Google TV, and Fire TV devices.

Apple development preview

Use Swift and AVContentKeySession for FairPlay certificate, SPC, CKC, renewal and session release. Native player and download refinements remain in development qualification.

Native and CMS

Integrate platform DRM APIs, commercial players, WordPress, LearnDash, LearnPress, or Moodle.

How it works

From your source to an authorized screen.

  1. 01

    Create a customer endpoint

    Authenticate the viewer and request a DRM-X playback session from your backend.

  2. 02

    Request a video by Content ID

    The client never chooses arbitrary manifest or license URLs and never receives your API credentials.

  3. 03

    Prepare the platform player

    Load the returned registered manifest and attach authorization only to DRM license and FairPlay certificate requests.

  4. 04

    Release the session

    Free the concurrent-stream reservation on stop, replacement, terminal error, and application shutdown.

Designed for delivery teams

Clear boundaries across the complete workflow.

Your backend remains the authority for purchases, subscriptions, courses, rentals, and user access. DRM-X signs and enforces that decision without putting long-lived credentials in a player or mobile application.

Web
Qualified Shaka · Universal Player Web Component
Android
Kotlin · Media3 · MediaDrm
Apple
Swift · AVFoundation · FairPlay Streaming
Server examples
PHP · ASP.NET Core · Node.js · Python · Java · Go · Ruby
Where it fits

Built around real protected-content businesses.

Web teams

Start with a complete PHP or ASP.NET Core package and change the clearly marked server-side settings.

Mobile teams

Keep entitlement and policy on the backend while native frameworks handle protected media and platform CDMs.

Learning platforms

Add protected playback through maintained WordPress and Moodle packages without placing DRM-X credentials in HTML.

Questions

Answers before you integrate.

Can I keep using my existing player?

Yes. Any compatible EME or native player can consume the Universal Playback Session Contract if it preserves native DRM challenge and response bytes.

Where do I customize the license policy?

Your server selects a named policy template or a complete approved custom policy when it requests the playback session.

Does DRM-X choose the browser DRM automatically?

The Universal Player detects supported key systems and resolves the correct registered manifest. Windows Edge prefers PlayReady, with bounded Widevine fallback in Auto mode.

Protect the next release

Package once. Authorize every viewer. Reach every supported screen.

Start free Open documentation