Widevine + Chromecast许可网址

时间:2019-04-05 11:45:52

标签: javascript google-cast widevine

我为chromecast编写了一个自定义接收器,以处理受DRM保护的内容,对许可证服务器的调用似乎出现了问题。许可证由WideVine管理。

强制转换是通过Android发件人应用程序启动的,其中许可证网址以CustomData的形式传递。在接收器上启动播放器后,调试器将引发错误:[cast.framework.media.ShakaPlayer] category: 6 code: 6008,即LICENSE_RESPONSE_REJECTED(https://shaka-player-demo.appspot.com/docs/api/shaka.util.Error.html),并且MEDIA_FINISHED核心事件由endedReason: "ERROR"触发。受DRM保护的视频无法播放。

查看devtools中的网络选项卡,我发现许可证服务器的响应标头的Content-Length为零。即响应正文为空。

我用Google搜索了许多网址,但只登陆了相同的“包装并展开许可有效载荷”网址:https://shaka-player-demo.appspot.com/docs/api/tutorial-license-wrapping.html

这是唯一传递许可证URL的行:

const playbackConfig = new cast.framework.PlaybackConfig();

// Update playback config licenseUrl according to provided value in load request.
context
  .getPlayerManager()
  .setMediaPlaybackInfoHandler((loadRequest, playbackConfig) => {
    if (
      loadRequest.media.customData &&
      loadRequest.media.customData.licenseUrl
    ) {
      playbackConfig.licenseUrl = loadRequest.media.customData.licenseUrl;
    }
    return playbackConfig;
  });

我无法弄清楚这是什么原因,以及为什么受DRM保护的视频无法在我们的接收器上播放。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)