Player architecture

The OpenTV Player comprises three main blocks: the DRM and Player APIs, the Player Core, and NAGRA’s PRM.

The Player Core and DRM block (NAGRA PRM) are tightly integrated together and are protected by anti-hacking techniques (obfuscation and code hardening).

Player Core

The Player Core is responsible for:

  • Downloading video segments and playlists
  • Demuxing
  • Decoding
  • Rendering video and subtitles
  • Download management for offline viewing
  • Device discovery
  • Output control enforcement
  • Offline consumption


NAGRA's PRM is the DECE-approved DRM core and is responsible for:

  • Handling licenses
  • Content descrambling
  • Device and upgrade management
  • Handling rooted and jailbroken devices
  • Offline consumption

DRM and Player APIs

The functions available at the player and DRM level are exposed in a clean and comprehensive manner for UI developers.

The APIs are provided in JavaScript on Windows, Mac, iOS and Android platforms.

These API functions are also available as native functions on iOS (Swift) and Android (Java) platforms when using our SDKs.

See also