1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Einen MP3/AAC- oder HLS-Stream sichern
Dieser Leitfaden erklärt, wie Sie die Kontrolle über Ihre MP3/AAC- oder HLS-Radio-Streaming-Streams behalten können, um beispielsweise zu entscheiden, ob ein Hörer Ihr Radio hören darf, indem Sie den Schutz mit einem eindeutigen Schlüssel (Token) aktivieren.
Schutz eines Audio-Streams mit einem eindeutigen Schlüssel
Das Prinzip ist einfach: Bei jeder Verbindung senden Sie eine Anfrage an die Infomaniak-API, die Ihnen im Gegenzug ein eindeutiges Token mit einer begrenzten und konfigurierbaren Lebensdauer zurückgibt. Dieses Token autorisiert jeden, der es besitzt, den Stream während dieses Zeitraums zu konsumieren.
Sie können einen MP3/AAC- oder HLS-Stream unabhängig voneinander schützen (das gilt auch für die Geolokalisierung).
Dazu müssen Sie einfach zu den Einschränkungseinstellungen gehen und den Schutz mit einem Token auf dem Stream aktivieren, den Sie sichern möchten:
- Melden Sie sich im Infomaniak Manager (manager.infomaniak.com) von einem Webbrowser wie Brave oder Edge aus an
- Klicken Sie oben rechts in der Benutzeroberfläche auf das Symbol (oder navigieren Sie beispielsweise über das linke Seitenmenü)
- Wählen Sie Radio-Streaming (unter Streaming)
- Klicken Sie auf den Namen des betreffenden Objekts in der angezeigten Tabelle
- Klicken Sie im linken Seitenmenü auf Einschränkungen
- Wählen Sie bei Bedarf HLS aus
- Klicken Sie auf das Aktionsmenü ⋮ rechts neben dem betreffenden Stream in der angezeigten Tabelle
- Klicken Sie auf Token-Einschränkung
Aktivieren Sie dann den Schutz.
Achtung: Wenn Sie diese Option aktivieren, wird der Zugriff auf den Stream sofort für neue Verbindungen blockiert. Passen Sie Ihre Player an, um die Einschränkung zu berücksichtigen, wie im folgenden Beispiel illustriert:
Erstellen eines Radio-API-Tokens
Um auf die Radio-API zugreifen zu können, müssen Sie sich zunächst mit einem Anwendungstoken authentifizieren. Dieser Schritt muss nur einmal durchgeführt werden. Lesen Sie zum Erstellen dieses Anwendungstokens diesen Leitfaden.Der Scope ist radio und die Lebensdauer ist unbegrenzt, um ein regelmäßiges Neugenerieren des Codes zu vermeiden. Sobald das Token generiert wurde, kopieren Sie es, um es in das folgende Beispiel einzufügen.
Beispiel für die Verwendung in der Programmiersprache PHP
Für MP3/AAC oder HLS kann der Code im Wesentlichen derselbe sein, nur die URL, die per POST aufgerufen wird, ändert sich in ihrer Form.
/**
* Generische Funktion zur Ausführung von cURL-Anfragen
*
* @param string $method HTTP-Methode (GET, POST, PUT usw.)
* @param string $url URL der zu anfragenden API
* @param array $headers Liste der HTTP-Header (die Autorisierung muss hier mit einem ['Authorization: Bearer
* @param array $payload Ein Array, das Daten zum Erstellen eines Tokens enthält
* @return mixed
*/
- Für einen MP3 / AAC-Stream
- Für einen HLS-Stream
POST https://api.infomaniak.com/1/radios/acl/streams/<b>mountpoint.mp3</b>/token
Beispiel zum Schützen von https://newradiotest.ice.infomaniak.ch/newradiotest-128.aac
der Pfad lautet: https://api.infomaniak.com/1/radios/acl/streams/newradiotest-128.aac/token
POST https://api.infomaniak.com/1/radios/acl/hls_streams/<stream>/token
Beispiel zum Schützen von https://myradiostream.radiohls.infomaniak.com/myradiostream/manifest.m3u8
der Pfad lautet: https://api.infomaniak.com/1/radios/acl/hls_streams/myradiostream/token
Beispiel im Fall von MP3 / AAC, denken Sie daran, anzupassen
'POST',
'https://api.infomaniak.com/1/radios/acl/streams/newradiotest-128.aac/token',
// Autorisierungsheader
[
'Authorization: Bearer ' . API_TOKEN,
'Content-Type: application/json',
],
/**
* Payload zum Erstellen des Tokens, Sie können die folgenden Werte übergeben
* Fenster | 300 | Optional | Gültigkeitsdauer des Tokens (Standard: 5 Minuten)
*/
[
'window' => 3600, // Gültigkeit von 1 Stunde
]
Es ist wichtig zu beachten, dass wenn dieser Code beim Laden der Seite generiert wird, der Zuhörer "window" Sekunden hat, um den Stream abzuspielen. Nach dieser Zeit wird der Token ablaufen, und der Stream kann nicht mehr abgespielt werden, es sei denn, die Seite wird neu geladen. Je nach Ihren Bedürfnissen und Ihrem Anwendungsfall müssen Sie diese Verzögerung auf die bestmögliche Weise anpassen.
Sie müssen auch die Wiedergabe-URL Ihres Streams unten anstelle der angegebenen ersetzen, wobei das $token
-Parameter am Ende beibehalten wird. Und schließlich zeigen wir den Player an (hier ein einfaches HTML5-Tag, aber Sie können natürlich jede andere Überlagerung hinzufügen, wobei der Token in den $_GET
-Parametern der URL übergeben wird.
$streamUrl = "https://newradiotest.ice.infomaniak.ch/newradiotest-128.aac?$token";
echo "<audio controls=""><source src="$streamUrl"></audio>";