Visão geral
O DRM da Widevine é o sistema de proteção de conteúdo do Google para mídia premium. Ele é usado por grandes parceiros do mundo todo, como Google Play, YouTube, Netflix, Disney+, Amazon Prime Video, HBO Max, Hulu, Peacock, Discovery+, Paramount+ e muitos outros. O foco do Widevine é oferecer a melhor experiência para assistir conteúdo premium por meio da distribuição digital.
O DRM da Widevine adota os seguintes padrões:
- Extensões de mídia criptografada: uma especificação do W3C.
- Criptografia comum
- ISO/IEC 23001-7: criptografia comum em arquivos de formato de mídia ISO base
- ISO/IEC 23001-9: criptografia comum de streams de transporte MPEG-2.
Plataformas compatíveis
O cliente Widevine é incorporado de forma nativa a uma plataforma de dispositivo, a menos que seja indicado o contrário.
Dispositivo ou plataforma | Compatível? |
Android (dispositivos móveis, TV, automóveis) | Sim |
Android Open Source (AOSP) | Sim |
Apple iOS | Sim [1] |
Apple TV (tvOS) | - |
Chromecast (Cast) | Sim |
Dispositivos Google Home e Nest | Sim |
ChromeOS (Chromebook) | Sim |
Navegador Chrome (Windows, Mac OS X, Linux) | Sim |
Navegador Chromium | Sim |
Chromium Embedded Framework (CEF) / Electron | Sim |
Navegador Firefox | Sim |
Navegador Edge | Sim |
Opera (navegador e dispositivos incorporados) | Sim |
Navegador Safari (computador) | - |
Dispositivos Roku | Sim |
Dispositivos Amazon Echo | Sim |
Dispositivos Amazon Fire OS | Sim |
Dispositivos Amazon Fire TV | Sim |
Dispositivos do Facebook Portal | Sim |
Nintendo Switch | - |
Sony PlayStation | Sim |
Xbox da Microsoft | - |
Smart TVs e Blu-ray players (Tizen, WebOS) | Sim |
Esquemas de criptografia aceitos
A tabela abaixo fornece um mapeamento de esquemas de criptografia nas plataformas integradas do Widevine.
Plataforma | cenc | cens | cbc1 | cbcs |
Android 4.4 a 6.x (incluindo Android TV) | S | - | - | - |
Android 7.x e versões mais recentes (incluindo o Android TV) | S | - | - | S |
Chromecast (transmissão) | S | - | S | S |
Google Home | S | - | - | - |
Smart TVs e Blu-ray players | S | - | - | S |
Widevine iOS | S | - | - | S |
Navegador Chrome (computador) e ChromeOS | S | - | - | S |
Navegador Chrome (dispositivos móveis) | S | - | - | S |
Mozilla Firefox | S | - | - | S |
Opera | S | - | - | S |
SDK do NexPlayer | S | - | - | S |
Ecossistema
O diagrama acima ilustra os componentes Widevine disponíveis no ecossistema de DRM.
Os componentes de provisionamento, Keybox e OEMCrypto são específicos do processo de integração do dispositivo. Se você tiver interesse em integrar o Widevine a um dispositivo, entre em contato conosco.
Uma solicitação de licença do dispositivo cliente de origem será recebida por um mecanismo de proxy operado pelo parceiro (por HTTPS). Esse mecanismo de proxy validará a solicitação e anexará regras de negócios antes de enviar a carga útil a ser preenchida pelo serviço de licença Widevine.
O dispositivo cliente Widevine não se comunica diretamente com o serviço de licença Widevine, sob nenhuma circunstância.
Como emitir licenças do Widevine
A Widevine oferece dois métodos para emitir licenças aos clientes:
- Serviço de licenças do Cloud
- Serviço acessível globalmente sem taxas de acesso ou transação.
- O acesso é fornecido usando credenciais por organização para licenciados Widevine.
- SDK do servidor de licença
- Projetado para hospedar seu próprio serviço de licença.
Como usar o serviço de licença de nuvem da Widevine
Os serviços de licença do Cloud têm dois ambientes: teste e produção. O acesso é fornecido com credenciais exclusivas por organização para os licenciados da Widevine.
O Cloud License Service oferece dois endpoints para:
- Recuperar chaves de conteúdo com a finalidade de criptografar o conteúdo.
- Chaves de conteúdo solicitadas dessa maneira são armazenadas pelo Widevine Cloud License Service.
- Emissão de uma licença
- Atende à solicitação de licença gerada por um dispositivo cliente Widevine.
Todas as solicitações de licença de um dispositivo cliente precisam ser processadas por um mecanismo de proxy de licença.
- A Widevine fornece um SDK de proxy para se comunicar com o serviço de licença do Cloud.
- O proxy de licença valida e verifica a solicitação do cliente recebida e determina quais regras de negócios serão aplicadas.
- As regras comerciais são anexadas à solicitação de licença de origem do dispositivo e enviadas ao serviço de licença para fulfillment.
- Depois que uma licença é gerada, o conteúdo dela não pode mais ser modificado e é individualizado para o dispositivo solicitante.
Shaka Packager
O Shaka Packager (anteriormente conhecido como eDASH-Packager) da Widevine é uma implementação de referência de código aberto sobre como gerar formatos MP4 compatíveis com DASH, realizar a criptografia usando um PSSH da Widevine e criar um manifesto DASH. Acesse a página do GitHub para registrar bugs e solicitar recursos.
Player - Android
O projeto ExoPlayer de código aberto mantido pelo Google é a biblioteca de player de referência recomendada que demonstra a reprodução da mídia CENC do Widevine. A criação do ExoPlayer gera por padrão um app de demonstração que contém uma lista predefinida de conteúdo CENC conhecido da equipe do Widevine.
Player - Browser
O projeto de código aberto do Shaka Player é a iniciativa da Widevine para fornecer um framework abrangente de biblioteca JavaScript para vários navegadores que ofereça suporte à reprodução de CENC HTML5 usando um CDM (de preferência, o Widevine). Fora do GitHub, um grupo de discussão de usuários do Shaka Player está disponível e é monitorado pela equipe de desenvolvedores do Shaka Player da Widevine.
O Shaka Player oferece:
- Framework de player de código aberto com todos os recursos
- Interface configurável e personalizável
- Compatível com várias plataformas e navegadores
- Suporte a HTML5, MSE, EME e DASH
- Opções de múltiplos DRM