Source
Any storage or URL
Qencode ingests your source video from any storage provider or URL.
Encrypt with Widevine, FairPlay, and PlayReady through Intertrust's ExpressPlay — cloud-native multi-DRM with global reach.
Qencode integrates with Intertrust's ExpressPlay multi-DRM service to deliver Widevine, FairPlay, and PlayReady encryption in a single transcoding workflow. Qencode handles encoding and packaging; ExpressPlay provides the key server and license delivery. Backed by Intertrust's decades of DRM expertise, ExpressPlay offers a cloud-native licensing infrastructure that scales globally without requiring you to manage any DRM servers.
Any storage or URL
Qencode ingests your source video from any storage provider or URL.
Encode & Encrypt
Qencode transcodes the video and requests encryption keys from ExpressPlay's key server during packaging.
Key & license server
Qencode writes encrypted HLS and/or DASH output with ExpressPlay-managed keys to your storage.
Licensed playback
The viewer's device requests a license from ExpressPlay. ExpressPlay validates and delivers the decryption key.
Register for an ExpressPlay account through Intertrust and obtain your API token and license server endpoints for Widevine, FairPlay, and/or PlayReady.
This step is completed in the ExpressPlay Admin portal — see ExpressPlay documentation
In the Qencode dashboard, go to Settings → DRM and add your ExpressPlay API token and key server endpoint.
Add the cenc_drm parameter to your format array, specifying the DRM systems and ExpressPlay as the provider.
Use a test player (Shaka Player for Widevine/PlayReady, Safari for FairPlay) to verify license acquisition and encrypted playback across all target DRM systems.
Widevine DRM via ExpressPlay
{
"query": {
"source": "https://nyc3.digitaloceanspaces.com/qencode/bbb_30s.mp4",
"format": [
{
"output": "advanced_dash",
"destination": {
"url": "s3://YOUR_BUCKET/path/to/output/",
"key": "YOUR_STORAGE_KEY",
"secret": "YOUR_STORAGE_SECRET"
},
"stream": [
{
"size": "1280x720",
"audio_bitrate": "320"
},
{
"size": "1920x1080",
"audio_bitrate": "320"
}
],
"cenc_drm": {
"key": "F1234560F6A7DE822574BF2F8190F6CD",
"key_id": "6B6801FE59DA030104702C69F1A7D46A",
"pssh": "CAESEAABAgMEBQYHCAkKCwwNDg8aCmludGVydHJ1c3QiASo=",
"la_url": "https://pr.service.expressplay.com/playready/RightsManager.asmx"
}
}
]
}
}Replace placeholder credentials with your actual ExpressPlay API token and endpoint. Use environment variables in production.
For a step-by-step walkthrough, see Tutorial: ExpressPlay Integration
We love creating powerful solutions that are aligned with the needs of your business.
Please send us a message if you have a question or Schedule a call for a demo to discuss your integration.
Contact us with any questions. We'd love to help.
Los Angeles, CA - (HQ)
San Francisco, CA
New York, NY