Freigeben über


Testen von Ausgabeschutzfunktionen

Überblick

PlayReady-Ausgabeschutz stellt sicher, dass geschützte Inhalte ihre Sicherheitsanforderungen über verschiedene Ausgabetypen und Qualitätsstufen hinweg beibehalten. Diese Dokumentation enthält eine vollständige Zuordnung der in den Complianceregeln definierten Ausgabeschutzrichtlinien und deren entsprechende Syntax des Testserverparameters.

Ausgabeschutzkategorien

Schutz vor Audioausgabe

Komprimierter digitaler Audioinhalt

Compliancereferenz: CRs Abschnitt 3.6.2

Parametersyntax: caopl:200

Beschreibung: Steuert die Ausgabeschutzstufe für komprimierte digitale Audioinhalte wie MP3, AAC oder andere komprimierte Audioformate.

Beispiel:

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

Explizite Einschränkung der digitalen Audioausgabe

Compliancereferenz: CRs Abschnitt 3.6.2.8

Parametersyntax: avop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6)

Beschreibung: Bietet explizite Einschränkungen für digitale Audioausgaben mithilfe bestimmter GUID-Bezeichner.

Beispiel:

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

Nicht komprimierter digitaler Audioinhalt

Compliancereferenz: CRs Abschnitt 3.6.3

Parametersyntax: ucaopl:200

Beschreibung: Steuert die Ausgabeschutzstufe für nicht komprimierte digitale Audioinhalte wie PCM oder andere nicht komprimierte Audioformate.

Beispiel:

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

Videoausgabeschutz

Komprimierter digitaler Videoinhalt

Compliancereferenz: CRs Abschnitt 3.6.4

Parametersyntax: cvopl:500

Beschreibung: Steuert die Ausgabeschutzebene für komprimierte digitale Videoinhalte wie H.264, H.265 oder andere komprimierte Videoformate.

Beispiel:

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

Nicht komprimierter digitaler Videoinhalt

Compliancereferenz: CRs Abschnitt 3.6.5

Parametersyntax: ucvopl:200

Beschreibung: Steuert die Ausgabeschutzebene für nicht komprimierte digitale Videoinhalte.

Beispiel:

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

Erweiterte Videoschutzfeatures

Maximale Decodierungsauflösung

Compliancereferenz: CRs Abschnitt 3.6.5.7.1

Parametersyntaxoptionen:

  • Einfach: maxres:1920x1080
  • Fortgeschritten: dvop:(guid:9645E831-E01D-4FFF-8342-0A720E3E028F,data:AAAEOAAAB4A=)

Beschreibung: Beschränkt die maximale Auflösung, bei der Inhalte decodiert und angezeigt werden können.

Beispiele:

# 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=))

HDCP-Typeinschränkung

Compliancereferenz: CRs Abschnitt 3.6.5.7.2

Parametersyntax: dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==)

Beschreibung: Gibt Anforderungen für den Digitalen Inhaltsschutz (High-Bandwidth Digital Content Protection, HDCP) für digitale Videoausgaben an.

Beispiel:

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

Analoge Ausgabeschutz

Analoge Fernsehausgaben

Compliancereferenz: CRs Abschnitt 3.6.6

Parametersyntax: avopl:200

Beschreibung: Steuert die Ausgabeschutzstufe für analoge Fernsehausgaben.

Beispiel:

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

Erweiterte analoge TV-Steuerelemente - CGMS-A

Compliancereferenz: CRs Abschnitt 3.6.7.1

Parametersyntax: avop:(guid:225CD36F-F132-49EF-BA8C-C91EA28E4369,data:AAAAAQ==)

Server SDK-Code:

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

Beschreibung: Implementiert das Kopiergenerierungsverwaltungssystem - Analog (CGMS-A) Schutz für analoge Fernsehausgaben.

Erweiterte analoge TV-Steuerelemente - AGCCS

Compliancereferenz: CRs Abschnitt 3.6.7.2

Parametersyntax: avop:(guid:C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA,data:AgAAAA==)

Server SDK-Code:

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

Beschreibung: Implementiert den Schutz des Automatic Gain Control Copy Systems (AGCCS) für analoge Fernsehausgaben.

Analoge Computermonitorausgabe

Compliancereferenz: CRs Abschnitt 3.6.8

Parametersyntax: avop:(guid:D783A191-E083-4BAF-B2DA-E69F910B3772)

