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:

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

desenho

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

desenho

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