Compartilhar via


Cenário: Aluguel de Conteúdos

Para conteúdo de aluguel, a licença entregue para o conteúdo especifica uma data e hora de validade. Depois que essa data e hora ocorrerem, o conteúdo ainda poderá estar no dispositivo do usuário e a licença ainda poderá persistir no armazenamento de dados do dispositivo do usuário, mas o Cliente PlayReady no dispositivo do usuário usará o sistema de relógio do dispositivo para verificar se a licença ainda é válida e impor a expiração definida pelo serviço na licença.

Além disso, é recomendável uma boa prática definir uma data e hora de início (normalmente a data e a hora que o usuário pagou pelo conteúdo). Isso ajudará a proteger o sistema em alguns casos em que o usuário poderá reverter o relógio de seu dispositivo.

Uma alternativa é que o serviço forneça uma limitação na licença em termos de um período de tempo que indica quando a licença expirará após a primeira reprodução. Isso permite que o provedor de serviços emita uma licença que pode começar em algum momento no futuro, expirar em um momento especificado e/ou expirar após uma duração especificada, depois que o conteúdo for reproduzido pela primeira vez.

Um exemplo típico seria:

  • Um usuário aluga conteúdo na sexta-feira, 5 de janeiro de 2018 às 20h.

  • A licença entregue ao usuário inclui as seguintes restrições:

    • Direito – Reproduzir (direito de descriptografar conteúdo para renderizar em uma tela)

    • Hora de Início – 5 de janeiro de 2018 às 19h55 (a hora de início é ligeiramente no passado para considerar qualquer pequena diferença de relógio entre o cliente e o servidor)

    • Hora de expiração – 5 de fevereiro de 2018 às 20h (um mês depois)

    • Expiração após a primeira reprodução — 48 horas (2 dias inteiros após o usuário iniciar a reprodução)

Como o conteúdo de aluguel geralmente requer horários de início e expiração, será necessário que o cliente ofereça suporte a algum tipo de relógio confiável do PlayReady. Para obter mais informações, consulte Relógios Confiáveis.

A figura a seguir indica as interações entre clientes e servidores no cenário de conteúdo de aluguel.

Conteúdo de locação

O cenário de conteúdo de aluguel executa as seguintes etapas, conforme ilustrado na figura:

  1. O conteúdo que será distribuído aos clientes é protegido com a tecnologia Microsoft PlayReady.

  2. O provedor de serviços transfere informações de proteção de conteúdo para um Servidor de Licença.

  3. O provedor de serviços transfere conteúdo protegido para um servidor para distribuição pela Web.

  4. Um cliente solicita conteúdo para streaming ou download.

  5. O cliente adquire uma licença e começa a transmitir ou baixar o conteúdo do servidor de conteúdo usando um protocolo de Internet como SSTP, DASH, HLS ou HTTP. Enquanto o cliente está transmitindo ou baixando o conteúdo, ele pode descriptografar o conteúdo e o conteúdo descriptografado pode ser reproduzido continuamente.

Os mecanismos de entrega mais comuns para conteúdo de aluguel são transmitir o conteúdo protegido de um serviço Web ou baixar o conteúdo em um dispositivo local e reproduzir o conteúdo.

Streaming de conteúdo alugado

