DRM — Widevine, PlayReady e FairPlay
Aggiornato il 06 ott 2026Castreon può cifrare un canale con i tre sistemi DRM che i dispositivi usano per i contenuti a pagamento: Widevine (Android, Chrome, Firefox, Android TV, la maggior parte delle Smart TV), PlayReady (Windows, Edge, Xbox, Smart TV) e FairPlay (Safari, iPhone, iPad, Apple TV). Immagine e audio si possono decifrare solo nella parte protetta del dispositivo, con una licenza che il tuo fornitore DRM dà a ogni spettatore.
Disponibile da Castreon 1.0.5, nel piano Enterprise. Per una crittografia semplice in tutti i piani, vedi Crittografia HLS con AES-128.
Chi fa cosa
| Cosa fa | |
|---|---|
| Castreon | a ogni avvio del canale chiede al tuo fornitore DRM una chiave nuova (CPIX), cifra il canale e pubblica DASH e HLS con le informazioni DRM che servono ai player |
| Il tuo fornitore DRM (per esempio DoveRunner) | conserva le chiavi e dà le licenze ai player |
| La tua piattaforma (app, sito, middleware) | decide chi può guardare e crea un token di licenza per ogni spettatore |
Castreon non emette mai licenze e non vede i tuoi abbonati. Il confezionamento lo fa Shaka Packager, incluso in Castreon (licenza BSD) — non c'è nulla da installare in più.
Cosa ti serve
- Una licenza Enterprise sul server.
- Un account presso un fornitore DRM che consegna le chiavi via CPIX — per esempio DoveRunner (ex PallyCon). Il piano del fornitore deve includere i sistemi DRM che vuoi (FairPlay richiede anche un certificato Apple FairPlay Streaming, che il fornitore ti spiega).
- Canali in H.264 o HEVC.
- HTTPS per i player web: i browser permettono il DRM solo su pagine HTTPS.
1. Collega il fornitore DRM
Impostazioni → DRM:
- In Fornitore DRM scegli:
- DoveRunner (PallyCon) — incolla solo il KMS Token da DoveRunner Console → Multi-DRM → DRM Settings; l'indirizzo lo compone Castreon da solo;
- Altro fornitore (CPIX) — incolla l'indirizzo CPIX completo del fornitore, token incluso (solo HTTPS).
- Salva. In Server KMS compaiono il fornitore e il nome del suo server; il token non viene più mostrato — né nel pannello, né nell'API, né nel registro di audit, né nel rapporto diagnostico.
- Prova la connessione chiede una chiave di prova per ogni consegna. Devi vedere DASH (CENC) con PlayReady e Widevine e HLS (CBCS) con FairPlay, Widevine e PlayReady.
Lo stato in alto a destra mostra Pronto quando licenza, fornitore e Shaka Packager sono tutti a posto.
2. Aggiungi l'uscita DRM a un canale
- Apri il canale → Modifica → Aggiungi uscita e scegli DRM in Tipo.
- Content ID — il nome con cui il fornitore conserva la chiave. Vuoto significa il nome breve del canale. Lettere, cifre, punto, trattino e trattino basso.
- Scegli le consegne:
- DASH · Widevine + PlayReady (CENC)
- HLS · FairPlay + Widevine + PlayReady (CBCS)
- Se vuoi, cambia Durata segmento (s) (predefinita 4) e Segmenti nella playlist (predefiniti 6).
- Salva. Il canale riparte con l'uscita DRM.
Le altre uscite del canale funzionano come prima e non sono cifrate. Per un canale a pagamento, tieni solo l'uscita DRM (e, se ti servono, uscite push verso i tuoi sistemi).
Gli indirizzi e i content ID
Per un canale con il nome breve canale1, Distribuzione mostra:
| Riga in Distribuzione | Valore |
|---|---|
| DRM · DASH (Widevine, PlayReady) | http://<dominio>/live/canale1/drm/dash/manifest.mpd |
| DRM · DASH · content ID | canale1 |
| DRM · HLS (FairPlay, Widevine, PlayReady) | http://<dominio>/live/canale1/drm/hls/master.m3u8 |
| DRM · HLS · content ID | canale1-hls |
DASH e HLS usano chiavi diverse (CENC e CBCS non devono condividere una chiave), quindi hanno content ID diversi: quello di HLS finisce con -hls. Il token di licenza creato dalla tua piattaforma deve usare il content ID della consegna che il player apre.
Valgono lo stesso Token per i player e gli stessi Indirizzi consentiti delle altre uscite.
Quale consegna per quale dispositivo
| Dispositivo | Consegna | DRM |
|---|---|---|
| Telefoni e tablet Android, Android TV, Fire TV | DASH | Widevine (ExoPlayer / Media3) |
| Chrome, Firefox, Edge, Opera su computer | DASH | Widevine (Edge anche PlayReady) — con Shaka Player, dash.js, Video.js, Bitmovin, THEOplayer… |
| Samsung (Tizen), LG (webOS) e altre Smart TV | DASH | PlayReady o Widevine |
| App Windows, Xbox | DASH | PlayReady |
| Safari su Mac, iPhone, iPad, Apple TV | HLS | FairPlay (AVPlayer, Safari) |
Il tuo player ha bisogno di: l'indirizzo della consegna, l'indirizzo del server licenze del fornitore e il token di licenza dello spettatore (DoveRunner: nell'intestazione pallycon-customdata-v2). Per FairPlay serve anche l'indirizzo del certificato FairPlay del fornitore.
Il token di licenza
La tua piattaforma crea il token sul suo server, per ogni spettatore, con il content ID, il tipo di DRM e le regole (per esempio per quanto tempo vale la licenza), e lo firma con le chiavi del tuo account presso il fornitore (DoveRunner: Site ID, Site Key e Access Key). Tieni queste chiavi sul tuo server — mai nell'app o nella pagina web. Il formato esatto è descritto dal fornitore.
Come si comporta
- Una chiave nuova a ogni avvio. Quando il canale riparte, i player caricano il nuovo manifest e chiedono da soli una nuova licenza.
- Il fornitore non risponde: il canale non consegna nulla agli indirizzi DRM e riprova. Il contenuto non arriva mai in chiaro agli indirizzi DRM.
- Senza licenza Enterprise, senza fornitore impostato o con un codec che Shaka non accetta (AV1, VP9, MPEG-2 copiato): il canale parte senza l'uscita DRM e il suo registro dice perché; le altre uscite continuano.
- Orologio per il live: il manifest DASH comunica ai player l'ora del server (da
/live/time, con un server orario pubblico come riserva), così anche i dispositivi con l'orologio sbagliato trovano i segmenti attuali. Con il Dominio pubblico impostato suhttps://…, i player usano l'indirizzo completo del tuo server. - Le chiavi ricevute dal fornitore restano solo finché il canale è in funzione, sono leggibili solo da Castreon e vengono cancellate all'arresto.
Se non funziona
- Prova la connessione: «… ha rifiutato la richiesta di chiavi: HTTP 401 (o 403) — verifica il token nell'indirizzo KMS» — il KMS Token (o l'indirizzo CPIX) è sbagliato oppure è stato rigenerato presso il fornitore.
- «il fornitore DRM invia le chiavi cifrate per un destinatario» — disattiva la cifratura delle chiavi (CPIX con certificato) nell'account del fornitore; la connessione è comunque HTTPS.
- «il fornitore DRM non ha inviato i dati per FairPlay» (o un altro sistema) — il sistema non è attivo nel piano del fornitore.
- Il registro del canale dice «attenzione: l'uscita DRM è disattivata — …» — segue il motivo: il piano, le impostazioni del fornitore, il codec del profilo o la sorgente.
- Il player carica il manifest ma non riceve la licenza — il problema è nel token di licenza o nell'account del fornitore: il content ID (con
-hlsper HLS), il tipo di DRM, la durata di validità, le chiavi del fornitore. Gli strumenti di prova del fornitore (per DoveRunner: DevConsole) mostrano il codice d'errore esatto. - Nessuna immagine nel browser, nessun errore — la pagina o il flusso sono in HTTP; i browser permettono il DRM solo in HTTPS.