PlayReady: какво е това, DRM от Microsoft и версии

Автор: IT Sectr Публикувано: 2026-05-24 Време за четене: 8 мин

PlayReady е DRM технология, разработена от Microsoft за защита на съдържание на Windows, Xbox и други платформи, поддържащи универсалната среда за изпълнение UWP. Системата използва тристепенен модел на сигурност SL (Security Level) от SL150 до SL3000, като най-високото ниво изисква хардуерно криптиране чрез TPM. Според документацията на Microsoft Docs (2025), PlayReady 4.0 поддържа криптиране на 4K HDR и разширена аналитика на използването на съдържание.

Основни точки

  • PlayReady — DRM решение на Microsoft с тристепенен модел на сигурност SL150, SL2000, SL3000.
  • Версия 4.0 поддържа 4K HDR, хардуерно криптиране чрез TPM и разширена телеметрия.
  • Лицензиране PlayReady работи чрез политики: време, качество, брой устройства, изход на екрана.
  • Крос-платформеност позволява използването на PlayReady на Windows, Xbox, Android, iOS и Smart TV.
  • PlayReady NMCR (Non-Media Content Receiver) защитава не-медийни данни, включително документи и игри.

Какво е PlayReady?

PlayReady е технология за управление на цифрови права (DRM), разработена от Microsoft през 2007 г. за защита на медийно съдържание и други цифрови активи. Тя замени технологията WMDRM (Windows Media DRM) и стана стандарт за защита за Windows Media Center, Xbox Video и Microsoft Silverlight.

Основното предимство на PlayReady — единна система за лицензиране за различни видове съдържание: видео, аудио, електронни книги, игри и документи. Технологията поддържа модели на разпространение чрез абонамент (Subscription), наемане (Rental) и покупка (Purchase), което я прави привлекателна за медийни услуги и образователни платформи.

Архитектура на PlayReady

Архитектурата на PlayReady се състои от три ключови компонента: клиентска среда за изпълнение PlayReady Device Porting Kit, сървър за лицензи PlayReady License Server и инструмент за опаковане на съдържание. Средата за изпълнение на PlayReady се вгражда в приложението или плейъра и отговаря за декриптирането на съдържание на устройството.

Сървърът за лицензи генерира ключове за лицензи въз основа на политики, зададени от доставчика на съдържание. Опаковчикът на съдържание криптира медийни файлове, използвайки стандарта Common Encryption (CENC), и вгражда метаданни за свързване с конкретен лиценз.

Как работи PlayReady DRM?

Процесът на защита на PlayReady започва с етапа на опаковане, когато медийното съдържание се криптира със симетричен ключ, който след това се защитава с публичния ключ на сървъра за лицензи. Опакованото съдържание се поставя на CDN и е достъпно за изтегляне или стрийминг.

Когато потребител поиска защитено съдържание, плейърът инициира заявка за лиценз към сървъра за лицензи. Сървърът проверява идентификационните данни на потребителя, неговите права за достъп (абонамент, наемане, покупка) и издава лиценз, съдържащ ключа за декриптиране.

Протокол за обмен на лицензи

PlayReady използва протокол за обмен, базиран на SOAP или JSON, където заявката за лиценз включва идентификатор на съдържание (Content ID), идентификатор на устройството и подпис на приложението. Сървърът връща лиценза във формат XML, криптиран с публичния ключ на устройството.

Лицензът съдържа ключ за съдържание (CEK), увит в ключа на устройството (Device Key), и набор от политики. Политиките могат да ограничават времето за възпроизвеждане, качеството на видео, броя на устройствата и типа изход (HDMI, композитен).

Инициализиране на сесия на PlayReady

csharp
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 и 4.0

PlayReady 3.0, пуснат през 2014 г., въведе поддръжка за хардуерно криптиране чрез TPM 2.0 и ниво на сигурност SL3000 за 4K съдържание. Тази версия добави възможност за обвързване на лиценз с конкретно устройство чрез механизма Device Binding, което предотврати прехвърлянето на лицензи между устройства.

