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, or

    • one 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/or apache_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 for mp4split itself). In addition, our Apache modules depend on the Apache web server, and the manifest-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 be C:\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 be C:\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

C++ redistributable

apache_mod_smooth_streaming

Unified Origin module

C++ redistributable

Apache web server

mp4split package

apache_mod_unified_remix

dynamic remix module

C++ redistributable

Apache web server

mp4split package

apache_mod_unified_s3_auth

s3 authentication

module

C++ redistributable

Apache web server

mp4split package

apache_mod_unified_transcode

USP transcoding module

C++ redistributable

Apache web server

mp4split package

manifest-edit

manifest post-processor:

manifest_edit.bat

C++ redistributable

Python interpreter

mp4split package

ffmpeg-usp

ffmpeg libraries

C++ redistributable

mp4split-ffmpeg-plugins

ffmpeg-based transcoding

plugins

C++ redistributable

mp4split package

ffmpeg-usp package

libcuti

asynchronous RPC library

C++ redistributable

libx264-proto

protocol library for the

x264 encoding service

C++ redistributable

libcuti package

x264-encoding-service

x264 encoding service

C++ redistributable

libx264-proto package

libcuti package

mp4split-x264-plugins

AVC encoding plugin

that uses the

x264 encoding service

C++ redistributable

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.

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.

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

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 the bin 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. manifest_edit.bat)

required DLLs

doc

per-package documentation files

(README, LICENSE, etc.)

etc

user-editable configuration files

(manifest_edit is configured in etc\manifest-edit\conf)

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.