Ao transmitir mídia de aluguel, o conteúdo é reproduzido continuamente enquanto está sendo transferido do servidor Web. Os aspectos técnicos a seguir devem ser considerados ao implementar o conteúdo de aluguel transmitido para dispositivos de usuário.

  • O PlayReady dá suporte a muitos tipos de protocolos. Não há nenhuma restrição para qualquer protocolo. No entanto, os clientes PlayReady geralmente dão suporte a um ou muitos dos seguintes padrões: SSTP (Smooth Streaming), DASH (Streaming Adaptável Dinâmico por HTTP), HLS (Http Live Streaming). Além desses protocolos, é perfeitamente aceitável e factível que um serviço que controla seu back-end e clientes implemente um protocolo diferente, por exemplo, TS multicast em uma rede fechada.

  • O formato do conteúdo normalmente é H264 + AAC ou H265 + AAC, mas todos os outros codecs são permitidos pelo PlayReady.

  • O conteúdo de aluguel de streaming pode usar uma licença persistente ou não persistente.

    O caso mais óbvio seria licenças não persistentes. As licenças não persistentes são armazenadas em memória volátil (RAM) e duram apenas pelo tempo que a sessão atual. As licenças não persistentes são bem adaptadas ao cenário de streaming, pois, para streaming, o dispositivo precisa ser conectado de qualquer maneira e pode permitir a aquisição de uma licença não persistente bem a tempo no momento da reprodução.

    Uma licença não persistente pré-adquirida também reduzirá o tempo até o primeiro quadro. Para obter mais informações, consulte Geração e Emissão de Licenças.

    Outra forma de otimizar o tempo até o primeiro quadro ao transmitir conteúdo para aluguel é aproveitar as "Licenças de duração limitada PlayReady". Enquanto o usuário vê uma página com uma lista de vídeos para selecionar, licenças com duração muito curta são pré-adquiridas em segundo plano (geralmente trinta segundos). Essas licenças incluem a restrição "Expiração em tempo real", que garante que o cliente de fato interromperá a reprodução com essa licença após trinta segundos. Em seguida, o usuário pode selecionar um dos vídeos listados a serem reproduzidos. Neste momento, a reprodução pode ser iniciada imediatamente. O player solicita uma licença de aluguel completa (por 48 horas) para o vídeo selecionado pelo usuário e, então, o player se vincula perfeitamente à licença de aluguel durante a reprodução. Essa otimização é possível no PlayReady versão 3.0 ou em clientes posteriores, que dão suporte à expiração em tempo real e à entrega de licenças não persistentes em lotes.

  • Também é possível usar licenças persistentes para cenários de streaming. As licenças persistentes são armazenadas em memória não volátil (no armazenamento de dados local) e duram o tempo de vida do repositório ou até que uma restrição baseada em tempo seja atingida.

Baixar e reproduzir conteúdo de aluguel

O conteúdo de aluguel também pode ser baixado para o cliente antes do início da reprodução. Normalmente, isso é feito para obter uma qualidade constante do conteúdo não correlacionado com a qualidade da rede, mas pode exigir algum atraso antes que a reprodução possa realmente começar.

Os aspectos técnicos a seguir precisam ser considerados na implementação de conteúdo de aluguel que é baixado e reproduzido.

  • O conteúdo poderá ser baixado como um arquivo simples por meio de HTTP, se o conteúdo já tiver sido criado no formato certo para o dispositivo. Outra opção é que o cliente recupere os segmentos sucessivos de um ativo de streaming adaptável no protocolo de streaming (SSTP, DASH, HLS, outros) e empacote todos eles no armazenamento local do dispositivo para reprodução adicional, na forma de um único arquivo segmentado ou uma coleção de arquivos de segmento. Este último permite cenários mais sofisticados, como associação tardia, que é a capacidade de um cliente selecionar diferentes faixas com base em suas preferências. Por exemplo, escolha uma qualidade de vídeo entre várias qualidades, uma faixa de áudio específica ou uma faixa de subtítulo, independentemente da criação de conteúdo inicial no back-end.

  • Baixar e reproduzir conteúdo de aluguel também pode usar uma licença persistente ou não persistente. Normalmente, uma licença persistente antes da entrega seria a preferida.

  • Ao usar licenças persistentes, o dispositivo pode ocasionalmente precisar remover licenças do armazenamento de dados após a expiração.

  • Como todas as licenças persistentes que incluem uma data de validade, elas também devem incluir uma data de início que ajude a evitar alguns ataques de usuário contra o sistema de relógio confiável do dispositivo.