微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用许可证字符串在 ExoPlayer 上播放受 Widevine DRM 保护的内容

如何解决使用许可证字符串在 ExoPlayer 上播放受 Widevine DRM 保护的内容

我正在尝试在 ExoPlayer (v2.5.4) 上播放受 Widevine DRM 保护的破折号文件。我无权访问许可证服务器,但有一个代理服务器,我可以通过调用 API 来检索许可证响应。许可证服务器包含以下响应:

  1. Base64 编码的许可字符串
  2. ContentKeys 是两个字符串的列表(看起来像 base64 再次编码)

有没有办法直接在 ExoPlayer 中传递这些值?本质上,我试图在没有 URL 的情况下播放受 DRM 保护的内容。类似问题:https://github.com/google/ExoPlayer/issues/3107

解决方法

Widevine 和其他 DRM 系统实际上会加密许可请求和响应,因此仅获取许可响应的副本不会以您可以访问的方式为您提供内容的媒体解密密钥,如果您是这样的话意思。换句话说,它构建的许可响应只有设备上的 DRM 客户端才能正确读取并提取密钥。

如果您的意思是在发出 Widevine 请求的播放器和许可服务器之间存在某个代理,那么只要代理不更改或更新请求和响应,这应该无关紧要。

您可能是说您实际上可以访问媒体加密密钥本身 - 如果是这样,您可以简单地在您的应用程序或您的设备上单独解密内容并将其提供给播放器,或者您可以更新清单并通过另一种方式提供密钥,以DASH中的Clearkey机制为例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。