Advice for a new user converting from BlueIris - 21 CAMS

I have been testing reading and learning NCS most of the day. I have been using BI for almost a year and I am looking for something better and updated more often with new features. I have a 21 CAM system all are Amcrest HD under a year old and they all work great. I have 10 of them are a PTZ so it has to run rtsp. Using Blue Iris, I am running 15 fps either close or full resolution. For teh “server” I have a i7-7700 with an SSD for the OS and cam software along with 16GB of RAM on a Windows 10 64bit system. All the Cams are on a separate Vlan all directly connected with Cat5- Gigabit network. I have been adding CAMs one by one and had to stop at #6 because the CPU maxed with the server and client NCS at around 95% (RAM about 800MB) I have 15 more cams to add. I need some recommendations and suggestion to where I can run the best quality for recordings and live view. I am not sure if it matters but we need to record video (Motion Trigger) AND be able to monitor live video, I don’t HAVE to do all of this from one system if it is possible to run one for live view and a service just for recording and viewing recordings I am good with that.

Also all of the PTZ cams have two-way audio, however I noticed the Phone app (Android) does not seem to have a way to speak TO the camera, only listen, is there a setting I am missing?

Any help or suggestions are welcome

Thanks
Jason

Hi Jason,
Some things:
-NCS is of cause an excellent program :slight_smile: and to have the excellent windows and web clients, Apps, overlays, motion detection etc we must do some transformations between formats. The transformations for many HD cams use processor power.
-the transformations like very much to use many cores and threads so a processor with many cores and threads is nice. Older server computers are usually equipped with xeon processors with many cores and threads and you can actually get them to very reasonable prices. The i7-7700 is an excellent processor with 4 cores / 8 threads, but is not enough for 21 HD cams.
-separate into two different systems is possible. However, make sure that the camera can deliver two independent streams. Connecting the camera with the same URL to two different systems might work, but it is really not to recommend for reliability.
-if you want to both listen and talk the camera must be connected with another URL. The rtsp protocol only support video and audio for listening. NCS is a software for surveillance and that´s why it focus on audio for listening only.
-maybe you should look for a software in the category of security? Usually another price tag, but …

-Henrik

So what processor and memory would you recommend (Hardware) Also another option what about a Virtual machine on a HyperV cluster? what hardware resources would be recommended in that scenarios as well? (just want to compare options)

Would this do the job?

Dell-Precision T5600
16-Core (two) 8 Core XEON E5-2650 @ 2.00GHz
16Gb Ram
750Gb SSD
Windows-7 Pro

If I check the processor it will be in total 16 cores and 32 threads. That is certainly in the right direction and very interesting. If that will work for your 21 cams I cannot guarantee. Ram should be fine. If you can test this it is of cause very interesting.
What is the recording FPS?

Well, here is the results, I am very surprised that there isn’t some “CAM Configurator” that can recommend hardware based on the camera system requirements and needs. It seems like a hit or miss. Thank goodness I didn’t buy this system but rather it was lent to me by a friend. Here is 16 Cores and the CPU is maxed as soon as I turned on motion detection. Any suggestions?

Hi,
Thank you very much for the test and information. I am also surprised as with 16 cores and 32 threads I would expect a better result.
A “CAM Configurator” would certainly by good to have. However, there are so many parameters affecting this so it will probably be difficult.
So what to do? Many things can be tested, but finally it will depend on what you can accept in quality of the recorded files.
-what camera is it?
-if you watch a recorded video how is it? Do people move ok or are they jumping around?
-if you connect with the web client and single view how is it? What it the FPS?
-how many FPS do the cameras deliver? Look at the bottom right on the video where the FPS can be seen. Is it rather constant or varying a lot?
-run all cams as above in motion detection. Disable the cameras one by one and see what happens with the cpu load and when it is down to around 90% how many cameras are enabled.
-is full HD necessary on all cameras?
-you use 126 Mbps for all cameras which makes 6 Mbits/camera. In the config of the camera it is usually possible to have a constant bit rate or variable with motion in the view. If constant is selected reduce the bitrate or use variable. Maybe more important is to reduce the FPS for the camera.
-can you run some of the cameras in MJPEG? RTSP use h.264 for compression which use more processor power.

