I've been maintaining a video system for a client that uses JW Player with Flash Media Server to stream out some video. Until recently this was just pushing out one stream at one bitrate. This obviously isn't ideal for everybody so I've been looking at bandwidth detection.
I've built a demo system that can now dynamically switch between three bitrates using the built in methods in JW Player. Before I can push it, I need to answer a question from my client:
Does it have hysteresis built in so that the stream does not oscillate if the bandwidth is marginal? Ideally, if the bandwidth is anywhere near the bottom of a band (yeh, yeh..) then I would like it to use the next speed down.
So two questions from that:
What happens when a user's bandwidth is right on the border between two streams? Will they flip-flop between the two streams?
Are there any best practices to minimise the amount of stream jumping for users like this (and in general)?