Übersicht
Widevine DRM ist das Inhaltsschutzsystem von Google für Premium-Medien. Sie wird von wichtigen Partnern auf der ganzen Welt verwendet, darunter Google Play, YouTube, Netflix, Disney+, Amazon Prime Video, HBO Max, Hulu, Peacock, Discovery+ und Paramount+. Widevine bietet eine Premiumlösung für die Wiedergabe von Premiuminhalten im Vergleich zur digitalen Verbreitung.
Widevine DRM verwendet die folgenden Standards:
- Verschlüsselte Medienerweiterungen – eine W3C-Spezifikation.
- Allgemeine Verschlüsselung
- ISO/IEC 23001-7: Häufige Verschlüsselung von Dateien mit ISO-Basismedien
- ISO/IEC 23001-9: Häufige Verschlüsselung von MPEG-2-Transportstreams
Unterstützte Plattformen
Sofern nicht anders angegeben, ist der Widevine-Client nativ in eine Geräteplattform eingebettet.
Gerät oder Plattform | Unterstützt? |
Android (Mobilgeräte, TV, Automobil) | Ja |
Android Open Source (AOSP) | Ja |
Apple iOS | Ja [1] |
Apple TV (tvOS) | – |
Chromecast (Streamen) | Ja |
Google Home- und Nest-Geräte | Ja |
ChromeOS (Chromebook) | Ja |
Chrome-Browser (Windows, Mac OS X, Linux) | Ja |
Chromium-Browser | Ja |
Chromium Embedded Framework (CEF) / Elektron | Ja |
Firefox-Browser | Ja |
Edge-Browser | Ja |
Opera (Browser und eingebettete Geräte) | Ja |
Safari-Browser (Computer) | – |
Roku-Geräte | Ja |
Amazon Echo-Geräte | Ja |
Amazon Fire OS-Geräte | Ja |
Amazon Fire TV-Geräte | Ja |
Facebook-Portalgeräte | Ja |
Nintendo Switch | – |
Sony PlayStation | Ja |
Xbox für Microsoft | – |
Smart-TV und Blu-Ray-Player (Tizen, WebOS) | Ja |
Unterstützte Verschlüsselungsschemas
In der folgenden Tabelle sind die Verschlüsselungsschemas für alle Widevine-Plattformen aufgeführt.
Plattform | CCE | zens | cbc1 | cbcs |
Android 4.4–6.x (einschließlich Android TV) | J | – | - | – |
Android 7.x oder höher (einschließlich Android TV) | J | – | – | J |
Chromecast (Streamen) | J | – | J | J |
Google Home | J | – | - | – |
Smart-TV und Blu-Ray-Player | J | – | – | J |
Widevine-iOS | J | – | – | J |
Chrome-Browser (Computer) und Chrome OS | J | – | – | J |
Chrome-Browser (Mobilgerät) | J | – | – | J |
Mozilla Firefox | J | – | – | J |
Opera | J | – | – | J |
NexPlayer-SDK | J | – | – | J |
Umgebung
Das obige Diagramm veranschaulicht die verfügbaren Widevine-Komponenten im DRM-System.
Die Provisioning-, Keybox- und OEMCrypto-Komponenten richten sich speziell nach der Geräteintegration. Wenn Sie Widevine in ein Gerät einbinden möchten, kontaktieren Sie uns.
Eine Lizenzanfrage vom ursprünglichen Clientgerät wird von einem Partnerpartner über HTTPS empfangen. Dieser Proxymechanismus validiert die Anfrage und fügt Geschäftsregeln an, bevor die Nutzlast gesendet wird, die vom Widevine License Service erfüllt werden muss.
Das Widevine-Clientgerät kommuniziert unter keinen Umständen direkt mit dem Widevine-Lizenzdienst.
Widevine-Lizenzen ausstellen
Widevine bietet zwei Methoden zum Ausstellen von Lizenzen an Kunden:
- Cloud-Lizenzdienst
- Global zugänglicher Dienst ohne Zugriffsgebühren oder Transaktionsgebühren.
- Der Zugriff wird für Widevine-Lizenzen mit den Anmeldedaten der Organisation gewährt.
- License Server SDK
- Sie können Ihren eigenen Lizenzdienst hosten.
Widevine Cloud-Lizenzdienst verwenden
Die Cloud-Lizenzdienste haben zwei Umgebungen: Test und Produktion. Der Zugriff wird mit eindeutigen Anmeldedaten pro Organisation für Widevine-Lizenzen gewährt.
Der Cloud License Service bietet zwei Endpunkte für:
- Inhaltsschlüssel zum Zweck der Verschlüsselung von Inhalten abrufen
- Auf diese Weise angeforderte Inhaltsschlüssel werden vom Widevine Cloud License Service gespeichert.
- Lizenz ausstellen
- Erfüllt die Lizenzanforderung, die von einem Widevine-Clientgerät generiert wurde.
Alle Lizenzanfragen von einem Clientgerät müssen mit einem Lizenz-Proxy-Mechanismus verarbeitet werden.
- Widevine bietet ein Proxy SDK für die Kommunikation mit dem Cloud-Lizenzdienst.
- Der Lizenz-Proxy validiert und verifiziert die eingehende Clientanfrage und bestimmt, welche Geschäftsregeln angewendet werden sollen.
- Geschäftsregeln werden an die ursprüngliche Lizenzanfrage vom Gerät angehängt und zur Ausführung an den Lizenzdienst gesendet.
- Nachdem eine Lizenz generiert wurde, können die Inhalte der Lizenz nicht mehr geändert werden und sind für das anfordernde Gerät personalisiert.
Shaka-Paketer
Der Shaka Packager (früher eDASH-Packager) von Widevine ist eine Open-Source-Referenzimplementierung für die Generierung von DASH-kompatiblen MP4-Formaten, Verschlüsselung mit einem Widevine PSSH und Erstellen eines DASH-Manifests. Auf der GitHub-Seite können Sie Fehler melden und Funktionsanfragen einreichen.
Player – Android
Die von Google gepflegte Open-Source-Projekt ExoPlayer ist die empfohlene Referenzplayer-Bibliothek, die die Wiedergabe von Widevine CENC-Medien veranschaulicht. Beim Erstellen von ExoPlayer wird standardmäßig eine Demo-App generiert, die eine voreingestellte Liste bekannter CENC-Inhalte des Widevine-Teams enthält.
Player – Browser
Das Open-Source-Projekt Shaka Player ist die Initiative von Widevine, um ein umfassendes, browserübergreifendes JavaScript-Bibliotheks-Framework zur Unterstützung der CENC-HTML5-Wiedergabe mit einem CDM (vorzugsweise Widevine) bereitzustellen. Außerhalb von GitHub ist eine Shaka Player Users-Diskussionsgruppe verfügbar und wird vom Shaka Player-Entwicklerteam von Widevine überwacht.
Der Shaka Player bietet:
- Open-Source-Player-Framework mit vollem Funktionsumfang
- Konfigurierbare und anpassbare UI
- Plattform- und browserübergreifend
- Unterstützung für HTML5, MSE, EME und DASH
- Optionen für Multi-DRM