Installation on Windows (USP version 1.14.0 or later)
Attention
Please note that these installation instructions apply to version 1.14.0 or later of the Unified Streaming platform. For older versions, please see Installation on Windows (USP versions before 1.14.0).
Overview
The steps for installing Unified Streaming software on Windows are as follows (most of these steps require Administrative privileges):
If you have an existing installation:
If the Apache web server is running, and any of our Apache modules are in use, stop it:
net stop Apache2.4
If the x264 encoding service is running, stop it:
net stop x264_encoding_service
Rename the previously used installation directory, so it can be restored in case of emergency.
Create an empty installation directory (usually
C:\Program Files\Unified Streaming
).Choose which of the USP Packages you need. For example, you may want to install:
Unified Packager (
mp4split
) and our other command-line tools, orone or more of our Apache modules:
apache_mod_smooth_streaming
(dynamic packaging with Unified Origin),apache_mod_unified_remix
(dynamic use of Unified Remix),apache_mod_unified_transcode
(our transcoding module), and/orapache_mod_unified_s3_auth
(for Amazon S3 authentication),and/or the
manifest-edit
package (for manifest post-processing).
Install the software prerequisites of the packages you selected. Each USP package may depend on one or more third-party components, or on one or more other USP packages.
In general, all USP packages depend on Microsoft's C++ redistributable, and on the
mp4split
USP package (except formp4split
itself). In addition, our Apache modules depend on the Apache web server, and themanifest-edit
package requires a specific version of the Python interpreter.Install the USP packages you selected; see Installing a USP package for details.
Use the Windows Control Panel app to edit the system
Path
environment variable:To ensure the USP executables and DLLs are found, add the
bin
subdirectory of the USP installation directory. If the USP Packages were installed in their usual place, that would beC:\Program Files\Unified Streaming\bin
.If a Python interpreter is required, ensure the CPython version-specific Python installation directory is in the
Path
. For example, if CPython 3.12 was installed in its usual place, that would beC:\Program Files\Python312
.
Note
We edit the system
Path
(instead of any user-specific Path) to ensure the required executables and DLLs are found in all user contexts, including the user context used by the Apache Web Server.To guarantee that a change to the system
Path
is seen by all running programs, a reboot is needed.
Verify the system
Path
was set up correctly by starting a command shell and typing...mp4split
...which should display version and usage information, and, if required...
python --version
...to confirm the version of the Python interpreter found in your path.
To use our Apache modules, 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.
To use the x264 encoding service, which is required by the x264 plugin for AVC video encoding, the service control manager needs to be configured. Please see here.
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.
Available USP packages on Windows
New in version 1.15.0: the libcuti
, libx264-proto
, x264-encoding-service
and mp4split-x264-plugins
packages.
Package name |
Contents |
Prerequisites |
---|---|---|
mp4split |
command line tools (with required DLLs): mp4split (Unified Packager) unified_capture unified_remix unified_transcode |
|
apache_mod_smooth_streaming |
Unified Origin module |
mp4split package |
apache_mod_unified_remix |
dynamic remix module |
mp4split package |
apache_mod_unified_s3_auth |
s3 authentication module |
mp4split package |
apache_mod_unified_transcode |
USP transcoding module |
mp4split package |
manifest-edit |
manifest post-processor: manifest_edit.bat |
mp4split package |
ffmpeg-usp |
ffmpeg libraries |
|
mp4split-ffmpeg-plugins |
ffmpeg-based transcoding plugins |
mp4split package ffmpeg-usp package |
libcuti |
asynchronous RPC library |
|
libx264-proto |
protocol library for the x264 encoding service |
libcuti package |
x264-encoding-service |
x264 encoding service |
libx264-proto package libcuti package |
mp4split-x264-plugins |
AVC encoding plugin that uses the x264 encoding service |
mp4split package libx264-proto package libcuti package x264-encoding-service package |
Prerequisite third-party software packages
C++ redistributable
All our executables and DLLs depend on the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017, 2019 and 2022. If you did not do so already, please install the latest version of this package.
Download the package from https://aka.ms/vs/17/release/vc_redist.x64.exe
After downloading the package, run it to install it:
.\vc_redist.x64.exe /install /quiet /norestart
See https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 for further details.
Apache web server
To use our Apache modules (mod_smooth_streaming
(Unified Origin),
mod_unified_remix
, mod_unified_transcode
or
mod_unified_s3_auth
), an Apache webserver installation is
required.
Please make sure that you use at least Apache 2.4.46, with a build date of "02 Oct '20" or later, as this includes a crucial fix for the use of external filters on Windows.
Download the latest version from https://www.apachelounge.com/download/
Verify its authenticity (i.e., https://www.apache.org/info/verification.html)
Expand the downloaded package to
C:\
, installing Apache inC:\Apache24
Note
Apache Lounge blocks downloads from a shell.
Python interpreter
For packages that use Python scripts (such
as manifest-edit
), a CPython installation is required.
Changed in version 1.14.0: The manifest_edit
command is no longer
provided as an executable, but as a batch file
(manifest_edit.bat
) that relies on the CPython interpreter.
Required CPython version
Because of backward compatibility issues in most CPython releases, each version of the Unified Streaming Platform is tied to a specific release of CPython:
As of USP version...
...the required CPython release is
1.14.0
3.11
1.15.0
3.12
Download the 64-bit CPython installer from https://www.python.org/downloads/windows/. You may find multiple stable sub-releases for the required CPython release (3.12.1, 3.12.2, etc.). Pick the highest stable sub-release.
To ensure the Python interpreter is found from any user context, choose a customized, all-users installation with environment variables. See https://docs.python.org/3.12/using/windows.html#the-full-installer for details.
Installing a USP package
All USP packages for Windows are provided as ZIP files, downloadable from https://stable.zip.unified-streaming.com/windows/x86_64/ (stable releases) or https://beta.zip.unified-streaming.com/windows/x86_64/ (beta releases).
Our packages are targeted at 64-bit, X86 Windows Server 2016 through 2025, or Windows 10/11 Pro.
Changed in version 1.14.0: For a given USP version, the name of the ZIP file to download is
<package name>_<USP version>-<revision>.zip
.
You should pick the highest available <revision>
number, which is normally 1
. For example, for USP version
1.14.0, the name of the ZIP file for the mp4split
package is
mp4split_1.14.0-1.zip
.
Attention
Packages for different USP versions are binary incompatible and cannot be mixed in the same installation directory.
To install a given package:
Check its prerequisites. Install both its third-party prerequisites and any prerequisite USP packages for the same USP version first.
Download the ZIP file and unzip it to your installation directory. (usually
C:\Program Files\Unified Streaming
).Inspect the contents of the installation directory to see if the package's files ended up in their expected locations. See Installation directory layout.
Installation directory layout
Changed in version 1.14.0: there are significant changes in the installation directory layout:
The USP Apache modules are now located in the
apache2
subdirectory of the installation directory.Executable files and DLLs are now located the
bin
subdirectory of the installation directory.manifest_edit
is no longer provided as an executable file, but as a batch file (manifest_edit.bat
) located in thebin
subdirectory of the installation directory.manifest-edit's configuration files are now located in the
etc\manifest-edit\conf
subdirectory of the installation directory. See Manifest Edit Pipeline Configuration Files.
Subdirectory |
Contents |
---|---|
apache2 |
USP Apache modules |
bin |
user-visible executable files wrapper scripts (e.g. required DLLs |
doc |
per-package documentation files ( |
etc |
user-editable configuration files (manifest_edit is configured in |
libexec |
internal programs and support files (not intended to be executed directly by users) |
share |
architecture-independent data (not to be edited) |
usp-meta |
per-package USP meta information |
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\etc\manifest-edit\conf
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:
set conf_dir=C:\Program Files\Unified Streaming\etc\manifest-edit\conf
manifest_edit.bat --python_pipeline_config="%conf_dir%\mpd\default.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 etc\manifest-edit\conf
directory to a backup
location.
Warning
New installations will overwrite the contents of the
C:\Program Files\Unified Streaming\etc\manifest-edit
directory! If you have edited the provided .yaml files, you will
lose your modifications.