Partilhar via


Documentação da Sintaxe de Sequências de Consulta

Os parâmetros são introduzidos na cadeia de consulta, separados por vírgulas e colchetes. Esta sintaxe foi introduzida em 2017 para suportar totalmente as funcionalidades do PlayReady 3:

  • Semelhante a uma sintaxe JSON (mas não é JSON verdadeiro)
  • Fácil de ler e editar
  • Não inclui personagens inseguros (como o e ampersand) e não deveria exigir escapar de nenhum deles
  • Nota: a cadeia de consulta não deve incluir quaisquer caracteres de espaço (' ')
  • Nota: caracteres '+' são aceitáveis nos argumentos codificados base64
  • Permite solicitar múltiplas licenças numa única licença e definir parâmetros para cada uma delas.
  • Exemplo: pista de vídeo encriptada com uma chave definida em SL3000, e faixa de áudio encriptada com outra chave definida em SL2000.
  • Novo formato de data-hora yyyymmdd (exemplo: 20171231) e permite horas, minutos e segundos definidos: yyymmdd[hhmmss] (exemplo: 20171231235959)

Nota: os parâmetros precisam de incluir persistir:true se quiser obter licenças persistentes.

Exemplos

LAURL (https://test.playready.microsoft.com/service/) Description
rightsmanager.asmx Devolva uma licença não persistente com um direito PLAY e um Nível de Segurança de 150 para a criança encontrada no WRMHEADER, usando a Semente da Chave de Teste
rightsmanager.asmx?cfg=(ckt:aescbc) NOVO NO PLAYREADY 4.0. Devolva uma licença não persistente com um direito PLAY para a criança encontrada no WRMHEADER, com um tipo de chave de conteúdo definido para encriptação AESCBC (em oposição a AESCTR)
rightsmanager.asmx?cfg=(begindate:20170101,expiration:20170101010000) Devolva uma licença não persistente com direito PLAY para a criança encontrada no WRMHEADER, usando a Seed de Chave de Teste, com data de início a 1 de janeiro de 2017 às 0:00 e expiração fixa a 1 de janeiro de 2017 às 1:00 da manhã
rightsmanager.asmx?cfg=(persist:true,begindate:20170101,expiration:20170201,firstexp:60) Devolva uma licença persistente com datas fixas de início e fim, e uma expiração relativa de 60 segundos após a primeira jogada. Nota: tem de indicar explicitamente persistir:true para receber licenças persistentes.
rightsmanager.asmx?cfg=(kid:B6E39626-1CFB-4AA1-BCBD-4EF1ABA7843A,sl:3000),(kid:7C9484BA-C238-467A-869C-CDD8C7167712,sl:2000) Devolva duas licenças não persistentes com direitos PLAY, uma com Nível de Segurança de 3000 e outra com Nível de Segurança de 2000. Nota: estes dois KIDs devem corresponder aos KIDs do WRMHEADER

Parâmetros

Parâmetro Meaning Valores Comentários, Exemplos, Valor Padrão
SL Defina o Nível Mínimo de Segurança para uma licença 150, 2000, 3000 Exemplo: sl:3000
O valor padrão é 150.
Nota: a tecla de vídeo pode estar definida para sl:3000, mas, em geral, os clientes só suportam que as teclas de áudio estejam definidas para o máximo sl:2000
keyseed Use a chave seed fornecida para gerar a chave de conteúdo nas licenças Array de bytes base64 Exemplo: keyseed:Wdkg2jsl3djgqSFer26XVBoVVRPzVEggUOSKSQaz
O valor padrão é a Semente da Chave de Teste aqui fornecida
criança Usado num grupo de propriedades para associar estas propriedades a um KID 'cabeçalho', ou Guid em formato de registo ou string base64 Exemplo 1: criança:cabeçalho
Exemplo 2: criança: e13a7861-d8cc-4284-9245-7c835ebde9f0
Exemplo 3: kid:YXg64czYhEKSRXyDXr3p8A==
No caso do kid:header, o servidor de licenças usa o KID encontrado no WRMHEADER que acompanha o pedido de licença. Neste caso, o WRMHEADER tem de incluir apenas um KID
contentkey Definir a chave de conteúdo Array de bytes base64 Exemplo: contentkey:eNqVnXrElmo2NSsn7IXeEA==
O valor padrão é key(TestKeySeed, miúdo)
CKT Especifica o Tipo de Encriptação da Chave de Conteúdo (CTR ou CBC) aesctr, aescbc Exemplo: ckt:aescbc
O valor padrão é aesctr
A licença incluirá um conjunto de chaves de conteúdo para encriptação AESCBC
NOVIDADE NO PLAYREADY 4.0
TID Defina um TransactionId na resposta à licença guid (arbitrário) Exemplo: tid:3033E8F0-FB1B-4170-AD5C-60549AAB2C79
Adiciona o valor fornecido à propriedade LicenseResponse.TransactionId, que exigirá que o cliente publique um desafio de reconhecimento de licença usando o identificador de transação especificado de volta ao servidor de licenças
 
Playright Adicionar uma Jogada à Direita falso, verdadeiro Exemplo: playright:true
O valor padrão é true
Nota: uma licença devolvida sem direito não permitirá ao cliente consumir o conteúdo
readright Adicionar uma leitura à direita falso, verdadeiro Exemplo: readright:true
O valor padrão é false
direito executor Adicionar um Executar à Direita falso, verdadeiro Exemplo: executeright:true
O valor padrão é false
direito estendido Adicionar um Direito Estendido Inteiro. Veja o exemplo Exemplo: (extendedright:(type:500,extended:((type:400, must understand:true,besteffort:false,data:Ah==)))
persistir Defina a licença como persistente ou não falso, verdadeiro Exemplo: persistir:true
O valor predefinido é falso.
Se a licença estiver definida como não persistente, é armazenada no cliente apenas na RAM, no contexto do leitor multimédia.
simple Use uma licença SimpleNonPersistentLicense falso, verdadeiro Exemplo: simples:verdadeiro
O valor predefinido é falso.
Utiliza uma classe específica SimpleNonPersistentLicense para emitir a resposta de licença. Esta classe era suportada em versões mais antigas do Silverlight.
 
Data de início Defina uma data e hora antes da qual a licença é desativada yyymmdd[hhmmss] (GMT) Exemplo: data de início: 20170101
A licença não permitirá a reprodução antes de 1 de janeiro de 2017, 00:00:00 GMT
Data de término ou expiração Defina uma Data e Hora após as quais a licença fica desativada yyymmdd[hhmmss] (GMT) Exemplo 1: data de término: 20170131
Exemplo 2: data de término:20170131235959 - A licença não permite a reprodução após 31 de janeiro de 2017 23:59:59 GMT
firstplayexpiration ou firstexp Defina uma expiração relativa após a primeira jogada segundos em inteiro Exemplo: firstexp:60
A licença não permite iniciar uma reprodução exatamente 60 segundos após a primeira reprodução ter sido iniciada com essa mesma licença.
Tempo real Adicionar uma restrição de validade em tempo real falso, verdadeiro Exemplo: tempo real:verdadeiro
O valor padrão é false
Se esta propriedade estiver definida, o cliente exige que o cliente faça cumprir expirações durante uma sessão de reprodução em tempo real.
Nota: isto é suportado apenas por clientes PlayReady 3
Data de remoção Defina uma data em que a licença pode ser eliminada no cliente (GMT) yyymmdd[hhmmss] Exemplo: data de remoção:20170228
Note que é opcional para os clientes remover licenças com base nesta propriedade. No entanto, o Windows executa este processo de remoção em cada aquisição de licença.
Consulte a documentação do Server SDK para restrições adicionais na definição desta propriedade.
 
Isroot Exige que a licença solicitada seja uma licença raiz com o KID raiz definido falso, verdadeiro Exemplo: cfg=(isroot:true,kid:3C6F3C13-6207-4916-867C-8252B3993638)
rootid Defina o KID raiz para uma licença leaf Identificador Globalmente Único (GUID) Exemplo: cfg=(rootid:3C6F3C13-6207-4916-867C-8252B3993638,kid:header),(isroot:true,kid:3C6F3C13-6207-4916-867C-8252B3993638)
 
sourceid Definir a restrição SourceID ou ID de Fonte Restrito Int Exemplo: sourceid:267
Verifique os valores permitidos na secção 6.12 dos CRs
 
CAOPL Definir uma restrição de nível de proteção para saída de áudio digital comprimido número inteiro Exemplo: caopl:200
O valor padrão é 0
Normalmente, para exigir drivers de áudio seguros para áudio comprimido.
Verifique os valores permitidos nas secções 6.7 e 3.6.2 dos CRs
Código do SDK do servidor:
right.CompressedDigitalAudioOPL = 200;
UCAOPL Defina uma restrição de Nível de Proteção de Saída de Áudio Digital Não Comprimido número inteiro Exemplo: ucaopl:300
O valor padrão é 0
Normalmente, para exigir HDCP ou DTCP para áudio não comprimido.
Verifique os valores permitidos nas secções 6.7 e 3.6.3 dos CRs
Código do SDK do servidor:
right.UncompressedDigitalAudioOPL = 300;
CVOPL Definir uma restrição de Nível de Proteção de Saída de Vídeo Digital Comprimido número inteiro Exemplo: cvopl:500
Todos os valores permitidos têm o mesmo significado: um Produto PlayReady não pode passar a parte de vídeo do Conteúdo comprimido e desencriptado para qualquer saída de vídeo.
Verifique os valores permitidos nas secções 6.7 e 3.6.4 dos CRs
Código do SDK do servidor:
right.CompressedDigitalVideoOPL = 500;
UCVOPL Definir uma restrição de Nível de Proteção de Saída de Vídeo Digital Não Comprimido número inteiro Exemplo: ucvopl:300
O valor padrão é 0
Normalmente para exigir HDCP em HDMI para vídeo não comprimido.
Verifique os valores permitidos nas secções 6.7 e 3.6.5 dos CRs
Código do SDK do servidor:
right.UncompressedDigitalVideoOPL = 300;
AVOPL Definir uma restrição de Nível de Proteção de Saída de Vídeo Analógico número inteiro Exemplo: avopl:200 para exigir CGMS-A cópia nunca
Verifique os valores permitidos nas secções 6.7 e 3.6.6 dos CRs
Código do SDK do servidor:
right.AnalogVideoOPL = 200;
dvop Adicione uma proteção explícita contra saída de vídeo digital GUID e dados opcionais codificados na string base 64 Exemplo: dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==) para exigir o Tipo HDCP 1.
Ver a secção CRs 3.6.5.7.
Código do SDK do servidor:
right.AddDigitalVideoOutputProtection(new Guid("", 1))
daop Adicionar uma proteção explícita de saída de áudio digital GUID e dados opcionais codificados na string base 64 Exemplo: daop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6,data:AAAAAQ==) para exigir SCMS.
Ver a secção CRs 3.6.3.8.
Código do SDK do servidor:
right.AddDigitalAudioOutputProtection(new Guid("{6D5CFA59-C250-4426-930E-FAC72C8FCFA6}", 1))
AVOP Adicionar uma Proteção Explícita de Saída de Vídeo Analógico GUID e dados codificados em string base 64 Exemplo: avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==) para
Verifique os valores permitidos na secção 6.5 dos CRs.
Código do SDK do servidor:
right.AddAnalogVideoOutputProtection(new Guid("{760AE755-682A-41E0-B1B3-DCDF836A7306}", 1)
 
restrições estendidas Adicione uma ou várias Restrições Estendidas à direita inteiro e propriedades, ver exemplo Exemplo: (extensedrestrictions:((type:400, must understand:true,besteffort:false,data:Ah==),(type:401, mustunderstand:true,besteffort:false,data:Ah==)))
Pressupõe-se aplicável ao direito de jogar se não houver outro direito estabelecido.
Playenablers Adicionar um ou vários Play Enablers à licença Guid ou Grupo de Guids Exemplo 1: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7) (permitir Saídas Desconhecidas).
Exemplo 2: playenables:(786627D8-C2A6-44BE-8F88-08AE255B01A7,5ABF0F0D-DC29-4B82-9982-FD8E57525BFC) (permitir Saídas Desconhecidas e AirPlay).
Veja os CRs para todos os Play Enablers.
 
 
  Os parâmetros abaixo são abreviações para certas combinações de restrições e facilitadores de jogo descritas acima
 
