Я написал специальный приемник для chromecast для обработки контента, защищенного DRM, и, похоже, возникла проблема с вызовом, который выполняется на сервере лицензий. Лицензия управляется WideVine.
Приведение инициируется из приложения отправителя Android с URL-адресом лицензии, переданным как CustomData
. После того, как игрок получает инициацию на приемнике, отладчик выдает ошибку: [cast.framework.media.ShakaPlayer] category: 6 code: 6008
т.е. LICENSE_RESPONSE_REJECTED (https://shaka -player-demo.appspot.com / docs / api / shaka.util.Error.html ) и основное событие MEDIA_FINISHED
запускается с endedReason: "ERROR"
. Видео с защитой DRM не воспроизводится.
Просматривая вкладку сети в devtools, я обнаружил, что Content-Length
заголовка ответа от сервера лицензий равен нулю. то есть тело ответа пусто.
Я погуглил многие URL только для того, чтобы попасть на один и тот же URL "Wrapping-and-unwrapping-license-payload": https://shaka -player-demo.appspot.com / docs / api / tutorial-license-wrapping .html
это единственная строка, в которой передается URL лицензии:
const playbackConfig = new cast.framework.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 не воспроизводятся на нашем ресивере. Любая помощь будет принята с благодарностью.