Releases



2.32.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.32.0 Deploy
On AWS 2.32.0 Deploy
Dev container 2.32.0 DockerHub
OpenVidu Pro On Premises 2.32.0 Deploy
On AWS 2.32.0 Deploy
OpenVidu Enterprise On Premises 2.32.0 Deploy
On AWS 2.32.0 Deploy
openvidu-browser NPM package 2.32.0 NPM
JS file 2.32.0 GitHub
openvidu-java-client MVN package 2.32.0 MVN Repository
openvidu-node-client NPM package 2.32.0 NPM
openvidu-webcomponent ZIP 2.32.0 GitHub
openvidu-angular NPM package 2.32.0 NPM
Kurento Media Server Ubuntu package 7.3.0 Kurento Docs
mediasoup NPM package 3.19.12 NPM

Release Notes πŸ”—


This is a maintenance release with important updates to internal dependencies and bug fixes. Upgrading OpenVidu applications from 2.31.x to 2.32.x is a straightforward process.

BREAKING CHANGES πŸ”—

PATCH VERSIONS πŸ”—

2.32.2 πŸ”—
2.32.1 πŸ”—



2.31.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.31.0 Deploy
On AWS 2.31.0 Deploy
Dev container 2.31.0 DockerHub
OpenVidu Pro On Premises 2.31.0 Deploy
On AWS 2.31.0 Deploy
OpenVidu Enterprise On Premises 2.31.0 Deploy
On AWS 2.31.0 Deploy
openvidu-browser NPM package 2.31.0 NPM
JS file 2.31.0 GitHub
openvidu-java-client MVN package 2.31.0 MVN Repository
openvidu-node-client NPM package 2.31.0 NPM
openvidu-webcomponent ZIP 2.31.0 GitHub
openvidu-angular NPM package 2.31.0 NPM
Kurento Media Server Ubuntu package 7.1.1 Kurento Docs
mediasoup NPM package 3.11.26 NPM

Release Notes πŸ”—


Kurento 7.1.1 πŸ”—
Update internal dependencies πŸ”—

There has been numerous updates to keep dependencies up to date and without vulnerabilities. This includes:



2.30.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.30.0 Deploy
On AWS 2.30.0 Deploy
Dev container 2.30.0 DockerHub
OpenVidu Pro On Premises 2.30.0 Deploy
On AWS 2.30.0 Deploy
OpenVidu Enterprise On Premises 2.30.0 Deploy
On AWS 2.30.0 Deploy
openvidu-browser NPM package 2.30.0 NPM
JS file 2.30.0 GitHub
openvidu-java-client MVN package 2.30.0 MVN Repository
openvidu-node-client NPM package 2.30.0 NPM
openvidu-webcomponent ZIP 2.30.0 GitHub
openvidu-angular NPM package 2.30.0 NPM
Kurento Media Server Ubuntu package 7.0.1 Kurento Docs
mediasoup NPM package 3.11.26 NPM

Release Notes πŸ”—


Virtual Background bug fix when losing tab focus πŸ”—

The use of requestAnimationFrame as the callback to update the virtual background frames on video elements was a problem. When the browser tab lost focus, the callback stopped its execution and the video froze. This is now fixed by using directly setTimeout instead.


OpenVidu Call and OpenVidu Components missing thumnbail in Safari iOS πŸ”—

When muting a video, the thumbnail of OpenVidu Call and OpenVidu Components (consisting of the user initial) was not displayed in Safari iOS due to some problems with CSS styles. This is now fixed.


OpenVidu Components updated to Angular 17 πŸ”—

OpenVidu Components library was fixed to Angular 14. It has now been updated and is possible to use it with up to Angular 17.


Update internal dependencies πŸ”—

There has been numerous updates to keep dependencies up to date and without vulnerabilities. This includes:



2.29.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.29.0 Deploy
On AWS 2.29.0 Deploy
Dev container 2.29.0 DockerHub
OpenVidu Pro On Premises 2.29.0 Deploy
On AWS 2.29.0 Deploy
OpenVidu Enterprise On Premises 2.29.0 Deploy
On AWS 2.29.0 Deploy
openvidu-browser NPM package 2.29.0 NPM
JS file 2.29.0 GitHub
openvidu-java-client MVN package 2.29.0 MVN Repository
openvidu-node-client NPM package 2.29.0 NPM
openvidu-webcomponent ZIP 2.29.0 GitHub
openvidu-angular NPM package 2.29.0 NPM
Kurento Media Server Ubuntu package 7.0.1 Kurento Docs
mediasoup NPM package 3.11.26 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


Share the screen audio in screen-sharing publishers πŸ”—

Now you can share the screen audio when initializaing a screen sharing Publisher. Check it our here.


New directives in OpenVidu Components πŸ”—

Including:


BUG FIXES πŸ”—



2.28.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.28.0 Deploy
On AWS 2.28.0 Deploy
Dev container 2.28.0 DockerHub
OpenVidu Pro On Premises 2.28.0 Deploy
On AWS 2.28.0 Deploy
OpenVidu Enterprise On Premises 2.28.0 Deploy
On AWS 2.28.0 Deploy
openvidu-browser NPM package 2.28.0 NPM
JS file 2.28.0 GitHub
openvidu-java-client MVN package 2.28.0 MVN Repository
openvidu-node-client NPM package 2.28.0 NPM
openvidu-webcomponent ZIP 2.28.0 GitHub
openvidu-angular NPM package 2.28.0 NPM
openvidu-react NPM package 2.28.0 NPM
Kurento Media Server Ubuntu package 7.0.1 Kurento Docs
mediasoup NPM package 3.11.26 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


OpenVidu Enterprise HA on premises πŸ”—

It is now possible to deploy OpenVidu Enterprise High Availability in your own servers! Since OpenVidu 2.20.0 we have offered the High Availability deployment option for high demanding environments which require full scalability and fault tolerance. But this option was only available as an AWS deployment. Up until now.

This new deployment option has also brought a brand new architectural solution. This has been done in order to simplify the management of the OpenVidu nodes, the decission on how many Master Nodes (for signaling) and Media Nodes (for video/audio streams) you should launch, and to prepare the ground for future native deployments on Kubernetes. OpenVidu Enterprise HA on premises deployments is now based on a single Node, which includes in a single machine all the components that were splitted between two different machines (a Master Node and a Media Node) before.

You can follow the instructions to deploy an OpenVidu Enterprise HA cluster on premises right here.


Including:


COTURN update to latest release 4.6.2 πŸ”—

See all changelogs since previous version (which was 4.5.2) here.


BUG FIXES πŸ”—



2.27.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.27.0 Deploy
On AWS 2.27.0 Deploy
Dev container 2.27.0 DockerHub
OpenVidu Pro On Premises 2.27.0 Deploy
On AWS 2.27.0 Deploy
OpenVidu Enterprise On Premises 2.27.0 Deploy
On AWS 2.27.0 Deploy
openvidu-browser NPM package 2.27.0 NPM
JS file 2.27.0 GitHub
openvidu-java-client MVN package 2.27.0 MVN Repository
openvidu-node-client NPM package 2.27.0 NPM
openvidu-webcomponent ZIP 2.27.0 GitHub
openvidu-angular NPM package 2.27.0 NPM
openvidu-react NPM package 2.27.0 NPM
Kurento Media Server Ubuntu package 7.0.1 Kurento Docs
mediasoup NPM package 3.11.23 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


Kurento 7 πŸ”—

The new major version of Kurento has been recently released, and it is now the default version used in OpenVidu. This new version of the media server focuses on upgrading the internal dependencies to recent official versions, compared to the old versions and custom forks used in Kurento 6. This brings improvements in terms of security and stability. You can read the release notes of Kurento 7 here.


openvidu-ruby sample application server now available πŸ”—

We have added a new sample application server in Ruby. If you plan to build your OpenVidu application server in Ruby, you can use it as a starting point. You can find it here: openvidu-basic-ruby.


Audio-only broadcasts now available πŸ”—

It is now possible to broadcast an OpenVidu Session as only-audio. Visit Broadcasting to learn how.


BUG FIXES πŸ”—



2.26.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.26.0 Deploy
On AWS 2.26.0 Deploy
Dev container 2.26.0 DockerHub
OpenVidu Pro On Premises 2.26.0 Deploy
On AWS 2.26.0 Deploy
OpenVidu Enterprise On Premises 2.26.0 Deploy
On AWS 2.26.0 Deploy
openvidu-browser NPM package 2.26.0 NPM
JS file 2.26.0 GitHub
openvidu-java-client MVN package 2.26.0 MVN Repository
openvidu-node-client NPM package 2.26.2 NPM
openvidu-webcomponent ZIP 2.26.0 GitHub
openvidu-angular NPM package 2.26.0 NPM
openvidu-react NPM package 2.26.0 NPM
Kurento Media Server Ubuntu package 6.18.0 Kurento Docs
mediasoup NPM package 3.10.3 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


Broadcasting to YouTube, Twitch or any other RTMP ingestion service πŸ”—

Do you want to stream your OpenVidu Sessions to thousands of users? You can now easily broadcast them to YouTube Live, Twitch or any other live ingestion service that supports RTMP protocol. This feature is seamlessly integrated in OpenVidu REST API, openvidu-java-client SDK and openvidu-node-client SDK. And you can fully customize the broadcasting layout with HTML/JS/CSS.

Check out the official documentation here.

The broadcasting feature is included in the OpenVidu Components library (so currently available in openvidu-angular) and in the OpenVidu Call application


openvidu-java-client SDK allows advanced configuration of its internal HTTP client πŸ”—

openvidu-java-client SDK offers now more flexibility when configuring its internal HTTP client. Now you may provide a custom HTTP client builder in the constructor of OpenVidu object. This may be interesting for many reasons, including adding custom HTTP headers, adding proxy configuration, modifying the default connection timeouts, setting up a cookie store, and other things. Check out the new constructors in JavaDoc.


openvidu-node-client SDK production mode to hide info logging level πŸ”—

openvidu-node-client SDK has a new method for production environments to silent logs of level DEBUG and INFO. Only WARNING and ERROR logs will be written to the output. Check out this new method in TypeDoc.


openvidu-ios now uses the latest WebRTC library πŸ”—

