mirror of https://github.com/OpenVidu/openvidu.git
121 lines
4.2 KiB
Markdown
121 lines
4.2 KiB
Markdown
OpenVidu
|
|
========
|
|
|
|
OpenVidu is a platform for adding group video calls in your web or mobile
|
|
application. It is based on [Kurento](http://www.kurento.org), the WebRTC platform
|
|
for multimedia applications.
|
|
|
|
OpenVidu and Kurento are licensed under Apache License v2.
|
|
|
|
OpenVidu was forked from [KurentoRoom project](https://github.com/Kurento/kurento-room).
|
|
|
|
|
|
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:
|
|
|
|
<center></center>
|
|
|
|
|
|
- **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](http://doc-kurento.readthedocs.io/en/stable/installation_guide.html) you can check Kurento's official documentation.
|
|
|
|
- [**openvidu-browser**](https://github.com/pabloFuente/openvidu/tree/master/openvidu-browser): Javascript library used to connect the application with openvidu-server
|
|
- [**kurento-utils-js**](https://github.com/pabloFuente/openvidu/tree/master/kurento-utils-js): Javascript set of reusable components that have been found useful during the development of WebRTC applications with Kurento
|
|
- [**openvidu-server**](https://github.com/pabloFuente/openvidu/tree/master/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**](https://github.com/pabloFuente/openvidu/tree/master/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)*
|