As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
SPEKEAPIv2 - Componentes de carga útil padrão
Por meio de uma única SPEKE solicitação, o criptografador pode solicitar várias chaves de conteúdo, juntamente com a sinalização de manifesto necessária para vários formatos de embalagem, de acordo com o contrato de criptografia definido para um determinado conteúdo.
Para cobrir todos esses aspectos, um CPIX documento padrão é composto por três seções de lista obrigatórias, além de uma seção de lista opcional para rotação de chaves de conteúdo ao vivo.
<cpix: ContentKeyList > seção e nível superior <cpix : >elemento CPIX
Essa é uma seção obrigatória, relevante tanto para transmissão ao vivo quanto para VOD streaming, que define as diferentes chaves de conteúdo que precisam ser usadas pelo criptografador. O elemento <cpix:ContentKeyList>
pode conter um ou vários elementos <cpix:ContentKey>
secundários, cada um deles descrevendo uma chave de conteúdo distinta.
De acordo com a CPIX especificação, os valores possíveis do ContentKey@commonEncryptionScheme
atributo são definidos na especificação Criptografia comum em arquivos de formato de arquivo de mídia ISO base (ISO/IEC23001-7:2016):
-
'cenc': AES - CTR modo de amostra completa e criptografia de subamostra de vídeo NAL
-
'cbc1': AES - CBC modo de amostra completa e criptografia de subamostra de vídeo NAL
-
'cens': AES - CTR modo de criptografia parcial de padrões de vídeo NAL
-
'cbcs': AES - CBC modo de criptografia parcial de padrões de vídeo NAL
O exemplo a seguir mostra um CPIX documento com uma única chave de conteúdo não criptografada:
<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>
Por padrão, as chaves de conteúdo não são criptografadas, como no exemplo abaixo. Mas a criptografia das chaves de conteúdo pode ser solicitada pelo criptografador por meio da inclusão do elemento<cpix : >. DeliveryDataList Consulte a seção Criptografia de chave de conteúdo para obter mais detalhes.
Elemento suportado por SPEKE | Atributos obrigatórios | Atributos opcionais | Elementos secundários obrigatórios | Elementos secundários opcionais |
---|---|---|---|---|
<clix : >CPIX |
contentId, versão, xmlns: cpix, xmlns: pskc |
name, xmlns:enc |
um <cpix: ContentKeyList >, um<cpix : >, um <cpix: DRMSystemList > ContentKeyUsageRuleList |
um <cpix: DeliveryDataList >, um <cpix : >ContentKeyPeriodList |
<clix : >ContentKeyList |
- |
id |
pelo menos um <cpix : >ContentKey |
- |
<clix : >ContentKey |
criança commonEncryptionScheme, Dados |
id, Algorithm, explicitIV |
um <pskc:Secret> |
- |
<pskc:Secret> |
PlainValue ou EncryptedValue |
Valor MAC |
- |
<enc: EncryptionMethod >, <enc : >CipherData |
<cpix : >seção DRMSystemList
Esta é uma seção obrigatória, relevante tanto para transmissão ao vivo quanto para VOD streaming, que define os diferentes DRM sistemas que precisam ser aproveitados junto com as chaves de conteúdo.
O exemplo a seguir mostra uma lista de DRM sistemas com uma única especificação de PlayReady DRM sistema:
<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 obter uma lista completa de DRMsystemIDs, consulte a seção Proteção de conteúdo do repositório
Elemento suportado por SPEKE | Atributos obrigatórios | Atributos opcionais | Elementos secundários obrigatórios | Elementos secundários opcionais |
---|---|---|---|---|
<clix : >DRMSystemList |
- |
id |
pelo menos um <cpix : >DRMSystem |
- |
<clix : >DRMSystem |
criança, systemId |
identificação, nome, PSSH |
- |
ContentProtectionData, SmoothStreamingProtectionHeaderData, dois elementos <cpix: HLSSignalingData > com valor de atributo de playlist diferente |
DRMSystem@PSSH
é obrigatório se ISO - o BMFF encapsulamento for aplicado a segmentos de mídia. DRMSystem.ContentProtectionData
o XML <pssh>
elemento interno é utilizado pelo criptografador somente para fins de sinalização de manifesto.
Se DRMSystem@PSSH
estiver presente e DRMSystem.ContentProtectionData
contiver um XML <pssh>
elemento interno, ambos os valores devem ser idênticos.
Se a DRMSystem
sinalização deve ser veiculada em HLS manifestos, os <cpix:HLSSignalingData playlist="master">
elementos a <cpix:HLSSignalingData playlist="media">
e a devem ser incluídos na CPIX solicitação e na resposta.
<cpix : >seção ContentKeyPeriodList
Essa é uma seção opcional, relevante somente para transmissão em tempo real, que define os períodos criptográficos aplicados ao conteúdo.
O elemento <cpix:ContentKeyPeriodList>
pode conter um ou vários elementos <cpix:ContentKeyPeriod>
secundários, cada um deles descrevendo uma chave de conteúdo distinta. Usar UUIDs como parte do valor do atributo id é uma abordagem comumente usada.
<cpix:ContentKeyPeriodList> <cpix:ContentKeyPeriod id="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f" index="1" /> </cpix:ContentKeyPeriodList>
Elemento suportado por SPEKE | Atributos obrigatórios | Atributos opcionais | Elementos secundários obrigatórios | Elementos secundários opcionais |
---|---|---|---|---|
<clix : >ContentKeyPeriodList |
- |
id |
pelo menos um <cpix : >ContentKeyPeriod |
- |
<clix : >ContentKeyPeriod |
id, index |
- |
- |
- |
Se forem usados períodos criptográficos, as chaves de criptografia também precisarão ser anexadas a um dos períodos criptográficos no CPIX documento, conforme mostrado na seção abaixo.
<cpix : >seção ContentKeyUsageRuleList
Esta é uma seção obrigatória, relevante tanto para transmissão ao vivo quanto para VOD streaming, que define como as diferentes chaves de conteúdo protegerão as faixas dentro do streamset e durante os períodos criptográficos.
O elemento <cpix: ContentKeyUsageRuleList > pode conter um ou vários elementos secundários <cpix: ContentKeyUsageRule >, cada um deles descrevendo as faixas às quais uma determinada chave de conteúdo é aplicada pelo criptografador, potencialmente durante um período criptográfico específico. É necessário que pelo menos um elemento <cpix: AudioFilter > ou um <cpix: VideoFilter > esteja presente em um elemento<cpix : >. ContentKeyUsageRule
O exemplo a seguir mostra uma lista simples com apenas uma regra aplicando uma única chave de conteúdo a todas as faixas de áudio e vídeo durante um período criptográfico 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 suportado por SPEKE | Atributos obrigatórios | Atributos opcionais | Elementos secundários obrigatórios | Elementos secundários opcionais |
---|---|---|---|---|
<clix : >ContentKeyUsageRuleList |
- |
id |
pelo menos um <cpix : >ContentKeyUsageRule |
- |
<clix : >ContentKeyUsageRule |
criança, intendedTrackType |
- |
pelo menos um <cpix: AudioFilter > ou um <cpix : >(*) VideoFilter |
<clix : >KeyPeriodFilter |
<clix : >KeyPeriodFilter |
periodId |
- |
- |
- |
<clix : >AudioFilter |
- |
minChannels, maxChannels |
- |
- |
<clix : >VideoFilter |
- |
minPixels,maxPixels, hdr, minFps maxFps |
- |
- |
(*) Para obter uma explicação detalhada sobre o uso de uma ou várias chaves de conteúdo para proteger uma ou várias faixas em um streamset, consulte a seção Documentação do Contrato de Criptografia.