Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
SPEKEAPIv2 — Standard-Payload-Komponenten
Mit einer einzigen SPEKE Anfrage kann der Verschlüsseler mehrere Inhaltsschlüssel zusammen mit der erforderlichen Manifestsignalisierung für mehrere Verpackungsformate anfordern, je nach dem Verschlüsselungsvertrag, der für einen bestimmten Inhalt definiert ist.
Um all diese Aspekte abzudecken, besteht ein CPIX Standarddokument aus drei obligatorischen Listenabschnitten sowie einem optionalen Listenabschnitt für die Schlüsselrotation bei Live-Inhalten.
<cpix: ContentKeyList > Abschnitt und oberste Ebene <cpix : >Element CPIX
Dies ist ein obligatorischer Abschnitt, der sowohl für Live als auch für VOD Streaming relevant ist und die verschiedenen Inhaltsschlüssel definiert, die vom Verschlüsseler verwendet werden müssen. Das <cpix:ContentKeyList>
Element kann ein oder mehrere <cpix:ContentKey>
untergeordnete Elemente enthalten, von denen jedes einen eigenen Inhaltsschlüssel beschreibt.
Gemäß der CPIX Spezifikation sind die möglichen Werte des ContentKey@commonEncryptionScheme
Attributs in der Spezifikation Common Encryption in ISO Base Media File Format (ISO/IEC23001-7:2016) definiert:
-
'cenc': CTR Modus zur Verschlüsselung von Vollproben und AES Video-Subsamples NAL
-
'cbc1': AES - CBC Modus zur Verschlüsselung von vollständigen Samples und Video-Subsamples NAL
-
'cens': AES Modus zur teilweisen Verschlüsselung von Videomustern CTR NAL
-
'cbcs': CBC Modus zur teilweisen Verschlüsselung von AES Videomustern NAL
Das folgende Beispiel zeigt ein CPIX Dokument mit einem einzigen, unverschlüsselten Inhaltsschlüssel:
<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>
Standardmäßig sind Inhaltsschlüssel nicht verschlüsselt, wie im Beispiel unten. Die Verschlüsselung von Inhaltsschlüsseln kann jedoch vom Verschlüsseler mithilfe des Elements <cpix : >angefordert werden. DeliveryDataList Weitere Informationen finden Sie im Abschnitt Verschlüsselung von Inhaltsschlüsseln.
Element unterstützt von SPEKE | Obligatorische Attribute | Optionale Attribute | Obligatorische untergeordnete Elemente | Optionale untergeordnete Elemente |
---|---|---|---|---|
<cpix : >CPIX |
contentId, Version, xmlns:cpix, xmlns:pskc |
name, xmlns:enc |
eins <cpix: ContentKeyList >, eins<cpix : >, eins <cpix : >DRMSystemListContentKeyUsageRuleList |
ein<cpix : >, eins <cpix : >DeliveryDataListContentKeyPeriodList |
<cpixContentKeyList: > |
- |
id |
mindestens ein <cpix : >ContentKey |
- |
<cpix : >ContentKey |
Kind, Data commonEncryptionScheme |
id, Algorithmus, explizite IV |
eins <pskc:Secret> |
- |
<pskc:Secret> |
PlainValue oder EncryptedValue |
Wert MAC |
- |
<enc: EncryptionMethod >, <enc : >CipherData |
<cpix : >Abschnitt DRMSystemList
Dies ist ein obligatorischer Abschnitt, der sowohl für Live als auch für VOD Streaming relevant ist und in dem die verschiedenen DRM Systeme definiert werden, die zusammen mit den Inhaltsschlüsseln genutzt werden müssen.
Das folgende Beispiel zeigt eine DRM Systemliste mit einer einzigen PlayReady DRM Systemspezifikation:
<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>
Eine vollständige Liste von DRM systemIDs finden Sie im Abschnitt Inhaltsschutz
Element unterstützt von SPEKE | Obligatorische Attribute | Optionale Attribute | Obligatorische untergeordnete Elemente | Optionale untergeordnete Elemente |
---|---|---|---|---|
<cpix : >DRMSystemList |
- |
id |
mindestens ein <cpix : >DRMSystem |
- |
<cpix : >DRMSystem |
Kind, systemId |
ID, Name, PSSH |
- |
ContentProtectionData, SmoothStreamingProtectionHeaderData, zwei <cpix: HLSSignalingData > -Elemente mit unterschiedlichen Playlist-Attributwerten |
DRMSystem@PSSH
ist obligatorisch, wenn ISO die BMFF Kapselung auf Mediensegmente angewendet wird. DRMSystem.ContentProtectionData
Das innere XML <pssh>
Element wird vom Verschlüsseler nur für offensichtliche Signalzwecke genutzt.
Wenn vorhanden DRMSystem@PSSH
ist und ein inneres XML <pssh>
Element DRMSystem.ContentProtectionData
enthält, müssen beide Werte identisch sein.
Wenn die DRMSystem
Signalisierung in HLS Manifesten erfolgen soll, müssen sowohl das A <cpix:HLSSignalingData playlist="media">
- als auch das <cpix:HLSSignalingData playlist="master">
A-Element in der CPIX Anfrage und Antwort enthalten sein.
<cpix : >Abschnitt ContentKeyPeriodList
Dies ist ein optionaler Abschnitt, der nur für Live-Streaming relevant ist und die Krypto-Perioden definiert, die auf den Inhalt angewendet werden.
Das <cpix:ContentKeyPeriodList>
Element kann ein oder mehrere <cpix:ContentKeyPeriod>
untergeordnete Elemente enthalten, von denen jedes eine bestimmte Krypto-Periode in der Live-Timeline beschreibt. Die Verwendung UUIDs als Teil des Werts des ID-Attributs ist ein häufig verwendeter Ansatz.
<cpix:ContentKeyPeriodList> <cpix:ContentKeyPeriod id="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f" index="1" /> </cpix:ContentKeyPeriodList>
Element unterstützt von SPEKE | Obligatorische Attribute | Optionale Attribute | Obligatorische untergeordnete Elemente | Optionale untergeordnete Elemente |
---|---|---|---|---|
<cpix : >ContentKeyPeriodList |
- |
id |
mindestens ein <cpix : >ContentKeyPeriod |
- |
<cpix : >ContentKeyPeriod |
ID, Index |
- |
- |
- |
Wenn Kryptoperioden verwendet werden, müssen die Verschlüsselungsschlüssel auch an eine der Kryptoperioden im CPIX Dokument angehängt werden, wie im folgenden Abschnitt gezeigt.
<cpix : >Abschnitt ContentKeyUsageRuleList
Dies ist ein obligatorischer Abschnitt, der sowohl für Live als auch für VOD Streaming relevant ist und definiert, wie die verschiedenen Inhaltsschlüssel Tracks innerhalb des Streamsets und während der Krypto-Perioden schützen.
Das <cpix: ContentKeyUsageRuleList > -Element kann ein oder mehrere untergeordnete <cpix: ContentKeyUsageRule > -Elemente enthalten, von denen jedes die Spuren beschreibt, auf die der Verschlüsseler einen bestimmten Inhaltsschlüssel angewendet hat, möglicherweise während einer bestimmten Kryptoperiode. In einem <cpix: AudioFilter > -Element muss mindestens ein <cpix : >- oder ein <cpix: VideoFilter > -Element vorhanden sein. ContentKeyUsageRule
Das folgende Beispiel zeigt eine einfache Liste mit nur einer Regel, die einen einzigen Inhaltsschlüssel auf alle Audio- und Videotracks während einer bestimmten Kryptoperiode anwendet.
<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>
Element unterstützt von SPEKE | Obligatorische Attribute | Optionale Attribute | Obligatorische untergeordnete Elemente | Optionale untergeordnete Elemente |
---|---|---|---|---|
<cpix : >ContentKeyUsageRuleList |
- |
id |
mindestens ein <cpix : >ContentKeyUsageRule |
- |
<cpix : >ContentKeyUsageRule |
Kind, intendedTrackType |
- |
mindestens ein <cpix: AudioFilter > oder ein <cpix : >(*) VideoFilter |
<cpix : >KeyPeriodFilter |
<cpix : >KeyPeriodFilter |
periodId |
- |
- |
- |
<cpix : >AudioFilter |
- |
minChannels, maxChannels |
- |
- |
<cpix : >VideoFilter |
- |
minPixels,, hdrmaxPixels, minFps maxFps |
- |
- |
(*) Eine ausführliche Erklärung zur Verwendung einzelner oder mehrerer Inhaltsschlüssel zum Schutz eines oder mehrerer Tracks in einem Streamset finden Sie in der Dokumentation zum Verschlüsselungsvertrag. _