【问题标题】:Widevine DRM playback on Chromecast在 Chromecast 上播放 Widevine DRM
【发布时间】:2014-10-21 17:46:23
【问题描述】:

我一直在阅读有关在设备连接到 chromecast 后在 chromecast 上进行 Widevine 播放的内容。我已经在 android 和 ios 中为电影标题工作,我不确定从哪里开始,我应该将我的自定义数据作为我的自定义数据传递给播放器。我在

上简要查看了示例

https://github.com/googlecast/CastMediaPlayerStreamingDRM

但我还没有尝试实现它,因为我不想旋转我的轮子试图将随机密钥和东西传递到接收器。由于我已经在设备上进行了所有必要的身份验证,因此我需要向接收者发送什么。

【问题讨论】:

  • 示例项目也支持 Widevine,所以你应该看看那个项目。
  • @AliNaddaf 感谢您对我的问题发表评论。如果我暂时将它托管在谷歌驱动器上,是否可以让 drm 接收器用于开发目的?
  • 在 Google Drive 上托管很好;我们只是不建议将其用于生产,否则没有技术理由阻止您使用它。说明在这里:support.google.com/drive/answer/2881970?hl=en
  • @AliNaddaf - 我正在尝试使用此接收器播放 WV 内容:github.com/googlecast/CastReferencePlayer .. 它适用于我的 Player Ready 流,但不适用于 WV 流.. 我正在尝试了解我需要向接收器发送哪些参数才能播放..例如:主机中需要 licenseCustomData 和 licenseUrl 吗?我只需要发送 mediaElement 和 url 吗?现在,当我尝试这样做时,CC 正在下载 1 个块并在 30000 毫秒后失败,然后尝试再次下载相同的块。

标签: android ios chromecast drm widevine


【解决方案1】:

我知道这已经晚了,但是对于需要帮助的其他人,您真正需要做的就是在自定义数据中传递许可证 url。

    JSONObject jsonObject = new JSONObject();
    try{
        jsonObject.put("licenseUrl", licenseUrl);
    } catch (JSONException e){
        Utils.log("Failed to add license to Json object.");
    }

    MediaInfo mediaInfo =
            new MediaInfo.Builder(videoUrl)
                    .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
                    .setContentType("video/mp4")
                    .setMetadata(movieMetadata)
                    .setStreamDuration(currentPosition)
                    .setCustomData(jsonObject)
                    .build();
    return new MediaQueueItem.Builder(mediaInfo).build();

对于接收器,请务必创建一个 CAF(不是 Receiver v2)并参考此guide 了解 Widevine 设置。服务器将需要读取许可证并允许它在接收端使用 Javascript 进行 Widevine 播放。

【讨论】:

    猜你喜欢
    • 2018-07-11
    • 2017-06-01
    • 2019-06-22
    • 2017-08-14
    • 2018-05-17
    • 2015-07-19
    • 2021-07-05
    • 1970-01-01
    • 2019-09-24
    相关资源
    最近更新 更多