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.
Quality | Video Resolution @ FPS | Video kbps | Packet Loss |
Excellent | 1280x720 @ 30 | > 1000 | < 0.5% |
Excellent | 640x480 @ 30 | > 600 | < 0.5% |
Excellent | 352x288 @ 30 | > 300 | < 0.5% |
Excellent | 320x240 @ 30 | >300 | < 0.5% |
Acceptable | 1280x720 @ 30 | > 350 | < 3% |
Acceptable | 640x480 @ 30 | > 250 | < 3% |
Acceptable | 352x288 @ 30 | > 150 | < 3% |
Acceptable | 320x240 @ 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.
Quality | Audio kbps | Packet 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
Feedback sent
We appreciate your effort and will try to fix the article