SDK del reproductor de IVS: integración de Video.js
Este documento describe las funciones más importantes disponibles en el reproductor Video.js de Amazon Interactive Video Service (IVS).
Versión más reciente de la integración del reproductor Video.js: 1.36.0 (Notas de la versión)
Introducción
La compatibilidad con Amazon IVS para Video.js se implementa a través de la tecnología
Tenga en cuenta que, al crear una instancia del reproductor, la opción de fuentessrc()
de Video.js. Si la reproducción automática está habilitada, la transmisión comenzará a reproducirse; de lo contrario, use play()
para iniciar la reproducción.
Demostración
La siguiente demostración en directo muestra cómo utilizar la integración con Video.js con etiquetas de script de nuestra red de entrega de contenido: Integración de Video.js con el reproductor de Amazon IVS
Configuración con la etiqueta de script
Para configurar la tecnología de Amazon IVS a través de la etiqueta de script
:
-
Incluya la siguiente etiqueta (para la última versión de la integración del reproductor).
<script src="https://player.live-video.net/1.36.0/amazon-ivs-videojs-tech.min.js"></script>
-
Registre la tecnología mediante la función
registerIVSTech
:registerIVSTech(videojs);
donde
videojs
es el objeto proporcionado por Video.js. -
Al crear una instancia del reproductor, agregue
AmazonIVS
como su primera tecnología en la opcióntechOrder
.
Al crear una instancia del reproductor, la opción de fuentessrc()
de Video.js. Si la reproducción automática está habilitada, la transmisión comenzará a reproducirse; de lo contrario, use play()
para iniciar la reproducción.
Código de muestra
En este ejemplo, PLAYBACK_URL
es la transmisión de origen que desea cargar. En el ejemplo se utiliza la última versión del reproductor de Amazon IVS.
<!doctype html> <html lang="en"> <head> <link href="https://cdnjs.cloudflare.com/ajax/libs/video.js/7.14.3/video-js.css" rel="stylesheet"> <script src="https://cdnjs.cloudflare.com/ajax/libs/video.js/7.14.3/video.min.js"></script> <script src="https://player.live-video.net/1.36.0/amazon-ivs-videojs-tech.min.js"></script> </head> <body> <div class="video-container"> <video id="amazon-ivs-videojs" class="video-js vjs-4-3 vjs-big-play-centered" controls autoplay playsinline></video> </div> <style> body { margin: 0; } .video-container { width: 640px; height: 480px; margin: 15px; } </style> <script> (function play() { // Get playback URL from Amazon IVS API var PLAYBACK_URL = ''; // Register Amazon IVS as playback technology for Video.js registerIVSTech(videojs); // Initialize player var player = videojs('amazon-ivs-videojs', { techOrder: ["AmazonIVS"] }, () => { console.log('Player is ready to use!'); // Play stream player.src(PLAYBACK_URL); }); })(); </script> </body> </html>
Configuración con NPM
Cómo utilizar el reproductor de Amazon IVS mediante npm:
-
Instale el paquete npm del Video.js
o asegúrese de que su proyecto tenga algún otro acceso a la biblioteca de Video.js. -
Instalación del paquete npm de
amazon-ivs-player
:npm install amazon-ivs-player
-
Cuando esté listo para registrar la tecnología de Amazon IVS, importe la función de
registerIVSTech
:import { registerIVSTech } from 'amazon-ivs-player';
-
Registre la tecnología mediante la función
registerIVSTech
:registerIVSTech(videojs, options);
donde:
-
videojs
es el objeto proporcionado por Video.js. -
options
son las opciones para la capa tecnológica de Amazon IVS. Las opciones admitidas son:-
wasmWorker
: la URL en la que el archivoamazon-ivs-wasmworker.min.js
está alojado. -
wasmBinary
: la URL en la que el archivoamazon-ivs-wasmworker.min.wasm
está alojado.
Los archivos de trabajo están en su carpeta
node_modules/
comoamazon-ivs-player/dist/
. Necesita alojarlos, para usar el reproductor de IVS. -
-
-
Al crear una instancia del reproductor, agregue
AmazonIVS
como su primera tecnología en la opcióntechOrder
:const player = videojs('videojs-player', { techOrder: ["AmazonIVS"] });
TypeScript
Si está utilizando TypeScript, nuestro paquete npm incluye los siguientes tipos que quizás desee importar y usar.
-
VideoJSEvents
, que describe la estructura que devuelvegetIVSEvents()
. -
VideoJSIVSTech
, que describe la interfaz de una instancia del reproductor que utiliza la tecnologíaAmazonIVS
. Puede vincularsecon el tipo de VideoJsPlayer
presente en el paquete npm de @types/video.js. -
TechOptions
, que describe la interfaz que define las opciones de configuración que puede enviar aregisterIVSTech()
.
Para obtener más información sobre estos tipos, consulte la Reproductor de Amazon IVS SDK: referencia Web
Eventos
Para escuchar eventos estándar de Video.js, utilice la función Activado
Para escuchar eventos específicos de Amazon IVS, agregue y elimine agentes de escucha de eventos en el reproductor web de Amazon IVS:
player.getIVSPlayer().addEventListener(event, callback); player.getIVSPlayer().removeEventListener(event, callback);
donde callback
es una devolución de llamada que define y event
es uno de los siguientes: PlayerEventType
o PlayerState
. Para obtener más información acerca de los eventos, consulte el Reproductor de Amazon IVS SDK: referencia Web
Errores
Para errores generales de Video.js, escuche el evento genérico error
en el reproductor:
player.on("error", callback);
Para errores específicos de Amazon IVS, escuche en el reproductor de Amazon IVS sus propios errores:
let playerEvent = player.getIVSEvents().PlayerEventType; player.getIVSPlayer().addEventListener(playerEvent.ERROR, callback);
La devolución de llamada recibirá un objeto con los siguientes campos:
Campo | Descripción |
---|---|
|
Tipo de error Corresponde con los eventos |
|
Código de error |
|
Fuente del error |
|
Mensaje de error legible por humanos. |
Complementos
Proporcionamos un complemento que crea un conmutador de interfaz de usuario para las cualidades disponibles. Para utilizar este complemento, se debe cargar al incluir el archivo amazon-ivs-quality-plugin.min.js
si utiliza nuestra tecnología a través de la siguiente etiqueta script
(para la última versión del reproductor de IVS):
<script src="https://player.live-video.net/1.36.0/amazon-ivs-quality-plugin.min.js"></script>
Si utiliza npm, importe el archivo registerIVSQualityPlugin
desde el módulo amazon-ivs-player
:
import { registerIVSQualityPlugin } from 'amazon-ivs-player';
A continuación, una vez que cree una instancia de su reproductor de Video.js, se requieren las siguientes llamadas para registrarlo y habilitarlo:
registerIVSQualityPlugin(videojs); // where videojs is the video.js variable player.enableIVSQualityPlugin(); // where player is the instance of the videojs player
Esto creará un botón de menú de interfaz de usuario que le permitirá seleccionar una calidad para la transmisión.
Complementos y TypeScript
Si utiliza TypeScript, nuestro paquete npm incluye el tipo VideoJSQualityPlugin
que es posible que desee importar y usar con nuestro complemento. Los complementos esencialmente son mixins, por lo que esta interfaz de tipo se debe usar como un tipo de intersecciónVideoJSIVSTech
.
Políticas de seguridad del contenido
La API de Video.js de Amazon IVS está configurada para funcionar en páginas que utilizan Políticas de seguridad del contenido (CSP). Consulte la sección “Trabajar con la política de seguridad de contenido” en la SDK del reproductor de IVS: guía para la Web.
Funciones
Reproducción
La API de Video.js de Amazon IVS admite las interfaces necesarias para el uso interno del marco de Video.js. Es probable que la aplicación del cliente no necesite utilizar estos métodos directamente, ya que Video.js realiza la integración necesaria y presenta una interfaz estándar. Sin embargo, si es necesario, una forma de acceder a los métodos internos del reproductor de Video.js y Amazon IVS consiste en utilizar el objeto del reproductor de Video.js a fin de obtener el identificador de objeto necesario para la tecnología.
Para acceder a la API, recupere la instancia de su reproductor de Video.js como lo haría normalmente:
let player = videojs("videoTagId"); //replace videoTagId with your <video> tag’s id
Luego puede llamar a las funciones en esa instancia.
A continuación, se muestra el subconjunto de funciones de Video.js que reemplaza la capa técnica de Amazon IVS. Para obtener una lista completa de las funciones de Video.js, consulte la Documentación de la API de video.js
Función | Descripción e información específica de Amazon IVS |
---|---|
Obtiene o establece el tiempo (en segundos desde el principio). Amazon IVS: no recomendamos configurar la hora actual para las transmisiones en directo. |
|
Elimina la instancia del reproductor Amazon IVS: esto también elimina el backend tecnológico de Amazon IVS. |
|
Devuelve la duración del video, en segundos. Amazon IVS: para las transmisiones en directo, devuelve |
|
Comienza a cargar los datos Amazon IVS: esto no presenta opciones. |
|
Reproduce la secuencia que se configuró a través de la llamada Amazon IVS: si se pausó una transmisión en directo, esto reproducirá la transmisión en directo desde los últimos fotogramas, en lugar de continuar desde donde estaba en pausa. |
|
Obtiene o establece la velocidad de reproducción de video. 1.0 significa velocidad normal; 0.5, media velocidad normal; 2.0, dos veces la velocidad normal; y así sucesivamente. Amazon IVS: en una transmisión en directo, una función Get devuelve 1 y se ignora un conjunto. |
|
Devuelve los Amazon IVS: para transmisiones en directo, llamar a |
Específico de Amazon IVS
La tecnología de Video.js de Amazon IVS tiene funciones adicionales para acceder a comportamientos específicos de las características de Amazon IVS:
Función | Descripción |
---|---|
Devuelve la instancia subyacente del reproductor de Amazon IVS. La API web completa del reproductor de Amazon IVS está disponible a través de esta instancia. Se recomienda utilizar la API básica de reproducción de Video.js tanto como sea posible y utilizar esta función solo para acceder a las características específicas de Amazon IVS. Las funciones más comunes a las que probablemente deba acceder en la instancia del reproductor de Amazon IVS son |
|
Devuelve un objeto que contiene enumeraciones específicas de Amazon IVS. Esto se utiliza para escuchar errores específicos de Amazon IVS. Para obtener más información, consulte Eventos y Errores. |
currentTime
Obtiene o establece el tiempo (en segundos desde el principio).
Amazon IVS: no recomendamos configurar la hora actual para las transmisiones en directo.
Firmas
currentTime currentTime(time)
Parámetro
Parámetro | Tipo | Descripción |
---|---|---|
|
número |
Si |
Valor de retorno
Tipo | Descripción |
---|---|
número |
La hora actual, en segundos desde el principio. |
eliminar
Elimina la instancia del reproductor.
Amazon IVS: esto también elimina el backend tecnológico de Amazon IVS.
Signature
dispose()
Parámetros
Ninguna
Valor de retorno
Ninguna
duración
Devuelve la duración del video, en segundos.
Amazon IVS: para las transmisiones en directo, devuelve Infinity
.
Signature
duration()
Parámetros
Ninguna
Valor de retorno
Tipo | Descripción |
---|---|
número |
La duración de la transmisión, en segundos. Para las transmisiones en directo, este valor es |
getIVSEvents
Devuelve un objeto que contiene enumeraciones específicas de Amazon IVS. Esto se utiliza para escuchar errores y eventos específicos de Amazon IVS. Para obtener más información, consulte:
-
SDK del reproductor de Amazon IVS: referencia Web
para obtener más información sobre eventos, tipos de errores y orígenes de error.
Signature
getIVSEvents()
Parámetros
Ninguna
Valor de retorno
Tipo | Descripción |
---|---|
|
Un objeto con las claves |
getIVSPlayer
Devuelve la instancia subyacente del reproductor de Amazon IVS. La API web completa del reproductor de Amazon IVS está disponible a través de esta instancia. Se recomienda utilizar la API básica de reproducción de Video.js tanto como sea posible y utilizar esta función solo para acceder a las características específicas de Amazon IVS. Las funciones más comunes a las que probablemente deba acceder en la instancia del reproductor de Amazon IVS son setQuality()
y addEventListener()
o removeEventListener()
.
Signature
getIVSPlayer()
Parámetros
Ninguna
Valor de retorno
Tipo | Descripción |
---|---|
|
La instancia creada del reproductor. |
carga
Comienza a cargar los datos src()
.
Amazon IVS: esto no presenta opciones.
Signature
load()
Parámetros
Ninguna
Valor de retorno
Ninguna
jugar
Reproduce la secuencia que se configuró a través de la llamada src
.
Amazon IVS: si se pausó una transmisión en directo, esto reproducirá la transmisión en directo desde los últimos fotogramas, en lugar de continuar desde donde estaba en pausa.
Signature
play()
Parámetros
Ninguna
Valor de retorno
Ninguna
playbackRate
Obtiene o establece la velocidad de reproducción de video. 1.0 significa velocidad normal; 0.5, media velocidad normal; 2.0, dos veces la velocidad normal; y así sucesivamente.
Amazon IVS: en una transmisión en directo, una función Get devuelve 1 y se ignora un conjunto.
Firmas
playbackRate playbackRate(rate)
Parámetro
Parámetro | Tipo | Descripción |
---|---|---|
|
número |
Velocidad de reproducción. Valores válidos: en el rango [0.25, 2.0]. |
Valor de retorno
Tipo | Descripción |
---|---|
número |
Velocidad de reproducción. |
buscable
Devuelve los TimeRanges
de los medios que se pueden buscar.
Amazon IVS: para transmisiones en directo, llamar a end(0)
entre los valores (TimeRange
) devuelve Infinito.
Signature
seekable()
Parámetro
Ninguna
Valor de retorno
Tipo | Descripción |
---|---|
|
Intervalo de tiempo de los medios que están disponibles para buscar. |