Replies: 3 comments
-
Stateless built-in-chaos in LiveSim would be nice, either a simple queryparam syntax or more complex scenario config file in a manifest+segment folder. Config file could be activated with an url param. Typical use-case is live streaming where player's edgelive timestamp is near realtime, CDN loadbalancer nodes are a bit off-sync to serve the latest segment file. Second case is a slow network to download larger video segments but small audio segment was still fine but this probably is the player's buffer handler to adjust a resolution ladder and make longer presentation delay. |
Beta Was this translation helpful? Give feedback.
-
@tobbee I like the idea and also the syntax of the segment response scheme. This is a very useful feature to test the player robustness. Another thing is creating gaps by unaligned segments or even segments for which the summed up I suggest to go ahead as you proposed and implement the segment response scheme. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the feedback. I'll go ahead and implement the proposal above as part of 1.0. The opportunity to load more advanced settings from a file and have the file name part of URL is a nice one, |
Beta Was this translation helpful? Give feedback.
-
As discussed with Daniel Silhavy, dash.js has a need for negative test cases.
One way to produce some negative test cases would be to use the "Chaos Streaming Proxy" (CSP) https://github.com/Eyevinn/chaos-stream-proxy
but it would be nice to have some functionality built in for more accessibility.
The CSP uses a syntax like:
to describe responses to segment requests relative to a live point. This uses a stateful
representation at the server (at least for relative sequence numbers), and is therefore not ideal for a common resource.
For
livesim2
to be stateless, one can instead us a cycle that repeats relative to the start time.A possible URL part could look like
With this scheme, we could make a segment request result in a
404 Not Found
response every 30s.In addition, we have the livesim1 signalling of two different baseURLs that can switch
gives an MPD with two baseURLs which alternate in which one is up and which one in terms of seconds. (u = up, d = down). In this example, the first one is up the first 40s of every minute, while the second one is down the first 40s of every minute.
This could be done as a separate feature.
Other features may be response times, or problems in updating the manifest, but we need a limit, so the suggestion for v 1.0 is to only do the segment response scheme above.
@dsilhavy What is your view?
Beta Was this translation helpful? Give feedback.
All reactions