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:

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)
Android Open Source (AOSP)
Apple iOS [1]
Apple TV (tvOS) -
Chromecast (trasmissione)
Dispositivi Google Home e Nest
ChromeOS (Chromebook)
Browser Chrome (Windows, Mac OS X, Linux)
Browser Chromium
Chromium Embedded Framework (CEF) / Electron
Browser Firefox
Browser Edge
Opera (browser e dispositivi integrati)
Browser Safari (computer) -
Dispositivi Roku
Dispositivi Amazon Echo
Dispositivi con sistema operativo Amazon Fire
Dispositivi Amazon Fire TV
Dispositivi Facebook Portal
Nintendo Switch -
Sony PlayStation
Xbox Microsoft -
Smart TV e lettori Blu-ray (Tizen, WebOS)

disegno

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

disegno

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