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 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также