Muestra de Brightcove Player: Videos relacionados a través de etiquetas (API de reproducción)

En este tema, aprenderás a recuperar vídeos con las mismas etiquetas que el vídeo actual y mostrarlos en una superposición. Esta muestra usa la API de reproducción para recuperar los videos.

Introducción

En este tema, aprenderá cómo recuperar datos de la API de reproducción y mostrarlos en una superposición para Brightcove Player. Esta superposición muestra un conjunto de vídeos relacionados (mediante etiquetas o metadatos) en su cuenta cuando la reproducción se pausa o finaliza. También vea el Versión de la API de CMS de esta muestra.

Limitaciones

Ejemplo de jugador

En este ejemplo se muestra una superposición interactiva de miniaturas de vídeo relacionadas cuando la reproducción está en pausa o ha finalizado. Comience a reproducir el vídeo que aparece a continuación. Cuando pausas la reproducción o cuando finaliza el vídeo, aparecerá una superposición de vídeos relacionados.

Ver la pluma 18485-etiquetas-de-videos-relacionados-reproducción-api por Brightcove Learning Services ( bcls1969 ) en CodePen.

Código fuente

Ver el solución completa en GitHub.

Resumen

Esta muestra llama a la API de reproducción y busca videos relacionados en la misma cuenta, que tienen el mismo valor de etiqueta que el video cargado en el reproductor. Estos videos relacionados se muestran luego como miniaturas interactivas en una superposición cuando la reproducción de video está en pausa o ha finalizado. Al seleccionar una miniatura en la superposición, carga el vídeo asociado en el reproductor e inicia la reproducción.

Si es nuevo en el uso de la API de reproducción, comience por revisar los siguientes documentos:

Uso de CodePen

Estos son algunos consejos para utilizar eficazmente el CodePen anterior:

  • Cambie la visualización real del reproductor haciendo clic en el Result botón.
  • Haga clic en el HTML/CSS/JS botones para mostrar UNO de los tipos de código.
  • Más adelante, en este documento, la lógica, el flujo y el estilo utilizados en la aplicación se analizarán en la configuración de reproductor/HTML, Flujo de aplicaciones y Estilo de la aplicación. secciones. La mejor manera de seguir la información de estas secciones es:
    1. Haga clic en el EDIT ON CODEPEN en el CodePen y tenga el código disponible en un navegador / pestaña del navegador.
    2. En CodePen, ajusta el código que quieres que se muestre. Puede cambiar el ancho de las distintas secciones de código dentro de CodePen.
    3. Ver el Configuración de reproductor / HTML , Flujo de aplicación y / o Estilo de aplicación secciones en otra pestaña del navegador / navegador. Ahora podrá seguir las explicaciones del código y, al mismo tiempo, ver el código.

secuencia de desarrollo

Esta es la secuencia de desarrollo recomendada:

  1. Utilice la implementación del reproductor de incrustación en la página para probar la funcionalidad de su reproductor, complemento y CSS (si es necesario CSS)
  2. Coloque el JavaScript y CSS del plugin en archivos separados para pruebas locales
  3. Implementa el código del plugin y CSS en tu servidor una vez que hayas resuelto cualquier error.
  4. Usa Studio para agregar el plugin y CSS a tu reproductor
  5. Reemplace la implementación del reproductor de incrustación en página si determina que la implementación de iframe se ajusta mejor (se detalla en la siguiente sección)

Para obtener más información sobre estos pasos, consulte la sección Paso a paso: Guía de desarrollo de plugins.

iframe o incrustación en página

Al desarrollar mejoras para Brightcove Player, deberás decidir si el código se ajusta mejor a la implementación de iframe o incrustación en la página. La recomendación de práctica recomendada es crear un complemento para usarlo con una implementación de iframe. Las ventajas de utilizar el reproductor iframe son:

  • Sin colisiones con JavaScript y/o CSS existentes
  • Responde automáticamente
  • El iframe facilita el uso en aplicaciones de redes sociales (o siempre que el vídeo tenga que «viajar» a otras aplicaciones)

Aunque la integración del reproductor de incrustación en la página puede ser más compleja, hay ocasiones en que planificará el código en torno a esa implementación. Para generalizar, este enfoque es mejor cuando la página que contiene necesita comunicarse con el reproductor. En concreto, estos son algunos ejemplos:

  • El código de la página que contiene necesita escuchar y actuar en función de los eventos de los jugadores
  • El reproductor utiliza estilos de la página que lo contiene
  • El iframe hará que la lógica de la aplicación falle, como un redireccionamiento desde la página que contiene

Incluso si tu implementación final no utiliza el código iframe, puedes seguir usando el código de incrustación en la página con un plugin para tu JavaScript y un archivo separado para tu CSS. Esto encapsula tu lógica para que puedas utilizarla fácilmente en varios reproductores.

Recursos de API/plugins utilizados

Métodos API Eventos API Propiedades de API
jugar () metadatos cargados mediainfo.account_id
catalog.load ()   mediainfo.tags [0]
Catalog.getVideo ()   mediainfo.name

