Aracılığıyla paylaş


Çıkış Korumalarını Test Etme

Genel Bakış

PlayReady çıkış korumaları, korumalı içeriğin farklı çıkış türleri ve kalite düzeylerinde güvenlik gereksinimlerini korumasını sağlar. Bu belge, Uyumluluk Kuralları'nda tanımlanan çıkış koruma ilkelerinin ve bunlara karşılık gelen test sunucusu parametre söz diziminin eksiksiz bir eşlemesini sağlar.

Çıkış Koruması Kategorileri

Ses Çıkış Korumaları

Sıkıştırılmış Dijital Ses İçeriği

Uyumluluk Başvurusu: CRs bölüm 3.6.2

Parametre Sözdizimi: caopl:200

Açıklama: MP3, AAC veya diğer sıkıştırılmış ses biçimleri gibi sıkıştırılmış dijital ses içeriği için çıkış koruma düzeyini denetler.

Örnek:

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

Açık Dijital Ses Çıkış Kısıtlaması

Uyumluluk Başvurusu: CRs bölüm 3.6.2.8

Parametre Sözdizimi: avop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6)

Açıklama: Belirli GUID tanımlayıcılarını kullanarak dijital ses çıkışlarında açık kısıtlamalar sağlar.

Örnek:

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

Sıkıştırılmamış Dijital Ses İçeriği

Uyumluluk Başvurusu: CRs bölüm 3.6.3

Parametre Sözdizimi: ucaopl:200

Açıklama: PCM veya diğer sıkıştırılmamış ses biçimleri gibi sıkıştırılmamış dijital ses içeriği için çıkış koruma düzeyini denetler.

Örnek:

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

Video Çıkış Korumaları

Sıkıştırılmış Dijital Video İçeriği

Uyumluluk Başvurusu: CRs bölüm 3.6.4

Parametre Sözdizimi: cvopl:500

Açıklama: H.264, H.265 veya diğer sıkıştırılmış video biçimleri gibi sıkıştırılmış dijital video içeriği için çıkış koruma düzeyini denetler.

Örnek:

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

Sıkıştırılmamış Dijital Video İçeriği

Uyumluluk Başvurusu: CRs bölüm 3.6.5

Parametre Sözdizimi: ucvopl:200

Açıklama: Sıkıştırılmamış dijital video içeriği için çıkış koruma düzeyini denetler.

Örnek:

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

Gelişmiş Video Koruma Özellikleri

En Yüksek Kod Çözme Çözünürlüğü

Uyumluluk Başvurusu: CRs bölüm 3.6.5.7.1

Parametre Söz Dizimi Seçenekleri:

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

Açıklama: İçeriğin kodunun çözülebileceği ve görüntülenebileceği maksimum çözünürlüğü kısıtlar.

Örnekler:

# 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 Türü Kısıtlaması

Uyumluluk Başvurusu: CRs bölüm 3.6.5.7.2

Parametre Sözdizimi: dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==)

Açıklama: Dijital video çıkışları için yüksek bant genişliğine sahip Dijital İçerik Koruması (HDCP) gereksinimlerini belirtir.

Örnek:

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

Analog Çıkış Korumaları

Analog Televizyon Çıkışları

Uyumluluk Başvurusu: CRs bölüm 3.6.6

Parametre Sözdizimi: avopl:200

Açıklama: Analog televizyon çıkışları için çıkış koruma düzeyini denetler.

Örnek:

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

Genişletilmiş Analog TV Denetimleri - CGMS-A

Uyumluluk Başvurusu: CRs bölüm 3.6.7.1

Parametre Sözdizimi: avop:(guid:225CD36F-F132-49EF-BA8C-C91EA28E4369,data:AAAAAQ==)

Sunucu SDK Kodu:

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

Açıklama: Analog televizyon çıkışları için Kopya Oluşturma Yönetim Sistemi - Analog (CGMS-A) koruma uygular.

Genişletilmiş Analog TV Denetimleri - AGCCS

Uyumluluk Başvurusu: CRs bölüm 3.6.7.2

Parametre Sözdizimi: avop:(guid:C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA,data:AgAAAA==)

Sunucu SDK Kodu:

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

Açıklama: Analog televizyon çıkışları için Otomatik Kazanç Kontrol Kopyalama Sistemi (AGCCS) koruması uygular.

Analog Bilgisayar monitörü çıkışı

Uyumluluk Başvurusu: CRs bölüm 3.6.8

Parametre Sözdizimi: avop:(guid:D783A191-E083-4BAF-B2DA-E69F910B3772)

