Integration center and downloads
Keep your existing login and database. Download the complete integration kit or one platform, then follow the visual edit map to connect protected playback.
Choose a download#
Release 20260925.7 · backend SDK 1.3.0-preview.9. Includes nine SDK artifacts, examples, source adapters, player components and plugin installers.
Extract to a short path such as C:\drmx. Open START-HERE.html, or go directly to examples/sdk/<your-language>/README.md. Individual kits keep the same paths used in this tutorial.
Your website decides who can watch#
Keep your login, purchases, membership and enrollment system. Your application supplies the current user and the authorized Content ID. The SDK calls DRM-X and the player loads the protected video.
One connection to your existing application
You own the login and permission decision. The SDK and player handle protected playback.
- Keep your login
The viewer signs in through your existing website.
- Connect your lookup
Your application checks access and returns the DRM-X Content ID for the selected lesson.
- Call through the SDK
The backend SDK uses server credentials to request authorized playback from DRM-X.
- Show the player
The player obtains a DRM license and plays the published encrypted content.
Understand the two video IDs#
| Value | Example | Where it comes from |
|---|---|---|
| Website video ID | lesson-123 | Your lesson, product or video record. |
| DRM-X Content ID | your-published-content-id | The protected content published in DRM-X. |
| User ID | customer-456 | Your authenticated login session. |
Map your lesson to its Content ID using your existing database, API or application code. Finding a video does not prove that this user may watch it; check permission before returning it.
Prepare once, then integrate#
- Encrypt and publish one video and copy its Content ID.
- Create playback credentials for the same environment. Use Site ID, Site Key and Access Key on the server.
- Download the complete kit or your platform kit. Install its SDK using your package manager.
- Connect your user/content permission callback, then add the player to your page.
The SDK operates on already-published content. It does not replace the packager or your payment system. Third-party runtime dependencies may need internet access during installation.
Find the code you own#
Choose a language to focus the edit map.
Node.js / Express
Edit your application: server.mjs
Connect: authorize(userId, videoId)
Return an authorized content mapping or null. Read the user from your existing login middleware.
Python / Django
Edit your application: authorization.py
Connect: authorize(user, video_id)
Return a dictionary with content_id, or None. Register it as DRMX['AUTHORIZE'] in settings.py.
PHP / Laravel
Edit your application: app/Services/DrmxAccess.php
Connect: ContentAuthorizer.authorize(user, videoId)
Return an authorized content array or null. Bind your service in AppServiceProvider.
Plain PHP
Edit your application: index.php
Connect: findAuthorizedVideo(userId, videoId)
Return an authorized content array or null. Connect your existing PHP session identity.
C# / ASP.NET Core
Edit your application: Program.cs
Connect: QuickStartCatalog.FindAuthorizedVideoAsync
Return QuickStartVideo or null. IDrmXContentEntitlement verifies the requested Content ID against that result.
C# / ASP.NET Framework
Edit your application: App_Code/DrmXPlayback.cs
Connect: ApplicationServices.Authorize
Return true only for an authorized user, Content ID and content type. This is a source adapter for Windows/IIS.
Java / Spring Boot
Edit your application: DrmxAccess.java
Connect: ContentEntitlement.authorize(userId, videoId)
Return Optional<AuthorizedVideo> or Optional.empty(). Connect the controller and entitlement bean to your existing repository.
Download for your language#
WordPress and Moodle#
For standard LMS flows, install the plugin and set credentials and lesson Content IDs in the platform administration screens. Keep its normal enrollment rules.
WordPress install ZIP · Moodle activity ZIP · Optional Moodle filter ZIP
WordPress setup · Moodle setup
WordPress uses one shared plugin for LearnDash, LearnPress, Tutor LMS, Sensei and MasterStudy. Install it once.
Frontend components and hosted platforms#
All source adapters — for customers choosing source-copy integration.
React / Next.js / Vue components · GitHub · LTI / hosted learning / Shopify bridges · GitHub
Frontend components use one authenticated backend above. Hosted-platform bridges require platform registration and server-owned content mappings; follow the LTI, hosted learning or Shopify guide.
Preview versions and checksums#
Packages are preview releases. ASP.NET Framework remains source-only; Laravel supplies an installation recipe for your existing app. Public package-registry installation is not required: SDK files are included.
Release manifest · SHA-256 checksums
Older versioned downloads remain available. GitHub repositories are now available. Choose your target browsers and hosting environment for acceptance before production.
WordPress and Moodle: configure in your admin screens#
The complete kit includes WordPress preview.7, Moodle activity preview.6 and optional filter preview.2. You do not need to write a backend callback for the built-in LMS adapters.
WordPress and LMS visual setup · LearnDash lesson setup · Moodle activity setup
Customer downloads contain SDKs, examples, installers, licenses, checksums and customer guides. Start with README.md; see RELEASE-NOTES.md and COMPATIBILITY.md for versions and limits.
One Content ID, whichever storage you use#
No manifest URL is needed in your streaming integration. For 1aicloud or configured S3 storage, DRM-X uses the media URLs recorded when the package is published. For encrypted files uploaded to your own server, register their DASH/HLS media URLs in DRM-X first. Then use the same Content ID in PHP, ASP.NET or any other integration. Your server still checks the current user’s permission before requesting playback.
- Publish or register once
DRM-X content settingsConfirm the correct protected DASH/HLS media URLs are registered for your Content ID.
- Connect your website
Your authorization callback
Check login and purchase, membership or enrollment. Return the permitted Content ID.
- Play
DRM-X playback sessionDRM-X resolves the published package and returns the suitable manifest and DRM License Token.
If the registered manifest is missing, correct the publication or media URL registration in DRM-X. Do not add an arbitrary browser-supplied URL as a fallback. The complete PHP demo’s native offline endpoint is a separate advanced example; its current manual mapping is documented in advanced/OFFLINE.md.
DRM-X 6.0