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
ttlDer Wert für beide obigen Schritte sollte gleich oder größer als das DVR-Fenster sein - andernfalls wird das DVR-Fenster auf diettlWert - Sowohl http als auch https werden unterstützt
- Die
token_namemuss 5-12 Zeichen lang sein und muss mit der Konfiguration in Akamai . übereinstimmen start_timeis optional and can be"now"(the default) or an epoch time value in secondsend_timeis optional and can be an epoch time value in seconds - eitherend_timeorttlis required; if not specified,ttlis assumed to be the greater oflive_dvr_sliding_window_durationandvod_sliding_window_duration