0

There is a problem with launching video from DRM via CAF (cast receiver)

It is noticed that one of the channels with drm starts up for me, but the video is not shown. Only audio works.

Other channels with drm do not work.

An error: [Cast.framework.media.shakaplayer] Category: 7 Code: 7000

In the console, only mpd files are uploaded to the "network". Packages with video and audio do not come.

Can you suggest a possible reason for this behaviour?

const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const playbackConfig = new cast.framework.PlaybackConfig();

const ContentType = {
  DASH: 'application/dash+xml',
  HLS: 'application/x-mpegurl'
};
const mediaFormatID = {
  DASH: 2,
  HLS: 4
};

playerManager.setMessageInterceptor(
  cast.framework.messages.MessageType.LOAD,
  request => {
    return new Promise((resolve, _reject) => {

      // Configure player to parse DASH content
      if (request.media.metadata.mediaFormatID == mediaFormatID.DASH) {
        request.media.contentUrl = request.media.contentUrl;
        request.media.contentType = ContentType.DASH;

        // Customize the license url for playback
        if (request.media.metadata.licenseUrl) {
          playbackConfig.licenseUrl = request.media.metadata.licenseUrl;
          playbackConfig.protectionSystem = cast.framework.ContentProtection.WIDEVINE;

          let token = request.media.metadata.token;
          let contentId = request.media.metadata.contentId;

            
            playbackConfig.licenseRequestHandler = requestInfo => {
              let body = {
                  token: token,
                  drm_info: Array.apply(null, new Uint8Array(requestInfo.content)),
                  contentId: contentId
              };

              body = JSON.stringify(body);
              requestInfo.content = body;

              requestInfo.headers["Content-Type"] = "application/json";
            };
        }

      } else {
        request.media.contentType = ContentType.HLS;
        request.media.contentUrl = request.media.contentUrl;
        request.media.hlsSegmentFormat = cast.framework.messages.HlsSegmentFormat.FMP4;
        request.media.hlsVideoSegmentFormat = cast.framework.messages.HlsVideoSegmentFormat.FMP4;
      }

      // Add metadata
      let metadata = new cast.framework.messages.GenericMediaMetadata();

      metadata.title = request.media.metadata.title;
      metadata.subtitle = request.media.metadata.subtitle;

      request.media.metadata = metadata;

      resolve(request);

    });
  });


  playbackConfig.licenseHandler = data => {
     return new Promise((resolve, _reject) => {
      resolve(new Uint8Array(data));
    });
  };
   
  context.start({playbackConfig: playbackConfig}); 

0 Answers0