Installation

Install C21 Live Encoder

One-liner installer for the C21 Live Encoder product, hardware-driver matrix, liveencoder CLI and the onboarding flow to a C21 Live Control instance.

What you install

The C21 Live Encoder product. The installer brings up the encoding engine, auto-detects the hardware drivers the host needs and configures the systemd units that keep the encoder running.

The encoder is headless — it has no UI of its own; it is always controlled remotely from a C21 Live Control instance via the Devices section.

Before you start

Verify the host meets the prerequisites described in Prepare the host. Minimum:

  • Ubuntu 24.04 LTS, kernel ≥ 6.8, x86_64
  • 4 cores / 8 GiB RAM / 50 GiB free on /
  • HTTPS egress to get.cires21.com and Docker Hub
  • Time synced, public DNS resolution
  • Ports 80, 443, 8484 free and, if you plan to pair it with Control, reachable from the IP / subnet of the Control host

Steps

1. Run the one-liner installer

curl -fsSL https://get.cires21.com/liveencoder | sudo bash

The installer:

  1. Verifies the host requirements.
  2. Auto-detects the hardware (GPU, capture cards, ASI, NICs) and offers to install the matching drivers.
  3. Installs Docker if needed and pulls the encoder image set.
  4. Configures the systemd unit and starts the service.
  5. When a kernel upgrade is required to load a driver, the installer reboots the host and resumes the installation automatically after the reboot.

If you plan to pair this encoder with a Control instance immediately and do not need the hardware detector (for example, on a cloud VM without capture cards), append --skip-drivers -y at the end:

curl -fsSL https://get.cires21.com/liveencoder | sudo bash -s -- --skip-drivers -y

2. Get the host fingerprint

To request the license, get the fingerprint with:

sudo liveencoder license info

The output includes:

C21 Live Encoder — License binding info
========================================
Host fingerprint:        ac8933aa237c9efd017598081c7a10d1
License file:            /opt/data/config/license.txt
Current license:         (not installed)
Required product slots:  C21LiveEncoder, Multi Publishing Points (optional), UDP Recovery (optional)

Send the Host fingerprint to your Cires21 representative along with the product slots your contract covers.

3. Install the license

Cires21 will send you a license.txt file:

[C21LiveEncoder]
Expiration=31-12-3000
Quantity=2
Key=<key-1>
[Multi Publishing Points]
Expiration=31-12-3000
Quantity=4
Key=<key-2>

Install it:

sudo liveencoder license install /path/to/license.txt
sudo liveencoder restart
sudo liveencoder license verify

license verify prints each slot with status: true. The service log confirms activation:

INFO [license] License for 2 channels found
INFO [license] License for 4 Publishing Points found

4. Pair with a Live Control instance

Once the encoder is installed and licensed, register it with an existing Live Control instance. From the Control UI:

  1. Open Devices → Add device.
  2. Fill in the fields:
    UI fieldValue
    AliasDisplay name for the encoder.
    Server IPLAN IP of the encoder (the API persists it as ip_address).
    EnabledLeave it active for normal operation.
    Register usernameThe encoder's built-in admin user (admin).
    Register passwordThe admin password — see the note below to read or rotate it.
  3. Save. Control handshakes with the encoder, retrieves a remote token and persists it. The Device row appears with registration_status: registered and authed: true.

The Encoder ships with a single admin user, admin. On the encoder host, liveencoder credentials show prints the username to enter here plus the host fingerprint, and liveencoder credentials reset generates a strong password and prints it once — run it before registering if you do not already know the password.

The encoder credentials are one-time, used only at registration. Once the remote token is obtained, the encoder authenticates with that token; rotating the encoder credentials again is a re-registration flow.

Supported platform

Operating systemUbuntu 24.04 LTS, x86_64
Kernel≥ 6.8
Permissionsroot or sudo
CPU (minimum / recommended)4 cores / 8+ cores
RAM (minimum / recommended)8 GiB / 16+ GiB
Disk (minimum / recommended)50 GiB / 200+ GiB (Recordings storage)
Network ports80, 443, 8484 available on the host

Docker is installed automatically if it is not already present.

Installer flags

