Implementieren von Wiedergaberechten

In diesem Thema erfahren Sie, wie Sie die Videowiedergabe mit Brightcove-Wiedergaberechten verwalten können.

Einleitung

Der Playback Rights Management Service von Brightcove bietet eine skalierbare und ausdrucksstarke Möglichkeit zur Verwaltung der Videowiedergabe.

Wenn Sie mit dieser Funktion nicht vertraut sind, lesen Sie die Übersicht: Dokument „Brightcove Playback Restrictions“

Validierungsprozess

Wiedergaberechte werden in der Reihenfolge der Spezifität und Übereinstimmung angewendet. Eine Zulassenregel negiert die übrigen Regeln, da sie weniger spezifisch sind als die Regel, die die Regel zulässt.

Möglicherweise möchten Sie eine bestimmte IP-Adresse zulassen, um eine Länderregel für diese IP-Adresse zu vermeiden. Möglicherweise möchten Sie auch eine andere IP-Adresse blockieren, die normalerweise durch die Länderbeschränkung zulässig wäre. Es kann also sinnvoll sein, beides zu haben block-ips und allow-ips in der gleichen Wiedergaberechtedefinition. Das gleiche gilt für andere Regeln.

Sie können für die meisten Rechte Zulassungs- und Sperrregeln festlegen. Länder ist das einzige, in dem es möglicherweise keinen Sinn macht, beides zu haben.

Die folgenden Flussdiagramme zeigen, wie der Validierungsprozess funktioniert:

  1. Geografische Prüfungen
  2. Termincheck
  3. Proxy-Check
  4. Domain-Check
Validierung der Wiedergaberechte
Validierung der Wiedergaberechte

Geografische Prüfungen

Der Ablauf für geografische Beschränkungen folgt einem der folgenden Diagramme, basierend auf dem Wert der geo_global_rule Gebiet:

  • geo_global_rule ist eingestellt auf allow_all
  • geo_global_rule ist eingestellt auf block_all
  • geo_global_rule ist eingestellt auf null
Geografische Einschränkungen
Geografische Einschränkungen

Wenn die geografischen Prüfungen erfolgreich sind, fahren Sie mit den zusätzlichen Prüfungen im nächsten Diagramm fort.

Zusätzliche Validierungsprüfungen

Wenn die geografischen Prüfungen bestehen, werden die folgenden Prüfungen der Reihe nach verarbeitet:

  1. Termincheck
  2. Proxy-Check
  3. Domain-Check
Zusätzliche Validierungsprüfungen
Zusätzliche Validierungsprüfungen

Wie funktioniert das?

Wiedergaberechte sind ein Teil der Lösung für Wiedergaberestriktionen.

Wiedergaberechte

Standardmäßig stellt der Player (Brightcove-Player und die nativen SDKs) eine Anforderung an die Wiedergabe-API, wenn er über einen Richtlinienschlüssel verfügt. Der Player sendet die Anforderung an den folgenden Endpunkt und ruft Ihre Inhalte ab:

edge.api.brightcove.com

Um die Wiedergaberechte mit Ihrer Playback-API-Anfrage zu überprüfen, müssen Sie den Policy Key nicht angeben. Wenn kein Policy Key vorhanden ist, sendet der Player die Anfrage an diesen Endpunkt:

edge-auth.api.brightcove.com

Wenn alle Überprüfungen der Wiedergaberechte erfolgreich sind, wird Ihr Inhalt zurückgegeben.

Arbeitsablauf

Gehen Sie folgendermaßen vor, um Wiedergabebeschränkungen zu verwalten:

  1. Richten Sie Ihr Konto ein
  2. Einschränkungen definieren
  3. Einschränkungen mit einem Video verknüpfen
  4. Konfigurieren Sie Ihren Player

Richten Sie Ihr Konto ein

Diese Funktion ist für eine bestimmte Gruppe von Kunden mit Zugriff auf die Phase der eingeschränkten Verfügbarkeit des Playback Rights Management Service verfügbar. Wenden Sie sich für weitere Informationen an Ihren Customer Success Manager.

OAuth-Anmeldeinformationen generieren

