What is OpenVidu?


OpenVidu is a platform to facilitate the addition of video calls in your web or mobile application, either group or one-to-one calls. In fact, any combination you come up with is easy to implement with OpenVidu.

OpenVidu is licensed under Apache License v2.


What can I do with OpenVidu?

You can add video-call functionalities to your app, among many other things. The process is really simple: OpenVidu offers all the necessary services and tools. You just need to integrate them in your app to start enjoying its benefits: one-to-one calls, one-to-many calls, many-to-many calls. Decide which user can publish and which can't. Mute audio or video whenever you want.

So, what about adding a video-call center for attending your customers face to face? Or maybe you are developing an application to hold meetings via videoconference. Or you are thinking about a teacher streaming to all his students within online lessons. The possibilities are endless.

You can check our Demos to get an idea of what you can do with OpenVidu. Here are some cool pictures of them:


OpenVidu Architecture

OpenVidu is divided into two parts:

  • OpenVidu Browser: it is a library to use in your client side (available for JavaScript and TypeScript). It allows you to create video-calls, join users to them, send and receive video and audio, etc... All the actions available with OpenVidu are managed via OpenVidu Browser.
  • OpenVidu Server: it is an application that handles the server-side stuff. It receives the operations from OpenVidu Browser and do whatever is necessary to establish and manage your video-calls. You will never have to explicitly use it: just to run it and know its IP address.

Get started

These are the recommended steps for getting started with OpenVidu:

  1. The best way to get your first app working in a few minutes is following our OpenVidu Hello Word Tutorial.

  2. After that, you can try any of our Client-Side-Only tutorials, or maybe go straight to step 3 if you think that you already handle OpenVidu reasonably well.

  3. Try now any of our Client-Side + Server-Side tutorials, where you can see how a complete web application works with OpenVidu. Choose your preferred framework, since all 4 applications are exactly the same regarding their look and functionality.

  4. Finally you can deploy your first app and see it working in the real world. You can follow our tutorial, where you can deploy our Demos in your own Amazon machine in a few minutes (Deploying OpenVidu Demos on AWS). Then you can deploy your own app following these steps (Deploying OpenVidu Server and your app on AWS).


How does OpenVidu work?

WebRTC is the ultimate responsible for all media transmission at the very heart of OpenVidu. WebRTC is a modern, cross-platform framework that democratizes media transmission over the Internet. It is promoted by Google, Mozilla, Opera and others.

Kurento is the WebRTC framework on which OpenVidu is built. Openvidu was forked from KurentoRoom project.

What are the differences between Kurento and OpenVidu?

OpenVidu wraps and hides all the low-level operations. The main goal we pursue is to provide a simple, effective, easy-to-use API so you can forget about WebRTC, ICE candidates and media server tricky stuff. We internally use Kurento to generate, connect, modify and destroy media-pipelines, but OpenVidu simplifies as far as possible the process, focusing on the use-case of video-call sessions (one-to-one, one-to-many, many-to-many, users with different roles).

Ultimately, developers can create video-calls with just a few lines of code, all from their client-side.


Acknowledgments

OpenVidu platform has been supported under project LERNIM (RTC-2016-4674-7) confunded by the Ministry of Economy, Finance and Competitiveness of Spain, as well as by the European Union FEDER, whose main goal with this funds is to promote technological development, innovation and high-quality research.