Cenário: Conteúdo de Aluguel
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 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 é um pouco no passado para considerar qualquer diferença de relógio menor 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 o primeiro jogo – 48 horas (2 dias completos após o usuário começar a jogar)
Como o conteúdo de aluguel geralmente requer tempos de início e expiração, o cliente será necessário para dar 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.
O cenário de conteúdo de aluguel executa as seguintes etapas, conforme ilustrado na figura:
O conteúdo que será distribuído aos clientes é protegido com Microsoft PlayReady tecnologia.
O provedor de serviços transfere informações de proteção de conteúdo para um Servidor de Licença.
O provedor de serviços transfere o conteúdo protegido para um servidor para distribuição pela Web.
Um cliente solicita conteúdo para streaming ou download.
O cliente adquire uma licença e começa a transmitir ou baixar o conteúdo do servidor de conteúdo usando um protocolo da 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, em seguida, reproduzir o conteúdo.
Streaming de conteúdo de aluguel
Ao transmitir mídia de aluguel, o conteúdo é reproduzido continuamente enquanto está sendo transferido do Servidor Web. Os seguintes aspectos técnicos 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á restrição para nenhum 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 viável para um serviço que controla seu back-end e clientes implementarem 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 por tanto tempo quanto 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 que é pré-adquirida também reduzirá o tempo para o primeiro quadro. Para obter mais informações, consulte Geração e Emissão de Licenças.
Outra maneira de otimizar o tempo para o primeiro quadro quando o conteúdo de aluguel de streaming é aproveitar "Licenças de Duração Limitada do PlayReady". Enquanto o usuário recebe uma página com uma lista de vídeos a serem selecionados, as licenças com uma duração muito pequena são pré-adquiridas em segundo plano (normalmente trinta segundos). Essas licenças incluem a restrição "Expiração em Tempo Real", que garante que o cliente realmente pare de reproduzir 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 começar imediatamente. O jogador solicita uma licença de aluguel completa (por 48 horas) para o vídeo selecionado pelo usuário e, em seguida, o jogador associa-se perfeitamente à licença de aluguel enquanto reproduz. 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 que a reprodução possa começar. 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 seguintes aspectos técnicos devem ser considerados ao implementar o conteúdo de aluguel 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 posterior, 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 faixas diferentes 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 de pré-entrega seria preferencial.
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.