NAGRA PRM Extension for Media3
The NAGRA PRM extension for Media3 enables you to play NAGRA PRM encrypted HLS streams within an existing or new native Java or Kotlin application. The extension extends the Media3 MediaSource APIs to provide smooth integration.
Supported versions and formats
Supported OS Versions | Adaptive Streaming | DRM | Audio/Video Container | Encrypt Method | Block/Cypher |
|---|---|---|---|---|---|
Android 5.x (Lollipop) onwards | HLS | PRM* | MPEG2-TS | AES 128 | AES 128 CBC |
* For PRM support, a PRM version of the Extension library is required.
Supported audio and video codecs
Video codec | Audio codec | Comments |
|---|---|---|
H.264 | AAC-LC | |
H.265 | AAC-LC | Only where the hardware supports H.265 decoding |
SDK file contents
NAGRA supplies two variants of the SDK library, one including a PRM decryption module (coming soon, software decryption) and one without (hardware decryption).
If the device has built-in hardware decryption capabilities, the non-PRM version of the library should be used.
media3-prm-extension-<version>-example-code.zip
This contains code examples to demonstrate the features of the extension; see Media3 NAGRA PRM Extension Example Code Quick Start.media3-prm-extension-<version>-sdk-integration.zip
This contains the.aarfile used for integration activities; see Media3 NAGRA PRM Extension Integration Guide | Creating-the-project.media3-prm-extension-<version>-sdk-production.zip
This contains the.aarfile that replaces the integration version when the application is ready to be deployed; see the Media3 NAGRA PRM Extension Integration Guide | Building-the-production-version.
If you have requested software NAGRA PRM support, the following PRM versions of the above files will be supplied:
media3-prm-extension-<version>-example-code-prm.zipmedia3-prm-extension-<version>-sdk-prm-integration.zipmedia3-prm-extension-<version>-sdk-prm-production.zip
In addition, the PRM Operational Vault file opvault.json is also provided.
Open-source usage
The following third-party software is used and embedded within Nagra PRM extension for Media3.
media3:lib-exoplayer-hls: classes are modified, renamed, and repackaged from'androidx.media3.exoplayer.hls'to'com.nagra.prm.hls'.