OPENVIDU DEMOS

Try OpenVidu

Basic Videoconference

Users can freely connect to any videoconference session. If it does not exist, a new one will be created. This demo is a 100% frontend application (without any kind of security).



docker run -p 8443:8443 -p 4040:4040 -e KMS_STUN_IP=stun.l.google.com -e KMS_STUN_PORT=19302 openvidu/basic-videoconference-demo
Wait until you see on the output a line PUBLIC IP . Connect to the app with this URL. You can share it to easily test the app with other devices (it may not work over the Internet in some cases. Check Troubleshooting section to learn why)


This demo is derived directly from the tutorials. If you want a deep understanding of the ins and outs you can check either of the following tutorials (whichever you feel most comfortable with):

Plain JavaScript
openvidu-insecure-js
Angular
openvidu-insecure-angular

Basic Webinar

Users are identified via a login authentication system. This means users are given a certain role depending on their identity when connecting to a videoconference session. This demo wraps a simple frontend and a straightforward backend, making use of OpenVidu in a secure manner.



docker run -p 5000:5000 -p 3000:3000 -p 4040:4040 -e KMS_STUN_IP=stun.l.google.com -e KMS_STUN_PORT=19302 openvidu/basic-webinar-demo
Wait until you see on the output a line PUBLIC IP . Connect to the app with this URL. You can share it to easily test the app with other devices (it may not work over the Internet in some cases. Check Troubleshooting section to learn why)


This demo is derived directly from the tutorials. If you want a deep understanding of the ins and outs you can check either of the following tutorials (whichever you feel most comfortable with):

Java (Single Page Application)
openvidu-js-java
Java (Model View Controller)
openvidu-mvc-java
Node (Single Page Application)
openvidu-js-node
Node (Model View Controller)
openvidu-mvc-node

OpenVidu GetARoom

Users can create new videoconference rooms by clicking a button. Then they can share the link of the room to invite new participants. This demo is a 100% frontend application (without any kind of security).



docker run -p 8443:8443 -p 4040:4040 -e KMS_STUN_IP=stun.l.google.com -e KMS_STUN_PORT=19302 openvidu/getaroom-demo
Wait until you see on the output a line PUBLIC IP . Connect to the app with this URL. You can share it to easily test the app with other devices (it may not work over the Internet in some cases. Check Troubleshooting section to learn why)


This demo is also provided in the form of tutorial. You can check it out here: openvidu-getaroom

OpenVidu Classroom

This is a fully functional application that makes use of the secure version of OpenVidu to connect teachers and students in video sessions. It has a frontend built with Angular, a backend built with Spring Boot and a MySQL database. There are two types of roles: teachers and students. First ones can create/edit/remove lessons and invite students to them. Only when a teacher initialize a lesson authorized students can connect to it.



wget -O docker-compose.yml https://raw.githubusercontent.com/OpenVidu/classroom-demo/master/docker/docker-compose.yml
docker-compose up
Wait until you see on the output a line PUBLIC IP . Connect to the app with this URL. You can share it to easily test the app with other devices (it may not work over the Internet in some cases. Check Troubleshooting section to learn why)


There's no tutorial for this application, but you can run it in your local machine by following these steps:

  1. Clone the repo

    git clone https://github.com/OpenVidu/classroom-demo.git
  2. You will need node, NPM and angular-cli to execute the app. You can install them with:

    sudo apt-get update
    sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
    sudo apt-get install -y nodejs
    sudo npm install -g @angular/cli
  3. This demo needs a MySQL database to store the info. Install MySQL:

    sudo apt-get install -y mysql-server
    sudo mysql_secure_installation

    And create a new database:

    mysql -u root -p

    (Enter the same password you set during the installation process)

    CREATE DATABASE openvidu_sample_app;
    exit
  4. openvidu-server and Kurento Media Server must be up and running in your development machine. The easiest way is running this Docker container which wraps both of them (you will need Docker CE):

    sudo docker run -d -p 8443:8443 --rm -e KMS_STUN_IP=stun.l.google.com -e KMS_STUN_PORT=19302 -e openvidu.secret=MY_SECRET openvidu/openvidu-server-kms
  5. Install NPM dependencies of frontend:

    cd classroom-demo/src/angular/frontend
    npm install
  6. Build the frontend, exporting the files to the static folder of the Java application:

    ng build --output-path ../../main/resources/static
  7. Finally run the Spring Boot application:

    cd ../../../
    mvn clean package exec:java

    Go to https://localhost:5000 to test the app once the server is running. The first time you use the docker container, an alert message will suggest you accept the self-signed certificate of openvidu-server when you first try to join a video-call. To test two users in the same computer, use a standard window and an incognito window.

Without going into greater detail, the backend has one controller for the REST operations of the lessons (create new ones or edit/remove existing ones) and one controller for handling the videoconferences. This controller is pretty similar to the one described in any of the secure tutorials. Basically it listens to the operations of creating a new session (returning a sessionId from openvidu-server), generating a new user token (returning the token from openvidu-server) and removing the users when they leave the session.