在 VideoJS 中使用 ClearKey DRM 实现 HLS 流媒体

问题描述 投票:0回答:1

我想知道我的 HLS 清单必须是什么样子才能显式使用 HLS 流(而不是 DASH)触发 videojs-contrib-eme ClearKey 功能。目前,我的清单如下所示,但据我了解,这不是 ClearKey,这只是使用 AES-128 加密的 HLS:


#EXTM3U
#EXT-X-VERSION:7
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MAP:URI="init.m4s"
#EXT-X-KEY:METHOD=AES-128,URI="https://some_domain_com/9915b885-bd21-4455-9c76-351657640fe7/yKgyvNsw252Z973520yg3yj9hlFCVGUIDWyDWvB6V1qLXyvTV4EvVvwRlOgnds1f",IV=e5aa88fe5bf759221369e7656138d6bb
#EXTINF:6.000000,
lots of segments ...
  1. VideoJS 支持使用 HLS 的 ClearKey 吗?
  2. 我的 #EXT-X-KEY 行必须是什么样子才能触发 VideoJS 的 eme 扩展,然后在 videoJS 中使用 getLicense 调用?

我不确定 VideoJS 通过 ClearKey 支持 HLS 到什么程度,但我希望也许其他人过去已经实现了它,以帮助我。

提前致谢

streaming http-live-streaming video.js drm
1个回答
0
投票

你必须分开问题。

  1. 密钥交换
  2. 加密

密钥交换是特定于供应商的,并且发生在加密媒体扩展 (EME) 实现的安全内存中。 ClearyKey 是密钥交换的一种实现。 顾名思义,ClearKey 以明文形式交换密钥。所以ClearKey DRM系统并不安全。我使用 ClearKey 进行系统测试,而不是用于任何生产目的。

ClearKey 是 DASH 中使用的 DRM 系统。 DASH 的 DRM 部分需要通用加密,该加密在各个供应商之间必须相同。

HLS 没有可跨多个播放器或平台工作的 ClearKey。

对于大多数设备和 Apple 设备 - 我会遵循 Apple 的加密说明 - SAMPLE-AES 加密或具有 10% 部分加密的通用加密。

然后您可以使用 #EXT-X-KEY 标签以明文形式引用密钥以进行测试。因此,您将加密密钥保存在一个文件中,并将其与您的 HLS 包放在一起。

做类似的事情

#EXT-X-KEY:METHOD=SAMPLE-AES,URI="http://example.com/my16ByteKey.bin",KEYFORMAT="identity",IV=0xA30FE123ECBF1BE323A775A119C553BC

在概念上最接近 DASH ClearKey DRM。

© www.soinside.com 2019 - 2024. All rights reserved.