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:
- Geografische Prüfungen
- Termincheck
- Proxy-Check
- Domain-Check
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 aufallow_all
geo_global_rule
ist eingestellt aufblock_all
geo_global_rule
ist eingestellt aufnull
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:
- Termincheck
- Proxy-Check
- Domain-Check
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:
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.
- Melden Sie sich bei Video Cloud Studio an. In dem Administrator Dropdown, wählen Sie Kontoinformationen. Kopieren Sie Ihre Konto-ID.
-
Ö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.
-
Sie sollten eine Eingabeaufforderung sehen, die Ihre enthält
BC_TOKEN
Kundenanmeldeinformationen anfordern
Fügen Sie Kontoberechtigungen für die Playback Rights API hinzu.
- 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:
- Wenn Sie Ihre Anmeldeinformationen lieber direkt über die OAuth-API generieren möchten, fahren Sie mit den folgenden Schritten fort.
-
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
-
Kopieren Sie aus der API-Antwort die
client_id
undclient_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 derLocation
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 werdenid
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:
|
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}