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 enables a player to cast video from your {% if site.product_short == "SDKs" %} mobile device app using the Brightcove Native SDKs {% else %} desktop or Android Chrome browser using Brightcove Player {% endif %} 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). Playlists are supported with the Brightcove receiver on Chromecast with the web player. Client-side ads are not supported.

To use the plugin follow these steps:

  1. Include the Chromecast Plugin for {% if site.product_short == "SDKs" %} the Native SDK for Android and/or iOS {% else %} Brightcove Player {% endif %} (see Implementation section below).
  2. Be sure the Chromecast device is on the same network as your device that will play the video.
  3. Start playing the video.
  4. Click the cast button and select your Chromecast device.

Chromecast app components

The software behind Chromecast is comprised of the following components:

Supported Chromecast devices

The following devices are supported:

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 player. Here's how it works:

  1. The plugin sends a set of parameters to the receiver.
  2. The receiver mirrors the sending player by loading it from Brightcove's CDN.
  3. Once loaded, the receiver-side player loads the video ID from the Playback API that was sent when the cast session began.
  4. 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.