I am trying to implement some kind of 'adaptive streaming' for live streams without producing a latency at the client side. I can't use transcoder to create multi-bitrate streams because it gives 1-2 sec delay. So my solution is to publish 2 streams from the client(publisher): video+audio and audio. Once client's(consumer) bandwidth is not enough to play auidio+video stream it will switch to audio stream. I have used near the same logic as in adobe's DynamicStream.as, however i used only DroppedFrames/currentFPS parameters without using video buffer parameters(i can't have non zero buffer for live stream because it gives a latency). 'DroppedFrames/currentFPS' not always works properly and produces false positive switches.
So i am planning to aggregate statistics for stream using 'stream.getMediaIOPerformance().getMessagesInBytes()' at server side and compare it at the client side using 'stream.info.currentBytesPerSecond'. Do you have any other ideas how to detect stream bandwidth issues at the client side without producing stream latency?