问题标签 [playready]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
video-streaming - 如果 HD 许可证密钥不可用,则播放受 Widevine DRM 保护的多密钥内容将失败
我正在尝试实现一个流系统,其中 DASH 内容使用多个密钥进行加密:一个用于 SD 和音频再现,一个用于 HD。我想限制对支持更高安全级别的客户端(L1 用于 Widevine,SL3000 用于 PlayReady)的高清再现
根据DASH 实施指南(以及PlayReady 文档等),我的理解是推荐的设置应如下所示:
- 所有客户端都提供了一个 MPD 清单,包括 SD 和 HD 再现,以及 PSSH 标头,包括两者的内容密钥 ID。
- 客户端从 DRM 服务器请求这两个许可证。
- DRM 服务器:
- 返回两个许可证,为每个许可证指定所需的安全级别;或者:
- 标识客户端安全级别,并且只返回它应该能够使用的密钥。
- 在任何一种情况下,客户端都会确定它可以使用哪些密钥,并仅使用它具有有效且可用的许可证密钥的那些再现开始播放,并忽略它没有有效许可证密钥的再现。
Q1:我对最佳实践实施的理解是否正确?
假设是:我试图根据上述内容创建一个概念验证,但它似乎不起作用。我用过:
- Google Chrome(仅支持 Widevine L3 - 最低安全级别)
- DASH 参考播放器、JWPlayer 流测试器和 Shaka 播放器演示
- 使用两个密钥加密的资产
- 我可以修改的 Widevine 许可证服务器代理
根据我配置 Widevine 代理返回的内容,我看到了以下内容:
- L3 SD & HD 键:播放成功。
- L3 上的 SD 键且没有 HD 键:播放失败并出现以下错误:
- L3 的 SD 键和 L1 的 HD 键:播放失败并出现以下错误:
- L3 的两个键,但 HDCP_V2 的 HD 键:播放失败并出现错误:
Q2:以上是因为我测试过的播放器没有完全实现DASH规范吗?还是我的设置或假设有问题?
http-live-streaming - 如何从 pssh 构建 PlayReady 对象
我用于 PlayReady 的 PSSH-Box 以 base64 和十六进制格式显示在下方。
我在清单中使用 mspr:pro 标记。据我了解,在使用 mspr:pro 时,您输入的是 PlayReady Object 而不是 PSSH-Box (对于 PSSH-BOX cenc:ppsh 标签,在 manifest 中使用)。
如何从 PSSH 构建 Playready 对象?
android - 如何在 Fire TV 网络平台或 WebView 上使用 PlayReady?
根据亚马逊的文档:
问:Amazon Fire TV 的网络应用程序能否支持媒体播放的数字版权管理 (DRM)?
Web 应用平台支持 Widevine 和 PlayReady 的 DRM。有关对原生 FireTV 应用程序的 DRM 支持的详细信息,请参阅 Fire TV 设备规范页面的DRM部分。
但是,当navigator.requestMediaKeySystemAccess
从 Web 应用程序(通过 Web App Tester)或WebView
(通过 Cordova)调用时,请求仅对 WideVine 成功。
成功:
失败:
错误name
是NotSupportedError
,这意味着(根据MDN)不支持 PlayReady,尽管亚马逊的文档说明它是。
node.js - Azure 媒体服务 Widevine 和 PlayReady DRM 错误:无法解密加密的视频源 0x20500004
我正在尝试使用 Azure 媒体服务上传视频文件并使用 DRM 进行流式传输,到目前为止,我设法上传了文件,获取了流式 URL 并获取了令牌,但是当尝试在http://ampdemo.azureedge 上播放它时。净/我收到一个错误
现在已经搜索了几个小时来寻找可能导致问题的原因,但没有找到任何帮助。我使用了这个 repo(并将密钥更改为我自己的)
此外,我创建了一个名为 CommonEncryptionCencDrmContentKeyPolicy 的内容密钥策略,其许可证类型为 PlayReady 和限制类型令牌
任何人都可以帮助并分享我在这里缺少什么吗?
谢谢!