Beschreibung: Steuert den Ausgabeschutz für analoge Computermonitorverbindungen (VGA usw.).

Beispiel:

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

Videoausgabe der analogen Komponente

Compliancereferenz: CRs Abschnitt 3.6.9

Parametersyntax: avop:(guid:811C5110-46C8-4C6E-8163-C0482A15D47E)

Beschreibung: Steuert den Ausgabeschutz für analoge Videoausgabekomponenten (YPbPr).

Beispiel:

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

Nur Digitale Videoinhalte

Compliancereferenz: CRs Abschnitt 3.6.11

Parametersyntax: avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==)

Server SDK-Code:

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

Beschreibung: Beschränkt Inhalte nur auf digitale Videoausgabe, hindert die analoge Videoausgabe.

Unbekannte Ausgabebehandlung

Weitergabe an Unknown Output

Compliancereferenz: CRs Abschnitt 3.9.1

Parametersyntaxoptionen:

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

Beschreibung: Steuert, ob Inhalte an unbekannte oder nicht erkannte Ausgaben in hoher Definitionsqualität übergeben werden können.

Beispiele:

# 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))

Übergeben der eingeschränkten Auflösung an unbekannte Ausgabe

Compliancereferenz: CRs Abschnitt 3.9.2

Parametersyntaxoptionen:

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

Beschreibung: Steuert, ob Inhalte an unbekannte Ausgaben in der Standarddefinitionsqualität übergeben werden können.

Beispiele:

# 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))

Werte der Schutzebene

Allgemeine Schutzebenen

Niveau BESCHREIBUNG Verwendung
100 Minimaler Schutz Grundlegende Inhalte, niedrige Sicherheitsanforderungen
150 Geringer Schutz Standarddefinitionsinhalt
200 Mittlerer Schutz Inhalte mit hoher Definition
270 Hoher Schutz Premium-Inhalte
300 Maximaler Schutz Ultra-hochwertige Inhalte

Audio-Specific Ebenen

Niveau BESCHREIBUNG Audioqualität
100 Grundlegender Audioschutz Komprimierte, niedrige Bitrate
150 Standardaudioschutz CD-Qualität
200 Hoher Audioschutz Hochauflösendes Audio
250 Premium-Audioschutz Verlustlose Audiodaten

Video-Specific Ebenen

Niveau BESCHREIBUNG Videoqualität
150 Standarddefinition Bis zu 480p
200 High Definition Bis zu 720p
270 Full HD Bis zu 1080p
300 Ultra HD 4K und höher

Testszenarien

Grundlegende Ausgabeschutztests

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

HDCP-Anforderungstests

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

Analogschutztests

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

Server SDK-Implementierung

Grundlegendes Setup des Ausgabeschutzes

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

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

Erweiterte Schutzkonfiguration

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

Play Enabler Configuration

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

Bewährte Methoden

Ausgabeschutzstrategie

  1. Bewerten des Inhaltswerts – Höherwertiger Inhalt erfordert strengeren Schutz
  2. Berücksichtigen von Gerätefunktionen – Sicherstellen, dass Geräte erforderliche Schutzstufen unterstützen können
  3. Plattformübergreifendes Testen – Überprüfen des Schutzes auf verschiedenen Gerätetypen
  4. Balance Security and Usability - Vermeiden sie übermäßig restriktive Richtlinien

Implementierungsrichtlinien

  1. Beginnen Sie mit dem Standardschutz – Beginnen Sie mit Standardschutzebenen
  2. Hinzufügen bestimmter Einschränkungen – Zusätzliche Schutzebenen nach Bedarf
  3. Unbekannte Ausgabebehandlung testen – Überprüfen des Verhaltens mit nicht erkannten Ausgaben
  4. Dokumentschutzanforderungen – Eindeutiges Angeben von Schutzrichtlinien

Testempfehlungen

  1. Umfassende Tests – Testen aller Schutzstufen und Kombinationen
  2. Gerätekompatibilität – Überprüfen auf Zielgerätetypen
  3. Ausgabetyptests – Testen mit unterschiedlichen Ausgabeverbindungstypen
  4. Fehlerszenariotests – Überprüfen des Verhaltens, wenn der Schutz fehlschlägt

Supportressourcen

Geschäftsabfragen

Operations-Abfragen

Technischer Support

Schulungsinformationen


© Microsoft Corporation. Alle Rechte vorbehalten. Handelsmarken | Privatsphäre