1

我正在尝试使用 ClearKeys Like 配置 shaka 播放器

player.configure({
  drm: {
    clearKeys: {
      'deadbeefdeadbeefdeadbeefdeadbeef': '18675309186753091867530918675309'
    }
  }
});

如文档中所述。但是,我没有为此提供有效的许可证服务器。

如果我在 DRM 中配置没有“服务器”对象

drm: {
    servers: {
      'org.w3.clearkey': 'http://foo.bar/drm/clearkey'
    }
  }

shaka播放器给出错误代码6012

Error code 6012 object I {severity: 2, category: 6, code: 6012, data: Array(1), handled: false}

那么是否可以将 shaka 播放器配置为在没有 licesne 服务器的情况下使用 clearkeys 玩 DASH?

链接的 Github 问题 - https://github.com/google/shaka-player/issues/2434

4

1 回答 1

2

Clearkeys 可以通过两种方式使用:

  • 您可以在播放器配置中明确指定键
  • 您可以为服务器提供一个服务器 URL,该服务器识别并将服务器 clearkefs 以响应许可证请求

第一种情况不需要许可证服务器。

在上面显示的 Shaka 文档示例中,第一个条目是 key_id,第二个条目是密钥本身,以防不清楚:

player.configure({
  drm: {
    // First value is the key-id, second value is the encryption key
    clearKeys: {
      'deadbeefdeadbeefdeadbeefdeadbeef': '18675309186753091867530918675309'
    }
  }
});

内容实际上需要使用此加密密钥本身进行加密,才能进行解密和播放。

顺便说一句,虽然 Clearkeys 的创建是为了帮助测试和调试 DRM,但由于它不用于“真实”场景,它可能不会像其他 DRM 那样受到同样的关注。它显然也没有使用与设备中实际 DRM 相同的代码路径。如果您的主要目的是测试最终将使用“真实”DRM 的系统,那么您可能会发现使用具有 URL 和清单信息的测试 Widevine、Playready 等流更容易测试和调试。

于 2020-03-03T15:14:01.127 回答