OpenVidu 2.22.0: Virtual Background and OpenVidu Components

Virtual Background

Virtual Background allows you to apply a filter to a video stream, such as a blurring effect or a background image. In this way you may cut out the person from the background, giving a more professional look to your video calls. Check out the documentation for further information.

OpenVidu Components

Until now, the possible alternatives to develop a videoconferencing app with OpenVidu were basically two:

  • Developing your app from scratch using openvidu-browser SDK and your favorite frontend framework.
  • Building on the official OpenVidu demos and adapting the interface. This could be difficult for complex demos, and keeping the code updated is always a challenging task.
OpenVidu Call application built with OpenVidu Components

What can I do with OpenVidu Components?

OpenVidu Components allows you develop professional and complete videoconference applications with essential features like screensharing, chat service, smart layout, participants visualization, audio detection and much more. It also offers offers a straightforward way to change the default colours, shapes and logos of the application, replace the default components with your own components and inject new functionalities. The possibilites are great, while the amount of change required in your code is minimum. We can summarize the advantages of using OpenVidu Components in the following three points:

  • It avoids having to start from scratch and avoids low-level details. You can have the first version of your application up and running in minutes, and easily work on your customizations from there.
  • It offers as much customization as possible. Adapt, extend and replace any component however you want.
  • It keeps your code up to date. Using OpenVidu Components means that your application will be much easier to update after each new OpenVidu release.

How can I start using OpenVidu Components?

We have written detailed documentation and tutorials to help guide developers through OpenVidu Components library. You can check the documentation and start your development right away.

Customization of colours, shapes and logo

OpenVidu Components allows you to customise the UI completely to your liking. You can see the official tutorial explaining this topic right here.

Replacing default components

OpenVidu Components also allows replacing any default component with your own, so you can adapt your app to your needs. You can see the official tutorial explaining this topic right here.

Add custom panels with OpenVidu Components

Adding new features

With OpenVidu Components you can also add new features to the videoconference with ease. We have added a simple toggle hand tutorial to demonstrate it. You can check it out right here.

Fault tolerance improvements

OpenVidu Pro and OpenVidu Enterprise improve their fault tolerance capabilities in this release. There are two new additions worth mentioning:

  • New configuration property OPENVIDU_PRO_CLUSTER_RECONNECTION_TIMEOUT allows you to customize the reconnection timeout in case a Media Node undergoes an unexpected disconnection from the cluster. Before this property, an OpenVidu cluster did not provide any time window for Media Node reconnections (they were simply removed from the cluster, and you would have to manually add them through REST API after their recovery). Now, depending on the deployment environment, the OpenVidu cluster will actually try to recover the connection with the crashed Media Node. This is especially useful in On Premises deployments, where Media Nodes have fixed IPs.
  • New WebHook event nodeRecovered will be triggered after a Media Node is successfully reconnected to the OpenVidu cluster.

Turn off webcam light when disabling video

Method Publisher.publishVideo has been extended in openvidu-browser library to support the forced release of hardware resources. This allows webcam lights to turn off.

TURN server can now be configured in Media nodes

For OpenVidu Pro and OpenVidu Enterprise clusters, the default TURN server can now be deployed in Media Nodes instead of in the Master Node. This is nothing more than the natural evolution for OpenVidu deployments: TURN is in charge of relaying media streams when necessary, so it makes sense to host the service in Media Nodes. This brings to major advantages:

  • The TURN server becomes a scalable service, as it can now be replicated in multiple Media Nodes.
  • Networking performance improves, as video stream data flows directly between TURN server and media server in the same node. This means no unexpected extra charges due to data transfer between your servers.

Easier configuration for OpenVidu Enterprise HA

OpenVidu Enterprise HA provides now a very easy way for updating configuration properties. Simply modify your S3 configuration file, and all Master Nodes will automatically restart to apply the new configuration! No need to connect to your machines to manually restart OpenVidu services.


  • openvidu-server: a race condition could arise after a Media Node crash if the application performed a great amount of petitions to restore a crashed session. This could cause some unexpected 500 errors that could only be overcome by retrying the request. This is now fixed.
  • openvidu-browser : muting a screen-sharing Publisher (calling Publisher.publishVideo(false)) would generate infinite streamPropertyChanged events with changedProperty "videoDimensions", reason "screenResized" and same oldValue and newValue ({width: 0, height: 0}). This is now fixed.
  • openvidu-browser : Connections with role SUBSCRIBER were logging some errors in the browser’s console when subscribing to a Publisher’s stream. These errors were harmless, but still unpleasant. This is now fixed.
  • openvidu-browser : now method Publisher.publishVideo returns a Promise, so you can subscribe to it to directly know when the video has been really muted.
  • PR

Stay tuned for next iterations! You can follow us on Twitter and a Star in GitHub is always welcome :)



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


Easy videoconference in your web or mobile app