Проблема cast.framework.media.ShakaPlayer в приемнике Chromecast при воспроизведении контента DRM от веб-отправителя

Я создаю настраиваемый приемник, который воспроизводит содержимое DRM, получая настраиваемые метаданные от отправителя. Но получатель может воспроизвести только первый фрагмент, а затем отключиться от отправителя, показывая следующие сообщения на консоли Chromecast.

[180.456s] [cast.framework.media.ShakaPlayer] category: 3 code: 3017 
cast_receiver_framework.js:113  [180.509s] [cast.receiver.MediaManager] Sending error message to *:* 
cast_receiver_framework.js:113  [180.543s] [cast.framework.media.Player] player event: error 
cast_receiver_framework.js:113  [180.547s] [cast.receiver.MediaManager] Sending error message to *:* 

Я отправил зашифрованные файлы даш от отправителя и получателя в Интернете для расшифровки содержимого с использованием пользовательских данных и URL-адреса Widevine. Мой ресивер выглядит так:

const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const playbackConfig = new cast.framework.PlaybackConfig();
playbackConfig.licenseUrl = "<licecence server key>/";
playbackConfig.protectionSystem = cast.framework.ContentProtection.WIDEVINE;
playbackConfig.licenseRequestHandler = requestInfo => {
  requestInfo.headers = {
    "Content-Type": "application/dash+xml",
    customdata:
      "<custom data>"
  };
  return playbackConfig;
};
context.getPlayerManager().setMediaPlaybackInfoHandler((loadRequest, playbackConfig) => {
  if (loadRequest.media.customData && loadRequest.media.customData.licenseUrl) {
    playbackConfig.licenseUrl = loadRequest.media.customData.licenseUrl;
  }
  return playbackConfig;
});
context.start({ playbackConfig: playbackConfig });

В чем может быть проблема?

1 ответ

Возможно, я опаздываю, но поскольку ваше воспроизведение какое-то время длится и останавливается, это в основном проблема, связанная с вызовом DRM. Я вижу "Content-Type": "application/dash+xml", это не должно быть правильным значением заголовка. application/dash+xml - значение типа содержимого. Плюс проверьте, возвращает ли вызов DRM 200 в сетевых журналах.

Другие вопросы по тегам