All Collections
Viewing platforms
VMS Gateway
Questions and Answers
How many VMS Gateway transcodes can I support on my PC?
How many VMS Gateway transcodes can I support on my PC?
Updated over a week ago

There are many variables that will affect the potential answer including:

  • What EdgeVis bandwidth settings are you typically using?

  • What quality setting do you want to use in your VMS?

  • What type of CPU do you have/are considering?

To help you we have provided guidance on each of these questions to help determine what your PC might be capable of.

This guidance is for high-performance systems – either Intel i7, Xeon, Ryzen 7, or Epyc processors built in the last three years. Laptop processor variants are thermally constrained and won’t be able to sustain these heavy loads.

What is your maximum EdgeVis streaming bitrate?

VMS Gateway does not monitor the incoming EdgeVis video quality stream so it's possible to have a mismatch between the incoming video stream and the video quality settings you use with VMS Gateway.

Why this matters...

As an example, if you have a MiniCam outputting 480p @ 200kbit/s and you set the VMS Gateway quality settings to 1080p, VMS Gateway will upscale the video from 480p to 1080p wasting 80%+ of your CPU. Upscaling provides no benefit to the video quality you will receive in your VMS.

In practice your EdgeVis encoders settings will cap the VMS Gateway settings you should use - you will increase the number of transcodes by keeping the output quality as close to the incoming EdgeVis as possible.

The primary limiting factor will be your encoder's bitrate. Depending on whether you use Automatic or Strict settings on your encoder, there is a limit to the video resolution and frame rate that you can/should use to maintain a consistent quality.

This table outlines the recommended maximum settings (for Strict mode) or the likely maximum setting you could observe in Auto mode given an average scene with moderate levels of movement.

EdgeVis video bit-rate

Recommended maximum encoder setting (Strict mode)

Likely maximum quality setting (Auto mode)

Up to 300 kbps

SD @ 15 fps
720p @ 7.5fps
1080p @ 2.5fps

SD @ 15 fps

Up to 600 kbps

SD @ 30fps
720p @ 15fps
1080p @ 5fps

720p @ 15fps

Up to 1000 kbps

SD @ 30fps,
720p @ 30fps
1080p @ 10fps

1080p @ 10fps

Over 1000 kbps

SD @ 30fps,
720p @ 30fps
1080p @ 30fps

1080p @ 15fps

From this table you can then pick the video dimension and frame rate that matches your encoder's bitrate - for strict we've provided options depending on whether you feel resolution or frame rate is more important.

What we need for our calculation...

From the table above select your encoder bitrate and select the value from the Auto mode column. You need the resolution (SD/720p/1080p) from this - this is the 'maximum output resolution' you'll use below.

What CPU are you considering?

This guidance is for high-performance systems – either Intel i7, Xeon, Ryzen 7, or Epyc processors built in the last three years. Given one of those the most important factor is the number of ‘real’ CPU cores.

What we need for our calculation...

You need to find the number of high-performance processor cores your CPU has.

When you lookup the specifications for your processor you will often see two numbers quoted:

  • Cores - this is the real number of CPU core processing units

  • Threads - if the CPU includes additional functionality to create 'virtual' or efficiency processors, this is a combined 'marketing' number of all types of core

You need the number of cores for the next section.

Intel i7 only

Unfortunately, processor marketing can be confusing and with newer Intel i7 processors the listed Total Cores includes both efficiency cores and performance cores - we don't use efficiency cores in our calculations. When using Intel’s CPU database (e.g. i7-1250U) you will see up to 4 numbers:



If you see Performance cores listed this is the number you should use

This is the total number of high-performance CPU cores.

Perform your calculations

You should have the following pieces of information from the earlier sections:

  • The 'maximum output resolution'

  • The total number of 'CPU cores'

Step 1: Calculate your CPU's max loading firstly on resolution

The following table outlines the expected number of transcodes per CPU core at 15fps.

SD (480p/576p)

720p

1080p

Transcodes per CPU core

5

4.5

3

Given your maximum output quality get the appropriate Transcodes per CPU core from the table. Your first calculation is:

Total 15fps Transcodes = [Transcodes per CPU core] x [Total CPU core count]

Step 2: Tailor the number based on your frame rate

The figures from step 1 assume you are using 15 fps. You will receive a boost if you reduce your frame rate, and conversely increasing the frame rate will reduce the number of possible.

From the following table select your adjustment percentage by looking up your frame rate and resolution:

5 fps

10 fps

15 fps

25 fps

30 fps

1080p

+20%

+10%

-

-35%

-50%

720p/SD

+30%

+20%

-20%

-30%

Your next calculation is:

Total trancodes = [Total 15fps Trancodes] x [adjustment percentage]

This final number is the number of streams we believe you should be able to handle with your chosen CPU.

There are other factors, including the amount of motion in your video streams. These figures are for video scenes that contain a significant amount of motion.

However for a quieter static scene (e.g. out-of-ours monitoring of warehouses) this will use less CPU and you will find you can perform more transcodes.


Did this answer your question?