-
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
DASH stream playing on DASH IF but not in JW Player #562
Comments
I see HTTP 404 errors trying to fetch certain segments:
The manifest has media template of "chunk_ctvideo_rid$RepresentationID$_cs$Time$_w1820516199_mpd.m4s", so the missing segment is Representation ID "p0va0br199918" and time 1080000. The relevant SegmentTimeline begins like this:
So segment 1 starts at 0 and ends at 1080000, which means segment 2 was missing. The Representation in question is the 180p version of the video. The Shaka Player library dispatches an error but keeps going. The ABR system decided (at least in my case, due to my bandwidth) to switch to a higher resolution (360p instead of 180p). The 360p Representation was not missing that segment, so for me, I see playback continue after the error. Each application can decide what to do with error conditions: abort, keep trying, etc. It's possible that JWPlayer's policy is to abort on these errors. It's also possible that a given user may not have the bandwidth to support 360p, so playback may stall on that missing segment even if the error were ignored by the application. Shaka Player does not support content with missing segments. This goes against DASH IOP as I understand it. All segments should be available in VOD content, and all Representations should be aligned and contain the same segments. My advice is to file a report with Wowza that this VOD content is missing segments in some Representations. Feel free to reference this analysis if it's helpful. |
I was curious and checked the issue as well. I would hazard a guess that the problematic 180p representation is simply not keyframe-aligned with the rest of the representations in the manifest. In case all the streams are all keyframe-aligned, Wowza must segment them in chunks with the same duration, but this is not the case here. If you check the generated mpd manifests by calling
Segment durations are different, and for all intents and purposes, the failing segment of 180p representation as referenced in the multi-bitrate smil stream does not exist when called with cs1080000 chunk identifier. It would need to be cs1012500 for Wowza to respond properly as can be seen in the single-bitrate 180p stream. Make sure that the content is properly encoded by placing keyframes at regular and identical intervals for all the qualities and the multi-bitrate stream then should work fine in any DASH player. |
Thanks @BucherTomas. Since the root cause seems to be the underlying media, I'm going to close this issue for Shaka Player. @HeidiW, please let us know if there's anything else we can do. |
Thanks @joeyparrish and @BucherTomas for the insights. |
I am using Shaka 2.0.0 as part of JW Player.
We have a customer whose stream plays in the DASH IF tester but fails after a few seconds in our player. We have their ok to post it here:
http://217.172.83.187/video/smil:video/AS339_A_vitjan_i_Dali_31101989.smil/manifest.mpd
Reproduction steps:
and play the stream in the player. It plays fine.
The file is hosted on a Wowza Streaming Engine latest version 4.5.1.01.
The SMIL file looks like this:
I am looking for feedback on troubleshooting why this stream works here: http://dashif.org/reference/players/javascript/1.4.0/samples/dash-if-reference-player/
and not here:
http://demo.jwplayer.com/stream-tester/
Thanks, Heidi
The text was updated successfully, but these errors were encountered: