Kontaktieren Sie Support | Systemstatus
Seiteninhalt

    Verwenden der Wiedergabeautorisierungs-DRM mit dem Brightcove Player

    In diesem Thema erfahren Sie, wie Sie Brightcove Player für die Verwendung des Wiedergabeautorisierungsdienstes von Brightcove konfigurieren.

    Einführung

    Der Playback Authorization Service (PAS) von Brightcove bietet ein zusätzliches Maß an Sicherheit, wenn Dynamic Delivery mit DRM-geschützten oder HTTP Live Streaming Encryption (HLSe)-Inhalten verwendet wird. Mit PAS werden Lizenzanfragen mit einem signierten . authentifiziert JSON-Webtoken (JWT). Der Token wird bei der Anforderung der Videolizenz verwendet, sobald das Video auf den Player geladen und die Quelle ausgewählt wurde.

    Dieses Dokument konzentriert sich auf die Verwendung von PAS mit Brightcove Player. Weitere Informationen zu PAS im Allgemeinen finden Sie im Überblick: DRM mit Playback Authorization Service dokumentieren.

    Überblick

    Um Brightcove Player für die Verwendung von PAS zu konfigurieren, übergeben Sie bei der Kataloganforderung für das Video einen Tokenparameter. Der Code wird im nächsten Abschnitt angezeigt. Um sicherzustellen, dass Sie über die Voraussetzungen zum Verständnis des Codes verfügen, bieten die Konzepte in den folgenden Dokumenten eine Grundlage, auf der Sie aufbauen können:

    Verwenden eines Tokens in den Katalogparametern

    In diesem Abschnitt wird der Code beschrieben, der benötigt wird, um den Player für die Verwendung von PAS zu konfigurieren. Übergeben Sie dazu ein Zeichenfolgen-Token als Teil von a Katalogparameter Objekt unter Verwendung des Eigenschaftsnamens bcovAuthToken.

    Dieser Ansatz funktioniert sowohl für DRM als auch für HLSe. Der Player erkennt den Quelltyp, der von der Playback-API geladen wird, und stellt die richtige Implementierung für diese Quelle bereit.

    Dieser Beispielimplementierungscode verwendet die katalog.get() -Methode zum Anfordern des Videos während der Bereitstellung des Tokens (die das ersetzen müsste) <BCOV_AUTH_TOKEN> Platzhalter). Achten Sie darauf, die Video-ID NICHT in die <video-js> Schild.

    <video-js id="myPlayerID"
      data-account="1507807800001"
      data-player="default"
      data-embed="default"
      controls
      data-application-id></video-js>
    <script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
    
    <script>
      (function() {
        var myPlayer = videojs.getPlayer('myPlayerID');
    
        myPlayer.catalog.get({
          type: 'video',
          id: '6015247091001',
          bcovAuthToken: '<BCOV_AUTH_TOKEN>'
        })
          .then(function(videoReturned){
            myPlayer.catalog.load(videoReturned);
          })
          .catch(function(err){
            console.log('err:', err);
          });
      })();
    </script>

    SSAI-Konfiguration

    Wenn Sie PAS mit SSAI verwenden möchten, müssen Sie eine kleine Konfigurationsergänzung vornehmen. Dem Katalogparameter-Objekt muss ein zusätzlicher Parameter mit dem Namen . hinzugefügt werden adConfigId.

    <video-js id="myPlayerID"
      data-account="1507807800001"
      data-player="default"
      data-embed="default"
      controls
      data-application-id></video-js>
    <script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
    
    <script>
      (function() {
        var myPlayer = videojs.getPlayer('myPlayerID');
    
        myPlayer.catalog.get({
          type: 'video',
          id: '6015247091001',
          bcovAuthToken: 'BCOV_AUTH_TOKEN',
          adConfigId: '<YOUR_ADD_CONFIG_ID>'
        })
          .then(function(videoReturned){
            myPlayer.catalog.load(videoReturned);
          })
          .catch(function(err){
            console.log('err:', err);
          });
      })();
    </script>

    Verwenden einer benutzerdefinierten Implementierung

    Möglicherweise verwenden Sie eine benutzerdefinierte Implementierung, bei der Sie nicht über die bcovAuthToken um den Wert mit der einzustellen katalog.get() Methodenanfrage. Wenn Sie Ihren eigenen Player oder einen Drittanbieter-Player verwenden, können Sie Ihren Token auf eine der folgenden Weisen an die Lizenzanfrage übergeben:

    • HTTP-Header: BCOV-Auth(Nicht unterstützt für HLSe)
    • Plätzchen: bcov-auth(Nicht unterstützt für HLSe)
    • Abfrageparameter: bcov-auth(Nur für HLSe unterstützt) Muss an die Master-Manifest-URL anstelle der Lizenz-URL angehängt werden.

    Hier ist ein Beispiel, das zeigt, wie man die source.emeHeaders['BCOV-Auth'] -Attribut des Videoobjekts auf das Token. Dies fügt die emeHeader auf jeder Quelle NACH der Kataloganforderung.

    <video-js id="myPlayerID"
      data-account="1507807800001"
      data-player="default"
      data-embed="default"
      controls
      data-application-id></video-js>
    <script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
    
    <script>
      (function() {
        var myPlayer = videojs.getPlayer('myPlayerID');
    
        myPlayer.catalog.get({
          type: 'video',
          id: '6015247091001'
        })
        .then(function(video){
          sources=video.sources;
    
          for (let i = 0; i < sources.length; i++) {
            const source = sources[i];
    
            // Only add the auth token as an eme header for DRM content
            if (BCOV_AUTH_TOKEN && source.key_systems) {
              source.emeHeaders = {
                  'BCOV-Auth': BCOV_AUTH_TOKEN
                };
            }
          }
            myPlayer.catalog.load(video);
          })
          .catch(function(err){
            console.log('err:', err);
          });
      })();
    </script>

    Seite zuletzt aktualisiert am 14 Feb 2022