PlayReady 4.0, обявен през 2020 г., разшири функционалността с три ключови иновации: поддръжка за разширена телеметрия на използването на съдържание, подобрена аналитика за доставчици на съдържание и оптимизация на консумацията на енергия на мобилни устройства.

Сравнение на версиите на PlayReady

ВерсияГодинаКлючови възможностиМаксимален SL
PlayReady 2.02011Софтуерно криптиране, до 1080pSL2000
PlayReady 3.02014Хардуерно криптиране, 4K, Device BindingSL3000
PlayReady 4.02020Телеметрия, енергийна ефективност, HDRSL3000

Нива на сигурност на PlayReady

Нивата на сигурност на PlayReady определят начина на изпълнение на криптографските операции и максималната резолюция на съдържанието. SL150 е напълно софтуерна имплементация, SL2000 изисква частична хардуерна поддръжка, SL3000 е пълно хардуерно криптиране с TPM.

Устройствата с SL3000 могат да възпроизвеждат съдържание в 4K HDR, като ключовете за декриптиране никога не напускат защитената зона на TPM. SL2000 е ограничен до 1080p, SL150 е ограничен до 720p и е подходящ само за десктоп браузъри без хардуерна защита.

Лицензиране и политики на PlayReady

Системата за лицензиране на PlayReady е една от най-гъвкавите сред DRM решенията. Тя поддържа различни модели на разпространение: наемане с изтичане на време, продажба с неограничен достъп, абонамент с редовно обновяване на ключове и предварителен преглед с ограничена продължителност.

Всеки лиценз съдържа набор от политики, които сървърът за лицензи прилага към ключа за съдържание. Политиките могат да включват: максимална резолюция на видео, тип защитен изход (HDCP задължителен за 4K), брой активации, времеви ограничения (абсолютни и относителни).

Типове политики на PlayReady

  • Time-based — времево ограничение: абсолютна дата на изтичане или относителен период от първото възпроизвеждане.
  • Output protection — ограничение на типа видео изход: задължителен HDCP за цифрови изходи, забрана на аналогов изход.
  • Resolution constraint — максимална резолюция: 720p, 1080p, 4K в зависимост от нивото на сигурност на устройството.
  • Device count — максимален брой устройства, на които може да бъде активиран един лиценз.

Пример за обработка на лиценз

csharp
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 на различни платформи

PlayReady се поддържа на широк спектър от платформи, включително Windows (UWP, Win32), Xbox, Android (чрез PlayReady Porting Kit), iOS (ограничено) и Smart TV (Samsung Tizen, LG webOS). За всяка платформа съществува своя имплементация на среда за изпълнение и API.

На Windows интеграцията се осъществява чрез MediaProtectionManager и PlayReady API в пространството на имената Windows.Media.Protection.PlayReady. На Android се използва PlayReady Porting Kit, който се вгражда в приложението чрез NDK и предоставя Java обвивки за работа с DRM.

Интеграция на Windows (UWP)

В средата UWP приложението създава инстанция на MediaProtectionManager, регистрира PlayReady като защитна система и конфигурира манипулатори на събития за лицензиране. Плейърът MediaPlayerElement автоматично обработва защитени потоци, ако MediaProtectionManager е конфигуриран правилно.

Сървърът за лицензи PlayReady може да бъде разположен както в инфраструктурата Azure, така и на собствени сървъри. Microsoft предоставя готови решения PlayReady License Server в състава на Azure Media Services, което опростява интеграцията за облачни проекти.

Интеграция на Android

На Android PlayReady се интегрира чрез NDK библиотеката libplayready.so, която предоставя API на C++, обвита в Java класове. ExoPlayer поддържа PlayReady подобно на Widevine, чрез стандартния MediaDrm API с UUID на PlayReady.

UUID на PlayReady за MediaDrm — 9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e. При инициализиране на ExoPlayer с PlayReady конфигурацията е аналогична на Widevine: посочва се URL на сървъра за лицензи, заглавки за удостоверяване и тип DRM.

За правилната работа на PlayReady на Android е необходимо инсталирана среда за изпълнение на PlayReady, която обикновено е предварително инсталирана на устройства на Samsung, LG и други марки, използващи PlayReady Porting Kit. На устройства без предварително инсталирана среда за изпълнение, приложението трябва да включва библиотеката libplayready.so в APK.

