Dash-Industry-Forum / dash.js

A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.
http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html
Other
5.06k stars 1.67k forks source link

Dash will sometimes download multiple chunks at the same time #2631

Closed Ismael closed 6 years ago

Ismael commented 6 years ago
Environment
Steps to reproduce

1) In developer tools, Network, create a 1Mbps setting 2) Load the MPD in the reference player 3) Limit the network to 1Mbps 4) Play the content

Observed behaviour

Observe the network tab, sometimes it will issue the request for 2 video chunks at the same time. You'll have to click "Load" and see if the first 2 or 3 chunks download at the same time or not. It doesn't always do that.

This impacts me because the player will try to download 2, 3 and even 4 segments at the same time on a very limited connection. Causing it to delay a long time before starting playback (the successive downloads in parallel make the first chunk take forever to load).

epiclabsDASH commented 6 years ago

@Ismael, could you please provide browser logs and a screenshot of browser network traces?

The way dash.js does requests is sequential, it doesn't schedule a request until the previous one was signaled as completed so what you are reporting sounds weird to me. Any info you provide will be helpful to isolate the issue.

Thanks!

Ismael commented 6 years ago

Here you go: browser.log reference.dashif.org.har.zip

Ismael commented 6 years ago

Another one with my own content. I cannot publicly provide the link, but I can personally give you one to test if you wish, @epiclabsDASH .

browser.log reference.dashif.org.har.zip

epiclabsDASH commented 6 years ago

Thanks for the info @Ismael. I can't reproduce the issue here so needs to do more testing (tested here in Linux/Chrome 67. Will test it on Chrome 66). Just curious. Are you configuring dash.js in any special way? I guess you are activating low latency, anything else?

If you can paste here the few lines you have used to integrate dash.js in your webapp that would be great.

Thanks

Ismael commented 6 years ago

I'm using the reference player with no extra settings. Just load http://reference.dashif.org/dash.js/v2.7.0/samples/dash-if-reference-player/index.html , put the URL and click on Load (with the network limited to 1mbps or 2mbps).

If you look at the last capture I did, you can see it downloads the same chunk several times. I tested a couple of times more and it always seems that's the case.

In this sample, you can see it loads the same chunk FOUR times. I don't know if the browser.log is complete, I cut a piece of it since I had to try several times until it failed. browser.log reference3.dashif.org.har.zip

A client has a very spotty wifi and experiences this issue quite frequently.

Ismael commented 6 years ago

Just updated to Chrome 67 and I still see this issue happening. Only weird change is that C67 shows the file size at start (a few bytes) and at end. C66 showed the file size increasing as the download went by.

aescarcha commented 6 years ago

Hi @Ismael I've been trying to reproduce this for a while and I can't, only difference I see is that I'm using Mac, maybe it's OS related?

Ismael commented 6 years ago

I've seen it in Linux and Windows. Try adding latency in the network emulation. 1Mbps with 100ms should be enough.

On Thu, 14 Jun 2018 at 10:56, Álvaro Escarcha notifications@github.com wrote:

Hi @Ismael https://github.com/Ismael I've been trying to reproduce this for a while and I can't, only difference I see is that I'm using Mac, maybe it's OS related?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Dash-Industry-Forum/dash.js/issues/2631#issuecomment-397304627, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHVzteA8zndZotFPf9SFwsfKKJFWWnsks5t8mtwgaJpZM4UfAa- .

davemevans commented 6 years ago

This looks like a duplicate of https://github.com/Dash-Industry-Forum/dash.js/pull/2598?

aescarcha commented 6 years ago

I finally managed to reproduce it in 2.7.0, @bbcrddave I think you're right and that it's already fixed in nightly. @Ismael can you reproduce the issue in nightly?

epiclabsDASH commented 6 years ago

Closing issue. @Ismael, please, feel free to reopen it in case you have some feedback to share.