How to Install

Attention

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

Hint

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

The various Windows and Linux 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.

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 release.

How to install for different platforms:

Alpine

To install our software on Alpine, follow the steps described below:

Add repository

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

#!/bin/sh

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

Then, add the Unified Streaming repository

#!/bin/sh

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

Choose version

To show the available versions of our software (only checking the available versions for 'mp4split' is enough, as all of our software follows this same versioning scheme)

#!/bin/sh

apk search -v -d 'mp4split'

Please see the Release notes for the release notes.

Install our software on Alpine

Note

Our software requires a license key. On Linux, 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 Information.

Choose whether you need to install 'mp4split' only (Unified Packager), or Apache and the 'mod_smooth_streaming' webserver module as well (Unified Origin):

Unified Packager ('mp4split' only)

To use Unified Packager or for other use cases where you don't need the webserver module, install the latest 'mp4split' like so

#!/bin/sh

apk --update add mp4split
Uninstall 'mp4split' only

To uninstall 'mp4split'

#!/bin/sh

apk del mp4split

Unified Origin ('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 depedencies for 'mod_smooth_streaming' that are not yet installed)

#!/bin/sh

apk --update add apache2 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 'mp4split' and 'mod_smooth_streaming'

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

#!/bin/sh

apk del mod_smooth_streaming

Amazon Linux 2 / CentOS / RedHat (RHEL)

To install our software on Amazon Linux 2, CentOS or RedHat, follow the steps described below:

Attention

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

Add repository

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

[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 version that are available:

Version Base URL
Amazon Linux 2 https://stable.yum.unified-streaming.com/amzn2/x86_64
RedHat 8 https://stable.yum.unified-streaming.com/rhel8/x86_64
CentOS 7.x https://stable.yum.unified-streaming.com/centos/72/x86_64
CentOS 6.x Apache 2.4 https://stable.yum.unified-streaming.com/centos/68/x86_64
CentOS 6.x Apache 2.2 https://stable.yum.unified-streaming.com/centos/68-apache22/x86_64

Note

Even though '72' and '68' in the CentOS paths both refer to a specific 'minor' version of this distribution, the same paths can be used for other minor versions of the same major release.

Choose version

To show the available versions of our software (only checking the available versions for 'mp4split' is enough, as all of our software follows this same versioning scheme):

#!/bin/bash

yum --showduplicates list mp4split | expand

Please see the Release notes for the release notes.

Install our software on Amazon Linux 2 / CentOS / RedHat

Note

Our software requires a license key. On Linux, 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 Information.

Choose whether you need to install 'mp4split' only (Unified Packager), or Apache and the 'mod_smooth_streaming' webserver module as well (Unified Origin):

Unified Packager ('mp4split' only)

To use Unified Packager or for other use cases where you don't need the webserver module, install 'mp4split' like so:

#!/bin/bash

yum install mp4split
Uninstall 'mp4split' only

To uninstall 'mp4split':

#!/bin/bash

yum remove mp4split

Unified Origin ('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):

#!/bin/bash

yum install httpd 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 'mp4split' and 'mod_smooth_streaming'

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

yum remove mod_smooth_streaming

Debian / Ubuntu

To install our software on Debian or Ubuntu, follow the steps described below:

Add repository

First, add the Unified Streaming repository:

#!/bin/bash

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

To command-line above will add the repository for Ubuntu 18. To add a different version instead, replace bionic with name that is associated with the distribution that you are running, as listed below:

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

Then, add the Unified Streaming public key (otherwise apk will fail, complaining 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

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

#!/bin/bash

sudo apt-get update

Choose version

To show the available versions of our software (only checking the available versions for 'mp4split' is enough, as all of our software follows this same versioning scheme):

#!/bin/bash

sudo apt list -a mp4split

Please see the Release notes for the release notes.

Install our software Debian / Ubuntu

Note

Our software requires a license key. On Linux, 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 Information.

Choose whether you need to install 'mp4split' only (Unified Packager), or Apache and the 'mod_smooth_streaming' webserver module as well (Unified Origin):

Unified Packager ('mp4split' only)

To use Unified Packager or for other use cases where you don't need the webserver module, install 'mp4split' like so:

#!/bin/bash

sudo apt-get install mp4split
Uninstall 'mp4split' only

To uninstall 'mp4split':

#!/bin/bash

sudo apt-get remove mp4split

Unified Origin ('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 depedencies for 'mod_smooth_streaming' that are not yet installed):

#!/bin/bash

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 'mp4split' and 'mod_smooth_streaming'

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

#!/bin/bash

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

Windows

To install our software on Windows, follow the steps described below:

Install dependency: Microsoft Visual C++ Redistributable

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 https://aka.ms/vs/16/release/vc_redist.x64.exe -OutFile vc_redist.x64.exe
# After downloading the package, run it to install it
.\vc_redist.x64.exe

Choose version

You can check which versions of our software are available:

(Invoke-Webrequest https://stable.zip.unified-streaming.com/windows/16/x86_64/win.sha256sum).rawcontent

This will print an overview like:

HTTP/1.1 200 OK
Date: Fri, 28 Jun 2019 12:19:44 GMT
Server: Apache/2.4.29
ETag: "1c2d-58aa6a1e42d18"
Accept-Ranges: bytes

ccca407857318c531e10c44067193849f7990f648e5017ad0849ce43ef651931  apache_mod_smooth_streaming-1.7.32-win64.zip
95f10815dfd879b95b62788f97ef7cf0390a398133414427a2e6a7b3d47a4949  apache_mod_smooth_streaming-1.8.4-win64.zip
9723d6c0e1165c40b03f4cdeca34e5a9377661e4cc191b448b1ec0f3969c0df2  apache_mod_smooth_streaming-1.8.5-win64.zip
7c2717e932b336d416493c4e5afe196e671e7395235d46374c66e99ba14011ec  apache_mod_smooth_streaming-1.8.6-win64.zip
baff503ce5c1abfc67321294cc36784f591ef93f29f13b892560eea70dccfc52  apache_mod_smooth_streaming-1.8.7-win64.zip
0390ff8ad390482cc853add135e6e0dfabd2756f37c28828e8ed7b96f418cf62  apache_mod_smooth_streaming-1.9.5-win64.zip
75630746b0d3634a7baa1ff7ddc14e52e6534a497cd33746dea69940c516d93a  apache_mod_smooth_streaming-1.9.6-win64.zip
....

Please see the Release notes for the release notes.

Verify authenticity of packages

Different than on Linux, you don't use a package manager to install our software on Windows. This means that you need to verify the authenticity of the packages yourself. To be able to do this we offer a set of three files:

  • List of checksums (hashes) per zipped package, per version: win.sha256sum
  • Signature of win.sha256sum: win.sha256sum.asc
  • Our public key to verify the signature's authenticity: usp-win-2019-public.pem

You can download these files from the following locations:

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

Unfortunately, Windows does not offer any native tools to verify downloads based on a list of checksums, a signature and a public key. That is why you will need two Unix command-line tools to verify the authenticity of our Windows packages: openssl and sha256sum.

As both openssl and sha256sum are shipped with most Linux distributions, there are several options you have to check our Windows packages after you have downloaded them:

  • On a machine running Linux
  • On a machine running Windows, by running Linux using Windows Subsystem for Linux
  • On a machine running Windows, by running Cygwin (with both tools installed)
  • On 'any' machine, by using Docker to spin up Linux container

First of all, in all of the above scenarios, you need to make sure that the directory where you have downloaded the zipped package(s), also contains the file with checksums (win.sha256sum), the signature of that file (win.sha256sum.asc) and our public key (usp-win-2019-public.pem).

Then, in the first three scenarios run the following two commands in this directory:

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

Or, in the fourth scenario using Docker, run the following in this directory:

$install_openssl = "apk add --no-cache openssl"
$verify_signature = "openssl dgst -sha256 -verify usp-win-2019-public.pem -signature win.sha256sum.asc win.sha256sum"
$verify_checksum = "sha256sum -c win.sha256sum 2>&1 | grep OK"
docker run --rm -v ${pwd}:/data -w /data alpine:latest sh -c "$install_openssl && $verify_signature && $verify_checksum"

In all scenarios the result should be that a Verified OK message is printed to confirm the authenticity of the signature, followed by the name(s) of the zipped packages you have downloaded along with an OK. For example, when you are verifying mp4split-1.10.12-win64.zip the result should be:

Verified OK
mp4split-1.10.12-win64.zip: OK

Install our software on Windows

Note

Our software requires a license key. On Windows, the preferred way is to create a file that contains the key (e.g., usp-license.key), which then can be specified 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 Information.

Choose whether you want to install:

Unified Packager ('mp4split' only)

To use Unified Packager or for other use cases where you don't need to have the webserver module installed, just download and install 'mp4split':

$usp_repo = "https://stable.zip.unified-streaming.com/windows/16/x86_64"
$usp_version = "1.10.12"
$usp_path = "C:\Program Files\Unified Streaming"

Invoke-WebRequest -Uri $usp_repo/mp4split-$usp_version-win64.zip -OutFile mp4split-$usp_version-win64.zip
# Before expanding the archive, verify the authenticity of the package you have downloaded
Expand-Archive mp4split-$usp_version-win64.zip
# The next step grabs 'mp4split.exe' and the other files in the archive, and moves them to the 'path' specified in $usp_path
Get-ChildItem -Path mp4split-$usp_version-win64 -Recurse -File | Move-Item -Destination $usp_path

Unified Capture ('unified_capture' only)

To use Unified Capture on Windows, you only need to download and install the 'unified_capture' package:

$usp_repo = "https://stable.zip.unified-streaming.com/windows/16/x86_64"
$usp_version = "1.10.12"
$usp_path = "C:\Program Files\Unified Streaming"

Invoke-WebRequest -Uri $usp_repo/unified_capture-$usp_version-win64.zip -OutFile unified_capture-$usp_version-win64.zip
# Before expanding the archive, verify the authenticity of the package you have downloaded
Expand-Archive unified_capture-$usp_version-win64.zip
# If it does not exist yet, create directory that corresponds to $usp_path
New-Item -Type Directory $usp_path
# Finally, grab 'unified_capture.exe' from the expanded archive, and move it to $usp_path
Get-ChildItem -Path unified_capture-$usp_version-win64 -Recurse -File | Move-Item -Destination $usp_path

Unified Origin ('mp4split' and 'mod_smooth_streaming')

To run Unified Origin, you need to install 'mp4split', Apache and the 'mod_smooth_streaming' webserver module.

First, install Apache:

$apache_version = "2.4.39"
Invoke-WebRequest -Uri https://home.apache.org/~steffenal/VC15/binaries/httpd-$apache_version-win64-VC15.zip -OutFile httpd-$apache_version-win64-VC15.zip

# Before installing the Apache package, verify its authenticity: https://www.apache.org/info/verification.html
# The checksum, signature and key for the Apache package can be found here: https://www.apachelounge.com/download/

Expand-Archive httpd-$apache_version-win64-VC15.zip -DestinationPath C:\

Then, install 'mp4split' (if you haven't installed it already) as well as the 'mod_smooth_streaming' webserver module:

$usp_repo = "https://stable.zip.unified-streaming.com/windows/16/x86_64"
$usp_version = "1.10.12"
$usp_path = "C:\Program Files\Unified Streaming"

Invoke-WebRequest -Uri $usp_repo/mp4split-$usp_version-win64.zip -OutFile mp4split-$usp_version-win64.zip
Invoke-WebRequest -Uri $usp_repo/apache_mod_smooth_streaming-$usp_version-win64.zip -OutFile apache_mod_smooth_streaming-$usp_version-win64.zip

# Before expanding the archives, verify the authenticity of the package you have downloaded
Expand-Archive mp4split-$usp_version-win64.zip
Expand-Archive apache_mod_smooth_streaming-$usp_version-win64.zip

# For 'mp4split', then create directory that corresponds to $usp_path if it does not exist already
New-Item -Type Directory $usp_path
# And grab 'mp4split.exe' from the expanded archive, and move it to $usp_path
Get-ChildItem -Path mp4split-$usp_version-win64 -Recurse -File -Filter mp4split.exe | Move-Item -Destination $usp_path

# For 'mod_smooth_streaming', grab the module from the expanded archive and move it to the 'modules' subdirectory of where Apache is installed
Get-ChildItem -Path apache_mod_smooth_streaming-$usp_version-win64 -Recurse -File -Filter mod_smooth_streaming.so | Move-Item -Destination c:\Apache24\modules
Configure Apache

After you have installed our software and Apache on, 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.

Add 'mp4split' and 'unified_capture' to system-wide path settings

In order to run 'mp4split' and 'unified_capture' without explicitly specifying the paths to their executables, you can add the path to where they are installed to the system-wide 'path' settings. To do this, following the instructions below, but be aware that these will make changes to your registry:

$usp_path = "C:\Program Files\Unified Streaming"

# Get current system-wide 'path' settings, store them in variable and print result
(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).path | Set-Variable -Name "old_path" -PassThru | Select-Object -ExpandProperty value

# Add the path to where 'mp4split' was installed to the system-wide 'path' settings and print result
Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value "$old_path;$usp_path" -PassThru | Select-Object -ExpandProperty PATH