How to Install

Note

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

Attention

The beta repositories are only to be consulted as part of a request or support process. Without this no support is to be expected.

Alpine

To install 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, to add the stable Unified Streaming repository:

#!/bin/sh

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

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

or, to add the beta the Unified Streaming repository:

#!/bin/sh

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

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

Note

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

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.

Installation on Alpine

Note

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

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

Attention

On Linux, installing 'mp4split' also installs the 'unified_capture' and 'unified_remix' command-line tools.

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'

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 dependencies for 'mod_smooth_streaming' that are not yet installed):

#!/bin/sh

apk --update add apache2 mod_smooth_streaming

If you are going to use subrequests (see Requirements) and require Amazon S3 authentication, you must also install the mod_unified_s3_auth module:

apk --update add mod_unified_s3_auth
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

Unified Remix ('unified_remix' or 'mod_unified_remix')

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

To run 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 (on Linux).

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':

#!/bin/sh

apk --update add apache2 mod_unified_remix

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

Manifest Edit ('manifest-edit')

Manifest Edit can be used as a standalone command-line tool or integrated as an ext-filter into Unified Origin. In both cases, you need to install the manifest-edit package and additional pip3 dependencies:

#!/bin/sh

apk --update add manifest-edit
pip3 install pyyaml==5.3.1 schema==0.7.2

For Unified Origin integration, make sure to configure Apache accordingly, as documented in How to Configure (Unified Origin).

Uninstall 'manifest-edit'

To uninstall the manifest-edit package and its dependencies:

#!/bin/sh

apk del manifest-edit
pip3 uninstall pyyaml schema

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

To install on Amazon Linux 2, CentOS, RedHat or Rocky Linux, 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 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
CentOS 8.x https://stable.yum.unified-streaming.com/centos/8/x86_64
CentOS 7.x https://stable.yum.unified-streaming.com/centos/7/x86_64
Rocky 8 https://stable.yum.unified-streaming.com/rocky/8/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
CentOS 8.x https://beta.yum.unified-streaming.com/centos/8/x86_64
CentOS 7.x https://beta.yum.unified-streaming.com/centos/7/x86_64
Rocky 8 https://beta.yum.unified-streaming.com/rocky/8/x86_64

Note

RHEL and CentOS binaries are compatible i.e. RHEL8 can be used for CentOS 8. However, note that our CentOS 8 support will be discontinued a the end of 2021 in favour of Rocky Linux. Please let us know your plans regarding CentOS replacement at 'support[at]unified-streaming.com' - thanks in advance!

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.

Installation on Amazon Linux 2 / CentOS / RedHat

Note

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

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

Attention

On Linux, installing 'mp4split' also installs the 'unified_capture' and 'unified_remix' command-line tools.

Unified Packager ('mp4split')

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'

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

If you are going to use subrequests (see Requirements) and require Amazon S3 authentication, you must also install the mod_unified_s3_auth module:

#!/bin/bash

yum install httpd mod_unified_s3_auth
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

yum remove mod_smooth_streaming

Unified Remix ('unified_remix' or 'mod_unified_remix')

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

To run 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 (on Linux).

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':

#!/bin/bash

yum install httpd mod_unified_remix

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

Manifest Edit ('manifest-edit')

Manifest Edit can be used as a standalone command-line tool or integrated as an ext-filter into Unified Origin. In both cases, you need to install the manifest-edit package and additional pip3 dependencies:

#!/bin/sh

yum install manifest-edit
pip3 install pyyaml==5.3.1 schema==0.7.2

For Unified Origin integration, make sure to configure Apache accordingly, as documented in How to Configure (Unified Origin).

Uninstall 'manifest-edit'

To uninstall the manifest-edit package and its dependencies:

#!/bin/sh

yum remove manifest-edit
pip3 uninstall pyyaml schema

Debian / Ubuntu

To install Debian or Ubuntu, follow the steps described below.

Add repository

