Hi there and thanks for an excellent question!
Actually, I am looking into this myself just now since I need to upgrade one of my systems that have a CPU load of 95% to 100% all the time. There are many solutions on the market, but I will focus on using Netcam Studio since it is very scalable, optimized for low CPU usage and I like the simplicity of the different user interfaces. Today we have people using NCS with only one camera and users with (to my knowledge) 60 cameras connected to NCS. If someone have more cameras, please let us know since it is very interesting. So the trick is to select the hardware. This discussion will focus on when you have many cameras like 20-30 and above. I will also only talk about Intel processors since that´s where I have my experience and so far Intel is better for this application. There is now a lot of discussions about that AMD has a new processor series that will be the same as an Intel processor. For now I stay with Intel and time will tell.
Background - IP cameras - codecs - demands
The market of IP cameras has rapidly changed during the last 2 years. For a very long time it was VGA (640x480) that was dominating, then came HD resolution with 720p, 1080p and 1280p. Now there are cameras with 2, 3, 4, … megapixel (MP) sensors on the market to relatively low prices. Using HD and MP cameras will put a lot of demands on the hardware for decoding/encoding the video stream and for increased number of calculations for motion detection. So if you have many cameras it is also important to ask the question about what resolution of the cameras that is necessary. The compression standard h.264 has been around for many years, but with the increased resolution many cameras now use h.265 which is a more advanced mathematical algorithm that will take the h.264 data stream and in principal compress it one more time. This is great for reduction of data traffic on the network, but it demands more CPU power when the data stream must be unpacked and viewed on ut monitors.
I can understand the problems with the hardware above with that number of cameras. The Xeon E3110 at 3GHz is a 2 core CPU with no multithreading. The CPU is made for server applications which makes the solution very stable, but slow. In the server I need to upgrade is there a Xeon E3-1220v3 at 3.1GHz 4 core CPU. This processor can be compared with an Intel i5, but when it comes to calculations the i5 comes out much better. As I see it, it is the ECC that slows the xeon processor down (I am not 100% sure on this), but it gives stability.
So, what hardware to pick? It is all about the processor. The codecs for encoding/decoding of the datastream from IP cameras love to use Multithreading which means using many parallel processes. So the more cores and multithreading a CPU have the better it is. To have the highest clock frequency is not always the best. In this application a lower GHz and more cores are usually better.
With this said I am myself leaving the Xeon processor and going for a solution with an i7 processor. A server solution including a Xeon processor with many cores and high GHz will be very expensive and to expensive for me. I probably lose some stability, but with win 10 Pro or Server 2008/12, UPS and automatic update turned off it will most likely be very fine.
In my system I have 20 cameras with resolutions from VGA to 920p. All in motion detection (MD). The recorded videos are set to have 10 FPS. The FPS for viewing in windows/web client is set to 25 FPS single view and 10 FPS for multiview. This results in a FPS in viewing the fluctuates between 5 and 15 FPS. Well, the CPU has clear y to much to do :). But, it works very fine, is very stable and we are happy. We want to change the VGA cams to new HD cameras and add some more cams. This is not possible in the current solutions.
I will buy a computer by components and put it together myself. I am looking at the new Intel i7-8700K with 6 cores and 12 threads at 3.7/4.7 GHz. This is certainly a high-end solution, but not as expensive as I thought. Most likely the CPU load will go from 100% to maybe 25%. I am also looking into i7-7700k or i7-6700k. These processors are cheaper and will certainly be fine also. I have not completely decided yet.
Operating system, RAM and Automatic update
I am today running server 2008 R2 with 4GB of RAM with no problems, but I will go to 8 GB. I will continue to use server 2008R2 since I find that software very memory efficient where a lot of features can be turned off or not installed that I do not use. My experience in other applications it that Win 10 Pro is very stable, but I recommend to disable Windows update with any operating system in this application to increase the stability. Windows Automatic Update is running as a Service so it is very easy to disable completely. Go to Service, stop windows update and set it to disable. When you want to update in a controlled way just enable and start windows update again.
I store all the recorded files for 35 days on a NAS configured for RAID 1. Therefore, I will buy an 128 or 250 GB SSD only for the OS, NCS and some other help programs. If you store all the recordings on a the same computer, well then I would go for the classical mechanical HD which is cheap today.
Local Area Network and WiFi
If you have many cameras that use a lot of network traffic you need to think of the LAN speed. Summarize traffic from cameras and other traffic on the network quite often ends up at 50-60 Mbit/s. This is not problems for traffic like ftp, email, printers etc, but real-time streaming of video needs to be uninterrupted! If there are problems with low FPS, jumping people in the videos or other irregularities the LAN might be the problem. The LAN interface on cameras are today 100 Mbit/s which is no problems. Switches, routers, computers are also mostly 1 Gbit/s, but make sure that all cables are for Gbit. Use a Gbit backbone. I said NO to wifi in these applications for several years ago and today i am very happy with that decision since it so far have saved me many hours.
Some more stuff are needed for a turn key system, but you now that
Sorry, a lot of text as usual, but I think it is sometimes important to have a background as in this case what use CPU power and how I can affect that with my choices.
Good luck to all of you and please report back how it goes. I will give a report with details when I have done my upgrade!