PlayReady:什么是它、来自 Microsoft 的 DRM 和版本

作者: IT Sectr 发布日期: 2026-05-24 阅读时间: 8 分钟

PlayReady 是一种 DRM 技术,由 Microsoft 开发,用于保护 Windows、Xbox 和其他支持通用执行环境 UWP 的平台上的内容。该系统使用三级安全模型 SL(安全级别),从 SL150 到 SL3000,其中最高级别需要通过 TPM 进行硬件加密。根据 Microsoft Docs(2025)文档,PlayReady 4.0 支持 4K HDR 加密和扩展的内容使用分析。

要点

  • PlayReady — Microsoft 的 DRM 解决方案,具有三级安全模型 SL150、SL2000、SL3000。
  • 4.0 版本 支持 4K HDR、通过 TPM 进行硬件加密以及扩展的遥测。
  • 许可 PlayReady 通过策略工作:时间、质量、设备数量、屏幕输出。
  • 跨平台 允许在 Windows、Xbox、Android、iOS 和 Smart TV 上使用 PlayReady。
  • PlayReady NMCR(非媒体内容接收器)保护非媒体数据,包括文档和游戏。

什么是 PlayReady?

PlayReady 是 Microsoft 于 2007 年开发的一种数字版权管理(DRM)技术,用于保护媒体内容和其他数字资产。它取代了 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 运行时嵌入在应用程序或播放器中,负责在设备上解密内容。

