Einführung
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 Überblick: Wiedergaberechte verwalten dokumentieren.
Validierungsprozess
Wiedergaberechte werden in der Reihenfolge der Spezifität und Übereinstimmung angewendet. Eine Zulassungsregel negiert den Rest der 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.
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. Weitere Informationen erhalten Sie von Ihrem Account 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.
curl \\ --include \\ --header "Autorisierung: BC_TOKEN dein BC_TOKEN " \\ --data { name=demo&maximum_scope=[{ "identity": { "type": "video-cloud-account", "account-id": Ihre Konto-ID }, "operationen": [ "video-cloud/playback-auth/playback-rights/read", "video-cloud/playback-auth/playback-rights/write", "video-cloud/video/read", " video-cloud/video/create“, „video-cloud/video/update“, „video-cloud/video/delete“, „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/v1
Kontopfad
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}
Genehmigung
Ein Zugriffstoken für Anfragen ist erforderlich und muss im Authorization-Header 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 POST \\ https://playback-rights.api.brightcove.com/v1/accounts/{your_account_id}/playback_rights \\ -H 'Berechtigung: Träger {access_token}' \\ -H 'Inhaltstyp: Anwendung/json' \\ -D '{ "geo": { "allowed_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
},
"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,
"name": "Optional playback right name"
}
Hier die Felddetails:
Gebiet | Typ | Beschreibung |
---|---|---|
allowed_countries , 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. |
allowed_zip_codes , blocked_zip_codes |
Zeichenfolge | Array von Postleitzahlen, denen die zwei Buchstaben Land und Bindestrich vorangestellt sind. z.B ["US-90045"] . Der zweibuchstabige Ländercode muss in Großbuchstaben geschrieben sein und dem ISO 3166-1 Alpha-2-Standard entsprechen, wie in der Offiziell zugewiesene Codeelemente. |
allowed_dmas , blocked_dmas |
Ganze Zahl | Reihe von Nielsen Designated Market Area (DMA)-Nummern. Eine Liste der Werte finden Sie in der DMA-Codes dokumentieren. |
blocked_proxies: anonymous |
Boolesches | 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: public |
Boolesches | Mehrere Benutzer von einem Standort aus, der den öffentlichen Internetzugang ermöglicht. |
blocked_proxies: corporate |
Boolesches | 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: transparent |
Boolesches | 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). |
allowed_domains , blocked_domains |
Zeichenfolge | Array von Domainnamen |
start_time , end_time |
Ganze Zahl | Epochenzeit |
allowed_ips , blocked_ips |
Ganze Zahl | Array von IPv4-/IPv6-Adressen oder CIDR-Blöcken. |
allowed_days |
Zeichenfolge | Array mit Namen aus drei Buchstaben in Kleinbuchstaben für die Tage, an denen die Ressource abgerufen werden darf. Eine oder mehrere von: mon, tue, wed, thu, fri, sat, sun |
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 |
Boolesches | Standard: false
Einstellung auf true macht das JWT-Token optional. |
disabled |
Boolesches | Standard: false
Einstellung auf true deaktiviert das Wiedergaberecht und ermöglicht die Wiedergabe für alle. |
name |
Zeichenfolge | Optionaler Name des Wiedergaberechtes |
Einschränkungen mit einem Video verknüpfen
Verwenden Sie die CMS-API um eine Wiedergaberechte-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
Kontopfad
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}
Genehmigung
Ein Zugriffstoken für Anfragen ist erforderlich und muss im Authorization-Header 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
Die 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 'Berechtigung: Träger dein access_token' \\ -H 'Inhaltstyp: Anwendung/json' \\ -d '{ "playback_rights_id": "deine play_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.
Definieren Sie Einschränkungen auf Benutzerebene
Wenn Sie Einschränkungen auf Benutzerebene wünschen, benötigen Sie ein JSON-Webtoken (JWT), die mit Ansprüchen konfiguriert sind, die Ihren Einschränkungen zugeordnet sind.
Schritte
Um ein zu erstellen JSON-Webtoken (JWT), um an Ihren Player zu übergeben, gehen Sie wie folgt vor:
-
Einschränkungen festlegen
Bestimmen Sie die Art der Einschränkungen auf Benutzerebene, die Sie aus der folgenden Liste verwenden möchten. Fügen Sie die erforderlichen JWT-Ansprüche ein, wenn Sie Ihre . erstellen JSON-Webtoken (JWT).
Gerätegrenzen
Bei einer DRM-Lizenzanfrage wird das Gerät des Benutzers registriert und eine eindeutige ID zugewiesen. Das Gerätelimit wird bei jeder Lizenzanfrage überprüft und durchgesetzt. Um diese Einschränkung zu verwenden, generieren Sie ein JWT mit der aktuellen Benutzer-ID (uid).
Einzelheiten finden Sie im Implementieren von Gerätelimits dokumentieren.
Beschränkungen für gleichzeitige Streams
Bei einer DRM-Lizenzanfrage wird das Gerät des Benutzers registriert und eine eindeutige ID zugewiesen. Bei jeder Lizenzanfrage wird die Geräte-ID überprüft, um sicherzustellen, dass nur eine bestimmte Anzahl von Videostreams gleichzeitig angesehen wird.
Einzelheiten finden Sie im Begrenzung gleichzeitiger Streams pro Betrachter dokumentieren.
Stichworte
Basierend auf
tags
behaupten, die JSON-Webtoken (JWT) gibt die Gruppe von Videos an, die der Benutzer ansehen darf. Sie können Videos mit Tags gruppieren, indem Sie die Medienmodul im Video Cloud Studio von Brightcove.Der Wiedergabeautorisierungsdienst überprüft die mit jedem Video verknüpften Tags. Wenn mindestens eines der Tags mit der Liste im JWT-Token übereinstimmt, ist das Video sichtbar.
Tags im JWT-Token werden als ein Array von Tags aufgelistet.
-
Ein ... kreieren JSON-Webtoken
Informationen zum Erstellen eines Tokens für die Kommunikation mit der Playback-API von Brightcove finden Sie im Ein ... Erstellen JSON-Webtoken (JWT) dokumentieren.
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 Verwenden von Wiedergaberechten mit Brightcove Player dokumentieren.
Nativer Android-Player
Informationen zum Konfigurieren des nativen Players für Android finden Sie im Verwenden von Wiedergaberechten mit den nativen SDKs dokumentieren.
Nativer iOS-Player
Informationen zum Konfigurieren des nativen Players für iOS finden Sie im Verwenden von Wiedergaberechten 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: Wiedergabe-API dokumentieren. Ersetzen Sie die Basis-URL durch Folgendes:
https://edge-auth.api.brigthcove.com
Anstelle eines Richtlinienschlüssels verwenden Sie das JWT-Token zur Authentifizierung:
Authorization: Bearer {JWT}
Hier ist ein Curl-Beispiel:
curl -X GET \\ -H 'Berechtigung: Träger {JWT}' \\ https://edge-auth.api.brightcove.com/playback/v1/accounts/{your_account_id}/videos/{your_video_id}