Azure 媒体服务 Widevine 和 PlayReady DRM 错误:无法解密加密的视频源 0x20500004

Posted

技术标签:

【中文标题】Azure 媒体服务 Widevine 和 PlayReady DRM 错误:无法解密加密的视频源 0x20500004【英文标题】:Azure Media Services Widevine and PlayReady DRM Error: Unable to decrypt encrypted video source 0x20500004 【发布时间】:2022-01-20 09:27:25 【问题描述】:

我正在尝试使用 Azure 媒体服务上传视频文件并通过 DRM 流式传输, 到目前为止,我设法上传了文件,获取了流式 URL 并获取了令牌,但是当我尝试在 http://ampdemo.azureedge.net/ 上播放它时出现错误

Unable to decrypt encrypted video source 0x20500004

现在已经搜索了几个小时以寻找可能导致问题的原因,但没有找到任何帮助。 我使用了这个 repo(并将密钥更改为我自己的)

https://github.com/Azure-Samples/media-services-v3-node-tutorials/blob/main/StreamFilesWithDRMSample/index.ts

此外,我创建了一个名为 CommonEncryptionCencDrmContentKeyPolicy 的内容密钥策略,其许可证类型为 PlayReady 和限制类型令牌

任何人都可以帮助并分享我在这里缺少什么吗?

谢谢!

【问题讨论】:

【参考方案1】:

确保您对所有内容都使用 https://...。不要在任何 URL 上混用 http: 这通常是问题所在。

更新: 我无法完全发现令牌中的问题,但这可能与您在 ContentKeyPolicyTokenRestriction 对象中定义限制的方式有关。

确保您的颁发者和受众与您传递给 JWT 令牌的内容相匹配。如果该示例对您有用,那可能会有所不同。

让限制:ContentKeyPolicyTokenRestriction = odataType: "#Microsoft.Media.ContentKeyPolicyTokenRestriction", 发行人:发行人, 观众:观众, primaryVerificationKey:primaryKey, 限制令牌类型:“Jwt”, 替代验证密钥:未定义, requiredClaims: requiredClaims

检查所有设置 Content Key Policy 令牌限制的 pat,并确保它与传递到 JWT 令牌中的所需声明相匹配。

【讨论】:

忘了添加 - 你应该阅读第 502 行。:-) 我把它放在那里,因为很多人都打了这个。 github.com/Azure-Samples/media-services-v3-node-tutorials/blob/… 我想我正在使用 https,我正在发送以下链接模式:projecthubams-euwe.streaming.media.azure.netuuid/manifest(encryption=cenc)&playready=true&widevine=true&token=Bearer%20$token所以我在 URL 上使用了 HTTPS,还有其他可能导致它发生的问题吗? 确保您正在加载 amp 演示页面的 https 版本。堆栈不会让我粘贴 URL,因此将其拆分一下以供参考 - https:// 然后是 ampdemo.azureedge.net/azuremediaplayer.html 它不起作用,我使用的是以下 URL:ampdemo.azureedge.net/azuremediaplayer.html 仍然出现相同的错误,我检查了密钥是否与主验证密钥匹配并且所有设置都相同但它仍然不起作用。 @Ozure 我应该再问几个。你测试的是什么浏览器?什么操作系统?基本样本工作没有改变。我刚刚测试了几次并采样了“在我的机器上工作”

以上是关于Azure 媒体服务 Widevine 和 PlayReady DRM 错误:无法解密加密的视频源 0x20500004的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure 媒体服务中的令牌播放 Widevine

使用 Azure 媒体服务通过 shaka 打包程序交付 DRM 许可证?

Azure 中的 Widevine 加密视频不会过期

使用 Azure 媒体服务和 Asp.Net Core 上传和管理媒体文件的最佳方式

microsoft azure Media Services 媒体服务解决方案

Android:DrmManager 服务器死机