Chromecast con los SDK nativos

En este tema, aprenderá a transmitir videos a un televisor conectado a Chromecast desde sus aplicaciones creadas con los SDK nativos de Brightcove.

Introducción

Google Chromecast es un dispositivo que conectas al puerto HDMI de tu televisor. Utilizando tu smartphone u ordenador como mando a distancia, puedes usar Chromecast para acceder al contenido de vídeo. El complemento de Chromecast permite a un jugador transmitir video desde la aplicación de su dispositivo móvil utilizando los SDK nativos de Brightcove al dispositivo Chromecast.

El complemento admite todos los vídeos de Video Cloud o secuencias externas que utilizan HLS o DASH, incluidas las transmisiones cifradas con DRM mediante Widevine. La publicidad se admite mediante la inserción de anuncios del lado del servidor (SSAI) de Video Cloud. No se admiten anuncios ni listas de reproducción del lado del cliente.

Para usar el complemento, siga estos pasos:

  1. Incluya el complemento de Chromecast para el SDK nativo para Android y/o iOS (consulte la sección Implementación a continuación).
  2. Asegúrese de que el dispositivo Chromecast esté en la misma red que el dispositivo que reproducirá el vídeo.
  3. Empieza a reproducir el vídeo.
  4. Haz clic en el botón de lanzamiento y selecciona tu dispositivo Chromecast.

Componentes de la aplicación Chromecast

El software detrás de Chromecast se compone de los siguientes componentes:

  • Aplicación del remitente : Esta es cualquier aplicación que pueda iniciar una sesión de transmisión y comunicarse con un receptor. La aplicación de remitente se puede considerar como la parte del «lado del cliente» del ecosistema de Chromecast.

    El complemento de Chromecast habilita la aplicación del remitente en los SDK nativos. Lo aprenderás en este tema.

  • Aplicación del receptor : Esta es una aplicación web personalizada que se aloja en la Internet pública y se ejecuta en un dispositivo Chromecast. Maneja la comunicación entre la aplicación del remitente y el dispositivo receptor. Se puede considerar como una aplicación HTML de una sola página con recursos CSS y JavaScript.

    De forma predeterminada, el complemento de Chromecast utiliza la aplicación Brightcove Cast Receiver, que está alojada en nuestra CDN. La aplicación receptora es una aplicación web que se carga en el Chromecast durante una sesión de transmisión.

Dispositivos Chromecast compatibles

Se admiten los siguientes dispositivos:

  • Chromecast (tercera generación)
  • Chromecast Ultra
  • Chromecast con Google TV

Cómo funciona

La implementación actual (plugin / receptor versión 2.x) utiliza la API CAF (Cast Application Framework).

Cuando se agrega el complemento del receptor de Chromecast, el reproductor mostrará un botón de transmisión en la interfaz de usuario del reproductor cuando haya un Chromecast disponible en la red local.

Cuando se hace clic o se toca este botón, se inicia una sesión de transmisión con el video actual que está cargado en el reproductor. Así es como funciona:

  1. El complemento envía un conjunto de parámetros al receptor.
  2. El receptor refleja el reproductor emisor cargándolo desde el CDN de Brightcove.
  3. Una vez cargado, el reproductor del lado del receptor carga el ID de video de la API de reproducción que se envió cuando comenzó la sesión de transmisión.
  4. Luego, el reproductor del lado del receptor comienza a reproducir en la posición del cabezal de reproducción del reproductor emisor.

Este proceso es idéntico para las fuentes que no son de Video Cloud, excepto que no hay una solicitud de API de reproducción.

Analítica

Actualmente, desde una perspectiva analítica, la sesión de transmisión se trata como una sesión de reproducción completamente nueva.

Desde una perspectiva de UX, el espectador verá que su transmisión se detiene en el dispositivo emisor y se reanuda en el receptor.

Desde la perspectiva de los datos, debido a que nuestras métricas son anónimas de forma predeterminada, se registra como un nuevo espectador que inicia una nueva transmisión en un dispositivo separado. Esto es lo que realmente sucede.

Implementación

Para obtener detalles de implementación, consulte lo siguiente:

Datos personalizados

El customData La interfaz proporciona un método mediante el cual los remitentes pueden pasar datos arbitrarios a un receptor Chromecast personalizado, como la aplicación de receptor de Brightcove.

Para el remitente de Brightcove Player (web), customData es manejado completamente por el complemento. No hay nada que hacer para los integradores.

Para todos los demás remitentes, como Native SDK para Android o iOS, customData debe ser construido por el emisor.

customData.accountId (requerido)

Tipo: string

Cuando se transmite desde un reproductor web, esto es automático. Todos los demás remitentes (por ejemplo, los SDK nativos) deben establecer esto explícitamente.

customData.analyticsParams

Tipo: object

Esta propiedad debe ser un objeto, que se puede usar para pasar parámetros a la implementación de análisis en el receptor para balizas enviadas a la API de recopilación de datos. Admite las siguientes propiedades:

Propiedad Tipo Descripción
analyticsParams.application string Permite configurar un ID de aplicación de texto claro. Esto es útil para aplicaciones como Engage.
analyticsParams.user string Permite configurar una identificación de usuario de texto claro para balizas enviadas a la API de recopilación de datos. Esto es útil para funciones como Cross Device Resume (XDR).

customData.catalogParams

Tipo: object

Esto debería ser un Objetos de Parámetros de Catálogo

Todos los valores pasados a la API de reproducción en el receptor deben provenir de este objeto.

customData.keySystems

Tipo: object

Al proporcionar medios a través de un objeto de información de medios, esto se puede usar para proporcionar configuraciones de DRM en un formato idéntico al devuelto por la API de reproducción:

keySystems: {
  'com.widevine.alpha': {
    url: 'https://url/to/widevine/license'
  }
}

customData.playerUrl

Tipo: string

Esto se puede usar para proporcionar una URL de reproductor personalizada para cargar.

Al transmitir desde un reproductor web, de forma predeterminada reflejará el reproductor en el remitente. Este comportamiento se puede anular pasando "playerUrl": "default" en opciones (ver arriba). Esto es útil para las pruebas.

Al transmitir desde SDK nativos, volverá al reproductor predeterminado (que está disponible en la cuenta Players Prod).