PlayReady DRM
In diesem Thema wird beschrieben, wie Sie Ihrer Universelle Windows-Plattform -App (UWP) PlayReady geschützte Medieninhalte hinzufügen.
PlayReady DRM ermöglicht Es Entwicklern, UWP-Apps zu erstellen, die PlayReady-Inhalte für den Benutzer bereitstellen können, während die vom Inhaltsanbieter definierten Zugriffsregeln erzwungen werden. In diesem Abschnitt werden Änderungen beschrieben, die an Microsoft PlayReady DRM für Windows 10 vorgenommen wurden, und wie Sie Ihre PlayReady-UWP-App ändern, um die Änderungen zu unterstützen, die von der vorherigen Windows 8.1-Version an der Windows 10-Version vorgenommen wurden.
Thema | Beschreibung |
---|---|
Hardware-DRM | Dieses Thema enthält eine Übersicht darüber, wie Sie Ihrer UWP-App PlayReady hardwarebasierte verwaltung digitaler Rechte (Digital Rights Management, DRM) hinzufügen. |
Adaptives Streaming mit PlayReady | In diesem Artikel wird beschrieben, wie Sie einer Universelle Windows-Plattform -App (UWP) adaptives Streaming von Multimediainhalten mit Microsoft PlayReady-Inhaltsschutz hinzufügen. Diese Funktion unterstützt derzeit die Wiedergabe von Http Live Streaming (HLS) und Dynamic Streaming over HTTP (DASH) Inhalten. |
Neuerungen in PlayReady DRM
In der folgenden Liste werden die neuen Features und Änderungen beschrieben, die an PlayReady DRM für Windows 10 vorgenommen wurden.
Hardware digital rights management (HWDRM) hinzugefügt.
Hardwarebasierte Inhaltsschutzunterstützung ermöglicht die sichere Wiedergabe von Hd-Inhalten (HD) und Ultra-High-Definition -Inhalten (UHD) auf mehreren Geräteplattformen. Schlüsselmaterial (einschließlich privater Schlüssel, Inhaltsschlüssel und jedes andere Schlüsselmaterial, das zum Ableiten oder Entsperren dieser Schlüssel verwendet wird) und entschlüsselte komprimierte und nicht komprimierte Videobeispiele werden durch Die Verwendung der Hardwaresicherheit geschützt. Wenn Hardware-DRM verwendet wird, hat keine unbekannte Aktivierung (Wiedergabe auf unbekannte/Wiedergabe unbekannt mit Downres) Bedeutung, da die HWDRM-Pipeline immer die verwendete Ausgabe kennt. Weitere Informationen finden Sie unter Hardware-DRM.
PlayReady ist keine AppX-Framework-Komponente mehr, sondern eine integrierte Betriebssystemkomponente. Der Namespace wurde von Microsoft.Media.PlayReadyClient zu Windows.Media.Protection.PlayReady geändert.
Die folgenden Header, die die PlayReady-Fehlercodes definieren, sind jetzt Teil des Windows Software Development Kit (SDK): Windows.Media.Protection.PlayReadyErrors.h und Windows.Media.Protection.PlayReadyResults.h.
Bietet proaktiven Erwerb von nicht persistenten Lizenzen.
In früheren Versionen von PlayReady DRM wurde der proaktive Erwerb nicht persistenter Lizenzen unterstützt. Diese Funktion wurde dieser Version hinzugefügt. Dies kann die Zeit bis zum ersten Frame verringern. Weitere Informationen finden Sie unter Proaktives Abrufen einer nicht persistenten Lizenz vor der Wiedergabe.
Stellt den Erwerb mehrerer Lizenzen in einer Nachricht bereit.
Ermöglicht der Client-App, mehrere nicht persistente Lizenzen in einer Lizenzakquisitionsnachricht zu erwerben. Dies kann die Zeit bis zum ersten Frame verringern, indem Lizenzen für mehrere Inhalte abgerufen werden, während der Benutzer noch Ihre Inhaltsbibliothek durchsucht. Dadurch wird eine Verzögerung für den Lizenzerwerb verhindert, wenn der Benutzer den zu wiedergebenden Inhalt auswählt. Darüber hinaus können Audio- und Videodatenströme mit separaten Schlüsseln verschlüsselt werden, indem ein Inhaltsheader aktiviert wird, der mehrere Schlüsselbezeichner (KEY Identifiers, KIDs) enthält; Dadurch kann ein einzelner Lizenzerwerb alle Lizenzen für alle Datenströme in einer Inhaltsdatei erwerben, anstatt benutzerdefinierte Logik und mehrere Lizenzerwerbsanforderungen verwenden zu müssen, um dasselbe Ergebnis zu erzielen.
Unterstützung für Den Echtzeitablauf oder lizenz für begrenzte Dauer (LIMITED Duration License) hinzugefügt.
Bietet die Möglichkeit, den Echtzeitablauf für Lizenzen festzulegen und nahtlos von einer ablaufenden Lizenz zu einer anderen (gültigen) Lizenz in der Mitte der Wiedergabe zu wechseln. In Kombination mit dem Erwerb mehrerer Lizenzen in einer Nachricht ermöglicht es einer App, mehrere LDLs asynchron zu erwerben, während der Benutzer noch die Inhaltsbibliothek durchsucht und nur eine Lizenz mit längerer Dauer erwirbt, nachdem der Benutzer inhalte für die Wiedergabe ausgewählt hat. Die Wiedergabe wird dann schneller gestartet (da bereits eine Lizenz verfügbar ist) und, da die App eine lizenz für längere Dauer zum Zeitpunkt des Ablaufs des STARTS erworben hat, die Wiedergabe reibungslos bis zum Ende des Inhalts ohne Unterbrechung fortsetzen.
Nicht persistente Lizenzketten hinzugefügt.
Unterstützung für zeitbasierte Einschränkungen (einschließlich Ablauf, Ablauf nach der ersten Wiedergabe und Echtzeitablauf) für nicht persistente Lizenzen hinzugefügt.
Unterstützung für HDCP-Typ 1 (Version 2.2 unter Windows 10) hinzugefügt.
Weitere Informationen finden Sie unter "Zu berücksichtigende Punkte".
Miracast ist jetzt implizit als Ausgabe.
Sicherer Stopp hinzugefügt.
Secure Stop stellt die Mittel für ein PlayReady-Gerät bereit, um einen Medienstreamingdienst sicher zu bestätigen, dass die Medienwiedergabe für einen bestimmten Teil von Inhalten beendet wurde. Diese Funktion stellt sicher, dass Ihre Medienstreamingdienste genaue Erzwingung und Berichterstellung von Nutzungseinschränkungen auf verschiedenen Geräten für ein bestimmtes Konto bereitstellen.
Audio- und Videolizenztrennung hinzugefügt.
Separate Titel verhindern, dass Video als Audio decodiert wird; Ermöglichen eines robusteren Inhaltsschutzes. Neue Standards erfordern separate Schlüssel für Audio- und visuelle Titel.
MaxResDecode wurde hinzugefügt.
Dieses Feature wurde hinzugefügt, um die Wiedergabe von Inhalten auf eine maximale Auflösung zu beschränken, auch wenn ein fähigerer Schlüssel (aber keine Lizenz) besitzt. Es unterstützt Fälle, in denen mehrere Datenstromgrößen mit einem einzelnen Schlüssel codiert werden.
Die folgenden neuen Schnittstellen, Klassen und Enumerationen wurden playReady DRM hinzugefügt:
- IPlayReadyLicenseAcquisitionServiceRequest-Schnittstelle
- IPlayReadyLicenseSession-Schnittstelle
- IPlayReadySecureStopServiceRequest-Schnittstelle
- PlayReadyLicenseSession-Klasse
- PlayReadySecureStopIterable-Klasse
- PlayReadySecureStopIterator-Klasse
- PlayReadyHardwareDRMFeatures-Enumerator
Es wurde ein neues Beispiel erstellt, um zu veranschaulichen, wie die neuen Features von PlayReady DRM verwendet werden. Das Beispiel kann aus dem Codebeispielbrowser heruntergeladen werden.
Zu beachtende Aspekte
- PlayReady DRM unterstützt jetzt HDCP Typ 1 (unterstützt in HDCP Version 2.1 oder höher). PlayReady trägt eine HDCP-Typeinschränkungsrichtlinie in der Lizenz für das Gerät, die erzwungen werden soll. Unter Windows 10 erzwingt diese Richtlinie, dass HDCP 2.2 oder höher eingebunden ist. Dieses Feature kann in Ihrer PlayReady Server v3.0 SDK-Lizenz aktiviert werden (der Server steuert diese Richtlinie in der Lizenz mithilfe der HDCP-Typeinschränkungs-GUID). Weitere Informationen finden Sie unter playReady Compliance and Robustness Rules.
- Windows Media Video (auch bekannt als VC-1) wird im Hardware-DRM nicht unterstützt (siehe Außerkraftsetzen des Hardware-DRM).
- PlayReady DRM unterstützt jetzt den High Efficiency Video Coding (HEVC /H.265)-Videokomprimierungsstandard. Um HEVC zu unterstützen, muss Ihre App Common Encryption Scheme (CENC) Version 2-Inhalte verwenden, die das Verlassen der Segmentkopfzeilen des Inhalts in der Klareinstellung umfassen. Weitere Informationen finden Sie unter ISO/IEC 23001-7 Informationstechnologie - MPEG systems technologies -- Part 7: Common encryption in ISO base media file format files (Spec version ISO/IEC 23001-7:2015 or later is required.) Microsoft empfiehlt auch die Verwendung von CENC Version 2 für alle HWDRM-Inhalte. Darüber hinaus unterstützt einige Hardware-DRM HEVC und einige werden nicht (siehe Außerkraftsetzen des Hardware-DRM).
- Um bestimmte neue PlayReady 3.0-Features zu nutzen (einschließlich, aber nicht beschränkt auf SL3000 für hardwarebasierte Clients, Abrufen mehrerer nicht persistenter Lizenzen in einer Lizenzakquisitionsnachricht und zeitbasierte Einschränkungen für nicht persistente Lizenzen), muss der PlayReady-Server die Microsoft PlayReady Server Software Development Kit v3.0.2769 Release-Version oder höher sein.
- Abhängig von der in der Inhaltslizenz angegebenen Ausgabeschutzrichtlinie schlägt die Medienwiedergabe für Endbenutzer möglicherweise fehl, wenn ihre verbundene Ausgabe diese Anforderungen nicht unterstützt. In der folgenden Tabelle sind die allgemeinen Fehler aufgeführt, die als Ergebnis auftreten. Weitere Informationen finden Sie unter playReady Compliance and Robustness Rules.
Fehler | Wert | Beschreibung |
---|---|---|
ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP | 0xC0262513 | Die Ausgabeschutzrichtlinie der Lizenz erfordert, dass der Monitor HDCP einbezieht, aber HDCP konnte nicht eingebunden werden. |
MF_E_POLICY_UNSUPPORTED | 0xC00D7159 | Die Ausgabeschutzrichtlinie der Lizenz erfordert, dass der Monitor HDCP-Typ 1 einbezieht, aber HDCP-Typ 1 konnte nicht eingebunden werden. |
DRM_E_TEE_OUTPUT_PROTECTION_REQUIREMENTS_NOT_MET | 0x8004CD22 | Dieser Fehlercode tritt nur auf, wenn er unter Hardware-DRM ausgeführt wird. Die Ausgabeschutzrichtlinie der Lizenz erfordert, dass der Monitor HDCP einbezieht oder die effektive Auflösung des Inhalts verringert, aber HDCP konnte nicht eingebunden werden, und die effektive Auflösung des Inhalts konnte nicht reduziert werden, da das Hardware-DRM die Reduzierung der Auflösung des Inhalts nicht unterstützt. Unter Software-DRM wird der Inhalt wiedergegeben. Siehe Überlegungen zur Verwendung des Hardware-DRM. |
ERROR_GRAPHICS_OPM_NOT_SUPPORTED | 0xc0262500 | Der Grafiktreiber unterstützt keinen Ausgabeschutz. Beispielsweise ist der Monitor über VGA angeschlossen oder ein entsprechender Grafiktreiber für die digitale Ausgabe ist nicht installiert. In letzterem Fall löst der typische Treiber, der installiert ist, den Microsoft Basic Display Adapter und die Installation eines entsprechenden Grafiktreibers das Problem. |
Ausgabeschutz
Im folgenden Abschnitt wird das Verhalten beim Verwenden von PlayReady DRM für Windows 10 mit Ausgabeschutzrichtlinien in einer PlayReady-Lizenz beschrieben.
PlayReady DRM unterstützt Ausgabeschutzebenen, die in der Microsoft PlayReady Extensible Media Rights Specification enthalten sind. Dieses Dokument finden Sie im Dokumentationspaket, das im Lieferumfang von PlayReady lizenzierten Produkten enthalten ist.
Hinweis
Die zulässigen Werte für Ausgabeschutzebenen, die von einem Lizenzierungsserver festgelegt werden können, unterliegen den PlayReady-Complianceregeln.
PlayReady DRM ermöglicht die Wiedergabe von Inhalten mit Ausgabeschutzrichtlinien nur für Ausgabeconnectors, wie in den PlayReady-Complianceregeln angegeben. Weitere Informationen zu den in den PlayReady-Complianceregeln angegebenen Ausgabekonnektorausdrücke finden Sie unter "Definierte Bedingungen für PlayReady Compliance" und "Robustness Rules".
Dieser Abschnitt konzentriert sich auf Ausgabeschutzszenarien mit PlayReady DRM für Windows 10 und PlayReady Hardware DRM für Windows 10, das auch auf einigen Windows-Clients verfügbar ist. Mit PlayReady HWDRM werden alle Ausgabeschutze innerhalb der Windows TEE-Implementierung erzwungen (siehe Hardware-DRM). Daher unterscheiden sich einige Verhaltensweisen bei verwendung von PlayReady SWDRM (Software-DRM):
- Unterstützung der Ausgabeschutzebene (Output Protection Level, OPL) für nicht komprimiertes digitales Video 270: PlayReady HWDRM für Windows 10 unterstützt keine Abwärtsauflösung und erzwingt, dass HDCP (High-Bandwidth Digital Content Protection) eingebunden ist. Es wird empfohlen, dass high definition content for HWDRM über eine OPL größer als 270 verfügen (obwohl sie nicht erforderlich ist). Darüber hinaus sollten Sie die HDCP-Typeinschränkung in der Lizenz (HDCP Version 2.2 oder höher) festlegen.
- Im Gegensatz zu SWDRM werden mit HWDRM Ausgabeschutz auf allen Monitoren basierend auf dem am wenigsten fähigen Monitor erzwungen. Wenn der Benutzer beispielsweise zwei Monitore angeschlossen hat, an denen eine HDCP unterstützt und das andere nicht, schlägt die Wiedergabe fehl, wenn die Lizenz HDCP erfordert, auch wenn der Inhalt nur auf dem Monitor gerendert wird, der HDCP unterstützt. In SWDRM wird der Inhalt wiedergegeben, solange er nur auf dem Monitor gerendert wird, der HDCP unterstützt.
- HWDRM wird nicht garantiert vom Client verwendet und sicher, es sei denn, die folgenden Bedingungen werden von den Inhaltsschlüsseln und Lizenzen erfüllt:
- Die für den Videoinhaltsschlüssel verwendete Lizenz muss eine Mindestsicherheitsstufe von 3000 aufweisen.
- Audio muss mit einem anderen Inhaltsschlüssel als Video verschlüsselt werden, und die für Audio verwendete Lizenz muss eine Mindestsicherheitsstufe von 2000 aufweisen. Alternativ können Audiodaten im Klaren bleiben.
- Alle SWDRM-Szenarien erfordern, dass die mindeste Sicherheitsstufe der PlayReady-Lizenz, die für den Audio- und/oder Videoinhaltsschlüssel verwendet wird, niedriger oder gleich 2000 ist.
Ausgabeschutzebenen
In der folgenden Tabelle werden die Zuordnungen zwischen verschiedenen OPLs in der PlayReady-Lizenz und die Erzwingung von PlayReady DRM für Windows 10 beschrieben.
Video
OPL | Komprimiertes digitales Video | Nicht komprimiertes digitales Video | Analoge TV | |
---|---|---|---|---|
Any | HDMI, DVI, DisplayPort, MHL | Komponente, Zusammengesetzt | ||
100 | N/A\* | Inhalt wird übergeben | Inhalt wird übergeben | |
150 | N/A\* | Übergibt Inhalte, wenn CGMS-A CopyNever eingebunden wird oder wenn CGMS-A nicht eingebunden werden kann | ||
200 | Übergibt Inhalte, wenn CGMS-A CopyNever eingebunden ist | |||
250 | Versucht, HDCP zu binden, übergibt inhalte jedoch unabhängig vom Ergebnis. | N/A\* | ||
270 | SWDRM: Versucht, HDCP zu binden. Wenn HDCP nicht verwendet werden kann, schränkt der PC die effektive Auflösung auf 520.000 Pixel pro Frame ein und übergibt den Inhalt. | HWDRM: Übergibt Inhalte mit HDCP. Wenn HDCP nicht eingeschaltet werden kann, wird die Wiedergabe an HDMI/DVI-Anschlüssen blockiert. | ||
300 |
**Wenn die HDCP-Typeinschränkung NICHT definiert ist:** Übergibt Inhalte mit HDCP. Wenn HDCP nicht eingeschaltet werden kann, wird die Wiedergabe an HDMI/DVI-Anschlüssen blockiert. **Wenn die HDCP-Typeinschränkung definiert ist**: Übergibt Inhalte mit HDCP 2.2 und Inhaltsdatenstromtyp auf 1. Wenn DIE Einbindung von HDCP nicht möglich ist oder der Inhaltsdatenstromtyp nicht auf 1 festgelegt werden kann, wird die Wiedergabe an HDMI/DVI-Anschlüssen blockiert. |
|||
400 | Windows 10 übergibt niemals komprimierte digitale Videoinhalte an Ausgaben, unabhängig vom nachfolgenden OPL-Wert. Weitere Informationen zu komprimierten digitalen Videoinhalten finden Sie in den Complianceregeln für PlayReady-Produkte. | N/A\* | ||
500 |
* Nicht alle Werte für Ausgabeschutzebenen können von einem Lizenzierungsserver festgelegt werden. Weitere Informationen finden Sie unter den Regeln zur PlayReady Compliance.
Audio
OPL | Komprimiertes digitales Audio | Nicht komprimierte digitale Audiodaten | Analoges oder USB-Audio |
---|---|---|---|
HDMI, DisplayPort, MHL | HDMI, DisplayPort, MHL | Any | |
100 | Inhalt wird übergeben | Inhalt wird übergeben | Inhalt wird übergeben |
150 | Inhalt wird NICHT übergeben | ||
200 | |||
250 | Übergibt Inhalte, wenn HDCP auf HDMI, DisplayPort oder MHL eingebunden ist oder wenn SCMS eingebunden und auf CopyNever festgelegt ist | ||
300 | Übergibt Inhalte, wenn HDCP auf HDMI, DisplayPort oder MHL eingebunden ist |
Miracast
Mit PlayReady DRM können Sie Inhalte über miracast-Ausgabe wiedergeben, sobald HDCP 2.0 oder höher eingebunden ist. Unter Windows 10 gilt Miracast jedoch als digitale Ausgabe. Weitere Informationen zu Miracast-Szenarien finden Sie in den PlayReady-Complianceregeln. Die folgende Tabelle beschreibt die Zuordnungen zwischen verschiedenen OPLs in der PlayReady-Lizenz und wie PlayReady DRM sie für Miracast-Ausgaben erzwingt.
OPL | Komprimiertes digitales Audio | Nicht komprimierte digitale Audiodaten | Komprimiertes digitales Video | Nicht komprimiertes digitales Video |
---|---|---|---|---|
100 | Übergibt Inhalte, wenn HDCP 2.0 oder höher eingebunden wird. Wenn die Interaktion fehlschlägt, wird kein Inhalt übergeben. | Übergibt Inhalte, wenn HDCP 2.0 oder höher eingebunden wird. Wenn die Interaktion fehlschlägt, wird kein Inhalt übergeben. | N/A\* | Übergibt Inhalte, wenn HDCP 2.0 oder höher eingebunden wird. Wenn die Interaktion fehlschlägt, wird kein Inhalt übergeben. |
150 | Inhalt wird NICHT übergeben | N/A\* | ||
200 | ||||
250 | Übergibt Inhalte, wenn HDCP 2.0 oder höher eingebunden wird. Wenn die Interaktion fehlschlägt, wird kein Inhalt übergeben. | |||
270 | N/A\* | |||
300 | Übergibt Inhalte, wenn HDCP 2.0 oder höher eingebunden wird. Wenn die Interaktion fehlschlägt, wird kein Inhalt übergeben. | Inhalt wird NICHT übergeben |
**Wenn die HDCP-Typeinschränkung NICHT definiert ist:** Übergibt Inhalte, wenn HDCP 2.0 oder höher eingebunden wird. Wenn die Interaktion fehlschlägt, wird kein Inhalt übergeben. **Wenn die HDCP-Typeinschränkung definiert ist:** Übergibt Inhalte mit HDCP 2.2 und Inhaltsdatenstromtyp auf 1. Wenn HDCP keine Einbindung findet oder der Inhaltsdatenstromtyp nicht auf 1 festgelegt werden kann, wird der Inhalt NICHT übergeben. |
|
400 | N/A\* | Windows 10 übergibt niemals komprimierte digitale Videoinhalte an Ausgaben, unabhängig vom nachfolgenden OPL-Wert. Weitere Informationen zu komprimierten digitalen Videoinhalten finden Sie in den Complianceregeln für PlayReady-Produkte. | N/A\* | |
500 |
* Nicht alle Werte für Ausgabeschutzebenen können von einem Lizenzierungsserver festgelegt werden. Weitere Informationen finden Sie unter den Regeln zur PlayReady Compliance.
Zusätzliche explizite Ausgabeeinschränkungen
In der folgenden Tabelle wird die PlayReady DRM für Windows 10-Implementierung expliziter Einschränkungen für den Schutz vor digitalen Videoausgabeen beschrieben.
Szenario | GUID | Wenn... | Folge |
---|---|---|---|
Maximale effektive Auflösungscodierungsgröße | 9645E831-E01D-4FFF-8342-0A720E3E028F | Angeschlossene Ausgabe ist: digitale Videoausgabe, Miracast, HDMI, DVI usw. |
Übergibt Inhalte, wenn sie auf Folgendes beschränkt sind:
|
HDCP-Typeinschränkung | ABB2C6F1-E663-4625-A945-972D17B231E7 | Angeschlossene Ausgabe ist: digitale Videoausgabe, Miracast, HDMI, DVI usw. | Übergibt Inhalte mit HDCP 2.2 und dem auf 1 festgelegten Inhaltsdatenstromtyp. Wenn HDCP 2.2 nicht verwendet werden kann oder der Inhaltsdatenstromtyp nicht auf 1 festgelegt werden kann, wird der Inhalt NICHT übergeben. Nicht komprimierte Digitale Videoausgabeschutzebene eines Werts größer oder gleich 271 muss ebenfalls angegeben werden. |
In der folgenden Tabelle wird die PlayReady DRM für Windows 10-Implementierung expliziter Einschränkungen für den Schutz vor analogen Videoausgabe beschrieben.
Szenario | GUID | Wenn... | Folge | |
---|---|---|---|---|
Analoger Computermonitor | D783A191-E083-4BAF-B2DA-E69F910B3772 | Angeschlossene Ausgabe ist: VGA, DVI–analog usw. | SWDRM: PC schränkt die effektive Auflösung auf 520.000 Epx pro Frame ein und übergibt Inhalte | HWDRM: Inhalt wird nicht übergeben |
Analoge Komponente | 811C5110-46C8-4C6E-8163-C0482A15D47E | Verbundene Ausgabe ist: Komponente | SWDRM: PC schränkt die effektive Auflösung auf 520.000 Epx pro Frame ein und übergibt Inhalte | HWDRM: Inhalt wird nicht übergeben |
Analoge TV-Ausgänge | 2098DE8D-7DDD-4BAB-96C6-32EBB6FABEA3 | Analog TV OPL ist kleiner als 151 | CGMS-A muss eingebunden werden | |
225CD36F-F132-49EF-BA8C-C91EA28E4369 | Analog TV OPL ist kleiner als 101, und die Lizenz enthält nicht 2098DE8D-7DDD-4BAB-96C6-32EBB6FABEA3 | CGMS-A-Engagement muss versucht werden, inhalte können jedoch unabhängig vom Ergebnis wiedergegeben werden. | ||
Automatische Verstärkungskontrolle und Farbstreifen | C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA | Übergeben von Inhalten mit einer Auflösung kleiner oder gleich 520.000 px an analoge TV-Ausgabe | Legt AGC nur für Komponentenvideos und PAL-Modus fest, wenn die Auflösung kleiner als 520.000 px ist, und legt AGC- und Farbstreifeninformationen für NTSC fest, wenn die Auflösung kleiner als 520.000 px ist, gemäß Tabelle 3.5.7.3. in Complianceregeln | |
Digital-only Ausgabe | 760AE755-682A-41E0-B1B3-DCDF836A7306 | Verbundene Ausgabe ist analog | Inhalt wird nicht übergeben |
Hinweis
Wenn Sie einen Adapter-Dongle wie "Mini DisplayPort to VGA" für die Wiedergabe verwenden, sieht Windows 10 die Ausgabe als digitale Videoausgabe und kann keine analogen Videorichtlinien erzwingen.
In der folgenden Tabelle wird die PlayReady DRM für Windows 10-Implementierung beschrieben, die die Wiedergabe unter anderen Umständen ermöglicht.
Szenario | GUID | Wenn... | Folge | |
---|---|---|---|---|
Unbekannte Ausgabe | 786627D8-C2A6-44BE-8F88-08AE255B01A7 | Wenn die Ausgabe nicht vernünftigerweise bestimmt werden kann oder OPM nicht mit dem Grafiktreiber hergestellt werden kann | SWDRM: Inhalt wird übergeben | HWDRM: Inhalt wird nicht übergeben |
Unbekannte Ausgabe mit Einschränkung | B621D91F-EDCC-4035-8D4B-DC71760D43E9 | Wenn die Ausgabe nicht vernünftigerweise bestimmt werden kann oder OPM nicht mit dem Grafiktreiber hergestellt werden kann | SWDRM: PC schränkt die effektive Auflösung auf 520.000 Epx pro Frame ein und übergibt Inhalte | HWDRM: Inhalt wird nicht übergeben |
Voraussetzungen
Bevor Sie mit dem Erstellen Ihrer playReady-geschützten UWP-App beginnen, muss die folgende Software auf Ihrem System installiert werden:
- Windows 10.
- Wenn Sie eines der Beispiele für PlayReady DRM für UWP-Apps kompilieren, müssen Sie Microsoft Visual Studio 2015 oder höher verwenden, um die Beispiele zu kompilieren. Sie können weiterhin Microsoft Visual Studio 2013 verwenden, um eines der Beispiele aus PlayReady DRM für Windows 8.1 Store-Apps zu kompilieren.
Migrationshandbuch für UWP-Apps für PlayReady
Dieser Abschnitt enthält Informationen zum Migrieren Ihrer vorhandenen PlayReady Windows 8.x Store-Apps zu Windows 10.
Der Namespace für UWP-Apps von PlayReady unter Windows 10 wurde von Microsoft.Media.PlayReadyClient zu Windows.Media.Protection.PlayReady geändert. Dies bedeutet, dass Sie den alten Namespace durch den neuen Namespace in Ihrem Code durchsuchen und ersetzen müssen. Sie verweisen weiterhin auf eine winmd-Datei. Sie ist Teil von "windows.media.winmd" auf dem Windows 10-Betriebssystem. Sie befindet sich in "windows.winmd" als Teil des Windows SDK der TH. Für UWP wird in "windows.foundation.univeralappcontract.winmd" verwiesen.
Um PlayReady-geschützte High-Definition-Inhalte (HD)-Inhalte (1080p) und Ultra-High-Definition -Inhalte (UHD) wiederzugeben, müssen Sie PlayReady-Hardware-DRM implementieren. Informationen zum Implementieren von PlayReady-Hardware-DRM finden Sie unter Hardware-DRM.
Einige Inhalte werden im Hardware-DRM nicht unterstützt. Informationen zum Deaktivieren des Hardware-DRM und aktivieren des Software-DRM finden Sie unter Außerkraftsetzen des Hardware-DRM.
Stellen Sie im Hinblick auf den Medienschutz-Manager sicher, dass Ihr Code die folgenden Einstellungen aufweist, wenn er noch nicht vorhanden ist:
var mediaProtectionManager = new Windows.Media.Protection.MediaProtectionManager();
mediaProtectionManager.Properties["Windows.Media.Protection.MediaProtectionSystemId"] =
'{F4637010-03C3-42CD-B932-B48ADF3A6A54}'
var cpsystems = new Windows.Foundation.Collections.PropertySet();
cpsystems["{F4637010-03C3-42CD-B932-B48ADF3A6A54}"] =
"Windows.Media.Protection.PlayReady.PlayReadyWinRTTrustedInput";
mediaProtectionManager.Properties["Windows.Media.Protection.MediaProtectionSystemIdMapping"] = cpsystems;
mediaProtectionManager.Properties["Windows.Media.Protection.MediaProtectionContainerGuid"] =
"{9A04F079-9840-4286-AB92-E65BE0885F95}";
Proaktives Abrufen einer nicht persistenten Lizenz vor der Wiedergabe
In diesem Abschnitt wird beschrieben, wie Sie nicht persistente Lizenzen proaktiv erwerben, bevor die Wiedergabe beginnt.
In früheren Versionen von PlayReady DRM konnten nicht persistente Lizenzen nur während der Wiedergabe reaktiv erworben werden. In dieser Version können Sie nicht persistente Lizenzen proaktiv erwerben, bevor die Wiedergabe beginnt.
Erstellen Sie proaktiv eine Wiedergabesitzung, in der die nicht persistente Lizenz gespeichert werden kann. Zum Beispiel:
var cpsystems = new Windows.Foundation.Collections.PropertySet(); cpsystems["{F4637010-03C3-42CD-B932-B48ADF3A6A54}"] = "Windows.Media.Protection.PlayReady.PlayReadyWinRTTrustedInput"; // PlayReady var pmpSystemInfo = new Windows.Foundation.Collections.PropertySet(); pmpSystemInfo["Windows.Media.Protection.MediaProtectionSystemId"] = "{F4637010-03C3-42CD-B932-B48ADF3A6A54}"; pmpSystemInfo["Windows.Media.Protection.MediaProtectionSystemIdMapping"] = cpsystems; var pmpServer = new Windows.Media.Protection.MediaProtectionPMPServer( pmpSystemInfo );
Binden Sie diese Wiedergabesitzung an die Lizenzerwerbsklasse. Zum Beispiel:
var licenseSessionProperties = new Windows.Foundation.Collections.PropertySet(); licenseSessionProperties["Windows.Media.Protection.MediaProtectionPMPServer"] = pmpServer; var licenseSession = new Windows.Media.Protection.PlayReady.PlayReadyLicenseSession( licenseSessionProperties );
Erstellen Sie eine Lizenzdienstanfrage. Zum Beispiel:
var laSR = licenseSession.CreateLAServiceRequest();
Führen Sie den Lizenzerwerb mithilfe der serviceanforderung aus Schritt 3 aus. Die Lizenz wird in der Wiedergabesitzung gespeichert.
Binden Sie die Wiedergabesitzung an die Medienquelle für die Wiedergabe. Zum Beispiel:
licenseSession.configureMediaProtectionManager( mediaProtectionManager ); videoPlayer.msSetMediaProtectionManager( mediaProtectionManager );
Abfragen von Schutzfunktionen
Ab Windows 10, Version 1703, können Sie HW-DRM-Funktionen wie Decodieren von Codecs, Auflösung und Ausgabeschutz (HDCP) abfragen. Abfragen werden mit der IsTypeSupported-Methode ausgeführt, die eine Zeichenfolge verwendet, die die Funktionen darstellt, für die die Unterstützung abgefragt wird, und eine Zeichenfolge, die das Schlüsselsystem angibt, für das die Abfrage gilt. Eine Liste der unterstützten Zeichenfolgenwerte finden Sie auf der API-Referenzseite für IsTypeSupported. Im folgenden Codebeispiel wird die Verwendung dieser Methode veranschaulicht.
using namespace Windows::Media::Protection;
ProtectionCapabilities^ sr = ref new ProtectionCapabilities();
ProtectionCapabilityResult result = sr->IsTypeSupported(
L"video/mp4; codecs=\"avc1.640028\"; features=\"decode-bpp=10,decode-fps=29.97,decode-res-x=1920,decode-res-y=1080\"",
L"com.microsoft.playready");
switch (result)
{
case ProtectionCapabilityResult::Probably:
// Queue up UHD HW DRM video
break;
case ProtectionCapabilityResult::Maybe:
// Check again after UI or poll for more info.
break;
case ProtectionCapabilityResult::NotSupported:
// Do not queue up UHD HW DRM video.
break;
}
Hinzufügen eines sicheren Stopps
In diesem Abschnitt wird beschrieben, wie Sie Ihrer UWP-App sicheres Beenden hinzufügen.
Secure Stop stellt die Mittel für ein PlayReady-Gerät bereit, um einen Medienstreamingdienst sicher zu bestätigen, dass die Medienwiedergabe für einen bestimmten Teil von Inhalten beendet wurde. Diese Funktion stellt sicher, dass Ihre Medienstreamingdienste genaue Erzwingung und Berichterstellung von Nutzungseinschränkungen auf verschiedenen Geräten für ein bestimmtes Konto bereitstellen.
Es gibt zwei primäre Szenarien zum Senden einer Herausforderung für sicheres Beenden:
- Wenn die Medienpräsentation beendet wird, weil das Ende des Inhalts erreicht wurde oder wenn der Benutzer die Medienpräsentation an einer beliebigen Stelle in der Mitte beendet hat.
- Wenn die vorherige Sitzung unerwartet endet (z. B. aufgrund eines System- oder App-Absturzes). Die App muss entweder beim Starten oder Herunterfahren nach herausragenden Sitzungen für sicheres Beenden abfragen und Abfrage(en) getrennt von jeder anderen Medienwiedergabe senden.
Eine Beispielimplementierung des sicheren Beendens finden Sie in der securestop.cs Datei im PlayReady-Beispiel im Codebeispielbrowser.
Verwenden von PlayReady DRM auf Xbox One
Um PlayReady DRM in einer UWP-App auf Xbox One zu verwenden, müssen Sie zuerst Ihr Partner Center-Konto registrieren, das Sie zum Veröffentlichen der App für die Autorisierung für die Verwendung von PlayReady verwenden. Dazu haben Sie zwei Möglichkeiten:
- Lassen Sie Ihren Kontakt bei Microsoft anfordern.
- Beantragen Sie die Autorisierung, indem Sie Ihr Partner Center-Konto und den Firmennamen an pronxbox@microsoft.com.
Nachdem Sie die Autorisierung erhalten haben, müssen Sie dem App-Manifest einen zusätzlichen <DeviceCapability>
Hinzufügen hinzufügen. Sie müssen dies manuell hinzufügen, da derzeit keine Einstellung im App-Manifest-Designer verfügbar ist. Führen Sie die folgenden Schritte aus, um sie zu konfigurieren:
Öffnen Sie beim Öffnen des Projekts in Visual Studio die Projektmappen-Explorer, und klicken Sie mit der rechten Maustaste auf "Package.appxmanifest".
Wählen Sie "Öffnen mit...", wählen Sie den XML-Editor (Text) aus, und klicken Sie auf "OK".
Fügen Sie zwischen den
<Capabilities>
Tags Folgendes<DeviceCapability>
hinzu:<DeviceCapability Name="6a7e5907-885c-4bcb-b40a-073c067bd3d5" />
Speichern Sie die Datei .
Schließlich gibt es eine letzte Überlegung bei der Verwendung von PlayReady auf Xbox One: Auf Entwicklungskits gibt es ein SL150-Limit (d. h., sie können SL2000- oder SL3000-Inhalte nicht wiedergeben). Einzelhandelsgeräte können Inhalte mit höheren Sicherheitsstufen wiedergeben, aber um Ihre App in einem Dev Kit zu testen, müssen Sie SL150-Inhalte verwenden. Sie können diesen Inhalt auf eine der folgenden Arten testen:
- Verwenden Sie kuratierte Testinhalte, für die SL150-Lizenzen erforderlich sind.
- Implementieren Sie Logik, damit nur bestimmte authentifizierte Testkonten SL150-Lizenzen für bestimmte Inhalte erwerben können.
Verwenden Sie den Ansatz, der für Ihr Unternehmen und Ihr Produkt am sinnvollsten ist.