Signierte URLs und Token-Authentifizierung mit einem Live-Stream
Überblick
Wenn Sie Premium- oder vertrauliche Inhalte liefern, werden Sie nach allen Möglichkeiten suchen, um sicherzustellen, dass diese sicher bleiben. Sie möchten nicht, dass Endbenutzer Video-URLs kopieren oder Inhalte ohne die ordnungsgemäße Autorisierung weiterhin wiedergeben können. Brightcove unterstützt das Signieren von RTMP-, HLS- und DASH-URLs.
Wenn Sie Ihr eigenes Token generieren, besteht dieser Vorgang aus einem Schritt. Wenn das Live-System eine tokenisierte URL generieren soll, sind zwei Schritte erforderlich, die in den folgenden Abschnitten beschrieben werden, um die Token-Authentifizierung für Livestreams zu aktivieren.
Implementierung
Schritt 1: Erstellen des Live-Jobs
Um die Token-Authentifizierung zu aktivieren, fügen Sie Folgendes in den Anforderungstext ein, wenn Sie einen Job schaffen:
"add_cdns": [{
"label": "My CDN",
"prepend": "mycdn-a.akamaihd.net",
"protocol": "https",
"vendor": "akamai",
"token_auth": {
"auth_type": "Akamai2.0",
"key": "AKAMAI_TOKEN_PASSWORD",
"token_name": "AKAMAI_TOKEN_NAME",
"media": {
"start_time": "now",
"end_time": 1495697388,
"ttl": 60
}
}
}]
Die relevanten Felder sind in der folgenden Tabelle beschrieben:
Feld | Wert |
---|---|
start_time |
entweder now oder eine Unix/Posix-Startzeit |
end_time |
Endzeit von unix/posix |
ttl |
Zahl in Sekunden für die Zeit zu leben |
Schritt 2: Nachdem der Live-Job erstellt wurde
Nachdem der Live-Job erstellt wurde, müssen Sie eine weitere Anfrage zum Generieren der Mastermanifest-URLs stellen. Senden Sie dazu eine POST
Anfrage zu:
https://api.bcovlive.io/v1/jobs/JOB_ID/authurls
Fügen Sie den folgenden JSON als Anfragetext ein:
{
"ttl": number in seconds for time to live
}
Anmerkungen
- Die
ttl
Der Wert für beide obigen Schritte sollte gleich oder größer als das DVR-Fenster sein - andernfalls wird das DVR-Fenster auf diettl
Wert - Sowohl http als auch https werden unterstützt
- Die
token_name
muss 5-12 Zeichen lang sein und muss mit der Konfiguration in Akamai . übereinstimmen start_time
is optional and can be"now"
(the default) or an epoch time value in secondsend_time
is optional and can be an epoch time value in seconds - eitherend_time
orttl
is required; if not specified,ttl
is assumed to be the greater oflive_dvr_sliding_window_duration
andvod_sliding_window_duration