openvidu-ios sample application is now using the latest WebRTC version available for iOS. Previous version was from 2020, current version is the latest one available (Jan 2023). This brings all the improvements of the WebRTC standard updates to iOS.


BUG FIXES πŸ”—



2.25.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.25.0 Deploy
On AWS 2.25.0 Deploy
Dev container 2.25.0 DockerHub
OpenVidu Pro On Premises 2.25.0 Deploy
On AWS 2.25.0 Deploy
OpenVidu Enterprise On Premises 2.25.0 Deploy
On AWS 2.25.0 Deploy
openvidu-browser NPM package 2.25.0 NPM
JS file 2.25.0 GitHub
openvidu-java-client MVN package 2.25.0 MVN Repository
openvidu-node-client NPM package 2.25.0 NPM
openvidu-webcomponent ZIP 2.25.0 GitHub
openvidu-angular NPM package 2.25.0 NPM
openvidu-react NPM package 2.25.0 NPM
Kurento Media Server Ubuntu package 6.18.0 Kurento Docs
mediasoup NPM package 3.10.3 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


Speech to Text support for AWS and Vosk πŸ”—

The Speech to Text service introduced in release 2.24.0 has been extended with support for more engines. Now you can use:

Check out Speech to Text documentation to learn more about all of these alternatives.


Native support for private Docker registries πŸ”—

New configuration property OPENVIDU_PRO_DOCKER_REGISTRIES allows you to configure private Docker registries to be used in your Media Nodes. Your custom images of OpenVidu services can now be private but easily accessible by your nodes at the same time. The actual services that can take advantage of this feature are kurento-media-server (configured with property KMS_IMAGE) and speech-to-text-service (configured with property OPENVIDU_PRO_SPEECH_TO_TEXT_IMAGE).


OpenVidu Components new Speech to Text features πŸ”—


BUG FIXES πŸ”—



2.24.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.24.0 Deploy
On AWS 2.24.0 Deploy
Dev container 2.24.0 DockerHub
OpenVidu Pro On Premises 2.24.0 Deploy
On AWS 2.24.0 Deploy
OpenVidu Enterprise On Premises 2.24.0 Deploy
On AWS 2.24.0 Deploy
openvidu-browser NPM package 2.24.0 NPM
JS file 2.24.0 GitHub
openvidu-java-client MVN package 2.24.0 MVN Repository
openvidu-node-client NPM package 2.24.0 NPM
openvidu-webcomponent ZIP 2.24.0 GitHub
openvidu-angular NPM package 2.24.0 NPM
openvidu-react NPM package 2.24.0 NPM
Kurento Media Server Ubuntu package 6.18.0 Kurento Docs
mediasoup NPM package 3.10.3 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


Speech to Text πŸ”—

The new Speech to Text service allows transcribing in real time the audio tracks of an OpenVidu Session. It makes very easy to include captions in your video calls, no matter what language your users speak!

This feature, available in OpenVidu Pro and Enterprise editions, is designed to support different transcription engines in the background. For now we have released Speech to Text with Azure support, but others are coming very soon (including a self-hosted open source alternative for no extra cost). You can read the Speech to Text documentation here.


Support for HTTP IP cameras πŸ”—

IP cameras API is now compatible with cameras publishing to http and https URIs (these are generally in .mjpeg format). These are without a doubt the most common IP cameras URIs, so this support opens up new possibilities of use.


OpenVidu Components features πŸ”—


OpenVidu Call features πŸ”—


BUG FIXES πŸ”—

BREAKING CHANGES πŸ”—



2.23.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.23.0 Deploy
On AWS 2.23.0 Deploy
Dev container 2.23.0 DockerHub
OpenVidu Pro On Premises 2.23.0 Deploy
On AWS 2.23.0 Deploy
OpenVidu Enterprise On Premises 2.23.0 Deploy
On AWS 2.23.0 Deploy
openvidu-browser NPM package 2.23.0 NPM
JS file 2.23.0 GitHub
openvidu-java-client MVN package 2.23.0 MVN Repository
openvidu-node-client NPM package 2.23.0 NPM
openvidu-webcomponent ZIP 2.23.0 GitHub
openvidu-angular NPM package 2.23.0 NPM
openvidu-react NPM package 2.23.0 NPM
Kurento Media Server Ubuntu package 6.18.0 Kurento Docs
mediasoup NPM package 3.10.3 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


Renewed documentation and tutorials πŸ”—

We have made a complete revision of our documentation to make it clearer, more precise and easier to use. We have also updated all our tutorials to use a more production-ready approach than before. These are the main improvements of the new documentation:


New features in OpenViduΒ Call πŸ”—

Our flagship application OpenVidu Call continues to improve with the addition of some new useful features:


Advanced TURN support in native Android/iOS apps πŸ”—

We have updated the native applications for Android and iOS to support the different TURN configurations offered by OpenVidu. This means unifying the operation of these applications with respect to those using the openvidu-browser.js SDK: now they are able to use the OpenVidu TURN server or an external TURN server. Connecting your users from secure networks will be easier with the new versions of these mobile apps.


OpenVidu Ionic now supports native desktop applications with Electron integration πŸ”—

OpenVidu Ionic has always been a good option to build your OpenVidu mobile application. And now you can use it also to build native desktop applications for Windows, MacOS and Linux using the same source code. Visit this section of the documentation to learn how.


RTMP and SIPΒ support πŸ”—

We have included in the renewed documentation two new sections offering commercial support for RTMP streaming (you can stream OpenVidu sessions to services such as YouTube or Twitch) and SIP integration (add phone calls as participants in an OpenVidu session). Both services are offered as external modules that to be acquired will require contact with OpenVidu team through commercial@openvidu.io.

You can read the official documentation about these new features here:


BUG FIXES πŸ”—

BREAKING CHANGES πŸ”—



2.22.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.22.0 Deploy
On AWS 2.22.0 Deploy
Dev container 2.22.0 DockerHub
OpenVidu Pro On Premises 2.22.0 Deploy
On AWS 2.22.0 Deploy
OpenVidu Enterprise On Premises 2.22.0 Deploy
On AWS 2.22.0 Deploy
openvidu-browser NPM package 2.22.0 NPM
JS file 2.22.0 GitHub
openvidu-java-client MVN package 2.22.0 MVN Repository
openvidu-node-client NPM package 2.22.0 NPM
openvidu-webcomponent ZIP 2.22.0 GitHub
openvidu-angular NPM package 2.22.0 NPM
openvidu-react NPM package 2.22.0 NPM
Kurento Media Server Ubuntu package 6.16.0 Kurento Docs
mediasoup NPM package 3.9.6 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


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 πŸ”—

OpenVidu Components is a new frontend framework built for making videoconferencing applications for OpenVidu in the simplest possible way. It is an npm library (currently available for Angular) that provides the developer powerful and complete videoconferencing components. These components can be adapted, extended and replaced very easily to suit your application's needs. Visit the documentation page for extended information and guided tutorials.


Fault tolerance improvements πŸ”—

OpenVidu Pro and OpenVidu Enterprise improve their fault tolerance capabilities. There are two new additions:

Check out Fault Tolerance documentation for further information.


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:

Hosting TURN server in Media Nodes is considered an experimental feature, so right now the default location is still the Master Node. To test the new location inside Media Nodes you just need to open port 443 TCP/UDP in your Media Nodes and set configuration property OPENVIDU_PRO_COTURN_IN_MEDIA_NODES to true.


Easier configuration for OpenVidu Enterprise HA πŸ”—

OpenVidu Enterprise HA provides now a very easy way for updating configuration properties. Simply modify the 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. This behavior is enabled by default, using property OPENVIDU_ENTERPRISE_S3_CONFIG_AUTORESTART=true.


BUG FIXES πŸ”—



2.21.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.21.0 Deploy
On AWS 2.21.0 Deploy
Dev container 2.21.0 DockerHub
OpenVidu Pro On Premises 2.21.0 Deploy
On AWS 2.21.0 Deploy
OpenVidu Enterprise On Premises 2.21.0 Deploy
On AWS 2.21.0 Deploy
openvidu-browser NPM package 2.21.0 NPM
JS file 2.21.0 GitHub
openvidu-java-client MVN package 2.21.1 MVN Repository
openvidu-node-client NPM package 2.21.0 NPM
openvidu-webcomponent ZIP 2.21.0 GitHub
openvidu-angular NPM package 2.21.0 NPM
openvidu-react NPM package 2.21.0 NPM
Kurento Media Server Ubuntu package 6.16.0 Kurento Docs
mediasoup NPM package 3.9.6 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


OpenVidu Enterprise general availability πŸ”—

OpenVidu Enterprise edition has gone from beta to production-ready. OpenVidu Enterprise brings the best performance, improved media quality and better scalability for high-demand environments. Any OpenVidu CE or OpenVidu Pro application will be compatible out-of-the-box with it. Take a look at what OpenVidu Enterprise has to offer: Documentation.

The transition from Beta to General Availability means the following limitations in OpenVidu Enterprise are now overcome:


Support for any S3 provider for storing recordings πŸ”—

If you want OpenVidu to automatically store your recordings in a separate storage service, now you are not limited to AWS S3. Any S3-compatible provider can be used. See documentation.


IP cameras now support RTSP over SSL πŸ”—

You can now publish IP cameras with rtsps protocol. See documentation.


More flexible ICE configuration πŸ”—

Now it is very easy to configure external TURN servers in the client-side. You can:

Before, this was only possible using the client-side library openvidu-browser (with OpenViduAdvancedConfiguration.iceServers property), which always required more work on the developer side and had some limitations.


Allow users behind strict firewalls πŸ”—

In some occasions users may be located behind strict firewalls that only allow connections though port 443 (for example, in restricted corporate networks). Now OpenVidu may be configured with external TURN servers to overcome these situations. You can use our brand new TURN server appliance that can be deployed externally, or use a third-party TURN SaaS. See documentation here.


Strictly typed openvidu-browser events for TypeScript projects πŸ”—

Event objects of openvidu-browser client library are now strictly typed in TypeScript. This has also greatly improved openvidu-browser documentation, centralizing all of the available events in interfaces. Now you have now a complete description of all events in one place:


BUG FIXES πŸ”—

BREAKING CHANGES πŸ”—

