如何在DASH中解密和播放CENC保护的内容?

时间:2014-11-27 11:34:35

标签: mpeg-dash

我有一个支持CENC的MPD剪辑,如何在不使用任何特定DRM引擎的情况下解密和播放?是否有任何解密算法可用于解密AES CTR 128位?如果有,它将用于解密MPEG-DASH内容?网络中有一些第三方库,如NACL,Openssl,crypto ++,可以进行AES ctr 128解密。我可以使用其中一个来解密DASH内容(支持CENC)吗?

3 个答案:

答案 0 :(得分:8)

MPEG-CENC只是ISO BMFF(mp4)文件上的AES-128 CTR加密。有关如何将其应用于CENC的规范如下:https://www.w3.org/TR/2014/WD-encrypted-media-20140828/cenc-format.htmlhttps://www.iso.org/obp/ui/#iso:std:iso-iec:23001:-7:ed-1:v1

对AES-128点击率的一个很好的解释 https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_.28CTR.29

要解密,您需要密钥以及用于加密内容的初始化向量(IV)。这可以从mp4文件中的senc和tenc框中获得。一旦你有了那些,你只需要浏览文件的样本或片段,解密并重新组装mp4(假设你想播放它)。

如Bento工具所述,mp4decrypt给出了如何执行此操作的示例:https://github.com/axiomatic-systems/Bento4/blob/master/Source/C%2B%2B/Apps/Mp4Decrypt/Mp4Decrypt.cpp

答案 1 :(得分:5)

使用CENC保护的DASH视频可以使用许多不同的DRM技术进行播放。您需要关注的主要因素是:

  • 使用的播放器必须支持所选的DRM技术。在流行的浏览器中,Internet Explorer 11 supports PlayReady和Chrome支持Widevine。对于非浏览器平台,可以使用各种第三方播放器。
  • 视频必须包含允许DRM技术识别解密视频所需操作的元数据(最重要的是,加密密钥的ID和从中获取的URL)。
  • 必须有运行的服务,在验证用户有权查看视频后,将根据需要向播放器提供解密密钥。通常,密钥嵌入在称为许可证的数据结构中,该结构可以向玩家提供关于内容保护要求的附加数据(例如,#34;必须打开HDCP才能播放此视频")。

请注意,为了覆盖广泛的播放器,您需要同时支持多种DRM技术。

您可以在DASH-IF content protection references page找到一些DRM技术的参考资料。

请注意,某些浏览器也可能支持" clearKey" DRM技术,这是一种虚假的实现,只需要解密密钥并直接使用它。如果您有解密密钥和视频,则可以使用clearKey机制播放视频。

编辑:如果您有加密密钥,则可以使用Bento4套件中的mp4decrypt tool来解密碎片文件。

答案 2 :(得分:-2)

某些浏览器支持通过MPEG-CENC和HTML5加密媒体扩展的ClearKey,例如谷歌浏览器。其他浏览器可能必须使用回退来进行解密,例如使用Flash。

在HTML5和Flash中使用Clearkey的MPEG-CENC显示在此演示网站上http://www.dash-player.com/demo/drm-and-protection/