Omówienie
Widevine DRM to system ochrony treści Google przeznaczony do ochrony treści premium. Jest on używany przez największych partnerów na całym świecie, takich jak Google Play, YouTube, Netflix, Disney+, Amazon Prime Video, HBO Max, Hulu, Peacock, Discovery+, Paramount+ i wiele innych. Głównym celem Widevine jest zapewnienie najlepszego wrażenia podczas oglądania treści premium w ramach dystrybucji cyfrowej.
System DRM Widevine korzysta z tych standardów:
- Encrypted Media Extensions (rozszerzenia dotyczące szyfrowanych multimediów) – specyfikacja W3C.
- Szyfrowanie wspólne
- ISO/IEC 23001-7 – wspólne szyfrowanie w plikach w formacie ISO base media file format.
- ISO/IEC 23001-9 – wspólne szyfrowanie strumieni transportu MPEG-2.
Obsługiwane platformy
Klient Widevine jest natywnie umieszczony na platformie urządzeń, chyba że zaznaczono inaczej.
Urządzenie lub platforma | Czy jest obsługiwane? |
Android (mobilny, TV, Automotive) | Tak |
Android Open Source (AOSP) | Tak |
Apple iOS | Tak [1] |
Apple TV (tvOS) | - |
Chromecast (Cast) | Tak |
Urządzenia Google Home i Nest | Tak |
ChromeOS (Chromebook) | Tak |
przeglądarka Chrome (Windows, Mac OS X, Linux); | Tak |
Przeglądarka Chromium | Tak |
Chromium Embedded Framework (CEF) / Electron | Tak |
przeglądarka Firefox, | Tak |
Przeglądarka Edge | Tak |
Opera (przeglądarka i urządzenia wbudowane) | Tak |
Przeglądarka Safari (na komputerze) | - |
Urządzenia Roku | Tak |
Urządzenia Amazon Echo | Tak |
urządzenia z Amazon Fire OS. | Tak |
Urządzenia Amazon Fire TV | Tak |
Urządzenia Facebook Portal | Tak |
Nintendo Switch | - |
Sony Playstation, | Tak |
Microsoft Xbox | - |
Telewizory smart TV i odtwarzacze Blu-ray (Tizen, WebOS) | Tak |
Obsługiwane schematy szyfrowania
Tabela poniżej zawiera mapowanie schematów szyfrowania na zintegrowanych platformach Widevine.
Platform | cenc | cens | cbc1 | cbcs |
Android 4.4–6.x (w tym Android TV) | T | - | - | - |
Android 7.x i nowsze (w tym Android TV) | T | - | - | T |
Chromecast (przesyłanie) | T | - | T | T |
Google Home | T | - | - | - |
Telewizory smart TV i odtwarzacze Blu-ray | T | - | - | T |
Widevine na iOS | T | - | - | T |
przeglądarka Chrome (na komputer) i ChromeOS, | T | - | - | T |
przeglądarka Chrome (na urządzeniach mobilnych), | T | - | - | T |
Mozilla Firefox | T | - | - | T |
Opera | T | - | - | T |
Pakiet SDK NexPlayer | T | - | - | T |
Ekosystem
Schemat powyżej ilustruje dostępne komponenty Widevine w ekosystemie DRM.
Komponenty Provisioning, Keybox i OEMCrypto są specyficzne dla procesu integracji urządzenia. Jeśli chcesz zintegrować Widevine z urządzeniem, skontaktuj się z nami.
Żądanie licencji z pochodzącego urządzenia klienta zostanie odebrane przez mechanizm serwera proxy obsługiwany przez partnera (przez HTTPS). Ten mechanizm zastępczy weryfikuje żądanie i dodaje reguły biznesowe, zanim prześle ładunek do spełnienia przez usługę Widevine License Service.
Urządzenie klienta Widevine nie komunikuje się bezpośrednio z usługą Widevine License Service, niezależnie od okoliczności.
Wydawanie licencji Widevine
Widevine udostępnia 2 metody wydawania licencji klientom:
- Cloud License Service
- Usługa dostępna na całym świecie bez opłat za dostęp i transakcje.
- Dostęp jest przyznawany na podstawie danych logowania organizacji licencjonowanym użytkownikom Widevine.
- Pakiet SDK serwera licencji
- przeznaczone do hostowania własnej usługi licencjonowania.
Korzystanie z usługi Cloud License Service firmy Widevine
Usługi Cloud License mają 2 środowiska: testowe i produkcyjne. Dostęp jest przyznawany na podstawie unikalnych danych logowania dla organizacji, które mają licencje Widevine.
Usługa Cloud License Service udostępnia 2 punkty końcowe:
- Pobieranie kluczy treści w celu zaszyfrowania treści.
- Klucze treści żądane w ten sposób są przechowywane przez usługę licencji w chmurze Widevine.
- Wydawanie licencji
- Realizuje żądanie licencji wygenerowane przez urządzenie klienta Widevine.
Wszystkie żądania licencji z urządzenia klienta muszą być przetwarzane przez mechanizm proxy licencji.
- Widevine udostępnia pakiet Proxy SDK do komunikacji z usługą Cloud License Service.
- Serwer proxy licencji weryfikuje przychodzące żądanie klienta i określa, które reguły biznesowe mają zastosowanie.
- Reguły biznesowe są dołączane do żądania licencji pochodzącego z urządzenia i wysyłane do usługi licencjonowania w celu realizacji.
- Po wygenerowaniu licencji jej zawartość nie może być już modyfikowana i jest dostosowywana do urządzenia, z którego wysłano żądanie.
Shaka Packager
Shaka Packager (dawniej eDASH-Packager) firmy Widevine to implementacja open source, która służy do generowania formatów MP4 zgodnych z DASH, szyfrowania za pomocą PSSH Widevine i tworzenia pliku manifestu DASH. Aby zgłaszać błędy i prośby o dodanie funkcji, odwiedź stronę github.
Odtwarzacz – Android
Utrzymywany przez Google projekt open source ExoPlayer to zalecana biblioteka referencyjna, która demonstruje odtwarzanie multimediów z platformy Widevine CENC. Podczas kompilowania ExoPlayera zostanie wygenerowana aplikacja demonstracyjna, która zawiera wstępnie ustawioną listę znanych i sprawdzonych treści CENC od zespołu Widevine.
Gracz – przeglądarka
Projekt open source Shaka Player to inicjatywa firmy Widevine, która ma na celu udostępnienie kompleksowej biblioteki JavaScript na potrzeby różnych przeglądarek, aby umożliwić odtwarzanie CENC HTML5 za pomocą CDM (najlepiej Widevine). Poza GitHubem dostępna jest grupa dyskusyjna użytkowników Shaka Player, którą monitoruje zespół programistów Shaka Player z Widevine.
Odtwarzacz Shaka oferuje:
- W pełni polecana platforma odtwarzacza open source
- Konfigurowalny interfejs
- Działanie na wielu platformach i w różnych przeglądarkach
- Obsługa HTML5, MSE, EME i DASH
- Opcje DRM zbiorczego