-in NCS Client Settings: disable High Quality Rendering.
-go low on Single View Refresh Rate.
-in Recording Settings use 10 FPS which is usually enough.
-use Ultra fast.
-in Decoding/Encoding Settings experiment if Hardware acceleration will help.
-test if enable Multi Threading helps.
-can you run BI here also and see the result?

-on the server is memory usage rather high. Is something else running or loaded?

-Henrik

I spend some hours this morning answering your questions.

So what to do? Many things can be tested, but finally it will depend on what you can accept in quality of the recorded files.

We use the system to record. in the morning we review all motion. There are a few alert that we need setup to text/email when movement is detected. We do need to be able to watch live streams however this is not used for that as it primary purpose. Recordings are important to be able to be high enough resolution to zoom in and see something.

-what camera is it?

They are ALL Amcrest camera purcahsed in 2017 they are a mixture of ProHD, UltraHD some are bullet cams and some PTZ here are all the ones I use

Amcrest ProHD Outdoor 1080P IP2M-844E (qty 3)
**Amcrest ProHD Outdoor 3 Megapixel IP3M-956E **
Amcrest UltraHD 2K (3MP/2304TVL) IP3M-941B (PTZ)
Amcrest ProHD Outdoor 4 Megapixel POE IP4M-1025E
Amcrest ProHD 1080P POE IP2M-841EW (PTZ)
**Amcrest ProHD 1080P POE IP2M-841EB (PTZ) **
**Amcrest ProHD Outdoor 3 Megapixel IP3M-954E **
**Amcrest ProHD Outdoor 3-Megapixel (2304 x 1296P) IP3M-943B **
Amcrest UltraHD Shield 2K IP3M-HX2
Amcrest HDSeries 720P IPM-721 (PTZ)
Amcrest ProHD 1080P IP2M-841B (PTZ)

-how many FPS do the cameras deliver?
I can set them from 1 to 30 fps All of the cams are set to either 15 to 25 FPS on both Channel (primary) and Channel 2 (Secondary)

You can set them Look at the bottom right on the video where the FPS can be seen. Is it rather constant or varying a lot?

