-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
HLS live streams just stops no errors #6251
Comments
seems to work fine on hlsjs videojs bitmovin etc and safari native. same behavior on chromecast sdk with just shaka. works with the MPL player. |
@avelad i checked 4.5.0 and i dont see any issues with the stream freezing. |
If the transmuxer were to blame, I think we would still see network requests for segments. It stops requesting segments, so I think that is a bug in HlsParser, SegmentIndex, or StreamingEngine. |
I just confirmed this issue with the latest release, v4.7.11. No configuration required. Quick link to repro: |
Update: while I was writing those last messages, network requests started happening again. It's still not playing, but my previous guesses about the root cause may be invalid. |
In v4.7.0, v4.6.0, v4.5.0, and v4.4.0 it is broken, but with different symptoms:
It appears to be working in v4.3.0. I'll bisect through that range to see what changed. Likely the introduction of our transmuxer. :-) |
ive seen the possible encoding problems errors with media tailor streams as well for ad insertions on hls. |
if you need more content with dynamic ad breaks, discontinuities, and mediatailor streams encoded/packaged by ateme, let me know. i still see those possible possible encoding problems, repeated segements/audio/frames/freezing, Jumping forward to catch up with the seek range with 4.7.11. i sometimes see also segment_index.js:522 Assertion failed: SegmentReferences are incorrect and log.js:140 Possible encoding problem detected! Unexpected buffered range for reference shaka.media.SegmentReference and a lot of gap jumping but i dont see gaps in some of these streams/media. most of the time these dont cause too much impact to the stream sync wise or error or playback wise outside of filling up the console. |
All these things are signs of something that is very wrong. They don't always lead to a failed playback, but they point to broken assumptions and/or bad content. (It's hard to tell which is which from the symptoms alone.) I confirmed your bisection that the "just stops" symptoms start at 776b69d, PR #6059, which is meant to fix issue #5939. Since reverting that just leads to different problems ("possible encoding problem", repeated segments, etc.), I don't think that is a viable solution. |
i dont think its bad content, ive been testing this on mpl default sdk for the new shaka hls opt in, along with safari native, bitmovin, hlsjs,theo,videojs plays fine on all those. probably just a small bug :-) |
yeah that might fix the stopping part, but do you want another issue for the discontinuity ads related errors? |
@avelad i do see nightly fixes the just stops behavior. i still see those possible possible encoding problems, repeated segements/audio/frames/freezing,Jumping forward to catch up with the seek range, console errors etc. should i open a new ticket for those? |
@dbanbahji I've been looking to see what happens with your stream and I think it is poorly generated: Start of stream (player load)
1º update
2º update
The PDTs are:
If the duration of the segments is 8, the time increment should always be 8, and what your stream says is not like that The expected would be:
You can ignore the PDT by configuration with |
Closing due to inactivity. If this is still an issue for you or if you have further questions, the OP can ask shaka-bot to reopen it by including |
@avelad |
@shaka-bot reopen |
Segments mode or sequence mode is how MSE works, in general sequence mode requires less computational power (it is more efficient), but is less tolerant to errors. Each stream may need something different depending on how it is generated, if it is generated well the default configuration should work correctly. |
whats the difference between sequence mode and segements mode? |
It seems that this problem could be mitigated by configuring |
@avelad Can you explain in detail why setting hls sequenceMode to false in the above issue alleviates the playback issue? |
Because of the way the timestampOffset is calculated to pass it to MSE, we tolerate more errors this way. |
By setting sequenceMode to false, the error below that occurs when out of sync does not occur. The sync problem has been resolved, but the error below occurs repeatedly and the buffer is filled and depleted repeatedly. |
We will follow up on this last error at #7087 |
Closing due to inactivity. If this is still an issue for you or if you have further questions, the OP can ask shaka-bot to reopen it by including |
Have you read the FAQ and checked for duplicate open issues?
yes
If the problem is related to FairPlay, have you read the tutorial?
not related to fairplay
What version of Shaka Player are you using?
demo page
Can you reproduce the issue with our latest release version?
yes
Can you reproduce the issue with the latest code from
main
?yes
Are you using the demo app or your own custom app?
demo
If custom app, can you reproduce the issue using our demo app?
yes
What browser and OS are you using?
chrome latest
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
n/a
What are the manifest and license server URIs?
https://install.perfectgame.tv/speed/broadcast/15/desktop-playlist.m3u8
What configuration are you using? What is the output of
player.getConfiguration()
?demo page default
What did you do?
play stream downloads 1-2 segments then stops downloading anymore, manifest continue to download and be updated.
ts stream with no encrtyption.
What did you expect to happen?
playback to continue
The text was updated successfully, but these errors were encountered: