支持在 Web 浏览器中使用加密媒体扩展和 Microsoft PlayReady DRM

万维网联合会 (W3C) HTML5 加密媒体扩展 (EME) 为网站引入了一项功能,可在不使用插件的情况下播放受数字版权管理 (DRM) 保护的内容。Windows 8.1 上的 Internet Explorer 11 支持结合使用 EME 和 Microsoft PlayReady DRM。 本指南介绍了其他浏览器如何在 Windows 8.1 上采用类似方式启用 Microsoft PlayReady DRM 播放。

该信息适用于以下操作系统:

  • Windows 8.1

简介

浏览器中的 DRM

有一段时间浏览器可以播放受 DRM 保护的内容,最常见的方式是支持启用 DRM 的 Adobe Flash 或 Microsoft Silverlight 版本。 这些组件过去作为浏览器插件提供。 它们(及其基础媒体平台)过去用于标准化媒体管道并为最终用户免费提供插件播放。

插件可以限制与 Web 内容兼容的设备,这样可支持 HTML 扩展,这些扩展允许浏览器直接支持丰富的功能,并减少对插件组件的需求。 上一个示例中添加了渐进式播放 HTML5 中添加的媒体内容。 这样允许浏览器直接播放媒体文件,不需要使用任何媒体播放器插件。 现在,新的规范已定义 HTML 功能,这些功能允许自适应流式播放受 DRM 保护的媒体。

随着 Windows 8.1 的发布,IE11 支持高级 HTML 流式传送扩展。 使用这些新扩展,Internet Explorer 可以在受到大范围的网络和系统约束下播放多种来源的高级视频内容,无须使用浏览器插件。 Windows 8.1 设计使用 Microsoft PlayReady DRM,并适用于传统桌面和新体验桌面浏览器版本。

两个 W3C Web 规范支持在 Windows 8.1 上的 IE11 中使用以下新功能:

  • 媒体源扩展:此规范定义支持自适应流式传送的 HTMLMediaElement 扩展。 它允许 JavaScript 为音频和视频元素动态构造流,方法是将分段附加到媒体 sourceBuffer。 JavaScript 可以实现自适应流式处理,方法是调整这些附加分段的质量级别以响应一系列的网络或媒体渲染瓶颈。
  • 加密媒体扩展:此规范定义支持内容保护系统的 HTMLMediaElement 扩展。 它允许标识浏览器支持的保护技术,并且为密钥交换定义支持播放受 DRM 保护媒体的方法。

如果在 Web 浏览器中组合使用自适应流式处理和 DRM 播放功能,则允许使用高级媒体消耗体验,该体验得到 Web 服务器发布的 JavaScript 的完全支持,并且可能由适用于所有设备种类的可互操作浏览器解决方案进行托管。

IE11 支持 Microsoft PlayReady DRM 的媒体源扩展和加密媒体扩展。 本指南的作用是提供其他浏览器实现 Windows 8.1 上运行的浏览器中类似功能所需的信息。

Microsoft PlayReady DRM

Microsoft PlayReady 是一个数字版权管理 (DRM) 系统,它提供了对多种设备和计算机的支持。 它采用以下几种方式支持:

  • Microsoft PlayReady 移植工具包:提供了可轻松部署的实现方法和源代码,允许在任一设备(不论操作系统如何)上都支持 Microsoft PlayReady 客户端。
  • Microsoft PlayReady 许可证服务器:用于托管颁发受 DRM 保护内容播放许可证所需的许可证服务。

还有一个 Microsoft PlayReady PC 软件开发工具包 (SDK),用于为具有 DRM 功能的传统 Windows 应用程序提供 Windows 桌面运行时。 此 SDK 仍然处于活动状态,但不是 IE11 用于实现 Microsoft PlayReady 支持的方法。

新的应用模型首次在 Windows 8 中发布时,还发布了 Microsoft PlayReady AppX 框架。 它支持从 Windows 应用商店下载应用,并且与其他预安装的应用一起暂存,以便成为 Windows 8 和之后强大系统上首次运行体验的一部分。

