I have noticed that can take up to 12-20 seconds before a dynamic stream will switch to the quality that will match user's bandwidth. How could i speed up this process ? I understand that i can adjust the initialStartingIndex (what i did) but sometimes i just have no information about user's setup and can only start with the best (or average) quality, so i would like to adjust it for the user asap.
Is there a way to tweak it with some fancy custom switching rules ? Please point me to the right direction
I am using the SMIL plugin if that makes any difference
Thank you !
In my opinion, the algorithm can be slightly tweaked/optimized. It might be challenging, but you can give it a try. You should start with the SwitchManager code.
Another thing that you can consider for optmization the switching time is experimenting with different buffer settings.
If you control the assets, you can try to experiment with different keyframe distance settings during the encoding.
Hope this helps,
If you are referring to RTMP dynamic streaming, here is my answer.
The problem you are observing is due to the fact that Flash Player buffers contents ahead of time as long as bandwidth permits. The amount of content it buffers may actually exceed the value defined by bufferTime property of NetStream. When NetStream is instructed to switch, Flash Player will always play out all the buffered contents before start playing the new stream.
A newer version of FMS will add a feature called "fast switch" to address is issue.
Senior Computer Scientist
Adobe Systems, Inc.