万维网联合会 (W3C) HTML5 加密媒体扩展 (EME) 为网站引入了一项功能,可在不使用插件的情况下播放受数字版权管理 (DRM) 保护的内容。Windows 8.1 上的 Internet Explorer 11 支持结合使用 EME 和 Microsoft PlayReady DRM。 本指南介绍了其他浏览器如何在 Windows 8.1 上采用类似方式启用 Microsoft PlayReady 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 中使用以下新功能:
如果在 Web 浏览器中组合使用自适应流式处理和 DRM 播放功能,则允许使用高级媒体消耗体验,该体验得到 Web 服务器发布的 JavaScript 的完全支持,并且可能由适用于所有设备种类的可互操作浏览器解决方案进行托管。
IE11 支持 Microsoft PlayReady DRM 的媒体源扩展和加密媒体扩展。 本指南的作用是提供其他浏览器实现 Windows 8.1 上运行的浏览器中类似功能所需的信息。
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 上运行的新体验浏览器使用。
加密媒体扩展 (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 支持扩展)为选择使用它的应用提供了强劲优势:
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 中的电源管理功能管理哪些选项卡在后台保持活动状态和挂起哪些选项卡可改进浏览器电源配置文件。 选项卡挂起具有特定的实现方法要求,浏览器必须符合这些要求才能保证媒体体验正常运行。 |
若要支持 Microsoft PlayReady EME,浏览器必须将 MSE 和 EME API 实现到其媒体基础等效。 媒体基础 API 已直接映射到 EME,如下图所示:
使用 API 映射,可以直接在 MSE/EME 功能上构建 Microsoft Win32 桌面应用程序,并且还允许第三方浏览器实现这些功能。 下表列出了与 EME 接口对应的特定媒体基础 MediaEngine API:
下表显示了从 MSE(采用 JavaScript)映射到媒体基础 MediaEngine(采用 C++)的 API。