Présentation

Widevine DRM est le système de protection des contenus de Google pour les contenus multimédias premium. Il est utilisé par de grands partenaires du monde entier, comme Google Play, YouTube, Netflix, Disney+, Amazon Prime Video, HBO Max, Hulu, Peacock, Discovery+, Paramount+ et bien d'autres. Widevine vise à offrir la meilleure expérience de visionnage de contenus premium via la distribution numérique.

Widevine DRM adopte les normes suivantes:

Plates-formes compatibles

Le client Widevine est intégré de manière native à la plate-forme de l'appareil, sauf indication contraire.

Appareil ou plate-forme Compatible ?
Android (mobile, TV, Automotive) Oui
Android Open Source (AOSP) Oui
Apple iOS Oui [1]
Apple TV (tvOS) -
Chromecast (Cast) Oui
Appareils Google Home et Nest Oui
ChromeOS (Chromebook) Oui
Navigateur Chrome (Windows, Mac OS X, Linux) Oui
Navigateur Chromium Oui
Chromium Embedded Framework (CEF) / Electron Oui
Navigateur Firefox Oui
Navigateur Edge Oui
Opera (navigateur et appareils intégrés) Oui
Navigateur Safari (ordinateur) -
Appareils Roku Oui
Appareils Amazon Echo Oui
Appareils Amazon Fire OS Oui
Appareils Amazon Fire TV Oui
Appareils Facebook Portal Oui
Nintendo Switch -
Sony PlayStation Oui
Microsoft Xbox -
Smart TV et lecteurs Blu-ray (Tizen, WebOS) Oui

dessin

Schémas de chiffrement compatibles

Le tableau ci-dessous met en correspondance les schémas de chiffrement sur les plates-formes intégrées Widevine.

Plate-forme cenc cens cbc1 cbcs
Android 4.4 à 6.x (y compris Android TV) O - - -
Android 7.x et versions ultérieures (y compris Android TV) O - - O
Chromecast (Cast) O - O O
Google Home O - - -
Smart TV et lecteurs Blu-ray O - - O
Widevine iOS O - - O
Navigateur Chrome (ordinateur) et ChromeOS O - - O
Navigateur Chrome (mobile) O - - O
Mozilla Firefox O - - O
Opera O - - O
SDK NexPlayer O - - O

Écosystème

dessin

Le schéma ci-dessus illustre les composants Widevine disponibles dans l'écosystème DRM.

Les composants Provisioning, Keybox et OEMCrypto sont spécifiques au processus d'intégration de l'appareil. Si vous souhaitez intégrer Widevine à un appareil, veuillez nous contacter.

Une requête de licence provenant de l'appareil client d'origine sera reçue par un mécanisme de proxy géré par un partenaire (via HTTPS). Ce mécanisme de proxy valide la requête et ajoute des règles métier avant d'envoyer la charge utile à traiter par le service de licence Widevine.

L'appareil client Widevine ne communique jamais directement avec le service de licence Widevine.

Émettre des licences Widevine

Widevine propose deux méthodes pour délivrer des licences aux clients:

  • Cloud License Service
    • Service accessible dans le monde entier sans frais d'accès ni de transaction.
    • L'accès est fourni aux titulaires de licence Widevine à l'aide d'identifiants par organisation.
  • SDK du serveur de licences
    • Conçu pour héberger votre propre service de licence.

Utiliser le service de licence cloud Widevine

Les services de licence Cloud disposent de deux environnements : test et production. L'accès est fourni aux détenteurs de licence Widevine par le biais d'identifiants uniques pour chaque organisation.

Le service de licence Cloud fournit deux points de terminaison pour:

  • Récupération de clés de contenu dans le but de chiffrer du contenu.
    • Les clés de contenu demandées de cette manière sont stockées par le service Widevine Cloud License Service.
  • Émission d'une licence
    • Répond à la demande de licence générée par un appareil client Widevine.

Toutes les demandes de licence d'un appareil client doivent être traitées par un mécanisme de proxy de licence.

  • Widevine fournit un SDK proxy pour communiquer avec le service de licence Cloud.
  • Le proxy de licence valide et vérifie la requête client entrante, puis détermine les règles métier à appliquer.
  • Les règles métier sont ajoutées à la demande de licence provenant de l'appareil et envoyées au service de licence pour traitement.
  • Une fois qu'une licence est générée, son contenu n'est plus modifiable et est individualisé en fonction de l'appareil à l'origine de la demande.

Shaka Packager

Le Shaka Packager (anciennement eDASH-Packager) de Widevine est une implémentation de référence Open Source qui explique comment générer des formats MP4 compatibles avec DASH, effectuer le chiffrement à l'aide d'un PSSH Widevine et créer un fichier manifeste DASH. Pour signaler des bugs et demander des fonctionnalités, veuillez consulter la page GitHub.

Lecteur - Android

Le projet Open Source ExoPlayer géré par Google est la bibliothèque de lecteurs de référence recommandée pour illustrer la lecture des contenus multimédias CENC de Widevine. Par défaut, la compilation d'ExoPlayer génère une application de démonstration contenant une liste prédéfinie de contenus CENC connus de l'équipe Widevine.

Lecteur – Navigateur

Le projet Open Source Shaka Player est une initiative de Widevine visant à fournir un framework de bibliothèque JavaScript multinavigateur complet pour prendre en charge la lecture HTML5 CENC à l'aide d'un CDM (de préférence Widevine). En dehors de GitHub, un groupe de discussion Shaka Player Users (Utilisateurs de Shaka Player) est géré par l'équipe de développeurs Shaka Player de Widevine.

Le lecteur Shaka offre les avantages suivants:

  • Framework de lecteur Open Source complet
  • Interface utilisateur configurable et personnalisable
  • Compatible avec plusieurs plates-formes et navigateurs
  • Compatibilité HTML5, MSE, EME et DASH
  • Options multi-DRM