Sorry, you need to enable JavaScript to visit this website.

Build and Run the Video Conferencing Sample on Public Cloud or Local Machine

The Open Visual Cloud is highly optimized for the latest Intel® Xeon® Scalable Processors. Developers can use their own x86 development system to build, customize, and evaluate Open Visual Cloud reference pipelines, or use a public cloud to assess system scalability and performance.
 
This tutorial builds and runs the Video Conferencing Sample on the Amazon Web Services (AWS), Azure Virtual Machine and Google Cloud Platform Virtual Machine (GCP) or your local machine. The following figures show the running compute instances of the 3 cloud services.

AWS EC2 INSTANCE, UBUNTU 18.04 LTS

AZURE VM INSTANCE, UBUNTU 18.04 LTS

GOOGLE CLOUD PLATFORM VM INSTANCE, UBUNTU 18.04 LTS

1. PREREQUISITES

Run the following commands to install the software packages required to build the sample:
$ sudo apt update –y
 
$ sudo apt install –y docker
 
$ sudo service docker start
 
$ sudo apt install –y cmake make git.

Initialize docker swarm as we will use docker swarm for deployment.

$ sudo docker swarm init
Swarm initialized: current node (04k9ydxpdtx40nym8ag2j499r) is now a manager.
 
To add a worker to this swarm, run the following command:
 
docker swarm join --token SWMTKN-1-2jthey7uay7ym5ko1db4etp9lt5sjmi8u4qhkv4owe1ysip943-5novs363q4nby8kgaek8ury6i 172.31.18.164:2377
$

2. CLONE THE SAMPLE SOURCE CODE

Run the following command to clone the Video Conferencing Sample source code:

$ git clone https://github.com/OpenVisualCloud/Video-Conferencing-Sample.git

3. BUILD THE SAMPLE

Run the following commands to build the Video Conferencing Sample. The build time is about 1 hours on m4.2xlarge. 

$ cd Video-Conferencing-Sample
$ mkdir build
$ cd build
$ cmake ..
This script will build third party components licensed under various open source licenses into your container images. The terms under which those components may be used and distributed can be found with the license document that is provided with those components. Please familiarize yourself with those terms to ensure your distribution of those components complies with the terms of those licenses.
 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/workspace/OVC/Video-Conferencing-Sample/build
 
$ make
Scanning dependencies of target build_docker_compose
Sending build context to Docker daemon  30.21kB
...
Successfully built 017d27551a53
Successfully tagged xeon-ubuntu1804-service-owt-meeting:latest
Built target build_xeon-ubuntu1804-service-owt-meeting
 
The following images are built. The images with tag “build” are not used in the deployment. 

4. START THE SAMPLE SERVICE

For AWS, Azure and GCP, please add following configuration in docker-compose.yml in deployment/docker-swarm folder before starting swarm deployment:
--ip means VM instance’s public ip address
--eth means the network device id which map to the public ip address like eth0
For AWS, Azure and GCP, please also make sure the inbound traffic to Video Conferencing Sample is allowed by configuring the corresponding instance’s inbound network accessing rules. The Video Conferencing Sample default serving ports are as following, 
Sample web page: 443 (TCP)
OWT management console: 3300 (TCP)
OWT portal service: 8080 (TCP)
OWT WebRTC connection service: 0 - 65535 (UDP)
 
Now, it is time to start the sample service:
 
$ make start_docker_swarm
 
Total reclaimed space: 0B
Total reclaimed space: 0B
Ignoring unsupported options: restart
 
Creating service webmeeting_owt-web-meeting
Creating service webmeeting_owt-service
Built target start_docker_swarm
$
 

5. TEST THE SAMPLE

The Video Conferencing Sample exposes a web interface at port 443. 
Open your browser to https://<instance-ip-address> and accept the self-signed certificate to proceed to the sample UI. Now it has been validated on following browsers: Chrome 75, Firefox 67.
 
Log into and Video Conference Sample, both audio/video communication and screen sharing capability are served in this sample.