Support Kontakt Support | Systemstatus Systemstatus

Einbetten von APIs

Dieses Thema hilft Ihnen bei der Entscheidung, wann und wie die eingebetteten APIs verwendet werden sollen. Die Entscheidung zwischen der Verwendung der Player Konfigurations-APIs im Vergleich zu eingebetteten APIs sind wichtig, und der Inhalt dieses Dokuments wird Sie bei diesen Entscheidungen unterstützen.

Warum sollten Sie die Embed-APIs verwenden?

Mit den Einbettungs-APIs können Sie mehrere Instanzen einer bestimmten Instanz erstellen player. Ein guter Weg, um darüber nachzudenken playerDie / Instanz-Beziehung ist eine Eltern / Kind-Beziehung. Der Single player ist der Elternteil und players, die mit den Einbettungs-APIs erstellt wurden, sind untergeordnete Elemente des übergeordneten APIs player. Das Elternteil player hat den Großteil der Eigenschaften, die Sie wünschen player zu haben, und dann können Sie die Einbettungs-APIs verwenden, um Teilmengen von Eigenschaften für verschiedene untergeordnete Elemente anzupassen players. Sie können beispielsweise verschiedene Medien laden oder verschiedene Plugins und Stile mit verschiedenen untergeordneten Elementen verwenden players.

Die folgenden Diagramme verdeutlichen die Funktionalität. Unten links der Elternteil und zwei Kinder players auf der rechten Seite. Beachten Sie Folgendes:

  • Das Poster wird von beiden Kindern geerbt
  • Die Form der Wiedergabeschaltfläche wird vom obersten untergeordneten Element übernommen, während sie im untergeordneten untergeordneten Element überschrieben wird
  • Das oberste untergeordnete Element fügt eine Eigenschaft hinzu, in diesem Fall eine Überlagerung, die das übergeordnete Element nicht besitzt
Kind fügt Eigenschaft hinzu
Kind fügt Eigenschaft hinzu

Ein weiteres mächtiges Merkmal dieser Eltern / Kind-Beziehung ist, dass die Vererbung fortdauert. Das folgende Diagramm zeigt ein neues Poster, das dem übergeordneten Element zugewiesen ist. Beide untergeordneten Elemente erben diese Konfigurationsänderung.

Kinder erben Änderungen
Kinder erben Änderungen

Wenn Sie die eingebetteten APIs NICHT verwenden

Es gibt zwar einige gute Gründe, die Einbettungs-APIs zu verwenden, wenn Ihr Anwendungsfall dies erfordert, aber es gibt auch einige gute Gründe, sich an die regulären Regeln zu halten players. Hier sind ein paar:

  • Kind players kann nicht mit bearbeitet werden Video Cloud Studio. Sie können nur untergeordnete Elemente bearbeiten players durch die Player Management API. Sie können das übergeordnete Element bearbeiten player eines Kindes player in Video Cloud Studio wurde jedoch eine Änderung am übergeordneten Element vorgenommen player betrifft alle Kinder players.
  • Veröffentlichen eines Elternteils player kann lange dauern, wenn Sie viel Kind haben players mit diesem Elternteil verbunden player. Jedes Kind player wird separat veröffentlicht, und wenn Sie mehr als 30 Kinder haben players, Sie können einige Verzögerungen bei Ihrem Kind erwarten player Veröffentlichung. Dies wäre genau der gleiche Fall wie bei der Veröffentlichung von 30 regulären Veröffentlichungen players zur gleichen Zeit.

Aus den oben genannten Gründen kann es sinnvoll sein, mit der regulären Verwendung zu beginnen players, und probieren Sie dann Einbettungen aus, wenn Sie die Notwendigkeit eines Kindes sehen players.

Video-Tag-Daten einbetten

Es gibt Unterschiede in der Notation zwischen Eltern und Kind players. Standard-In-Page-Einbettung player Code erscheint in diesem Format:

    <video-js
      data-account="1507807800001"
      data-player="HiAdwRZ7kK"
      data-embed="default"
      controls=""
      data-application-id=""
      class="vjs-fluid"></video-js>

Unser data-embed Attribut bestimmt, ob die player ist ein Elternteil oder ein Kind. Wenn der Wert ist default, das player ist ein Elternteil. Wenn die player ist ein Kind, das data-embed Das Attribut enthält die ID des übergeordneten Elements player. Ein Beispiel dafür folgt:

Unser data-embed Attribut bestimmt, ob die player ist ein Elternteil oder ein Kind. Wenn der Wert ist default, das player ist ein Elternteil. Wenn die player ist ein Kind, das data-embed Das Attribut enthält die ID des übergeordneten Elements player. Ein Beispiel dafür folgt:

    <video-js
      data-account="1507807800001"
      data-player="HiAdwRZ7kK"
      data-embed="NURK56ZSV"
      data-application-id=""
      class="video-js" controls></video-js>

Beachten Sie, dass die data-player, das ist die player ID, ist das gleiche, aber die data-embed hat sich geändert von default zum Kind playerID.

Kind player URLs

Wie unterscheidet man zwischen den Eltern? player und Kind players? Die URLs sind unterschiedlich. Zum Beispiel ein Elternteil playerDie URL lautet:

    //players.brightcove.net/1507807800001/HiAdwRZ7kK_default/index.min.js

Nachdem Sie die eingebetteten APIs zum Erstellen eines untergeordneten Elements verwendet haben player, das Kind playerDie ID wurde der URL des Elternteils hinzugefügt, wie hier gezeigt:

    //players.brightcove.net/1507807800001/HiAdwRZ7kK_NURK56ZSV/index.min.js

Eltern / Kind Anwendungsfall

Angenommen, Sie verwenden mehrere Videos players. Oft sind die gemeinsamen Merkmale der players sind fast gleich, aber in einigen Fällen möchten Sie das optimieren player für besondere Fälle. Sie können mehrere erstellen players mit dem Player Konfigurations-APIs mit POST und PATCH Methoden, aber dies könnte zu erheblichen Wartungsproblemen führen. Angenommen, Sie möchten das Poster für alle ändern players. Dies würde bedeuten, zu verwenden PATCH auf all die verschiedenen players. Während, wenn Sie Kind erstellt haben players, du würdest nur PATCH das Elternteil playerund das ganze Kind players würde automatisch das neue Poster haben.

Erstellungsprozess

Wenn du das getan hast Schritt für Schritt: Player Verwaltung Sie haben den Prozess der Verwendung von curl - Anweisungen gesehen, um HTTP - Methoden an die Player Management API. Derselbe Ansatz wird hier verwendet.

So erstellen Sie ein player Sie haben höchstwahrscheinlich einige HTTP-Methoden mit dem verwendet Player Konfigurations-APIs wie:

  • erstellen Sie player Verwendung eines POST zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players
  • Aktualisieren Sie die player Verwendung eines PATCH zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/configuration
  • Veröffentlichen Sie die aktualisierten player Verwendung eines POST zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/publish

Ein ähnlicher Ansatz wird für Kinder verwendet players Verwenden der eingebetteten APIs. Auf einem sehr hohen Niveau werden Sie:

  • Erstellen Sie ein Kind player Verwendung eines POST zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/bettet ein. Hinweis: Kind players, die mit den eingebetteten APIs erstellt wurden, werden bei der Erstellung selbst veröffentlicht, sodass keine Veröffentlichung auf untergeordneten APIs erforderlich ist player Schöpfung, nur auf Kind player aktualisieren.
  • Aktualisieren Sie das Kind player Verwendung eines PATCH zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/bettet / $ EMBED_ID / configuration ein
  • Veröffentlichen Sie das Kind player Verwendung eines POST zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/bettet ein / $ EMBED_ID / publish

Der folgende Inhalt beschreibt den Prozess im Detail.

Kind erstellen player