许可证服务器根据内容提供商设定的策略生成许可密钥。内容打包器使用通用加密(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 进行硬件加密的支持和用于 4K 内容的 SL3000 安全级别。该版本通过设备绑定(Device Binding)机制增加了将许可证绑定到特定设备的能力,阻止了许可证在设备之间的传输。

PlayReady 4.0,于 2020 年宣布,通过三项关键创新扩展了功能:支持扩展的内容使用遥测、改进的内容提供商分析以及移动设备上的能耗优化

PlayReady 版本比较

版本年份关键功能最大 SL
PlayReady 2.02011软件加密,最高 1080pSL2000
PlayReady 3.02014硬件加密,4K,设备绑定SL3000
PlayReady 4.02020遥测,能效,HDRSL3000

PlayReady 安全级别

安全级别 PlayReady 确定执行加密操作的方式和内容的最大分辨率。SL150 是完全软件实现,SL2000 需要部分硬件支持,SL3000 是基于 TPM 的完全硬件加密。

具有 SL3000 的设备可以播放 4K HDR 内容,并且解密密钥永远不会离开 TPM 的保护区域。SL2000 限制为 1080p,SL150 限制为 720p,仅适用于没有硬件保护的桌面浏览器。

PlayReady 许可和策略

许可系统 PlayReady 是 DRM 解决方案中最灵活的之一。它支持不同的分发模式:有时间限制的租赁、无限制访问的购买、定期更新密钥的订阅以及有限持续时间的预览。

每个许可证包含许可证服务器应用于内容密钥的一组策略。策略可以包括:最大视频分辨率、受保护输出类型(4K 必须使用 HDCP)、激活次数、时间限制(绝对和相对)。

PlayReady 策略类型

  • 基于时间 — 时间限制:绝对到期日期或从首次播放开始的相对周期。
  • 输出保护 — 视频输出类型限制:数字输出必须使用 HDCP,禁止模拟输出。
  • 分辨率限制 — 最大分辨率:720p、1080p、4K,取决于设备的安全级别。
  • 设备数量 — 一个许可证可以激活的最大设备数量。

许可证处理示例

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 和 Windows.Media.Protection.PlayReady 命名空间中的 PlayReady API 完成。在 Android 上,使用 PlayReady Porting Kit,通过 NDK 嵌入到应用程序中,并提供用于处理 DRM 的 Java 包装器。

在 Windows(UWP)上集成

在 UWP 环境中,应用程序创建 MediaProtectionManager 实例,将 PlayReady 注册为保护系统,并配置许可事件处理程序。如果 MediaProtectionManager 配置正确,MediaPlayerElement 播放器会自动处理受保护的流。

许可证服务器 PlayReady 可以部署在 Azure 基础设施上,也可以部署在自有服务器上。Microsoft 在 Azure Media Services 中提供现成的 PlayReady License Server 解决方案,简化了云项目的集成。

在 Android 上集成

在 Android 上,PlayReady 通过 NDK 库 libplayready.so 集成,该库提供 C++ API,并包装在 Java 类中。ExoPlayer 像 Widevine 一样,通过标准的 MediaDrm API 使用 PlayReady UUID 支持 PlayReady。

PlayReady 用于 MediaDrm 的 UUID — 9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e。在使用 PlayReady 初始化 ExoPlayer 时,配置与 Widevine 类似:指定许可证服务器 URL、身份验证标头和 DRM 类型。

要确保 PlayReady 在 Android 上正常运行,需要安装 PlayReady 运行时,该运行时通常预装在 Samsung、LG 和其他使用 PlayReady Porting Kit 品牌的设备上。在没有预装运行时的设备上,应用程序必须在 APK 中包含 libplayready.so 库。

在 Smart TV 上集成

PlayReady 是 Smart TV 平台上的主导 DRM,包括 Samsung Tizen 和 LG webOS。在这些平台上,内置运行时 PlayReady 在电视芯片组级别提供硬件保护,无需额外设置即可播放 4K HDR 内容。

在 Smart TV 上的集成通过针对特定 SoC(MediaTek、Realtek、Amlogic)的 PlayReady Device Porting Kit 完成。电视制造商在固件阶段预装 PlayReady 运行时,应用程序通过标准 EME API 在 Web 播放器或本机应用程序中启动它。

对于内容提供商来说,重要的是要考虑并非所有 Smart TV 都支持最高的 SL3000 级别 — 较旧的型号可能受限于 SL2000 和 1080p 质量。通过 HDMI 输出 4K 内容时,HDCP 兼容性也是强制性的。

PlayReady 4.0 中的安全和遥测

PlayReady 4.0 引入了扩展的遥测技术,使内容提供商能够获得有关内容使用的详细信息:观看时间、未经授权的访问尝试、设备类型、运行时版本。遥测数据通过安全通道收集,并使用数字签名进行签名以防止伪造。

PlayReady 4.0 中的撤销机制允许内容提供商实时阻止受损设备或运行时版本。撤销列表通过许可证服务器分发,并在每次许可证请求时自动更新,确保对漏洞的快速响应。

常见问题

什么是 PlayReady DRM?

PlayReady — Microsoft 用于保护数字内容的 DRM 解决方案。该技术支持硬件和软件加密、灵活的许可策略,并在 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 上受支持,但有限 — 通过适用于 iOS 的 PlayReady Porting Kit。然而,在 Apple 设备上,首选 DRM 仍然是 FairPlay,因为它完全集成到 Secure Enclave 硬件架构中。

PlayReady 与 Widevine 有什么不同?

PlayReady 来自 Microsoft,支持 Windows 和 Xbox,使用 TPM 进行硬件加密,并提供扩展的遥测。来自 Google 的 Widevine 面向 Android 和 Chrome,使用 TEE,并且不需要开发人员支付许可证费用。

总结

  • PlayReady — 来自 Microsoft 的 DRM,通过 Porting Kit 支持 Windows、Xbox、Android、iOS 和 Smart TV。
  • 三个级别 安全 SL150、SL2000、SL3000 确定最高质量和加密类型。
  • 4.0 版本 为内容提供商增加了遥测、高级分析和 HDR 支持。
  • 许可策略 包括时间限制、输出保护、质量和设备数量限制。
  • 集成 在 Windows 上通过 MediaProtectionManager UWP,在 Android 上通过 NDK 和 ExoPlayer。
  • PlayReady Server SDK 可在 Azure Media Services 和本地部署中使用。
  • NMCR 将 PlayReady 的应用扩展到保护非媒体数据:文档、游戏和应用程序。

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读