OpenVidu 2.17.0: enjoy scalable recordings and forced codecs!

OpenVidu
4 min readMar 5, 2021

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 recordings 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!

COMPOSED recording in OpenVidu Pro 2.17.0 is fully scalable

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:

  • First of all, OpenVidu automatically sets VP8 video codec to be used by all clients by default, as this is the most widespread video codec among all types of clients. This definitely improves the overall performance of the platform, avoiding useless transcodings when clients have different orders of preference in their list of supported codecs (for example, this was the case between Chrome and Firefox).
  • But you can also set H264 as the default video codec, or leave the previous behavior if your use case may benefit of it. And you can configure this as the default setup for all of your OpenVidu Pro cluster, or even session by session.

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:

  • New low-level metrics registered at application level such as number of petitions, number of threads, number of HTTP errors…
  • Better WebRTC debugging events for Kibana with SDP and munging information.
  • New high-level events relating OpenVidu entities to performance over time, such as number of sessions, participants, streams and recordings.

Check out the new monitoring section of the documentation.

There are new dashboards in OpenVidu monitoring stack to provide a much more accurate and useful information.

Bug fixes

OpenVidu Pro

openvidu-java-client / openvidu-node-client

  • RecordingProperty shmSize wasn't being properly sent. Now it is.
  • For openvidu-node-client, server side data could sometimes remain undefined. This is now fixed.
  • For openvidu-node-client, new ConnectionProperties attributes from release 2.16.0 were not being sent to openvidu-server when calling Session.createConnection. This affected the creation of IPCAM connections when using the Node SDK. This is now fixed.

openvidu-browser

  • The newest version of Microsoft Edge wasn’t supported in desktop platforms and Android. Now it is.
  • Better error description when trying to publish more than one Publisher for the same Connection at the same time.

COMPOSED recordings

  • Possible concurrent exception fixed. This could affect sessions with multiple recordings starting at once.

Breaking changes

  • OpenVidu Pro Elasticsearch event monitoringStats no longer exists. New Metricbeat event instead. This unifies the monitoring metrics collected from all nodes in the cluster.
  • Old Elasticsearch data won’t be compatible with 2.17.0.

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

--

--