How to Install

Note

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

  • The beta repositories are only to be consulted as part of a request or support process, outside of which no support is to be expected

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

The stable repositories contain GA versions from 1.7.31 on. Please see the Release notes for which versions are GA.

Please take into account that 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 Unified release.

Add repository on Alpine

First, add the Unified Streaming public key (otherwise apk will fail, complaining about missing keys):

#!/bin/sh

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

Then, to add the stable or beta Unified Streaming repository:

#!/bin/sh

# Set 'stable' or 'beta' repository as source
repo="stable"

# Set variable to specify Alpine version
alpine_version="X.Y"

echo https://${repo}.apk.unified-streaming.com/alpine/v${alpine_version} >> /etc/apk/repositories

Note

Please see End Of Life for which versions of Alpine are available.

Finally, to ensure apk package information is up-to-date, run:

#!/bin/sh

apk update

Now, you're ready to install our software with a single command using your apk package manager, see Installation on Linux (all supported distributions).

Add repository on Amazon Linux 2 / RedHat (RHEL) / Rocky Linux

Attention

Take into account that you will probably need to configure iptables, firewalld and, in case of RedHat derivatives, Security-Enhanced Linux (SELinux) in order to successfully stream or capture video. How this should be done is not part of these installation instructions.

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

[unified-streaming]
name=unified-streaming
baseurl=<base-url-for-specific-distribution>
enabled=1
gpgcheck=1
gpgkey=https://stable.yum.unified-streaming.com/unifiedstreaming.pub

And replace <base-url-for-specific-distribution> with the base URL from the table below, which shows an overview of the different stable versions that are available:

Version

Base URL

Amazon Linux 2 (Intel/AMD)

https://stable.yum.unified-streaming.com/amzn2/x86_64

Amazon Linux 2 (ARM/Graviton2)

https://stable.yum.unified-streaming.com/amzn2/aarch64

Rocky 8

https://stable.yum.unified-streaming.com/rocky/8/x86_64

Rocky 9

https://stable.yum.unified-streaming.com/rocky/9/x86_64

or, to install the beta version, use one of the following URLs:

Version

Base URL

Amazon Linux 2 (Intel/AMD)

https://beta.yum.unified-streaming.com/amzn2/x86_64

Amazon Linux 2 (ARM/Graviton2)

https://beta.yum.unified-streaming.com/amzn2/aarch64

Rocky 8

https://beta.yum.unified-streaming.com/rocky/8/x86_64

Rocky 9

https://beta.yum.unified-streaming.com/rocky/9/x86_64

Note

RHEL and Rocky Linux binaries are compatible, i.e. our Rocky Linux packages can be used for RHEL.

Finally, to ensure yum package information is up-to-date, run:

#!/bin/sh

sudo yum makecache

Now, you're ready to install our software with a single command using your yum package manager, see Installation on Linux (all supported distributions).

Add repository on Ubuntu / Debian

Packages are available for the following Ubuntu and Debian releases:

Version

Arch

Release Name

Ubuntu 22

amd64

jammy

Ubuntu 22

arm64

jammy-ports

Ubuntu 20

amd64

focal

Ubuntu 20

arm64

focal-ports

Ubuntu 18

amd64

bionic

Debian 11

amd64

bullseye

To add the stable or beta Unified Streaming repository for one of these releases, use the following:

#!/bin/bash

# Choose release name and architecture (note: 'arm64' only available on 'focal-ports' and 'jammy-ports')
release="jammy"
arch="amd64"

# Set 'stable' or 'beta' repository as source
repo="stable"

# Add Unified Streaming public key to apt keyrings
sudo mkdir -m 0755 -p /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/unifiedstreaming.asc \
  https://${repo}.apt.unified-streaming.com/unifiedstreaming.pub

# Generate apt source list
echo "deb [arch=${arch} signed-by=/etc/apt/keyrings/unifiedstreaming.asc] https://${repo}.apt.unified-streaming.com ${release} multiverse" |\
  sudo tee /etc/apt/sources.list.d/unified-streaming.list

Finally, to ensure apt package information is up-to-date, run:

#!/bin/sh

sudo apt-get update

Now, you're ready to install our software with a single command using your apt package manager, see Installation on Linux (all supported distributions).

Installation on Linux (all supported distributions)

Note

