-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi period MPD hangs after first period #285
Comments
Ah, forgot to write, I'm testing it here: Not sure if that's the latest version or not Thanks Eran |
The latest is v1.6.3, as seen on the appspot demo site. However, Shaka v1.x does not support multi-Period content. We have yet to release a beta of v2.0, but we have already implemented multi-Period support in the When we reach the beta stage, we will merge Unfortunately, the v2 work-in-progress is not complete yet, so you will have to wait for the beta. Sorry! |
Ok, thanks ! |
I've tried to take a look at the preview branch but there isn't any test player (index.html is gone). I've also tried using the one from the master branch but there seem to be too many changes. Is there any player I could use? |
The demo page is not complete yet. In the mean time, you can still use the library API from the <!DOCTYPE html>
<html>
<head>
<script src="third_party/closure/goog/base.js"></script>
<script src="dist/deps.js"></script>
<script src="shaka-player.uncompiled.js"></script>
<script>
window.onload = function() {
shaka.polyfill.installAll();
var uri = '//storage.googleapis.com/widevine-demo-media/' +
'heliocentrism/heliocentrism.mpd';
player = new shaka.Player(video);
player.addEventListener('error', function(event) {
console.error('ERROR', event.detail);
});
player.load(uri).catch(function(error) {
console.error('FAILED TO LOAD', error);
});
}
</script>
</head>
<body><video id="video" controls width="800" height="600" autoplay></video></body>
</html> |
Thanks! We have a test stream here: http://31.14.160.192:8000/ah/manifest.mpd |
That stream is using |
@perses, The manifest you referenced above is a live, multi-period manifest that seems to do some strange things. In particular, there seems to be no continuity between updates.
The expectation is that Period ids and timestamps are consistent and refer to the same content across updates. A Period may disappear in updates, and new Periods may be added. Control over how much content is available (the "DVR window") is handled with the |
Make sure you use the URL from the Location element for future updates. The first request without URL query creates a new session and to access it in the future it needs the listeningSessionId URL parameter. |
Segments from the start of the first Period also are removed (in this case the timestamp of the first segment minus the presentationTimeOffset will be greater than zero). This is handled properly in GPAC MP4Client and dash.js when using a single Period (they have problems with multi-period). |
Ah, I see. Then the remaining issue is likely our lack of |
See #298 for Location support. |
Thank you! |
Hi,
I'm trying to play the following multi period MPD:
http://lbd.kaltura.com:8001/mapped/playlist-saas.php/disc/1/type/vod/manifest.mpd
And it hangs after the first period, the console shows this error:
endOfStream() should not modify the MediaSource's duration: before 90.066733 after 83.116449 delta -6.950283999999996
It is playing successfully in this player:
http://dashif.org/reference/players/javascript/v1.5.0/samples/dash-if-reference-player/index.html
Also, it seems that the player scrubber is showing only the duration of the first period (it reaches the end of the scrubber when the first period is over), isn't it supposed to show the total duration ?
Thanks
Eran
The text was updated successfully, but these errors were encountered: