OpenVidu 2.14.0

OpenVidu
6 min readMay 12, 2020

Here we are again, trying to keep up with our intention of releasing new versions of OpenVidu more often. This version brings some interesting features and stabilizations over what was constructed with 2.13.0.

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:

  • Node backend added to make the app secure: OpenVidu Call didn’t have a backend, so OpenVidu secret needed to be included in the frontend code, making the app unsafe and not really prepared for a real production environment. Now OpenVidu Call has a simple Node backend, so any protected operation is now safely done in the server side.
  • Renewed landing page: the calling card of the application is its home page, and it has been redesigned with a better look-and-feel. Besides, now a random session name will be automatically generated for you to use it if you want.
Renovated OpenVidu Call landing page
  • Join a session without media devices: OpenVidu Call didn’t allow users join a session if they didn’t have a working camera and microphone. This proved to be too restrictive, so now users without media devices can still join a session to at least see and hear other participants.
  • Zoom in and zoom out in specific videos: users can now press a specific button available at the bottom right corner of each video to make it bigger or smaller in the layout. They can also full screen any video, or full screen the entire application if they want. All of this to ensure users focus their attention on what they prefer at all times.
  • Active speaker layout: a new option allows changing the main video to the active speaker automatically. This way the layout dynamically transforms to focus on the participant speaking, changing between participants as they take the floor. If any screen is being shared, this feature is disabled so as not to interfere with it.
  • Muted videos now won’t appear in the layout: users can mute their video whenever they want. Before, users would see a black square where the video used to be, which was inconvenient because some of the limited and valuable space was lost. Now any muted video will disappear from the layout.
  • New footer bar showing remote participants: at the bottom of the page users can see at a glance what other participants are connected to the session. This is especially useful now that users without a camera may join a session, as well as muted videos not showing up in the layout.
Participant summary always visible at the footer
  • Chat messages notification: we noticed that many times chat messages went unnoticed without a proper notification. Now a subtle notification will be shown when a new chat message is received.
Chat message displaying a notification
  • Reconnection alerts: OpenVidu 2.12.0 introduced automatic reconnection features for users losing their network connection while connected to a session. Now OpenVidu Call takes advantage of reconnection events and will warn the user in case they experience a network drop.
  • Smooth track replace when screen sharing: OpenVidu Call now uses the replaceTrack feature to provide a quicker and smoother transition whenever a user changes the screen being shared.

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:

  • A)ALLOWED_ACCESS_TO_DASHBOARD : limits the ability to connect to OpenVidu CE dashboard and to OpenVidu PRO Inspector.
  • B)ALLOWED_ACCESS_TO_RESTAPI : limits the ability to consume OpenVidu REST API (both CE and PRO).

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 both 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.

Deploy OpenVidu CE on AWS or deploy 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

  • openvidu-server: possible avoidable exception when adding IceCandidates to recently created Subscriber WebRTC endpoints, for which sometimes an IceCandidate could arrive before the WebRtcEndpoint object is available for the Java code. Now accumulated IceCandidates are always added after the WebRtcEndpoint object is defined and available (issue 455)
  • openvidu-server: recordings bigger than 2.1 GB were throwing an exception when generating their metadata during their stop process. Now they don’t.
  • openvidu-browser: there was a memory leak in entities inheriting from interface EventDispatcher. This is fixed now (PR 437).
  • openvidu-browser: OpenVidu.enableProdMode was disabling all logging of browser. Now only disables openvidu-browser library log (issue 440).
  • openvidu-browser: fix when providing MediaStreamTracks as audioSource or videoSource when calling OpenVidu.initPublisher. Where being used when calling OpenVidu.getUserMedia, but not for OpenVidu.initPublisher (issue 456).
  • OpenVidu Pro: restarting OpenVidu Pro from Inspector or REST API may failed for AWS deployments due to a problem with system path. Now it doesn’t.
  • Installation process: more checks have been added to the production deployment script and the logging of the process has been improved to facilitate the correct installation and handling of possible errors when deploying OpenVidu.

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

--

--