Support Kontaktieren Sie Support | Systemstatus Systemstatus
Inhalt der Seite

    Einbetten von APIs

    Dieses Thema hilft Ihnen bei der Entscheidung, wann und wie Sie die Embed APIs verwenden. Die Entscheidung, zwischen der Verwendung der Player-Konfigurations-APIs im Vergleich zu den Embit-APIs zu wählen, ist wichtig, und der Inhalt in diesem Dokument wird Sie bei diesen Entscheidungen unterstützen.

    Warum die Embed-APIs verwenden?

    Mit den Einbettungs-APIs können Sie mehrere Instanzen eines bestimmten Players erstellen. Eine gute Möglichkeit, sich diese Beziehung zwischen Spieler und Instanz vorzustellen, ist eine Eltern-Kind-Beziehung. Der Einzelspieler ist der übergeordnete Spieler, und mit den eingebetteten APIs erstellte Spieler sind untergeordnete Elemente des übergeordneten Spielers. Der übergeordnete Player verfügt über den Großteil der Eigenschaften, die Ihr Player haben soll. Anschließend können Sie mithilfe der Einbettungs-APIs Teilmengen von Eigenschaften für verschiedene untergeordnete Player anpassen. Sie können beispielsweise verschiedene Medien laden oder verschiedene Plugins und Stile mit verschiedenen untergeordneten Playern verwenden.

    Die folgenden Diagramme verdeutlichen die Funktionalität. Unten wird links der Elternteil und rechts zwei untergeordnete Spieler angezeigt. Beachten Sie Folgendes:

    • Das Plakat wird von beiden Kindern geerbt
    • Die Form der Wiedergabetaste wird vom oberen Kind geerbt, während sie vom unteren Kind überschrieben wird
    • Das oberste untergeordnete Element fügt eine Eigenschaft hinzu, in diesem Fall eine Überlagerung, über die das übergeordnete Element nicht verfügt
    Child fügt Eigenschaft
    Child fügt Eigenschaft

    Ein weiteres wichtiges Merkmal dieser Eltern-Kind-Beziehung ist, dass die Vererbung noch andauert. Das folgende Diagramm zeigt ein neues Poster, das dem übergeordneten Element zugewiesen ist, und beide untergeordneten Elemente erben diese Konfigurationsänderung.

    Kinder erben Änderungen
    Kinder erben Änderungen

    Wann sollten die eingebetteten APIs NICHT verwendet werden?

    Es gibt zwar einige gute Gründe, die eingebetteten APIs zu verwenden, wenn Ihr Anwendungsfall dies erfordert, aber es gibt auch einige gute Gründe, bei normalen Spielern zu bleiben. Hier sind ein paar:

    • Untergeordnete Player können nicht mit Video Cloud Studio bearbeitet werden. Sie können untergeordnete Spieler nur über die Player-Verwaltungs-API bearbeiten. Sie können den übergeordneten Player eines untergeordneten Players in Video Cloud Studio bearbeiten. Eine am übergeordneten Player vorgenommene Änderung wirkt sich jedoch auf alle untergeordneten Player aus.
    • Das Veröffentlichen eines übergeordneten Spielers kann lange dauern, wenn diesem übergeordneten Spieler viele untergeordnete Spieler zugeordnet sind. Jeder untergeordnete Spieler wird separat veröffentlicht. Wenn Sie mehr als 30 untergeordnete Spieler haben, können Sie mit Verzögerungen bei der Veröffentlichung Ihres untergeordneten Spielers rechnen. Dies wäre genau der gleiche Fall wie die gleichzeitige Veröffentlichung von 30 regulären Spielern.

    Aus den oben genannten Gründen kann es sinnvoll sein, zunächst normale Spieler zu verwenden und dann Einbettungen auszuprobieren, wenn Sie die Notwendigkeit von untergeordneten Spielern erkennen.

    Video-Tag Daten einbetten

    Es gibt Unterschiede in der Schreibweise bei Eltern- und Kinderspielern. Der Standardcode für eingebettete In-Page-Player wird in diesem Format angezeigt:

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

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

    Das data-embed Attribut bestimmt, ob der Spieler ein Elternteil oder ein Kind ist. Wenn der Wert ist default, ist der Spieler ein Elternteil. Wenn der Spieler ein Kind ist, enthält das data-embed Attribut die ID des übergeordneten Spielers. 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>

    Notiere dass der data-player , das ist die Spieler-ID, ist die gleiche, aber die data-embed hat sich geändert von default zur ID des Kinderspielers.

    Untergeordnete Spieler-URLs

    Wie unterscheidet man zwischen übergeordneten und untergeordneten Spielern? Die URLs sind unterschiedlich. Die URL eines übergeordneten Spielers lautet beispielsweise:

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

    Nachdem Sie die eingebetteten APIs zum Erstellen eines untergeordneten Players verwendet haben, wird die ID des untergeordneten Players zur URL des übergeordneten Players hinzugefügt, wie hier gezeigt:

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

    Anwendungsfall für Eltern / Kinder

    Angenommen, Sie verwenden mehrere Videoplayer. Oft sind die gemeinsamen Funktionen der Spieler nahezu gleich, aber in einigen Fällen möchten Sie den Player für spezielle Fälle optimieren. Sie können mehrere Player mithilfe der Player-Konfigurations-APIs mit erstellen POST und PATCH Methoden, aber dies könnte zu erheblichen Wartungsproblemen führen. Angenommen, Sie möchten das Poster für alle Spieler ändern. Dies würde bedeuten, zu verwenden PATCH auf all die verschiedenen Spieler. Wenn Sie dagegen Kinderspieler erstellen würden, würden Sie dies nur tun PATCH Der übergeordnete Spieler und alle untergeordneten Spieler hätten automatisch das neue Poster.

    Erstellungsprozess

    Wenn Sie das getan haben Schritt für Schritt: Spielerverwaltung Sie haben gesehen, wie Curl-Anweisungen verwendet werden, um HTTP-Methoden an die Player-Verwaltungs-API zu kommunizieren. Der gleiche Ansatz wird hier verwendet.

    Um einen Player zu erstellen, haben Sie höchstwahrscheinlich einige HTTP-Methoden mit den Player-Konfigurations-APIs verwendet, z.

    • Erstellen Sie den Player mit a POST zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players
    • Aktualisieren Sie den Player mit a PATCH zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/configuration
    • Veröffentlichen Sie den aktualisierten Player mit a POST zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/publish

    Ein ähnlicher Ansatz wird für untergeordnete Spieler verwendet, die die eingebetteten APIs verwenden. Auf einem sehr hohen Niveau werden Sie:

    • Erstellen Sie einen untergeordneten Spieler mit a POST zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/bettet ein. Hinweis: Untergeordnete Player, die mit den eingebetteten APIs erstellt wurden, werden bei der Erstellung selbst veröffentlicht, sodass bei der Erstellung untergeordneter Player keine Veröffentlichung erforderlich ist, sondern nur bei der Aktualisierung untergeordneter Player.
    • Aktualisieren Sie den untergeordneten Player mit a PATCH zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/bettet / $ EMBED_ID / configuration ein
    • Veröffentlichen Sie den untergeordneten Player mit a POST zu https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/bettet / $ EMBED_ID / Publish ein

    Der folgende Inhalt beschreibt den Prozess im Detail.

    Erstellen Sie einen untergeordneten Spieler

    Um einen untergeordneten Player zu erstellen, verwenden Sie 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 beispielhafte Antwort auf die Erstellung des untergeordneten Spielers lautet 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: Der untergeordnete Player wird bei der Erstellung selbst veröffentlicht, sodass der untergeordnete Player nach der Erstellung nicht veröffentlicht werden muss. Sie müssen den untergeordneten Player weiterhin veröffentlichen, wenn er mit a geändert wird PATCH Methode. Zu diesem Zeitpunkt sind die Vorschau-Informationen nicht hilfreich, da Sie den veröffentlichten untergeordneten Player sofort nach der Erstellung verwenden können.

    Sie können jetzt die verwenden url Eigenschaft vom untergeordneten Spieler, um die Ergebnisse zu sehen. Im folgenden Beispiel wurde der untergeordnete Spieler dem übergeordneten Spieler hinzugefügt, der Schritt für Schritt erstellt wurde: Spieler-Management. Sie sehen das neue Poster und Video, aber das Overlay-Plugin des übergeordneten Players ist noch vorhanden.

    Kind Spieler mit Überlagerung der Eltern
    Kind Spieler mit Überlagerung der Eltern

    Aktualisieren Sie den untergeordneten Player

    Um den untergeordneten Player zu aktualisieren, verwenden Sie ein HTTP PATCH Methode. Die folgende Curl-Anweisung aktualisiert die poster Eigentum. Es wird davon ausgegangen, dass Sie die Einstellung vorgenommen haben $EMBED_ID Umgebungsvariable entsprechend:

        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 beide 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>"
        }

    Kinderspieler veröffentlichen

    Sobald der untergeordnete Spieler geändert wurde, müssen Sie ihn veröffentlichen. Stellen Sie sicher, dass die $EMBED_ID Die Umgebungsvariable wird festgelegt und Sie können den neu geänderten untergeordneten Player veröffentlichen:

        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 untergeordneten Players erforderlich sind, ähnlich wie beim Veröffentlichen eines Players:

        {
            "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"
        }

    Untergeordnete Informationen anzeigen

    Sie können das HTTP verwenden GET Methode zum Abrufen der Informationen über einen untergeordneten Spieler. 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

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

    Kinderspieler löschen

    Sie können einen untergeordneten Spieler auch mit der Taste löschen DELETE Methode. Hier ist eine beispielhafte Curl-Anweisung zum Löschen eines untergeordneten Spielers:

        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 den untergeordneten Spieler und nicht den übergeordneten Spieler.


    Seite zuletzt aktualisiert am 28 Sep 2020