Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
SPEKE API v2.1 - Komponen muatan standar
Melalui permintaan SPEKE tunggal, enkripsi dapat meminta beberapa kunci konten, bersama dengan pensinyalan manifes yang diperlukan untuk beberapa format pengemasan, sesuai dengan kontrak enkripsi yang ditentukan oleh enkripsi untuk konten.
Untuk mencakup semua aspek ini, dokumen CPIX standar berisi tiga bagian daftar wajib dan bagian daftar opsional untuk rotasi kunci konten langsung.
<cpix: ContentKeyList > bagian dan tingkat atas CPIX: elemen < C > PIX
Ini adalah bagian wajib, relevan untuk streaming Langsung dan VOD, mendefinisikan kunci konten berbeda yang perlu digunakan oleh enkripsi. <cpix:ContentKeyList>Elemen dapat berisi satu atau beberapa elemen <cpix:ContentKey> anak, masing-masing menggambarkan kunci konten yang berbeda.
Menurut spesifikasi CPIX 2.4, nilai ContentKey@commonEncryptionScheme atribut harus berupa nama skema perlindungan Enkripsi Umum 4 karakter seperti yang didefinisikan dalam ISO/IEC 23001-7:2016, atau salah satu metode enkripsi yang didefinisikan dalam spesifikasi HTTP Live Streaming (HLS). Nama skema perlindungan Enkripsi Umum 4 karakter adalah:
-
'cenc': AES-CTR mode sampel lengkap dan enkripsi Subsampel NAL video
-
'cbc1': AES-CBC mode sampel penuh dan enkripsi Subsampel NAL video
-
'cens': AES-CTR mode enkripsi pola NAL video parSIAL
-
'cbcs': AES-CBC mode enkripsi pola NAL video parSIAL
Contoh berikut menunjukkan dokumen CPIX dengan kunci konten tunggal yang tidak dienkripsi:
<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>
Secara default, kunci konten tidak dienkripsi, seperti pada contoh sebelumnya. Tetapi enkripsi dapat meminta enkripsi kunci konten dengan memasukkan elemen<cpix : >. DeliveryDataList Untuk informasi selengkapnya, lihat Enkripsi kunci konten.
| Elemen didukung oleh SPEKE | Atribut wajib | Atribut opsional | Elemen anak wajib | Elemen anak opsional |
|---|---|---|---|---|
|
<cpix:CPIX> |
ContentID, versi, xmlns: cpix, xmlns: pskc |
nama, xmlns:enc |
satu <cpix: ContentKeyList >, satu<cpix : >, satu <cpix: DRMSystemList > ContentKeyUsageRuleList |
satu <cpix: DeliveryDataList >, satu <cpix : >ContentKeyPeriodList |
|
<cpix : >ContentKeyList |
- |
id |
setidaknya satu <cpix : >ContentKey |
- |
|
<cpix : >ContentKey |
anak kecil, biasa EncryptionScheme |
id, Algoritma, explicitiv |
satu <cpix:Data>(berisi satu<pskc:Secret>) |
HDCPData |
|
<pskc:Secret> |
- |
- |
PlainValue atau EncryptedValue |
nilaiMac, <enc: EncryptionMethod >, <enc : >CipherData |
|
<cpix:HDCPData> |
- |
HLSHDCPlevel |
- |
HDCPOutputProtectionData |
<cpix: bagian DRMSystemList >
Ini adalah bagian wajib, relevan untuk streaming Langsung dan VOD, mendefinisikan sistem DRM yang berbeda yang perlu dimanfaatkan bersama dengan kunci konten.
Contoh berikut menunjukkan daftar sistem DRM dengan spesifikasi sistem PlayReady DRM tunggal:
<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>
Untuk daftar lengkap DRM SystemID, lihat bagian Perlindungan Kon ten
| Elemen didukung oleh SPEKE | Atribut wajib | Atribut opsional | Elemen anak wajib | Elemen anak opsional |
|---|---|---|---|---|
|
<cpix : >DRMSystemList |
- |
id |
setidaknya satu <cpix:DRMSystem> |
- |
|
<cpix:DRMSystem> |
anak, SystemID |
id, nama, PSSH, hlsAllowedCpc |
- |
ContentProtectionData, SmoothStreamingProtectionHeaderData, dua elemen <cpix: HLSSignalingData > dengan nilai atribut daftar putar yang berbeda |
|
<cpix : >ContentProtectionData |
- |
kekokohan |
- |
- |
DRMSystem@PSSHwajib jika ISO-BMFF enkapsulasi diterapkan pada segmen media. Enkripsi menggunakan <pssh> elemen DRMSystem.ContentProtectionData innerXML hanya untuk tujuan pensinyalan manifes.
Jika DRMSystem@PSSH ada dan DRMSystem.ContentProtectionData berisi <pssh> elemen innerXML, kedua nilai harus identik.
Untuk membawa DRMSystem pensinyalan dalam manifes HLS, sertakan <cpix:HLSSignalingData playlist="media"> elemen dan <cpix:HLSSignalingData playlist="master"> elemen dalam permintaan dan respons CPIX.
SPEKE v2.1 dapat menandakan ketahanan DRM yang diharapkan atau tingkat perlindungan konten untuk setiap sistem DRM. DASH dan HLS mengungkapkan hal ini melalui atribut yang berbeda, dijelaskan dalam paragraf berikut.
Di SPEKE v2.1, <cpix:ContentProtectionData> elemen mendukung atribut opsional@robustness. Nilai atribut ini spesifik DRM dan mengumumkan tingkat ketahanan yang diharapkan dari sistem DRM untuk representasi yang dienkripsi oleh kunci konten yang direferensikan. Enkripsi menggunakan nilai ini sebagai @robustness atribut ContentProtection elemen dalam manifes DASH untuk sistem DRM ini.
Di SPEKE v2.1, <cpix:DRMSystem> elemen mendukung atribut opsional@HLSAllowedCPC. Untuk DRM yang diidentifikasi oleh @systemId nilai, atribut ini menentukan nilai yang akan ditambahkan dalam ALLOWED-CPC atribut EXT-X-STREAM-INF tag di daftar putar multivarian HLS. A ALLOWED-CPC tribut mengumumkan konfigurasi perlindungan konten (CPC) yang didukung sistem DRM untuk kunci konten terkait. Atribut ini memiliki arti hanya ketika daftar putar HLS dibuat untuk konten media.
<cpix: bagian ContentKeyPeriodList >
Ini adalah bagian opsional, relevan untuk streaming Langsung dan VOD, menentukan periode kripto yang diterapkan pada konten.
<cpix:ContentKeyPeriodList>Elemen dapat berisi satu atau beberapa elemen <cpix:ContentKeyPeriod> anak, masing-masing menggambarkan periode kripto yang berbeda dalam timeline langsung. Menggunakan UUID sebagai bagian dari nilai atribut id adalah pendekatan yang umum digunakan.
Di SPEKE v2.1, enkripsi dapat memberi sinyal interval waktu yang ditutupi<cpix:ContentKeyPeriod>, selain: @index
-
Untuk konten Live,
@startatributnya adalah waktu jam dinding untuk awal periode, dan@endatributnya adalah waktu jam dinding untuk akhir periode. Keduanya tipexs:dateTime. -
Untuk konten VOD,
@startOffsetatribut adalah waktu mulai untuk periode, dan@endOffsetatribut adalah waktu akhir untuk periode tersebut. Keduanya tipexs: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>
| Elemen didukung oleh SPEKE | Atribut wajib | Atribut opsional | Elemen anak wajib | Elemen anak opsional |
|---|---|---|---|---|
|
<cpix : >ContentKeyPeriodList |
- |
id |
setidaknya satu <cpix : >ContentKeyPeriod |
- |
|
<cpix : >ContentKeyPeriod |
id, indeks |
mulai, akhir, mulaiOffset, Endoffset |
- |
- |
Jika periode kripto digunakan, kunci enkripsi juga perlu dilampirkan ke salah satu periode kripto dalam dokumen CPIX, seperti yang ditunjukkan pada bagian berikut.
<cpix: bagian ContentKeyUsageRuleList >
Ini adalah bagian wajib, relevan untuk streaming Langsung dan VOD, menentukan bagaimana kunci konten yang berbeda akan melindungi trek di dalam streamset dan di seluruh periode kripto.
Elemen <cpix: ContentKeyUsageRuleList > dapat berisi satu atau beberapa elemen anak <cpix: ContentKeyUsageRule >, masing-masing menggambarkan trek di mana kunci konten tertentu diterapkan oleh enkripsi, berpotensi selama periode kripto tertentu. Setidaknya satu <cpix: AudioFilter > atau satu elemen <cpix: VideoFilter > diperlukan untuk hadir dalam elemen<cpix : >. ContentKeyUsageRule
Contoh berikut menunjukkan daftar sederhana dengan hanya satu aturan yang menerapkan kunci konten tunggal ke semua trek audio dan video selama periode kripto tertentu.
<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>
| Elemen didukung oleh SPEKE | Atribut wajib | Atribut opsional | Elemen anak wajib | Elemen anak opsional |
|---|---|---|---|---|
|
<cpix : >ContentKeyUsageRuleList |
- |
id |
setidaknya satu <cpix : >ContentKeyUsageRule |
- |
|
<cpix : >ContentKeyUsageRule |
anak kecil, dimaksudkan TrackType |
- |
setidaknya satu <cpix: AudioFilter > atau satu <cpix: VideoFilter > (*) |
<cpix : >KeyPeriodFilter |
|
<cpix : >KeyPeriodFilter |
PeriodID |
- |
- |
- |
|
<cpix : >AudioFilter |
- |
MinChannels, MaxChannels |
- |
- |
|
<cpix : >VideoFilter |
- |
minPixels, maxPixels, hdr, minfps, maxFPS |
- |
- |
(*) Untuk penjelasan rinci tentang penggunaan kunci konten tunggal atau beberapa untuk melindungi satu atau beberapa trek dalam streamset, lihat bagian dokumentasi Kontr ak Enkripsi. _