如何为 mp4box 创建 CENC 加密的 xml 文件?

问题描述

XML 文件指定 clearKey 加密的位置。它取自 GPAC 的网站 https://gpac.wp.mines-telecom.fr/mp4box/encryption/common-encryption/

但是不知道如何创建这个 xml 文件以及我从哪里获得 cipherkey、systemId、cipherIV、BS ID128、Key KID 和值?我尝试手动创建此文件,但无法创建。因为我很困惑我在哪里获得所有价值以及如何使用这些价值?

我尝试为 mp4Box 手动创建 xml 文件并且知道这个清晰的概念

解决方法

PSSH SystemID 来自 DRM 供应商。以下是 DRM 供应商的一些示例:

  • 公平竞赛(苹果)
  • Widevine (Google)
  • PlayReady (微软)
  • 清除'DRM 系统 (GPAC)

有些供应商会为您提供密钥和密钥 ID,其他供应商则允许您创建自己的密钥和密钥 ID。您必须遵循供应商的说明。

您可以使用 openSSL 生成密钥。例如:

$ openssl rand -hex 16
ecd0d06eaf884d8226c33928e87efa33

GPAC 'clear' DRM 仅用于系统测试,因为密钥嵌入在明文中。

  • cipherkey 或 key 是加密密钥。生成自己的或从 DRM 供应商
  • systemId 基本上是 DRM 系统的标识符 - 就像 姓名
  • cipherIV 是初始化向量,它是一个随机数 提供加密过程的随机初始状态 安全目的 - 您选择使用 openSSL 的初始化向量。
  • 密钥标识符 (KID) 用于在使用商业 DRM 系统时检索某个密钥
  • BS ID128 - 表示以 16 字节十六进制表示的 128 位二进制对象

对于“清除”GPAC,请使用示例 XML 文件并更改 IV、密钥和 KID。 对于所有其他 DRM 供应商,请按照他们的说明获取系统 ID、密钥和 KID。