0

我正在尝试通过 ExoPlayer Android 库播放受 DRM (Widevine) 保护的视频。但我观察到在播放内容时调用了一些 google api,例如:https://www.googleapis.com/certificateprovisioning/v1/devicecertificates/create?key=AIzaSyB-5OLKTx2iU5mko18DfdwK5611JIjbUhE&signedRequest=CloKTAgAEkgAAAACAAARXQ2Uk20H84uZwd-GgomF4yknNzh91QhUZHxuThGrF5WLuZE6xUzyEWRwhnBlUVV0dmDoaIS2bF9yCUtW-awQeLkSBA-nt1QaBAgAEgASII3yfAKXhcwZhE1ft-BI3AQMe_jgIefj-QS8F9kOZtzt.

我不知道为什么调用google api?我怎样才能避免调用它?

4

1 回答 1

0

当使用 DRM 时,设备需要提供 DRM 证书——这样 DRM 服务器可以确保他们知道他们正在与谁交谈。

这曾经是每个设备一次,但现在是每个应用程序/包,AFAIK。

MediaDRM 的 Android 文档说明:

应用程序和供应服务器之间发生供应请求/响应交换以检索设备证书。如果需要配置,EVENT_PROVISION_REQUIRED 事件将被发送到事件处理程序。

下图显示了配置请求和单个许可证请求的单独路径(撰写本文时的来源 - https://developer.android.com/reference/android/media/MediaDrm):

在此处输入图像描述

所以,基本上你不想避免这个被调用,因为它是常规 DRM 过程中的必要步骤,以允许你的设备检索密钥并播放内容。

对于浏览器,存在类似的机制,但基于 EME(HTML5 加密媒体扩展)和 CDM(内容解密模块 - 浏览器用来解密和播放加密内容的 DRM 特定模块 - 每个 DRM 系统通常都有一个,例如Widevine CDM 用于 Chrome 和 Firefox,PlayReady 用于 Edge 等)。

EME 规范包括以下注释 ( https://www.w3.org/TR/encrypted-media/#individualization ):

在此处输入图像描述

于 2019-09-04T17:25:42.820 回答