我有一个关于使用天蓝色媒体服务续订Widevine许可证的问题,
我正在尝试使用清单中提供的动态许可证URL从azure许可证服务续订许可证,但是当我使用offlineHelper类(offlineLicenseHelper.renewLicense)在exoplayer上续订时,许可证服务始终返回相同的内容知道我已经在我的Widevine内容密钥策略模板中声明can_renew:true的密钥。
我的工作有问题吗?
任何答案都可以帮助您。
谢谢。
答案 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是这样的:
以上只是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 。
您确定您有一个有效的模板吗?如果您可以提交带有该帐户所有详细信息的官方支持票证,并且所使用的模板也可以跟踪我们。