Video surveillance minimum system requirements calculator


Here is the calculator that will help you calculate the approximate requirements.
List of supported cams fully compatible with Xeoma.

Do you want to use remote access?
Number of clients:

Result

Incoming network connection speed: Mbps
Outcoming network connection speed: Mbps
You need approximately GB free HDD space
Memory(RAM): GB RAM
Processor:
The estimations you get in the calculator are approximate and may differ from real results in some cases. The estimates do not guarantee that a server with recommended specifications will be sufficient for the tasks assigned.
The load depends on the filters used, their settings, the number of simultaneously connected viewers and their actions. Some actions, such as search in the archive or a quick scan of the archive, can give a very heavy load to the computer.
Please make sure that in your particular case the server is sufficient for the requirements you need, or consult with us.

How to work with this calculator:

Xeoma encourages you to use dual streaming when possible which means that you should use a stream with low resolution (for example, mjpeg) to view video recordings in real-time mode, and use a high resolution stream (for example, H.264) to save recordings to the archive. It will help you save a lot of resources. You can read more about dual streaming here.

The calculator’s first line is where you should input parameters of the cameras that will be used for viewing in real-time mode.
Specify the number of cameras that will be used for viewing in the Quantity field.
Select the stream parameters you will use for viewing (mpeg / H.264/H.264 +/H.265 +/mjpeg).
In the Resolution field, select the value in which the viewing will be made (0.03 MP-33 MP).
The Bitrate is selected in accordance with the resolution of the stream (128 Kbps – 20 Mbps).

In the second line, check the Archive box if you want to save the recordings from the cameras to the archive and fill in all the fields in the same way.
In the Intensive field, the choice depends on the amount of time during which the recording will be made: continuous recording (100%, 24 hours a day), intensive movement or scheduled recording (at certain hours and days of the week or only when movement is detected, which takes about 30% daily time), or rare movement (if the camera is installed in a place where people appear rarely – the recording takes 5% of the daily time).
In the Hours and Days field, specify the number of days or hours during which the archive should be stored.

Intellectual modules add from 10 to 30% of the load on the server, so you should tick the modules that will be used at your site.
If clients require remote access, tick this field and specify the maximum number of simultaneously connected clients.
The load depends on the features used and on how often (and how many) users view the cameras. You can reduce the load on the server, if decoding is done only on Clients’ side – tick this field. Please note: the load on the outcoming network connection, as well as on the RAM, increases in this case.

IMPORTANT: if you use intellectual modules only on several cameras, and also if the cameras use different stream parameters for viewing and recording to the archive, fill in these fields separately for each group of cameras by clicking the Add Camera button. Thus, system requirements are calculated more accurately and automatically summarized in the Result section.

Let’s consider the following example: you have 20 cameras on your site, 3 of which use the Face Recognition module, 5 cameras use the Object Detector module. All 8 cameras use mjpeg stream of 0.36 MP for viewing, H.264 stream of 3.7 MP and 5 Mbps bitrate for the archive, recording – intensive movement around the clock. One more camera does not use intellectual modules, but it records continuously using mjpeg stream of 2 MP for viewing, 15 frames per second, and for the archive it uses H.264 stream of 6 MP and a 7 Mbps bitrate. The remaining 11 cameras record according to Rare movement, using mjpeg stream of 0.36 MP for viewing, and for an archive — H.264 stream of 0.36 MP and a 512 Kbps bitrate. Recordings from all cameras are stored during 30 days, the number of simultaneously connected clients is 20. Enter these parameters:

system_requirements_calculator_en

And we get the following calculation of server system requirements:

Calculator_result_en

Hardware acceleration is available in Xeoma. It can be used if the server is under heavy load.

Check the selection of video cards recommended by our experts.
You can also read the instructions for setting up hardware decoding here.


You can calculate the required disk space and incoming network speed on your own:

For the MJPEG archive:

You can find out file size of 1 JPEG image for example by connecting a camera stream of needed image resolution to Xeoma and then use the ‘Save to File’ module. See what the average file size is.

For your reference usually
HD is 100-120 Kbytes
FullHD – 200-300 Kbytes
640х480 – 30 Kbytes
and so on.

Or find the file size in the Internet.

In order to calculate the required disk space you need to multiply the file size by the desired fps rate, then by 60 (seconds into minutes), by another 60 (minutes into hours), then by number of hours in day that you need recording to be on for, by days, and possibly months. Multiply that by number of cameras in use.

For the .h264 archive:

You’ll need to use the bitrate as well. I.e. if the bitrate is 4 Mbit/s, then the size of a 1-minute file will be:
(4 Mbit/s * 60 seconds) / 8 (converting to megabytes) = 30 Mb will be taken up by 1 minute.
Then multiply by minutes, hours, days, etc. (archive storage time) – in the end you will get the size of the archive for a certain number of days.

In order to count the network speed, file size should be multiplied by the FPS rate and then by 8 (bytes into bits because network speed is usually in Mbit/s or Gbit/s)

If 1 frame’s file size of 100 Kbytes and fps=10, you will have 10 such frames per second which equals 1000 Kbyte/s or 8000 Kbit/s. Multiply that by amount of cameras you’d like to use.


Our tests:

Raspberry Pi3 – up to 11 FullHD cameras (with a client connected)

1) Only server on RPI. Clients on other devices.

– Preview: h264, 1920×1080 resolution, 4 mbit/s bitrate
Archive: the same stream (h264, 1920×1080 resolution, 4 mbit/s bitrate)

Result: up to 4 such cameras

– Preview: mjpeg, 1920×1080 resolution, 8 mbit/s bitrate
Archive: the same stream (mjpeg, 1920×1080 resolution, 8 mbit/s bitrate)

Result: up to 10 such cameras. More cameras exceed the RPI’s network capacity (100mbit/s). To connect more cameras, please use a micro PC with 1 Gbit/s network capacity.

– Preview: mjpeg, 1920×1080 resolution, 8 mbit/s bitrate
Archive: h264, 1920×1080 resolution, 4 mbit/s bitrate

Result: up to 10 such cameras. More cameras exceed the RPI’s network capacity (100mbit/s). To connect more cameras, please use a micro PC with 1 Gbit/s network capacity.

2) Both server and client on RPI.
– Preview: h264, 1920×1080 resolution, 4 mbit/s bitrate
Archive: the same stream (h264, 1920×1080 resolution, 4 mbit/s bitrate)

Result: up to 2 such cameras

– Preview: mjpeg, 1920×1080 resolution, 8 mbit/s bitrate
Archive: the same stream (mjpeg, 1920×1080 resolution, 8 mbit/s bitrate)

Result: up to 10 such cameras. More cameras exceed the RPI’s network capacity (100mbit/s). To connect more cameras, please use a micro PC with 1 Gbit/s network capacity.

– Preview: mjpeg, 1920×1080 resolution, 8 mbit/s bitrate
Archive: h264, 1920×1080 resolution, 4 mbit/s bitrate

Result: up to 10 such cameras. More cameras exceed the RPI’s network capacity (100mbit/s). To connect more cameras, please use a micro PC with 1 Gbit/s network capacity.

Core i7-4770 CPU @ 3,40GHz:
H.264, 1920×1080, 8M: 14 cameras, processor load by Xeoma 43%, memory used 433 MB;
H.264, 1920×1080, 2M: 11 cameras, processor load by Xeoma 47%, memory used 370 MB.

H.264, 1280×720, 8М: 31 cameras, processor load by Xeoma 35%, memory used 390 MB;
H.264, 1280×720, 2М: 16 cameras, processor load by Xeoma 53%, memory used 300 MB.

H.264 320×176, 8M: 105 cameras, processor load by Xeoma 16%, memory used 400 MB;
H.264 320×176, 2M: 85 cameras, processor load by Xeoma 20%, memory used 420 MB.


