I know how to fully implement generating LIVE multi-bitrate streams and with QoS monitoring in the Flash player on the desktop, it will automatically switch streams to the proper one. The question, is there a solution, using 3rd party players or otherwise on mobile (non-Flash device) a way to get QoS data and dynamically switch streams on the fly like you can on the desktop?
If not - what is the generally accepted method? Is everyone just generating a standard bitrate “mobile” stream and pretty much every non-desktop user gets that stream regardless of their actual bandwidth?
When delivering adaptive bitrate streams, the server is providing the different bitrate renditions of the same stream as multiple different streams. Normally, both Flash and non-Flash players will get the information about all the different bitrate streams available from the streaming server. The client player, is the one determining that the internet bandwidth available at the client side is sufficient to playback a certain rendition of a particular stream. If the available internet bandwidth decreases/increases, the player will decide to with the playback to the lower/higher stream rendition available from the streaming server.
In order to implement adaptive bitrate delivery using Wowza Streaming Engine, you can take a look at the “How to do adaptive bitrate streaming” forum article.
The client player, is the one determining that the internet bandwidth available at the client side is sufficient to playback a certain rendition of a particular stream. If the available internet bandwidth decreases/increases, the player will decide to with the playback to the lower/higher stream rendition available from the streaming server.
I realize that and that’s what I said I could implement with a Flash client player monitoring the QoS. The question is…is there a non Flash client side player (using plain JS for example) on a mobile browser that would accomplish the same thing? Do the players in those examples switch the stream on the fly or do they just make a decision at the beginning and serve up the stream it should based on an initial bandwidth check?