DocumentationChangelogUsage guide
Log In

Prepare host OS

Prepare host OS in the Amazon AWS Cloud.

SSH to the host OS

You can find the instance's public IP address in the list of instances (EC2 / Instances).

Amazon Linux 2's default user is ec2-user, use the following command to ssh to your instance (to the host OS). On Linux and macOS, you'll first need to limit the key file permissions using the chmod command.

chmod 400 path/to/your-private-key.pem
ssh -i path/to/your-private-key.pem ec2-user@INSTANCE_IP

Update the OS

sudo yum update -y

docker-compose installation

We use the docker-compoe tool for making it easier to launch our Docker container. Use the following command to install the docker-compose tool.

sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Next, check that the docker-compose tool is successfully installed. The following command should return meaningful output.

docker-compose version

Disable mDNS on the host

The mDNS service mustn't be active in the host OS for NDI discovery to work. If present, this command removes it from the host OS:

sudo yum list installed avahi
sudo yum remove avahi

Increase max UDP kernel buffer size

To receive and send streams with high-bitrate codecs (e.g., JPEG2000 or JPEG-XS), Live Transcoder needs to increase the UDP kernel buffer size. However, the default maximum size is too low so it needs to be increased.

SYSCTL_CONF="/etc/sysctl.d/10-udp-buffer-size.conf"
sudo sh -c "echo '#kernel send a receive windows buffer sizes' > $SYSCTL_CONF"
sudo sh -c "echo 'net.core.rmem_max=262144000' >> $SYSCTL_CONF"
sudo sh -c "echo 'net.core.wmem_max=262144000' >> $SYSCTL_CONF"
sudo sh -c "echo 'net.core.rmem_default=262144000' >> $SYSCTL_CONF"
sudo sh -c "echo 'net.core.wmem_default=262144000' >> $SYSCTL_CONF"
sudo sh -c "echo '' >> $SYSCTL_CONF"

Now load the updated config file.

sudo sysctl -p $SYSCTL_CONF

Increase txqueuelen for network interfaces

To stream out high-bitrate codecs (e.g., JPEG2000 or JPEG-XS), alsotxqueuelen parameter should be increased for the respective network interface(s). Below, we set the parameter for all eth* interfaces and also localhost. Please, change eth prefix to match your interface name (you can list your network interfaces with ifconfig command).

sudo bash -c 'cat > /etc/udev/rules.d/80-txqueuelen.rules' << EOF
SUBSYSTEM=="net", ACTION=="add|change", KERNEL=="eth*|lo", ATTR{tx_queue_len}="10000"
EOF

To apply the changes immediately, run:

sudo udevadm control --reload-rules && sudo udevadm trigger