Installation Instructions

Prerequisites

VideoRecStation runs on Ubuntu 24.04 LTS (Jammy Jellyfish) on amd64 architecture. It might work on other versions of Ubuntu or other Linux distributions, but this has not been tested.

Install 3-rd party components

Before you can use VideoRecStation, you need to install VimbaX and ALSA Scarlett Control Panel (alsa-scarlett-gui). The latter is, strictly speaking, optional, but it provides a convenient GUI for controlling the audio settings of your Scarlett interface.

Install VimbaX

VimbaX is a software package for controlling USB cameras made by Allied Vision Technologies. You can download it from the Allied Vision website. Assume you have downloaded it to ~/Downloads/VimbaX_Setup-2025-2-Linux64.tar.gz, and want to install it to /opt/VimbaX_2025-2. You can do this by running the following commands:

sudo mkdir /opt/VimbaX_2025-2
sudo tar -xvzf ~/Downloads/VimbaX_Setup-2025-2-Linux64.tar.gz -C /opt/VimbaX_2025-2 --strip-components=1

Now you need to install VimbaX transport layers. Run the following commands:

cd /opt/VimbaX_2025-2/cti
sudo ./Install_GenTL_Path.sh

and reboot your system. You can now test the VimbaX by connecting an Alvium USB camera to your computer and running:

/opt/VimbaX_2025-2/bin/VimbaXViewer

The Vimba X Viewer window should appear and you should see the camera in the list of detected cameras.

Finally, add the VimbaX library path to your system’s library path. You can do this by creating a new file in the /etc/ld.so.conf.d/ directory:

echo "/opt/VimbaX_2025-2/api/lib" | sudo tee /etc/ld.so.conf.d/vimbax.conf

Then, update the linker cache:

sudo ldconfig

Install ALSA Scarlett Control Panel

The ALSA Scarlett Control Panel (alsa-scarlett-gui) is a graphical user interface for controlling the audio settings of your Scarlett audio interface box. You can install it by following the instructions from the project’s GitHub page. In a nutshell:

Install the packages needed to build the software:

sudo apt -y install git make gcc libgtk-4-dev libasound2-dev libssl-dev

Clone the repository:

git clone https://github.com/geoffreybennett/alsa-scarlett-gui.git

Build and install the software:

cd alsa-scarlett-gui/src
make -j$(nproc)
sudo make install

You now should be able to run ALSA Scarlett Control Panel from the Ubuntu applications menu.

Note

The installation instructions for VimbaX and ALSA Scarlett Control Panel were tested in Aug 2025. As these are provided by third parties, there are no guarantees that the instructions will work in the future (or that these components will be available at all for that matter). If you have problems with installing VimbaX and/or ALSA Scarlett Control Panel, try checking their respective web pages.

Increase the USBFS buffer size

To avoid potential problems when using VideoRecStation you need to configure something called the Full Speed USB (USBFS) buffer size. By default, the USBFS buffer size is set to 16MB, which might not be enough, especially when using multiple cameras. You can check the current buffer size by running:

cat /sys/module/usbcore/parameters/usbfs_memory_mb

To increase the buffer size permanently to 1000MB (which is probably sufficient for most use cases), add the kernel parameter usbcore.usbfs_memory_mb=1000 to the bootloader configuration. To do this you have to edit the GRUB configuration file /etc/default/grub. Find the line that looks like this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

and add usbcore.usbfs_memory_mb=1000 to it, so that it looks like this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=1000"

After that, update the GRUB configuration by running:

sudo update-grub

And reboot your system. After rebooting, running

cat /sys/module/usbcore/parameters/usbfs_memory_mb

should show 1000.

Note

You can temporarily (until next reboot) change the USBFS buffer size by running:

sudo sh -c 'echo 1000 > /sys/module/usbcore/parameters/usbfs_memory_mb'

Install the VideoRecStation software

Build and install VideoRecStation binary

Install the packages needed to build VideoRecStation:

sudo apt -y install qt6-base-dev designer-qt6 libjpeg-turbo8 libjpeg8-dev libasound2-dev g++

Clone the repository:

git clone https://github.com/Helsinki-VideoMEG-Project/VideoRecStation.git

Modify the INCLUDEPATH and LIBS sections of the file src/VideoRecStation.pro to reflect the location where you have installed VimbaX (e.g., /opt/VimbaX_2025-2/api/include and /opt/VimbaX_2025-2/api/lib if you installed VimbaX in /opt/VimbaX_2025-2).

Build and install the software:

cd VideoRecStation
qmake6 src/VideoRecStation.pro
make -f Makefile.Release
sudo cp VideoRecStation /usr/local/bin/

You now should be able to run VideoRecStation from the command line by typing:

VideoRecStation

Configure VideoRecStation

When you run VideoRecStation for the first time, it will create a configuration file ~/.config/Helsinki VideoMEG Project/VideoRecStation.conf with default settings. You should edit this file to set the parameters according to your setup. In particular, you should modify the sound card configuration and the storage path.

Configure audio settings

We assume you want to use a Focusrite Scarlett 18i20 audio interface with the VideoRecStation. For that we need to find the ALSA device name through which Linux can access the Scarlett box. First, connect the Scarlett interface to your computer and turn it on. Next run:

arecord -L | grep -A1 "^hw:"

This should provide an output that looks something like this:

hw:CARD=sofhdadsp,DEV=0
    sof-hda-dsp,
--
hw:CARD=sofhdadsp,DEV=6
    sof-hda-dsp,
--
hw:CARD=sofhdadsp,DEV=7
    sof-hda-dsp,
--
hw:CARD=USB,DEV=0
    Scarlett 18i20 USB, USB Audio

Note the line Scarlett 18i20 USB, USB Audio. The line above it reads hw:CARD=USB,DEV=0. In this case the ALSA device name that we are looking for is hw:USB,0 (note that it might be something different on your system).

Assuming that the device name is hw:USB,0, modify the [audio] section of the file ~/.config/Helsinki VideoMEG Project/VideoRecStation.conf as follows:

[audio]
frames_per_period=940
input_audio_device="hw:USB,0"
num_periods=10
output_audio_device="hw:USB,0"
sampling_rate=44100
speaker_buffer_size=4
use_speaker_feedback=true

Configure data storage path

Create a folder where you want to store the recorded video and audio data and make sure that the user running VideoRecStation has write permissions to it. Then modify the data_storage_path parameter in the [misc] section of the file ~/.config/Helsinki VideoMEG Project/VideoRecStation.conf to poit to your folder. For example, if you want to store the data in /data/videomeg, make sure that the configuration file contains the following:

[misc]
data_storage_path=/data/videomeg

Note

Make sure that VideoRecStation is not running when you are editing the configuration file.