There is a small breaking change affecting recording IDs. These IDs (and recording default names) are different for consecutive recordings of the same session. Before, they where built with the session ID, plus a hyphen (-) and a number. For example, for three consecutive recordings of session ses_ABCD, the recording IDs would be: ses_ABCD, ses_ABCD-1, ses_ABCD-2. Now the hyphen has been replaced by a tilde (~) due to new restrictions that have arisen. Now the recording IDs would be: ses_ABCD, ses_ABCD~1, ses_ABCD~2. This should not really affect your application, unless you are explicitly assuming the existence of a hyphen in your own logic.



2.20.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.20.0 Deploy
On AWS 2.20.0 Deploy
Dev container 2.20.0 DockerHub
OpenVidu Pro On Premises 2.20.0 Deploy
On AWS 2.20.0 Deploy
openvidu-browser NPM package 2.20.0 NPM
JS file 2.20.0 GitHub
openvidu-java-client MVN package 2.20.0 MVN Repository
openvidu-node-client NPM package 2.20.0 NPM
openvidu-webcomponent ZIP 2.20.0 GitHub
openvidu-angular NPM package 2.20.0 NPM
openvidu-react NPM package 2.20.0 NPM
Kurento Media Server Ubuntu package 6.16.0 Kurento Docs
mediasoup NPM package 3.7.19 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


OpenVidu Enterprise High Availability beta πŸ”—

OpenVidu Enterprise edition comes with beta support for a High Availability deployment, with replication of all nodes and load balancing for clients. All functionality of OpenVidu Enterprise remains in beta during version 2.20.0 of OpenVidu, so it is still free of charge, just as it was for version 2.19.0.


Individual recording for OpenVidu Enterprise with mediasoup πŸ”—

One of the limitations of using mediasoup with OpenVidu Enterprise is now fixed: INDIVIDUAL recording is already possible when using mediasoup.


New property "ip" for the Connection object πŸ”—

The Connection object now has an ip property with the IP of the client, just as OpenVidu Server sees it. This can help further identifying your final users. Of course, this property is also available in the official server SDKs openvidu-java-client and openvidu-node-client.

BUG FIXES πŸ”—



2.19.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.19.0 Deploy
On AWS 2.19.0 Deploy
Dev container 2.19.0 DockerHub
OpenVidu Pro On Premises 2.19.0 Deploy
On AWS 2.19.0 Deploy
openvidu-browser NPM package 2.19.0 NPM
JS file 2.19.0 GitHub
openvidu-java-client MVN package 2.19.0 MVN Repository
openvidu-node-client NPM package 2.19.0 NPM
openvidu-webcomponent ZIP 2.19.0 GitHub
openvidu-angular NPM package 2.19.0 NPM
openvidu-react NPM package 2.19.0 NPM
Kurento Media Server Ubuntu package 6.16.0 Kurento Docs
mediasoup NPM package 3.7.17 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


Beta support for mediasoup πŸ”—

OpenVidu Enterprise edition is available in beta, free of charge for a limited time. It includes mediasoup support as Media Server, which includes a great boost in performance and quality. To test it you need an OpenVidu Pro license. Visit OpenVidu Enterprise documentation to learn how to enable it.


New supported browsers in iOS πŸ”—

Safari was the only supported browser in iOS until 2.19.0. Now latest versions of Chrome, Firefox, Microsoft Edge and Opera are also supported in iPhones and iPads.


New Timeline View in OpenVidu Inspector πŸ”—

OpenVidu Inspector brings the Timeline View for your sessions. It provides a quick and visual way to review the events and actions that took place in a session, ordered in time. You can also filter by user or event type.

BUG FIXES πŸ”—

BREAKING CHANGES πŸ”—

WebHook/CDR event sessionCreated is triggered earlier in time, and for all sessions. Before, it was only launched after the first user joined the session. Now it is launched after successfully initializing a session through REST API or server SDKs. This also means that sessionDestroyed event wasn't being launched before for sessions that haven't had any user connected to it. Now it is. We consider this to be a more predictable and more consistent behavior.



2.18.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.18.0 Deploy
On AWS 2.18.0 Deploy
Dev container 2.18.0 DockerHub
OpenVidu Pro On Premises 2.18.0 Deploy
On AWS 2.18.0 Deploy
openvidu-browser NPM package 2.18.0 NPM
JS file 2.18.0 GitHub
openvidu-java-client MVN package 2.18.0 MVN Repository
openvidu-node-client NPM package 2.18.0 NPM
openvidu-webcomponent ZIP 2.18.0 GitHub
openvidu-angular NPM package 2.18.0 NPM
openvidu-react NPM package 2.18.0 NPM
Kurento Media Server Ubuntu package 6.16.0 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—


Recording improvements πŸ”—

Recording API has been extended in this release. The two main new features are:

This second point is the result of a small but significant refactoring of the Session object. Before, Session objects had custom attributes for defining default values for its recordings:

{
  "defaultOutputMode": "COMPOSED",
  "defaultRecordingLayout": "CUSTOM",
  "defaultCustomLayout": "mySimpleLayout"
}

Now it has a single attribute defaultRecordingProperties that is an actual RecordingProperties object, containing all of the available attributes to customize recordings:

{
  "defaultRecordingProperties": {
    "name": "MyRecording",
    "hasAudio": true,
    "hasVideo": true,
    "outputMode": "COMPOSED",
    "recordingLayout": "CUSTOM",
    "customLayout": "mySimpleLayout",
    "resolution": "1280x720",
    "frameRate": 25,
    "shmSize": 536870912,
    "mediaNode": "media_i-po39jr3e10rkjsdfj"
    }
}

In this way, for example, it is now possible to record Sessions set to recording mode ALWAYS with only audio or only video. Before the lack of custom default recording properties for in the Session object made this impossible.

This refactoring introduces small breaking changes that must be addressed if your application initializes Session objects with any default recording property (defaultOutputMode, defaultRecordingLayout, defaultCustomLayout). This is all carefully detailed in the Breaking changes section of these release notes.


New openvidu-browser SDK features πŸ”—

openvidu-browser SDK has been improved in many ways. The most important points are listed below:


New nodeCrashed WebHook event πŸ”—

There is a brand new CDR/WebHook event available in OpenVidu Pro. The new nodeCrashed event allows you to relocate any Session hosted at a Media Node that crashed into a different healthy Media Node. Take a look to its documentation here.


Client logs can now be sent to Elasticsearch πŸ”—

We keep improving the monitoring features of OpenVidu Pro. A very important aspect when analyzing wrong behaviors and possible bugs in your OpenVidu applications is the logging on the client side. Now with OpenVidu Pro you can enable configuration property OPENVIDU_BROWSER_LOGS (disabled by default) to make openvidu-browser automatically send its logs to Elasticsearch.

Only the openvidu-browser's own logs are sent (your application's own logs are not). You can inspect them from OpenVidu Inspector session history view.


New analysis features for OpenVidu Inspector session history πŸ”—

In your OpenVidu Inspector session history view you will see now a new land page showing the percentage of successful and problematic sessions. Problematic sessions now show a new "Troubleshooting" section with the list of detected anomalies.


Improved reconnection capabilities under the hood πŸ”—

Previously the reconnection capabilities were based only on the health of the client-server signaling plane. But the media plane can break on its own, without affecting the signaling plane. And up to this point, the application was completely blind when facing these conditions: the media could simply freeze and nobody would be alerted. But now these situations are also taken into account and media connections will be restored automatically.

Take a look to the revamped section Automatic reconnection to learn more.


BUG FIXES πŸ”—

BREAKING CHANGES πŸ”—

There is a breaking change for the Recording API. We have consolidated the RecordingProperties object so it can be equally used when configuring the default recording properties of a session or when manually starting the recording of a session. This affects the operation of initializing a Session. Depending on whether you are consuming the REST API, openvidu-java-client SDK or openvidu-node-client SDK:

For REST API πŸ”—

Before when initializing a Session:

curl --header "Content-Type: application/json" \
     --request POST \
     --data '{"defaultOutputMode":"COMPOSED","defaultRecordingLayout":"BEST_FIT","defaultCustomLayout":"CUSTOM_LAYOUT"}' \
     https://your.openvidu.ip/openvidu/api/sessions

Now:

curl --header "Content-Type: application/json" \
     --request POST \
     --data '{"defaultRecordingProperties":{"outputMode":"COMPOSED","recordingLayout":"BEST_FIT","customLayout":"CUSTOM_LAYOUT"}' \
     https://your.openvidu.ip/openvidu/api/sessions


For openvidu-java-client πŸ”—

Before when creating a Session:

OpenVidu openvidu = new OpenVidu(OPENVIDU_URL, OPENVIDU_SECRET);
SessionProperties properties = new SessionProperties.Builder()
  .defaultOutputMode(Recording.OutputMode.COMPOSED)
  .defaultRecordingLayout(RecordingLayout.CUSTOM)
  .defaultCustomLayout("mySpecialLayout")
  .build();
Session session = openVidu.createSession(properties);

Now:

OpenVidu openvidu = new OpenVidu(OPENVIDU_URL, OPENVIDU_SECRET);
RecordingProperties recordingProperties = new RecordingProperties.Builder()
  .outputMode(Recording.OutputMode.COMPOSED)
  .recordingLayout(RecordingLayout.CUSTOM)
  .customLayout("mySpecialLayout")
  .build();
SessionProperties sessionProperties = new SessionProperties.Builder()
  .defaultRecordingProperties(recordingProperties)
  .build();
Session session = openVidu.createSession(sessionProperties);


For openvidu-node-client πŸ”—

Before when creating a Session:

var openVidu = new OpenVidu(OPENVIDU_URL, OPENVIDU_SECRET);
var properties = {
  defaultOutputMode: "COMPOSED",
  defaultRecordingLayout: "CUSTOM",
  defaultCustomLayout: "mySpecialLayout"
};
openVidu.createSession(properties).then(session => { ... });

Now:

var openVidu = new OpenVidu(OPENVIDU_URL, OPENVIDU_SECRET);
var properties = {
  defaultRecordingProperties: {
    outputMode: "COMPOSED",
    recordingLayout: "CUSTOM",
    customLayout: "mySpecialLayout"
  }
};
openVidu.createSession(properties).then(session => { ... });



