Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Kit SDK du lecteur Amazon IVS : intégration à Video.js
Ce document décrit les fonctions les plus importantes disponibles dans le lecteur Video.js Amazon Interactive Video Service (IVS).
Dernière version de l'intégration du lecteur Video.js : 1.24.0 (Release Notes)
Démarrage
La prise en charge d’Amazon IVS pour Video.js est implémentée via la technologie
Notez que lors de l’instanciation du lecteur, l’option des sourcessrc()
. Si la lecture automatique est activée, le flux démarre. Sinon, utilisez play()
pour démarrer la lecture.
Démonstration
La démo en direct suivante montre comment utiliser l’intégration Video.js avec les identifications de script de notre réseau de diffusion de contenu : Intégration à Video.js du lecteur Amazon IVS
Configuration avec la balise de script
Pour configurer la technologie Amazon IVS à l’aide de la balise script
:
-
Insérez l’identification suivante (pour la dernière version de l’intégration du lecteur).
<script src="https://player.live-video.net/1.24.0/amazon-ivs-videojs-tech.min.js"></script>
-
Enregistrez la technologie à l'aide de la fonction
registerIVSTech
:registerIVSTech(videojs);
où
videojs
est l’objet fourni par Video.js. -
Lors de la création d’une instance du lecteur, ajoutez
AmazonIVS
en tant que première technologie dans l’optiontechOrder
.
Lors de l’instanciation du lecteur, l’option des sourcessrc()
depuis celui-ci. Si la lecture automatique est activée, le flux démarre. Sinon, utilisez play()
pour démarrer la lecture.
Exemple de code
Dans cet exemple, PLAYBACK_URL
est le flux source que vous souhaitez charger. Cet exemple utilise la dernière version du lecteur 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.24.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>
Configuration avec NPM
Pour utiliser le lecteur Amazon IVS via npm :
-
Installez le package npm video.js
ou assurez-vous que votre projet a un autre accès à la bibliothèque Video.js. -
Installez le package npm
amazon-ivs-player
:npm install amazon-ivs-player
-
Lorsque vous êtes prêt à enregistrer la technologie Amazon IVS, importez la fonction
registerIVSTech
:import { registerIVSTech } from 'amazon-ivs-player';
-
Enregistrez la technologie à l’aide de la fonction
registerIVSTech
:registerIVSTech(videojs, options);
où :
-
videojs
est l’objet fourni par Video.js. -
options
sont les options de la couche technologique Amazon IVS. Les options prises en charge sont :-
wasmWorker
: URL dans laquelle le fichieramazon-ivs-wasmworker.min.js
est hébergé. -
wasmBinary
: URL dans laquelle le fichieramazon-ivs-wasmworker.min.wasm
est hébergé.
Les fichiers de travail se trouvent dans votre dossier
node_modules/
, sousamazon-ivs-player/dist/
. Vous devez les héberger pour utiliser le lecteur IVS. -
-
-
Lors de la création d’une instance du lecteur, ajoutez
AmazonIVS
en tant que première technologie dans l’optiontechOrder
:const player = videojs('videojs-player', { techOrder: ["AmazonIVS"] });
TypeScript
Si vous utilisez TypeScript, notre package npm inclut les types suivants que vous souhaiterez peut-être importer et utiliser.
-
VideoJSEvents
, qui décrit la structure renvoyée pargetIVSEvents()
. -
VideoJSIVSTech
, qui décrit l’interface d’une instance de lecteur qui utilise la technologieAmazonIVS
. Peut être croiséavec le type VideoJsPlayer
exposé par le package npm @types/video.js. -
TechOptions
, qui décrit l’interface définissant les options de configuration que vous pouvez envoyer àregisterIVSTech()
.
Pour plus d’informations sur ces types, consultez Lecteur Amazon IVS : références du kit SDK pour le Web
Événements
Pour écouter les événements Video.js standards, utilisez la fonction on
Pour écouter des événements spécifiques à Amazon IVS, ajoutez et supprimez des écouteurs d’événements sur le lecteur Web Amazon IVS :
player.getIVSPlayer().addEventListener(event, callback); player.getIVSPlayer().removeEventListener(event, callback);
où callback
est un rappel que vous définissez, et event
est soit PlayerEventType
,soit PlayerState
. Pour de plus amples informations sur les événements, consultez Kit SDK du lecteur Amazon IVS : référence pour le Web
Erreurs
Pour les erreurs générales de Video.js, écoutez l’événement générique error
sur le lecteur :
player.on("error", callback);
Pour les erreurs spécifiques à Amazon IVS, écoutez le lecteur Amazon IVS :
let playerEvent = player.getIVSEvents().PlayerEventType; player.getIVSPlayer().addEventListener(playerEvent.ERROR, callback);
Le rappel recevra un objet avec les champs suivants :
Champ | Description |
---|---|
|
Type d’erreur. Correspond à des événements |
|
Code de l’erreur. |
|
Source de l’erreur. |
|
Message d’erreur lisible par un être humain. |
Plugins
Nous fournissons un plugin qui crée un basculement d’interface utilisateur pour les qualités disponibles. Pour pouvoir être utilisé, ce plugin doit être chargé en incluant le fichier amazon-ivs-quality-plugin.min.js
si vous utilisez notre technologie via l’identification script
(pour la dernière version du lecteur IVS) :
<script src="https://player.live-video.net/1.24.0/amazon-ivs-quality-plugin.min.js"></script>
Si vous utilisez npm, importez le registerIVSQualityPlugin
à partir du module amazon-ivs-player
:
import { registerIVSQualityPlugin } from 'amazon-ivs-player';
Ensuite, une fois que vous avez créé une instance de votre lecteur Video.js, les appels suivants sont requis pour l’enregistrer et l’activer :
registerIVSQualityPlugin(videojs); // where videojs is the video.js variable player.enableIVSQualityPlugin(); // where player is the instance of the videojs player
Cela crée un bouton de menu de l’interface utilisateur qui vous permet de sélectionner une qualité pour le flux.
Plugins et TypeScript
Si vous l'utilisez TypeScript, notre package npm inclut le VideoJSQualityPlugin
type que vous souhaiterez peut-être importer et utiliser avec notre plugin. Les plugins sont essentiellement des combinaisons, cette interface de type doit donc être utilisée comme un type d’intersectionVideoJSIVSTech
.
Stratégie de sécurité de contenu
L’API Amazon IVS Video.js est configurée pour fonctionner sur les pages qui utilisent la stratégie de sécurité du contenu (CSP). Reportez-vous à la section « Utilisation de la stratégie de sécurité du contenu » dans le Kit SDK du lecteur Amazon IVS : guide pour le Web.
Fonctions
Lecture
L’API Amazon IVS Video.js prend en charge les interfaces nécessaires pour une utilisation interne par le cadre Video.js. L’application cliente n’aura probablement pas besoin d’utiliser ces méthodes directement, puisque Video.js effectue l’intégration nécessaire et présente une interface standard. Cependant, si besoin, une façon d’accéder aux méthodes internes du lecteur Video.js et Amazon IVS consiste à utiliser l’objet du lecteur Video.js pour obtenir la référence d’objet nécessaire à la technologie.
Pour accéder à l’API, récupérez l’instance de votre lecteur Video.js comme vous le feriez normalement :
let player = videojs("videoTagId"); //replace videoTagId with your <video> tag’s id
Ensuite, vous pouvez lancer des fonctions sur cette instance.
Voici le sous-ensemble des fonctions Video.js que la couche technologique Amazon IVS remplace. Pour obtenir la liste complète des fonctions Video.js, consultez la documentation relative à l’API Video.js
Fonction | Description et informations spécifiques à Amazon IVS |
---|---|
Obtient ou définit l’heure (en secondes depuis le début). Amazon IVS : nous ne recommandons pas de définir l’heure actuelle pour les flux en direct. |
|
Supprime l’instance du lecteur Amazon IVS : cela supprime également le backend technologique Amazon IVS. |
|
Renvoie la durée de la vidéo, en secondes. Amazon IVS : pour les flux en direct, cela renvoie |
|
Démarre le chargement des données Amazon IVS : il s’agit d’une instruction non-op. |
|
Lit le flux qui a été configuré via l’appel Amazon IVS : si un flux en direct a été mis en pause, la fonction lit le flux en direct à partir des dernières images, au lieu de continuer à le lire à partir de là où il a été mis en pause. |
|
Obtient ou définit la vitesse de lecture de la vidéo. 1.0 correspond à la vitesse normale, 0,5 correspond à la moitié de la vitesse normale, 2,0 correspond à deux fois la vitesse normale, et ainsi de suite. Amazon IVS : sur un flux en direct, une demande get renvoie 1, et une demande set est ignorée. |
|
Renvoie les Amazon IVS : pour les flux en direct, appeler |
Spécifiques à Amazon IVS
La technologie Amazon IVS Video.js dispose de fonctions supplémentaires pour accéder aux comportements spécifiques aux fonctions Amazon IVS :
Fonction | Description |
---|---|
Renvoie l’instance du lecteur Amazon IVS sous-jacente. L’API Web complète du lecteur Amazon IVS est disponible via cette instance. Nous vous recommandons d’utiliser autant que possible l’API de lecture Video.js de base et d’utiliser cette fonction uniquement pour accéder aux fonctions spécifiques d’Amazon IVS. Les fonctions les plus courantes auxquelles vous aurez probablement besoin d’accéder sur l’instance de lecteur Amazon IVS sont |
|
Renvoie un objet contenant des enums spécifiques à Amazon IVS. Ceci est utilisé pour écouter les erreurs spécifiques à Amazon IVS. Pour plus d’informations, consultez Événements et Erreurs. |
currentTime
Obtient ou définit l’heure (en secondes depuis le début).
Amazon IVS : nous ne recommandons pas de définir l’heure actuelle pour les flux en direct.
Signatures
currentTime currentTime(time)
Paramètre
Paramètre | Type | Description |
---|---|---|
|
nombre |
Si |
Valeur renvoyée
Type | Description |
---|---|
nombre |
L’heure actuelle, en secondes depuis le début. |
disposer
Supprime l’instance du lecteur.
Amazon IVS : cela supprime également le backend technologique Amazon IVS.
Signature
dispose()
Paramètres
Aucuns
Valeur renvoyée
Aucun
duration
Renvoie la durée de la vidéo, en secondes.
Amazon IVS : pour les flux en direct, cela renvoie Infinity
.
Signature
duration()
Paramètres
Aucuns
Valeur renvoyée
Type | Description |
---|---|
nombre |
Durée du flux, en secondes. Pour les flux en direct, cette valeur est |
getIVSEvents
Renvoie un objet contenant des enums spécifiques à Amazon IVS. Ceci est utilisé pour écouter les erreurs et les événements spécifiques à Amazon IVS. Pour plus d’informations, consultez :
-
Événements et Erreurs dans ce document.
-
Kit SDK du lecteur Amazon IVS : références pour le Web
pour plus d’informations sur les événements, les types d’erreur et les sources d’erreur.
Signature
getIVSEvents()
Paramètres
Aucuns
Valeur renvoyée
Type | Description |
---|---|
|
Objet avec les clés |
getIVSPlayer
Renvoie l’instance du lecteur Amazon IVS sous-jacente. L’API Web complète du lecteur Amazon IVS est disponible via cette instance. Nous vous recommandons d’utiliser autant que possible l’API de lecture Video.js de base et d’utiliser cette fonction uniquement pour accéder aux fonctions spécifiques d’Amazon IVS. Les fonctions les plus courantes auxquelles vous aurez probablement besoin d’accéder sur l’instance de lecteur Amazon IVS sont setQuality()
et addEventListener()
/ removeEventListener()
.
Signature
getIVSPlayer()
Paramètres
Aucuns
Valeur renvoyée
Type | Description |
---|---|
|
Instance créée du lecteur. |
charge
Démarre le chargement des données src()
.
Amazon IVS : il s’agit d’une instruction non-op.
Signature
load()
Paramètres
Aucuns
Valeur renvoyée
Aucun
jouer
Lit le flux qui a été configuré via l’appel src
.
Amazon IVS : si un flux en direct a été mis en pause, la fonction lit le flux en direct à partir des dernières images, au lieu de continuer à le lire à partir de là où il a été mis en pause.
Signature
play()
Paramètres
Aucuns
Valeur renvoyée
Aucun
playbackRate
Obtient ou définit la vitesse de lecture de la vidéo. 1.0 correspond à la vitesse normale, 0,5 correspond à la moitié de la vitesse normale, 2,0 correspond à deux fois la vitesse normale, et ainsi de suite.
Amazon IVS : sur un flux en direct, une demande get renvoie 1, et une demande set est ignorée.
Signatures
playbackRate playbackRate(rate)
Paramètre
Paramètre | Type | Description |
---|---|---|
|
nombre |
Vitesse de lecture. Valeurs valides : dans la plage [0,25, 2,0]. |
Valeur renvoyée
Type | Description |
---|---|
nombre |
Vitesse de lecture. |
recherchable
Renvoie les TimeRanges
des médias qui peuvent être recherchés.
Amazon IVS : pour les flux en direct, appeler end(0)
sur la valeur renvoyée (TimeRange
) renvoie l’infini.
Signature
seekable()
Paramètre
Aucuns
Valeur renvoyée
Type | Description |
---|---|
|
TimeRange des médias disponibles pour le rechercher. |