我们的许可证服务器启用了 JWT JTI 密钥以防重播,在我们的 chomecast 上我们看到设备请求许可证两次以上(如果是两次我可以看看也许第一个请求是服务器证书 - 但对于 chromecast这似乎不是触发 JTI 反重播的事情。我看到当前版本的 cast 固件使用 shaka 3.2.0,并且针对 Widevine(或类似)为 3.0.2.
完成了此问题的修复想知道是否有人在 chromecast 上解决了玩家不止一次请求许可的类似问题?
谢谢
期待 chromecast 播放器请求一次许可。
如果你想阻止 Shaka 播放器 Chromecast 插件多次请求 Widevine 许可,你可以使用持久许可请求。这意味着插件请求一次许可证并在播放期间重复使用它。要启用永久许可请求,您可以在播放器配置中将“persistentStateRequired”属性设置为 true。
像这样
// Configure the Shaka player
const player = new shaka.cast.CastReceiver(playerManager, YOUR_APP_ID);
player.configure({
manifest: YOUR_MANIFEST_URL,
streaming: {
rebufferingGoal: 2,
bufferingGoal: 5,
bufferBehind: 30,
},
// Set persistentStateRequired to true to enable persistent license requests
persistentStateRequired: true
});
可以在 player.configure() 方法中将 persistentStateRequired 属性设置为 true 以启用持久许可请求。这告诉插件请求一次 Widevine 许可证并在播放期间重复使用它。
参考文档 https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.PlayerConfiguration
特别是这个
AdvancedDrmConfiguration
persistentStateRequired 布尔值默认为 false。 如果应用程序需要密钥系统支持持久状态,则为真,例如,用于持久许可证存储。
在代码中搜索persistentState https://shaka-player-demo.appspot.com/docs/api/externs_shaka_player.js.html