Bekomm dein BC_TOKEN und Kontonummer.

  1. Melden Sie sich bei Video Cloud Studio an. In dem Administrator Dropdown, wählen Sie Kontoinformationen. Kopieren Sie Ihre Konto-ID.
  2. Öffnen Sie bei geöffneter Seite in Studio die Entwicklertools für den Browser, wechseln Sie zur Konsole und fügen Sie den folgenden Code ein:

    var cookiesArray = document.cookie.split(";"), cookiesObj = {}, i, tmpArray = [];
    for (i = 0; i < cookiesArray.length; i++) {
        tmpArray = cookiesArray[i].split("=");
        if (tmpArray[0].indexOf('BC_TOKEN') > -1) {
            cookiesObj.BC_TOKEN = tmpArray[1];
        }
    }
    window.prompt("BC_TOKEN:", cookiesObj.BC_TOKEN);

    und drücken Sie die Eingabetaste.

  3. Sie sollten eine Eingabeaufforderung sehen, die Ihre enthält BC_TOKEN

Kundenanmeldeinformationen anfordern

Fügen Sie Kontoberechtigungen für die Playback Rights API hinzu.

  1. Die einfachste Methode zum Erstellen von Client-Anmeldeinformationen für die Playback Rights API ist die Verwendung von diese Online-App und stellen Sie sicher, dass Sie diese Berechtigungen beim Erstellen der Anmeldeinformationen angeben:
    Berechtigungen für Wiedergaberechte
    Berechtigungen für Wiedergaberechte
  2. Wenn Sie Ihre Anmeldeinformationen lieber direkt über die OAuth-API generieren möchten, fahren Sie mit den folgenden Schritten fort.
  3. Hier ist ein Beispiel für eine OAuth-Client-Anfrage mit den erforderlichen Berechtigungen. Sehen Ihr BC_TOKEN erhalten für Informationen zum Erhalt Ihres BC_TOKEN.

    locken \\
      --include \\
      --header "Autorisierung: BC_TOKEN dein BC_TOKEN "\
      --Daten {
        name = demo & maximum_scope = [{
          "Identität": {
            "Typ": "Video-Cloud-Konto",
            "Konto-ID": Ihre Konto-ID
          },
          "Operationen": [
            "Video-Cloud / Wiedergabeauthentifizierung / Wiedergaberechte / Lesen",
            "Video-Cloud / Wiedergabeauthentifizierung / Wiedergaberechte / Schreiben",
            "Video-Cloud / Video / Lesen",
            "Video-Cloud / Video / Erstellen",
            "Video-Cloud / Video / Update",
            "Video-Cloud / Video / Löschen",
            "Video-Cloud / Playback-Auth / Key / Read",
            "Video-Cloud / Playback-Auth / Key / Write"
          ]
      }]
    } \\
    https://oauth.brightcove.com/v4/client_credentials
  4. Kopieren Sie aus der API-Antwort die client_id und client_secret. Sie verwenden diese, um ein Zugriffstoken zu generieren, wenn Sie Anfragen an die Playback Rights API stellen.

Einschränkungen definieren

Verwenden Sie die API für Wiedergaberechte, um Einschränkungen für die Videowiedergabe zu definieren.

API für Wiedergaberechte

Jedes Objekt zur Einschränkung der Wiedergaberechte kann mit einem oder mehreren Videos verwendet werden.

Basis-URL

Die Basis-URL für die API lautet:

https://playback-rights.api.brightcove.com

Account-Pfad

In allen Fällen werden Anfragen für ein bestimmtes Video Cloud-Konto gestellt. Sie fügen also immer den Begriff Konten gefolgt von Ihrer Konto-ID zur Basis-URL hinzu:

https://playback-rights.api.brightcove.com/v1/accounts/{accountID}

Autorisierung

Ein Zugriffstoken für Anfragen ist erforderlich und muss im Autorisierungsheader vorhanden sein።

Authorization: Bearer {access_token}

Das Zugriffstoken ist ein temporäres OAuth2-Zugriffstoken, das vom Brightcove OAuth-Dienst abgerufen werden muss. Ausführliche Informationen zum Abrufen von Client-Anmeldeinformationen und deren Verwendung zum Abrufen von Zugriffstoken finden Sie im Übersicht über Brightcove OAuth.

Berechtigungen

