CONNECT Player SDK 5 for Android Documentation
The CONNECT Player SDK 5 for Android enables you to embed the player within an existing or new native Java or Kotlin application. The SDK wraps and extends the media player API, providing a similar interface to the Android Video view.
Supported versions and formats
Supported OS Versions | Adaptive Streaming Format | DRM | Audio/Video Container | Encrypt Method | Block/Cypher |
---|---|---|---|---|---|
Android 5.x (Lollipop) onwards | DASH | Widevine PlayReady PRM | ISOBMFF/F-MP4 | CENC | AES 128 CTR |
HLS | PRM | MPEG2-TS | AES 128 | AES 128 CBC |
Supported audio and video codecs
Video codec | Audio codec | Comments |
---|---|---|
H.264 | AAC-LC HE-AAC | |
H.265 | AAC-LC HE-AAC | Only where the hardware supports H.265 decoding |
SDK file contents
NAGRA supplies two variants of the SDK library, one with PRM support and one without. If PRM is not required, the Android SDK 5 package typically contains the following files:
- opy-sdk-android-5.15.x-example-code.zip
This contains code examples to demonstrate the features of the CONNECT Player; see the Android SDK 5 Example Code Quick Start guide. - opy-sdk-android-5.15.x-sdk-integration.aar
This file is used for integration activities and is necessary to produce debug logs from the native part of the application; see the Android SDK 5 Integration Guide: Creating the project . - opy-sdk-android-5.15.x-sdk-production.aar
This file replaces the integration version when the application is ready to be deployed; see the Android SDK 5 Integration Guide: Building the production version .
If you have requested Playback of PRM encrypted content (Software PRM) support, PRM versions of the above files will be supplied:
- opy-sdk-android-5.15.x-example-code-prm.zip
- opy-sdk-android-5.15.x-sdk-prm-integration.aar
- opy-sdk-android-5.15.x-sdk-prm-production.aar
The PRM Operator Vault file opvault.json is provided separately.
Dependencies
The table below lists the external library dependencies for integrating the SDK and its features. Dependencies for other features are listed under the relevant feature description.
Dependency | Version | Required for |
---|---|---|
androidx.appcompat:appcompat | 1.2.0 | Android X general support |
com.google.guava:guava | 27.1-android | Google Java Core Libraries |
androidx.room:room-runtime | 2.2.5 | Offline playback feature |
com.google.protobuf:protobuf-lite | 3.0.1 | Handling Widevine-encrypted content |
com.google.ads.interactivemedia.v3:interactivemedia | 3.20.1 | Playing Google IMA ads |
com.google.android.gms:play-services-ads-identifier | 17.0.0 | Playing Google IMA ads |
insight-agent | 1.1.4 | NAGRA Insight agent for collecting statistics |
Build configuration and tool parameters
To build an application with this SDK, the following have to be configured in your Gradle file(s):
Configuration item | Configuration value |
---|---|
compileSdkVersion | 30 or higher |
minSdkVersion | 21 or higher |
Recommended tools versions
Tool | Recommended version |
---|---|
Java JDK | 1.8 |
Gradle | 6.6 |
Android Gradle Plugin | 4.0.2 |
Open-source usage
The following third-party software is used and embedded within the CONNECT Player SDK 5 for Android.
Open Source | Version | Licence | Website |
---|---|---|---|
exo-player | 2.12.0 | Apache V2.0 | https://github.com/google/ExoPlayer/blob/release-v2/LICENSE |
Java-side open-source libraries | |||
protobuf-lite | 3.0.1 | MIT | https://github.com/elderapo/protobuf-lite/blob/master/LICENSE |
guava | 27.1-android | Apache V2.0 | https://github.com/google/guava/blob/master/LICENSE |