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
Ignore missing DASH media segments in a live stream #1162
Comments
Hi, I'm unsure of what should be done on the Manifest-side when segments are skipped, but I would assume that the Manifest should not announce non-existent segments. With that said, I understand that such situations can still happen and you may want to totally skip a segments if many consecutive requests for it fails with the same error. Anyway, to properly skip the segment, I guess instead of relying on the As for displaying a black screen or a silenced audio instead of skipping it, I'm not sure that this is easily doable without disabling the corresponding That is how audio-only works:
And this would have to happen before and after the segment skip (to remove and re-add the buffer). An alternative could be to push data corresponding to a black screen for video and to silence for audio, but this may not be straightforward as we would need to generate segments for this for all potential codecs/profiles we encounter to ensure compatibility. |
When playing a DASH live stream, the player will stop at missing video segments and retry the download before failing. Due to network latencies or other issues, segments may be available in an incorrect order or not be available at all.
Instead of stopping, some use cases would benefit from continuing to play whatever segments are in the pipeline and simply show a black image when a video segment is missing or "play" silence if an audio segment is missing. That is, if a 1s video segment is missing, 1s of empty video should be shown.
A current workaround is to implement a custom segment loader and return an empty
ArrayBuffer
upon receiving 404s from the content server. This makes the player skip at least that segment until the buffer contains enough media. How much is skipped does not always seem to be deterministic, however. Furthermore, the stutter and inability to play audio if it's available, is not preferable.I tried to identify better workarounds, partly by looking at how #695 is done, which allows audio to be played without video. I also looked at ways to make the segment inventory identify missing segments as taking up time without having any content. However, I failed to find any feasible workaround.
Are there existing workarounds today, or would it require new features?
The text was updated successfully, but these errors were encountered: