如何解决如何在 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 举报,一经查实,本站将立刻删除。