微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 chromecast 中使用 DRM 内容

如何解决如何在 chromecast 中使用 DRM 内容

我们正在尝试将 drm MPD 内容从 Chrome 播放到 Chromecast 我们的接收器应用代码如下:

const context = cast.framework.CastReceiverContext.getInstance();
const playbackConfig = new cast.framework.PlaybackConfig();
playbackConfig.licenseUrl = 'http://widevine/yourLicenseServer';
playbackConfig.protectionSystem = cast.framework.ContentProtection.WIDEVINE;
playbackConfig.licenseRequestHandler = requestInfo => {
  requestInfo.withCredentials = true;
};
context.start({playbackConfig: 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 传递自定义数据的正确方法。 请帮忙。

解决方法

我认为您是在问如何在自定义中将许可证 URL 从发送方客户端(设备“外壳”)发送到接收方(将接收投射请求并实际获取和播放流的设备)数据。

自定义数据是一个 JSON 对象,您只需将许可证 url 放入其中即可。

有两种常用的方式来传递这个自定义数据:

  • 使用 MediaInfo.Builder.setCustomData 方法将其包含在 MediaInfo 对象中
  • 将其包含在 MediaLoadOptions 数据中

例如,查看 Google 文档中的 MediaInfo 示例并添加自定义数据:

List tracks = new ArrayList();
tracks.add(englishSubtitle);
tracks.add(frenchSubtitle);
tracks.add(frenchAudio);
MediaInfo mediaInfo = MediaInfo.Builder(url)
  .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
  .setContentType(getContentType())
  .setMetadata(getMetadata())
  .setMediaTracks(tracks)
  .setCustomData(yourCustomData)    <--- This is the custom data
  .build();

上面的“yourCustomData”是一个 JSON 对象,您可以在其中创建并将数据添加到其中,在您的情况下是您的许可证服务器 URL:

JSONObject yourCustomData = new JSONObject();
try {
    yourCustomeData.put("licenseURL","HTTPS://yourlicenseServerUrl.com");
} catch (JSONException e) {
    // Add any error code you want here
    e.printStackTrace();
}
,

请按照js代码

new ChromecastJS().cast({
 content: "xxxxxx",contentType: "application/dash+xml",poster: "xxxxxxx",title: "xxxxx",description: "xxxxx",duration: "xxxx",volume: 0.5,muted: false,paused: false,time: "Xxxxx",customData: {
  drmHeaders: {
    customdata: "xxxxxx",},drmLaUrl: "xxxx",drmKsName: "com.widevine.alpha",});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。