Scenario: Contenuto del noleggio
Per il contenuto di noleggio, la licenza distribuita per il contenuto specifica una data e un'ora di scadenza. Dopo che si verifica questa data e ora, il contenuto potrebbe ancora trovarsi nel dispositivo dell'utente e la licenza potrebbe comunque essere persistente nell'archivio dati del dispositivo dell'utente, ma il client PlayReady nel dispositivo dell'utente userà il sistema dell'orologio del dispositivo per verificare se la licenza è ancora valida e applicare la scadenza impostata dal servizio nella licenza.
Inoltre, è consigliabile impostare una data e un'ora di inizio (in genere la data e l'ora a cui l'utente ha pagato il contenuto). Ciò consentirà di proteggere il sistema in alcuni casi in cui l'utente potrà eseguire il rollback dell'orologio del dispositivo.
Un'alternativa è che il servizio fornisca una limitazione nella licenza in termini di intervallo di tempo che indica quando la licenza scadrà dopo la prima riproduzione. Ciò consente al provider di servizi di rilasciare una licenza che potrebbe iniziare in un determinato momento in futuro, scadere in un momento specificato e/o scadere dopo una durata specificata, dopo la prima esecuzione del contenuto.
Un esempio tipico è:
Un utente noleggia contenuti il venerdì 5 gennaio 2018 alle 18.00.
La licenza recapitata all'utente include le restrizioni seguenti:
Right — Riproduci (diritto di decrittografare il contenuto da eseguire su una schermata)
Ora di inizio - 5 gennaio 2018 alle 17:55 (l'ora di inizio è leggermente nel passato per tenere conto di qualsiasi minore differenza di clock tra client e server)
Scadenza : 5 febbraio 2018 alle 18:00 (un mese dopo)
Scadenza dopo la prima riproduzione : 48 ore (2 giorni interi dopo che l'utente ha iniziato a giocare)
Poiché il contenuto di noleggio richiede in genere tempi di inizio e scadenza, il client dovrà supportare un tipo di orologio attendibile PlayReady. Per altre informazioni, vedere Orologi attendibili.
La figura seguente indica le interazioni tra client e server nello scenario del contenuto di noleggio.
Lo scenario del contenuto di noleggio esegue i passaggi seguenti, come illustrato nella figura:
Il contenuto che verrà distribuito ai client è protetto con Microsoft PlayReady tecnologia.
Il provider di servizi trasferisce le informazioni di protezione del contenuto a un server licenze.
Il provider di servizi trasferisce contenuto protetto a un server per la distribuzione sul Web.
Un client richiede contenuto per lo streaming o il download.
Il client acquisisce una licenza e inizia a trasmettere o scaricare il contenuto dal server di contenuti usando un protocollo Internet, ad esempio SSTP, DASH, HLS o HTTP. Mentre il client esegue lo streaming o scarica il contenuto, può decrittografare il contenuto e il contenuto decrittografato può essere riprodotto continuamente.
I meccanismi di recapito più comuni per il noleggio di contenuti consiste nel trasmettere il contenuto protetto da un servizio Web o scaricare il contenuto in un dispositivo locale e quindi riprodurre il contenuto.
Streaming di contenuti di noleggio
Durante lo streaming dei supporti di noleggio, il contenuto viene riprodotto continuamente mentre viene trasferito dal server Web. Quando si implementano contenuti di noleggio trasmessi ai dispositivi utente, è necessario considerare gli aspetti tecnici seguenti.
PlayReady supporta molti tipi di protocolli. Non esiste alcuna restrizione per alcun protocollo. Tuttavia, i client PlayReady supportano in genere uno o molti degli standard seguenti: SSTP (Smooth Streaming), DASH (Dynamic Adaptive Streaming over HTTP), HLS (HTTP Live Streaming). Oltre a questi protocolli, è perfettamente accettabile e utilizzabile per un servizio che controlla sia il back-end che i client per implementare un protocollo diverso, ad esempio TS multicast in una rete chiusa.
Il formato del contenuto è in genere H264 + AAC o H265 + AAC, ma tutti gli altri codec sono consentiti da PlayReady.
Il contenuto del noleggio di streaming può usare una licenza permanente o non persistente.
Il caso più ovvio sarebbe una licenza non persistente. Le licenze non persistenti vengono archiviate in memoria volatile (RAM) e durano solo finché la sessione corrente. Le licenze non persistenti sono ben adattate allo scenario di streaming, perché per lo streaming, il dispositivo deve essere comunque connesso e può permettersi di acquisire una licenza non persistente just-in-time al momento della riproduzione.
Una licenza non persistente pre-acquisita ridurrà anche il tempo al primo fotogramma. Per altre informazioni, vedere Generazione e rilascio delle licenze.
Un altro modo per ottimizzare il tempo al primo fotogramma quando si trasmette contenuto di noleggio consiste nell'usare "Licenze di durata limitata PlayReady". Mentre l'utente viene presentato una pagina con un elenco di video da selezionare, le licenze con una durata molto piccola vengono pre-acquisite in background (in genere trenta secondi). Queste licenze includono la restrizione "Scadenza in tempo reale", che garantisce che il client arresti effettivamente la riproduzione con questa licenza dopo trenta secondi. Quindi l'utente può selezionare uno dei video elencati da riprodurre. A questo punto, la riproduzione può essere avviata immediatamente. Il giocatore richiede una licenza di noleggio completa (per 48 ore) per il video selezionato dall'utente e il lettore si associa facilmente alla licenza di noleggio durante la riproduzione. Questa ottimizzazione è possibile nei client PlayReady versione 3.0 o successiva, che supportano la scadenza in tempo reale e il recapito di licenze non persistenti in batch.
È anche possibile usare licenze persistenti per gli scenari di streaming. Le licenze persistenti vengono archiviate in memoria non volatile (nell'archivio dati locale) e durano per tutta la durata dell'archivio o fino a quando non viene raggiunta una restrizione basata sul tempo.
Scaricare e riprodurre contenuti di noleggio
Il contenuto di noleggio può anche essere scaricato nel client prima che la riproduzione possa iniziare. In genere questa operazione viene eseguita per ottenere una qualità costante del contenuto non correlato alla qualità della rete, ma può richiedere un certo ritardo prima che la riproduzione possa effettivamente iniziare.
Quando si implementano contenuti di noleggio scaricati e riprodotti, è necessario considerare gli aspetti tecnici seguenti.
Il contenuto può essere scaricato come file semplice tramite HTTP, se il contenuto è già stato creato nel formato corretto per il dispositivo. Un'altra opzione consiste nel fatto che il client recupera i segmenti successivi di un asset di streaming adattivo tramite il protocollo di streaming (SSTP, DASH, HLS, altro) e li comprime tutti nella risorsa di archiviazione locale del dispositivo per un'ulteriore riproduzione, sotto forma di un singolo file segmentato o di una raccolta di file di segmento. Quest'ultimo consente scenari più sofisticati come l'associazione tardiva, che è la possibilità per un client di selezionare tracce diverse in base alle preferenze. Ad esempio, selezionare una qualità video tra più qualità, una particolare traccia audio o una traccia di sottotitoli, indipendentemente dalla creazione iniziale del contenuto nel back-end.
Scaricare e riprodurre contenuti di noleggio possono anche usare una licenza persistente o non persistente. In genere, si preferisce una licenza permanente predelivery.
Quando si usano licenze persistenti, il dispositivo può occasionalmente dover rimuovere le licenze dall'archivio dati dopo la scadenza.
Come tutte le licenze persistenti che includono una data di scadenza, devono includere anche una data di inizio che consente di evitare attacchi utente contro il sistema orologio attendibile del dispositivo.