Widevine密钥适配问题:64位key如何填入encryption[0].key字段?
问题
- 拿到Widevine提供的64字符
key和32字符iv,填写Google云视频转码器的encryption[0].key字段时触发错误:Secret config field config.encryption[0].key is invalid, expected a valid 128-bit hexadecimal string of length 32. - 疑问:该字段到底该填入什么内容?
解决办法
Widevine给出的64字符key是Base64编码的128位密钥,你需要完成两步转换:
- 将这个64字符的Base64字符串解码为原始的16字节二进制数据
- 把二进制数据转换成32位的十六进制字符串(每字节对应2位十六进制字符,大小写均可)
转换得到的32位十六进制字符串,就是要填入encryption[0].key的内容。
修正后的配置示例
{ "encryptionKeys": [ { // Widevine配置密钥 "keyId": "44ec248b048c43a6a6ee58a752c6f9f8", "key": "转换得到的32位十六进制字符串", "keyUri": "https://license.staging.widevine.com/cenc/getcontentkey/{provider}", "matchers": [ { "muxStreams": ["360p", "720p", "1080p", "audio"] } ] } ] }
内容的提问来源于stack exchange,提问作者HNG
相关产品推荐
相关产品推荐

