DRM — Widevine, PlayReady și FairPlay
Actualizat la 06 oct. 2026Castreon poate cripta un canal cu cele trei sisteme DRM pe care dispozitivele le folosesc pentru conținutul cu plată: Widevine (Android, Chrome, Firefox, Android TV, majoritatea Smart TV-urilor), PlayReady (Windows, Edge, Xbox, Smart TV-uri) și FairPlay (Safari, iPhone, iPad, Apple TV). Imaginea și sunetul se pot decripta doar în partea protejată a dispozitivului, cu o licență pe care furnizorul dumneavoastră DRM o dă fiecărui privitor.
Disponibil din Castreon 1.0.5, în planul Enterprise. Pentru o criptare simplă în toate planurile, vedeți Criptarea HLS cu AES-128.
Cine ce face
| Ce face | |
|---|---|
| Castreon | la fiecare pornire a canalului cere furnizorului DRM o cheie nouă (CPIX), criptează canalul și publică DASH și HLS cu informațiile DRM de care au nevoie playerele |
| Furnizorul dumneavoastră DRM (de exemplu DoveRunner) | păstrează cheile și dă licențe playerelor |
| Platforma dumneavoastră (aplicație, site, middleware) | hotărăște cine are voie să urmărească și creează un token de licență pentru fiecare privitor |
Castreon nu emite niciodată licențe și nu vede abonații dumneavoastră. Împachetarea o face Shaka Packager, inclus în Castreon (licență BSD) — nu trebuie instalat nimic în plus.
De ce aveți nevoie
- O licență Enterprise pe server.
- Un cont la un furnizor DRM care dă cheile prin CPIX — de exemplu DoveRunner (fost PallyCon). Planul furnizorului trebuie să includă sistemele DRM pe care le vreți (FairPlay cere și un certificat Apple FairPlay Streaming, pe care furnizorul vi-l explică).
- Canale în H.264 sau HEVC.
- HTTPS pentru playerele web: browserele permit DRM doar pe pagini HTTPS.
1. Legați furnizorul DRM
Setări → DRM:
- La Furnizor DRM alegeți:
- DoveRunner (PallyCon) — lipiți doar KMS Token-ul din DoveRunner Console → Multi-DRM → DRM Settings; adresa o compune Castreon singur;
- Alt furnizor (CPIX) — lipiți adresa CPIX completă a furnizorului, cu tokenul inclus (doar HTTPS).
- Salvează. La Server KMS apar furnizorul și numele serverului lui; tokenul nu se mai afișează niciodată — nici în panou, nici în API, nici în jurnalul de audit, nici în raportul de diagnostic.
- Testează legătura cere câte o cheie de probă pentru fiecare livrare. Trebuie să vedeți DASH (CENC) cu PlayReady și Widevine și HLS (CBCS) cu FairPlay, Widevine și PlayReady.
Starea din dreapta sus arată Pregătit când licența, furnizorul și Shaka Packager sunt toate în regulă.
2. Adăugați ieșirea DRM la un canal
- Deschideți canalul → Editează → Adaugă output și alegeți DRM la Tip.
- Content ID — numele sub care furnizorul păstrează cheia. Gol înseamnă numele scurt al canalului. Litere, cifre, punct, minus și linie jos.
- Alegeți livrările:
- DASH · Widevine + PlayReady (CENC)
- HLS · FairPlay + Widevine + PlayReady (CBCS)
- Opțional, schimbați Durată segment (s) (implicit 4) și Segmente în playlist (implicit 6).
- Salvați. Canalul repornește cu ieșirea DRM.
Celelalte ieșiri ale canalului merg ca înainte și nu sunt criptate. Pentru un canal cu plată, păstrați doar ieșirea DRM (și, dacă aveți nevoie, ieșiri push către sistemele dumneavoastră).
Adresele și content ID-urile
Pentru un canal cu numele scurt canal1, la Livrare apar:
| Rândul din Livrare | Valoarea |
|---|---|
| DRM · DASH (Widevine, PlayReady) | http://<domeniu>/live/canal1/drm/dash/manifest.mpd |
| DRM · DASH · content ID | canal1 |
| DRM · HLS (FairPlay, Widevine, PlayReady) | http://<domeniu>/live/canal1/drm/hls/master.m3u8 |
| DRM · HLS · content ID | canal1-hls |
DASH și HLS folosesc chei diferite (CENC și CBCS nu au voie să împartă o cheie), deci au content ID-uri diferite: cel de la HLS se termină în -hls. Tokenul de licență creat de platforma dumneavoastră trebuie să folosească content ID-ul livrării pe care o deschide playerul.
Se aplică același Token pentru playere și aceleași Adrese permise ca la celelalte ieșiri.
Ce livrare pentru ce dispozitiv
| Dispozitiv | Livrare | DRM |
|---|---|---|
| Telefoane și tablete Android, Android TV, Fire TV | DASH | Widevine (ExoPlayer / Media3) |
| Chrome, Firefox, Edge, Opera pe calculator | DASH | Widevine (Edge și PlayReady) — cu Shaka Player, dash.js, Video.js, Bitmovin, THEOplayer… |
| Samsung (Tizen), LG (webOS) și alte Smart TV-uri | DASH | PlayReady sau Widevine |
| Aplicații Windows, Xbox | DASH | PlayReady |
| Safari pe Mac, iPhone, iPad, Apple TV | HLS | FairPlay (AVPlayer, Safari) |
Playerul are nevoie de: adresa livrării, adresa serverului de licențe al furnizorului și tokenul de licență al privitorului (DoveRunner: în antetul pallycon-customdata-v2). Pentru FairPlay are nevoie și de adresa certificatului FairPlay de la furnizor.
Tokenul de licență
Platforma dumneavoastră creează tokenul pe serverul ei, pentru fiecare privitor, cu content ID-ul, tipul DRM și regulile (de exemplu cât timp e valabilă licența), și îl semnează cu cheile contului de la furnizor (DoveRunner: Site ID, Site Key și Access Key). Țineți aceste chei pe server — niciodată în aplicație sau în pagina web. Formatul exact e descris de furnizor.
Cum se comportă
- Cheie nouă la fiecare pornire. Când canalul repornește, playerele încarcă manifestul nou și cer singure o licență nouă.
- Furnizorul nu răspunde: canalul nu livrează nimic pe adresele DRM și reîncearcă. Conținutul nu ajunge niciodată necriptat pe adresele DRM.
- Fără licență Enterprise, fără furnizor setat sau cu un codec pe care Shaka nu îl primește (AV1, VP9, MPEG-2 copiat): canalul pornește fără ieșirea DRM, iar jurnalul lui spune de ce; celelalte ieșiri merg mai departe.
- Ceasul pentru live: manifestul DASH le spune playerelor ora serverului (de la
/live/time, cu un server public de oră ca rezervă), așa că și dispozitivele cu ceasul greșit găsesc segmentele curente. Cu Domeniu public setat lahttps://…, playerele folosesc adresa completă a serverului dumneavoastră. - Cheile primite de la furnizor se păstrează doar cât rulează canalul, pot fi citite doar de Castreon și se șterg la oprire.
Dacă nu merge
- Testează legătura: „… a refuzat cererea de chei: HTTP 401 (sau 403) — verifică tokenul din adresa KMS” — KMS Token-ul (sau adresa CPIX) e greșit sau a fost regenerat la furnizor.
- „furnizorul DRM trimite cheile criptate pentru un destinatar” — dezactivați criptarea cheilor (CPIX cu certificat) în contul furnizorului; legătura e oricum HTTPS.
- „furnizorul DRM nu a trimis datele pentru FairPlay” (sau alt sistem) — sistemul nu e activ în planul furnizorului.
- Jurnalul canalului spune „atenție: ieșirea DRM e oprită — …” — urmează motivul: planul, setările furnizorului, codecul profilului sau sursa.
- Playerul încarcă manifestul, dar nu primește licență — problema e la tokenul de licență sau la contul furnizorului: content ID-ul (cu
-hlspentru HLS), tipul DRM, durata de valabilitate, cheile furnizorului. Uneltele de test ale furnizorului (la DoveRunner: DevConsole) arată codul exact al erorii. - Nicio imagine în browser, nicio eroare — pagina sau fluxul sunt pe HTTP; browserele permit DRM doar prin HTTPS.