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

Improve seek velocity #2351

Conversation

nicosang
Copy link
Contributor

@nicosang nicosang commented Jan 5, 2018

Hi,

when a seek command occurs, dash.js has to download as quick as possible datas at the new specific time. In the log message, just below, we can see that between the seek command and the call to the new video segment for the time 544.31, some video datas have been appended. Those datas are timestamped at the time before the seek.

[125688] Seeking to: 544.31 <= A seek command occurs

[125689] Waiting for more buffer before starting playback for video 
[125689] Waiting for more buffer before starting playback for audio 
[125693] AbrController (audio) stay on 0/0 (buffer: 0) 
[125693] ScheduleController - audio - getNextFragment 
[125693] Getting the request for audio time : 544.31 
[125694] Index for audio time 544.31 is 135 
[125694] SegmentTemplate: 541.44 / 634.566 
[125694] ScheduleController - audio - getNextFragment - request is https://dash.akamaized.net/akamai/bbb_30fps/bbb_a64k/bbb_a64k_136.m4a 
[126356] Got enough buffer to start for audio 
[126358] Buffered Range for type: audio : 124.330666  -  136.362666 
[126358] Buffered Range for type: audio : 188.501333  -  196.522666 
[126359] Buffered Range for type: audio : 200.533333  -  212.565332 
[126359] Buffered Range for type: audio : 385.024  -  457.215999 
[126359] Buffered Range for type: audio : 541.44  -  545.450666 
[126362] ThroughputRule requesting switch to index:  0 type:  audio Average throughput 15703 kbps 
[126363] AbrController (audio) stay on 0/0 (buffer: 1.141) 
[126364] ScheduleController - audio - getNextFragment 
[126364] Getting the request for audio time : 545.4506666666667 
[126364] Index for audio time 545.4506666666667 is 135 
[126365] SegmentTemplate: 541.44 / 634.566 
[126365] Getting the next request at index: 136 
[126365] SegmentTemplate: 545.45067 / 634.566 
[126366] ScheduleController - audio - getNextFragment - request is https://dash.akamaized.net/akamai/bbb_30fps/bbb_a64k/bbb_a64k_137.m4a

[126369] Buffered Range for type: video : 124  -  139.999999 <= A video segment has been appended.
[126369] Buffered Range for type: video : 188  -  191.999999 
[126370] Buffered Range for type: video : 200  -  215.999999 
[126370] Buffered Range for type: video : 388  -  455.999999 

[126372] Switch history rule index: 7 samples: 8 drops: 1 
[126373] AbrController (video) stay on 7/9 (buffer: 0) 
[126373] ScheduleController - video - getNextFragment 
[126373] Getting the request for video time : 544.31 
[126374] Index for video time 544.31 is 135 
[126374] SegmentTemplate: 540 / 634.566 
[126375] ScheduleController - video - getNextFragment - request is https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_1280x720_4000k/bbb_30fps_1280x720_4000k_136.m4v

So, this PR has to abort requests that are downloading in order to seek quicker.

@epiclabsDASH epiclabsDASH added this to the v2.6.6 milestone Jan 9, 2018
@nicosang nicosang force-pushed the improveSeekVelocity branch 3 times, most recently from 6c6155d to abfeca5 Compare January 30, 2018 15:50
@epiclabsDASH epiclabsDASH modified the milestones: v2.6.6, v2.6.7 Feb 1, 2018
@nicosang nicosang force-pushed the improveSeekVelocity branch 3 times, most recently from 7e082b4 to c17ad39 Compare February 8, 2018 09:42
@epiclabsDASH epiclabsDASH merged commit 3e28c46 into Dash-Industry-Forum:development Feb 14, 2018
@nicosang nicosang deleted the improveSeekVelocity branch February 14, 2018 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants