How do I calculate required bandwidth for my system?

You can make automatic estimates using our calculator: https://felenasoft.com/xeoma/en/help/calculator/#calculator

If you would like to get into it, there are 2 sides to consider:
1) Connection between the server(s) and cameras.
Normally, Xeoma takes 2 streams from every camera: one for preview (low-res), one for archiving (high-res). The bandwidth for each camera would be the sum of bitrates for both these streams.
Example:
preview: H.264 640×360 10 FPS 256 Kb/s
archive: H.264 1920×1080 20 FPS 4 Mb/s
Total bandwidth: ~4.3 Mb/s per such camera

2) Connection between the server(s) and the clients.
This one depends on which side does the decoding: server or client.
a. Client
In this case the video is transmitted between the server and the client in the same format as it has been received from the camera (usually H.264). Only the cameras that are currently on screen count for this. The bandwidth will be the sum of bitrates for their streams.
Example: suppose the client has 4 cameras on screen, all with the same parameters:
preview: H.264 640×360 10 FPS 256 Kb/s
archive: H.264 1920×1080 20 FPS 4 Mb/s
Total bandwidth: 256 Kb/s * 4 cameras = ~1 Mb/s
Note that with multiple cameras on screen there is no reason to count the archive stream, since the client gets only the preview one. With only one camera on screen, however, the client can view the archive stream in real time.

b. Server
In this case the server fully decodes the video before sending it to the client, so the format for transmission is MJPEG (independent of the camera’s original format). Knowing the stream’s parameters (resolution and FPS), you can calculate its bitrate for MJPEG. Another factor to consider is Xeoma’s window size on the client device – if it’s smaller than the original stream’s resolution, the bitrate is proportionally lower.
Example: suppose the client has 4 cameras on screen, all with the same parameters:
preview: H.264 640×360 10 FPS 256 Kb/s
archive: H.264 1920×1080 20 FPS 4 Mb/s

Window size: full-screen for 1920×1080
Total bandwidth: MJPEG for 640×360 10 FPS ~2 Mb/s * 4 cameras = 8 Mb/s

Window size: small 320×176
Total bandwidth: MJPEG for 640×360 10 FPS ~2 Mb/s * 4 cameras / 2 = 4 Mb/s

If you need more information, please contact us – we’ll gladly help.