openvidu/README.md

4.2 KiB

OpenVidu

OpenVidu is a platform for adding group video calls in your web or mobile application. It is based on Kurento, the WebRTC platform for multimedia applications.

OpenVidu and Kurento are licensed under Apache License v2.

OpenVidu was forked from KurentoRoom project.

Developing OpenVidu

First of all, you will need these packages:

sudo apt-get update

Dependecy Command
node sudo apt-get install -g nodejs
npm sudo apt-get install -g npm
maven sudo apt-get install -g maven
angular-cli sudo npm install -g @angular/cli
typescript sudo npm install -g typescript

OpenVidu structure

OpenVidu is composed by several modules which require some interconnections in order to have an easy and effortless development.

Here's a simple summary about the structure of OpenVidu:

![OpenVidu structure](https://drive.google.com/uc?export=view&id=0B61cQ4sbhmWSQ1AwaXlnRTR4djA)
  • Kurento Media Server: External module which provides the low-level functionalities related to the media transmission. How to install and run KMS in your development machine:

Ubuntu 14.04 LTS Trusty (64 bits)

echo "deb http://ubuntu.kurento.org trusty kms6" | sudo tee /etc/apt/sources.list.d/kurento.list
wget -O - http://ubuntu.kurento.org/kurento.gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install kurento-media-server-6.0

Ubuntu 16.04 LTS Xenial (64 bits)

echo "deb http://ubuntu.kurento.org xenial kms6" | sudo tee /etc/apt/sources.list.d/kurento.list
wget -O - http://ubuntu.kurento.org/kurento.gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install kurento-media-server-6.0

Start and stop the service

sudo service kurento-media-server-6.0 start
sudo service kurento-media-server-6.0 stop

Here you can check Kurento's official documentation.

  • openvidu-browser: Javascript library used to connect the application with openvidu-server
  • kurento-utils-js: Javascript set of reusable components that have been found useful during the development of WebRTC applications with Kurento
  • openvidu-server: Java API which provides the connection with Kurento Media Server
  • app: The application that makes use of OpenVidu. In this repo, openvidu-ng-testapp.

Setup for development

After installing Kurento Media Server and forking or downloading the repo, these are the necessary steps to start developing openvidu-ng-testapp:

sudo service kurento-media-server-6.0 start

/openvidu/openvidu-browser/src/main/resources

npm install
sudo npm link

/openvidu/openvidu-ng-testapp

npm install
sudo npm link openvidu-browser
ng serve

/openvidu

mvn install -DskipTests=true

/openvidu/openvidu-server

mvn compile exec:java

(or if you prefer you can just run the Java application in your favourite IDE)


At these point, you can start modifying openvidu-ng-testapp, openvidu-browser or openvidu-server.

  • openvidu-ng-testapp: the previous "ng serve" command will take care of refreshing the browser's page whenever any change takes place.
  • openvidu-browser: after modifying any typescript file, you will need to run the following command to update your changes (typescript package is necessary):

/openvidu/openvidu-browser/src/main/resources/ts

tsc
  • openvidu-server: after modifying any file, there is no other alternative but to re-launch the java application if you want to update your changes.

/openvidu/openvidu-server

mvn compile exec:java

(or re-launch the Java application in your IDE)