Skip to main content
Skip table of contents

Helper code

Summary

As part of the OpenTV Platform product offering, NAGRA can provide the following software components to client UI developers to facilitate the quick-start development of client UI applications:

  1. Reference UIs: Customisable client applications that demonstrate common client application functionality including browse, purchase, search, record, catchup and playback functionality.
  2. JavaScript Framework (JSFW): A library of modules useful for client application development including modules that contain the most common calls to platforms and head-end services.
  3. OpenTV Players: Used on open devices only, the OpenTV Players are platform-specific software products that wrap the native player provided by the operating system whilst also providing Persistent Rights Management (PRM) security. They can be used on iOS, Android or Desktop (Mac and Windows) platforms.

Reference UIs

NAGRA provide two reference UIs for developers. Both make use of the JSFW.

  1. Gravity: Gravity has been designed to run on an OpenTV 5 middleware or an OpenTV 5 gateway middleware platform on a Set Top Box (STB). It has been designed so that mark-up (either HTML or SVG) is generated at run time from XML files. The SVG rendered application can run in the Ekioh browser. The HTML alternative can run within webkit.
  2. White label application: The WLA has been designed to run on both desktop (Windows and Mac) and hand held devices (Android and iOS) - including tablet and phone. It is rendered in HTML. Playback of encrypted content is controlled within the application via the JSFW through an interface with a platform-specific OpenTV Player, which is either a secure player (for hand held devices) or a secure plugin (for desktop).

Both reference UIs make use of JavaScript and CSS.

Customisation of the reference UIs includes:

  • turning off features not required by the customer.

  • changing the logo.

  • changing the colour scheme: within the WLA, a new colour scheme can be created and then referenced through the modification of a property attribute.

  • updating language text files for the client language: support for multiple languages is available.

  • modification of parental control parameters in line with regional requirements and legislation.

JavaScript Framework

The JavaScript Framework (JSFW) is a collection of unit-tested code libraries that can be used to aid application development.

The JSFW comprises the following modules:

  • Services: contains commonly used calls to NAGRA OpenTV Platform head-end (server-side) services.
  • Platform: contains commonly used calls to platform APIs (either OpenTV 5 for STB based applications or OpenTV Player for iOS, Android or desktop based applications).
  • GUI: contains “off-the-shelf” and extensible GUI components and controls that help the developer create a content rich UI.
  • Apps: contains "helper" functions including key handling (remote control input), dialog management, context management, language switching, AJAX request handling, and logging functionality.

The JSFW enables the rapid development of applications and is packaged with API documentation and example code.

OpenTV Player

The OpenTV Players are used on open devices only (not STB). They provide a platform player drop-and-replace strategy, allowing applications that already use or plan to use the native player to enable Nagra PRM protection effortlessly. The base features are:

  • Content delivery
    • Content acquisition from the Content Delivery Network (CDN) of HTTP Live Streaming (HLS) playlists and chunks
    • HLS proxy and bitrate limiting
  • Video player
    • Video descrambling
    • Video, audio,and closed caption rendering
  • Security
    • License descrambling
    • Obfuscation
    • Enforcement of “usage rules” (jailbreak detection, output control, and so on)
    • Whitebox content descrambling

White label application interaction with the OpenTV Player is through the JSFW. This provides a common interface to the client application for slightly different native (and hence different OpenTV Player) implementations. 

The secure player can also playback content transcoded and streamed from an OpenTV 5 gateway. In this scenario it can also act as a companion device to the gateway.

OpenTV Player can currently run on iOS, Android, Apple Mac and Windows PC.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.