Installation

Hint

If you are looking for an evaluation, please use the Docker Express setup.

The various repositories contain GA versions from 1.7.31 on. Backports (builds with the same major but a higher minor version) are also present (e.g. 1.9.5 is the GA, 1.9.6 provides a fix and as such also is a GA).

Please see the Release notes for which versions are GA.

In some cases a release is not available for a certain version of an OS, for instance when the OS version is of a later date than the release.

Alpine

Dependencies

Install the following dependencies:

#!/bin/bash

apk --update add \
  bash \
  bash-completion \
  apache2 \
  --repository http://nl.alpinelinux.org/alpine/edge/testing

After installing Apache, you need to enable the mpm_worker and header module.

Licenses for used libraries can be found in What third party software is used?

Repository

Add the Unified Streaming public key (otherwise apk will fail complaning about missing keys):

#!/bin/bash

wget -q -O /etc/apk/keys/alpine@unified-streaming.com.rsa.pub \
  https://stable.apk.unified-streaming.com/alpine@unified-streaming.com.rsa.pub

Add the Unified Streaming repository:

#!/bin/bash

echo https://stable.apk.unified-streaming.com/target/repo >> /etc/apk/repositories

Versions

To show available versions:

#!/bin/bash

apk search -v -d 'mp4split'

MP4split

To install mp4split:

#!/bin/bash

apk --update add mp4split==1.9.6-r0

Apache

After installing mp4split, install the webserver module (and enable it similar to the header and mpm modules):

#!/bin/bash

apk --update add mod_smooth_streaming=1.9.6-r0

Configuration

For an overview of the Apache configuration options, please see the Configuration section.

Uninstall

Uninstalling mp4split and mod_smooth_streaming is the reverse of installing:

#!/bin/bash

apk del mp4split mod_smooth_streaming

Amazon Linux 2 / CentOS / RedHat

Dependencies

Install the following dependencies:

#!/bin/bash

yum install \
  expat\
  curl \
  sqlite \
  libuuid \
  openssl
  httpd \
  httpd-tools

Licenses for used libraries can be found in What third party software is used?.

After installing Apache, you need to enable the mpm_worker and header module.

Repository

Create a file unified-streaming.repo in /etc/yum.repos.d with the following content:

[unified-streaming]
name=unified-streaming
baseurl=URL
enabled=1
gpgcheck=1
gpgkey=https://stable.yum.unified-streaming.com/unifiedstreaming.pub

and replace URL with the baseurl from below table.

The following versions are available:

Version Baseurl
Amazon Linux 2 https://stable.yum.unified-streaming.com/amzn2/x86_64
CentOS 7.2 https://stable.yum.unified-streaming.com/centos/72/x86_64
CentOS 6.8 https://stable.yum.unified-streaming.com/centos/68/x86_64

Versions

To show available versions:

#!/bin/bash

yum --showduplicates list mp4split | expand

MP4split

To install mp4split:

#!/bin/bash

yum install mp4split-1.9.6-1

Apache

After installing mp4split, install the webserver module (and enable it similar to the header and mpm modules):

#!/bin/bash

yum install mod_smooth_streaming-1.9.6-1

Configuration

Further setup and configuration can be found in the Configuration documentation.

Uninstall

Uninstalling mp4split and mod_smooth_streaming is the reverse of installing:

#!/bin/bash

yum remove mp4split mod_smooth_streaming

Nginx

The CentOS build environment is setup as follows:

#!/bin/bash

yum groupinstall "Development Tools"

yum install \
  zlib-devel.x86_64 \
  glib2-devel.x86_64 \
  bzip2-devel.x86_64

Next to the build environment, the headers for libfmp4 need to be installed:

#!/bin/bash

yum install mp4split-devel-1.9.6-1.x86_64.rpm

Download the Nginx webserver module and unpack the tarball:

#!/bin/bash

cd ~
tar -zxvf nginx_mod_smooth_streaming-1.9.6.tar.gz

Edit the Makefile in the Nginx webserver module directory and set the NGINX=nginx-NGINX_VERSION line to the Nginx version you downloaded. You may also remove the 'debug' settings. Then use make to build and install:

#!/bin/bash

cd ~/nginx_mod_smooth_streaming-1.9.6
make
sudo make install

Debian / Ubuntu

Dependencies

Install the following dependencies:

#!/bin/bash

sudo apt-get install \
  libexpat1 \
  uuid \
  libsqlite3-0 \
  libcurl3 \
  apache2

Licenses for used libraries can be found in What third party software is used?.

After installing Apache, you need to enable the following modules:

#!/bin/bash

sudo a2dismod mpm_event

sudo a2enmod \
  mpm_worker \
  headers

Repository

Add the Unified Streaming repository to your apt sources:

#!/bin/bash

sudo sh -c 'echo "deb [arch=amd64] https://stable.apt.unified-streaming.com trusty multiverse" > /etc/apt/sources.list.d/unified-streaming.list'

To install a different version use the names as listed below:

Version Name
Debian 8 jessie
Debian 9 stretch
Ubuntu 16 xenial
Ubuntu 18 bionic

Add the Unified Streaming public key to your keyring (otherwise apt will fail complaning about missing keys):

#!/bin/bash

wget https://stable.apt.unified-streaming.com/unifiedstreaming.pub
sudo apt-key add unifiedstreaming.pub

The shell will print 'OK', but you can check if the key is imported like this:

#!/bin/bash

sudo apt-key list

Now you are almost setup to install USP, the only thing left is to update apt:

#!/bin/bash

sudo apt-get update

Versions

To show the available versions:

#!/bin/bash

apt-cache policy mp4split

MP4split

To install mp4split:

#!/bin/bash

sudo apt-get install mp4split=1.9.6

Apache

After installing mp4split, install the webserver module and enable it:

#!/bin/bash

sudo apt-get install libapache2-mod-smooth-streaming=1.9.6
sudo a2enmod mod_smooth_streaming

Configuration

For an overview of the Apache configuration options, please see the Configuration section.

Uninstall

Uninstalling mp4split and mod_smooth_streaming is the reverse of installing:

#!/bin/bash

sudo apt-get remove mp4split \
  libapache2-mod-smooth-streaming

Nginx

The Ubuntu build environment is setup as follows:

#!/bin/bash

sudo apt-get install build-essential \
  g++ \
  make \
  autoconf \
  automake \
  libtool

The Nginx weberver is built the same way as on CentOS.

Windows

Dependencies

Executables and DLLs are self-contained and have no dependencies other than the Microsoft Visual C++ 2017 Redistributable Package. Please install this if you did not do so already.

Repository

Self contained zip files of Windows builds are available:

Licenses for used libraries can be found in What third party software is used?.

Versions

Download the following files:

#!/bin/bash

wget https://stable.zip.unified-streaming.com/windows/16/x86_64/win.sha256sum
wget https://stable.zip.unified-streaming.com/windows/16/x86_64/win.sha256sum.asc
wget https://stable.zip.unified-streaming.com/windows/usp-win-2019-public.pem

You can see available versions by opening the first file (or look at the Release notes).

Verify

The first file contains the list of available versions and a hash of each zip file. The second file contains a signature of the first file. The last file is our public key

With these yo ucan verify the download was secure and the files are correct by doing the following:

#!/bin/bash

openssl dgst -sha256 -verify usp-win-2019-public.pem -signature win.sha256sum.asc win.sha256sum
sha256sum -c win.sha256sum | grep OK

Configuration

Unzip package-1.9.6-win64.zip and run the executable from where you unzipped it or place it somewhere in the system path (see %PATH%).

Further setup and configuration can be found in the Apache Configuration documentation.

Webserver Configuration

In-depth webserver configuration and available directives can be found here:

Next steps

Verify

The image comes fully installed with the demo content as outlined in the Verify Your Setup section.

Package

Packaging content is fully outlined in the Unified Packager documentation.

Live

Following the Starting with Live section you can learn how to setup Live streaming with USP.

Capture

Capturing content is fully outlined in the Unified Capture documentation.