Introduction
Google Chromecast is a device that you plug into your TV's HDMI port. Using your smartphone or computer as a remote control, you can use Chromecast to access video content. The Chromecast Plugin for Brightcove Player enables the player to cast video from your desktop or Android Chrome browser to the Chromecast device.
The plugin supports all Video Cloud videos or external streams using HLS or DASH, including DRM-encrypted streams using Widevine. Advertising is supported through Video Cloud server-side ad insertion (SSAI). Client-side ads and playlists are not supported.
To use the plugin follow these steps:
- Load the Chromecast Plugin for Brightcove Player (detailed below).
- Be sure the Chromecast device is on the same network as your device that will play the video.
- Start playing the video.
- Click the cast button and select your Chromecast device.
Chromecast app components
The software behind Chromecast is comprised of the following components:
-
Sender application: This is any application that can initiate a cast session and communicate with a receiver. The sender application can be thought of as the "client side" portion of the Chromecast ecosystem.
The Chromecast Plugin for Brightcove Player enables the sender app in Brightcove Player. You will learn about it in this topic.
-
Receiver application: This is a custom web application that is hosted on the public internet and runs on a Chromecast device. It handles communication between the sender app and the receiver device. It can be thought of as a single page HTML app with CSS and JavaScript assets.
Supported devices
The following devices are supported:
- Chromecast (3rd Generation)
- Chromecast Ultra
- Chromecast with Google TV (preliminary support)
How it Works
The current implementation (plugin/receiver version 2.x) uses the CAF (Cast Application Framework) API.
When the Chromecast receiver plugin is added, the player will display a cast button in the player UI when there is an available Chromecast on the local network.
When this button is clicked or tapped, a cast session is initiated with the current video that is loaded in the Brightcove Player. Here's how it works:
- The plugin sends a set of parameters to the receiver.
- The receiver mirrors the sending player by loading it from Brightcove's CDN.
- Once loaded, the receiver-side player loads the video ID from the Playback API that was sent when the cast session began.
- Then, the receiver-side player begins playback at the playhead position of the sending player.
This process is identical for non-Video Cloud sources except there is no Playback API request.
Analytics
Currently, from an analytics perspective, the cast session is treated as an entirely new playback session.
From a UX perspective, the viewer will see their stream pause on the sender device and resume on the receiver.
From a data perspective, because our metrics are anonymized by default, it is logged as a new viewer starting a new stream on a separate device. This is what actually happens.
Implementation
The Chromecast feature can be used with the following Brightcove players:
- Web player - Chromecast Plugin for Brightcove Player
- Android - Cast plugin for the Native SDK for Android
- iOS - Google Cast Plugin for Native SDK for iOS