Compartilhar via


Testando proteções de saída

Visão geral

As proteções de saída do PlayReady garantem que o conteúdo protegido mantenha seus requisitos de segurança em diferentes tipos de saída e níveis de qualidade. Esta documentação fornece um mapeamento completo das políticas de proteção de saída definidas nas Regras de Conformidade e na sintaxe de parâmetro do servidor de teste correspondente.

Categorias de proteção de saída

Proteções de saída de áudio

Conteúdo de áudio digital compactado

Referência de conformidade: seção CRs 3.6.2

Sintaxe de parâmetro: caopl:200

Descrição: controla o nível de proteção de saída para conteúdo de áudio digital compactado, como MP3, AAC ou outros formatos de áudio compactados.

Exemplo:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(caopl:200)

Restrição explícita de saída de áudio digital

Referência de conformidade: seção CRs 3.6.2.8

Sintaxe de parâmetro: avop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6)

Descrição: fornece restrições explícitas em saídas de áudio digital usando identificadores GUID específicos.

Exemplo:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6))

Conteúdo de áudio digital descompactado

Referência de conformidade: seção CRs 3.6.3

Sintaxe de parâmetro: ucaopl:200

Descrição: controla o nível de proteção de saída para conteúdo de áudio digital descompactado, como PCM ou outros formatos de áudio não compactados.

Exemplo:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(ucaopl:200)

Proteções de Saída de Vídeo

Conteúdo de vídeo digital compactado

Referência de conformidade: seção CRs 3.6.4

Sintaxe de parâmetro: cvopl:500

Descrição: controla o nível de proteção de saída para conteúdo de vídeo digital compactado, como H.264, H.265 ou outros formatos de vídeo compactados.

Exemplo:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(cvopl:500)

Conteúdo de vídeo digital descompactado

Referência de conformidade: seção CRs 3.6.5

Sintaxe de parâmetro: ucvopl:200

Descrição: controla o nível de proteção de saída para conteúdo de vídeo digital descompactado.

Exemplo:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(ucvopl:200)

Recursos avançados de proteção de vídeo

Resolução máxima de decodificação

Referência de conformidade: seção CRs 3.6.5.7.1

Opções de sintaxe de parâmetro:

  • Simples: maxres:1920x1080
  • Avançado: dvop:(guid:9645E831-E01D-4FFF-8342-0A720E3E028F,data:AAAEOAAAB4A=)

Descrição: restringe a resolução máxima na qual o conteúdo pode ser decodificado e exibido.

Exemplos:

# Simple resolution restriction
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(maxres:1920x1080)

# Advanced resolution restriction using GUID
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(dvop:(guid:9645E831-E01D-4FFF-8342-0A720E3E028F,data:AAAEOAAAB4A=))

Restrição de tipo HDCP

Referência de conformidade: seção CRs 3.6.5.7.2

Sintaxe de parâmetro: dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==)

Descrição: especifica os requisitos de HDCP (Proteção de Conteúdo Digital de Alta Largura de Banda) para saídas de vídeo digital.

Exemplo:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==))

Proteções de saída analógicas

Saídas de televisão analógicas

Referência de conformidade: seção CRs 3.6.6

Sintaxe de parâmetro: avopl:200

Descrição: controla o nível de proteção de saída para saídas de televisão analógicas.

Exemplo:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avopl:200)

Controles de TV analógica estendidos – CGMS-A

Referência de conformidade: seção CRs 3.6.7.1

Sintaxe de parâmetro: avop:(guid:225CD36F-F132-49EF-BA8C-C91EA28E4369,data:AAAAAQ==)

Código do SDK do servidor:

right.AddAnalogVideoOutputProtection(
    new Guid("{225CD36F-F132-49EF-BA8C-C91EA28E4369}"), 
    BitConverter.GetBytes((int)1)
);

Descrição: implementa a proteção do Sistema de Gerenciamento de Geração de Cópia – Analógico (CGMS-A) para saídas de televisão analógicas.

Controles de TV analógica estendidos – AGCCS

Referência de conformidade: seção CRs 3.6.7.2

