DRM — Widevine, PlayReady und FairPlay
Aktualisiert am 06 Okt 2026Castreon kann einen Kanal mit den drei DRM-Systemen verschlüsseln, die Geräte für Bezahlinhalte verwenden: Widevine (Android, Chrome, Firefox, Android TV, die meisten Smart-TVs), PlayReady (Windows, Edge, Xbox, Smart-TVs) und FairPlay (Safari, iPhone, iPad, Apple TV). Bild und Ton lassen sich nur im geschützten Bereich des Geräts entschlüsseln, mit einer Lizenz, die Ihr DRM-Anbieter jedem Zuschauer gibt.
Verfügbar ab Castreon 1.0.5 im Enterprise-Plan. Für eine einfache Verschlüsselung in allen Plänen siehe HLS-Verschlüsselung mit AES-128.
Wer macht was
| Aufgabe | |
|---|---|
| Castreon | fordert bei jedem Start des Kanals einen neuen Schlüssel bei Ihrem DRM-Anbieter an (CPIX), verschlüsselt den Kanal und veröffentlicht DASH und HLS mit den DRM-Angaben, die Player brauchen |
| Ihr DRM-Anbieter (zum Beispiel DoveRunner) | verwahrt die Schlüssel und gibt den Playern Lizenzen |
| Ihre Plattform (App, Website, Middleware) | entscheidet, wer schauen darf, und erzeugt für jeden Zuschauer einen Lizenz-Token |
Castreon stellt nie Lizenzen aus und sieht Ihre Abonnenten nicht. Das Verpacken übernimmt Shaka Packager, der in Castreon enthalten ist (BSD-Lizenz) — es muss nichts zusätzlich installiert werden.
Was Sie brauchen
- Eine Enterprise-Lizenz auf dem Server.
- Ein Konto bei einem DRM-Anbieter, der Schlüssel über CPIX liefert — zum Beispiel DoveRunner (früher PallyCon). Der Plan des Anbieters muss die gewünschten DRM-Systeme enthalten (FairPlay braucht zusätzlich ein Apple-FairPlay-Streaming-Zertifikat, das der Anbieter erklärt).
- Kanäle in H.264 oder HEVC.
- HTTPS für Web-Player: Browser erlauben DRM nur auf HTTPS-Seiten.
1. DRM-Anbieter verbinden
Einstellungen → DRM:
- Wählen Sie bei DRM-Anbieter:
- DoveRunner (PallyCon) — fügen Sie nur den KMS-Token aus DoveRunner Console → Multi-DRM → DRM Settings ein; die Adresse bildet Castreon selbst;
- Anderer Anbieter (CPIX) — fügen Sie die vollständige CPIX-Adresse Ihres Anbieters ein, inklusive Token (nur HTTPS).
- Speichern. Unter KMS-Server erscheinen der Anbieter und der Name seines Servers; der Token selbst wird nie wieder angezeigt — weder im Panel noch in der API, im Audit-Protokoll oder im Diagnosebericht.
- Verbindung testen fordert für jede Auslieferung einen Testschlüssel an. Sie sollten DASH (CENC) mit PlayReady und Widevine und HLS (CBCS) mit FairPlay, Widevine und PlayReady sehen.
Der Status oben rechts zeigt Bereit, wenn Lizenz, Anbieter und Shaka Packager in Ordnung sind.
2. DRM-Ausgang zu einem Kanal hinzufügen
- Öffnen Sie den Kanal → Bearbeiten → Ausgang hinzufügen und wählen Sie bei Typ die Option DRM.
- Content-ID — der Name, unter dem der Anbieter den Schlüssel speichert. Leer bedeutet den Kurznamen des Kanals. Buchstaben, Ziffern, Punkt, Bindestrich und Unterstrich.
- Wählen Sie die Auslieferungen:
- DASH · Widevine + PlayReady (CENC)
- HLS · FairPlay + Widevine + PlayReady (CBCS)
- Ändern Sie optional Segmentdauer (s) (Standard 4) und Segmente in der Playlist (Standard 6).
- Speichern Sie. Der Kanal startet mit dem DRM-Ausgang neu.
Die anderen Ausgänge des Kanals laufen wie bisher und sind nicht verschlüsselt. Für einen Bezahlkanal behalten Sie nur den DRM-Ausgang (und, falls nötig, Push-Ausgänge zu Ihren eigenen Systemen).
Die Adressen und Content-IDs
Für einen Kanal mit dem Kurznamen kanal1 zeigt Auslieferung:
| Zeile in Auslieferung | Wert |
|---|---|
| DRM · DASH (Widevine, PlayReady) | http://<domain>/live/kanal1/drm/dash/manifest.mpd |
| DRM · DASH · content ID | kanal1 |
| DRM · HLS (FairPlay, Widevine, PlayReady) | http://<domain>/live/kanal1/drm/hls/master.m3u8 |
| DRM · HLS · content ID | kanal1-hls |
DASH und HLS verwenden verschiedene Schlüssel (CENC und CBCS dürfen sich keinen Schlüssel teilen) und haben daher verschiedene Content-IDs: Die von HLS endet auf -hls. Der Lizenz-Token Ihrer Plattform muss die Content-ID der Auslieferung verwenden, die der Player öffnet.
Es gelten derselbe Token für Player und dieselben Erlaubten Adressen wie für die anderen Ausgänge.
Welche Auslieferung für welches Gerät
| Gerät | Auslieferung | DRM |
|---|---|---|
| Android-Smartphones und -Tablets, Android TV, Fire TV | DASH | Widevine (ExoPlayer / Media3) |
| Chrome, Firefox, Edge, Opera auf dem Computer | DASH | Widevine (Edge auch PlayReady) — mit Shaka Player, dash.js, Video.js, Bitmovin, THEOplayer… |
| Samsung (Tizen), LG (webOS) und andere Smart-TVs | DASH | PlayReady oder Widevine |
| Windows-Apps, Xbox | DASH | PlayReady |
| Safari auf dem Mac, iPhone, iPad, Apple TV | HLS | FairPlay (AVPlayer, Safari) |
Ihr Player braucht: die Adresse der Auslieferung, die Adresse des Lizenzservers Ihres Anbieters und den Lizenz-Token des Zuschauers (DoveRunner: im Header pallycon-customdata-v2). Für FairPlay außerdem die Adresse des FairPlay-Zertifikats Ihres Anbieters.
Der Lizenz-Token
Ihre Plattform erzeugt den Token auf ihrem Server, für jeden Zuschauer, mit der Content-ID, dem DRM-Typ und den Regeln (zum Beispiel wie lange die Lizenz gilt), und signiert ihn mit den Schlüsseln Ihres Anbieterkontos (DoveRunner: Site ID, Site Key und Access Key). Bewahren Sie diese Schlüssel auf Ihrem Server auf — nie in der App oder in der Webseite. Das genaue Format beschreibt Ihr Anbieter.
Wie es sich verhält
- Bei jedem Start ein neuer Schlüssel. Startet der Kanal neu, laden die Player das neue Manifest und fordern selbst eine neue Lizenz an.
- Der Anbieter antwortet nicht: Der Kanal liefert nichts an die DRM-Adressen aus und versucht es erneut. Inhalte kommen nie unverschlüsselt an den DRM-Adressen an.
- Keine Enterprise-Lizenz, kein Anbieter eingestellt oder ein Codec, den Shaka nicht annimmt (AV1, VP9, kopiertes MPEG-2): Der Kanal startet ohne DRM-Ausgang, und sein Protokoll nennt den Grund; die anderen Ausgänge laufen weiter.
- Uhr für Live: Das DASH-Manifest teilt den Playern die Uhrzeit des Servers mit (von
/live/time, mit einem öffentlichen Zeitserver als Reserve), sodass auch Geräte mit falscher Uhr die aktuellen Segmente finden. Ist die Öffentliche Domain aufhttps://…gesetzt, verwenden die Player die vollständige Adresse Ihres Servers. - Die vom Anbieter erhaltenen Schlüssel werden nur gehalten, solange der Kanal läuft, sind nur für Castreon lesbar und werden beim Stopp gelöscht.
Wenn es nicht funktioniert
- Verbindung testen: „… hat die Schlüsselanfrage abgelehnt: HTTP 401 (oder 403) — prüfe das Token in der KMS-Adresse“ — der KMS-Token (oder die CPIX-Adresse) ist falsch oder wurde beim Anbieter neu erzeugt.
- „der DRM-Anbieter sendet die Schlüssel für einen Empfänger verschlüsselt“ — deaktivieren Sie die Schlüsselverschlüsselung (CPIX mit Zertifikat) im Anbieterkonto; die Verbindung ist ohnehin HTTPS.
- „der DRM-Anbieter hat die Daten für FairPlay nicht gesendet“ (oder ein anderes System) — das System ist im Plan des Anbieters nicht aktiv.
- Das Kanalprotokoll meldet „Achtung: der DRM-Ausgang ist aus — …“ — der Grund folgt: der Plan, die Anbietereinstellungen, der Codec des Profils oder die Quelle.
- Der Player lädt das Manifest, bekommt aber keine Lizenz — das Problem liegt beim Lizenz-Token oder beim Anbieterkonto: die Content-ID (mit
-hlsfür HLS), der DRM-Typ, die Gültigkeitsdauer, die Schlüssel des Anbieters. Die Testwerkzeuge Ihres Anbieters (bei DoveRunner: DevConsole) zeigen den genauen Fehlercode. - Kein Bild im Browser, kein Fehler — die Seite oder der Stream läuft über HTTP; Browser erlauben DRM nur über HTTPS.