Anfragen an die Playback Rights API müssen gestellt werden von Kundenanmeldeinformationen mit folgenden Berechtigungen:

  • video-cloud/playback-auth/playback-rights/read
  • video-cloud/playback-auth/playback-rights/write

Einschränkungen verwalten

Die Playback Rights API unterstützt die folgenden Anforderungen. API-Details finden Sie im API-Referenz für Wiedergaberechte.

Neue Wiedergaberechte erstellen

POST /v1/accounts/{accountID}/playback_rights
  Content-Type: application/json
  Body: {playback rights object}

Eine Liste der gültigen Felder finden Sie im Anfragetext Sektion.

Lockenbeispiel

Wiedergaberecht erstellen, das nur für Australien gültig ist.

curl -X BEITRAG\
  https://playback-rights.api.brightcove.com/v1/accounts/{your_account_id}/playback_rights \\
  -H 'Autorisierung: Inhaber {access_token} '\\
  -H 'Inhaltstyp: application / json' \\
  -d '{
  „geo“: {
    "allow_countries": [
      „AU“
    ]
  }
} '

API-Antwort

Speichern Sie die playback_rights_id Wert für die spätere Verwendung. Sie finden diesen Wert in der API-Antwort. Entweder:

  • Antwort-Header:

    Die playback_rights_id Wert finden Sie in der Location Feld der Header-Antwort. Es sollte ähnlich sein:

    Location: /v1/accounts/your account_id/playback_rights/your playback_rights_id
        
  • Antworttext

    Die playback_rights_id Der Wert kann im Antworttext als gefunden werden id Gebiet. Es sollte ähnlich sein:

    {
      "id": "your playback_rights_id",
      "geo": {
      "allowed_countries": [
        "MX",
        "US"]
    }

Holen Sie sich alle Wiedergaberechte für ein Konto

GET /v1/accounts/{accountID}/playback_rights

Holen Sie sich ein bestimmtes Wiedergaberecht für ein Konto

GET /v1/accounts/{accountID}/playback_rights/{playbackRightsID}

Aktualisieren Sie ein bestimmtes Wiedergaberecht:

PUT /v1/accounts/{accountID}/playback_rights/{playbackRightsID}
  Content-Type: application/json
  Body: {playback rights object}

Eine Liste der gültigen Felder finden Sie im Anfragetext Sektion.

Löschen Sie ein bestimmtes Wiedergaberecht:

DELETE /v1/accounts/{accountID}/playback_rights/{playbackRightsID}

Anfragetext

Hier ist ein Beispiel für alle Felder, die Sie in den Anforderungstext aufnehmen können:

{
  "geo": {
  "allowed_countries": [
    "MX",
    "US"
  ],
  "blocked_countries": [
    "JP",
    "CN"
  ],
  "allowed_zip_codes": [
    "US-90210"
  ],
  "blocked_zip_codes": [
    "US-72810"
  ],
  "allowed_dmas": [
    501
  ],
  "blocked_dmas": [
    803
  ]
},
"blocked_proxies": {
  "anonymous": true,
  "public": true,
  "corporate": true,
  "transparent": true,
  "hosting": true
},
"allowed_domains": [
  "www.google.com",
  "www.brightcove.com"
],
"blocked_domains": [
  "www.ooyala.com"
],
"start_time": 1572905011,
"end_time": 1672905011,
"allowed_ips": [
  "192.168.1.1"
],
"blocked_ips": [
  "192.168.1.1"
],
"allowed_days": [
  "mon",
  "tue"
],
"allowed_hours": [
  "5-6"
],
"allow_insecure": true,
"disabled": false,
"geo_global_rule": "allow_all",
"is_default": true,
"name": "Optional playback right name"
}

Wiedergaberechte API-Felder

Feld Typ Beschreibung
allowed_days Zeichenfolge Array mit dreibuchstabigen Kleinbuchstaben für die Tage, an denen die Ressource abgerufen werden darf. Eine oder mehrere von: mon, tue, wed, thu, fri, sat, sun
allowed_domains, blocked_domains Zeichenfolge Array von Domainnamen
allowed_hours Ganze Zahl Array von Stunden aus der 24-Stunden-Uhr (beginnend bei 0 und bis zu 47), während der die Ressource abgerufen werden darf. 0 bis 23 für den aktuellen Tag und 24 bis 47 für das Enddatum des nächsten Tages. Wenn ein zulässiger Stundenblock am Vortag beginnt und am nächsten Tag endet, ist eine 24+-Notation erforderlich.

Beispiel: Der Wert von 3-4 in diesem Header bedeutet, dass die Ressource von 3:00 Uhr UTC bis 3:59 Uhr UTC verfügbar ist
allow_insecure Boolescher Wert Standard: false
Stellen Sie dies auf ein true macht das JWT-Token optional.
allowed_ips, blocked_ips Ganze Zahl Array von IPv4-/IPv6-Adressen oder CIDR-Blöcken.
disabled Boolescher Wert Standard: false
Stellen Sie dies auf ein true Deaktiviert die Wiedergaberechte und ermöglicht die Wiedergabe für alle.
geo Objekt Eigenschaften im Zusammenhang mit geografischen Rechten
geo.allowed_countries,
geo.blocked_countries
Zeichenfolge Array aus zweibuchstabigen Ländercodes, die dem ISO 3166-1 Alpha-2-Standard entsprechen. Eine Liste der Werte finden Sie in der Offiziell zugewiesene Codeelemente.
geo.allowed_dmas,
geo.blocked_dmas
Ganze Zahl Reihe von Nielsen Designated Market Area (DMA)-Nummern. Eine Liste der Werte finden Sie in der DMA-Codes dokumentieren.
geo.allowed_zip_codes,
geo.blocked_zip_codes
Zeichenfolge Array von Postleitzahlen, denen die zwei Buchstaben Land und Bindestrich vorangestellt sind. z.B ["US-90045"].
Der aus zwei Buchstaben bestehende Ländercode muss in Großbuchstaben geschrieben sein und dem Alpha-2-Standard ISO 3166-1 entsprechen, wie in der Offiziell zugewiesene Codeelemente.
geo_global_rule Zeichenfolge Standard: ""
Werte:
  • ""- Keine globale geografische Regel (dh folgt dem normalen Fluss für Geo-Eigenschaften)
  • "allow_all"- Ermöglicht die Wiedergabe von überall auf der Welt, mit Ausnahme von Orten auf der schwarzen Liste, die in den blocked_* Eigenschaften angegeben werden
  • "block_all"- Sperrt die Wiedergabe von überall auf der Welt, mit Ausnahme von Orten auf der Whitelist, die in den allow_* Eigenschaften angegeben werden
is_default Boolescher Wert Standard: false
Stellen Sie dies auf ein true macht das aktuelle Wiedergaberecht zum Standard. Einzelheiten finden Sie in den Hinweisen im Einführung Sektion.
name Zeichenfolge Optionaler Name des Wiedergaberechtes
start_time, end_time Ganze Zahl Epochenzeit
Proxy-Eigenschaften für Wiedergaberechte
Feld Typ Beschreibung
blocked_proxies Objekt Eigenschaften im Zusammenhang mit Vertretungsrechten
blocked_proxies.anonymous Boolescher Wert IP-Adresse des Clients ist nicht verfügbar. Umfasst Dienste, die den Standort ändern, um DRM, TOR-Punkte, temporäre Proxys und andere Maskierungsdienste zu schlagen.
blocked_proxies.corporate Boolescher Wert Im Allgemeinen als harmlos angesehen, aber der Standort kann ein Problem darstellen. Identifizieren Sie, ob mehrere Benutzer über einen oder mehrere zentrale Standorte als Proxy geleitet werden und eine einzelne netzwerkoffene IP-Adresse gemeinsam nutzen können.
blocked_proxies.hosting Boolescher Wert Die IP-Adresse gehört zu einer Hosting-Einrichtung und ist wahrscheinlich ein Proxy, da sich Endbenutzer normalerweise nicht in einer Hosting-Einrichtung befinden.
blocked_proxies.public Boolescher Wert Mehrere Benutzer von einem Standort aus, der den öffentlichen Internetzugang ermöglicht.
blocked_proxies.transparent Boolescher Wert Die IP-Adresse des Clients ist über HTTP-Header verfügbar, obwohl der Wert nicht unbedingt zuverlässig ist (zB kann er gefälscht werden).

Einschränkungen mit einem Video verknüpfen

Verwenden Sie die CMS API um eine Playback Rights-ID mit einem Video zu verknüpfen. Sie verwenden die Wiedergaberechte-ID, die Sie im vorherigen Schritt erstellt haben.

CMS-API

Jedes Objekt zur Einschränkung der Wiedergaberechte kann mit einem oder mehreren Videos verwendet werden.

Basis-URL

Die Basis-URL für die API lautet:

https://cms.api.brightcove.com/v1

Account-Pfad

In allen Fällen werden Anfragen für ein bestimmtes Video Cloud-Konto gestellt. Sie fügen also immer den Begriff Konten gefolgt von Ihrer Konto-ID zur Basis-URL hinzu:

https://cms.api.brightcove.com/v1/accounts/{accountId}

Autorisierung

Ein Zugriffstoken für Anfragen ist erforderlich und muss im Autorisierungsheader vorhanden sein።

Authorization: Bearer {access_token}

Das Zugriffstoken ist ein temporäres OAuth2-Zugriffstoken, das vom Brightcove OAuth-Dienst abgerufen werden muss. Ausführliche Informationen zum Abrufen von Client-Anmeldeinformationen und deren Verwendung zum Abrufen von Zugriffstoken finden Sie im Übersicht über Brightcove OAuth.

Berechtigungen

Anfragen an die Playback Rights API müssen gestellt werden von Kundenanmeldeinformationen mit folgenden Berechtigungen:

  • video-cloud/video/read
  • video-cloud/video/update

Einschränkungen verwalten

Das CMS API unterstützt die vielen Anfragetypen. Verwenden Sie Folgendes, um ein Video zu aktualisieren:

Aktualisieren Sie ein Video:

Associate a playback_rights_id mit einem Video. Diese ID sollte in der Playback Rights API vorhanden sein, die Sie im vorherigen Schritt erstellt haben.

PATCH /v1/accounts/{account_id}/videos/{video_id}
  Content-Type: application/json
  Body: {video object}

Lockenbeispiel

Füge einem Video eine play_rights_id hinzu.

curl -X PATCH \\
  https://cms.api.brightcove.com/v1/accounts/deine Account-ID/videos/deine video_id\
  -H 'Autorisierung: Trage dein Access_Token '\
  -H 'Inhaltstyp: application / json' \\
  -d '{
	"playback_rights_id": "Ihre playback_rights_id""
} '

