Я не могу воспроизвести полный MPEG DASH с помощью Chromecast.Приведение начинается с отправителя IOS или Android, но после буферизации оно не может возобновиться и соединение завершается.
Если мы посмотрим на отладчик, ошибки не будет.Мы можем видеть только буферизацию = true.Через несколько секунд Chromecast не может воспроизводиться.
Debbuger:
ll {type: "MEDIA_STATUS", mediaStatus: {…}}
[Violation] 'setTimeout' handler took 376ms
[Violation] 'setTimeout' handler took 914ms
[Violation] 'setTimeout' handler took 60ms
index2.html:35 sl {type: "BUFFERING", isBuffering: true}
[Violation] 'setTimeout' handler took 1023ms
cast_receiver_framework.js:29 [Violation] 'timeupdate' handler took 306ms
index2.html:35 jl {type: "RATE_CHANGE", currentMediaTime: 255.119044}
[Violation] 'setTimeout' handler took 82ms
index2.html:35 ll {type: "MEDIA_STATUS", mediaStatus: {…}}
Это происходит с любым видео DASH или Smooth Streaming с DRM или без DRM.
КОД приемника:
<html>
<head>
</head>
<body>
<cast-media-player id="player"></cast-media-player>
<script type="text/javascript" src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
</script>
<script>
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
// intercept the LOAD request to be able to read in a contentId and get data
playerManager.setMessageInterceptor(
cast.framework.messages.MessageType.LOAD, loadRequestData => {
if (loadRequestData.media && loadRequestData.media.contentId) {
//loadRequestData.media.contentUrl = media.url;
//loadRequestData.media.contentType = media.contentType;
//loadRequestData.media.metadata = media.metadata;
loadRequestData.media.contentUrl = "https://dash.akamaized.net/dash264/TestCases/1c/qualcomm/2/MultiRate.mpd";
loadRequestData.media.contentType = "application/dash+xml";
return loadRequestData;
}
});
// listen to all Core Events
playerManager.addEventListener(cast.framework.events.category.CORE,
event => {
console.log(event);
});
const playbackConfig = new cast.framework.PlaybackConfig();
playbackConfig.autoResumeDuration = 5;
playbackConfig.autoResumeNumberOfSegments = 5;
playbackConfig.enableSmoothLiveRefresh = 1;
context.start({
playbackConfig: playbackConfig,
});
</script>
</body>
</html>
Есть ли у кого-нибудь подобное поведение?Любое воспроизведение Dash на Chromecast работает?Код получателя правильный?