dash.js reloads the same segment many times

450 views Asked by At

I'm using dash.js reference player and I'm trying to do frame-wise steps through a video by simply pausing and calling seek() with the appropriate timestamps on each step.

But there is an annoying delay after each step, because the player seems to keep reloading the same segment again and again.
The screenshot shows the requests:

enter image description here

The first step caused segment 19 to be (re-)loaded. After some idle time, the next 3 segments were loaded, too. Then I did 5 steps in a row, each of which resulted in a request for segment 19.

Is there any way to make dash.js cache a segment while I'm stepping through its content?

2

There are 2 answers

0
Ahmed O. Basil Al-Mashhadani On

I would recommend using an SDN-based script with P4/OpenFlow to run your player with the segmented video, the reference player automatically records all the segments that are loaded into the player and send them to the client.

If you use a tool like Wireshark, you will be able to see all the segments used in the experimental run. To answer your question, the player usually reloads the same segment when there is an interruption (network or physical) wise.

It could be trying to change the segment root folder due to the player's preferences and resolution used. It will always reload a segment when that condition appears or it's trying to change a resolution due to an interruption. To conclude, yes there is a way to make dash.js cache a segment while it's playing a file. Simply make the Wireshark application monitor your player, this way you will see all the segments used, shown in the image here.

0
AudioBubble On

This would be an interesting read for your issue, even though it seems Ahmed Basil had answered well. DASH Monitoring