The software requires a license key. The preferred way is to create a file that contains the key (e.g., usp-license.key), which then can be specified in Apache's configuration or when you run one of our command-line tools. How to specify your license key for Apache is explained in Setting up a virtual host (and specifying your license key). For more info, see License Key.

Choose whether you want to install Unified Packager ('mp4split') and our other command-line tools only, or Apache and the 'mod_smooth_streaming' (dynamic packaging with Unified Origin) or 'mod_unified_remix' (dynamic use of Unified Remix) modules as well:

In addition, if you don't necessarily want to install the latest version available in our repository but rather decide on a specific version instead, you can check all available versions of our software (only checking the available versions for 'mp4split' is enough, as all of our software follows this same versioning scheme).

Alpine:

apk search -v -d 'mp4split'

Amazon Linux 2 / RedHat (RHEL) / Rocky Linux:

sudo yum --showduplicates list mp4split | expand

Ubuntu / Debian:

sudo apt list -a mp4split

Please see the Release notes for the release notes.

Command-line tools 'mp4split', 'unified_capture' and 'unified_remix'

To use Unified Packager or any of our other command-line tools when you don't need the Unified Origin or Unified Remix web server modules, install 'mp4split' and our other command-line tools will be installed as dependencies alongside it:

Alpine:

apk --update add mp4split

Amazon Linux 2 / RedHat (RHEL) / Rocky Linux:

sudo yum install mp4split

Ubuntu / Debian:

sudo apt-get install mp4split

Uninstall 'mp4split'

To uninstall 'mp4split':

Alpine:

apk del mp4split

Amazon Linux 2 / RedHat (RHEL) / Rocky Linux:

sudo yum remove mp4split

Ubuntu / Debian:

sudo apt-get remove --auto-remove mp4split

Using Manifest Edit ('manifest_edit') for statically packaged content

When installing Unified Origin, Manifest Edit capabilities are automatically installed as a dependency. This is not the case when installing Unified Packager ('mp4split'). If you need Manifest Edit capabilities with Unified Packager, this functionality can be installed as a standalone command-line tool.

Alpine:

apk --update add manifest-edit

Amazon Linux 2 / RedHat (RHEL) / Rocky Linux:

sudo yum install manifest-edit

Ubuntu / Debian:

sudo apt-get install manifest-edit

And uninstalled.

Alpine:

apk del manifest-edit

Amazon Linux 2 / RedHat (RHEL) / Rocky Linux:

sudo yum remove manifest-edit

Ubuntu / Debian:

sudo apt-get remove --auto-remove manifest-edit

Note

Removing manifest-edit will also remove mod_smooth_streaming, so only remove it when you are using the standalone command-line tool!

Unified Origin web server module ('mp4split' and 'mod_smooth_streaming')

Install Apache and the webserver module like so (the same version of 'mp4split' will be automatically installed as well, alongside any other dependencies for 'mod_smooth_streaming' that are not yet installed). These include:

  • apache2/httpd

  • mp4split

  • mod_unified_s3_auth

  • manifest-edit (python3, pip3, PyYaml, schema)

Warning

When installing Unified Streaming via a package manager, http proxy server or offline, please ensure the relevant core dependencies/packages are accessible and installed.

Sub-dependencies for packages should be checked on a machine that is identical to the one where the packages will later be installed. This can be achieved by running:

pip wheel --no-cache-dir --wheel-dir ./wheels PyYAML==6.0.1 schema==0.7.5

Alpine:

apk --update add apache2 mod_smooth_streaming

Amazon Linux 2 / RedHat (RHEL) / Rocky Linux:

sudo yum install httpd mod_smooth_streaming

Ubuntu / Debian:

sudo apt-get install apache2 libapache2-mod-smooth-streaming

Configure Apache

After you have installed our software and Apache on your Linux distribution of choice, you still need to configure several things before you can successfully stream video. Please see the How to Configure (Unified Origin) section for the necessary information on how to do this.

Uninstall 'mod_smooth_streaming' and dependencies

To uninstall the 'mod_smooth_streaming' webserver module and its dependencies (among which is 'mp4split'):

Alpine:

apk del mod_smooth_streaming

Amazon Linux 2 / RedHat (RHEL) / Rocky Linux:

sudo yum remove mod_smooth_streaming

Ubuntu / Debian:

sudo apt-get remove --auto-remove libapache2-mod-smooth-streaming

