Kurento Media Server Binary Install Guide - sgala/kurento-media-server GitHub Wiki

Table of Contents

Kurento Media Server Install

This guide focuses on the installation of Kurento Media Server (a.k.a KMS) on a single node. KMS needs to connect to a Kurento Application Server.

Prerequisites

Hardware minimal recommended requirements:

  • 8GB RAM
  • 16GB HDD (this figure is not taking into account that multimedia streams could be stored in the same machine. If so, HDD size must be increased accordingly)
Operating system requirements:
  • Currently Kurento Media Server (KMS) only runs on Ubuntu Linux 13.10 64 Bits or newer. This is due to its dependency on the gstreamer 1.2.0 version.

Kurento Media Server (KMS)

First, add the Kurento repository to the sources by adding the line below to the file /etc/apt/sources.list.d/kurento.list:

deb http://jmaster01-64.kurento.com/ stable/

Install KMS by typing the following commands, one at a time and in the same order as listed here. When asked for any kind of confirmation, reply afirmatively:

$ sudo add-apt-repository ppa:kurento/kurento
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install libevent-dev kurento

KMS can receive requests from a Kurento Application Server (KAS) and from final users. The IP addresses and ports to receive these requests are configured in the configuration file /etc/kurento/kurento.conf. After a fresh install that file looks like this:

[Server]
serverAddress=localhost
serverPort=9090
sdpPattern=pattern.sdp

[HttpEPServer]
serverAddress=localhost
serverPort=9091

That configuration implies that only requests from the localhost are accepted. The section [Server] allows to configure the IP address and port where KMS will listen to KAS requests. The section [HttpEPServer] controls the IP address and port to listen to the final users.

Finally, configure the server to run KMS when booted:

$ sudo update-rc.d kurento defaults

To verify that the installation has finished successfully start KMS by typing:

$ sudo /etc/init.d/kurento start

Sanity check procedures

The Sanity Check Procedures are the steps that a System Administrator will take to verify that an installation is ready to be tested. This is therefore a preliminary set of tests to ensure that obvious or basic malfunctioning is fixed before proceeding to unit tests, integration tests and user validation.

List of Running Processes

To verify that KMS is up and running use the command:

$ ps -ef | grep kurento

The output should be similar to:

nobody   22527     1  0 13:02 ?        00:00:00 /usr/bin/kurento
kuser    22711  2326  0 13:10 pts/1    00:00:00 grep --color=auto kurento

Network interfaces Up & Open

Unless configured otherwise, KMS opens the port 9090 to receive HTTP TCP requests from KAS and port 9091 for HTTP TCP requests from final users. To verify the open ports type the command:

$ sudo netstat -putan | grep kurento

The output should be similar to the following:

tcp        0      0 127.0.0.1:9091          0.0.0.0:*               LISTEN      22527/kurento  
tcp6       0      0 :::9090                 :::*                    LISTEN      22527/kurento

Databases

N/A

Diagnosis Procedures

The Diagnosis Procedures are the first steps that a System Administrator will take to locate the source of an error in a node. Once the nature of the error is identified with these tests, the system admin will very often have to resort to more concrete and specific testing to pinpoint the exact point of error and a possible solution. Such specific testing is out of the scope of this section.

Resource availability

To guarantee the right working of the enabler RAM memory and HDD size shoud be at least:

  • 8GB RAM
  • 16GB HDD (this figure is not taking into account that multimedia streams could be stored in the same machine. If so, HDD size must be increased accordingly)

Remote Service Access

If KMS and KAS are deployed at separate nodes, the admin needs to ensure that the KMS node can reach the KAS Handler port (default 9990) and that the KAS node can reach the KMS service port (default 9090)

Resource consumption

Resource consumption documented in this section has been measured in two different scenarios:

  • Low load: all services running, but no stream being served.
  • High load: heavy load scenario where 100 streams are requested at the same time.
Under the above circumstances, the "top" command showed the following results in the hardware described below:


Machine Info
KMS
Machine Type Physical Machine
CPU Intel(R) Xeon(R) CPU E5-2620 0 @ 2GHz
RAM 4GB
HDD 10GB
Operating System Ubuntu 13.10


KMS gave the following result:

KMS
Low Usage Heavy Usage
RAM 122.88MB 1.56GB
CPU 0.3% 34.6%
I/O HDD 1.18GB 2.47GB


I/O flows

Unless configured otherwise, Kurento Media Server will listen at the following ports:

  • KMS listens at port 9090 to receive HTTP requests from KAS
  • KMS listens at port 9091 to receive HTTP requests from final users
  • KMS needs to send and receive on the full UDP port range, used for RTP
⚠️ **GitHub.com Fallback** ⚠️