OpenVidu 2.22.0: Virtual Background and OpenVidu Components

Virtual Background

OpenVidu Components

  • 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?

  • 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?

Customization of colours, shapes and logo

Replacing default components

Add custom panels with OpenVidu Components

Adding new features

Fault tolerance improvements

  • 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

TURN server can now be configured in Media nodes

  • 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-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 :)




Easy videoconference in your web or mobile app

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Choose the right technology stack.

Year One: My Coding Experience

Installing Homebrew on Mac M1

Three Types of Quantum Algorithms and Quantum Applications

Kotlin Basics: Kotlin 101

How to Develop API’s with Google Cloud Apigee API Platform | An Overview

Kotlin Multiplatform Project vs. Swift for Android

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

More from Medium

Building a Location-Based App with Appwrite

Pins on a map

Web Components: Learnings From ADEO Design System

Flutter Database Options: How to Choose the Right Database for Your Flutter App?

dangoDB: A MongoDB ODM for Deno