PlayReady е DRM технология, разработена от Microsoft за защита на съдържание на Windows, Xbox и други платформи, поддържащи универсалната среда за изпълнение UWP. Системата използва тристепенен модел на сигурност SL (Security Level) от SL150 до SL3000, като най-високото ниво изисква хардуерно криптиране чрез TPM. Според документацията на Microsoft Docs (2025), PlayReady 4.0 поддържа криптиране на 4K HDR и разширена аналитика на използването на съдържание.
Основни точки
PlayReady е технология за управление на цифрови права (DRM), разработена от Microsoft през 2007 г. за защита на медийно съдържание и други цифрови активи. Тя замени технологията WMDRM (Windows Media DRM) и стана стандарт за защита за Windows Media Center, Xbox Video и Microsoft Silverlight.
Основното предимство на PlayReady — единна система за лицензиране за различни видове съдържание: видео, аудио, електронни книги, игри и документи. Технологията поддържа модели на разпространение чрез абонамент (Subscription), наемане (Rental) и покупка (Purchase), което я прави привлекателна за медийни услуги и образователни платформи.
Архитектурата на PlayReady се състои от три ключови компонента: клиентска среда за изпълнение PlayReady Device Porting Kit, сървър за лицензи PlayReady License Server и инструмент за опаковане на съдържание. Средата за изпълнение на PlayReady се вгражда в приложението или плейъра и отговаря за декриптирането на съдържание на устройството.
Сървърът за лицензи генерира ключове за лицензи въз основа на политики, зададени от доставчика на съдържание. Опаковчикът на съдържание криптира медийни файлове, използвайки стандарта Common Encryption (CENC), и вгражда метаданни за свързване с конкретен лиценз.
Процесът на защита на PlayReady започва с етапа на опаковане, когато медийното съдържание се криптира със симетричен ключ, който след това се защитава с публичния ключ на сървъра за лицензи. Опакованото съдържание се поставя на CDN и е достъпно за изтегляне или стрийминг.
Когато потребител поиска защитено съдържание, плейърът инициира заявка за лиценз към сървъра за лицензи. Сървърът проверява идентификационните данни на потребителя, неговите права за достъп (абонамент, наемане, покупка) и издава лиценз, съдържащ ключа за декриптиране.
PlayReady използва протокол за обмен, базиран на SOAP или JSON, където заявката за лиценз включва идентификатор на съдържание (Content ID), идентификатор на устройството и подпис на приложението. Сървърът връща лиценза във формат XML, криптиран с публичния ключ на устройството.
Лицензът съдържа ключ за съдържание (CEK), увит в ключа на устройството (Device Key), и набор от политики. Политиките могат да ограничават времето за възпроизвеждане, качеството на видео, броя на устройствата и типа изход (HDMI, композитен).
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, пуснат през 2014 г., въведе поддръжка за хардуерно криптиране чрез TPM 2.0 и ниво на сигурност SL3000 за 4K съдържание. Тази версия добави възможност за обвързване на лиценз с конкретно устройство чрез механизма Device Binding, което предотврати прехвърлянето на лицензи между устройства.
PlayReady 4.0, обявен през 2020 г., разшири функционалността с три ключови иновации: поддръжка за разширена телеметрия на използването на съдържание, подобрена аналитика за доставчици на съдържание и оптимизация на консумацията на енергия на мобилни устройства.
| Версия | Година | Ключови възможности | Максимален SL |
|---|---|---|---|
| PlayReady 2.0 | 2011 | Софтуерно криптиране, до 1080p | SL2000 |
| PlayReady 3.0 | 2014 | Хардуерно криптиране, 4K, Device Binding | SL3000 |
| PlayReady 4.0 | 2020 | Телеметрия, енергийна ефективност, HDR | SL3000 |
Нивата на сигурност на PlayReady определят начина на изпълнение на криптографските операции и максималната резолюция на съдържанието. SL150 е напълно софтуерна имплементация, SL2000 изисква частична хардуерна поддръжка, SL3000 е пълно хардуерно криптиране с TPM.
Устройствата с SL3000 могат да възпроизвеждат съдържание в 4K HDR, като ключовете за декриптиране никога не напускат защитената зона на TPM. SL2000 е ограничен до 1080p, SL150 е ограничен до 720p и е подходящ само за десктоп браузъри без хардуерна защита.
Системата за лицензиране на PlayReady е една от най-гъвкавите сред DRM решенията. Тя поддържа различни модели на разпространение: наемане с изтичане на време, продажба с неограничен достъп, абонамент с редовно обновяване на ключове и предварителен преглед с ограничена продължителност.
Всеки лиценз съдържа набор от политики, които сървърът за лицензи прилага към ключа за съдържание. Политиките могат да включват: максимална резолюция на видео, тип защитен изход (HDCP задължителен за 4K), брой активации, времеви ограничения (абсолютни и относителни).
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 се поддържа на широк спектър от платформи, включително 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.
В средата UWP приложението създава инстанция на MediaProtectionManager, регистрира PlayReady като защитна система и конфигурира манипулатори на събития за лицензиране. Плейърът MediaPlayerElement автоматично обработва защитени потоци, ако MediaProtectionManager е конфигуриран правилно.
Сървърът за лицензи PlayReady може да бъде разположен както в инфраструктурата Azure, така и на собствени сървъри. Microsoft предоставя готови решения PlayReady License Server в състава на Azure Media Services, което опростява интеграцията за облачни проекти.
На 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.
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 въведе разширена телеметрия, която позволява на доставчиците на съдържание да получават детайлна информация за използването на съдържание: време за гледане, опити за неоторизиран достъп, тип устройство, версия на средата за изпълнение. Телеметричните данни се събират чрез защитен канал и се подписват с цифров подпис за предотвратяване на фалшификация.
Механизмът за отнемане (revocation) в PlayReady 4.0 позволява на доставчиците на съдържание да блокират компрометирани устройства или версии на средата за изпълнение в реално време. Списъкът за отнемане се разпространява чрез сървъра за лицензи и се актуализира автоматично при всяка заявка за лиценз, което осигурява оперативна реакция на уязвимости.
Често задавани въпроси
PlayReady — DRM решение на Microsoft за защита на цифрово съдържание. Технологията поддържа хардуерно и софтуерно криптиране, гъвкави политики за лицензиране и работи на Windows, Xbox, Android и Smart TV.
Основните версии на PlayReady: 3.0 (2014) с хардуерно криптиране и поддръжка на 4K, 4.0 (2020) с телеметрия и енергийна ефективност. По-новите версии са обратно съвместими със съдържание, опаковано за предишни версии.
SL150 — софтуерно криптиране (720p), SL2000 — частично хардуерно (1080p), SL3000 — пълно хардуерно криптиране чрез TPM (4K HDR). Нивото на сигурност определя максималното качество и начина на съхранение на ключовете.
Да, PlayReady се поддържа на iOS, но ограничено — чрез PlayReady Porting Kit за iOS. На устройствата на Apple обаче предпочитаният DRM остава FairPlay, тъй като е напълно интегриран в хардуерната архитектура Secure Enclave.
PlayReady от Microsoft поддържа Windows и Xbox, използва TPM за хардуерно криптиране и предоставя разширена телеметрия. Widevine от Google е ориентиран към Android и Chrome, използва TEE и не изисква платен лиценз за разработчици.
Резюме
Ще разработим мобилно приложение под ключ
IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също