3.4 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
node
sudo apt-get install nodejs
npm
sudo apt-get install npm
maven
sudo apt-get install 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:
- 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:
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
sudo service kurento-media-server-6.0 start
sudo service kurento-media-server-6.0 stop
Here you can check the Kurento's official documentation.
- openvidu-browser: Javascript library used to connect the application with openvidu-server
- 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
npm link
/openvidu/openvidu-ng-testapp
npm install
npm link openvidu-browser
ng serve
/openvidu
mvn install -DskipTests=true
/openvidu/openvidu-server
mvn compile exec:java -Dexec.mainClass="org.openvidu.server.OpenViduServer"
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 -Dexec.mainClass="org.openvidu.server.OpenViduServer"