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:
- Encrypted Media Extensions (Extensions multimédias chiffrées) : spécification du W3C.
- Chiffrement courant
- ISO/IEC 23001-7 – Chiffrement commun dans les fichiers au format de fichier multimédia ISO
- ISO/CEI 23001-9 : chiffrement commun des flux de transport MPEG-2
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 |
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
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