HLS-Verschlüsselung mit AES-128
Aktualisiert am 06 Okt 2026Der HLS-Ausgang eines Kanals kann mit AES-128 verschlüsselt werden: Jedes Segment wird mit einem 128-Bit-Schlüssel verschlüsselt, den der Castreon-Server selbst erzeugt, und die Player holen den Schlüssel vom selben Server. Jeder HLS-Player spielt das ab — Safari und iPhone, Android (ExoPlayer / Media3), hls.js, Video.js, VLC, Smart-TVs und Set-Top-Boxen — ohne DRM-Anbieter und ohne zusätzliche Kosten.
Verfügbar ab Castreon 1.0.5 in allen Plänen.
Was es schützt — und was nicht
- Ohne Schlüssel sind die Segmente wertlos: Aus einem Cache, einem CDN oder von der Festplatte kopiert, lassen sie sich nicht abspielen.
- Der Schlüssel wird mit denselben Zugriffsregeln wie der Stream ausgeliefert — Token für Player und Erlaubte Adressen — und bleibt nie in Caches unterwegs liegen.
- Ein Zuschauer, der schauen darf, erhält auch den Schlüssel. AES-128 hält alle fern, die nicht dürfen; es verhindert nicht, dass ein berechtigter Zuschauer aufnimmt. Für Bezahlinhalte mit Schutz direkt auf dem Gerät verwenden Sie DRM — Widevine, PlayReady und FairPlay (Enterprise).
Einschalten
- Öffnen Sie den Kanal → Bearbeiten → den HLS-Ausgang.
- Wählen Sie bei Verschlüsselung die Option AES-128.
- Wählen Sie den Schlüsselwechsel:
- nur beim Start — bei jedem Start des Kanals ein neuer Schlüssel;
- alle 10 Minuten, stündlich (Standard) oder einmal täglich — der Schlüssel wechselt auch, während der Kanal läuft.
- Speichern Sie. Unter Auslieferung erscheint die Adresse als HLS · AES-128 — es ist dieselbe Adresse wie bisher (
http://<domain>/live/kanal1/index.m3u8).
AES-128 funktioniert mit TS-Segmenten. Mit Container auf automatisch verwenden H.264-Kanäle TS, es muss also nichts weiter geändert werden. Ist der Container auf fMP4 (CMAF) gesetzt, lässt sich die Option nicht wählen; HEVC und AV1 verwenden immer fMP4, mit ihnen startet der Kanal daher nicht, und sein Protokoll nennt den Grund — wählen Sie H.264 für diesen Kanal oder verwenden Sie DRM.
Bei mehreren Qualitäten (ABR) wird jede Qualität verschlüsselt.
Die Schlüssel
- Die Schlüssel werden auf dem Server erzeugt und neben den Segmenten abgelegt, in
/live/<kanal>/keys/. Die Playlist sagt dem Player, welcher Schlüssel zu welchem Segment gehört. - Wechselt der Schlüssel, verwenden die neuen Segmente den neuen Schlüssel; die alten Schlüssel bleiben für die Länge des Intervalls plus 10 Minuten verfügbar (mindestens die letzten drei), damit Zuschauer, die etwas zurückliegen, ohne Unterbrechung weiterschauen.
- Player brauchen nichts Besonderes: Sie lesen die Adresse des Schlüssels aus der Playlist.
Verwenden Sie HTTPS
Der Schlüssel wird wie jede andere Datei übertragen. Über einfaches HTTP kann er im Netz mitgelesen werden, über HTTPS nicht. Stellen Sie Panel und Auslieferung hinter HTTPS und setzen Sie die Öffentliche Domain unter Einstellungen → Instanz auf https://… — siehe WebRTC → HTTPS für das Panel für eine fertige Konfiguration mit Caddy oder nginx.
Mit einem CDN vor Castreon lassen Sie das CDN die Segmente zwischenspeichern, aber nicht /live/<kanal>/keys/ (Castreon sendet für die Schlüssel bereits Cache-Control: no-store), und reichen den Token durch.
Was nicht verschlüsselt wird
AES-128 gilt nur für den HLS-Ausgang. DASH, LL-HLS, HTTP-TS, WebRTC und die Push-Ausgänge (SRT, RTMP, UDP, RIST) sind nicht betroffen — für sie verwenden Sie Erlaubte Adressen, den Token, SRT-/RIST-Verschlüsselung oder DRM.
Die Vorschau im Panel funktioniert auch bei verschlüsselten Kanälen.
Wenn es nicht funktioniert
- AES-128 lässt sich nicht wählen — der HLS-Container steht auf fMP4 (CMAF). Wählen Sie TS oder automatisch.
- Der Kanal startet nicht: „Die AES-128-Verschlüsselung des HLS-Ausgangs funktioniert nur mit TS-Segmenten…“ — das Profil ist HEVC oder AV1, die fMP4 verwenden. Verwenden Sie für diesen Kanal H.264 oder DRM.
- Der Player lädt die Playlist, aber kein Bild — er bekommt den Schlüssel nicht: Prüfen Sie Token und erlaubte Adressen für den Zuschauer und dass eine über HTTPS ausgelieferte Seite den Stream nicht über HTTP lädt (Browser blockieren gemischte Inhalte).
- Das Kanalprotokoll meldet „HLS-Verschlüsselung: Schlüssel konnte nicht erstellt werden“ — in den HLS-Ordner kann nicht geschrieben werden (Festplatte voll oder Berechtigungen).