CPU and memory load

Xeoma can use video graphic’s card hardware acceleration for increased performance – CUDA technology for NVidia graphic cards (starting from GeForce 400 Series (GT 430 or higher)) and QuickSync technology for Intel graphic cards (Intel Core of the 4th generation (Intel Core i3-4xxx and higher)). Please note that you need to have the latest version of drivers for the card installed to use hardware acceleration in Xeoma.
Turn on hardware acceleration in the Universal Camera module’s settings. If you’re getting a message about update of drivers, you might be using outdated drivers for your card or the card might be not supported (due to its old chip).

Tip: CPU load will be significantly lower if you use MJPEG stream for view and storing to the archive (or just viewing). Learn how to reduce CPU load in this article.

Tip: RAM load can be great if Prerecord option is used in “Preview and Archive”. If the load is too high for the machine, turn the option off.


HDD space

For example, you will need nearly 500GB of free disc space for 7 days storage of continuous archive recordings from a 2 Mpix camera with 5 fps (around 50GB a day).

Tip: reduce HDD space used with motion detector (select rare or intense movement in the calculator’s type of recording), scheduler or day detector (activates recording when there’s enough light).

Tip: Once the specified limit for archive exceeded, Xeoma’s archive will overwrite oldest materials.


Minimum system requirements:

Officially supported operating systems:

Windows – Windows 7, Windows 8, Windows 10, Windows 11, both 64-bit and 32-bit versions, Windows Server 2008 R2/2012/2016.

Linux – both 32-bit and 64-bit versions with XWindows or console/server. Available for Linux based on ARM processor (e.g. Raspberry Pi) or Intel processors. Supported Linux distros:
Ubuntu latest versions (12, 13, 14 and up),
Debian 7 and up,
openSUSE 12.2 and up,
Mint 13 and up,
CentOS 7 or higher,
Red Hat Enterprise Linux version 6 or higher,
Astra Linux (version 2.11.3 and up);
ALT OS (version 8.2 and up);
RED OS (version 7.2 and up).

Note: Linux console sound support requires: libasound2. To install or run Xeoma on Linux please make sure you are uncompressing xeoma_linux.tgz archive on Linux machine. Otherwise, it is required to execute: chmod a+x xeoma.app and then you can run Xeoma as usual: ./xeoma.app
If you are installing 32 bit version on your 64 bit Linux distro (although it’s better to download the 64 bit version in this case), you might need to install ia32-libs.

Sailfish OS 3.0.3.9 and up

Mac OS X 64-bit version 10.9 or higher.

Android – Android OS 5.0 (API LEVEL 10) or higher, 20 Mb of free operating memory, screen resolution – 450×450 or higher.

iPhone/iPad – iOS 9 or higher.

Raspbian released on 2016-02-29 or later (for Raspberry 2 or higher).

HarmonyOS 3.0 and up.

Unofficially supported operating systems:*
Linux Kali (version 18 and up);
RancherOS;
Fedora (version 31 and up);
Elbrus (version 1.4.3 and up);
PCLinuxOs (version 2018.06 and up);
elementary OS Linux (version 5.0 and up);
Arch Linux version 2020.10.01;.

*Officially supported operating systems are tested with Xeoma before any release. Unofficially supported operating systems were successfully tested with Xeoma several times at user requests (but not before every release of Xeoma new versions).

Read also our hardware recommendations.


Available languages:

Main languages:
English, Spanish, Italian, Brazilian Portuguese, Chinese, French, German, Japanese, Hungarian, Polish and Russian.

Additional languages:
Dutch, Danish, Romanian, Turkish, Croatian, Finnish, Greek, Czech, Bulgarian, Vietnamese, Swedish, Slovenian, Taiwanese, Korean, Ukrainian and Belorussian.

Get 4 cameras Xeoma Standard license or 8 cameras Xeoma Standard renewal for proofreading of with our special offer! See Xeoma information in your language