IVS Player SDK: JW-Player-Integration - Amazon IVS

IVS Player SDK: JW-Player-Integration

In diesem Dokument werden die wichtigsten Funktionen beschrieben, die bei Integration des Amazon Interactive Video Service (IVS) JW Player verfügbar sind.

Neueste Version der JW-Player-Integration: 1.36.0 (Versionshinweise)

Erste Schritte

Amazon IVS-Support für JW Player wird über einen Anbieter implementiert. Amazon IVS Provider wird nur auf dem Webplayer von JW Player unterstützt. Der Provider wird über ein Skript-Tag geladen, und alle Streams, welche die Wiedergabe über den Amazon IVS Provider erfordern, müssen in der Wiedergabeliste mit einem type: 'ivs'-Tag versehen werden. Amazon IVS unterstützt JW Player Version 8.18.4 und höher.

Aufstellen

In diesen Anweisungen ist JW_PLAYER_DIV der Name der <div> Ihrer JW-Player-Instance und IVS_STREAM die IVS-Wiedergabe-URL. So richten Sie den Amazon IVS-Anbieter ein und aktivieren die Wiedergabe:

  1. Fügen Sie das folgende script-Tag ein (für die neueste Version der Player-Integration; in diesem Fall 1.36.0):

    <script src="https://player.live-video.net/1.36.0/amazon-ivs-jw-provider.min.js"></script>
  2. Verwenden Sie den Typ ivs, um Elemente in Ihrer IVS-Wiedergabeliste zu markieren. Setzen Sie den Wert cast in Ihrem setup() auf null (da Chromecast nicht unterstützt wird).

    jwplayer(JW_PLAYER_DIV).setup({ playlist: [{ file:IVS_STREAM, type: 'ivs', }] });
  3. Wenn Sie einen Verweis auf den zugrundeliegenden Amazon IVS Player wünschen, um Amazon IVS Player-API-Aufrufe durchzuführen, oder wenn Sie Verweise auf Amazon IVS-spezifische Enums für die Callback-Behandlung wünschen, fügen Sie dem 'providerPlayer'-Ereignis einen Listener hinzu:

    jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) { // player object has 'ivsPlayer' and 'ivsEvents' properties // ...callback code... });

Beispiel-Code

In diesem Beispiel ist JW_PLAYER_LIB die URL zu Ihrem JW Player-Bibliotheksskript und IVS_STREAM die URL zu Ihrer IVS-Wiedergabe.

<!DOCTYPE html> <html lang="en"> <head> <script src=JW_PLAYER_LIB></script> <script src="https://player.live-video.net/1.36.0/amazon-ivs-jw-provider.min.js"></script> </head> <body> <div id='player'></div> <script> // set default values for ivsPlayer and ivsEvents var ivsPlayer = {}; var ivsEvents = {}; // define our player setup const ivsConfig = { playlist: [{ file: IVS_STREAM, type: 'ivs', }] }; jwplayer('player') .setup(ivsConfig) .on('providerPlayer', function (player) { console.log('Amazon IVS Player: ', player.ivsPlayer); console.log('Amazon IVS Player Events: ', player.ivsEvents); // store the reference to the Amazon IVS Player ivsPlayer = player.ivsPlayer; // store the reference to the Amazon IVS Player Events ivsEvents = player.ivsEvents; }); </script> </body> </html>

--Ereignisse

Um Standard-JW Player-Ereignisse zu hören, verwenden Sie die an-Funktion des JW Players.

Um Ereignisse zu hören, die für Amazon IVS spezifisch sind, oder um Ereignis-Listener auf dem Amazon IVS Web Player hinzuzufügen und zu entfernen, müssen Sie das 'providerPlayer'-Ereignis hören, um einen Verweis auf den Amazon IVS Player zu erhalten und dann ein Ereignis hinzuzufügen, das ihn anhört. Beispiel:

// store a default value for ivsPlayer var ivsPlayer = {}; // store references to the Amazon IVS Player and Amazon IVS Events: jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) { ivsPlayer = player.ivsPlayer; }); // set up event listening ivsPlayer.addEventListener(event, callback); ivsPlayer.removeEventListener(event, callback);

wobei callback ein Callback ist, den Sie definieren und event einer hiervon ist: PlayerEventType, PlayerState, oder ErrorType. Weitere Informationen zu Ereignissen finden Sie in Amazon IVS Player SDK: Webreferenz.

Das 'providerPlayer'-Ereignis wird von JW Player ausgegeben, und der Callback, bei dem Sie sich registrieren, erhält ein Objekt mit den folgenden Feldern:

Feld Beschreibung

ivsPlayer

Gibt die zugrunde liegende Amazon IVS-Player-Instance zurück. Die vollständige Amazon IVS Player Web API ist über diese Instance verfügbar. Wir empfehlen, die Basic JW Player-Wiedergabe-API so weit wie möglich zu verwenden und diese Funktion nur für den Zugriff auf Amazon IVS-spezifische Funktionen zu verwenden. Die häufigsten Funktionen, auf die Sie wahrscheinlich auf der Amazon IVS-Player-Instance zugreifen müssen, sind addEventListener() und removeEventListener().

ivsEvents

Gibt ein Objekt mit PlayerEventType-, PlayerState- und ErrorType- Feldern zurück, die auf ihre zugehörigen Amazon IVS-spezifischen Enums abgebildet werden. Weitere Informationen finden Sie unter Amazon IVS Player SDK: Webreferenz.

Fehler

Für allgemeine JW Player-Fehler verwenden Sie die an-Funktion des JW Players, um Fehlerereignisse zu hören.

Bei Fehlern, die für Amazon IVS spezifisch sind, hören Sie den Amazon IVS-Player auf seine eigenen Fehler:

// set default values for ivsPlayer and ivsEvents var ivsPlayer = {}; var ivsEvents = {}; // store references to the Amazon IVS Player and Amazon IVS Events jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) { ivsPlayer = player.ivsPlayer; ivsEvents = player.ivsEvents; }); // set up event listening: let playerEvent = ivsEvents.PlayerEventType; ivsPlayer.addEventListener(playerEvent.ERROR, callback);

Der Callback erhält ein Objekt mit den folgenden Feldern:

Feld Beschreibung

type

Der Fehlertyp. Entspricht ErrorType-Ereignissen. Weitere Informationen finden Sie unter Amazon IVS Player SDK: Webreferenz.

code

Der Fehlercode.

source

Quelle des Fehlers.

message

Menschlich lesbare Fehlermeldung.

Inhaltssicherheitsrichtlinie

Die Amazon IVS-Provider-API ist so konfiguriert, dass sie auf Seiten funktioniert, die Content Security Policy (CSP) verwenden. Weitere Informationen finden Sie im Abschnitt „Arbeiten mit Inhaltssicherheitsrichtlinie“ im IVS Player SDK: Leitfaden für Web.

Einschränkungen

Der Anbieter unterstützt kein Casting. Wenn Sie das Casting im JW Player-Dashboard aktiviert haben, können Sie es deaktivieren, indem Sie cast auf null beim Aufruf von setup() setzen. Dadurch wird der Casting-Button ausgeblendet.