Home 技术文章 在大规模OTT堆栈中部署DRM的最佳实践
Applications

在大规模OTT堆栈中部署DRM的最佳实践

About The Author

Outline

数字版权管理(DRM) 是一个行业标准,为内容所有者提供保护优质内容的选项。 有效的DRM解决方案必须与大多数回放设备配合使用,轻松集成到工作流程中,并且对用户透明。 如果它能支持离线播放等高级功能,那就更好了。 虽然DRM可能不是许多流媒体服务运营商的首要优先级,但它对观众的播放体验的影响不能是事后的想法。

任何DRM系统的目标都是确保视频内容以加密形式存储和传输,以便只有授权用户和设备才能播放内容。 DRM通常被误解为仅限于AES (高级加密标准) 128位加密分层在流媒体平台上。 实际上,DRM是一个用于管理内容访问的完整系统。 DRM提供加密和解密密钥的安全分发以及后端许可服务器,这些服务器添加了策略控制等功能,以防止在未经授权的硬件上播放和脱机播放控制。

DRM可以通过以下三种方式之一进行部署。 第一个是自己承担所有的发展和整合。 虽然这是一项耗时的工作,但它确实可以实现最大程度的控制和灵活性。 第二种方法是将提供商的预打包DRM解决方案集成到工作流中的混合方法。 第三个选项将DRM解决方案用作托管流服务的一部分。 Verizon Media平台提供了这种类型的DRM解决方案。 它集成到我们的视频工作流程中,并通过简单的服务订单实现。 我们承担着发展和一体化的负担。 请记住,使用前两个选项,DRM不仅仅是一个一次性项目–它需要一个持续的程序来跟上不断发展的标准和技术。

‍Proprietary DRMS

M ü ‍Today的主要 视频流 格式具有自己的DRM系统集成。 由于DRM技术是专有技术,因此它们通常仅在OEM特定产品上受支持,尽管例外情况越来越多。 例如,Apple FairPlay主要与Apple Safari Web浏览器和其他Apple硬件和软件产品兼容。 从流媒体服务的角度来看,缺乏跨平台兼容性意味着,如果您想要覆盖多种设备,您需要采用 多DRM策略 ,并提供以多种格式打包和加密的内容。

虽然市场上有许多DRM系统,但从实际角度来看,流媒体服务只需关注三大系统即可获得对几乎所有Web浏览器,设备和电视的支持:

  • Apple FairPlay流媒体(FPS)–FairPlay内容主要可在Apple设备上播放,包括Safari,iOS和Apple TV平台。
  • Google Widevine–此DRM解决方案涵盖所有Chrome和Firefox Web浏览器以及Android和Chromecast设备。
  • Microsoft PlayReady–受此DRM解决方案保护的内容可以在Roku,Xbox,
  • Microsoft Edge浏览器和一系列其他平台以及通过SDK提供的智能电视。

当您查看底层加密时,情况会有所改善,其中标准化工作正在进行,以帮助简化DRM市场的碎片化。 Widevine和PlayReady都支持Common Encryption (CENC)和MPEG-DASH,这意味着您可以使用任意一个DRM系统对内容进行一次加密和打包,然后对这些资产进行解密。 Fairplay使用128-AES CBCS(或密码块链示例模式)加密和HLS封装。 某些较新的DASH播放设备也支持CBCS。 市场似乎正在集中使用CBCS进行通用加密,但其他加密则需要长期支持。

‍Multi -DRM挑战

‍In在我们的平台上,我们会在以多种格式摄取内容时立即加密。 我们的默认DASH封装和加密使用AES-CTR全加密,因为它是跨设备最兼容的(即使较新的设备可能支持CBCS)。 此外,我们默认为Fairplay使用传输流打包和CBCS加密,因为它在整个设备范围内最兼容。 虽然这些解决方案涵盖了全球大多数设备和玩家,但也增加了复杂性并增加了存储成本。 请记住,使用自适应比特率(ABR),我们手头上有两个或三个以上的不同文件–当您考虑所有比特率时,每个4或2秒播放时间的块可以有15个或更多不同的区段。

这种情况正在缓慢改善。 该行业正朝着被广泛采用的规范,称为通用媒体应用格式(CMAF)可以让你接触到大多数消费者的屏幕与一个单一的DRM启用的文件集。 目前,CMAF已在许多DASH和HLS设备和播放器上工作。 在可行的情况下,我们可以使用动态清单生成逻辑创建HLS清单,其中包含符合CMAF的加密和CBCS,以支持其他设备。

