Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
SPEKE API v2.1: componentes de carga estándar
Mediante una única solicitud de SPEKE, el cifrador puede solicitar varias claves de contenido, junto con la señalización de manifiesto necesaria para varios formatos de empaquetado, de acuerdo con el contrato de cifrado que el cifrador defina para el contenido.
Para cubrir todos estos aspectos, un documento CPIX estándar contiene tres secciones de lista obligatorias y una sección de lista opcional para la rotación de claves de contenido en vivo.
<cpix: ContentKeyList > sección y elemento cpix:cpix de nivel superior < >
Se trata de una sección obligatoria, relevante tanto para la transmisión en directo como para la de vídeo bajo demanda, en la que se definen las diferentes claves de contenido que debe utilizar el encriptador. El elemento <cpix:ContentKeyList> puede contener uno o varios elementos secundarios <cpix:ContentKey>, cada uno de los cuales describe una clave de contenido distinta.
Según la especificación CPIX 2.4, el valor del ContentKey@commonEncryptionScheme atributo debe ser el nombre de un esquema de protección de cifrado común de 4 caracteres, tal como se define en el artículo ISO/IEC 23001-7:2016, o uno de los métodos de cifrado definidos en la especificación HTTP Live Streaming (HLS). Los nombres del esquema de protección de cifrado común de 4 caracteres son:
-
«cenc»: AES-CTR modo de cifrado completo de muestras y submuestras de vídeo (NAL)
-
'cbc1': cifrado de submuestra NAL en AES-CBC modo de muestra completa y submuestra de vídeo
-
'cens': modo: AES-CTR cifrado de patrón NAL de vídeo parcial
-
'cbcs': cifrado de patrón NAL de vídeo parcial en AES-CBC modo modo
El siguiente ejemplo muestra un documento CPIX con una única clave de contenido no cifrada:
<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>
De forma predeterminada, las claves de contenido no están cifradas, como en el ejemplo anterior. Sin embargo, el cifrador puede solicitar el cifrado de la clave de contenido si incluye el elemento<cpix : >. DeliveryDataList Para obtener más información, consulte Cifrado de claves de contenido.
| Elemento compatible con SPEKE | Atributos obligatorios | Atributos opcionales | Elementos secundarios obligatorios | Elementos secundarios opcionales |
|---|---|---|---|---|
|
<cpix:CPIX> |
ID de contenido, versión, xmlns:cpix, xmlns:pskc |
nombre, xmlns:enc |
uno <cpix: ContentKeyList >, uno<cpix : >, uno <cpix: DRMSystemList > ContentKeyUsageRuleList |
uno<cpix : >, uno <cpix : >DeliveryDataListContentKeyPeriodList |
|
<cpixContentKeyList: > |
- |
id |
al menos un <cpix : >ContentKey |
- |
|
<cpix : >ContentKey |
niño, común EncryptionScheme |
id, algoritmo, ExpliciTiv |
uno <cpix:Data>(que contiene uno<pskc:Secret>) |
Datos HDCP |
|
<pskc:Secret> |
- |
- |
PlainValue o bien EncryptedValue |
ValueMac,<enc : >, <enc : >EncryptionMethodCipherData |
|
<cpix:HDCPData> |
- |
Nivel HLSHDCP |
- |
HDCPOutputProtectionData |
<cpix: sección DRMSystemList >
Esta es una sección obligatoria, relevante tanto para la transmisión en vivo como para la transmisión bajo demanda, que define los diferentes sistemas DRM que deben aprovecharse junto con las claves de contenido.
El siguiente ejemplo muestra una lista de sistemas DRM con una sola especificación de sistema 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>
Para obtener una lista completa de los ID del sistema DRM, consulte la sección Protección de
| Elemento compatible con SPEKE | Atributos obligatorios | Atributos opcionales | Elementos secundarios obligatorios | Elementos secundarios opcionales |
|---|---|---|---|---|
|
DRMSystemList<cpix : > |
- |
id |
al menos un <cpix:DRMSystem> |
- |
|
<cpix:DRMSystem> |
kid, SystemID |
id, nombre, PSSH, HLsAllowedCPC |
- |
ContentProtectionData, SmoothStreamingProtectionHeaderData, dos elementos <cpix : >con un valor de atributo de lista de reproducción diferente HLSSignalingData |
|
<cpix : >ContentProtectionData |
- |
robustez |
- |
- |
DRMSystem@PSSHes obligatorio si la ISO-BMFF encapsulación se aplica a los segmentos multimedia. El cifrador utiliza el <pssh> elemento DRMSystem.ContentProtectionData innerXML únicamente con fines de señalización de manifiestos.
Si DRMSystem@PSSH está presente y DRMSystem.ContentProtectionData contiene un <pssh> elemento innerXML, ambos valores serán idénticos.
Para incluir la DRMSystem señalización en los manifiestos de HLS, incluya tanto un <cpix:HLSSignalingData playlist="media"> elemento como un <cpix:HLSSignalingData playlist="master"> elemento en la solicitud y la respuesta del CPIX.
La versión 2.1 de SPEKE puede indicar la solidez o el nivel de protección del contenido de DRM esperados para cada sistema DRM. DASH y HLS expresan esto a través de diferentes atributos, que se describen en los párrafos siguientes.
En SPEKE v2.1, el <cpix:ContentProtectionData> elemento admite un atributo opcional. @robustness El valor de este atributo es específico del DRM y anuncia el nivel de solidez que se espera del sistema DRM para las representaciones cifradas con la clave de contenido a la que se hace referencia. El cifrador usa este valor como @robustness atributo del ContentProtection elemento en el manifiesto DASH para este sistema DRM.
En SPEKE v2.1, el <cpix:DRMSystem> elemento admite un atributo opcional. @HLSAllowedCPC Para el DRM identificado por el @systemId valor, este atributo especifica el valor que se debe agregar al atributo de la EXT-X-STREAM-INF etiqueta en la ALLOWED-CPC lista de reproducción multivariante de HLS. El ALLOWED-CPC atributo anuncia la configuración de protección de contenido (CPC) que admite el sistema DRM para la clave de contenido asociada. Este atributo solo tiene sentido cuando se crea una lista de reproducción HLS para el contenido multimedia.
<cpix: sección ContentKeyPeriodList >
Se trata de una sección opcional, relevante tanto para la transmisión en directo como en VOD, en la que se definen los periodos criptográficos aplicados al contenido.
El elemento <cpix:ContentKeyPeriodList> puede contener uno o varios elementos secundarios <cpix:ContentKeyPeriod>, cada uno de los cuales describe un periodo de cifrado distinto en la cronología en directo. El uso de los UUID como parte del valor del atributo id es un enfoque de uso común.
En la versión 2.1 de SPEKE, el cifrador puede indicar el intervalo de tiempo que <cpix:ContentKeyPeriod> cubre, además de: @index
-
En el caso del contenido en directo, el
@startatributo es la hora del reloj de pared para el inicio del período y el@endatributo es la hora del reloj de pared para el final del período. Ambos son de tipoxs:dateTime. -
Para el contenido de VOD, el
@startOffsetatributo es la hora de inicio del período y el@endOffsetatributo es la hora de finalización del período. Ambos son de tipoxs: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>
| Elemento compatible con SPEKE | Atributos obligatorios | Atributos opcionales | Elementos secundarios obligatorios | Elementos secundarios opcionales |
|---|---|---|---|---|
|
<cpix : >ContentKeyPeriodList |
- |
id |
al menos un <cpix : >ContentKeyPeriod |
- |
|
<cpix : >ContentKeyPeriod |
id, índice |
inicio, fin, StartOffset, endOffset |
- |
- |
Si se utilizan períodos criptográficos, las claves de cifrado también deben adjuntarse a uno de los períodos criptográficos del documento CPIX, como se muestra en la siguiente sección.
<cpix: sección ContentKeyUsageRuleList >
Se trata de una sección obligatoria, relevante tanto para el streaming en directo como para el de vídeo bajo demanda, en la que se define cómo las diferentes claves de contenido protegerán las pistas incluidas en el streamset y en todos los períodos cifrados.
El elemento <cpix: ContentKeyUsageRuleList > puede contener uno o varios elementos secundarios de <cpix: ContentKeyUsageRule >, cada uno de los cuales describe las pistas a las que el cifrador aplica una clave de contenido determinada, posiblemente durante un período criptográfico específico. Es necesario que al menos un elemento <cpix: AudioFilter > o <cpix : >esté presente en un elemento <cpix: VideoFilter >. ContentKeyUsageRule
El siguiente ejemplo muestra una lista sencilla con una sola regla que aplica una única clave de contenido a todas las pistas de audio y vídeo durante un periodo de cifrado específico.
<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>
| Elemento compatible con SPEKE | Atributos obligatorios | Atributos opcionales | Elementos secundarios obligatorios | Elementos secundarios opcionales |
|---|---|---|---|---|
|
<cpix : >ContentKeyUsageRuleList |
- |
id |
al menos un <cpix : >ContentKeyUsageRule |
- |
|
<cpix : >ContentKeyUsageRule |
niño, pretendido TrackType |
- |
al menos un <cpix: AudioFilter > o un <cpix : >(*) VideoFilter |
<cpix : >KeyPeriodFilter |
|
<cpix : >KeyPeriodFilter |
ID de período |
- |
- |
- |
|
<cpix : >AudioFilter |
- |
minChannels, maxChannels |
- |
- |
|
<cpix : >VideoFilter |
- |
minPixels, maxPixels, hdr, minFps, maxFps |
- |
- |
(*) Para obtener una explicación detallada sobre el uso de una o varias claves de contenido para proteger una o varias pistas en un conjunto de streaming, consulta la sección de documentación del contrato de cifrado. _