Sintaxe de parâmetro: avop:(guid:C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA,data:AgAAAA==)

Código do SDK do servidor:

right.AddAnalogVideoOutputProtection(
    new Guid("C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA"), 
    BitConverter.GetBytes((int)2)
);

Descrição: implementa a proteção do AGCCS (Sistema de Cópia de Controle de Ganho Automático) para saídas de televisão analógicas.

Saída do Monitor de Computador Analógico

Referência de conformidade: seção CRs 3.6.8

Sintaxe de parâmetro: avop:(guid:D783A191-E083-4BAF-B2DA-E69F910B3772)

Descrição: controla a proteção de saída para conexões de monitor de computador analógico (VGA, etc.).

Exemplo:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avop:(guid:D783A191-E083-4BAF-B2DA-E69F910B3772))

Saída de vídeo do componente analógico

Referência de conformidade: seção CRs 3.6.9

Sintaxe de parâmetro: avop:(guid:811C5110-46C8-4C6E-8163-C0482A15D47E)

Descrição: controla a proteção de saída para saídas de vídeo de componente analógico (YPbPr).

Exemplo:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avop:(guid:811C5110-46C8-4C6E-8163-C0482A15D47E))

Conteúdo somente vídeo digital

Referência de conformidade: seção CRs 3.6.11

Sintaxe de parâmetro: avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==)

Código do SDK do servidor:

right.AddAnalogVideoOutputProtection(
    new Guid("{760AE755-682A-41E0-B1B3-DCDF836A7306}"), 
    BitConverter.GetBytes((int)1)
);

Descrição: restringe o conteúdo somente a saídas de vídeo digital, impedindo a saída de vídeo analógica.

Tratamento de saída desconhecido

Passar para saída desconhecida

Referência de conformidade: seção CRs 3.9.1

Opções de sintaxe de parâmetro:

  • allowunknownhd:true
  • playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7)

Descrição: controla se o conteúdo pode ser passado para saídas desconhecidas ou não reconhecidas com qualidade de alta definição.

Exemplos:

# Allow unknown HD outputs
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(allowunknownhd:true)

# Using play enabler GUID
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7))

Passando resolução restrita para saída desconhecida

Referência de conformidade: seção CRs 3.9.2

Opções de sintaxe de parâmetro:

  • allowunknownsd:true
  • playenablers:(B621D91F-EDCC-4035-8D4B-DC71760D43E9)

Descrição: controla se o conteúdo pode ser passado para saídas desconhecidas na qualidade de definição padrão.

Exemplos:

# Allow unknown SD outputs
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(allowunknownsd:true)

# Using play enabler GUID
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(playenablers:(B621D91F-EDCC-4035-8D4B-DC71760D43E9))

Valores de nível de proteção

Níveis comuns de proteção

Nível Descrição Uso
100 Proteção mínima Conteúdo básico, requisitos de segurança baixos
150 Baixa proteção Conteúdo de definição padrão
200 Proteção média Conteúdo de alta definição
270 Alta proteção Conteúdo Premium
300 Proteção máxima Conteúdo de valor ultra-alto

Níveis de Audio-Specific

Nível Descrição Qualidade de áudio
100 Proteção de áudio básica Taxa de bits compactada e baixa
150 Proteção de áudio padrão Qualidade do CD
200 Alta proteção de áudio Áudio de alta resolução
250 Proteção de áudio Premium Áudio sem perda

Níveis de Video-Specific

Nível Descrição Qualidade do Vídeo
150 Definição padrão Até 480p
200 Alta definição Até 720p
270 Full HD Até 1080p
300 Ultra HD 4K e superior

Cenários de teste

Teste básico de proteção de saída

// Test basic video output protection
async function testVideoOutputProtection() {
    const testCases = [
        { name: 'SD Video', config: 'cvopl:150' },
        { name: 'HD Video', config: 'cvopl:200' },
        { name: 'Full HD Video', config: 'cvopl:270' }
    ];
    
    for (const testCase of testCases) {
        const url = `http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(${testCase.config})`;
        const result = await testLicenseAcquisition(url);
        console.log(`${testCase.name}: ${result.success ? 'PASS' : 'FAIL'}`);
    }
}

