是否可以在没有 ClearKey 许可证服务器的情况下配置 Shaka Player DRM?

Can Shaka Player DRM be configured without license server for ClearKey?

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

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

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

如果我在 DRM

中配置时没有 "servers" 对象
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 播放器在没有许可证服务器的情况下使用 clearkeys 玩 DASH?

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

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,但由于它未在 'real' 场景中使用,因此它可能没有像其他 DRM 那样受到同样的关注。它也显然没有使用与设备中实际 DRM 相同的代码路径。如果您的主要目的是测试最终将使用 'real' DRM 的系统,那么您可能会发现使用具有 URL 和清单的测试 Widevine、Playready 等流进行测试和调试会更容易信息。