Windows 8.1 中的 IE11 会利用暂存 Microsoft PlayReady 框架的优势。 它虽然不是 Windows 组件(它在单独的进程中开发和编译),但是可用于所有启用媒体的 Windows SKU,因此可供 Windows 8.1 上运行的新体验浏览器使用。

加密媒体扩展 CDM

加密媒体扩展 (EME) 规范定义了内容解密模型 (CDM),该模型将通用 EME API 转换为特定 DRM 解决方案可能需要的特定数据交换。 该操作允许一般化 EME,从而将系统特定方面留给 CDM 处理。

Windows 8.1 应用使用的 Microsoft PlayReady 框架包含 CDM 功能。 并且设备的 Microsoft PlayReady 移植工具包中还包含了 CDM 接口支持。 如果使用 Windows 8.1 系统框架和其他设备的启用 CDM 的移植工具包,则允许 Microsoft PlayReady 支持大量系统和设备上运行的浏览器。

此指南的目标是仅详细介绍此 CDM 支持的 Windows 8.1 方面。

实现方法

概述

过去,在 Microsoft PlayReady SDK 上为 Windows 构建的应用负责授权该技术、符合严格的媒体管道要求,以确保以解密的形式一次性保护媒体,并且这些应用还具备与其 Microsoft PlayReady 许可证关联的金融义务。 为 Windows 8 开发的 Microsoft PlayReady 框架(现在已针对 Windows 8.1 使用 EME/CDM 支持扩展)为选择使用它的应用提供了强劲优势:

  • 已授予技术:如此这样,就不需要使用单独的许可证。 应用将构建在公开记录的 API 上并提供启用 Microsoft PlayReady 且无其他授权的系统。
  • 已保护媒体管道的安全:Microsoft PlayReady 框架使用 Microsoft 媒体基础实现的媒体服务,并且此管道已构建并认证符合 DRM 要求。 应用免费使用此管道,不需要任何其他认证(或根据设计变化重新认证)。

IE11 中的 EME 实现方法使用特别为 EME 支持构建的更新媒体基础 API。 这是为 Windows 8.1(和以后版本)上运行的其他浏览器(桌面和新体验)推荐的实现方法。

技术 说明
使用 MF 实现浏览器 MSE/EME API 新的媒体基础 API 直接映射到 W3C MSE 和 EME 标准中介绍的 API。
附加 IMFMediaSourceExtension 对象 将 MSE API 映射到其 MF 等效后,浏览器必须将 IMFMediaSourceExtension 对象附加到元素中。
PlayReady AppX 框架 AppX 框架通常会基于应用清单中声明的依存关系进行注册。 对于新体验桌面浏览器,在用户第一次登录时会自动执行此操作。
支持 In Private Internet Explorer 分离 Microsoft PlayReady 许可证存储用于 In Private 并在 In Private 会话结束时删除该存储。 这样会删除可能已在 In Private 会话过程中存储的许可证。
支持选项卡挂起 选项卡挂起将新体验浏览器上的选项卡分成单独的进程,并允许 Microsoft WindowsWindows 中的电源管理功能管理哪些选项卡在后台保持活动状态和挂起哪些选项卡可改进浏览器电源配置文件。 选项卡挂起具有特定的实现方法要求,浏览器必须符合这些要求才能保证媒体体验正常运行。

 

媒体基础 API

若要支持 Microsoft PlayReady EME,浏览器必须将 MSE 和 EME API 实现到其媒体基础等效。 媒体基础 API 已直接映射到 EME,如下图所示:

支持在 Web 浏览器中使用加密媒体扩展和 Microsoft PlayReady DRM_第1张图片

使用 API 映射,可以直接在 MSE/EME 功能上构建 Microsoft Win32 桌面应用程序,并且还允许第三方浏览器实现这些功能。 下表列出了与 EME 接口对应的特定媒体基础 MediaEngine API:

下表显示了从 MSE(采用 JavaScript)映射到媒体基础 MediaEngine(采用 C++)的 API。

你可能感兴趣的:(支持在 Web 浏览器中使用加密媒体扩展和 Microsoft PlayReady DRM)