对所有这些文件集进行编码将成为一个更大的问题。 我们利用云的可扩展性解决了这一问题。 当我们的Slicer以最高比特率上载文件时,它会将每个片发送到一个代理,该代理会将工作分配到一个巨大的编码群集。 通过并行执行编码操作,可以快速创建每个比特率,容器格式和加密算法组合所需的所有文件,同时将延迟降至最低。

了解加密编码,打包以及克服存储和处理要求的细微差别只是涉及多DRM实施的复杂性的冰山一角。 其他挑战包括:

  • 通过从DRM服务器无延迟地获取密钥,确保所有设备的用户体验一致
  • 始终掌握不断变化的客户端设备和关联SDK以及操作系统变化
  • 遵守MovieLabs等为优质内容和超高清内容定义的增强内容保护(ECP)参数
  • 监控和遵守复杂的许可和保护协议,例如时移,赶超观看,基于云的DVR使用和离线播放

要满足这一整套要求并确保内容在整个工作流程中受到保护,您需要开发密钥管理解决方案,设置许可证服务器,以及定义和管理安全策略,以确定在何种条件下可以播放内容。 例如,我们的平台具有一组适用于大多数情况的默认策略。 Studio DRM策略配置工具可以轻松地为每个用户配置这些策略。 策略是在许可服务器上实施的,可以涵盖各种变量,如安全级别实施或输出限制,密钥持续时间,播放持续时间以及是否允许脱机租用。 策略选项也可能因区域经理而异。

‍Key管理是关键

与策略管理一样,该平台必须处理密钥管理和许可的所有方面,以确保在整个工作流程中保护密钥。 使用Verizon Media的完全集成平台可以轻松实现安全性,但如果您要使用单独的服务,您需要一种方法来将密钥从编码器安全传输到第三方DRM解决方案。 这需要大量的工作来实施安全包装程序和编码器密钥交换(SPEKE)等标准,以便密钥可以在外部对内容进行编码,然后移交给许可证服务器。 将所有内容保持在同一网络上可避免此步骤并简化实施。

将DRM基础架构整合到您的工作流程中后,下一个重大挑战就是播放器集成。 这是我们花大量时间浏览每个玩家的SDK,以确保没有打嗝。 一个挑战是服务器端广告插入(SSAI)。 由于我们保留了一个单独编码的大型广告库,以拼接到现场活动和现场渠道,这些广告不能与平台上的每个现场活动和渠道共享相同的密钥加密密钥。 要解决此问题,广告必须使用不同于插入的流的单个密钥进行加密,为每个唯一流动态重新打包,或在不加密的情况下插入流。

这些变化使直播流播出变得复杂。 例如,某些播放器不支持在流中切换DRM密钥。 即使有了这种支持,切换也会对播放体验产生明显的影响。 帧缓冲区可能需要完全耗尽,并在使用新密钥的帧排队之前执行新密钥初始化。 这样做可能会导致某些平台出现明显的故障。

这些挑战导致我们不加密广告,以确保更好的玩家性能,并避免每次有新的广告时执行关键更改的需要。 与即时重新加密广告相比,未加密广告还能带来更好的服务器性能,因为我们不必使用我们可能需要的每个流密钥组合重新包装每个广告。 使用未加密的广告会使玩家的事情变得复杂,而不仅仅是使用相同的密钥。 尽管如此,在过去的几年中,许多玩家项目已经确保了这是一个受支持的播放场景。

我们还努力简化许可证URL的工作方式,使其对特定玩家更方便。 我们首先将许可证服务器URL放在清单中,以实现这一目的,因此如果玩家支持读取该URL,我们不需要单独提供它。 然后,我们将所有会话特定的数据编码到清单中的”特定保护方案标头(PSSH)”框中。 这使玩家可以使用非常简单的许可证服务器URL来处理许可证请求,而无需额外的标头数据或URL参数。 对播放器和流媒体使用相同的许可证URL意味着DASH播放集成在我们的平台上变得极其简单。

‍Toward更轻松的DRM集成

我们平台的首要目标之一是为服务提供商简化流媒体传输。 我们将继续扩大开放源代码播放器的使用,例如Shaka Player,这是一个用于ABR播放的开放源代码JavaScript库。 我们还与流行的通用视频播放器解决方案THEOplayer合作。 我们不断改进我们的平台,以跟上不断变化的加密标准和DRM技术。 我们知道许多公司不喜欢使用DRM,因此我们越能像清单上的任何其他项目一样,执行这一关键安全任务越好。