close search

Add Messaging, Voice, and Authentication to your apps with Vonage Communications APIs

Visit the Vonage API Developer Portal

Scalable video

About the OpenTok scalable video feature

Scalable video can greatly improve the quality of video in multi-party sessions. Using this feature, a client automatically publishes a multi-quality video stream, composed of multiple video resolutions and frame rates. This allows simultaneous subscribing endpoints to consume different video resolutions and frame rates.

The scalable video feature is only available in routed sessions (sessions that use the OpenTok Media Router). See The OpenTok Media Router and media modes.

The OpenTok Media Router dynamically switches between different video resolutions and frame rates for a subscriber's stream, as network conditions on the subscribing endpoint change.

You do not need to add any code to use the scalable video feature. The OpenTok Media Router handles the switching of subscriber stream resolutions and frame rates automatically. The OpenTok Media Router turns on this feature when it determines the session will benefit from it based on the topology of clients connected to the session.

Scalable video is only available in streams published by clients that use:

It is only supported for VP8 streams. It is not supported for H.264 streams.

For screen-sharing streams, you need to enable scalable video for the published stream:

By default, scalable video is disabled for screen-sharing streams.

In OpenTok.js, scalable video is enabled by default for streams with a camera or custom video source. To disable scalable video, set the scalableVideo option for the OT.initPublisher() method.

All OpenTok clients can subscribe to scalable video streams. The client SDKs include methods or properties for setting the preferred frame rate and resolution for the stream a subscribing client receives from the OpenTok Media Router:

For more information, see this article.