Unified Remix web server module ('mod_unified_remix')

Unified Remix can be installed as a command-line tool or as an Apache module.

To run Unified Remix statically you need to install it as a command-line tool. To do this, simply install 'mp4split' as 'unified_remix' is automatically installed alongside it.

To run Unified Remix dynamically you need to install it as a module for Apache. This is very similar to installing Unified Origin, but instead of 'mod_smooth_streaming', you need to install 'mod_unified_remix':

Alpine:

apk --update add apache2 mod_unified_remix

Amazon Linux 2 / RedHat (RHEL) / Rocky Linux:

sudo yum install httpd mod_unified_remix

Ubuntu / Debian:

sudo apt-get install apache2 libapache2-mod-unified-remix

Configure Apache

Like when installing Unified Origin, you need to configure Apache after installing the Unified Remix module: How to Configure (Unified Remix).

Installation on Windows

Attention

PowerShell: the installation instructions for Windows use a script and rely on PowerShell - which you can start by typing 'PowerShell' in the search bar or in cmd.exe (i.e., Command Prompt). In case you rather not use a script, there are fully manual instructions available (which make use of PowerShell as well): Installation on Windows (fully manual).

C++ Redistributable: our executables and DLLs are self-contained and have no dependencies other than the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019. Please install this package if you did not do so already:

Invoke-WebRequest -UseBasicParsing `
  -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" `
  -OutFile vc_redist.x64.exe
# After downloading the package, run it to install it
.\vc_redist.x64.exe /install /quiet /norestart

Note

The software requires a license key. The preferred way is to create a file that contains the key (e.g., usp-license.key), which then can be specified in Apache's configuration or when you run one of our command-line tools. How to specify your license key for Apache is explained in Setting up a virtual host (and specifying your license key). For more info, see License Key.

Choose whether you want to install Unified Packager ('mp4split') and our other command-line tools only, or Apache and the 'mod_smooth_streaming' (dynamic packaging with Unified Origin) or 'mod_unified_remix' (dynamic use of Unified Remix) modules as well:

There is only one Windows version available, which is compatible with Windows Server 2016, 2019 or Windows 10 Pro.

In addition, if you don't necessarily want to install the latest version available in our repository but rather decide on a specific version instead, you can check all available versions of our software by downloading the checksum manifest win.sha256sum from our repository (set the repository to 'beta' if you want to know which betas are available):. Only checking the available versions for 'mp4split' is enough, as all of our software follows this same versioning scheme.

