Einleitung
Wiedergabebeschränkungen können für einen Live-Auftrag aktiviert werden, um den durch DRM und/oder AES-128-Verschlüsselung gebotenen Schutz zu erweitern:
- Beschränken der Wiedergabe auf einen bestimmten Benutzeragenten
- Begrenzung der Anzahl der IP-Adressen
- Begrenzung der Gesamtzahl der Benutzer
Um umfassende Einschränkungen zu erhalten, können Sie diese mit der Playback Rights API konfigurieren. In diesem Fall würden Sie die playback_rights_id
mit einem Video. Einzelheiten finden Sie im Einschränkungen auf Asset-Ebene Abschnitt der Übersicht: Dokument „Brightcove Playback Restrictions“
Für Laufzeitbeschränkungen können Sie die JSON Web Token (JWT)-Ansprüche angeben. Zu diesen Einschränkungen gehören Stream-Parallelität und Gerätebeschränkungen. Einzelheiten finden Sie im Laufzeitbeschränkungen Abschnitt der Übersicht: Dokument „Brightcove Playback Restrictions“
Bei Livestreams können Sie auch die DRM-CRT für einen Benutzer überschreiben. Einzelheiten finden Sie im Lizenzschlüsselschutz Abschnitt der Übersicht: Dokument „Brightcove Playback Restrictions“
Egal für welchen Modus Sie sich entscheiden, die Jobanfrage muss Folgendes enthalten: videocloud.video
-Attribut, damit ein Video Cloud-Video erstellt und mit dem Live-Job verknüpft wird. Die playback_rights_id
-Attribut kann im Video Cloud-Video aktualisiert werden, um die Wiedergabebeschränkungen über das CMS-API.
Sie müssen auch Erstellen eines JSON-Webtokens (JWT) mit den entsprechenden Ansprüchen. Das JWT muss in alle Lizenzserveranforderungen eingeschlossen werden. Wenn Sie einen eigenen Player implementieren, müssen Sie diesen Wert entweder in a BCOV-Auth
Kopfzeile oder bcov_auth
Abfrageparameter (zusätzlich zum DRM-Token).
Einen Live-Auftrag mit Studio erstellen
Sie können einen Live-Auftrag erstellen, der die Wiedergabebeschränkungen in Video Cloud Studio nutzt.
- Die Einzelheiten zum Erstellen von Live-Streams finden Sie im Dokument Create a Live Stream Using the Brightcove Live API.
-
Erweitern Sie in Studio beim Erstellen Ihres Live-Events die Erweiterte Optionen Abschnitt.
-
Wählen Sie für Content Encryption eine der folgenden Optionen:
- AES-128
- Verwaltung digitaler Rechte (DRM)
Einzelheiten finden Sie unter Erweiterte Optionen konfigurieren Abschnitt der Erstellen und Verwalten von Live-Events mit dem Live-Modul dokumentieren.
-
Um den Wiedergabeschutz zu erweitern, aktivieren Sie das Kästchen Wiedergabebeschränkungen aktivieren.
Die Stellenanfrage muss ein
videocloud.video
Attribut enthalten, damit ein Video Cloud-Video erstellt und mit dem Live-Job verknüpft wird. Dieplayback_rights_id
-Attribut kann im Video Cloud-Video aktualisiert werden, um die Wiedergabebeschränkungen über das CMS-API.
Erstellen eines Live-Auftrags mit der Live-API
Sie können einen Live-Auftrag erstellen, der die Wiedergabebeschränkungen mit der Brightcove Live-API nutzt.
- Sehen Sie sich die Details zur Erstellung von Live-Streams im Dokument Erstellen und Verwalten von Live-Events mit dem Live-Modul an.
-
Überprüfen Sie die neuen Felder, die zum Hinzufügen von Wiedergabebeschränkungen zu einem Live-Auftrag verwendet werden:
-
drm
Objekt:require_playback_token
(boolesch)- Playback Auth JWT wird benötigt, wenn eine Lizenz angefordert wird.
check_playback_rights
(boolesch)- Playback Auth JWT wird benötigt, wenn eine Lizenz angefordert wird. Verwendet die mit Video oder JWT verknüpfte Wiedergaberechte-ID, um Einschränkungen durchzusetzen.
-
videocloud.video
Objekt:playback_rights_id
(Zeichenfolge)- Verknüpft bestimmte Wiedergabebeschränkungen mit einem Video.
-
-
Erstellen Sie einen Live-Auftrag mit der Brightcove-Live-API.
Musteranfrage und -antwort
Unten sehen Sie ein Beispiel für einen Live-API-Anforderungstext zum Erstellen eines Live-Jobs mit Wiedergabebeschränkungen.
Beispielanfragetext
{ "live_stream": true, "region": "us-west-2", "reconnect_time": 300, "ad_insertion": false, "static": false, "drm": { "modes":["all"], "require_playback_token": true, "check_playback_rights": true }, "encryption": { "check_playback_rights": true, "method": "aes-128", "type": "internal", "key": "24432646294A404E635266556A586E32" }, "live_dvr_sliding_window_duration": 300, "videocloud": { "live_to_vod": true, "video": { "name": "Test EPA", "description": "", "long_description": "", "tags": [], "reference_id": "", "link": { "url": "", "text": "" }, "custom_fields": {} } }, "outputs": [{ "label": "hls720p", "live_stream": true, "height": 720, "video_bitrate": 2000, "segment_seconds": 6, "keyframe_interval": 60 }, { "label": "hls480p", "live_stream": true, "height": 480, "video_bitrate": 1000, "segment_seconds": 6, "keyframe_interval": 60 } }
Beispielantwort
Die hervorgehobene Zeile enthält das Video
id
dass du die hinzufügen musstplayback_rights_id
{ "id": "f47487cf81f84764b280fbfaefed524a", "outputs": [ { "id": "0-f47487cf81f84764b280fbfaefed524a", "label": "hls720p" }, { "id": "1-f47487cf81f84764b280fbfaefed524a", "label": "hls480p" }, { "id": "2-f47487cf81f84764b280fbfaefed524a", "playlist_type": "defaultS3", "type": "playlist", "drm": { "token": "eyJh...axy8", "modes": [ { "type": "fairplay", "key_system": "com.apple.fps.1_0", "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/fp?token=eyJh...axy8", "certificate_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/cert/fp?token=eyJh...axy8", "filename": "playlist_fp.m3u8", "dvr_filename": "playlist_fp_dvr.m3u8", "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp.m3u8", "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp_dvr.m3u8", "playback_added_cdns": [] }, { "type": "widevine", "key_system": "com.widevine.alpha", "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/wv?token=eyJh...axy8", "filename": "playlist_wv.m3u8", "dvr_filename": "playlist_wv_dvr.m3u8", "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv.m3u8", "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv_dvr.m3u8", "playback_added_cdns": [] }, { "type": "playready", "key_system": "com.microsoft.playready", "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/pr?token=eyJh...axy8", "filename": "playlist.mpd", "dvr_filename": "playlist_dvr.mpd", "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist.mpd", "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_dvr.mpd", "playback_added_cdns": [] } ], "token_expires_in": 43200, "require_playback_token": true, "check_playback_rights": true } } ], "stream_url": "rtmp://ep8-usw2.a-live.io:1935/f47487cf81f84764b280fbfaefed524a", "stream_name": "alive", "static": false, "event_length": 93600, "job_videocloud_asset_id": "70701312966202", "encryption": {}, "drm_enabled": true, "drm": { "token": "eyJh...axy8", "modes": [ { "type": "fairplay", "key_system": "com.apple.fps.1_0", "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/fp?token=eyJhb...axy8", "certificate_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/cert/fp?token=eyJhb...axy8", "filename": "playlist_fp.m3u8", "dvr_filename": "playlist_fp_dvr.m3u8", "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp.m3u8", "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp_dvr.m3u8", "playback_added_cdns": [] }, { "type": "widevine", "key_system": "com.widevine.alpha", "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/wv?token=eyJhb...axy8", "filename": "playlist_wv.m3u8", "dvr_filename": "playlist_wv_dvr.m3u8", "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv.m3u8", "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv_dvr.m3u8", "playback_added_cdns": [] }, { "type": "playready", "key_system": "com.microsoft.playready", "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/pr?token=eyJh...axy8", "filename": "playlist.mpd", "dvr_filename": "playlist_dvr.mpd", "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist.mpd", "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_dvr.mpd", "playback_added_cdns": [] } ], "token_expires_in": 43200, "require_playback_token": true, "check_playback_rights": true } }
Einschränkungen zum Live-Job hinzufügen
Nachdem Sie den Livestream erstellt haben, können Sie dem Video, das für den Live-Job erstellt wurde, mithilfe der Schaltfläche Wiedergabebeschränkungen hinzufügen CMS-API.
CMS-API-Anfrage
Um dem Video die Wiedergaberechte-ID hinzuzufügen, senden Sie eine Video aktualisieren Anfrage an die CMS-API mit dem folgenden Anfragetext:
{
"playback_rights_id": "your playback_rights_id"
}
Liefere den Stream
Wenn Sie den Brightcove-Webplayer oder eines der nativen Brightcove-Player-SDKs zum Bereitstellen des Livestreams verwenden, ist die Implementierung für Wiedergabebeschränkungen dieselbe wie für VOD. Siehe Folgendes:
- Konfigurieren Sie Ihren Player Abschnitt des Dokuments Implementieren von Wiedergaberechten