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 (0.0.0.0/0 recommend) | 53 | TCP & UDP | DNS | DNS for name resolving, required in all cases |
224.0.0.251 | 5353 | UDP | mDNS | Required only when NDI is used |
Quickstream services
Address | Port | Protocol | Traffic | Description |
---|---|---|---|---|
license.cloud.quickstream.tech | 443 | TCP | HTTPS | Required in all cases |
auth.cloud.quickstream.tech | 443 | TCP | HTTPS | Only when Cloud will be used |
platformv4.cloud.quickstream.tech | 443 | TCP | HTTPS | Only when Cloud will be used |
emqx.cloud.quickstream.tech | 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: https://wiki.debian.org/sudo.
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.
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 http://install.cloud.quickstream.tech/gpg.pub | 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] http://install.cloud.quickstream.tech/linux_apt $(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.
If everything worked fine apt
output should look like this. Without any errors while fetching data from Quickstream's repository.
Hit:1 http://pl.archive.ubuntu.com/ubuntu jammy-updates InRelease
[...]
Get:21 http://install.cloud.quickstream.tech/linux_apt 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 http://pl.archive.ubuntu.com/ubuntu jammy-updates InRelease
[...]
Err:17 http://install.cloud.quickstream.tech/linux_apt sid Release
404 Not Found [IP: 52.219.75.202 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.
Next, install Quickstream Node using the following command. It will also install all Quickstream Node dependencies from Quickstream and from an operating system.
After installing check if Quickstream service is running.
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:
To unprotect Quickstream Node use the following command:
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
To remove Quickstream Node and its configuration use.
Finally uninstall unneeded dependencies. Note that is will uninstall all unneeded system dependencies.
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.