OpenVidu 2.13 released

Hello OpenViders,

In behalf of the OpenVidu team, I am glad to announce the new 2.13 version of OpenVidu Platform.

The main topic of this release is “Dockerization” of production deployment. Until now, AWS deployment was pretty much automated, be installation on premises was a manual process for CE and a complex process for PRO (based on ansible). From 2.13 version, OpenVidu Platform is deployed with docker containers. This provides several advantages:

  • Any linux distribution: Until now, installation was restricted to Ubuntu due to Kurento Media Server requirements. Now OpenVidu can be installed in any modern linux distribution.
  • Easier to install: A basic script downloads docker-compose.yml and other additional files. The first time OpenVidu is executed, needed docker images are downloaded.
  • Easier to use: As we include by default OpenVidu Call app in any OpenVidu installation. Of couse, it can be disabled or replaced with your own application (dockerized or not).
  • Easier to update: Just update docker-compose.yml file and new services versions will be downloaded automatically.
  • Easier to configure: As we have used .env file as the main configuration file of OpenVidu platform.

You can find more information about the new release in the announcement post in Medium.

The recommended way to update from 2.12 version or older is to reinstall the platform from scratch. In that way, services installed on the host doesn’t interfere with dockerized services. Remember to backup existing data: configuration, recordings and ElasticSearch indexes (if you are using OpenVidu PRO) and restore it in the appropriate new folders.

Happy videoconferencing!



I have the PRO version with aws, I want to know. how can I upgrade to the latest version, currently I have the 2.12.0 version. I have tried to make an update in the Stark of cloud formation but I don’t have the option to change the version.


The easier way will be without any doubt launching a new stack from scratch.
If you don’t have any data you want to keep, then just drop your stack and follow new 2.13.0 deployment on AWS instructions to have it running in just a few minutes.

If you have recorded files and historical Elasticsearch/Kibana data you want to bring to your new deployment, then you will have to make a backup of them and copy them on the new deployment once it is donde. Recorded files is pretty straightforward: you copy the entire recording folder as it is, and put it in the new deployment at the required path. Elasticsearch data will be a little more tricky. We are currently doing some tests to try providing a step-by-step guide on how to migrate the ES data to 2.13.0 from previous versions.

Stay tuned!

There you go:

Hola Pablo, he montado otro stack nuevo con la versión nueva, he puesto el mismo número de licencia, cuando tenga este funcionando borraré el otro, pero ahora me encuentro con un error en el recording, no se activa y me da el siguiente error:


ERROR: unknown URL https://fxxxxxxxxx/inspector/accept-certificate
OpenVidu Server does not have path /inspector/accept-certificate mapped
If you are seeing this message as a result of COMPOSED recording, the problem is most likely an issue with the recording URL.
Current recording URL is https://fxxxxxxx/inspector/accept-certificate
The recording service cannot access the recording layout through this URL.
Use OpenVidu configuration property OPENVIDU_RECORDING_COMPOSED_URL to provide a valid URL for the recording service to connect to.

Un saludo

te adjunto también el fichero .env

OpenVidu configuration



NOTE: This file doesn’t need to quote assignment values, like most shells do.

All values are stored as-is, even if they contain spaces, so don’t quote them.

Domain name. If you do not have one, the public IP of the machine.

For example:, or

OpenVidu PRO License


OpenVidu SECRET used for apps to connect to OpenVidu server and users to access to OpenVidu Dashboard


Certificate type:

- selfsigned: Self signed certificate. Not recommended for production use.

Users will see an ERROR when connected to web page.

- owncert: Valid certificate purchased in a Internet services company.

Please put the certificates files inside folder ./owncert

with names certificate.key and certificate.cert

- letsencrypt: Generate a new certificate using letsencrypt. Please set the

required contact email for Let’s Encrypt in LETSENCRYPT_EMAIL



If CERTIFICATE_TYPE=letsencrypt, you need to configure a valid email for notifications


Mode of cluster management. Can be auto (OpenVidu manages Media Nodes on its own.

Parameter KMS_URIS is ignored) or manual (user must manage Media Nodes. Parameter

KMS_URIS is used: if any uri is provided it must be valid)


Which environment are you using