Açıklama: Analog bilgisayar monitör bağlantıları (VGA vb.) için çıkış korumasını denetler.

Örnek:

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

Analog Bileşen Video Çıkışı

Uyumluluk Başvurusu: CRs bölüm 3.6.9

Parametre Sözdizimi: avop:(guid:811C5110-46C8-4C6E-8163-C0482A15D47E)

Açıklama: Analog bileşen video çıkışları (YPbPr) için çıkış korumasını denetler.

Örnek:

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

Yalnızca Dijital Video İçeriği

Uyumluluk Başvurusu: CRs bölüm 3.6.11

Parametre Sözdizimi: avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==)

Sunucu SDK Kodu:

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

Açıklama: İçeriği yalnızca dijital video çıkışlarıyla kısıtlayarak analog video çıkışını engeller.

Bilinmeyen Çıkış İşleme

Bilinmeyen Çıkışa Geçiş

Uyumluluk Başvurusu: CRs bölüm 3.9.1

Parametre Söz Dizimi Seçenekleri:

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

Açıklama: İçeriğin bilinmeyen veya tanınmayan çıkışlara yüksek tanım kalitesinde geçirilip geçirilemeyeceğini denetler.

Örnekler:

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

Kısıtlanmış Çözünürlüğü Bilinmeyen Çıkışa Geçirme

Uyumluluk Başvurusu: CRs bölüm 3.9.2

Parametre Söz Dizimi Seçenekleri:

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

Açıklama: İçeriğin standart tanım kalitesinde bilinmeyen çıkışlara geçirilip geçirilemeyeceğini denetler.

Örnekler:

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

Koruma Düzeyi Değerleri

Ortak Koruma Düzeyleri

Seviye Açıklama Kullanım
100 En az koruma Temel içerik, düşük güvenlik gereksinimleri
Yüz elli Düşük koruma Standart tanım içeriği
200 Orta düzeyde koruma Yüksek tanımlı içerik
270 Yüksek koruma Premium içerik
300 Maksimum koruma Ultra yüksek değerli içerik

Audio-Specific Düzeyleri

Seviye Açıklama Ses Kalitesi
100 Temel ses koruması Sıkıştırılmış, düşük bit hızı
Yüz elli Standart ses koruması CD kalitesi
200 Yüksek ses koruması Yüksek çözünürlüklü ses
250 Premium ses koruması Kayıpsız ses

Video-Specific Düzeyleri

Seviye Açıklama Video Kalitesi
Yüz elli Standart tanım 480p'ye kadar
200 Yüksek tanım 720p'ye kadar
270 Full HD 1080p'ye kadar
300 Ultra HD 4K ve üzeri

Test Senaryoları

Temel Çıkış Koruma Testi

// 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 Gereksinim Testi

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

Analog Koruma Testi

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

Sunucu SDK'sı Uygulaması

Temel Çıkış Koruması Kurulumu

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

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

Gelişmiş Koruma Yapılandırması

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

Yürüt Etkinleştirici Yapılandırması

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

En İyi Yöntemler

Çıkış Koruma Stratejisi

  1. İçerik Değerini Değerlendirme - Daha yüksek değerli içerik daha sıkı koruma gerektirir
  2. Cihaz Özelliklerini Göz önünde bulundurun - Cihazların gerekli koruma düzeylerini destekleyenediğinden emin olun
  3. Platformlar Arasında Test Etme - Farklı cihaz türlerinde korumayı doğrulama
  4. Güvenliği ve Kullanılabilirliği Dengeleme - Aşırı kısıtlayıcı ilkelerden kaçının

Uygulama Yönergeleri

  1. Temel Koruma ile başlayın - Standart koruma düzeyleriyle başlayın
  2. Belirli Kısıtlamalar Ekle - Gerektiğinde katman ek korumaları
  3. Bilinmeyen Çıktı İşlemeyi Test Etme - Tanınmayan çıkışlarla davranışı doğrulama
  4. Belge Koruma Gereksinimleri - Koruma ilkelerini açıkça belirtin

Test Önerileri

  1. Kapsamlı Test - Tüm koruma düzeylerini ve birleşimlerini test etme
  2. Cihaz Uyumluluğu - Hedef cihaz türlerinde doğrulama
  3. Çıkış Türü Testi - Farklı çıkış bağlantı türleriyle test etme
  4. Hata Senaryosu Testi - Koruma başarısız olduğunda davranışı doğrulama

Destek Kaynakları

İş Sorguları

İşlem Sorguları

Teknik Destek

Eğitim Bilgileri


© Microsoft Corporation. Tüm hakları saklıdır. Ticari markalarıdır | Gizlilik