Chromecast is used for playing streaming content from OTT platforms and other sources on smart TVs. Content discovery and playback through Chromecast is controlled through a mobile device or a personal computer using applications that support the Google Cast protocol, or alternatively via Google Assistant. The challenge for OTT platforms is the secure content playback through this medium, since there is limited support for DRM technology on Chromecast.
The Chromecast development framework has the following two components: A sender application based on the OTT content provider’s mobile or web app which gives users content discovery and media controls and a receiver app, which is a JavaScript/HTML5 application that executes in a Chrome browser-like environment on the Chromecast receiver device. The web receiver app performs the following functions:
- It provides an interface to display the OTT app’s content on TV.
- It handles messages from the sender application to control content on the web receiver device.
- It handles custom messages from the sender application that are application specific.
The sender sends streaming requests to the Chromecast receiver and the receiver application, which is a separate HTML page on the dongle, presents the requested content on TV. Both these components use APIs provided by the Google Cast SDK. It should be noted that for Chromecast to work, both the user’s device and the Chromecast dongle must be connected to the same wireless network. The Web Receiver SDK supports three types of streaming protocols; DASH. HTTP Live Streaming, and Smooth Streaming.
Since Google’s built-in receiver does not have native support for DRM video protection technology, the OTT app developer must implement a custom receiver app through the SDK provided by a multi-DRM vendor. It is a custom built HTML5 app that can be used to play DRM-protected video content by integrating Chromecast Google Widevine Android SDK. This is done using the Media Player Library that helps set up authentication and tailor the application according to one’s DRM requirements. (Chromecast does not support Apple FairPlay DRM, so to use an iOS device with Chromecast, the content needs to be repackaged DASH-CENC and protected through Google Widevine DRM technology.)
In order to stream packaged through a multi-DRM vendor using its custom receiver app, custom data used for license issuance needs to be transferred to the app. If the DRM license/key information is provided in the app’s manifest file, the DRM content will play on a Styled Media Receiver or the Default Media Receiver. Once the multi-DRM vendor’s custom receiver app has been modified, it can directly be used by registering on the Google Cast Developer Console. This gives the OTT developer a unique application ID which is used by the OTT sender application to perform API calls, such as launching the receiver application securely.