Teste de requisitos do HDCP

// Test HDCP requirements
async function testHDCPRequirements() {
    const hdcpConfig = 'dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==)';
    const url = `http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(${hdcpConfig})`;
    
    const result = await testLicenseAcquisition(url);
    return result.outputProtections.hdcpRequired;
}

Teste de Proteção Analógica

// Test analog output restrictions
async function testAnalogProtections() {
    const analogTests = [
        {
            name: 'Analog TV Protection',
            config: 'avopl:200'
        },
        {
            name: 'CGMS-A Protection',
            config: 'avop:(guid:225CD36F-F132-49EF-BA8C-C91EA28E4369,data:AAAAAQ==)'
        },
        {
            name: 'Digital Video Only',
            config: 'avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==)'
        }
    ];
    
    const results = [];
    for (const test of analogTests) {
        const url = `http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(${test.config})`;
        const result = await testLicenseAcquisition(url);
        results.push({
            test: test.name,
            success: result.success,
            analogRestricted: result.outputProtections.analogRestricted
        });
    }
    
    return results;
}

Implementação do SDK do servidor

Instalação básica de proteção de saída

// Add video output protection level
right.AddVideoOutputProtectionLevel(
    PlayReadyVideoOutputProtectionLevel.CompressedDigitalVideo, 
    270
);

// Add audio output protection level  
right.AddAudioOutputProtectionLevel(
    PlayReadyAudioOutputProtectionLevel.CompressedDigitalAudio,
    200
);

Configuração de Proteção Avançada

// Add specific analog video output protection
right.AddAnalogVideoOutputProtection(
    new Guid("{225CD36F-F132-49EF-BA8C-C91EA28E4369}"), 
    BitConverter.GetBytes((int)1)
);

// Add HDCP requirement
right.AddDigitalVideoOutputProtection(
    new Guid("{ABB2C6F1-E663-4625-A945-972D17B231E7}"), 
    BitConverter.GetBytes((int)1)
);

// Add maximum resolution restriction
right.AddDigitalVideoOutputProtection(
    new Guid("{9645E831-E01D-4FFF-8342-0A720E3E028F}"), 
    resolutionData
);

Configuração do Habilitador de Reprodução

// Allow unknown outputs at SD quality
right.AddPlayEnabler(
    new Guid("{B621D91F-EDCC-4035-8D4B-DC71760D43E9}")
);

// Allow unknown outputs at HD quality
right.AddPlayEnabler(
    new Guid("{786627D8-C2A6-44BE-8F88-08AE255B01A7}")
);

Práticas recomendadas

Estratégia de proteção de saída

  1. Avaliar o valor do conteúdo – o conteúdo de valor mais alto requer uma proteção mais rigorosa
  2. Considere as funcionalidades do dispositivo – verifique se os dispositivos podem dar suporte aos níveis de proteção necessários
  3. Testar entre plataformas – validar a proteção em diferentes tipos de dispositivo
  4. Balancear segurança e usabilidade – evitar políticas excessivamente restritivas

Diretrizes de implementação

  1. Iniciar com a Proteção Básica – Começar com os níveis de proteção padrão
  2. Adicionar restrições específicas – Proteções adicionais de camada, conforme necessário
  3. Testar tratamento de saída desconhecido – validar o comportamento com saídas não reconhecidas
  4. Requisitos de proteção de documento – especificar claramente as políticas de proteção

Recomendações de teste

  1. Teste Abrangente – Testar todos os níveis e combinações de proteção
  2. Compatibilidade do dispositivo – Validar em tipos de dispositivo de destino
  3. Teste de Tipo de Saída – Teste com diferentes tipos de conexão de saída
  4. Teste de cenário de falha – verificar o comportamento quando a proteção falhar

Recursos de suporte

Consultas comerciais

Consultas de operações

Suporte técnico

Informações de treinamento


© Microsoft Corporation. Todos os direitos reservados. Marcas comerciais | Privacidade