Optimizing quality for available bandwidth in Flash/RTMFP

Posted by Artem M. on Stack Overflow See other posts from Stack Overflow or by Artem M.
Published on 2012-10-01T15:36:16Z Indexed on 2012/10/01 15:37 UTC
Read the original article Hit count: 285

Filed under:
|
|
|
|

I'm developing a simple one-on-one P2P video chat using ActionScript, and I'd like to ensure the best video quality for the peers given their bandwidth. This means:

  1. Setting the best quality given the available bandwidth when the chat starts
  2. Responding to network congestions during chat by decreasing the quality.

The task is similar to dynamic stream switching, but P2P has its specifics that make dynamic streaming approaches not work. For example, the maxBytesPerSecond metric monitored in dynamic stream switching is pretty useless in P2P where the receiving NetStream's buffer size is set to 0 to minimize latency.

So far, it looks like the most reliable QoS metric for P2P is SRTT. In my simulated tests on a local network, a bandwidth congestion makes it shot up to 500 ms and more when there's a bandwidth limit introduced. However, it gives no hint as to how best adjust the value for bandwidth in Camera.setQuality(0, bandwidth) to respond to the congestion.

I've done lots of experiments, and I still don't see a clear and simple solution to the problem. I'm also wondering how this issue is addressed (if at all) in other RTMFP chat solutions.

© Stack Overflow or respective owner

Related posts about flash

Related posts about actionscript