You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
4.7.2
What browser and OS are you using?
Latest Chrome, various OSes.
Please ask your question
We have a live encoded DASH dynamic manifest being produced by a 3rd party and we are using Shaka to play it. In between the writing of the DASH files and the ability to read it are various layers of network latency and cloud storage mirroring etc. This results in the manifest and media files which are seen by the player being about 90s behind wall clock time. :-(
From looking at network activity and reading "Live Edge" here I can see the player is doing what is documented i.e. it calculates the live edge as:
video.currentTime = now - ast - maxSegmentSize;
Unfortunately that calculation is about 90s ahead of what is actually available in terms of media segments to read (hence we hit 404 errors reading segments).
I understand there is the possibility of specifying MPD@suggestedPresentationDelay as 90 seconds and this could potentially solve the issue. However unless I am mistaken, for other players which are sited closer to the encoder and using non-mirrored storage, this delay would be excessive and unnecessary i.e. we would need to request manifest output incorporating the worst case propagation delay.
In the manifest we have the segment template as follows which has no indication of the current last segment number:
but we also have `mediaPresentationDuration="PT296.296000S" in the manifest which is updated periodically.
What we are effectively seeing is that the edge time is being calculated as about 90s greater than the currently published mediaPresentationDuration. So my questions are:
What are we missing which could just make this work?
Could/should the player edge time be calculated as: video.currentTime = Min(now - ast - maxSegmentSize, mediaPresentationDuration);
The text was updated successfully, but these errors were encountered:
vectronic
changed the title
Calculation of DASH Live Edge with large delays whilst using SegmentTemplate
Calculation of DASH Live Edge with large propagation delays whilst using SegmentTemplate
Nov 15, 2024
Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
4.7.2
What browser and OS are you using?
Latest Chrome, various OSes.
Please ask your question
We have a live encoded DASH dynamic manifest being produced by a 3rd party and we are using Shaka to play it. In between the writing of the DASH files and the ability to read it are various layers of network latency and cloud storage mirroring etc. This results in the manifest and media files which are seen by the player being about 90s behind wall clock time. :-(
From looking at network activity and reading "Live Edge" here I can see the player is doing what is documented i.e. it calculates the live edge as:
video.currentTime = now - ast - maxSegmentSize;
Unfortunately that calculation is about 90s ahead of what is actually available in terms of media segments to read (hence we hit 404 errors reading segments).
I understand there is the possibility of specifying
MPD@suggestedPresentationDelay
as 90 seconds and this could potentially solve the issue. However unless I am mistaken, for other players which are sited closer to the encoder and using non-mirrored storage, this delay would be excessive and unnecessary i.e. we would need to request manifest output incorporating the worst case propagation delay.In the manifest we have the segment template as follows which has no indication of the current last segment number:
<SegmentTemplate timescale="60000" initialization="test065_ICh24._V_0.proxy.mp4" media="test065_ICh24._V_$Number$.proxy.mp4" duration="480480" startNumber="0"/>
but we also have `mediaPresentationDuration="PT296.296000S" in the manifest which is updated periodically.
What we are effectively seeing is that the edge time is being calculated as about 90s greater than the currently published
mediaPresentationDuration
. So my questions are:video.currentTime = Min(now - ast - maxSegmentSize, mediaPresentationDuration);
The text was updated successfully, but these errors were encountered: