Low FPS on live view when connected to NCS - tests and results

Hi,

Most/all camera’s are seem to have a low FPS when connected via NCS.

An example Foscam FI9900EP, which only has 6FPS:

The system is +/- 70 loaded:

When I see the camera directly, I have around 15-20 FPS. I tried turning motion detection of, but doesn’t make a difference.
Also a reboot of the NCS server & camera doesn’t make a difference. I have the same on multiple clients.

My settings:

Specs:

Any suggestions?

Hi again,
-Reading specifications I cannot see that it support ONVIF, but obviously it does.
-go to the tab for Custom URL and see what the actual URL is.
-in the task manager there is a lot of traffic going on 21/30 Mbps that probably increase the cpu load a lot.
-with that processor the cpu load should not be that high for only one ot the Foscam running.
-this is “only” a 1080p camera so Multi-Threading should not be necessary if you use Superfast mode. Increasing compression send cpu load very quickly to the top.
-In the first picture I see that the background is black which means that it is running in Multi-View Refresh Rate which is set to 10 FPS. To get Single view RR with 25 FPS select the camera as show here

The background change from black to white and the FPS should increase. The FPS is also determined by the configuration in the camera so check that also so it is not limiting.

-Henrik

Hi,

to clarify, I’m running 14 camera’s. I was not suspecting any performance issues, but when I just disabled all the other cams (so only 1 foscam left), I have +/- 18 fps.
Since CPU is only on 60-70%, and not peaking to 100%, I don’t thing the system hardware is the limiting factor, but NCS is not taking up the resources?

The preset is already on superfast. When using the single view, I still get only 6 fps

Running only 1 camera and you get 18 fps is low if the camera is configured for 25-30 fps. Something is limiting. Just now I am running a 4MP camera in highest resolution in NCS and a relatively low-end computer and I have 25 fps.
What is Recording FPS set to?
Are the recorded videos ok?

The cam was capped at 20 fps while I got 18 fps. I increased it to 25 fps, and now I have 23-24 (with only 1 cam enabled). So that seams reasonable.
But when I re-enable the other cams, it drops to 4-6 fps, even though the CPU or mem are not maxed out.

The recordings look ok, but also only 6-7 fps.

These are the settings:

Good, so far.
How do you get this “The recordings look ok, but also only 6-7 fps.” ? You cannot use the figure in the bottom right corner of the video since that is the FPS from the camera and not the recorded FPS. To get the recorded FPS use VLC and

If you have 25 FPS lower that to 10 or something. 25 fps is a lot.
When I look at the task manager the LI cache is nvt. That processor should have LI to L3 cache. How do you run this?
Task manager is Ethernet 21/30 Mbps. Sending should be around zero. What process is using thst much bandwidth?

I turned down recording FPS from 25 to 10 as suggested.

I checked the codec settings. Indeed it shows 25 or 10 (before or after the recording FPS change), but that value seems fixed. I check some video’s and it turns out that the actual FPS is less than 1. I’ll send you some examples via PM.

Next to that I also found out 2 worrying things;

  • 1 of the cams simply stopped doing motion detection since this morning
  • I have a lot of recordings where you see an object in the thumbnail, but the actual moving object is not in the video.

Both could be also be the result of performance issues?

L1 cache is not shown, since this is running on VMware. Cache is being used, but not visible in the guest. This is normal behaviour.
It’s running virtualized together with 2 other low resource VM’s on the host. The NCS VM has reserved resources and priority on the system.

Well, there is the problem then. It is not much left for NCS to work with. So far everything seems to be performance issues.
Is this the setup?
1.Computer have processor i7-2600.
2.On that runs windows NN?
3.On top of that runs VMware Player?
4.On top of that runs 3 VM with OS?
5. How many cores/threads are allocated to NCS? Decrease for the other 2 and maximize for NCS. Working with video is a real-time system and do not have time for thinking about priorities :slight_smile:

All the settings in NCS are only valid if you have a computer that have enough power. If not, it will be something else.

Suggestion: install NCS on the basic machine (1) and no VMware.

Hi,

not exactly. It’s like this:

  1. Computer with i7-2600 and 16GB ram
  2. VMware ESXi 6.0 on top
  3. On top of that run 3 VM’s
  4. NCS VM runs Win 2012 r2

There is +/- 10000mhz available on the server, of which 8000 is dedicated to NCS. And NCS can burst to 10000 if needed (which would halt the other VM’s).
I just did a test. I’ve shutdown all other VM’s. That means that NCS has availability of all resources on the server. That doesn’t make a difference in FPS performance.

But I don’t believe this has anything to do with host/VM performance. Since the VM is using only +/-60% of the CPU power currently, from which 45% is used by NCS, it looks like NCS is just not taking up available resources.

I’m going to try to move NCS to other hardware, directly on the base system, to see if that improves.

Hi,

Interesting. One of my systems looks like this:

  1. HP server with Xeon e3-1220v3 and 8GB ram. 4 cores and 4 threads.
  2. VMware ESXi 6.0 on top
  3. On top of that run 2 VM’s, Win server2003 and server2008.
  4. NCS VM runs Win 2008 r2. 4 cores allocated which gives 80%. 8GB RAM.

18 cams with resolution vga to 920p in motion detection. FPS is varying from 10-15 FPS from the cameras. Recording is 10 FPS. Superfast. CPU Load on NCS VM is usually 95-100% daytime when cameras are busy. I have tested to run only one VM with NCS with 100% allocation, but that really do not change the cpu load. Performance on the ESXi shows the same figures.

Yes, this is sort of overloaded, but it works very fine now for several years. Recorded videos are fine. Sometimes there can be a jump due to this overload, but never nothing serious. I have tested other win OS, but for me server2008 r2 seems to be the most efficient.

My plan is to change this to a system with an i7 processor with 8 cores and 16 threads since we want to change to cameras with higher resolution and add some more. I really would like to have a server solution, but the price will be very high.

How well do ESXi 6.0 and i7-2600 work together? Check the VMware matrix.
Maybe a stupid question, but do you run this on a Gbit or a 100 Mbit bavkbone?

-Henrik

Hi,

the i7-2600 is compatible with ESX(i) 6.0. So that shouldn’t be a problem.
The ESX server has a 3GBit (LACP) uplink towards a 3com GBIT switch.

I have an i5-5200 with 8GB ram and Windows 8.1 lying around. I installed NCS there and copied my config. Unfortunately, there is no difference in performance:

Here you run NCS Service and NCS Client which use above 90%, but it´s the total CPU load of the computer that is of interest. Check the Task manager in the Performance tab. Run only the NCS X (console)
This is 14 cams 1080p/720p. Run all 14 cams and disable one camera at a time and see what happens with the FPS.
Make a new installation of NCS and do not copy the config file is something is wrong. Use default settings. Add the cameras slowly and see what happens in the system.