Partilhar via


Testando proteções de saída

Visão geral

As proteções de saída 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 sua sintaxe de parâmetro de servidor de teste correspondente.

Categorias de proteção de saída

Proteções de saída de áudio

Conteúdo de áudio digital comprimido

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

Sintaxe do parâmetro: caopl:200

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

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: CRs seção 3.6.2.8

Sintaxe do 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 não comprimido

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

Sintaxe do parâmetro: ucaopl:200

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

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 comprimido

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

Sintaxe do parâmetro: cvopl:500

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

Exemplo:

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

Conteúdo de vídeo digital não comprimido

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

Sintaxe do parâmetro: ucvopl:200

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

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 descodificação

Referência de conformidade: secção 3.6.5.7.1 dos CR

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: CRs seção 3.6.5.7.2

Sintaxe do 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ógica

Saídas de televisão analógica

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

Sintaxe do parâmetro: avopl:200

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

Exemplo:

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

Controles estendidos de TV analógica - CGMS-A

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

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

Código SDK do servidor:

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

Descrição: Implementa Copy Generation Management System - Analógico (CGMS-A) proteção para saídas de televisão analógica.

Controles estendidos de TV analógica - AGCCS

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

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

Código SDK do servidor:

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

Descrição: Implementa a proteção AGCCS (Automatic Gain Control Copy System) para saídas analógicas de televisão.

Saída de monitor de computador analógico

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

Sintaxe do 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 componente analógico

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

Sintaxe do 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 componentes analógicos (YPbPr).

Exemplo:

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

Conteúdo Exclusivo de Vídeo Digital

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

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

Código SDK do servidor:

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

Descrição: Restringe o conteúdo apenas a saídas de vídeo digitais, impedindo a saída de vídeo analógico.

Tratamento de saída desconhecido

Mudança para saída desconhecida

Referência de conformidade: CRs seção 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: CRs seção 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 com 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 do Nível de Proteção

Níveis comuns de proteção

Nível Descrição Utilização
100 Proteção mínima Conteúdo básico, baixos requisitos de segurança
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 ultraelevado

Níveis Audio-Specific

Nível Descrição Qualidade de áudio
100 Proteção de áudio básica Comprimido, baixa taxa de bits
150 Proteção de áudio padrão Qualidade de CD
200 Alta proteção de áudio Áudio de alta resolução
250 Proteção de áudio premium Áudio sem perdas

Níveis Video-Specific

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

Cenários de teste

Testes básicos 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 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;
}

Testes 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

Configuraçã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
);

Reproduzir Configuração do Ativador

// 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}")
);

Melhores práticas

Estratégia de Proteção de Saída

  1. Avaliar o valor do conteúdo - O conteúdo de maior valor requer proteção mais rigorosa
  2. Considere os recursos do dispositivo - Certifique-se de que os dispositivos podem suportar os níveis de proteção necessários
  3. Teste entre plataformas - Valide a proteção em diferentes tipos de dispositivos
  4. Equilibre Segurança e Usabilidade - Evite políticas excessivamente restritivas

Diretrizes de implementação

  1. Comece com a Proteção Básica - Comece com os níveis de proteção padrão
  2. Adicionar restrições específicas - Proteções adicionais em camadas, conforme necessário
  3. Test Unknown Output Handling - Valide o comportamento com saídas não reconhecidas
  4. Requisitos de proteção de documentos - Especifique claramente as políticas de proteção

Recomendações de testes

  1. Testes abrangentes - Teste todos os níveis e combinações de proteção
  2. Compatibilidade de dispositivos - Validar em tipos de dispositivos 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 falha

Recursos de suporte

Consultas de negócios

Consultas de operações

Suporte Técnico

Informação de Formação


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