To add the Unified Streaming stable repository, use the following:

#!/bin/bash

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

Or, to add the Unified Streaming beta repository, use the following:

#!/bin/bash

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

The command-line above will add the repository for Ubuntu 20. To add a different version, replace focal with the name associated with the distribution you are running, as listed below:

Version Arch Release Name
Ubuntu 20 amd64 focal
Ubuntu 20 arm64 focal-ports
Ubuntu 18 amd64 bionic
Debian 11 amd64 bullseye

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.

Installation on Debian / Ubuntu

Note

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

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

Attention

On Linux, installing 'mp4split' also installs the 'unified_capture' and 'unified_remix' command-line tools.

Unified Packager ('mp4split')

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'

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 dependencies for 'mod_smooth_streaming' that are not yet installed):

#!/bin/bash

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

If you are going to use subrequests (see Requirements) and require Amazon S3 authentication, you must also install the mod_unified_s3_auth module:

sudo apt-get install libapache2-mod-unified-s3-auth
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

Unified Remix ('unified_remix' or 'mod_unified_remix')

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

To run 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 (on Linux).

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':

#!/bin/bash

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

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

Manifest Edit ('manifest-edit')

Manifest Edit can be used as a standalone command-line tool or integrated as an ext-filter into Unified Origin. In both cases, you need to install the manifest-edit package and additional pip3 dependencies:

#!/bin/bash

sudo apt-get install manifest-edit
sudo pip3 install pyyaml==5.3.1 schema==0.7.2

For Unified Origin integration, make sure to configure Apache accordingly, as documented in How to Configure (Unified Origin).

Uninstall 'manifest-edit'

To uninstall the manifest-edit package and its dependencies:

#!/bin/bash

sudo apt-get remove manifest-edit
sudo pip3 uninstall pyyaml schema

Windows

Attention

The installation instructions for Windows rely on PowerShell - which you can start by typing 'PowerShell' in the search bar or in cmd.exe (i.e., Command Prompt).

To install 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 -UseBasicParsing -Uri "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

Available Windows versions

The following Windows versions are available:

Version Name
win64 windows/x86_64

The following instructions assume WindowsServer 2016, 2019 or Windows 10 Pro.

Choose Unified version

You can check which versions of our software are available by downloading the checksum manifest win.sha256sum at the appropriate base URL:

$baseurl = "https://stable.zip.unified-streaming.com/windows/x86_64"
(Invoke-WebRequest -UseBasicParsing -Uri "$baseurl/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.

Download and verify integrity of packages

You don't use a package manager to install our software on Windows, meaning you will need to verify the integrity of the packages you download. You can do this verify that the hash of a package corresponds with a checksum we provide for each package. You can do this like so (where the value for $usp_tool should be the 'name' in the zip that you downloaded):

$usp_tool = "mp4split"
$usp_version = "1.11.9"
$package = "$usp_tool-$usp_version-win64.zip"
$baseurl = "https://stable.zip.unified-streaming.com/windows/x86_64"

Invoke-WebRequest -UseBasicParsing -Uri "$baseurl/$package" -OutFile $package
$checksum = (Invoke-WebRequest -UseBasicParsing -Uri "$baseurl/win.sha256sum").rawcontent -split "[`r`n]" | Select-String "$package"
$package_checksum = ($checksum.ToString().ToUpper() -split " ")[0]
(Get-FileHash $package).Hash -eq $package_checksum

This process verifies the integrity of the package against the checksum only. It doesn't verify that the checksum is authentic. If you want to check this as well, please see: Addendum: How to verify the signature and prove the authenticity of our Windows packages.

Installation on Windows

Note

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

Choose whether you want to install:

Unified Packager, Capture and Remix ('mp4split')

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

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

$usp_tool = "mp4split"
$usp_version = "1.11.9"
$package = "$usp_tool-$usp_version-win64.zip"
$targetdir = "C:\Program Files\Unified Streaming"

# Create a 'Unified Streaming' directory if it does not already exist
if ( -Not (Test-Path -PathType Container -Path $targetdir)) {
  New-Item -ItemType Directory $targetdir
}

# Expand archive package into the 'Unified Streaming' directory
Write-Host "Extracting $package into $targetdir"
Expand-Archive $package -DestinationPath $targetdir -Force

The above steps are combined into PowerShell script install-usp.ps1 that does the downloading, integrity check and installation. We recommend using this script also to install webserver modules. After download execute the script in PowerShell (with appropriate privileges):

PowerShell -File "C:\Full\Path\Where\You\Downloaded\install-usp.ps1" -version 1.11.9 mp4split -targetdir "C:\Program Files\Unified Streaming" -addtopath

Unified Origin ('mp4split' and 'mod_smooth_streaming')

To run Unified Origin, you need to install 'mp4split', Apache and the 'mod_smooth_streaming' webserver module. If you are going to use sub requests (see Requirements) and require Amazon S3 authentication, you must also install the mod_unified_s3_auth module:

First, install Apache:

Note

Apache Lounge blocks downloads from a shell.

Then, install 'mp4split' as well as the webserver modules using install-usp.ps1:

PowerShell -File "C:\Full\Path\Where\You\Downloaded\install-usp.ps1" -version 1.11.9 mp4split apache_mod_smooth_streaming apache_mod_unified_s3_auth -targetdir C:\Apache24\modules

The above steps also install the optional manifest-edit python script, libraries and configuration files. However, if you wish to use manifest-edit either as a standalone command-line tool or integrated into Unified Origin, additional installation steps are required: please refer to Manifest Edit ('manifest-edit').

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.

Manifest Edit ('manifest-edit')

The manifest_edit python script, and the manifest_edit.bat batch file to invoke it, are contained within the Windows .zip file for Unified Packager, e.g. mp4split-x.y.z-win64.zip. Refer to the Unified Origin ('mp4split' and 'mod_smooth_streaming') section in the installation documentation on how to download, verify and install this zip file.

The zip file is normally unpacked to C:\Program Files\Unified Streaming, and this directory is added to the PATH system environment variable, so you can run it from any location.

After the installation, verify that the manifest_edit.bat batch file can be invoked, by starting a new Command Prompt, and running:

manifest_edit

This should output a version header, and a message about a missing input filename:

manifest_edit version=1.11.6 (24745)    Copyright 2007-2021 CodeShop B.V.

ERROR: no input filename provided!
Usage: manifest_edit [options] [--python_pipeline_config=<filename>] <input>

 --python_pipeline_path=<dirname>     manifest edit pipeline config path.
 --python_pipeline_config=<filename>  manifest edit pipeline config file.
 <input>                              .mpd manifest input file or URL
 [-o outfile]                         output file.
 [-v level]                           0=quiet 1=error 2=warning 3=info 4=debug
 [--python_path path]                 manifest edit python modules search path.
                                      If not provided, defaults to the current
                                      system PYTHONPATH plus the current dir.

Please note that the input file specification may need quoting when extra
parameters are appended in URL style.

This program is part of USP (Unified Streaming Platform). For more information
and its license, please visit http://www.unified-streaming.com

In order to use manifest-edit on Windows, additional pre-requisites apply. In particular, the Python interpreter, the pip package manager and additional Python dependencies must be installed.

Python and Pip Installation

On Windows, download Python 3.8 or later, specifically the "Windows x86-64 executable installer", from https://www.python.org/downloads/.

Run the downloaded python-3.8.x-amd64.exe file, and select the following custom installation options:

  • Uncheck "Install launcher for all users (recommended)"
  • Check "Add Python 3.8 to PATH"

Click "Customize installation" to go to the next screen and uncheck everything, except "pip", which we will need to install Python packages later.

Click "Next" to go to the next screen, and select the following custom installation options:

  • Check "Install for all users"
  • Uncheck "Associate files with Python (requires the py launcher)"
  • Check "Create shortcuts for installed applications"
  • Check "Add Python to environment variables"
  • Check "Precompile standard library"
  • Uncheck "Download debugging symbols"
  • Uncheck "Download debug binaries (requires VS 2015 or later)"
  • Edit the "Customize install location" box and fill in C:\Python38

Click "Install" to start the installation. This will ask for administrative access, e.g. "Do you want to allow this app to make changes to your device". Click "Yes" to allow, and the installation will continue.

On the final screen, you can optionally click "Disable path length limit", but it is not required. Now click "Close" to terminate the installer.

Verify that Python works, by starting a Command Prompt, and running:

python --version

This should output a version message, stating "Python 3.y.z".

Also verify that pip works, by running (again in the Command Prompt):

pip list

This should show a list of installed Python packages, which after a fresh installation will only contain "pip" and "setuptools".

Python dependencies installation

Next, we need to install two Python packages provided by Unified Streaming with pip: libfmp4 and manifest-edit. These packages are also contained within the Windows .zip file for Unified Packager, and are provided as Python wheel files, e.g. with a .whl extension.

To install these wheel files, start a Command Prompt, and run:

for %i in ("C:\Program Files\Unified Streaming\*.whl") do pip install "%i"

Note

The above command will not work in PowerShell, but only in the Command Prompt (a.k.a cmd.exe). If you must use PowerShell, try the alternative:

Get-ChildItem -Path 'C:\Program Files\Unified Streaming' -Filter *.whl |
  ForEach-Object { pip install "$($_.FullName)" }

Verify that the packages were successfully installed, by running (again in the Command Prompt):

pip list

This should show both libfmp4 and manifest-edit in the list of packages.

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

manifest_edit \
  --python_pipeline_config="C:\Program Files\Unified Streaming\ManifestEditConf\adaptation_sets_order.yaml" \
  -o outfile.mpd
  infile.mpd

Most of the time, however, you will have to customize those file to suit your need. In this case, it is recommended that you first copy the contents of the ManifestEditConf directory to any desired location, then edit the copies and refer to those from the manifest_edit command line.

Warning

New installations will overwrite the contents of the ManifestEditConf directory! If you have edited the provided .yaml files, you will lose your modifications.

Configure Apache

If you just want to use manifest-edit as a command-line utility, you can skip this part.

If instead you want to use manifest-edit as an ext_filter from Unified Origin, see the Enabling Manifest Edit section for the necessary information on how to do this.

Add 'mp4split' and other command-line tools to system-wide path settings

In order to run 'mp4split' and the other Unified Streaming command-line tools 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, follow 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

Addendum: How to verify the signature and prove the authenticity of our Windows packages

Verifying the integrity of our packages is relatively straightforward on Windows: Download and verify integrity of packages. However, if you also want to verify the authenticity of the checksums that can be used to check the integrity of our packages, things become more complicated because Windows does not offer the right tools for this.

You will need two Unix command-line tools to fully verify the authenticity of our Windows packages: openssl and sha256sum. And you will also need the following files from our repository:

  • 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 -UseBasicParsing -Uri https://stable.zip.unified-streaming.com/windows/x86_64/win.sha256sum -OutFile win.sha256sum
Invoke-WebRequest -UseBasicParsing -Uri https://stable.zip.unified-streaming.com/windows/x86_64/win.sha256sum.asc -OutFile win.sha256sum.asc
Invoke-WebRequest -UseBasicParsing -Uri https://stable.zip.unified-streaming.com/usp-win-2019-public.pem -OutFile usp-win-2019-public.pem

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

In all of the above scenarios you need to make sure the directory you 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).

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

#!/bin/bash

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

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"

All scenarios should result in a Verified OK message being 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.18-win64.zip the result should be:

Verified OK
mp4split-1.10.18-win64.zip: OK