View a markdown version of this page

SPEKE API v2.1 - 標準ペイロードコンポーネント - Secure Packager および Encoder Key Exchange API の仕様

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SPEKE API v2.1 - 標準ペイロードコンポーネント

1 つの SPEKE リクエストを通じて、エンクリプタは、エンクリプタがコンテンツに対して定義する暗号化契約に従って、複数のパッケージ形式に必要なマニフェストシグナリングとともに、複数のコンテンツキーをリクエストできます。

これらの側面をすべて網羅するために、標準の CPIX ドキュメントには、ライブコンテンツキーローテーション用の 3 つの必須リストセクションとオプションのリストセクションが含まれています。

<cpix:ContentKeyList> セクションとトップレベルの <cpix:CPIX> 要素

これは、ライブストリーミングと VOD ストリーミングの両方に関連した必須セクションで、エンクリプタで使用する必要があるさまざまなコンテンツキーを定義します。<cpix:ContentKeyList> 要素には 1 つまたは複数の <cpix:ContentKey> 子要素を含めることができます。それぞれの要素は個別のコンテンツキーについて記述します。

CPIX 2.4 仕様によると、 ContentKey@commonEncryptionScheme 属性の値は、ISO/IEC 23001-7:2016 で定義されている 4 文字の共通暗号化保護スキーム名、または HTTP ライブストリーミング (HLS) 仕様で定義されている暗号化方法のいずれかである必要があります。4 文字の共通暗号化保護スキーム名は次のとおりです。

  • 'cenc': AES-CTR モードのフルサンプルとビデオ NAL サブサンプル暗号化

  • 'cbc1': AES-CBC モードのフルサンプルとビデオ NAL サブサンプル暗号化

  • 'cens': AES-CTR モードの部分的なビデオ NAL パターン暗号化

  • 'cbcs': AES-CBC モードの部分的なビデオ NAL パターン暗号化

次の例は、暗号化されていない単一のコンテンツキーを持つ CPIX ドキュメントを示しています。

<cpix:CPIX contentId="abc123" version="2.4" 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、version、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 つの <cpix:Data> (1 つの <pskc:Secret> を含む)

HDCPData

<pskc:Secret>

-

-

PlainValue または EncryptedValue

ValueMAC、<enc:EncryptionMethod>、<enc:CipherData>

<cpix:HDCPData>

-

HLSHDCPLevel

-

HDCPOutputProtectionData

<cpix:DRMSystemList> セクション

これは、ライブストリーミングと VOD ストリーミングの両方に関連した必須セクションで、コンテンツキーとともに使用する必要があるさまざまな DRM システムを定義します。

次の例は、単一の PlayReady DRM システム仕様を持つ 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>

DRM systemIDs の完全なリストについては、DASH-IF 識別子リポジトリのコンテンツ保護セクションを参照してください。

SPEKE でサポートされる要素 必須属性 オプションの属性 必須の子要素 オプションの子要素

<cpix:DRMSystemList>

-

id

少なくとも 1 つの <cpix:DRMSystem>

-

<cpix:DRMSystem>

kid、systemId

id、name、PSSH、HLSAllowedCPC

-

ContentProtectionData、SmoothStreamingProtectionHeaderData、プレイリストの属性値が異なる 2 つの <cpix:HLSSignalingData> 要素

<cpix:ContentProtectionData>

-

堅牢性

-

-

DRMSystem@PSSH ISO-BMFF カプセル化がメディアセグメントに適用される場合、 は必須です。エンクリプタは、マニフェストシグナリングの目的にのみ DRMSystem.ContentProtectionData innerXML <pssh>要素を使用します。

DRMSystem@PSSH が存在し、innerXML <pssh>要素DRMSystem.ContentProtectionDataが含まれている場合、両方の値は同じである必要があります。

HLS マニフェストでDRMSystemシグナリングを実行するには、CPIX リクエストとレスポンスに <cpix:HLSSignalingData playlist="media"> 要素と <cpix:HLSSignalingData playlist="master">要素の両方を含めます。

SPEKE v2.1 は、各 DRM システムの予想される DRM の堅牢性またはコンテンツ保護レベルを示すことができます。DASH と HLS は、次の段落で説明するさまざまな属性を通じてこれを表現します。

