Closed saferoll closed 6 years ago
I think this may be related to the regression currently being discussed in https://groups.google.com/forum/#!topic/dashjs/8jbgnZsb3xU
Specifically, at some point during your session it appears that a discontinuity appeared in the buffer and it was not cleaned correctly. @bwidtmann are you already looking at handling discontinuous buffer ranges?
There's also the question here of why the player seems to decide it wants to jump to the start of the available buffer when it's been pruned. I think this may have been part of recent multiperiod work.
I am wondering why the buffer pruning logic runs just once at the end and why it is pruning such a big amount of buffer at once:
[54681] pruning buffer: 179.976781 seconds.
Did you change the default buffer pruning values with these setters in MediaPlayer?
setBufferToKeep setBufferPruningInterval
No, I haven't used those setters. The problem occurs even when I just paste the manifest URL in the dashif.org reference player. The stall seems to happen only if the bitrate is fairly high (you can also try http://dash.asperademo.com/aspera/media/ToS/Manifest.mpd which has a maximum bitrate of 25Mbps).
Also, after skimming the Google Group discussion, I thought I should test on version 1.6.0. I found that the problem does not occur when playing the video on 1.6.0.
Another interesting observation is that the stall occurs even if you seek directly to time 2:25 (on Sintel 26Mbps) instead of waiting from the beginning.
Some thoughts from me:
Chrome browser has it's limit in the source buffer at round about 100MByte. So if you have 26MBit/s you end up at reaching this limit right after 30 seconds of buffered media. If you have a fast internet connection, your buffer will be filled in a few seconds and the browser starts pruning the buffer on its own silently before our pruning logic starts at all, which should never ever happen.
Setting those config parameters to something very low (e.g. 5 seconds)
setBufferToKeep setBufferPruningInterval setBufferTimeAtTopQuality
and throttling you internet connection to 30Mbit/s maybe could help.
In my opinion, 4K and beyond should not be used with AVC codecs, like you did. You should use HEVC or VP9 which reduces the bitrate dramatically and the Chrome browser buffer limit is not reached after a few seconds.
Nethertheless I noticed that you encoded your video with variable bitrate instead of constant bitrate, which does not work that well with our default ABR algorithm. Maybe you should try the BOLA algorithm, which should work better with VBR encoded content.
Setting those config parameters to something very low (e.g. 5 seconds) setBufferToKeep setBufferPruningInterval setBufferTimeAtTopQuality and throttling you internet connection to 30Mbit/s maybe could help.
I'm a starter at web programming. I play an .mpd file with dash-if-reference-player. Does anyone know how can I set these values?
Environment
Steps to reproduce
Video transcoded with the following commands:
Observed behaviour
Describe what the player is doing that is unexpected or undesired behaviour. When the video reaches around 2:30, it skips to 3:30 and stalls. Strangely, the stall disappears if the video is encoded at 20 Mbps instead of 26 Mbps.
Console output