explicitacp Defina um controlo automático de ganho e uma restrição de faixas de cor para vídeo analógico inteiro 0,1,2,3 Exemplo: explicitacp:2
Equivalente a: avop(guid:C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA,data:AgAAAA==)
Ver as secções CRs 6.5.1 e 3.6.7.2.
Código do SDK do servidor:
right.AddAnalogVideoOutputProtection(new ExplicitOutputProtection(new Guid("C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA"), HeightBytes.Concat(WidthBytes).ToArray()))
maxres Defina uma restrição de tamanho de descodificação de resolução efetiva máxima inteiro x inteiro Exemplo: maxres: 1920x1080
Equivalente a: dvop:(guid:9645E831-E01D-4FFF-8342-0A720E3E028F,data:AAAEOAAAB4A=)
Ver as secções CRs 6.5 e 3.6.5.7.1.
Código do SDK do servidor:
right.AddDigitalVideoOutputProtection(new ExplicitOutputProtection(new Guid("9645E831-E01D-4FFF-8342-0A720E3E028F"), BitConverter.GetBytes((int)value))
allowunknownsd Adicionar um Controlo de Saída para Saída Desconhecida para resolução restrita falso, verdadeiro Exemplo: alallow unknownsd:true
Equivalente a: playenablers:(B621D91F-EDCC-4035-8D4B-DC71760D43E9)
Ver a secção CRs 3.9.2.
Código do SDK do servidor:
right.AddPlayEnabler(new PlayEnabler(new Guid("B621D91F-EDCC-4035-8D4B-DC71760D43E9")))
allowunknownhd Adicionar um controlo de saída para saída desconhecida para qualquer resolução falso, verdadeiro Exemplo: allowunknownhd:true
Equivalente a: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7)
Ver a secção CRs 3.9.1.
Código do SDK do servidor:
right.AddPlayEnabler(new PlayEnabler(new Guid("786627D8-C2A6-44BE-8F88-08AE255B01A7")))
 
CustomerInfo Recurso especial de reflexão. Consulte esta página para mais detalhes.