Skip to content

Installation guide for Linux-based operating systems

Hardware requirements

  • CPU: At least 1 core, x86-64 (AMD64) CPU with SSSE3 instructions (Supplemental Streaming SIMD Extension 3)
  • RAM: 2GiB (4GiB is recommended)
  • GPU: Not required - Quickstream Node is headless and does not use GPU acceleration at this moment
  • X11/Wayland/GUI: Not required - Quickstream Node is a headless application
  • Disk: 50MiB (Any kind of disk) + additional space for logs (100-500MiB)
  • Network: Depends on usage

Quickstream on virtual machine

Quickstream Node works on virtual machines. Many users use Quickstream on their virtualization clusters for years without issues. Any virtualization will work including KVM (Proxmox), HyperV, ESX, XEN, byhyve (FreeBSD), and others. You can install Quickstream Node on Synology NAS in Ubuntu/Debian VM for example.

Docker support and container support

Quickstream Node does not work on docker. We do not provide Docker images. Quickstream detects if it is running in Docker and will not launch in Docker or any other container.

Hardware requirements depend on usage!

If you just want to transport video from one point to another using Quickstream Hub or SRT you do not need a powerful machine. Single core VM/server is enough for 1-2 channels.

If you plan to use Quickstream Node for more CPU-intensive jobs like transcoding or encoding you need a more powerful machine. Please contact Quickstream support for more information.

Network requirements

Quickstream requires external access to some online services to work. Here is a list of services not all are required in all usage scenarios.

System services

Address Port Protocol Traffic Description
Various ( recommend) 53 TCP & UDP DNS DNS for name resolving, required in all cases 5353 UDP mDNS Required only when NDI is used

Quickstream services

Address Port Protocol Traffic Description 443 TCP HTTPS Required in all cases 443 TCP HTTPS Only when Cloud will be used 443 TCP HTTPS Only when Cloud will be used 8083 TCP HTTPS Only when Cloud will be used

IP addresses of Quickstream services could change!

We use DNS to dynamically resolve the IP addresses of our online services. Our firewall will need dynamically update IP addresses. Some routers like Mikrotik can use DNS names as an entry. Due to this fact, we cannot provide static addresses for our services.

The best way is simply to allow all outgoing traffic to TCP ports 53, 80, 443, and 8083 and also UDP port 53 for the server on which Quickstream Node is going to be installed.

Supported operating systems

  • Debian 10
  • Debian 11
  • Ubuntu 18.04
  • Ubuntu 20.04
  • Ubuntu 22.04

Installing Quickstream repository

Superuser permissions required

All commands must be run as a superuser. It is usually called root. You can run a command as a superuser if you log on to superuser account or run them using sudo. You can skip sudo in all commands if you are logged as a superuser.

Debian by default do not contain sudo

Usually headless Debian installations do not contain sudo command and package. To use sudo you must log into root account using su command. Then run apt update, apt install sudo and finally add sudo privilege for the user.

You can find more information in Debian documentation:

Before you install Quickstream repository you need to install curl and gnupg. Which are required to install gpg key. Also you need lsb-release to check our system version.

sudo apt update && \
sudo apt install curl gnupg lsb-release

Next, install Quickstream's gpg key to custom apt keyring. Before Ubuntu 22.04 you can install it to main apt gpg keyring but since 22.04 you should create your own keyring.

curl -fsSL | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/prod_quickstream.gpg && \
sudo chmod a+r /etc/apt/trusted.gpg.d/prod_quickstream.gpg

Finally, install Quickstream's repository in sources of apt.

echo "deb [arch=amd64] $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/prod_quickstream.list

Check if a repository is working and rebuild apt cache. This command will NOT update/upgrade your machine. It will only download apt cache and check which packages should be updated.

sudo apt update

If everything worked fine apt output should look like this. Without any errors while fetching data from Quickstream's repository.

Hit:1 jammy-updates InRelease  
Get:21 jammy/main amd64 Packages [15,8 kB]
Fetched 20,1 kB in 3s (5 798 B/s)   
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
12 packages can be upgraded. Run 'apt list --upgradable' to see them.

If you got error 404 or any other error code while apt was fetching data from Quickstream's repository check if your system is supported.

Hit:1 jammy-updates InRelease  
Err:17 sid Release                                                                            
  404  Not Found [IP: 80]

How to check system version

Run command lsb_release -a. You can run it as any user. The output should look like this:

LSB Version:    core-11.1.0ubuntu4-noarch:printing-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 22.04 LTS
Release:    22.04
Codename:   jammy

For supported operating systems check this section.

Installing Quickstream Node

Superuser permissions required

All commands must be run as a superuser. It is usually called root. You can run command as superuser if you log on to superuser account or run them using sudo. You can skip sudo in all commands if you are logged as superuser.

Update yours apt cache index. Please note that this command will NOT update your system. It will only update cache index.

sudo apt update

Next, install Quickstream Node using the following command. It will also install all Quickstream Node dependencies from Quickstream and from an operating system.

sudo apt install quickstream-node

After installing check if Quickstream service is running.

systemctl status quickstream-node.service

Output should looks like this.

● quickstream-node.service - Quickstream Node server
     Loaded: loaded (/lib/systemd/system/quickstream-node.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-07-02 06:16:21 CEST; 2 days ago
    Process: 919 ExecStart=/opt/quickstream/bin/qs-node --start-daemon (code=exited, status=0/SUCCESS)
   Main PID: 959 (qs-node)
      Tasks: 9 (limit: 38247)
     Memory: 179.9M
        CPU: 1h 2min 3.746s
     CGroup: /system.slice/quickstream-node.service
             ├─ 959 /opt/quickstream/bin/qs-node --start-daemon
             └─2225 /opt/quickstream/bin/qs-engine channelId 1

Blocking packages from an accidental upgrade

If you want to protect Quickstream Node from accidental upgrade you can hold all quickstream-* packages using the following command:

sudo apt-mark hold 'quickstream-*'

To unprotect Quickstream Node use the following command:

sudo apt-mark unhold 'quickstream-*'

Next steps

If you successfully installed Quickstream Node on your Linux, please perform the initial configuration.

Removing Quickstream Node

Remove Quickstream Node from Quickstream Cloud first!

If your Quickstream Node is connected to Quickstream Cloud, you need to disconnect it from Quickstream Cloud first! Please refer to Initial configuration guide for Linux how to do it. Alternatively, use "Nodes Management" section in Quickstream Cloud to disconnect your Node.

To remove Quickstream Node without deleting its configuration type

sudo apt remove quickstream-node

To remove Quickstream Node and its configuration use.

sudo apt purge quickstream-node

Finally uninstall unneeded dependencies. Note that is will uninstall all unneeded system dependencies.

sudo apt autoremove

Debug/Verbose logs are never removed automatically!

Neither of options purge or remove remove debug or/and verbose logs. Remove them manually from /opt/quickstream folder.

Do not remove /opt/quickstream folder!

Do not remove /opt/quickstream folder! It will corrupt apt/dpkg database.

Third-party components information

This software uses some third-party components. Information about them you can find here.

This software uses code of FFmpeg licensed under the LGPLv2.1 and its source can be downloaded here.