シナリオ: レンタル コンテンツ
レンタル コンテンツの場合、コンテンツに対して配信されるライセンスは有効期限の日付と時刻を指定します。 この日時が発生した後も、コンテンツはユーザーのデバイス上にあり、ライセンスは引き続きユーザーのデバイスのデータ ストアに保持されている可能性がありますが、ユーザーのデバイスの PlayReady クライアントはデバイスのクロック システムを使用して、ライセンスがまだ有効かどうかを確認し、ライセンス内のサービスによって設定された有効期限を適用します。
さらに、開始日時 (通常はユーザーがコンテンツに対して支払った日時) を設定することをお勧めします。 これは、ユーザーがデバイスのクロックをロールバックできる場合にシステムを保護するのに役立ちます。
別の方法として、サービスは、最初のプレイ後にライセンスの有効期限が切れる時期を示す期間の観点から、ライセンスの制限を提供することです。 これにより、サービス プロバイダーは、コンテンツが最初に再生された後、将来に開始される可能性があるライセンス、指定された時間に期限切れになるライセンス、または指定した期間後に期限切れになる可能性があるライセンスを発行できます。
一般的な例を次に示します。
ユーザーは、2018 年 1 月 5 日 (金) 午後 8 時にコンテンツをレンタルします。
ユーザーに配信されるライセンスには、次の制限事項が含まれます。
右 — 再生 (画面にレンダリングするコンテンツの暗号化を解除する権利)
開始時刻 - 2018 年 1 月 5 日午後 7 時 55 分 (クライアントとサーバーのわずかなクロック差を考慮するため、開始時刻は過去に若干あります)
有効期限 - 2018 年 2 月 5 日午後 8 時 (1 か月後)
初回プレイ後の有効期限 - 48 時間 (ユーザーがプレイを開始してから 2 日間)
レンタル コンテンツは通常、開始時刻と有効期限を必要とするため、クライアントは何らかの種類の PlayReady 信頼済みクロックをサポートする必要があります。 詳細については、「 信頼済みクロック」を参照してください。
次の図は、レンタル コンテンツ シナリオにおけるクライアントとサーバー間の相互作用を示しています。
レンタル コンテンツ シナリオでは、図に示すように、次の手順を実行します。
クライアントに配布されるコンテンツは、Microsoft PlayReadyテクノロジで保護されます。
サービス プロバイダーは、コンテンツ保護情報をライセンス サーバーに転送します。
サービス プロバイダーは、保護されたコンテンツをサーバーに転送して、Web 経由で配布します。
クライアントは、ストリーミングまたはダウンロードのコンテンツを要求します。
クライアントはライセンスを取得し、SSTP、DASH、HLS、HTTP などのインターネット プロトコルを使用してコンテンツ サーバーからのコンテンツのストリーミングまたはダウンロードを開始します。 クライアントがコンテンツをストリーミングまたはダウンロードしている間は、コンテンツの暗号化を解除でき、復号化されたコンテンツを継続的に再生できます。
レンタル コンテンツの最も一般的な配信メカニズムは、保護されたコンテンツを Web サービスからストリーミングするか、ローカル デバイスにコンテンツをダウンロードしてコンテンツを再生することです。
ストリーミング レンタル コンテンツ
レンタル メディアをストリーミングする場合、コンテンツは Web サーバーから転送されている間も継続的に再生されます。 ユーザー デバイスにストリーミングされるレンタル コンテンツを実装する場合は、次の技術的な側面を考慮する必要があります。
PlayReady では、さまざまな種類のプロトコルがサポートされています。 プロトコルに制限はありません。 ただし、PlayReady クライアントでは、通常、SSTP (スムーズ ストリーミング)、DASH (DYNAMIC Adaptive Streaming over HTTP)、HLS (HTTP ライブ ストリーミング) の 1 つまたは多くの標準がサポートされます。 これらのプロトコルに加えて、バックエンドとクライアントの両方を制御するサービスが、閉じたネットワーク上にマルチキャスト TS などの別のプロトコルを実装することは、完全に許容され、実行可能です。
通常、コンテンツの形式は H264 + AAC、または H265 + AAC ですが、他のすべてのコーデックは PlayReady で許可されます。
ストリーミング レンタル コンテンツでは、永続的ライセンスまたは非永続的ライセンスを使用できます。
最も明白なケースは、非永続的なライセンスです。 非永続的なライセンスは揮発性メモリ (RAM) に格納され、現在のセッションに限り持続します。 非永続的なライセンスはストリーミング シナリオに適しています。ストリーミングの場合は、デバイスを接続する必要があり、再生時にすぐに非永続的なライセンスを取得できるためです。
事前に取得された非永続的なライセンスでも、最初のフレームまでの時間が短縮されます。 詳細については、「 ライセンスの生成と発行」を参照してください。
レンタル コンテンツのストリーミング時に最初のフレームまでの時間を最適化するもう 1 つの方法は、"PlayReady 制限付き期間ライセンス" を活用することです。ユーザーには選択するビデオの一覧が表示されたページが表示されますが、非常に少ない期間のライセンスはバックグラウンドで事前に取得されます (通常は 30 秒)。 これらのライセンスには、30 秒後にクライアントがこのライセンスを使用して実際に再生を停止することを保証する制限 "Real Time Expiration" が含まれます。 その後、ユーザーは再生する一覧のビデオのいずれかを選択できます。 この時点で、再生はすぐに開始できます。 プレイヤーは、ユーザーが選択したビデオの完全なレンタル ライセンス (48 時間) を要求し、プレイヤーは再生中にシームレスにレンタル ライセンスにバインドします。 この最適化は、PlayReady バージョン 3.0 以降のクライアントで可能であり、リアルタイムの有効期限と非永続的なライセンス配信をバッチでサポートします。
ストリーミング シナリオにも永続的なライセンスを使用できます。 永続的なライセンスは、非揮発性メモリ (ローカル データ ストア内) に格納され、ストアの有効期間中、または時間ベースの制限に達するまで最後になります。
レンタル コンテンツをダウンロードして再生する
また、再生を開始する前に、レンタル コンテンツをクライアントにダウンロードすることもできます。 通常、これは、ネットワーク品質と相関しないコンテンツの一定の品質を実現するために行われますが、再生が実際に開始されるまでに多少の遅延が必要になる場合があります。
ダウンロードして再生するレンタル コンテンツを実装する場合は、次の技術的な側面を考慮する必要があります。
コンテンツが既にデバイスに適した形式で作成されている場合は、HTTP 経由で単純なファイルとしてコンテンツをダウンロードできます。 もう 1 つのオプションは、クライアントがストリーミング プロトコル (SSTP、DASH、HLS、その他) を介してアダプティブ ストリーミング資産の連続するセグメントを取得し、デバイスのローカル ストレージ上でそれらをすべてパックして、1 つのセグメント化されたファイルまたはセグメント ファイルのコレクションの形式でさらに再生することです。 後者では、遅延バインディングなどのより高度なシナリオが可能になります。これは、クライアントが好みに基づいて異なるトラックを選択する機能です。 たとえば、バックエンドでの初期コンテンツ作成とは無関係に、複数の品質のうち 1 つのビデオ品質、1 つの特定のオーディオ トラック、またはサブタイトル トラックを選択します。
レンタル コンテンツをダウンロードして再生すると、永続的または非永続的なライセンスを使用することもできます。 通常は、事前提供の永続的なライセンスが推奨されます。
永続的なライセンスを使用する場合、デバイスでは、有効期限が切れた後にデータ ストアからライセンスを削除することが必要になる場合があります。
有効期限を含むすべての永続的なライセンスと同様に、デバイスの信頼されたクロック システムに対する一部のユーザー攻撃を防ぐのに役立つ開始日も含める必要があります。