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.
Native FairPlay streaming and audio/caption selection
iPhone and iPad protected downloads in development
Apple TV streaming; native HLS downloads are unavailable
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.
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.
Authenticate the viewer and request a DRM-X playback session from your backend.
02
Request a video by Content ID
The client never chooses arbitrary manifest or license URLs and never receives your API credentials.
03
Prepare the platform player
Load the returned registered manifest and attach authorization only to DRM license and FairPlay certificate requests.
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.