SPEKE v2.1 では、 <cpix:ContentProtectionData>要素はオプションの @robustness 属性をサポートします。この属性の値は DRM 固有であり、参照されるコンテンツキーによって暗号化された表現に対して DRM システムに期待される堅牢性レベルを示します。エンクリプタは、この値をこの DRM システムの DASH マニフェストの ContentProtection要素の@robustness属性として使用します。

SPEKE v2.1 では、 <cpix:DRMSystem>要素はオプションの @HLSAllowedCPC 属性をサポートします。@systemId 値で識別される DRM の場合、この属性は HLS 多変量プレイリストの EXT-X-STREAM-INF タグの ALLOWED-CPC 属性に追加する値を指定します。ALLOWED-CPC 属性は、DRM システムが関連するコンテンツキーに対してサポートするコンテンツ保護設定 (CPC) を通知します。この属性には、メディアコンテンツ用に HLS プレイリストが作成された場合にのみ意味があります。

<cpix:ContentKeyPeriodList> セクション

これは、ライブストリーミングと VOD ストリーミングの両方に関連するオプションのセクションであり、コンテンツに適用される暗号化期間を定義します。

<cpix:ContentKeyPeriodList> 要素には 1 つまたは複数の <cpix:ContentKeyPeriod> 子要素を含めることができます。それぞれの要素はライブタイムラインの個別の暗号化期間について記述します。id 属性の値の一部として UUID を使用することは、一般的に使用されるアプローチです。

SPEKE v2.1 では、エンクリプタは に加えて、 が<cpix:ContentKeyPeriod>カバーする時間間隔を通知できます@index。

  • ライブコンテンツの場合、 @start 属性は期間の開始時のウォールクロック時間、 @end 属性は期間の終了時のウォールクロック時間です。どちらもタイプ ですxs:dateTime。

  • VOD コンテンツの場合、 @startOffset 属性は期間の開始時刻、 @endOffset 属性は期間の終了時刻です。どちらもタイプ ですxs:duration。

<cpix:ContentKeyPeriodList>
	<cpix:ContentKeyPeriod id="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f" index="1" start="2026-01-01T00:00:00Z" end="2026-01-01T00:00:06Z" />
</cpix:ContentKeyPeriodList>
SPEKE でサポートされる要素 必須属性 オプションの属性 必須の子要素 オプションの子要素

<cpix:ContentKeyPeriodList>

-

id

少なくとも 1 つの <cpix:ContentKeyPeriod>

-

<cpix:ContentKeyPeriod>

id、index

start、end、startOffset、endOffset

-

-

暗号化期間を使用する場合は、次のセクションに示すように、暗号化キーを CPIX ドキュメントの暗号化期間の 1 つにアタッチする必要があります。

<cpix:ContentKeyUsageRuleList> セクション

これは、ライブストリーミングと VOD ストリーミングの両方に関連する必須セクションであり、暗号化期間にわたってストリームセット内でさまざまなコンテンツキーがトラックを保護する方法を定義します。

<cpix:ContentKeyUsageRuleList> 要素には、1 つ以上の <cpix:ContentKeyUsageRule> 子要素を含めることができます。それぞれの子要素は、特定の暗号化期間中に、指定されたコンテンツキーがエンクリプタによって適用される可能性のあるトラックについて記述します。<cpix:ContentKeyUsageRule> 要素には、1 つ以上の <cpix:AudioFilter> 要素または 1 つの <cpix:VideoFilter> 要素が存在する必要があります。

次の例は、特定の暗号化期間中にすべてのオーディオトラックとビデオトラックに 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>

kid、intendedTrackType

-

少なくとも 1 つの <cpix:AudioFilter> または 1 つの <cpix:VideoFilter> (*)

<cpix:KeyPeriodFilter>

<cpix:KeyPeriodFilter>

periodId

-

-

-

<cpix:AudioFilter>

-

minChannels、maxChannels

-

-

<cpix:VideoFilter>

-

minPixels、maxPixels、hdr、minFps、maxFps

-

-

(*) ストリームセット内の 1 つまたは複数のトラックを保護するために単一または複数のコンテンツキーを使用する方法の詳細については、暗号化契約のドキュメントセクションを参照してください。_