Getting Started

Prerequisites

A valid license with VOD2Live permission is required. If you don't have one and want to evaluate Virtual Channel you can create an account at https://www.unified-streaming.com/get-started to get a trial license.

Its content must be available in the UspLicenseKey environmental variable. In the shell you will use to launch virtual channel, you should run

export UspLicenseKey = <content of your license file>

Alternatively, you can also set the variable default value in the .env file which is included in Virtual Channel's root folder.

How to run

First, use git to clone Virtual Channel Repository.

Virtual Channel is based on docker compose. As such, in order to run it you must make sure that the docker compose command is available in your system. Please notice that this is different from the legacy docker-compose (with a dash) command you may be used to, which has been recently deprecated by the docker project. In case it is not available on your system, refer to the Docker Compose installation documentation for instructions on how to install.

Note

➡️ Arm support. Virtual channel is based on multi-architecture x86_64/arm64 Alpine docker images. This means that, i.e. on an M1-based Mac, images for your native architecture will be used, with no emulation layers.

Note

By default, Virtual Channel makes use of port 80 for the Origin service and port 8000 for the API service. Before attempting to run it, make sure there are not other services bound to these ports. Alternatively, you can override the ORIGIN_PORT and API_PORT environmental variables.

You can start the Virtual Channel service by running:

docker compose up -d

If your service is up and running correctly, performing a curl http://localhost:8000 should return an I'm alive message.

Documentation and Usage

If your service is up and running correctly, you will find an extensive online documentation at http://localhost:8000/docs. It will provide you with an exhaustive list of the available endpoints and it will serve you as reference to create your API calls and define your workflow.