Panoramica
Widevine DRM è il sistema di protezione dei contenuti di Google per i contenuti multimediali premium. Viene utilizzato da importanti partner in tutto il mondo, come Google Play, YouTube, Netflix, Disney+, Amazon Prime Video, HBO Max, Hulu, Peacock, Discovery+, Paramount+ e molti altri. L'obiettivo di Widevine è offrire la migliore esperienza di visualizzazione di contenuti premium rispetto alla distribuzione digitale.
Widevine DRM adotta i seguenti standard:
- Encrypted Media Extensions, una specifica W3C.
- Crittografia comune
- ISO/IEC 23001-7 - Crittografia comune nei file del formato file multimediale base ISO
- ISO/IEC 23001-9: crittografia comune dei flussi di trasporto MPEG-2
Piattaforme supportate
Il client Widevine è incorporato in modo nativo nella piattaforma di un dispositivo, se non diversamente indicato.
Dispositivo o piattaforma | Supportato? |
Android (dispositivi mobili, TV, Automotive) | Sì |
Android Open Source (AOSP) | Sì |
Apple iOS | Sì [1] |
Apple TV (tvOS) | - |
Chromecast (trasmissione) | Sì |
Dispositivi Google Home e Nest | Sì |
ChromeOS (Chromebook) | Sì |
Browser Chrome (Windows, Mac OS X, Linux) | Sì |
Browser Chromium | Sì |
Chromium Embedded Framework (CEF) / Electron | Sì |
Browser Firefox | Sì |
Browser Edge | Sì |
Opera (browser e dispositivi integrati) | Sì |
Browser Safari (computer) | - |
Dispositivi Roku | Sì |
Dispositivi Amazon Echo | Sì |
Dispositivi con sistema operativo Amazon Fire | Sì |
Dispositivi Amazon Fire TV | Sì |
Dispositivi Facebook Portal | Sì |
Nintendo Switch | - |
Sony PlayStation | Sì |
Xbox Microsoft | - |
Smart TV e lettori Blu-ray (Tizen, WebOS) | Sì |
Schemi di crittografia supportati
La tabella seguente fornisce una mappatura degli schemi di crittografia nelle piattaforme integrate Widevine.
Piattaforma | cenc | cens | cbc1 | cbcs |
Android 4.4 - 6.x (inclusa Android TV) | Y | - | - | - |
Android 7.x e versioni successive (inclusa Android TV) | Y | - | - | Y |
Chromecast (trasmissione) | Y | - | Y | Y |
Google Home | Y | - | - | - |
Smart TV e lettori Blu-ray | Y | - | - | Y |
Widevine per iOS | Y | - | - | Y |
Browser Chrome (computer) e ChromeOS | Y | - | - | Y |
Browser Chrome (dispositivo mobile) | Y | - | - | Y |
Mozilla Firefox | Y | - | - | Y |
Opera | Y | - | - | Y |
NexPlayer SDK | Y | - | - | Y |
Ecosistema
Il diagramma riportato sopra illustra i componenti Widevine disponibili nell'ecosistema DRM.
I componenti Provisioning, Keybox e OEMCrypto sono specifici del processo di integrazione del dispositivo. Se ti interessa integrare Widevine in un dispositivo, contattaci.
Una richiesta di licenza dal dispositivo client di origine verrà ricevuta da un meccanismo proxy gestito da partner (tramite HTTPS). Questo meccanismo di proxy convaliderà la richiesta e aggiungerà le regole aziendali prima di inviare il payload da soddisfare dal servizio Widevine License Service.
Il dispositivo client Widevine non comunica direttamente con il servizio Widevine License Service, in nessun caso.
Emissione di licenze Widevine
Widevine offre due metodi per rilasciare licenze ai clienti:
- Cloud License Service
- Servizio accessibile a livello globale senza costi di accesso o transazioni.
- L'accesso viene fornito ai licenziatari Widevine utilizzando le credenziali per organizzazione.
- SDK License Server
- Progettato per l'hosting del tuo servizio di licenze.
Utilizzo del servizio Widevine Cloud License
Cloud License Services ha due ambienti: di test e di produzione. L'accesso viene fornito con credenziali univoche per ogni organizzazione ai licenziatari Widevine.
Il Cloud License Service fornisce 2 endpoint per:
- Recupero delle chiavi dei contenuti a scopo di crittografia dei contenuti.
- Le chiavi dei contenuti richieste in questo modo vengono memorizzate da Widevine Cloud License Service.
- Emissione di una licenza
- Soddisfa la richiesta di licenza generata da un dispositivo client Widevine.
Tutte le richieste di licenza da un dispositivo client devono essere elaborate da un meccanismo di proxy delle licenze.
- Widevine fornisce un SDK proxy per comunicare con il servizio Cloud License.
- Il proxy della licenza convalida e verifica la richiesta del client in arrivo e determina quali regole aziendali applicare.
- Le regole aziendali vengono aggiunte alla richiesta di licenza originale del dispositivo e inviate al servizio di licenza per l'evasione.
- Una volta generata, i contenuti della licenza non sono più modificabili e vengono personalizzati in base al dispositivo che la richiede.
Shaka Packager
Shaka Packager (in precedenza noto come eDASH-Packager) di Widevine è un'implementazione di riferimento open source su come generare formati MP4 compatibili con DASH, eseguire la crittografia utilizzando un PSSH Widevine e creare un manifest DASH. Visita la pagina GitHub per segnalare bug e richieste di funzionalità.
Player - Android
Il progetto ExoPlayer open source gestito da Google è la libreria di player di riferimento consigliata per dimostrare la riproduzione di contenuti multimediali Widevine CENC. La creazione di ExoPlayer, per impostazione predefinita, genera un'app demo che contiene un elenco preimpostato di contenuti CENC noti del team di Widevine.
Player - Browser
Il progetto open source Shaaka Player è un'iniziativa di Widevine finalizzata a fornire un framework completo di libreria JavaScript cross-browser per supportare la riproduzione CENC HTML5 utilizzando un CDM (preferibilmente Widevine). Al di fuori di GitHub, è disponibile un gruppo di discussione per gli utenti di Shaka Player, monitorato dal team di sviluppatori di Shaka Player di Widevine.
Shaka Player offre:
- Framework player open source completo
- UI configurabile e personalizzabile
- Supporto multipiattaforma e multibrowser
- Supporto per HTML5, MSE, EME e DASH
- Opzioni multi-DRM