Ein Kind erstellen player Sie verwenden ein HTTP POST Methode, wie hier gezeigt:

    curl /
    --header "Content-Type: application/json" /
    --user $EMAIL /
    --request POST /
    --data '{
    "media": {
    "sources": [
      {
        "src":"http://solutions.brightcove.com/bcls/assets/videos/BirdsOfAFeather.mp4",
        "type":"video/mp4"
      }
    ],
    "poster": {
      "highres":"http://solutions.brightcove.com/bcls/assets/images/BirdsOfAFeather.jpg"
    }
    }
      }' /
    https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds

Eine Beispielantwort auf das Kind player Die Schöpfung ist wie folgt:

    {
        "id": "be864624-8d85-4dfc-8fe6-4e9dd4c70417",
        "url": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
        "embed_code": "<iframe src='//players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
        "embed_in_page": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/in_page.embed",
        "preview_url": "http://preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
        "preview_embed_code": "<iframe src='//preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>"
    }

Hinweis: Das Kind player Selbst wird bei der Erstellung veröffentlicht, sodass das Kind nicht veröffentlicht werden muss player nach der Schöpfung. Sie müssen noch Kind veröffentlichen player wenn es mit a geändert wird PATCH Methode. Zu diesem Zeitpunkt sind die Vorschauinformationen nicht hilfreich, da Sie das veröffentlichte untergeordnete Element verwenden können player unmittelbar nach der Schöpfung.

Sie können jetzt die url Eigentum vom Kind player um die Ergebnisse zu sehen. Im Beispiel unten das Kind player wurde dem Elternteil hinzugefügt player erstellt in der Schritt-für-Schritt: Player Verwaltung. Sie sehen das neue Poster und Video, aber das Overlay-Plugin vom übergeordneten Element player ist noch vorhanden.

Kind Player mit Elternüberlagerung
Kind Player mit Elternüberlagerung

Kind aktualisieren player

Um das Kind zu aktualisieren player Sie verwenden ein HTTP PATCH Methode. Die folgende curl-Anweisung aktualisiert die poster Eigentum. Es wird davon ausgegangen, dass Sie das eingestellt haben $EMBED_ID Umgebungsvariable angemessen:

    curl
    --header "Content-Type: application/json"
    --user $EMAIL
    --request PATCH
    --data '{
    "media": {
    "poster": {
      "highres":"http://solutions.brightcove.com/bcls/assets/images/Water-Splashing.jpg"
    }
    }
      }'
    https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds/$EMBED_ID/configuration
    

Die Antwort enthält Vorschauinformationen für a preview_url und preview_embed_code Code:

    {
        "preview_url": "http://preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
        "preview_embed_code": "<iframe src='//preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>"
    }

Kind veröffentlichen player

Einmal das Kind player geändert wird, müssen Sie es veröffentlichen. Stellen Sie sicher, dass die $EMBED_ID Die Umgebungsvariable wird festgelegt, und Sie können das neu geänderte untergeordnete Element veröffentlichen player:

    curl
    --header "Content-Type: application/json"
    --user $EMAIL
    --request POST
    https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds/$EMBED_ID/publish

Die Antwort enthält die wichtigen Informationen, die für die Verwendung des Kindes erforderlich sind player, sehr ähnlich wie bei der Veröffentlichung eines player macht:

    {
        "id": "be864624-8d85-4dfc-8fe6-4e9dd4c70417",
        "url": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
        "embed_code": "<iframe src='//players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
        "embed_in_page": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/in_page.embed"
    }

Kinderinformationen anzeigen

Sie können das HTTP verwenden GET Methode zum Abrufen der Informationen über ein Kind player. Eine beispielhafte Curl-Anweisung lautet:

    curl
      --header "Content-Type: application/json"
      --user $EMAIL
      --request GET
      https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds

Eine ziemlich große Menge an JSON-Daten wird zurückgegeben.

Kind löschen players

Sie können auch ein Kind löschen player mit dem DELETE Methode. Hier ist eine beispielhafte Curl-Anweisung zum Löschen eines untergeordneten Elements player:

    curl
    --header "Content-Type: application/json"
    --user $EMAIL
    --request DELETE
    https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds/$EMBED_ID

Dies betrifft natürlich nur das Kind player und nicht der Elternteil player.


Seite zuletzt aktualisiert am 12. Juni 2020