A dedicated minimum of 350 kb/s download per stream downloaded and 350 kb/s upload per stream uploaded is recommended to maintain a stable video connection.
For different combinations of resolution and quality, bandwidth requirements are detailed below.
Excellent - No deterioration or imperceptible in the media
Acceptable - Some media deterioration, with momentary interruptions
Audio + Video Streams
For the indicated qualities and resolutions, all the following conditions must be met.
Quality Video Resolution @FPS Video kbps Packet Loss
Excellent 1920x1080 @30 > 3500 < 0.5%
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%
The default publishing setting is 640x480 pixels at 30 fps in OpenTok.js and iOS SDK. The default value is 352x288 at 30 fps in the Android SDK.
Note: For FHD resolution (1920x1080) it is recommended to have a bandwidth of 3Mbps to 5Mbps per stream to maintain acceptable quality. When using simulcast, 6Mbps of upload is required to publish multiple quality layers.
Audio-only Streams
Quality Audio kbps Packet Loss
Excellent > 30 < 0.5%
Acceptable > 25 < 5%
Additional Information
Video quality is dynamically adjusted according to the user's network connectivity. This is done by feedback messages for estimating bandwidth between Publishers and Subscribers, in order to determine what resolution the network can support. Publisher will adjust the posted video bitrate based on the feedback packets you receive. The faster and more stable the Subscriber connection, the better video quality you will request.
In relayed sessions, the bandwidth estimate is directly between Publisher and Subscriber. In routed sessions, the estimate is calculated for each Subscriber and feedback from the Publisher is managed by the media router. When scalable video is used, the router will choose the best quality layer for the Subscriber based on the simcast layers present, preferred resolution, and available bandwidth.
If a Subscriber's bandwidth falls below a certain threshold, or if a Publisher has very little bandwidth to upload video, the behavior can be unpredictable. The video can be seen cracked, audio may have artifacts, and the connection could be interrupted.