Configuración de reproductor/HTML

El complemento Overlay se define e inicializa en el código JavaScript de este ejemplo. La razón por la que se hace aquí, es que necesitamos obtener los metadatos de los vídeos relacionados antes de inicializar la superposición.

Si quieres incluir el complemento Overlay en la configuración de tu reproductor, puedes agregar los archivos JavaScript y CSS de Superposición en el módulo Players de Video Cloud Studio. En el Complementos sección , deja el Nombre propiedad en blanco, para que pueda inicializar el complemento dentro del código.

Otros HTML

Recuerda añadir el id atributo a la video etiqueta en el código de inserción del reproductor.

<video-js id="myPlayerID"
		...

Flujo de aplicaciones

La lógica básica detrás de esta aplicación es:

  • Cree variables que definan valores para la URL básica de la API de reproducción y su clave de política.
  • Espere a que el vídeo comience a cargarse para recuperar los metadatos de vídeo.
  • Configure la solicitud para la API de reproducción.
  • Realice la solicitud a la API de reproducción para obtener los primeros 9 videos relacionados.
  • Dar formato al contenido superpuesto para mostrar las miniaturas de cada uno de los vídeos relacionados.
  • Cuando un usuario selecciona una de las miniaturas de vídeo relacionadas, cárgala en el reproductor e inicia la reproducción.

Definir valores

Cree variables que definan valores para la URL básica de la API de reproducción y su clave de política.

Esperar metadatos cargados

Busque el código etiquetado:

// +++ Wait for loadedmetadata +++

Espere a que el vídeo comience a cargarse escuchando el loadedmetadata evento. Esto garantiza que los metadatos de vídeo, como el identificador de cuenta, el nombre y los valores de etiqueta, estén disponibles en el mediainfo objeto.

Configurar la solicitud de API

Busque el código etiquetado:

// +++ Setup the API request +++

Con la información del video cargado actualmente en el reproductor, cree una solicitud de búsqueda de la API de reproducción para videos en la misma cuenta. La búsqueda buscará vídeos que tengan el mismo valor que la primera etiqueta del vídeo actual. Excluirá cualquier vídeo con el mismo nombre que el vídeo actual y limitará el número de vídeos devueltos a 9. Ese es el número de personas que encajarán en nuestro diseño de superposición.

Realizar la solicitud de la API de reproducción

Busque el código etiquetado:

// +++ Make the Playback API request +++

Envíe una solicitud HTTP GET al servicio web RESTful de la API de reproducción. Analiza los datos devueltos en formato JSON. Si se produce un error, muestre un mensaje de error.

Dar formato al contenido de superposición

Busque el código etiquetado:

// +++ Format the overlay content +++

Para dar formato al contenido superpuesto, realizará lo siguiente:

  • Extraiga la identificación, el nombre y la miniatura de cada video relacionado devuelto desde la API de reproducción y guárdelo en una matriz.
  • Al recorrer la matriz de vídeo relacionada, cree un <div> contenedor de listas de vídeos que contenga un <div> elemento para cada vídeo relacionado. Esto se convertirá en el contenido superpuesto.
  • Inicialice el complemento Overlay con el contenido de vídeos relacionados recién creado. Verá una cuadrícula de miniaturas de vídeo relacionadas cuando se muestre la superposición. Muestra la superposición cuando la reproducción de vídeo está en pausa o ha finalizado. Oculta la superposición cuando se reproduce el vídeo principal.

Cargar y reproducir vídeos relacionados

Busque el código etiquetado:

// +++ Load and play related video +++

Cree una función que cargue e inicie la reproducción del vídeo relacionado seleccionado por el usuario.

Estilismo de aplicaciones

El CSS estiliza la cuadrícula de miniaturas de vídeos relacionados para la superposición.

Código de plugin

Normalmente, al convertir JavaScript en un complemento de Brightcove Player, se necesitan cambios nominales. Un cambio necesario es reemplazar el uso estándar del ready() método por el código que define un complemento.

Aquí está el código de inicio a JavaScript muy utilizado que funcionará con el reproductor:

videojs.getPlayer('myPlayerID').ready(function() {
			var myPlayer = this;
			...
		});

Cambiarás la primera línea para usar la sintaxis estándar para iniciar un plugin de Brightcove Player:

videojs.registerPlugin('pluginName', function(options) {
			var myPlayer = this;
			...
		});

Como se mencionó anteriormente, puede ver el código JavaScript del complemento en el repositorio de GitHub correspondiente de este documento: related-videos.js.

Uso del complemento con un reproductor

Una vez que tengas los archivos CSS y JavaScript del plugin almacenados en una ubicación accesible a Internet, puedes usar el plugin con un reproductor. En Studio's JUGADORES módulo puedes elegir un jugador, luego en el PLUGINS sección agregue las URL a los archivos CSS y JavaScript, y también agregue el Nombre y Opciones , si se necesitan opciones.