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 que un reproductor transmita videos desde su escritorio o el navegador Chrome de Android usando Brightcove Player 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:
- Incluya el complemento Chromecast para Brightcove Player (consulte la sección Implementación a continuación).
- Asegúrese de que el dispositivo Chromecast esté en la misma red que el dispositivo que reproducirá el vídeo.
- Empieza a reproducir el vídeo.
- 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 Chromecast para Brightcove Player habilita la aplicación remitente en Brightcove Player. Lo aprenderás en este tema.
-
aplicación de 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 (3.ª 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:
- El complemento envía un conjunto de parámetros al receptor.
- El receptor refleja el reproductor emisor cargándolo desde el CDN de Brightcove.
- 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.
- 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.
Requisitos
Los siguientes requisitos son necesarios para el complemento de Chromecast:
- Brightcove Player v6.45.0 o más reciente
- Complemento Brightcove Chromecast v2.0.0 o más reciente
Implementación
El complemento Chromecast para Brightcove Player se utiliza como todos los demás complementos de Brightcove Player, es decir, debes cargar el plugin en el reproductor.
Uso de Studio
En los siguientes pasos se detalla el uso de Studio para cargar el complemento.
- Abre el JUGADORES módulo y cree un nuevo reproductor o localice el reproductor al que desea agregar el complemento.
- Selecciona el enlace del reproductor para abrir las propiedades del reproductor.
- En el menú de navegación de la izquierda, seleccione Complementos.
-
A continuación, seleccione el Agregar un complemento y luego seleccione Complemento Brightcove.
-
Ampliar la Complemento Brightcove desplegable y seleccione Receptor Chromecast.
-
Opcional: Ingrese las opciones de configuración en el Opciones (JSON) caja de texto. Un ejemplo del reproductor predeterminado en el 1752604059001 se muestra la cuenta. Por supuesto, tienes que introducir información para tu jugador.
{ "playerUrl" : "https://players.brightcove.net/1507807800001/default_default/index.min.js" }
Consulte a continuación para obtener más información sobre las opciones.
-
Selecciona el Ahorrar botón. Ahora verá el Receptor Chromecast complemento agregado a la lista de complementos para su reproductor.
- Para publicar el reproductor, seleccione Publicar e incrustar > Publicar cambios.
- Para cerrar el cuadro de diálogo abierto, seleccione Cerrar.
-
Regresa a MEDIA y publica tu vídeo o lista de reproducción utilizando el reproductor que acabas de actualizar para Chromecast.
Una vez cargado el plugin, el vídeo ha comenzado a reproducirse y hay un dispositivo Chromecast disponible en el alcance, el botón de conversión aparecerá en el reproductor como se muestra aquí en esta captura de pantalla de un reproductor:
Configurar manualmente
Siga estos pasos para agregar el complemento usando el editor JSON:
- Abre el JUGADORES módulo y cree un nuevo reproductor o localice el reproductor al que desea agregar el complemento.
- Selecciona el enlace del reproductor para abrir las propiedades del reproductor.
-
En el menú de navegación izquierdo, selecciona Editor JSON.
-
Agregue un objeto al
plugins
formaciónEl código debería tener un aspecto similar a este:
{ "compatibility": true, "video_cloud": { "policy_key": "your policy key" }, "player": { "template": { "name": "single-video-template", "version": "6.45.4" } }, "studio_configuration": { "player": { "responsive": true, "height": 540, "width": 960, "units": "px" } }, "plugins": [ { "name": "chromecastReceiver", "options": {}, "stylesheets": ["https://players.brightcove.net/videojs-chromecast-receiver/2/videojs-chromecast-receiver.css"], "scripts": ["https://players.brightcove.net/videojs-chromecast-receiver/2/videojs-chromecast-receiver.js"] } ] }
Consulte a continuación para obtener más información sobre las opciones.
Opciones de configuración
Independientemente del método que elija para configurar el complemento de Chromecast para Brightcove Player, puede pasar opciones para modificar el comportamiento del complemento. Si bien no es necesario configurar estas opciones, los usuarios avanzados pueden realizar personalizaciones adicionales.
Para pasar opciones en código, utilizaría algo similar a lo siguiente:
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
options = {};
options.playerUrl = '//players.brightcove.net/1752604059001/default_default/index.min.js'; myPlayer.chromecastReceiver(options);
});
Consejo
Si sus reproductores web contienen una gran cantidad de complementos o scripts personalizados, debería considerar la posibilidad de crear un reproductor ligero específicamente para la reproducción de Chromecast.
Dado que el reproductor web y su motor de reproducción consumen muchos recursos, la ejecución en un entorno con recursos limitados (como un Chromecast) con scripts pesados adicionales puede afectar negativamente la experiencia del usuario.
Opciones
El complemento de Chromecast admite las siguientes opciones:
-
Tipo:options.appName
string
Predeterminado : "Brightcove Chromecast CAF v2.0"Reemplace el nombre de la aplicación predeterminado con su propio nombre personalizado.
-
Tipo:options.playerUrl
string
Por defecto : ''De forma predeterminada, el reproductor del lado del remitente se refleja en el receptor. Puede utilizar esta opción para proporcionar una URL personalizada de Brightcove Player en el lado del receptor.
Dado que se trata de un reproductor de Brightcove que se carga en el receptor, puedes personalizar, diseñar y depurar el reproductor fuera de Chromecast.
Tenga en cuenta que al utilizar la opción
playerUrl
, los reproductores utilizados como emisor y receptor son diferentes. Si está utilizando reproductores restringidos por dominio, debe usar la lista blanca. La lista blanca debe hacerse para el jugador remitente , NO para el jugador utilizado como receptor (que es el jugador especificado en esta opción). -
Tipo:options.splashScreen
string
Por defecto : ''La pantalla de inicio que debe mostrarse antes de un video y cuando los videos están cambiando.
-
Tipo:options.ssaiDynamicMacros
Array
Predeterminado : indefinidoEsta opción permite a los usuarios pasar un conjunto de macros de anuncios dinámicos al receptor Chromecast desde el reproductor web.
Cada elemento de esta matriz debe ser una cadena que coincida con el nombre de una variable global (una propiedad de
window
). Luego, este valor se pasará al reproductor en el Chromecast y se usará al resolver macros de anuncios en una URL VOD SSAI.Por ejemplo, supongamos que su implementación de SSAI se basa en el
exampleMacro
estar disponible a nivel mundial. Agregaría lo siguiente a sus opciones de complemento de Chromecast:"ssaiDynamicMacros": ["exampleMacro"]
Cuando el jugador emisor lanza, pasará el valor de
window.exampleMacro
al receptor, donde será recogido automáticamente por la resolución macro de anuncios SSAI incorporada.
Opciones poco comunes
Las siguientes opciones no se utilizan generalmente.
-
Tipo :options.authRequest
string
oobject
ofunction
Predeterminado : {}
Puede usar esta opción si necesita que Chromecast realice una solicitud para obtener autorización para reproducir contenido antes de que se solicite un video.
También puede usar esto para obtener cookies, pero su servidor deberá estar configurado para permitir
players.brightcove.net
la capacidad de establecer cookies entre dominios si aloja su propio contenido.Uso de cadenas
Cuándo
authRequest
es una cadena, se realizará una solicitud GET vacía a esa URL.Uso de objetos
Cuándo
authRequest
es un objeto, se puede utilizar para especificar determinadas propiedades de carga útil de la solicitud:Propiedad Tipo Requerido Predeterminado Descripción url
string
Sí ''
La URL para solicitar method
string
No GET
El método HTTP a utilizar body
string
No ''
El cuerpo de la solicitud headers
object
No {}
Objeto que describe los encabezados HTTP donde las claves son el nombre del encabezado y las propiedades son los valores del encabezado. withCredentials
boolean
No false
Objeto que describe los encabezados HTTP donde las claves son el nombre del encabezado y las propiedades son los valores del encabezado. timeout
number
No 15000
Cuántos milisegundos esperar antes de renunciar a la solicitud de autenticación Uso de funciones
Cuándo
authRequest
es una función, debería devolver una cadena o un objeto según esos usos.
Limitaciones y problemas conocidos
- El contenido HEVC / 4K solo es compatible con dispositivos Chromecast Ultra y dispositivos Chromecast más nuevos con Google TV.
- Actualmente no se admite la publicidad del lado del cliente, pero se admite SSAI.
- El ajuste de la tasa de reproducción no es compatible actualmente con este complemento.
- Hemos visto problemas con la búsqueda del remitente después de que se ha seleccionado una pista de subtítulos y se muestra en el receptor.
- En Chromecast con dispositivos Google TV, hemos visto problemas con la interfaz de usuario, así como problemas de reproducción al usar subtítulos.
- Google ha dejado de admitir orígenes no seguros (HTTP) con Chromecast, por lo que el complemento no funcionará en contextos no seguros. En estos casos, el botón Chromecast del jugador no aparecerá.
-
Dado que el complemento Chromecast depende de la compatibilidad del navegador para el casting, solo se admite en las siguientes combinaciones de sistemas operativos y navegadores:
- Escritorio/Chrome
- Android/Chrome
- Google no admite varias instancias del botón remitente de Chromecast en una sola página. Las posibles soluciones alternativas serían incrustar Brightcove Player utilizando la implementación del reproductor Standard (iframe) o crear instancias dinámicas y destruir jugadores según sea necesario. Consulte el documento Ejemplo de Brightcove Player: Cargar el reproductor dinámicamente para obtener información sobre esta última posibilidad.
- Este complemento no se transmite a Google Nest Hub. El complemento solo admite dispositivos Chromecast reales (es decir, Chromecast y Chromecast Ultra).
- Android WebView no admite la transmisión con Chromecast. Para obtener más información, consulte el Rastreador de problemas de Android.
Cambios de v1.x a v2.x
Además de los cambios internos, como el uso de la API de CAF en lugar de la API de Chromecast v2, las siguientes interfaces han cambiado:
-
options.css
yoptions.js
ya no son compatibles. customData.analyticsParams
fue añadidocustomData.catalogData
fue renombradocustomData.catalogParams
para mejorar la coherencia con otros usoscustomData.policyKey
fue reemplazado porcustomData.catalogParams.policyKey
customData.keySystems
fue añadido
Registro de cambios
Ver el Lanzamiento del complemento y del receptor de Chromecast.
Para obtener notas de la versión histórica, consulte la registro de cambios aquí.