2.17.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.17.0 Deploy
On AWS 2.17.0 Deploy
Dev container 2.17.0 DockerHub
OpenVidu Pro On Premises 2.17.0 Deploy
On AWS 2.17.0 Deploy
openvidu-browser NPM package 2.17.0 NPM
JS file 2.17.0 GitHub
openvidu-java-client MVN package 2.17.0 MVN Repository
openvidu-node-client NPM package 2.17.0 NPM
openvidu-webcomponent ZIP 2.17.0 GitHub
openvidu-angular NPM package 2.17.1 NPM
openvidu-react NPM package 2.17.0 NPM
Kurento Media Server Ubuntu package 6.16.0 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—


Scalable COMPOSED recordings (OpenVidu Pro) πŸ”—

OpenVidu Pro has always been focused on offering scalability features upon OpenVidu CE, and there was still one very important limitation: COMPOSED recording were not scalable, as they were being performed in the OpenVidu Server Pro Node. Until today: from 2.17.0, recording modules will be launched in Media Nodes. Since Media Nodes are infinitely scalable, the limit of simultaneous COMPOSED recordings has been effectively eliminated, and the load on your OpenVidu Server Pro node should remain much lower and stable. This is great news!


Force the video codec in OpenViduΒ Sessions πŸ”—

Until now OpenVidu always honored the preferred video codec requested by each client. This had a very important consequence: whenever 2 clients negotiated 2 different codecs, OpenVidu had to perform transcoding between them, which resulted in much more intensive CPU usage and poorer media quality. With 2.17.0 codecs are managed in a much better way:

Improving the performance and compatibility of your OpenVidu app has never been easier!


New signalSent event πŸ”—

This has been a very requested feature. You can now receive in your backend side all the signals sent to your OpenVidu Sessions. They will be received by your WebHook and registered in your CDR. Take a look at this new useful event here.


Microsoft Edge now supports screenΒ sharing πŸ”—

Just as it sounds. Now Microsoft's browser is also able to screen share in OpenVidu!


Choose the instance type when launching new Media Nodes on AWS (OpenVidu Pro) πŸ”—

When deploying OpenVidu Pro on AWS now you are not forced to set a default size for all your Media Node. Simply indicate the EC2 instance type that you want as a parameter in the operation to add a new Media Node:

curl -u OPENVIDUAPP:YOUR_SECRET \
  --request POST  \
  --header "Content-Type: application/json" \
  --data '{"instanceType":"c5.2xlarge","volume":200}' \
https://your-openvidu-ip/openvidu/api/media-nodes


More powerful S3 recording upload (OpenVidu Pro) πŸ”—

There is a new configuration property OPENVIDU_PRO_AWS_S3_HEADERS that allows defining any HTTP header value that the internal S3 client may require to upload recordings to the bucket. The internal S3 client also better manages expired credentials and tries to automatically renew them if necessary. Check out S3 recording upload here.


Programmatic restart of OpenVidu Pro greatly speeded up (OpenVidu Pro) πŸ”—

The REST operation to restart OpenVidu Pro and apply new configurations is now much quicker. Internal improvements have accelerated the process by several seconds.


OpenVidu Pro monitoring completely revamped (OpenVidu Pro) πŸ”—

There is now more information and better displayed in Kibana. This includes things like:

Check out the new monitoring section of the documentation.

BUG FIXES πŸ”—

BREAKING CHANGES πŸ”—



2.16.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.16.0 Deploy
On AWS 2.16.0 Deploy
Dev container 2.16.0 DockerHub
OpenVidu Pro On Premises 2.16.0 Deploy
On AWS 2.16.0 Deploy
openvidu-browser NPM package 2.16.0 NPM
JS file 2.16.0 GitHub
openvidu-java-client MVN package 2.16.0 MVN Repository
openvidu-node-client NPM package 2.16.0 NPM
openvidu-webcomponent ZIP 2.16.0 GitHub
openvidu-angular NPM package 2.16.1 NPM
openvidu-react NPM package 2.16.0 NPM
Kurento Media Server Ubuntu package 6.15.0 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—


Network quality API (OpenVidu Pro) πŸ”—

One of the most important elements in real-time WebRTC connections is the network. It can have a huge impact in the quality of the media streams being transmitted. Usually we have control over the quality of the server-side network, but we don’t have any guarantee about the network of the clients. For that reason, it is especially important to monitor and to be able to warn about network problems to our end users.

This is why OpenVidu Pro now offers the Network Quality API. Now you can listen for network quality change events in your application’s client. Use it to display a network indicator to inform your users about the quality of their connections, as well as those of other users. This can help reduce customer frustration to a great extent when having a bad experience, as they have a reasonable explanation about their own and others’ network conditions.


S3 recording storage (OpenVidu Pro) πŸ”—

OpenVidu Pro can be configured to upload recordings to an Amazon Web Services S3 bucket instead of storing them in local storage. This brings multiple advantages:

Take a look to the official documentation: Uploading recordings to S3.


Improved REST API for managing participant roles πŸ”—

Token API has been replaced with Connection API. This helps harmonizing and unifying the server entities of OpenVidu, as you can see in the renovated REST API documentation. This change also brings many new functionalities:


Manual allocation of sessions in your Media Nodes (OpenVidu Pro) πŸ”—

For some particular use cases, the automatic session distribution algorithm based on CPU load of Media Nodes may not be enough. Now you can force the specific Media Node where a session must be allocated. This gives you much more control. Check it out here.


Selecting streams to be recorded (OpenVidu Pro) πŸ”—

Let’s assume the following scenario: your application offers webinar-type video meetings, where a main speaker addresses an audience that can intervene from time to time. And you are recording these sessions. So far, any video stream published into the session would be recorded, so you couldn’t specify to record only the main speaker. Now in OpenVidu Pro you can choose which specific participants must be recorded. See how here. Not only that, with this new feature you can also start and stop the recording of one stream as many times as you want, for the very same session recording process! In our example, the main speaker could be the only participant recorded, and also only at certain specific times.

This applies only to INDIVIDUAL recording, as in COMPOSED recording with custom layouts there is total freedom to record as you wish.


Health check (OpenVidu Pro) πŸ”—

OpenVidu Pro offers a new health check REST API endpoint. Check it out in the documentation: GET openvidu/api/health.


New monitoring dashboards (OpenVidu Pro) πŸ”—

We have substantially improved the collection of information from OpenVidu Pro clusters, and there are available new Kibana dashboards to help you monitor and analyse your deployments:


Support for external Elastic stacks (OpenVidu Pro) πŸ”—

Now you can tell OpenVidu Pro to send all of the monitoring information to your own Elasticsearch service. This is in fact the recommended option for a production OpenVidu Pro deployment. If you combine it with S3 recording (in case your product uses the recording feature), you can turn your cluster on and off at will, without worrying about data persistence. See how here: Configuring an external stack.


Kibana security integration (OpenVidu Pro) πŸ”—

We have improved the Kibana access, which is now secured with the Elastic user management system. This is the most natural and logical way of dealing with Kibana users, of course. Learn how to add new users to your Elastic stack here: Create a fine-grained user.


Automatic deletion of Elastic documents (OpenVidu Pro) πŸ”—

Some users have reported unexpected failures and strange behaviors in OpenVidu Pro clusters that eventually turned out to be caused by nearly full hard drives. OpenVidu Pro clusters are constantly generating data, and after some weeks disks can be filled up to dangerous points. Now by default any data older than 15 days will be automatically cleaned up, so these problems never arise. You can of course change this property in yourΒ .env configuration file to any number of days to accommodate it to your specific use case (OPENVIDU_PRO_ELASTICSEARCH_MAX_DAYS_DELETE=15). And this is also compatible with the new external Elastic stack option!


New configuration parameter for IP cameras πŸ”—

IP cameras can now be further configured with parameter networkCache. This allows changing the default buffer size that will be used when receiving from remote RTSP streams. The default 2000 ms can be to restrictive for certain use cases, and latency can be greatly improved if the conditions allow it. Check this new parameter here.


Change environment variables of Media Nodes (OpenVidu Pro) πŸ”—

Now you can update any environment variable of your Media Nodes directly from the .env configuration file of your OpenVidu Server Pro Node. This configuration will be broadcasted to all Media Nodes on startup. For example, changing the log level of Kurento in your Media Nodes is now as easy as this.


OpenVidu iOS native application πŸ”—

OpenVidu has offered support for mobile platforms for a long time. First we focused on the most popular cross-platform frameworks, first with Ionic and then with React Native. Finally in Android we implemented a sample tutorial to be used as a template for your own custom Android app. Now we are happy to introduce the same concept for iOS: openvidu-ios. These are the features of this application:


OpenVidu Call improvements πŸ”—

Our flagship OpenVidu application keeps getting better. Here is the list of all improvements in 2.16.0:


New documented tutorials πŸ”—

Take a look to the documentation of our new tutorials:


Kurento 6.15.0 release πŸ”—

OpenVidu 2.16.0 uses under the hood the brand new Kurento 6.15.0. This version of the media server brings lots of new features, improvements and bug and security fixes. You can read all of them in Kurento Release Notes.

BUG FIXES πŸ”—

Breaking changes πŸ”—

Consider the following points when upgrading to OpenVidu 2.16.0:

  1. If your OPENVIDU_SECRET had any kind of special character: you must change it to a simple alphanumeric string (plus characters - and _). This helps preventing some important bugs caused by secrets with special chars not working fine in some internal services.

  2. If you were publishing IP cameras: now in REST API method POST /api/sessions/<SESSION_ID>/connection, the default value of body request property type has changed from IPCAM to WEBRTC. If you were publishing an IP camera and not providing β€œtype” property, now you must explicitly do so, with value β€œIPCAM”.

  3. For OpenVidu Pro, the Elastic stack credential parameters have been renamed: from KIBANA_USER and KIBANA_PASSWORD to ELASTICSEARCH_USERNAME and ELASTICSEARCH_PASSWORD. You must transfer the values from the oldΒ .env configuration file to the new one, from the old parameters to the new ones. This is also noted in the official upgrading instructions.

  4. If you are using REST API to control openvidu-server (no Java or Node clients): REST API paths have been updated to unify all of them under the same parent path. Now every OpenVidu REST API operation will be located under path /openvidu/. For example, what before was: POST /api/sessions/<SESSION_ID>/connection now is POST /openvidu/api/sessions<SESSION_ID>/connection. This is very good news: now OpenVidu has a single entrypoint from a single base path, greatly simplifying the configuration of API Gateways. New REST API is well documented in here.

