What exactly is OpenVidu and how do I use it?

Hi. I apologize for the silly questions I am going to ask, but I’ve never developed a WebRCT based app before. I need to be able to receive a big number of “publishers” and monitor them. I’ve searched through the web about WebRCT platforms and stopped here. I’m a little confused. I tried searching in the FAQ but there are some things I still don’t understand.

I though OpenVidu was a platform-server which I can use in my application by building a client-side interface and stream the videos towards the server. I think I got this wrong.

  1. How exactly should OpenVidu be used, should I download the server-side and deploy it on AWS or other place ? If that is so why is there a paid plan that charge core per minute if I am going to use my resources ?

  2. If I must deploy OpenVidu platform to a production server, why can’t I use Kurento, what is the difference between them (as far as I know OpenVidu is based on Kurento ) ?

Thanks and sorry again for the silly questions.

  1. You must deploy OpenVidu in your own infrastructure or in a cloud provider. OpenVidu CE is completely free and provides all of the features you need to implement your real-time media application. OpenVidu Pro provides enterprise-production advanced features on top of OpenVidu CE, such as scalability and monitoring (more features coming). Any app built for OpenVidu CE is 100% compatible with OpenVidu Pro (so the upgrade is straightforward). Currently the only availble pricing plan for OpenVidu Pro is based on the size of the cluster deployed. It is charged based on the number of cores available for the cluster per minute, only when the cluster is running. This way bigger deployments with more capacity will pay more than smaller deployments with less capacity. Of course, infrastructure cost is not included, as this would basically transform OpenVidu in a “Media As A Service” model such as Twilio or Tokbox, which we are not currently targeting. But we cannot charge the same a small company with a modest cluster than a big company with a big cluster. That’s the reason for this kind of pricing. But we are studying other pricing plans, including fixed tiers or minutes of streamed media. Stay tuned for this.
  2. You can use Kurento. Kurento and OpenVidu team are the same. But Kurento is much more complex and its programming model is more generic. OpenVidu is an abstraction on top of Kurento to make easier implementing videoconferencing applications, and it brings other features that make the process simpler. But if you think Kurento better fits your requirements, go for it!

Regards.

1 Like

Hey Pablo, Thank you so much for the extensive answer to warm-ninjas question! Can I, however, ask one more question? I’m currently deciding between using Kurento and openVidu. For the first development stage of my app (first year), I think all the features in Kurento are enough. However, in the future I might want to add more advanced features as audio signal filtering (noise suppression) later and speaker detection. I was, therefore, wondering if it is possible to now first start with openVidu and then later develop upon the framework as one would do with a regular Kurento solution. This would allow me to more easily setup my app but also have the ability to add more advanced features later.

Thanks a lot in advance!

I recommend you to use OpenVidu directly.

Filters can be used also in OpenVidu. In the future, if you want to fine tune Kurento Media Pipeline under the hood, you can fork OpenVidu and make any changes you want. But bear in mind that Kurento is a low level technology harder to use.

Regards

1 Like