Possibles values: aws, on_premise


The desired number of Media Nodes on startup. First the autodiscovery process is performed.

If there are too many Media Nodes after that, they will be dropped until this number is reached.

If there are not enough, more will be launched.

This only takes place if OPENVIDU_PRO_CLUSTER_MODE is set to auto

If set to zero no media servers will be lauched.

Type: number >= 0


What parameter should be used to distribute the creation of new sessions

(and therefore distribution of load) among all available Media Nodes


Whether to enable recording module or not


Openvidu Folder Record used for save the openvidu recording videos. Change it

with the folder you want to use from your host.


System path where OpenVidu Server should look for custom recording layouts


if true any client can connect to


and access any recorded video file. If false this path will be secured with

OPENVIDU_SECRET param just as OpenVidu Server dashboard at


Values: true | false


Which users should receive the recording events in the client side

(recordingStarted, recordingStopped). Can be all (every user connected to

the session), publisher_moderator (users with role ‘PUBLISHER’ or

‘MODERATOR’), moderator (only users with role ‘MODERATOR’) or none

(no user will receive these events)


Timeout in seconds for recordings to automatically stop (and the session involved to be closed)

when conditions are met: a session recording is started but no user is publishing to it or a session

is being recorded and last user disconnects. If a user publishes within the timeout in either case,

the automatic stop of the recording is cancelled

0 means no timeout


Maximum video bandwidth sent from clients to OpenVidu Server, in kbps.

0 means unconstrained


Minimum video bandwidth sent from clients to OpenVidu Server, in kbps.

0 means unconstrained


Maximum video bandwidth sent from OpenVidu Server to clients, in kbps.

0 means unconstrained


Minimum video bandwidth sent from OpenVidu Server to clients, in kbps.

0 means unconstrained


true to enable OpenVidu Webhook service. false’ otherwise

Values: true | false


HTTP endpoint where OpenVidu Server will send Webhook HTTP POST messages

Must be a valid URL: http(s)://ENDPOINT


List of headers that OpenVidu Webhook service will attach to HTTP POST messages


List of events that will be sent by OpenVidu Webhook service

Leave blank if all events.


How often the garbage collector of non active sessions runs.

This helps cleaning up sessions that have been initialized through

REST API (and maybe tokens have been created for them) but have had no users connected.

Default to 900s (15 mins). 0 to disable non active sessions garbage collector


Minimum time in seconds that a non active session must have been in existence

for the garbage collector of non active sessions to remove it. Default to 3600s (1 hour).

If non active sessions garbage collector is disabled

(property ‘OPENVIDU_SESSIONS_GARBAGE_INTERVAL’ to 0) this property is ignored


Call Detail Record enabled

Whether to enable Call Detail Record or not

Values: true | false


Path where the cdr log files are hosted


Kurento Media Server image


Docker hub kurento media server:

Uncomment the next line and define this variable with KMS image that you want use


Kurento Media Server Level logs


Uncomment the next line and define this variable to change

the verbosity level of the logs of KMS



Openvidu Server Level logs


Uncomment the next line and define this variable to change

the verbosity level of the logs of Openvidu Service

RECOMENDED VALUES: INFO for normal logs DEBUG for more verbose logs


Java Options


Uncomment the next line and define this to add options to java command


JAVA_OPTIONS=-Xms2048m -Xmx4096m

Kibana And ElasticSearch Configuration


Kibana dashboard configuration (Credentials)


Cloudformation configuration


If you’re working outside AWS ignore this section


Please open a new thread with the title identifying your problem.

Also, write in english.


Hi, can the pro version support 1 million people in a livestream at the same time?
If no can we scale it to support unlimited people?

OpenVidu doesn’t support unlimited number of subscribers

what if we scale it up on our own?

And what is the max users you’ve had on a conference call?

It depends on multiple factors. You can obtain 250 viewers in a 4CPU machine. But it the network conditions are bad for some users, the rest of the users can be affected. This is how basic WebRTC works.

WebRTC is not designed for scalability. It is possible to implement advanced features in the server side to allow it. For example service implement such features.

We plan to add some of those features to improve scalability if OpenVidu in the future, but they are not implemented right now.

Best regards