PlayReady är en DRM-teknik utvecklad av Microsoft för att skydda innehåll på Windows, Xbox och andra plattformar som stöder den universella körningsmiljön UWP. Systemet använder en tre-nivåers säkerhetsmodell SL (Security Level) från SL150 till SL3000, där den högsta nivån kräver hårdvarukryptering via TPM. Enligt Microsoft Docs (2025) stöder PlayReady 4.0 4K HDR-kryptering och utökad analys av innehållsanvändning.
Huvudpunkter
PlayReady är en teknik för hantering av digitala rättigheter (DRM) utvecklad av Microsoft 2007 för att skydda mediainnehåll och andra digitala tillgångar. Den ersatte tekniken WMDRM (Windows Media DRM) och blev skyddsstandarden för Windows Media Center, Xbox Video och Microsoft Silverlight.
Den största fördelen med PlayReady — ett enhetligt licenssystem för olika typer av innehåll: video, ljud, e-böcker, spel och dokument. Tekniken stöder distributionsmodeller för prenumeration (Subscription), uthyrning (Rental) och köp (Purchase), vilket gör den attraktiv för medietjänster och utbildningsplattformar.
PlayReady-arkitekturen består av tre nyckelkomponenter: klientkörningsmiljön PlayReady Device Porting Kit, licensservern PlayReady License Server och innehållspaketeringsverktyget. PlayReady-körningsmiljön är inbäddad i applikationen eller spelaren och ansvarar för att dekryptera innehåll på enheten.
Licensservern genererar licensnycklar baserat på policyer som fastställts av innehållsleverantören. Innehållspaketeraren krypterar mediafiler med hjälp av standarden Common Encryption (CENC) och bäddar in metadata för att koppla till en specifik licens.
Skyddsprocessen för PlayReady börjar med paketeringssteget, när mediainnehåll krypteras med en symmetrisk nyckel, som sedan skyddas med licensserverns publika nyckel. Det paketerade innehållet placeras på en CDN och är tillgängligt för nedladdning eller streaming.
När en användare begär skyddat innehåll initierar spelaren en licensförfrågan till licensservern. Servern verifierar användarens autentiseringsuppgifter, hans åtkomsträttigheter (prenumeration, uthyrning, köp) och utfärdar en licens som innehåller dekrypteringsnyckeln.
PlayReady använder ett utbytesprotokoll baserat på SOAP eller JSON, där licensförfrågan innehåller innehållsidentifierare (Content ID), enhetsidentifierare och applikationssignatur. Servern returnerar licensen i XML-format, krypterad med enhetens publika nyckel.
Licensen innehåller innehållsnyckeln (CEK) inslagen i enhetsnyckeln (Device Key) och en uppsättning policyer. Policyerna kan begränsa uppspelningstid, videokvalitet, antal enheter och utmatningstyp (HDMI, komposit).
var mediaProtectionManager = new MediaProtectionManager();
var properties = new PropertySet();
properties["Windows.Media.Protection.MediaProtectionSystemId"] =
"9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e";
mediaProtectionManager.SetProtectionScheme(
MediaProtectionSystemType.PlayReady,
properties
);
var mediaSource = MediaSource.CreateFromUri(
new Uri(contentUrl)
);
mediaPlayer.Play(mediaSource);
PlayReady 3.0, som släpptes 2014, introducerade stöd för hårdvarukryptering via TPM 2.0 och säkerhetsnivån SL3000 för 4K-innehåll. Denna version lade till möjligheten att binda licensen till en specifik enhet via Device Binding-mekanismen, vilket förhindrade överföring av licenser mellan enheter.
PlayReady 4.0, som tillkännagavs 2020, utökade funktionaliteten med tre viktiga innovationer: stöd för utökad telemetri av innehållsanvändning, förbättrad analys för innehållsleverantörer och optimering av energiförbrukning på mobila enheter.
| Version | År | Nyckelfunktioner | Maximal SL |
|---|---|---|---|
| PlayReady 2.0 | 2011 | Mjukvarukryptering, upp till 1080p | SL2000 |
| PlayReady 3.0 | 2014 | Hårdvarukryptering, 4K, Device Binding | SL3000 |
| PlayReady 4.0 | 2020 | Telemetri, energieffektivitet, HDR | SL3000 |
Säkerhetsnivåerna för PlayReady bestämmer hur kryptografiska operationer utförs och den maximala upplösningen av innehåll. SL150 är en helt mjukvarubaserad implementering, SL2000 kräver delvis hårdvarustöd, SL3000 är fullständig hårdvarukryptering med TPM.
Enheter med SL3000 kan spela upp innehåll i 4K HDR, och dekrypteringsnycklarna lämnar aldrig TPM:s skyddade område. SL2000 är begränsad till 1080p, SL150 är begränsad till 720p och passar endast för stationära webbläsare utan hårdvaruskydd.
Licenssystemet för PlayReady är ett av de mest flexibla bland DRM-lösningar. Det stöder olika distributionsmodeller: uthyrning med tidsbegränsning, försäljning med obegränsad åtkomst, prenumeration med regelbunden nyckelförnyelse och förhandsgranskning med begränsad varaktighet.
Varje licens innehåller en uppsättning policyer som licensservern tillämpar på innehållsnyckeln. Policyerna kan inkludera: maximal videoupplösning, typ av skyddad utmatning (HDCP obligatoriskt för 4K), antal aktiveringar, tidsbegränsningar (absoluta och relativa).
public async Task AcquireLicenseAsync(MediaProtectionManager manager)
{
var serviceRequest = new PlayReadyLicenseAcquisitionServiceRequest
{
ContentHeader = new PlayReadyContentHeader(
contentKeyId,
contentUrl,
licenseServerUrl,
null
),
DomainServiceId = domainId
};
var result = await serviceRequest.BeginServiceRequest();
if (result == PlayReadyLicenseAcquisitionResult.Success)
{
HandleLicenseAcquired(serviceRequest.GetLicenses());
}
}
PlayReady stöds på ett brett spektrum av plattformar, inklusive Windows (UWP, Win32), Xbox, Android (via PlayReady Porting Kit), iOS (begränsat) och Smart TV (Samsung Tizen, LG webOS). För varje plattform finns en egen implementering av körningsmiljön och API.
På Windows sker integrationen via MediaProtectionManager och PlayReady API i namnrymden Windows.Media.Protection.PlayReady. På Android används PlayReady Porting Kit, som är inbäddat i applikationen via NDK och tillhandahåller Java-wrapper för att arbeta med DRM.
I UWP-miljön skapar applikationen en instans av MediaProtectionManager, registrerar PlayReady som skyddssystem och konfigurerar händelsehanterare för licensiering. MediaPlayerElement-spelaren bearbetar automatiskt skyddade strömmar om MediaProtectionManager är korrekt konfigurerad.
Licensservern för PlayReady kan distribueras både på Azure-infrastruktur och på egna servrar. Microsoft tillhandahåller färdiga PlayReady License Server-lösningar inom Azure Media Services, vilket förenklar integrationen för molnprojekt.
På Android integreras PlayReady via NDK-biblioteket libplayready.so, som tillhandahåller API i C++, inslaget i Java-klasser. ExoPlayer stöder PlayReady på samma sätt som Widevine, via standard MediaDrm API med PlayReadys UUID.
PlayReadys UUID för MediaDrm — 9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e. Vid initiering av ExoPlayer med PlayReady är konfigurationen analog med Widevine: licensserverns URL, autentiseringsrubriker och DRM-typ anges.
För att PlayReady ska fungera korrekt på Android krävs en installerad PlayReady-körningsmiljö, som vanligtvis är förinstallerad på enheter från Samsung, LG och andra märken som använder PlayReady Porting Kit. På enheter utan förinstallerad körningsmiljö måste applikationen inkludera libplayready.so-biblioteket i APK-filen.
PlayReady är den dominerande DRM:n på Smart TV-plattformar, inklusive Samsung Tizen och LG webOS. På dessa plattformar tillhandahåller den inbyggda körningsmiljön PlayReady hårdvaruskydd på TV:ns chipsetnivå, vilket möjliggör uppspelning av innehåll i 4K HDR utan ytterligare inställningar.
Integration på Smart TV sker via PlayReady Device Porting Kit för specifik SoC (MediaTek, Realtek, Amlogic). TV-tillverkare förinstallerar PlayReady-körningsmiljön i firmware-fasen, och applikationer startar den via standard EME API i webbläsarspelaren eller inbyggda applikationen.
För innehållsleverantörer är det viktigt att beakta att inte alla Smart TV stöder den högsta SL3000-nivån — äldre modeller kan vara begränsade till SL2000 och 1080p-kvalitet. HDCP-kompatibilitet är också obligatorisk för utmatning av innehåll i 4K via HDMI.
PlayReady 4.0 introducerade utökad telemetri som gör det möjligt för innehållsleverantörer att få detaljerad information om innehållsanvändning: tittartid, försök till obehörig åtkomst, enhetstyp, körningsmiljöversion. Telemetridata samlas in via en säker kanal och signeras digitalt för att förhindra förfalskning.
Återkallningsmekanismen (revocation) i PlayReady 4.0 gör det möjligt för innehållsleverantörer att blockera komprometterade enheter eller körningsmiljöversioner i realtid. Återkallningslistan distribueras via licensservern och uppdateras automatiskt vid varje licensförfrågan, vilket säkerställer snabb reaktion på sårbarheter.
Vanliga frågor
PlayReady — Microsofts DRM-lösning för att skydda digitalt innehåll. Tekniken stöder hårdvaru- och mjukvarukryptering, flexibla licenspolicyer och fungerar på Windows, Xbox, Android och Smart TV.
De viktigaste PlayReady-versionerna: 3.0 (2014) med hårdvarukryptering och 4K-stöd, 4.0 (2020) med telemetri och energieffektivitet. Nyare versioner är bakåtkompatibla med innehåll paketerat för tidigare versioner.
SL150 — mjukvarukryptering (720p), SL2000 — delvis hårdvara (1080p), SL3000 — fullständig hårdvarukryptering via TPM (4K HDR). Säkerhetsnivån bestämmer maximal kvalitet och hur nycklar lagras.
Ja, PlayReady stöds på iOS, men begränsat — via PlayReady Porting Kit för iOS. På Apple-enheter är dock den föredragna DRM:n fortfarande FairPlay, eftersom den är fullt integrerad i Secure Enclaves hårdvaruarkitektur.
PlayReady från Microsoft stöder Windows och Xbox, använder TPM för hårdvarukryptering och tillhandahåller utökad telemetri. Widevine från Google är inriktad på Android och Chrome, använder TEE och kräver ingen betald licens för utvecklare.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också