FlagEffect
--unattended, -y, --yesNon-interactive mode.
--version <X>Install a specific version.
--check-onlyVerify requirements without installing.
--upgradeUpgrade an existing installation.
--uninstallRemove the installation.
--drivers <set>Driver subset to install (see table below).
--skip-driversSkip driver detection / installation.
--skip-gpu-checkSkip the GPU check.
--skip-docker-imagesDo not pull the Docker images in this run.
--asi-source <ppa|source>How to install the AudioScience ASI driver.
--blackmagic-version <v>Blackmagic DeckLink driver version.
--nic-driversInstall NIC drivers (Broadcom + Mellanox DOCA-OFED).
--keep-dataOn uninstall, preserve the data.
--remove-dataOn uninstall, remove the data.
--debugVerbose logs.
--help, -hPrint the flag list.

Environment variables

VariableEffect
PRODUCT_VERSIONPin a specific version.
ENCODER_DOWNLOAD_URLOverride the tarball CDN.
ASI_METHODASI driver install method.
BLACKMAGIC_VERSIONBlackmagic driver version.
UNATTENDED=1Non-interactive mode.
DEBUG=1Verbose logs.

Hardware drivers

The installer auto-detects the available hardware and offers to install the corresponding driver. Each driver is independent — install only what the deployment needs.

DriverPurpose
Blackmagic DeckLinkSDI capture for SDI Channels.
NVIDIA GPUHardware NVENC encoding — required for HDR encoding (hevc + hdr_mode != sdr).
NVIDIA Container ToolkitExposes the GPU to the encoder containers.
AudioScience ASIDVB-ASI capture.
Broadcom NIC + Mellanox DOCA-OFEDRequired on Supermicro H12SSW-NT hosts; activated with --nic-drivers.
NETINT Quadra VPUAlternative hardware encoder — also supports HDR encoding.

On hosts without multimedia hardware (for example cloud VMs), all detectors are skipped cleanly. Pass --skip-drivers to skip even the detection phase if you want a faster, quieter install.

Network ports

The encoder binds:

  • 80/tcp — Apache HTTP (API).
  • 443/tcp — Apache HTTPS (API).
  • 8484/tcpc21publisher (delivery of outputs).

Loopback only: 11234, 11235 (c21publisher control), 25 (exim4 — internal mail delivery).

When you pair the encoder with a Control, restrict inbound ports 80 / 443 / 8484 to the IP or subnet of the Control host via ufw (see Prepare the host).

Day-to-day operations

The liveencoder CLI is installed alongside the engine. Always run it with sudo.

sudo liveencoder status              # Service status + GPU + active streams
sudo liveencoder start
sudo liveencoder stop
sudo liveencoder restart
sudo liveencoder logs [-f] [-n N]    # Tail
sudo liveencoder version             # CLI version + encoder binary version
sudo liveencoder backup [name]
sudo liveencoder restore <file>
sudo liveencoder gpu                 # GPU status via nvidia-smi (NVIDIA-only)
sudo liveencoder streams             # Active FFmpeg / SRT processes
sudo liveencoder config [show|edit|path]
sudo liveencoder support             # Generate a support bundle for Cires21
sudo liveencoder update [version]    # `--check`, `--no-backup`, `--force`
sudo liveencoder uninstall           # `--force`, `--remove-data`, `--keep-data`
sudo liveencoder license info        # Host fingerprint + status
sudo liveencoder license install <file>
sudo liveencoder license verify
sudo liveencoder credentials show    # Registration username + fingerprint + password state
sudo liveencoder credentials reset   # Generate a strong admin password (printed once)

liveencoder backup produces encrypted files at /var/backups/c21/system/<name>.tar.gz with a 7-day retention.

  • Prepare the host — DNS, NTP, ufw, swap before the install.
  • Install C21 Live Control — the Control instance the encoder pairs with.
  • Updates — update flow for the encoder.
  • Licenses — the C21LiveEncoder license (per-host) and the optional add-ons.
  • Devices — Devices section reference; this is where the registered encoder lands.
  • Encodings — Color & HDR fieldset; HDR requires a GPU (NVIDIA NVENC) or a VPU (Netint Quadra) on the encoder.
Copyright © 2026