Complemento de Chromecast para Brightcove Player

En este tema, aprenderá cómo transmitir sus videos a un televisor conectado a Chromecast, utilizando el complemento de Chromecast (2.x) para Brightcove Player.

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:

  1. Incluya el complemento Chromecast para Brightcove Player (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 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:

  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.

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.

  1. Abre el JUGADORES módulo y cree un nuevo reproductor o localice el reproductor al que desea agregar el complemento.
  2. Selecciona el enlace del reproductor para abrir las propiedades del reproductor.
  3. En el menú de navegación de la izquierda, seleccione Complementos.
  4. A continuación, seleccione el Agregar un complemento y luego seleccione Complemento Brightcove.

    Botón Agregar un complemento
    Botón Agregar un complemento
  5. Ampliar la Complemento Brightcove desplegable y seleccione Receptor Chromecast.

    receptor cromado
    Receptor Chromecast
  6. 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.

  7. Selecciona el Ahorrar botón. Ahora verá el Receptor Chromecast complemento agregado a la lista de complementos para su reproductor.

    Plugin añadido
    Plugin añadido
  8. Para publicar el reproductor, seleccione Publicar e incrustar > Publicar cambios.
  9. Para cerrar el cuadro de diálogo abierto, seleccione Cerrar.
  10. 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:

    Botón de enviar

Configurar manualmente

Siga estos pasos para agregar el complemento usando el editor JSON:

  1. Abre el JUGADORES módulo y cree un nuevo reproductor o localice el reproductor al que desea agregar el complemento.
  2. Selecciona el enlace del reproductor para abrir las propiedades del reproductor.
  3. En el menú de navegación izquierdo, selecciona Editor JSON.

    Botón Agregar un complemento
    Editor JSON
  4. Agregue un objeto al plugins formación

    El 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:

  • options.appName

    Tipo: string
    Predeterminado : "Brightcove Chromecast CAF v2.0"

    Reemplace el nombre de la aplicación predeterminado con su propio nombre personalizado.

  • options.playerUrl

    Tipo: 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).

  • options.splashScreen

    Tipo: string
    Por defecto : ''

    La pantalla de inicio que debe mostrarse antes de un video y cuando los videos están cambiando.

  • options.ssaiDynamicMacros

    Tipo: Array
    Predeterminado : indefinido

    Esta 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.

  • options.authRequest

    Tipo : string o object o function
    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 '' 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
    El complemento Chromecast no es compatible con Safari en escritorio/iOS o Chrome en iOS. Para estos casos, el ícono de Chromecast no se mostrará.
  • 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 y options.js ya no son compatibles.
  • customData.analyticsParams fue añadido
  • customData.catalogData fue renombrado customData.catalogParams para mejorar la coherencia con otros usos
  • customData.policyKey fue reemplazado por customData.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í.