Visão geral

O DRM Widevine é o sistema de proteção de conteúdo do Google para mídias 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 muito mais. O foco da Widevine é oferecer a melhor experiência de visualização de conteúdo premium em vez da distribuição digital.

O DRM da Widevine adota os seguintes padrões:

Plataformas compatíveis

O cliente Widevine é incorporado de forma nativa em uma plataforma de dispositivo, a menos que indicado de outra forma.

Dispositivo ou plataforma Compatível?
Android (dispositivos móveis, TV, automotivo) Sim
Código aberto do Android (AOSP) Sim
Apple iOS Sim [1]
Apple TV (tvOS) -
Chromecast (transmissão) 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 de borda 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 portal do Facebook Sim
Nintendo Switch -
PlayStation da Sony Sim
Xbox Xbox -
Players de smart TV e Blu-Ray (Tizen, WebOS) Sim

desenho

Esquemas de criptografia compatíveis

A tabela abaixo fornece um mapeamento de esquemas de criptografia nas plataformas integradas do Widevine.

Plataforma cenc cenas cbc1. cbcs.
Android 4.4 a 6.x (incluindo Android TV) S - - -
Android 7.x ou mais recente (incluindo Android TV) S - - S
Chromecast (transmissão) S - S S
Google Home S - - -
Players de smart TV e Blu-Ray S - - S
Widevine iOS S - - S
Navegador Chrome (computador) e Chrome OS S - - S
Navegador Chrome (dispositivo móvel) S - - S
Mozilla Firefox S - - S
Ópera S - - S
SDK do NexPlayer S - - S

Ecossistema

desenho

O diagrama acima ilustra os componentes Widevine disponíveis no ecossistema DRM.

Os componentes de provisionamento, keybox e OEMCrypto são específicos para o processo de integração do dispositivo. Se você quiser integrar o Widevine em 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 por parceiro (por HTTPS). Esse mecanismo de proxy validará a solicitação e anexará as regras de negócios antes de enviar o payload a ser atendido pelo Serviço de Licença Widevine.

O dispositivo cliente Widevine não se comunica diretamente com o Serviço de licença Widevine em hipótese alguma.

Como emitir licenças Widevine

A Widevine oferece dois métodos para emitir licenças para os clientes:

  • Serviço de licença do Cloud
    • Serviço globalmente acessível sem taxas de acesso ou de transação.
    • O acesso é fornecido usando credenciais por organização para os licenciados da Widevine.
  • SDK do servidor de licenças
    • Desenvolvido para hospedar seu próprio serviço de licença.

Como usar o serviço de licenças do Cloud Devdevine

Os serviços de licença do Cloud têm dois ambientes: teste e produção. O acesso é concedido com credenciais únicas por organização para os licenciados da Widevine.

O Cloud License Service oferece dois endpoints para:

  • Recuperar chaves de conteúdo para criptografar o conteúdo.
    • As chaves de conteúdo solicitadas dessa maneira são armazenadas pelo Widevine Cloud License Service.
  • Como emitir 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.

  • O Widevine fornece um SDK Proxy para se comunicar com o Serviço de licença do Cloud.
  • O proxy de licença valida e verifica a solicitação recebida do cliente e determina quais regras comerciais serão aplicadas.
  • As regras de negócios são anexadas à solicitação de licença de origem do dispositivo e enviadas ao serviço de licença para atendimento.
  • Depois que uma licença é gerada, o conteúdo dela não pode mais ser modificado e individualizado ao dispositivo solicitante.

Empacotador Shaka

O Shaka Packager (anteriormente conhecido como eDASH-Packager) do Widevine é uma implementação de referência de código aberto sobre como gerar formatos MP4 compatíveis com DASH, realizar criptografia usando um PSSH do Widevine e criar um manifesto DASH. Visite a página do GitHub para informar 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 de mídia Widevine CENC. Por padrão, o ExoPlayer gera um app de demonstração com uma lista predefinida de conteúdo CENC bom e conhecido da equipe do Widevine.

Player: navegador

O projeto de código aberto Shaka Player é a iniciativa da Widevine para oferecer uma estrutura abrangente de biblioteca JavaScript em vários navegadores para a compatibilidade com reprodução de CENC HTML5 usando um CDM (preferencialmente Widevine). Fora do GitHub, um grupo de discussão de usuários do Shaka Player está disponível e monitorado pela equipe de desenvolvimento do Shaka Player da Widevine.

O Shaka Player oferece:

  • Framework de player de código aberto com todos os recursos
  • IU configurável e personalizável
  • Compatível com várias plataformas e navegadores
  • Suporte para HTML5, MSE, EME e DASH
  • Opções multi-DRM