Links
Comment on page

Getting Started

Getting Started with Docker Image

OvenMediaEngine provides Docker images from AirenSoft's Docker Hub (airensoft/ovenmediaengine) repository. You can easily use OvenMediaEngine server by using Docker image. See Getting Started with Docker for details.

Getting Started with Source Code

Installing dependencies

OvenMediaEngine can work with a variety of open-sources and libraries. First, install them on your clean Linux machine as described below. We think that OME can support most Linux packages, but the tested platforms we use are Ubuntu 18+, Fedora 28+, and CentOS 7+.
curl -LOJ https://github.com/AirenSoft/OvenMediaEngine/archive/v0.16.3.tar.gz && \
tar xvfz OvenMediaEngine-0.16.3.tar.gz && \
OvenMediaEngine-0.16.3/misc/prerequisites.sh
If the prerequisites.sh script fails, try to run sudo apt-get update and rerun it. If it's not enough proceed with the manual installation.

Building & Running

You can build the OvenMediaEngine source using the following command:
Ubuntu 18
Fedora 28
CentOS 7
sudo apt-get update
cd OvenMediaEngine-0.16.3/src
make release
sudo make install
systemctl start ovenmediaengine
# If you want automatically start on boot
systemctl enable ovenmediaengine.service
sudo dnf update
cd OvenMediaEngine-0.16.3/src
make release
sudo make install
systemctl start ovenmediaengine
# If you want automatically start on boot
systemctl enable ovenmediaengine.service
sudo yum update
source scl_source enable devtoolset-7
cd OvenMediaEngine-0.16.3/src
make release
sudo make install
systemctl start ovenmediaengine
# If you want automatically start on boot
systemctl enable ovenmediaengine.service
In addition, we recommend that you permanently set environment variables as follows.
$ echo 'source scl_source enable devtoolset-7' >> ~/.bashrc
if systemctl start ovenmediaengine fails in Fedora, SELinux may be the cause. See Check SELinux section of Troubleshooting.

Ports used by default

The default configuration uses the following ports, so you need to open it in your firewall settings.
Port
Purpose
1935/TCP
RTMP Input
9999/UDP
SRT Input
4000/UDP
MPEG-2 TS Input
9000/TCP
Origin Server (OVT)
3333/TCP 3334/TLS
LLHLS Streaming * Streaming over Non-TLS is not allowed with modern browsers.
3333/TCP 3334/TLS
WebRTC Signaling (both ingest and streaming)
3478/TCP
WebRTC TCP relay (TURN Server, both ingest and streaming)
10000 - 10009/UDP
WebRTC Ice candidate (both ingest and streaming)
To use TLS, you must set up a certificate. See TLS Encryption for more information.
You can open firewall ports as in the following example:
$ sudo firewall-cmd --add-port=3333/tcp
$ sudo firewall-cmd --add-port=3334/tcp
$ sudo firewall-cmd --add-port=1935/tcp
$ sudo firewall-cmd --add-port=9999/udp
$ sudo firewall-cmd --add-port=4000/udp
$ sudo firewall-cmd --add-port=3478/tcp
$ sudo firewall-cmd --add-port=9000/tcp
$ sudo firewall-cmd --add-port=10000-10009/udp