$repo = "stable"
$baseurl = "https://$repo.zip.unified-streaming.com/windows/x86_64"
(Invoke-WebRequest -UseBasicParsing `
  -Uri "$baseurl/win.sha256sum").tostring() -split "[`r`n]" |`
  Select-String -Raw mp4split

This will print an overview like:

a2c633942fc1bc814c45321b4d078dca54ad660be0007ea93d6276d3597301d9 mp4split-1.7.32-win64.zip
3cbf036c68bbea1bca563cf3f3287ee2147bd2baae2dd74b235f5dc95b996f13 mp4split-1.8.4-win64.zip
8991f314dcc3c295a8195f2e3fedc6fd31529c2baa8a155c76a6c23b8dd00fb4 mp4split-1.8.5-win64.zip
e47b6b9b9fd62e65272f12791f1593b594c01020796ec1c917f73aec7a91312b mp4split-1.8.6-win64.zip
fbc819c73962bc93b8f1fbfe60ee3b363b79dcce3a61c8fdfa5d03a781d26e33 mp4split-1.8.7-win64.zip
644e25114af577571384abf5ed262429bfe544be539405e0c180981127c19367 mp4split-1.9.5-win64.zip
f2c09f076a2564cb323267518d68a2fb0a83940b4b89dd00be8affbbd368172a mp4split-1.9.6-win64.zip
f50222d5f3e6ad44db8b406abd5ef3c26cf89eaff59a1a3cf96d874058f8b409 mp4split-1.10.12-win64.zip
1daadf1f6dcc27fe263628383e344481540629a5c34760529ec0e4c2f34dacf4 mp4split-1.10.18-win64.zip
c378bdad7cec94269fd9487b533640c1d35728aa3a17aa9f6bc6232d2fff4b68 mp4split-1.10.28-win64.zip
2df872faf7d04b6ae5b06b4fe04fc2325384bcfe521f87fad34ef77313e2435c mp4split-1.11.1-win64.zip
5dddb339b9f0dea13abdb480b072f06c4fbb2a284114b1090047ae98ac20e9cb  mp4split-1.11.3-win64.zip
3214061e9be883e3032e0a1678b7927193914b1e5138e801edc141f1715ac4c7  mp4split-1.11.9-win64.zip
25af2918cecaac21816fd5b28e8a5318cac5e6f751209d56f2e6cf102cc43b1c  mp4split-1.11.12-win64.zip

Please see the Release notes for the release notes.

Command-line tools 'mp4split', 'manifest_edit', 'unified_capture' and 'unified_remix'

Changed in version 1.10.19: Command-line tools 'unified_capture' and 'unified_remix' are now bundled with 'mp4split'. This aligns with the Linux packages and conveniently allows all offline tools to be installed in one go. (Note that some features may not be accessible, depending on your license key.)

Changed in version 1.11.13: Command-line tool 'manifest_edit' is now also bundled with 'mp4split'.

To use Unified Packager or any of our other command-line tools when you don't need the Unified Origin or Unified Remix web server modules, install 'mp4split' and our other command-line tools will be installed alongside it.

All necessary steps are combined into a PowerShell script /installation/install-usp.ps1 that does the downloading, integrity check and installation, and also adds the installation directory to the system-wide path settings. After downloading the script, execute it in PowerShell (with appropriate privileges):

$script_dir = "$HOME\Downloads"
$repo = "beta"
$baseurl = "https://$repo.zip.unified-streaming.com/windows/x86_64"
$usp_version = "1.11.14"
$cli_tools_dir = "C:\Program Files\Unified Streaming"

PowerShell -File "$script_dir\install-usp.ps1" `
  -baseurl $baseurl `
  -version $usp_version `
  mp4split `
  -targetdir $cli_tools_dir `
  -addtopath

Manifest Edit Pipeline Configuration Files

On Windows, the stock .yaml files used for configuring the manifest editing operations are installed into C:\Program Files\Unified Streaming\ManifestEditConf by default. For more details on their content, please refer to Included Use Cases.

If you have no need to modify these files, you can directly refer to them from your manifest_edit command line, for example:

$conf_dir = "C:\Program Files\Unified Streaming\ManifestEditConf"

manifest_edit `
  --python_pipeline_config="$conf_dir\adaptation_sets_order.yaml" `
  -o outfile.mpd `
  infile.mpd

Most of the time, however, you will have to customize these files to suit your needs. In that case, it is recommended that you first copy the contents of the ManifestEditConf directory to a suitable location, for example C:\ProgramData\Unified Streaming, then edit the copies and refer to those from the manifest_edit command line.

Warning

New installations will overwrite the contents of the C:\Program Files\Unified Streaming\ManifestEditConf directory! If you have edited the provided .yaml files, you will lose your modifications.

Unified Origin web server module ('mp4split' and 'mod_smooth_streaming')

To run Unified Origin, you need to install 'mp4split' (which will also install our other command-line tools), Apache and the 'mod_smooth_streaming' webserver module. If you require Amazon S3 authentication, you must install the mod_unified_s3_auth module as well.

First, install Apache:

Note

Apache Lounge blocks downloads from a shell.

Then, install 'mp4split' as well as the webserver modules using /installation/install-usp.ps1 (which does the downloading, integrity check and installation, and also adds the installation directory of the command-line tools to the system-wide path settings):

$script_dir = "$HOME\Downloads"
$repo = "beta"
$baseurl = "https://$repo.zip.unified-streaming.com/windows/x86_64"
$usp_version = "1.11.14"

$apache_dir = "C:\Apache24"
PowerShell -File "$script_dir\install-usp.ps1" `
  -baseurl $baseurl `
  -version $usp_version `
  apache_mod_smooth_streaming `
  apache_mod_unified_s3_auth `
  -targetdir $apache_dir\modules

$cli_tools_dir = "C:\Program Files\Unified Streaming"
PowerShell -File "$script_dir\install-usp.ps1" `
  -baseurl $baseurl `
  -version $usp_version `
  mp4split `
  -targetdir $cli_tools_dir `
  -addtopath

Configure Apache

After you have installed our software and Apache you still need to configure several things before you can successfully stream video. Please see the How to Configure (Unified Origin) section for the necessary information on how to do this.