when not recording (no motion or audio setting on they are all between 1-5 fps when I turn on motion detection on any of them it goes to about 15 fps (Fluctuates 1 or 2 FPS) if there are any movement in the camera view the FPS goes to about 18 to 20 fps

-run all cams as above in motion detection. Disable the cameras one by one and see what happens with the cpu load and when it is down to around 90% how many cameras are enabled.

It varies a little depending on any current movement but it looks like 12 cameras will put the total CPU load about 80% 13 cameras takes it to 85%

-is full HD necessary on all cameras?
No, however I would like to have a high as I can. With BlueIris, nearly all recordings are HD without any issues

-you use 126 Mbps for all cameras which makes 6 Mbits/camera. In the config of the camera it is usually possible to have a constant bit rate or variable with motion in the view. If constant is selected reduce the bitrate or use variable. Maybe more important is to reduce the FPS for the camera.

Not sure I understand what you are suggesting I test/try. The Configure features on all are turned off except for the PTZ cameras

-can you run some of the cameras in MJPEG? RTSP use h.264 for compression which use more processor power.

I have tested a few cameras in MPEG mode and the resolution is horrible, very pixilated and hard to make out anything.

-in NCS Client Settings: disable High Quality Rendering.
I did and it makes no difference

-go low on Single View Refresh Rate.
Single is set to 10 and Multi 5 (No difference in performance)

-in Recording Settings use 10 FPS which is usually enough.
Set at 15 (If I set to 10 I can run 16 cameras before the CPU hits 95%
-use Ultra fast.
( have "Preset in the recordings tab set to “UltraFast” the slider all the way to the left)

-in Decoding/Encoding Settings experiment if Hardware acceleration will help.

Software_Internal works
Hardware_DXVA2 (Works but no differnce in performance)
Hardware_QuickSync (Causes cameras not to connect)

-test if enable Multi Threading helps.

I have had Multi-threading enabled since the first started

-on the server is memory usage rather high. Is something else running or loaded?

I had some Chrome Tabs open without Chrome and IE open the memory is around 25% NCS uses about 2GB

1 Like

Thank you so much for this! We need some hours to think about the results.
One little thing. Can you disable both Multi-Threading options and see what happens.
Thanks,
Henrik

After disabling, I went to multi-view (Live cam) showing 16 feeds and the CPU goes to 80% without any recording/motion detection for about 8 seconds and then down to 40% for 3 seconds and then back up to 80% and I watched this “Pulsate” for about 5 minutes as it was very consistent.

I then turned on 4 cams to detect motion and CPU went to 50% steady

I turned on 12 cams and CPU goes to 60% 16 Cams and the CPU goes to 85% steady

at 7-18 cams the system is unusable too slow to respond. I never got to test more than 18

Henrik, are you affiliated with NCS? I put in a support request to try and find a solution, as my system is unusable for what we need so I am not sure this is the best software for us. Thanks

1 Like

Hi Jason,
Thanks again for your tests. Yes, I am affiliated with NCS and therefore all these questions trying to figure out how to make this work. All system configurations act differently and this one is new to us. Sometimes the use of a Xeon processor with several cores/threads will work. One of my systems that I manage is running with a four core Xeon processor with 21 cameras from VGA to 960p and it works fine. In your situation with 21 1080p cams this will obviously not work. The Xeon processor do not have the built in graphics that the i7 processor have and the small piece of software that handle transformations between formats need this especially when it comes to 20 cameras in HD. It might work to add a graphics card, but nothing I can guarantee. So, unfortunately I think we have to pass on this one. We have actually started to work with this since it of cause must be possible to use NCS with that many HD cameras. The time frame for this I cannot tell since we are down to the “fine print” of the software and its collaboration with the CPU.
Thanks again for your efforts and I hope you get a better performance with another software.
Best Regards,
Henrik

What type of video card would you like to test? I do cypromining and have a lot of the top of the line nVidia 1080 TI w/11 GB ram cards that I could try if you thin kit would make a difference. (then what setting would possibly be best in that scenario?)

Well, an offer I can’t refuse :slight_smile: I am sort of out on thin ice here (again), but NCS support hardware acceleration with DXVA2. So a video card that support that. In NCS use the same settings as before and then in Settings - Decoding Settings switch to Hardware_DXVA2 and restart NCS. The DXVA2 have so far not been a big hit since again a lot of transformations are done in the software, but as a complement to the Xeon processor it might give some benefits.
Thanks,
Henrik

I may have to withdraw my former offer, seeing that these video cards cost over $1000 now add to the fact they will draw 250wt’s added to the 300w’ts to run the server, this will be a cost prohibitive move. Looking at the performance gains if DXVA2 would give it looks like a 10% performance gain which would probably not solve the problem.

So my question back to you, what hardware would run NCS with 20+ cams without overloading the hardware?

Thanks. As I mentioned earlier this configuration with 20+ HD cameras is new for us. The suggested solution and your tests show that it do not work and I don’t have another suggestion for hardware that would solve this. So just now we have to pass on this and I hope that you find another software that you can use.
Thanks again for all your testing,
Henrik

Edit: One last thing. In the configuration of the motion detection for each camera there is a setting called Frame Interval that is 200 msec as default. Increase that to maybe 500 msec and see what happens.

Thank for your help. I tried that and I didn’t notice any change. Hopefully in the future you can figure a way to add more cams without too much of a performance loss. BlueIris is able to do all recording at 15fps full HD with motion detection running at a 50% load on this server.