MPEG-DASH 清单中内容保护系统之间的区别

Difference between content protection systems in MPEG-DASH manifest

抱歉,如果我的问题似乎不合适,但我是 MPEG-DASH 和 DRM 技术的初学者,有些事情我不太清楚。我正在查看以下破折号测试示例:http://dashif.org/reference/players/javascript/v1.5.1/samples/dash-if-reference-player/index.html

我特别关注带有许可证的 "Cablelabs cenc" 示例。谁能给我解释一下两者之间的区别:

看manifest,没有区别。只有 "cenc:default_KID" 参数发生变化。那么,视频播放器如何了解是否需要以及需要​​哪种特定许可?

此外,有时需要初始化数据才能获得许可证。这些数据到底包含什么?

在 MPEG-DASH 中,您可以选择将 DRM-specific 初始化信息放在两个位置之一:

  • 直接在 MPD 中(您在问题中称为 "manifest"),或
  • 你可以把它放在 "init segment" 中,它本质上是一个 ISO 基本媒体文件格式片段,包含(通常)'moov' 原子和——与这个问题相关的——'pssh' 原子。 'pssh' 原子很重要,因为它包含 DRM-specific header,例如 PlayReady 或 WideVine。

在这种特定情况下,它是第二个选项,即 您在初始化段中有 DRM 信息。具体来说:

播放就绪

如果您查看 PlayReady MPD,您会发现它包含如下元素:

<Representation id="3" mimeType="video/mp4" codecs="avc1.640020" width="1280" height="720" frameRate="25" sar="1:1" startWithSAP="1" bandwidth="2276507">
   <BaseURL>video_1280x720_h264-2500k_dashinit.mp4</BaseURL>
   <SegmentBase indexRangeExact="true" indexRange="1789-2024">
      <Initialization range="0-1788"/>
   </SegmentBase>
</Representation>

如果您在十六进制编辑器中查看 init segment referenced by the <BaseURL> 元素,您会看到它有一个名为 'pssh' 的 ISO BMFF "box",后面跟着一些可以清楚地识别为 Unicode 的内容类似 <WRMHEADER ... /> 的文本,这是 Microsoft PlayReady 的权限管理 header。如果你进一步挖掘,你会发现其中有一个 "license acquisition URL",这就是 DRM 客户端(例如 Windows 8.1 或更高版本上的 Internet Explorer 11)如何获得许可证。

宽藤

现在您可以使用 WideVine MPD, which references its own init segment from its own <BaseURL> element 执行相同的操作。如果您在十六进制编辑器中查看 that,您也会在那里找到一个 'pssh' 框,其中又包含一个 WideVine-specific 权限管理 header.借此,WideVine DRM 客户端(例如 Chrome)可以获得 WideVine 许可证。