How does doozzoo handle bandwidth fluctuations?

Modified on Wed, 26 Oct 2022 at 12:39 PM

Video quality dynamically adjusts based on the strength of a user's network connectivity. This is done by the Subscriber (student) sending feedback packets to the publisher (coach) that say "My network quality is at 'x' level. Please adjust your published video bit-rate to accommodate my current bandwidth". The faster and more stable a Subscriber's broadband connection is, the better the video quality it will request.

This mechanism works well until a certain point. If a Subscriber's bandwidth drops below a certain threshold, or if a Publisher has very little bandwidth to upload video, behavior can be unpredictable. Video may be choppy, audio may have artifacts, and the connection could be dropped.

We recommend a minimum dedicated 350kb/s down per downloaded stream, as well as 350kb/s up per uploaded stream to maintain a stable video connection.

For various resolutions and quality combinations, the bandwidth requirements are outlined below.

  • Excellent - None or imperceptible impairments in media
  • Acceptable - Some impairments in media, leading to some momentary disruptions

Audio + Video Streams

For the given qualities and resolutions, all the following conditions must met.

QualityVideo Resolution @ FPSVideo kbpsPacket Loss
Excellent1280x720 @ 30> 1000< 0.5%
Excellent640x480 @ 30> 600< 0.5%
Excellent352x288 @ 30> 300< 0.5%
Excellent320x240 @ 30>300< 0.5%
Acceptable1280x720 @ 30> 350< 3%
Acceptable640x480 @ 30> 250< 3%
Acceptable352x288 @ 30> 150< 3%
Acceptable320x240 @ 30> 150< 3% 


Note that the default publish settings for video are 640x480 pixels @ 30 fps in OpenTok.js and the OpenTok iOS SDK. The default is 352x288 @ 30 fps in the OpenTok Android SDK.

Audio-only Streams

For the given qualities, the following conditions must met.

QualityAudio kbpsPacket Loss
Excellent> 30< 0.5%
Acceptable> 25< 5%

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article