Old API is considered now deprecated, but of course is still supported. When you are ready, you can make sure your migration has been done right by adding this property to your OpenVidu Server: SUPPORT_DEPRECATED_API=false

If that property is set to false (by default it is true), old API will no longer by accepted by OpenVidu Server, so you can test everything still works smoothly after updating your app to use the new REST API.



2.15.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.15.0 Deploy
On AWS 2.15.0 Deploy
Dev container 2.15.0 DockerHub
OpenVidu Pro On Premises 2.15.0 Deploy
On AWS 2.15.0 Deploy
openvidu-browser NPM package 2.15.0 NPM
JS file 2.15.0 GitHub
openvidu-java-client MVN package 2.15.0 MVN Repository
openvidu-node-client NPM package 2.15.0 NPM
openvidu-webcomponent ZIP 2.15.0 GitHub
openvidu-angular NPM package 2.15.0 NPM
openvidu-react NPM package 2.15.0 NPM
Kurento Media Server Ubuntu package 6.14.0 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—


Autoscaling πŸ”—

OpenVidu Pro has always had scalability as one of its main features. But until now, the responsibility for the management of the cluster fell on the users themselves, who had to actively monitor the status of their OpenVidu Pro clusters to add or remove nodes manually. In fact, we've observed that many users simply launch a new OpenVidu CE monolithic deployment whenever they need more capacity for more sessions, as this can be currently more convenient than managing an OpenVidu Pro cluster with REST API.

Of course this is not ideal. For that reason, with OpenVidu 2.15.0 we're pleased to introduced OpenVidu Pro Autoscaling. Now you can let OpenVidu Pro decide when should the cluster grow or shrink according to CPU load. This way you can forget about overloading your system and you can also have the price to pay at any moment adjusted in the most optimal way.

We have added a new Autoscaling section to OpenVidu Pro documentation. We invite you to take a look to it: Autoscaling


Screen sharing in SafariΒ 13 πŸ”—

Now Safari users can share their screen as long as they are using Safari β‰₯ 13. This is great news for lots of people! Available for both OpenVidu CE and OpenVidu Pro.


Vue.js tutorial πŸ”—

OpenVidu tutorials have a new member in their family. Thanks to @Ninjak now you have available a simple Vue.js tutorial.


Composed quick start recording πŸ”—

OpenVidu recording service has always offered 2 different modes of recording:

INDIVIDUAL recording is very efficient, but lacks the potential of building the recorded files in real time using custom designs. Can be done later in a different process, but of course this is extra work. COMPOSED mode is very powerful, as you can immediately obtain the final desired result just after stopping the recording. But this requires more CPU power per active recording.

Besides, COMPOSED recording requires OpenVidu to launch, manage and drop a recording module during the lifecycle of each recording. This process can make starting COMPOSED recordings a process with a somewhat slow response time. This is where the brand new COMPOSED_QUICK_START mode comes into play: some use cases may benefit of configuring OpenVidu Sessions with this recording mode if they need the recordings to start as quickly as possible, paying as a price a higher CPU usage during the whole lifecycle of the session.

COMPOSED_QUICK_START recording mode is available for both OpenVidu CE and OpenVidu Pro. You have further information in OpenVidu Docs: Composed quick start recording.


New OpenVidu deployment commands πŸ”—

You can now run the following commands in your OpenVidu (CE or PRO) installation folder:


Better Elastic stack integration πŸ”—

There are 2 major changes in the way OpenVidu Pro takes advantage of its Elastic stack:


BUG FIXES πŸ”—



2.14.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.14.0 Deploy
On AWS 2.14.0 Deploy
Dev container 2.14.0 DockerHub
OpenVidu Pro On Premises 2.14.0 Deploy
On AWS 2.14.0 Deploy
openvidu-browser NPM package 2.14.0 NPM
JS file 2.14.0 GitHub
openvidu-java-client MVN package 2.14.0 MVN Repository
openvidu-node-client NPM package 2.14.0 NPM
openvidu-webcomponent ZIP 2.14.0 GitHub
openvidu-angular NPM package 2.14.2 NPM
openvidu-react NPM package 2.14.0 NPM
Kurento Media Server Ubuntu package 6.13.2 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—


OpenVidu Call completeΒ overhaul πŸ”—

OpenVidu Call is our flagship demo application. It is an example of a common use case of videoconferencing application, built with love and available for everyone with its open source license.

People liked it so much that we decided to integrate it by default in OpenVidu 2.13.0 official deployments. Now, when deploying OpenVidu in production, OpenVidu Call is automatically added to the stack and you can start using it right away. But OpenVidu Call had some limitations that must be addressed. This is the complete changelog of OpenVidu Call in 2.14.0 release:


Change the port where OpenVidu isΒ deployed πŸ”—

You can now easily change the port where your OpenVidu deployment listens with a simple configuration property change. Set HTTPS_PORT property to the desired value to seamlessly change all of the services exposed by OpenVidu from default 443 to any other port you want. This has been a heavily requested feature, as many developers prefer using 443 port for serving their own services in the same server hosting OpenVidu.

Besides this, OpenVidu also allows configuring with property HTTP_PORT an HTTP port (non-secure) to automatically redirect to whatever port has been defined in HTTPS_PORT. To sum up, by default URLs https://your.domain.com and http://your.domain.com will provide access to your OpenVidu deployment, as HTTPS_PORT is 443 by default and HTTP_PORT is 80. But you can now easily change these two values to whatever you prefer.


Limit connections to OpenVidu admin services to specificΒ IPs πŸ”—

Another very demanded feature was having the ability to limit the IPs able to consume the administration services of OpenVidu. By administration services we mean: A) the frontend web page served by OpenVidu and B) OpenVidu REST API.

You can do this with config properties:

You can limit to a single IP, a single IP range, multiple IPs or multiple IP ranges. So total freedom in this regard:

ALLOWED_ACCESS_TO_DASHBOARD=198.51.100.1
# or ALLOWED_ACCESS_TO_DASHBOARD=198.51.100.0/24
# or ALLOWED_ACCESS_TO_DASHBOARD=198.51.100.1, 198.51.100.0/24


New automated upgradeΒ process πŸ”—

Now upgrading your OpenVidu deployment will be a very easy guided process. We have included migration guides to upgrade to 2.14.0 for bot OpenVidu CE and OpenVidu Pro. Take a look at them!

Upgrading OpenVidu CE and Upgrading OpenVidu Pro


Samsung Internet Browser supported inΒ Android πŸ”—

A new platform has been added to OpenVidu family. Now Samsung browser for Android is officially supported by OpenVidu. Not one of the most widespread browsers, but still with a small market share.


New region for OpenVidu AWS deployments πŸ”—

AWS Africa (Cape Town) af-south-1 region is available now for deploying OpenVidu on AWS, both OpenVidu CE and OpenVidu Pro tiers. By using our CloudFormation template, you will have your OpenVidu deployment up and running in just a few minutes.

Deploying OpenVidu CE on AWS and deploying OpenVidu Pro on AWS


New KurentoΒ 6.13.2 πŸ”—

OpenVidu 2.14.0 brings all the goodness of Kurento 6.13.2 release. It includes many fixes (especially in libnice library) that will enhance the stability of OpenVidu.

Read Kurento 6.13.2 release notes


BUG FIXES πŸ”—



2.13.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
OpenVidu CE On Premises 2.13.0 Deploy
On AWS 2.13.0 Deploy
Dev container 2.13.0 DockerHub
OpenVidu Pro On Premises 2.13.0 Deploy
On AWS 2.13.0 Deploy
openvidu-browser NPM package 2.13.0 NPM
JS file 2.13.0 GitHub
openvidu-java-client MVN package 2.13.0 MVN Repository
openvidu-node-client NPM package 2.13.0 NPM
openvidu-webcomponent ZIP 2.12.0 GitHub
openvidu-angular NPM package 2.12.0 NPM
openvidu-react NPM package 2.12.0 NPM
Kurento Media Server Ubuntu package 6.13.1 Kurento Docs

Release Notes πŸ”—

NEW FEATURES IN OPENVIDU CE πŸ”—


Docker-based deployment ofΒ OpenVidu πŸ”—

OpenVidu 2.13.0 introduces a brand new Docker-based deployment. It uses docker-compose to manage all of the necessary services. Why did we make the decision of migrating to Docker after 2.12.0 release? It was a mix of two reasons:

First reason: OpenVidu users have always asked for a Docker-based deployment. OpenVidu users are clever. Docker is the first thing an OpenVidu user will encounter when going through any of our tutorials, as we recommend to use a special OpenVidu dev container to quickly run them. And of course, Docker greatly simplifies the management of the services for those administrating them. Just look at this beauty: now you can restart your whole OpenVidu deployment with this command (and we mean all of its services, which are 6 in total for an OpenVidu CE deployment):Β ./openvidu restart

