We are developing conference kind of application in which 4-5 users can have a video and audio chat with each other.
My stream is being published to all other users and same time all other streams are retrieved.
But before publishing my stream my bandwidth is checked and if it is low (i.e. lower then 80 kbps)
My video quality is set accordingly but audio quality is fixed.
Now in publishing my stream there is no issue if other users have better bandwidth. They are getting proper voice and video from my stream.
But as I have lower bandwidth and if I am receiving more than 2 streams then I am not able to view video properly and even voice gets disturbed.
So ultimately I want to adjust the streams I am receiving for the users other than me. So is that possible using some logic via FMS or via Actionscript?
Otherwise please hit some logic to handle more streams in lower bandwidth so that at least voice should be clear with lower video clarity.
Development environment is Flex SDK 4.5.1 and FMS 3.5 development version.
Hello from following link I came to know about some interesting logic.
Please read it and guide me how to achieve that.
3. I heard FMS can control the output of the stream to various clients. I.e. if a user connects with a 56k modem, the quality will be lower. If a user connects with DSL, the quality of the same video will look better. Is this fact or fiction? How is this done?
FMS can't dynamically recompress streams... it's bits in, bits out. To target different connection speeds, you would make several encodings of the same media at various bitrates, detect client bandwidth when the connection is made, and serve the appropriate version of the video. In the case of live broadcasts, you can set the client to receive the video at a lower framerate than the source (the rate the video is being pubslihed at), but it makes the video jerky and laggy. If you must target varied connection speeds, I suggest broadcasting separate live streams at different bitrates.
Please atleast some hint would be appriciated.