Интеграция на Smart TV

PlayReady е доминиращият DRM на платформите Smart TV, включително Samsung Tizen и LG webOS. На тези платформи вградената среда за изпълнение PlayReady осигурява хардуерна защита на ниво чипсет на телевизора, което позволява възпроизвеждане на съдържание в 4K HDR без допълнителни настройки.

Интеграцията на Smart TV се осъществява чрез PlayReady Device Porting Kit за конкретен SoC (MediaTek, Realtek, Amlogic). Производителите на телевизори предварително инсталират средата за изпълнение на PlayReady на етапа на фърмуера, а приложенията я стартират чрез стандартния EME API в уеб плейъра или родното приложение.

За доставчиците на съдържание е важно да вземат предвид, че не всички Smart TV поддържат най-високото ниво SL3000 — по-старите модели може да бъдат ограничени до SL2000 и качество 1080p. Съвместимостта с HDCP също е задължителна за извеждане на съдържание в 4K чрез HDMI.

Сигурност и телеметрия в PlayReady 4.0

PlayReady 4.0 въведе разширена телеметрия, която позволява на доставчиците на съдържание да получават детайлна информация за използването на съдържание: време за гледане, опити за неоторизиран достъп, тип устройство, версия на средата за изпълнение. Телеметричните данни се събират чрез защитен канал и се подписват с цифров подпис за предотвратяване на фалшификация.

Механизмът за отнемане (revocation) в PlayReady 4.0 позволява на доставчиците на съдържание да блокират компрометирани устройства или версии на средата за изпълнение в реално време. Списъкът за отнемане се разпространява чрез сървъра за лицензи и се актуализира автоматично при всяка заявка за лиценз, което осигурява оперативна реакция на уязвимости.

Често задавани въпроси

Какво е PlayReady DRM?

PlayReady — DRM решение на Microsoft за защита на цифрово съдържание. Технологията поддържа хардуерно и софтуерно криптиране, гъвкави политики за лицензиране и работи на Windows, Xbox, Android и Smart TV.

Какви версии на PlayReady съществуват?

Основните версии на PlayReady: 3.0 (2014) с хардуерно криптиране и поддръжка на 4K, 4.0 (2020) с телеметрия и енергийна ефективност. По-новите версии са обратно съвместими със съдържание, опаковано за предишни версии.

Каква е разликата между SL150, SL2000 и SL3000?

SL150 — софтуерно криптиране (720p), SL2000 — частично хардуерно (1080p), SL3000 — пълно хардуерно криптиране чрез TPM (4K HDR). Нивото на сигурност определя максималното качество и начина на съхранение на ключовете.

Може ли да се използва PlayReady на iOS?

Да, PlayReady се поддържа на iOS, но ограничено — чрез PlayReady Porting Kit за iOS. На устройствата на Apple обаче предпочитаният DRM остава FairPlay, тъй като е напълно интегриран в хардуерната архитектура Secure Enclave.

По какво се различава PlayReady от Widevine?

PlayReady от Microsoft поддържа Windows и Xbox, използва TPM за хардуерно криптиране и предоставя разширена телеметрия. Widevine от Google е ориентиран към Android и Chrome, използва TEE и не изисква платен лиценз за разработчици.

Резюме

  • PlayReady — DRM от Microsoft с поддръжка на Windows, Xbox, Android, iOS и Smart TV чрез Porting Kit.
  • Три нива на сигурност SL150, SL2000, SL3000 определят максималното качество и типа криптиране.
  • Версия 4.0 добави телеметрия, разширена аналитика и поддръжка на HDR за доставчици на съдържание.
  • Политики за лицензиране включват времеви ограничения, защита на изхода, ограничение на качеството и броя на устройствата.
  • Интеграция на Windows чрез MediaProtectionManager UWP, на Android чрез NDK и ExoPlayer.
  • PlayReady Server SDK е достъпен в Azure Media Services и за локално разполагане.
  • NMCR разширява приложението на PlayReady за защита на не-медийни данни: документи, игри и приложения.

Ще разработим мобилно приложение под ключ

IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също