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 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.