Holen Sie sich ein bestimmtes Video:

GET /v1/accounts/{account_id}/videos/{video_ids}

Ausführliche Informationen zur Verwendung der API finden Sie im CMS-API-Referenz.

Konfigurieren Sie Ihren Player

Der Brightcove Player kommuniziert standardmäßig mit der Brightcove Playback API (PAPI). Ein neues System zur Verwaltung von Wiedergabebeschränkungen sitzt vor der Wiedergabe-API. Um Ihren Player zu konfigurieren, gehen Sie wie folgt vor:

Internet Spieler

Informationen zum Konfigurieren des Brightcove-Webplayers finden Sie im Wiedergabebeschränkungen mit Brightcove Player dokumentieren.

Nativer Android- oder iOS-Player

Informationen zum Konfigurieren des nativen Players für Android oder iOS finden Sie im Wiedergabebeschränkungen mit den nativen SDKs dokumentieren.

Dein eigener Spieler

Wenn sich Ihr Inhalt in der Video Cloud-Bibliothek befindet, Sie jedoch Ihren eigenen Player verwenden, können Sie die Wiedergabe-API aufrufen, wie in der Überblick: Wiedergeben des API-Dokuments. Ersetzen Sie die Basis-URL durch Folgendes:

https://edge-auth.api.brigthcove.com

Anstelle eines Richtlinienschlüssels verwenden Sie das JSON Web Token (JWT) zur Authentifizierung:

Authorization: Bearer {JWT}

Hier ist ein Curl-Beispiel:

curl -X GET\
-H 'Autorisierung: Träger {JWT} '\\
https://edge-auth.api.brightcove.com/playback/v1/accounts/{your_account_id}/videos/{your_video_id}