7

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

4

3 回答 3

12

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

并很好地解释了 AES-128 CTR 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

于 2015-06-28T22:46:54.387 回答
5

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

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

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

您可以在DASH-IF 内容保护参考页面上找到对 DRM 技术的一些参考。

请注意,某些浏览器可能还支持“clearKey”DRM 技术,这是一种伪造的实现,只需获取解密密钥并直接使用它。如果你有解密密钥和视频,你可以使用 clearKey 机制来播放你的视频。

编辑:如果您有加密密钥,那么您可以使用 Bento4 套件中的mp4decrypt 工具来解密片段文件。

于 2014-11-28T10:57:14.843 回答
0

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

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

于 2014-11-28T13:35:28.867 回答