Second reason: OpenVidu developers (that's usΒ :) have always had problems helping users of the platform due to the lack of homogeneity in OpenVidu deployments out there. The reality is that there's an astounding variety of cloud providers, virtual machines, OS flavours and other stuff that may influence how an OpenVidu installation behaves. Docker fixes this. Now every OpenVidu deployment will be basically the same to the other ones, so we will be able to reproduce any problem, and the proper fix for the affected user will generally apply to all OpenVidu installations. Isn't that awesome?

Visit Deploying OpenVidu CE on premises and Deploying OpenVidu Pro on premises to see for yourself how easy it is now to deploy OpenVidu.


Microsoft EdgeΒ support πŸ”—

The new version of Microsoft Edge has joined the list of supported platforms by OpenVidu. Both the desktop Windows version and the Android version are now supported (of course, totally compatible with all other supported platforms).


Garbage collector for OpenViduΒ Sessions πŸ”—

OpenVidu sessions are initialized through the REST API or with any supported server SDK (see here). And they are automatically closed once the last user connected to it leaves the session. But sessions initialized through the REST API that have no connected users remained in memory forever. Now this has been addressed with a garbage collector that will periodically clean up all those non-active sessions.


BUG FIXES πŸ”—


BREAKING CHANGES πŸ”—

The new Docker deployment stack requires OpenVidu to manage its configuration properties following the standard environment variable syntax rules. For that reason, all of OpenVidu configuration properties have been renamed from this.is.my-property=VALUE to THIS_IS_MY_PROPERTY=VALUE

OpenVidu configuration docs are of course updated to this new syntax. As production deployments of OpenVidu 2.13.0 will requires users to re-install all of the services, new installations will already bring the new syntax by default. The official [OpenVidu development container] should also use now the new syntax for its configuration properties.



2.12.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.12.0 NPM
JS file 2.12.0 GitHub
openvidu-server JAR 2.12.0 GitHub
Docker container 2.12.0 DockerHub
Docker container (+KMS) 2.12.0 DockerHub
openvidu-java-client MVN package 2.12.1 MVN Repository
openvidu-node-client NPM package 2.12.0 NPM
openvidu-webcomponent ZIP 2.12.0 GitHub
openvidu-angular NPM package 2.12.0 NPM
openvidu-react NPM package 2.12.0 NPM
Kurento Media Server Ubuntu package 6.13.0 Kurento Docs

Release Notes πŸ”—

NEW FEATURES IN OPENVIDU CE πŸ”—


IP camerasΒ support πŸ”—

You can now publish IP cameras into an OpenVidu Session!. You users will be able to receive it as they receive any other regular webcam stream. With this new feature you can for example implement surveillance systems in the blink of an eye. How about receiving your IP camera video in your mobile app? And what about building a web dashboard where you can observe all of your security cameras footage in real-time? So many possibilities…

You can check out IP cameras section of OpenVidu official documentation to learn more


Send signals from your backend πŸ”—

You are now able to send messages to the participants of an OpenVidu Session from your application’s backend with method POST /api/signal. This feature brings the power of client side messaging to your server side.


Record your webapp with COMPOSITE layout πŸ”—

You can now use custom recording layouts deployed outside of OpenVidu Server host. Before it was mandatory to build an HTML/CSS layout and upload it to OpenVidu Server host before you could use it as a custom recording layout. But now you can record any webpage hosted anywhere. More information here.


New CDR/Webhook event filterEventDispatched πŸ”—

You can now register filterEventDispatched events in OpenVidu CDR and OpenVidu Webhook services. This way you can know when a voice or video filter has emitted an event from your application’s server side (once you add an event listener to a filter).


New data in CDR/Webhook event participantJoined and participantLeft πŸ”—

Both participantJoined and participantLeft CDR/Webhook events include now clientData and serverData properties. This allows you to better identify your users from your application’s server side.


Automatic reconnection when connection is lost πŸ”—

Now your clients can listen to brand new reconnection events triggered by Session object: reconnecting and reconnected events. reconnecting event is triggered when a client connected to a Session loses its network connection with OpenVidu. Automatically openvidu-browser tries to reconnect to the Session with an endless polling. Once the client recovers its network connection, openvidu-browser will automatically try to reset the user state in the session. If it is too late and OpenVidu has already evicted the user due to inactivity, then a SessionDisconnectedEvent with reason networkDisconnect will be triggered. If the user reconnected on time, everything’s back to normal, event reconnected will be dispatched by the Session object and media connections will be automatically re-established if necessary (see Media freeze bug in BUG FIXES).

You can check out Automatic reconnection section of OpenVidu official documentation to learn more


Switch from camera to screenshare instantly πŸ”—

You can use new Publisher.replaceTrack() method available in openvidu-browser to change the audio or video tracks of a Publisher object on the fly, without unpublishing and re-publishing again (so, no need of WebRTC renegotiation!). This also helps changing the video track (front camera for back camera, webcam for screenshare…) keeping your audio connection at all times.

You can check out Switch camera section of OpenVidu official documentation to learn more


Change publisherSpeakingEvents configuration on the fly in your clients πŸ”—

New method StreamManager.updatePublisherSpeakingEventsOptions() allows you to dynamically change the threshold for audio events in openvidu-browser. Affected events are publisherStartSpeaking, publisherStopSpeaking and streamAudioVolumeChange. This way you can adjust in real time the limits and frequency of audio stream polling in the browser to make better use of these events.


All the goodnes from Kurento 6.12.0 and 6.13.0 releases πŸ”—

OpenVidu 2.12.0 is now using the latest 6.13.0 version of Kurento. There are lots of improvements in both Kurento 6.12.0 and 6.13.0, including some several critical bug fixes. You can take a look to all of them here:


NEW FEATURES IN OPENVIDU PRO πŸ”—


New payment method πŸ”—

This is possibly the biggest change for this release. The number of customers of our OpenVidu Pro tier has increased considerably in recent times, and we needed to facilitate the process of subscribing to OpenVidu Pro. We have introduced a new license key system for deploying OpenVidu Pro. Now anyone can create an OpenVidu account, and in just a few clicks you will be able to purchase an OpenVidu Pro license to launch as many OpenVidu Pro clusters as you want.

Visit Pricing section to learn more about the new OpenVidu Pro subscription model. You have a 15-day free trial period when registering as an OpenVidu user!


Simplified pricing πŸ”—

Related to previous point, we have now removed the minimum 10$ per month fee and users receive a 15-day free trial period when they register as OpenVidu users. Check it out now for free!


Dynamic scalability πŸ”—

OpenVidu Pro 2.11.0 allowed you to initialize your OpenVidu Pro cluster with a fixed number of Media Nodes. Now you can add and remove as many Media Nodes as you want on the fly from OpenVidu Inspector or through OpenVidu Pro REST API. Visit Scalability section to learn more.


OpenVidu Inspector big upgrade πŸ”—

OpenVidu Inspector has undergone a major upgrade to support the new clustering features of OpenVidu Pro 2.12.0. You can now manage your cluster directly from OpenVidu Inspector. Besides, it is now built with Angular 9, which makes it even more efficient and less heavy!


Detailed session monitoring improved πŸ”—

OpenVidu Pro is now using the latest Elasticsearch and Kibana version. And every new event and important piece of information generated by 2.12.0 is of course stored and processed for later use. Visit Detailed session monitoring section to learn more.


BUG FIXES πŸ”—



2.11.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.11.0 NPM
JS file 2.11.0 GitHub
openvidu-server JAR 2.11.0 GitHub
Docker container 2.11.0 DockerHub
Docker container (+KMS) 2.11.0 DockerHub
openvidu-java-client MVN package 2.11.0 MVN Repository
openvidu-node-client NPM package 2.11.0 NPM
openvidu-webcomponent ZIP 2.11.0 GitHub
openvidu-angular NPM package 2.11.0 NPM
openvidu-react NPM package 2.11.0 NPM
Kurento Media Server Ubuntu package 6.11.0 Kurento Docs

Release Notes πŸ”—

NEW FEATURES IN OPENVIDU COMMUNITY πŸ”—


OpenVidu WebhookΒ service πŸ”—

You are now able to receive OpenVidu events in your application server by using the brand new Webhook service. This is a feature that has been requested for a long time, and you can start using it right now.

You have all the information in the official documentation:Β OpenVidu Server Webhook


Externalizing configuration of OpenViduΒ Server πŸ”—

Are you tired of having to write all the configuration parameters in openvidu-server launch command? Well, now you can externalize all your configuration into a separate file. You just need to use property spring.config.additional-location like this:

java -Dspring.config.additional-location=/path/to/application.properties -jar openvidu-server.jar

Then all configuration parameters listed in that file will be used.

You have all the information in the official documentation:Β Externalizing configuration

NEW FEATURES IN OPENVIDU PRO πŸ”—


First version of scalability πŸ”—

Finally OpenVidu brings the possibility of deploying a cluster with multiple Media Nodes. OpenVidu Pro will distribute your sessions among all available Media Nodes based on their current load. Take a look to the official OpenVidu Pro tier documentation to learn more: Scalability


Persistent configuration when restarting OpenVidu ServerΒ Pro πŸ”—

Whenever you restart OpenVidu Server Pro by using the REST API, the new parameters you provide will be saved to disk. This way you will be able to stop the service or even the host without losing the last configuration you provided when restarting OpenVidu Server Pro through REST API.

BUG FIXES πŸ”—

OTHER NOTEWORTHY CHANGES πŸ”—

Although this is not a visible feature for OpenVidu final users, we would like to mention that we have updated OpenVidu Server to Spring Boot 2. OpenVidu Server core has been based on Spring Boot 1 since the beginning of the project, but we decided to invest some time to upgrade it to the latest stable version to take advantage of its many new improvements. This should translate in better performance, stability and security.

BREAKING CHANGES πŸ”—

OpenVidu CDR events recordingStarted and recordingStopped are now deprecated in favour of recordingStatusChanged event. Check this new event here. Besides, event recordingStopped now won't provide the final values of the recording (specifically its duration and size properties, that will be 0). You will have to listen to recordingStatusChanged with status ready to get them.



2.10.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.10.0 NPM
JS file 2.10.0 GitHub
openvidu-server JAR 2.10.0 GitHub
Docker container 2.10.0 DockerHub
Docker container (+KMS) 2.10.0 DockerHub
openvidu-java-client MVN package 2.10.0 MVN Repository
openvidu-node-client NPM package 2.10.0 NPM
openvidu-webcomponent ZIP 2.10.0 GitHub
openvidu-angular NPM package 2.10.0 NPM
openvidu-react NPM package 2.10.0 NPM
Kurento Media Server Ubuntu package 6.10.0 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—

This release brings support to more and more clients, so you can expand your OpenVidu client-side range. Of course, they are all compatible with each other and with every other platform already supported.


Electron support πŸ”—

OpenVidu has supported most popular browsers since its inception, and past releases brought official support to Android and iOS through Ionic. But there was still a gap regarding desktop applications. With 2.10.0 we are happy to announce that you are now able to implement your Windows, OSX and Linux native app with OpenVidu through Electron.

What is Electron? It is great framework for building native desktop applications with classic web technologies (simple, good old HTML, CSS and JS).

Electron is to desktop operating systems what Ionic is to mobile operating systems. Some examples of great applications built with Electron are Slack, Skype, Atom or Visual Studio Code Using Electron means that the same codebase you are already using for your web and mobile application can be used to build a desktop app that will work on Windows, OSX and Linux. Take a look to our brand new openvidu-electron tutorial, and you will have a desktop OpenVidu app working in minutes. It even brings screen-sharing!


React Native support πŸ”—

You’re not convinced by Ionic? Now you can choose React Native framework for developing your OpenVidu mobile app. React Native is rather similar to Ionic from the developers perspective, but at the same time its nature is very different. Essentially, it really uses native Android and iOS UI components under the hood while Ionic is based on WebView (in a nutshell, it runs on the browser).

React Native support is not part of the open source stack of OpenVidu platform. Please, contact us through Commercial page to ask for React Native support. You can then use openvidu-react-native tutorial to quickly get started


Internet Explorer support πŸ”—

Yes, it’s 2019. But there’s still a lot of companies out there that provide/require IE support and need videoconferencing systems to work in this browser relic. So that’s why we have brought OpenVidu support to IE through Temasys plugin. Only IE 11 is supported (going further back was too much of a pain).

Internet Explorer support is not part of the open source stack of OpenVidu platform. Please, contact us through Commercial page to ask for React Native support. You can then use openvidu-internet-explorer tutorial to quickly get started


BUG FIXES πŸ”—




2.9.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.9.0 NPM
JS file 2.9.0 GitHub
openvidu-server JAR 2.9.0 GitHub
Docker container 2.9.0 DockerHub
Docker container (+KMS) 2.9.0 DockerHub
openvidu-java-client MVN package 2.9.0 MVN Repository
openvidu-node-client NPM package 2.9.0 NPM
openvidu-webcomponent ZIP 2.9.0 GitHub
openvidu-angular NPM package 2.9.0 NPM
openvidu-react NPM package 2.9.0 NPM
Kurento Media Server Ubuntu package 6.10.0 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—


Ubuntu 18.04 bionicΒ support πŸ”—

Our team has released Kurento 6.10.0, which can now be installed in Ubuntu 18.04 systems. This is a milestone we've been working on for quite some time, and we finally believe we're ready to launch official support for the newest Ubuntu LTS version. Deployment section in OpenVidu Docs is properly updated to inform about this.

We still consider Ubuntu Bionic to be in a preliminary support state, and some bugs may appear. In fact, we know for sure there's one limitation: no OpenCV filters will work in Ubuntu 18.04 at this moment. OpenVidu has supported audio and video filters for a long time now, and it is a cool feature that allows developers to implement some advanced audio and video real-time processing in the server side. But unfortunately Kurento has not been updated yet to support it in Bionic, so no FaceOverlayFilter or ChromaFilter will work in new Ubuntu version. But you can still use GStreamer filters!


OpenVidu Server boot process greatlyΒ improved πŸ”—

OpenVidu Server now checks all required conditions at boot time, which helps solving misconfiguration problems when deploying on Ubuntu. This includes every requirement related to permissions and installed software. If something is missing, wrong or there are not enough permissions in certain path, the OpenVidu Server process immediately exits with a clear description about what happened and a possible solution to fix it.

In our experience, this makes the process of installing OpenVidu Server directly in Ubuntu so much easier and manageable.


OpenVidu reconnection to Kurento MediaΒ Server πŸ”—

If OpenVidu Server loses its connection to Kurento Media Server, now it will try to reconnect automatically. When it does so, if it is a new instance of Kurento, every stream of every previously active session will be destroyed with reason mediaServerDisconnect and every active recording will be stopped with same reason, but your users will not be disconnected from your sessions. This way you can directly re-publish and re-subscribe any desired stream right away.

This may help in case Kurento crashes: your users will have lost their media connections, but they will still be connected to their OpenVidu sessions and will only have to re-establish streams once OpenVidu Server is connected to a new Kurento instance.


OpenVidu upgradeΒ process πŸ”—

Do you want to upgrade your OpenVidu deployment? Now you have a section entirely dedicated to it in the documentation. If you have deployed OpenVidu in AWS, it's as easy as launching a single command. If you have chosen Ubuntu deployment, then you will have to manually run some commands. Either way, you have available proper instructions now.


Native screen-sharing forΒ Chrome πŸ”—

OpenVidu has supported native screen-sharing for Firefox since its inception, but Google decided to have Chrome require an extension to allow screen-sharing. Finally they changed their mind and brought Chrome up to the standard, supporting getDisplayMedia API.

So, our client library openvidu-browser now supports native screen-sharing for Chromeβ‰₯72. No extension needed for these browsers!


OpenVidu Call improvements πŸ”—

Our best demo application has been updated with some exciting new features:


BUG FIXES πŸ”—


OPENVIDU PRO πŸ”—

We are excited to announce OpenVidu Pro: a commercial tier for OpenVidu platform. Check it out here.



2.8.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.8.0 NPM
JS file 2.8.0 GitHub
openvidu-server JAR 2.8.0 GitHub
Docker container 2.8.0 DockerHub
Docker container (+KMS) 2.8.0 DockerHub
openvidu-java-client MVN package 2.8.1 MVN Repository
openvidu-node-client NPM package 2.8.0 NPM
openvidu-webcomponent ZIP 2.8.0 GitHub
openvidu-angular NPM package 2.8.0 NPM
openvidu-react NPM package 2.8.0 NPM
Kurento Media Server Ubuntu package 6.9.0 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—


Individual stream recording πŸ”—

Finally individual stream recording is available in OpenVidu. When recording a session you can now configure it to store each published stream in its own file.

This, on the one hand, gives developers lots of freedom to compose any kind of layout and achieve any kind of result once the recording has stopped, by using some post-processing video tool. On the other hand, this type of recording has proven to be 4x more efficient in comparison with previous grid recording in our first tests, allowing a better quality and a higher number of streams per recording, and more simultaneous recordings.

We have entirely rewritten Recording documentation explaining all these new features. Take a look at it!


Audio-only and video-only recording πŸ”—

Configure your recordings to be audio-only or video-only. This is available for both COMPOSED and INDIVIDUAL recordings. It is worth mentioning that audio-only COMPOSED recordings takes advantage of the new recording capabilities introduced in this release to make it an extremley efficient process. Check out the full documentation on this subject.


Other improvements πŸ”—


BUG FIXES πŸ”—


BREAKING CHANGES πŸ”—

Even though this is not a major update with incompatibility changes according to semver, there are in fact a couple of changes that are worth mentioning:




2.7.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.7.0 NPM
JS file 2.7.0 GitHub
openvidu-server JAR 2.7.0 GitHub
Docker container 2.7.0 DockerHub
Docker container (+KMS) 2.7.0 DockerHub
openvidu-java-client MVN package 2.5.0 MVN Repository
openvidu-node-client NPM package 2.5.0 NPM
openvidu-webcomponent ZIP 2.7.0 GitHub
openvidu-angular NPM package 2.7.1 NPM
openvidu-react NPM package 2.7.1 NPM
Kurento Media Server Ubuntu package 6.8.1 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—


Safari support πŸ”—

OpenVidu finally brings Safari to its collection of supported platforms. Two things to take into account when developing a Safari compatible application:


Ionic support for iOS πŸ”—

Apple support is completed with Ionic platform for iOS. Now you can implement an Ionic app that will compile OK into an iOS native application. Our openvidu-ionic tutorial is now fully compatible with iPhones and iPads. We recommend to use it as a starting point for your Android/iOS application, but in openvidu-ionic tutorial you also have everything you need to integrate OpenVidu in any Ionic app. Take a look at it!


New event streamAudioVolumeChange πŸ”—

You can now listen to volume changes in any Publisher or Subscriber object. You can, for example, add a real-time audio wave or perform some action when certain level of noise or silence is reached. More details here.

BUG FIXES πŸ”—





2.6.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.6.0 NPM
JS file 2.6.0 GitHub
openvidu-server JAR 2.6.0 GitHub
Docker container 2.6.0 DockerHub
Docker container (+KMS) 2.6.0 DockerHub
openvidu-java-client MVN package 2.5.0 MVN Repository
openvidu-node-client NPM package 2.5.0 NPM
openvidu-webcomponent ZIP 2.6.0 GitHub
openvidu-angular NPM package 2.6.0 NPM
openvidu-react NPM package 2.6.0 NPM
Kurento Media Server Ubuntu package 6.8.1 Kurento Docs

Release Notes πŸ”—

NEW FEATURES πŸ”—


Ionic support πŸ”—

There's a complete tutorial in OpenVidu Docs to get a native Android app working with OpenVidu in just a few steps. You can just clone and use our sample application as a starting point or maybe you want to add OpenVidu to your existing Ionic app. Here you have the necessary configuration steps to do so (basically Android permissions stuff).

We are currently working on making OpenVidu work on iOS with Ionic.


New types of filters supported πŸ”—

OpenVidu 2.5.0 brought a fantastic and a differentiating element: real time audio and video filters. Now we have extended this capability to support new GStreamer based filters such as textoverlay, timeoverlay or clockoverlay.

You can embed any text, the timestamp of the video or the current time, easily customizing its position and format. Check these filters in GStreamer section of filters documentation.


Recording service now generates a thumbnail when stopping the recording πŸ”—

Whenever you stop the recording of a session, OpenVidu will automatically generate a thumbnail for the video, getting it from the middle of the video timeline. You can access it fromΒ https://OPENVIDU_SERVER_IP:4443/recordings/RECORDING_NAME.jpg

Do not worry about their lifecycle: they are linked to the video file itself. If you decide to delete the recording, thumbnail will also be deleted.

BUG FIXES πŸ”—


Important fix for increasing success rate in establishing media connections πŸ”—

Time ago we ran into a pretty ugly bug that was causing some problems during WebRTC negotiation, resulting in some clients located in complex networks (like a company's internal network) not being able to connect to OpenVidu Server. What developers perceived was that in certain scenarios some users simply couldn't receive or send any media connection.

This bug has been completely solved in OpenVidu 2.6.0. Now media connections will work fine in almost every client network configuration.




2.5.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.5.0 NPM
JS file 2.5.0 GitHub
openvidu-server JAR 2.5.0 GitHub
Docker container 2.5.0 DockerHub
Docker container (+KMS) 2.5.0 DockerHub
openvidu-java-client MVN package 2.5.0 MVN Repository
openvidu-node-client NPM package 2.5.0 NPM
openvidu-webcomponent ZIP 2.5.0 GitHub
openvidu-angular NPM package 2.5.0 NPM
openvidu-react NPM package 2.5.0 NPM

Release Notes πŸ”—

NEW FEATURES πŸ”—


Kurento filters support πŸ”—

OpenVidu API offers a simple way of applying filters to video and audio streams in the server side by making use of Kurento Media Server capabilities. See Voice and video filters section to learn more.


Individual user configuration for maximum/minimum bandwidth πŸ”—

In version 2.3.0 we introduced 4 new configuration parameters for OpenVidu Server that allow the limitation of the video bandwidth both sent and received to/from OpenVidu Server, affecting all video streams in a global manner. Now it is possible to specifically configure certain input and output bandwidth for every user connected to a session. This way you can customize the bandwidth for each Publisher and Subscriber object of each Connection object. Users with no specific configuration will use the global values.

You can set custom bandwidths by using REST API, openvidu-java-client or openvidu-node-client:


REST API and Server SDKs improvements πŸ”—


OpenVidu Browser improvements πŸ”—


New OpenVidu Angular and OpenVidu React libraries πŸ”—

We introduced OpenVidu Web Component in release 2.3.0. Now we offer native libraries for both Angular and React (latest versions) to insert the same powerful component in your applications by making use of each framework capabilities. You can check a tutorial for OpenVidu Angular (openvidu-library-angular) and for OpenVidu React (openvidu-library-react) right now.

Of course you can keep using OpenVidu Browser library instead of these components in any frontend framework. These tutorials show a basic use of OpenVidu Browser in an Angular app (openvidu-angular) and in a React app (openvidu-react).

BUG FIXES πŸ”—




2.4.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.4.0 NPM
JS file 2.4.0 GitHub
openvidu-server JAR 2.4.0 GitHub
Docker container 2.4.0 DockerHub
Docker container (+KMS) 2.4.0 DockerHub
openvidu-java-client MVN package 2.4.0 MVN Repository
openvidu-node-client NPM package 2.4.0 NPM
openvidu-webcomponent ZIP 2.4.0 GitHub

Release Notes πŸ”—

NEW FEATURES πŸ”—


OpenVidu Java Client and OpenVidu Node Client REST API support for v2.3.0 πŸ”—

Backend clients are now compatible with REST API 2.3.0, adding methods:

You can call methods Session.fetch() and OpenVidu.fetch() to bring the current status of sessions from OpenVidu Server. You can consult now directly from OpenVidu Java Client / OpenVidu Node Client all the active sessions with OpenVidu.getActiveSessions() / OpenVidu.activeSessions and the active connections of a session with Session.getActiveConnections() / Session.activeConnections.


OpenVidu CDR extended πŸ”—

Event recordingStopped event now has reason property. Can be:


OpenVidu WebComponent improvements πŸ”—

BUG FIXES πŸ”—




2.3.0 πŸ”—

Artifacts πŸ”—

medium
Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.3.0 NPM
JS file 2.3.0 GitHub
openvidu-server JAR 2.3.0 GitHub
Docker container 2.3.0 DockerHub
Docker container (+KMS) 2.3.0 DockerHub
openvidu-java-client MVN package 2.2.0 MVN Repository
openvidu-node-client NPM package 2.2.0 NPM
openvidu-webcomponent ZIP 2.3.0 GitHub

Release Notes πŸ”—

OPENVIDU WEB COMPONENT πŸ”—

OpenVidu platform now offers an easier way to get started: just include our new Web Component into your web and start enjoying video call capabilities with just 3 new lines of code:

Add to your index.html OpenVidu Web Component files:

<link rel="stylesheet" href="openvidu-webcomponent.css" />
<script src="openvidu-webcomponent.js"></script>

And add your video-call element wherever you want in your application:

<openvidu-webcomponent session-config='{"user":"NICKNAME", "token":"TOKEN"}' theme="dark"></openvidu-webcomponent>

Being NICKNAME the user's name during the call and TOKEN one token generated in OpenVidu Server. Of course, if you want to connect users to the same session, the tokens should be generated for the same session. Attribute theme can be dark or light. Use the one that better fits your application.

OpenVidu Web Component supports a reasonable amount of different dimensions, and every video displayed inside of it will be automatically relocated and resized for its optimal position upon window resizing. You can set the position, width and height of the component by styling it like this:

  1. Setting its property position to absolute or fixed, depending on your web layout and the desired behavior you want the component to have.
  2. Playing with values:

For example, the following CSS rule would position the upper OpenVidu Web Component in the bottom-right corner of your web, taking up half of the height of the page and a third of its width.

openvidu-webcomponent {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 33vw;
  height: 50vh;
}

If you give enough width to the component (at least 700px), users can communicate through an integrated chat.

To see some images of OpenVidu Web Component in action, check this post on Medium. If you want to learn more about OpenVidu Web Component, visit Tutorials section


NEW FEATURES πŸ”—


StreamPropertyChangedEvent (See here) πŸ”—

OpenVidu Browser now lets users connected to a Session know when any Stream they are subscribed to undergoes any possible change in its properties. Every Session object will dispatch this new event (you can subscribe to it to every Publisher or Subscriber object too). This event can refer to the following Stream properties:

So, for example, now you can do:

var OV = new OpenVidu();
var session = OV.initSession();
session.on('streamPropertyChanged', event => {
    if (event.changedProperty === 'audioActive') {
        console.log('The state of the audio of the publisher has changed. Is enabled? -> ' + event.newValue);
    } else if (event.changedProperty === 'videoActive') {
        console.log('The state of the video of the publisher has changed. Is enabled? -> ' + event.newValue);
    } else if (event.changedProperty === 'videoDimensions') {
        console.log('The video dimensions of the publisher has changed. New dimensions: ' + event.newValue);
    }
});

This way you can react more easily upon this variations in the published streams and update your application's layout accordingly.


Session.capabilities (See here) πŸ”—

You can check capabilities property of Session object to know which methods are able to invoke each one of your clients, depending on their role. Also, if a client tries to call a method for which he has no permissions, now an OpenViduError is thrown with property name being OPENVIDU_PERMISSION_DENIED.


New MODERATOR role πŸ”—

At last developers have available the new role that has been in our roadmap for a long time. Users connecting to a session with a token configured with MODERATOR role can call every method granted for SUBSCRIBER and PUBLISHER roles, but also:


REST API extended πŸ”—

5 new methods join the REST API of OpenVidu Server:

Future iterations will add this capabilities to openvidu-java-client and openvidu-node-client libraries


Configure global bandwidth for your WebRTC connections πŸ”—

We have included a first way to set the maximum and minimum bandwidths for the media connections established between browsers and OpenVidu Server. You can configure it with the following system properties, as stated in OpenVidu Server configuration sections:

Future iterations will study the possibility of configuring this same parameters for each session individually or even for each incoming or outgoing WebRTC connection (maybe as part of PublisherProperties or SubscriberProperties)




2.2.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.2.0 NPM
JS file 2.2.0 GitHub
openvidu-server JAR 2.2.0 GitHub
Docker container 2.2.0 DockerHub
Docker container (+KMS) 2.2.0 DockerHub
openvidu-java-client MVN package 2.2.0 MVN Repository
openvidu-node-client NPM package 2.2.0 NPM

Release Notes πŸ”—


OpenVidu now offers integrated and automated support for TURN server. We encourage developers to check out our post on Medium to learn more about it.

The platform now integrates by default a COTURN server as part of its ecosystem. This means that media connections will work OK even when clients are located on restricted networks. When deploying OpenVidu Server in Amazon Web Services with our Cloud Formation template no changes are required at all. If you are deploying OpenVidu Server on your own in an Ubuntu machine, installation instructions have changed a little bit. You have them properly updated here.




2.1.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.1.0 NPM
JS file 2.1.0 GitHub
openvidu-server JAR 2.1.0 GitHub
Docker container 2.1.0 DockerHub
Docker container (+KMS) 2.1.0 DockerHub
openvidu-java-client MVN package 2.0.0 MVN Repository
openvidu-node-client NPM package 2.0.0 NPM

Release Notes πŸ”—


NEW FEATURES πŸ”—

OpenVidu Browser support for video management

We have implemented a new class in OpenVidu Browser aimed to better support declarative frontend frameworks such as Angular, React or Vue.js.

Now Publisher and Subscriber objects both inherit from StreamManager, which provides 2 different methods to tell OpenVidu what DOM video players should display each specific stream (addVideoElement and createVideoElement). This allows us to let OpenVidu take control of the video elements (even if our framework dynamically creates them) and do not worry about its internals. This is all explained in detail in Manage video players section.

If you want to check out a real example of this behavior, explore our renovated OpenVidu Angular tutorial.




2.0.0 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible Version Link Info
openvidu-browser NPM package 2.0.0 NPM
JS file 2.0.0 GitHub
openvidu-server JAR 2.0.0 GitHub
Docker container 2.0.0 DockerHub
Docker container (+KMS) 2.0.0 DockerHub
openvidu-java-client MVN package 2.0.0 MVN Repository
openvidu-node-client NPM package 2.0.0 NPM

Release Notes πŸ”—


This is the first breaking change update for OpenVidu, which brings in lots of new features and internal improvements.

NEW FEATURES πŸ”—

BUG FIXES πŸ”—

BREAKING CHANGES πŸ”—




1.9.0-beta-1 πŸ”—

Artifacts πŸ”—

Artifact Type Compatible version Link Info
openvidu-browser NPM package 1.9.0-beta-1 NPM
JS file 1.9.0-beta-1 GitHub
openvidu-server JAR 1.9.0-beta-1 GitHub
Docker container 1.9.0-beta-1 DockerHub
Docker container (+KMS) 1.9.0-beta-1 DockerHub
openvidu-java-client MVN package 1.8.0 MVN Repository
openvidu-node-client NPM package 1.8.0 NPM

Release Notes πŸ”—


# In first command: xenial for Ubuntu 16.04, trusty for Ubuntu 14.04
sudo echo "deb http://ubuntu.openvidu.io/6.7.0 xenial kms6" | sudo tee /etc/apt/sources.list.d/kurento.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83
sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get -y install kurento-media-server
sudo apt-get -y install openh264-gst-plugins-bad-1.5

To start and stop KMS 6.7.0:

sudo service kurento-media-server start
sudo service kurento-media-server stop