翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SPEKE API v2 - 標準ペイロードコンポーネント
1 つのSPEKEリクエストを通じて、エンクリプタは、特定のコンテンツに定義されている暗号化契約に従って、複数のパッケージ形式に必要なマンフェストシグナリングとともに、複数のコンテンツキーをリクエストできます。
これらすべての側面をカバーするために、標準CPIXドキュメントは 3 つの必須リストセクションと、ライブコンテンツキーローテーション用のオプションのリストセクションで構成されます。
<cpix:ContentKeyList> セクションとトップレベル <cpix:CPIX> 要素
これはライブとVODストリーミングの両方に関連する必須セクションで、エンクリプタで使用する必要があるさまざまなコンテンツキーを定義します。<cpix:ContentKeyList>
要素には 1 つまたは複数の <cpix:ContentKey>
子要素を含めることができます。それぞれの要素は個別のコンテンツキーについて記述します。
CPIX 仕様に従って、 ContentKey@commonEncryptionScheme
属性の可能な値は、ISOベースメディアファイル形式のファイル仕様 (ISO/IEC 23001-7:2016) の「共通暗号化」で定義されています。
-
「cenc」: AES-CTR フルサンプルとビデオのNALサブサンプル暗号化をモードする
-
「cbc1」: AES-CBC フルサンプルとビデオのNALサブサンプル暗号化をモードする
-
'cens': AES-CTR モードの部分的なビデオNALパターン暗号化
-
'cbcs': AES-CBC モードの部分的なビデオNALパターン暗号化
次の例は、暗号化されていない単一のコンテンツキーを持つCPIXドキュメントを示しています。
<cpix:CPIX contentId="abc123" version="2.3" xmlns:cpix="urn:dashif:org:cpix" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc"> <cpix:ContentKeyList> <cpix:ContentKey explicitIV="OFj2IjCsPJFfMAxmQxLGPw==" kid="98ee5596-cd3e-a20d-163a-e382420c6eff" commonEncryptionScheme="cbcs"> <cpix:Data> <pskc:Secret> <pskc:PlainValue>5dGAgwGuUYu4dHeHtNlxJw==</pskc:PlainValue> </pskc:Secret> </cpix:Data> </cpix:ContentKey> </cpix:ContentKeyList> ... </cpix:CPIX>
デフォルトでは、以下の例のように、コンテンツキーは暗号化されません。ただし、コンテンツキーの暗号化は、<cpix:DeliveryDataList> 要素を含めることでエンクリプタによってリクエストできます。詳細については、コンテンツキーの暗号化のセクションを参照してください。
でサポートされている要素 SPEKE | 必須属性 | オプションの属性 | 必須の子要素 | オプションの子要素 |
---|---|---|---|---|
<cpix:CPIX> |
contentId、バージョン、xmlns:cpix、xmlns:pskc |
name、xmlns:enc |
1 つの <cpix:ContentKeyList>、1 つの <cpix:DRMSystemList>、1 つの <cpix:ContentKeyUsageRuleList> |
1 つの <cpix:DeliveryDataList>、1 つの <cpix:ContentKeyPeriodList> |
<cpix:ContentKeyList> |
- |
id |
少なくとも 1 つの <cpix:ContentKey> |
- |
<cpix:ContentKey> |
kid、 commonEncryptionScheme、データ |
id、Algorithm、explicitIV |
1 つの <pskc:Secret> |
- |
<pskc:Secret> |
PlainValue または EncryptedValue |
値MAC |
- |
<enc:EncryptionMethod>、<enc:CipherData> |
<cpix:DRMSystemList> セクション
これはライブとVODストリーミングの両方に関連する必須セクションで、コンテンツキーとともに活用する必要があるさまざまなDRMシステムを定義します。
次の例は、単一のDRM PlayReady DRMシステム仕様を持つシステムリストを示しています。
<cpix:DRMSystemList> <cpix:DRMSystem kid="98ee5596-cd3e-a20d-163a-e382420c6eff" systemId="9a04f079-9840-4286-ab92-e65be0885f95"> <cpix:HLSSignalingData playlist="media">HicXmbZ2m[...]4==</cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master">HicXmbZ2m[...]jEi</cpix:HLSSignalingData> <cpix:ContentProtectionData>t7WwH24FI[...]YCC</cpix:ContentProtectionData> <cpix:PSSH>FFFFanBzc[...]A==</cpix:PSSH> <cpix:SmoothStreamingProtectionHeaderData>s5RrJ12HL[...]UBB</cpix:SmoothStreamingProtectionHeaderData> </cpix:DRMSystem> </cpix:DRMSystemList>
の完全なリストについてはsystemIDs、DASH-IF DRM 識別子リポジトリのコンテンツ保護セクション
でサポートされている要素 SPEKE | 必須属性 | オプションの属性 | 必須の子要素 | オプションの子要素 |
---|---|---|---|---|
<cpix:DRMSystemList> |
- |
id |
少なくとも 1 つの <cpix:DRMSystem> |
- |
<cpix:DRMSystem> |
子、 systemId |
ID、名前、 PSSH |
- |
ContentProtectionData、 SmoothStreamingProtectionHeaderData、プレイリスト属性値が異なる 2 つの <cpix:HLSSignalingData> 要素 |
DRMSystem@PSSH
は、 ISOカプセルBMFF化がメディアセグメントに適用される場合は必須です。 DRMSystem.ContentProtectionData
内部XML<pssh>
要素は、マニフェストシグナリングの目的でのみエンクリプタによって利用されます。
DRMSystem@PSSH
が存在し、内部XML<pssh>
要素DRMSystem.ContentProtectionData
が含まれている場合、両方の値は同じである必要があります。
マHLSニフェストでDRMSystem
シグナリングを実行する場合は、 要素<cpix:HLSSignalingData playlist="media">
と <cpix:HLSSignalingData playlist="master">
要素の両方をCPIXリクエストとレスポンスに含める必要があります。
<cpix:ContentKeyPeriodList> セクション
これは、ライブストリーミングにのみ関連するオプションのセクションで、コンテンツに適用される暗号化期間を定義します。
<cpix:ContentKeyPeriodList>
要素には 1 つまたは複数の <cpix:ContentKeyPeriod>
子要素を含めることができます。それぞれの要素はライブタイムラインの個別の暗号化期間について記述します。id 属性の値UUIDsの一部として を使用することは、一般的に使用されるアプローチです。
<cpix:ContentKeyPeriodList> <cpix:ContentKeyPeriod id="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f" index="1" /> </cpix:ContentKeyPeriodList>
でサポートされている要素 SPEKE | 必須属性 | オプションの属性 | 必須の子要素 | オプションの子要素 |
---|---|---|---|---|
<cpix:ContentKeyPeriodList> |
- |
id |
少なくとも 1 つの <cpix:ContentKeyPeriod> |
- |
<cpix:ContentKeyPeriod> |
id、index |
- |
- |
- |
暗号化期間を使用する場合は、以下のセクションに示すように、暗号化キーをCPIXドキュメント内の暗号化期間の 1 つにアタッチする必要があります。
<cpix:ContentKeyUsageRuleList> セクション
これは、ライブとVODストリーミングの両方に関連する必須セクションで、さまざまなコンテンツキーがストリームセット内および暗号化期間にわたってトラックを保護する方法を定義します。
<cpix:ContentKeyUsageRuleList> 要素には、1 つまたは複数の <cpix:ContentKeyUsageRule> 子要素を含めることができます。各要素は、特定の暗号化期間中に、特定のコンテンツキーがエンクリプタによって適用されるトラックを記述します。<cpix:AudioFilter> 要素には、少なくとも 1 つの <cpix:VideoFilter> 要素または 1 つの <cpix:ContentKeyUsageRule> 要素が必要です。
次の例は、特定の暗号化期間中にすべてのオーディオトラックとビデオトラックに 1 つのコンテンツキーを適用するというルールのみを含む単純なリストを示しています。
<cpix:ContentKeyUsageRuleList> <cpix:ContentKeyUsageRule kid="98ee5596-cd3e-a20d-163a-e382420c6eff" intendedTrackType="ALL"> <cpix:KeyPeriodFilter periodId="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f"/> <cpix:AudioFilter /> <cpix:VideoFilter /> </cpix:ContentKeyUsageRule> </cpix:ContentKeyUsageRuleList>
でサポートされている要素 SPEKE | 必須属性 | オプションの属性 | 必須の子要素 | オプションの子要素 |
---|---|---|---|---|
<cpix:ContentKeyUsageRuleList> |
- |
id |
少なくとも 1 つの <cpix:ContentKeyUsageRule> |
- |
<cpix:ContentKeyUsageRule> |
子、 intendedTrackType |
- |
少なくとも 1 つの <cpix:AudioFilter> または 1 つの <cpix:VideoFilter> (*) |
<cpix:KeyPeriodFilter> |
<cpix:KeyPeriodFilter> |
periodId |
- |
- |
- |
<cpix:AudioFilter> |
- |
minChannels, maxChannels |
- |
- |
<cpix:VideoFilter> |
- |
minPixels、maxPixels、hdr、minFps、 maxFps |
- |
- |
(*) ストリームセット内の 1 つまたは複数のトラックを保護するために単一または複数のコンテンツキーを使用することに関する詳細な説明については、ドキュメントの暗号化契約セクションを参照してください。_