MPEG-DASH中内容保护系统的区别

时间:2015-11-19 10:33:33

标签: drm mpeg-dash

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

特别是我专注于带有许可证的“Cablelabs cenc”示例。有人可以解释我之间的区别:

  • CableLabs Cenc ClearKey
  • CableLabs Cenc Widevine
  • CableLabs Cenc Playready

通过查看清单,它们之间没有区别。只有“cenc:default_KID”参数会更改。那么,视频播放器如何理解是否需要以及需要​​哪个特定许可证?

此外,为了获得许可证,有时需要初始化数据。这些数据究竟包含什么内容?

1 个答案:

答案 0 :(得分:9)

在MPEG-DASH中,您可以选择在以下两个位置之一获取DRM特定的初始化信息:

  • 直接在MPD中(您在问题中称之为“清单”)或
  • 你可以在“init segment”中拥有它,它本质上是一个ISO基础媒体文件格式片段,包含(通常)'moov'原子和 - 与此问题相关 - 'pssh'原子。 'pssh'原子很重要,因为它包含DRM特定的标题,例如PlayReady或WideVine标题。

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

的PlayReady

如果查看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“框”,后面跟一些可以清楚识别为Unicode文本的内容,它的内容类似{ {1}},这是Microsoft PlayReady的权限管理标头。如果你进一步挖掘,你会在那里识别出“许可证获取URL”,这就是DRM客户端(例如Windows 8.1或更高版本上的Internet Explorer 11)可以获得许可证的方式。

的Widevine

现在,您可以使用引用WideVine MPDits own init segment from its own <BaseURL> element执行相同操作。如果你在十六进制编辑器中查看那个,你也会在那里找到一个'pssh'框,它反过来包含一个特定于WideVine的权限管理标题。通过这种方式,WideVine DRM客户端(例如Chrome)可以获得WideVine许可证。