Skip to content
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

Live streaming / Not able to start playback #1393

Closed
mhosman opened this issue Apr 4, 2018 · 1 comment
Closed

Live streaming / Not able to start playback #1393

mhosman opened this issue Apr 4, 2018 · 1 comment
Labels
status: archived Archived and locked; will not be updated status: duplicate A duplicate of another issue; should be closed after linking to the original issue

Comments

@mhosman
Copy link

mhosman commented Apr 4, 2018

Have you read the FAQ and checked for duplicate open issues?:
Yes
What version of Shaka Player are you using?:
Shaka Player 2.3.5
Can you reproduce the issue with our latest release version?:
Yes
Can you reproduce the issue with the latest code from master?:
Yes
Are you using the demo app or your own custom app?:
No
If custom app, can you reproduce the issue using our demo app?:
No (because of custom configuration)
What browser and OS are you using?:
Google Chrome 65 / Windows 10

Hi !! We are working with some encrypted dash live streaming contents and sometimes the player is not able to start playback (now we are working with 2.3.5 but we tested all versions and we get the same behavior with Shaka Player >= 2.0.0 -- not tested in versions < 2.0.0 -- ). The only thing that fix this is restarting the streaming server. This is an example of console output:

Found variant with audio and video content, so filtering all periods.
drm_engine.js:602 It is recommended that a robustness level be specified. Not specifying the robustness level could result in unexpected behavior.
player.js:755 codecs avc1-mp4a avg bandwidth 1064000
player.js:2580 onChooseStreams_ 
1.      {startTime: 0, textStreams: Array(0), variants: Array(3)}
player.js:2592 Choosing new streams after period changed
streaming_engine.js:419 init: completed initial Stream setup
streaming_engine.js:1359 (audio:1) looking up segment: presentationTime=1522786833.012 currentPeriod.startTime=0
streaming_engine.js:1368 (audio:1) cannot find segment: currentPeriod.startTime=0 lookupTime=1522786833.012
streaming_engine.js:1359 (video:3) looking up segment: presentationTime=1522786833.012 currentPeriod.startTime=0
streaming_engine.js:1368 (video:3) cannot find segment: currentPeriod.startTime=0 lookupTime=1522786833.012
streaming_engine.js:1359 (audio:1) looking up segment: presentationTime=1522786833.012 currentPeriod.startTime=0
streaming_engine.js:1368 (audio:1) cannot find segment: currentPeriod.startTime=0 lookupTime=1522786833.012
streaming_engine.js:1359 (video:3) looking up segment: presentationTime=1522786833.012 currentPeriod.startTime=0
streaming_engine.js:1368 (video:3) cannot find segment: currentPeriod.startTime=0 lookupTime=1522786833.012
streaming_engine.js:1359 (audio:1) looking up segment: presentationTime=1522786833.012 currentPeriod.startTime=0
streaming_engine.js:1368 (audio:1) cannot find segment: currentPeriod.startTime=0 lookupTime=1522786833.012
streaming_engine.js:1359 (video:3) looking up segment: presentationTime=1522786833.012 currentPeriod.startTime=0
streaming_engine.js:1368 (video:3) cannot find segment: currentPeriod.startTime=0 lookupTime=1522786833.012
dash_parser.js:1186 Updating manifest...
Assertion failed: SegmentReferences are incorrect
segment_index.js:319 Assertion failed: SegmentReferences are incorrect

Any idea of what could be happening here?

@mhosman mhosman changed the title Live streaming > Playback not starting Live streaming / Not able to start playback Apr 4, 2018
@joeyparrish joeyparrish added status: duplicate A duplicate of another issue; should be closed after linking to the original issue and removed needs triage labels Apr 5, 2018
@joeyparrish
Copy link
Member

This is the classic symptom of a stream which is experiencing "drift". This is when the actual output of the packager/encoder drifts away from the ideal timeline presented in the manifest.

For example, if your output speed is 0.999x real time, after only 24 hours, your stream will have drifted by more than 1 minute. This is enough to cause issues at the live edge.

When a stream is drifting, the problem goes away when the encoder/packager is restarted. This is because restarting everything brings the stream back into alignment with reality. Over time, the drift accumulates again.

To deal with this, we are planning a refactor in v2.5 (#999) so that we will ignore the idealized timeline presented by the DASH manifest, and derive a realistic timeline from the list of segments.

I can't say for certain if you are seeing drift, because you did not send us a manifest URI. We would need this information to reproduce the issue and diagnose it in detail. But your symptoms seem to match drift.

For now, I will close this as a duplicate of #999. If you feel this is a mistake, or if you would like to send us a manifest that we can use to reproduce, please ask for the issue to be reopened by replying with "@shaka-bot reopen".

Thanks!

@shaka-project shaka-project locked and limited conversation to collaborators Jun 4, 2018
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated status: duplicate A duplicate of another issue; should be closed after linking to the original issue
Projects
None yet
Development

No branches or pull requests

3 participants