从Azure更新Widevine许可证

时间:2020-10-30 11:13:06

标签: azure exoplayer azure-media-services exoplayer2.x

我有一个关于使用天蓝色媒体服务续订Widevine许可证的问题,

我正在尝试使用清单中提供的动态许可证URL从azure许可证服务续订许可证,但是当我使用offlineHelper类(offlineLicenseHelper.renewLicense)在exoplayer上续订时,许可证服务始终返回相同的内容知道我已经在我的Widevine内容密钥策略模板中声明can_renew:true的密钥。

我的工作有问题吗?

任何答案都可以帮助您。

谢谢。

2 个答案:

答案 0 :(得分:0)

是的,确实是我现在正在使用的功能,这就是我的使用方式:

keySetId =mediaItem.playbackProperties.drmConfiguration.getKeySetId();
android.util.Log.d(TAG, "doInBackground: Old key : "+ Arrays.toString(keySetId));
newkeySetId = offlineLicenseHelper.renewLicense(keySetId);   
android.util.Log.d(TAG,"doInBackground:newkey:"+Arrays.toString(newkeySetId));

我在日志中测试的示例结果是:

doInBackground: Old key : [107, 115, 100, 69, 69, 55, 51,  57, 54, 65, 54]
doInBackground: New key : [107, 115, 100, 69, 69, 55, 51,  57, 54, 65, 54]

KeysetId和newKeySetId都产生相同的值,而我正在使用的服务器的许可证URL是这样的:

https://swannmediaservice.keydelivery.westeurope.media.azure.net/Widevine/?kid=a2711bd1-f1c6-42f0-b6bc-06ec12405d3c

以上只是azure媒体服务随清单提供的动态URL的示例。

但是我认为这是因为值kid = a2711bd1-f1c6-42f0-b6bc-06ec12405d3c总是返回相同的密钥ID,即使我请求新的密钥ID。

我不确定azure是否不支持动态URL上的密钥续订还是什么?!

答案 1 :(得分:0)

对于Widevine请求,我们将模板作为字符串。我们应该将您在模板中提供的所有信息一直发送到Google Widevine服务器。

我自己尚未测试此流程,但是当我们收到有关Key Delivery服务的Widevine请求时,我们只需填写诸如keyID之类的详细信息,并用我们的密钥对其进行签名。除此之外,我们实际上没有做任何其他事情,然后将请求发送到Google for Widevine托管的许可证服务器上。我们不会在实际许可请求中更改任何部分或模板。

创建ContentKeyPolicy时,policyoverride对象来自您,作为WidevineConfiguration的一部分。我们不会设置或更改其中设置的 renewal_server_url

您确定您有一个有效的模板吗?如果您可以提交带有该帐户所有详细信息的官方支持票证,并且所使用的模板也可以跟踪我们。