Since surveillance is a highly parallel process, having more physical cores is highly desirable to deal with the multiple video streams. Although an i7 performs better overall, it is also at a higher price point not only for the CPU but also for a quality motherboard that goes with it. Our favorite is the AMD FX8350, it is priced comparably to an i5 4570 at sub $200 and performs better than it. It is also a true 8 core CPU, not the same as an i7 which is really 4 cores with hyper threading to mimic 8 cores. Also notice that not all i5s are created equal, online benchmarks show a wide range of processing power within that family. We have also noticed that adding additional RAM past 8GB offered little improvement to performance if any, but RAM is pretty cheap these days.
We have done extensive PC load testing here in our company using various VMS's and basically you have to break down the functions into 3 categories.
1. Recording: This is very easy for the PC to do, all it does is take data received from the network card and write it on to the HDD. So most of the work is not done by the CPU but by the storage and network subsystems. We were able to achieve up to 500 Mbit/s throughput using the AMD CPU and onboard sata drives. That's only 50 MByte/s of writing speed which is nothing to brag about considering there are performance HDD's out there with more than 100 MByte/s sustained random write speed.
2. Viewing / Playback: This requires the PC to decompress the H.264 data as well as displaying it on the monitor. This is the part that kills the CPU and also requires a separate mid range video card. Using 10 cameras at 1080p / 30 FPS at around 5mbps each will fully saturate the performance of the above CPU. So that's only about 50 mbps of throughput of video stream viewing. However there is a trick for getting acceptable performance without breaking the bank to be discussed below.
3. Analytics: This part varied wildly between different VMS's, the kind of analytics, how it was implemented and most importantly the scene. We are skeptical for any calculator to provide a reasonable estimate and our advices is to only use the motion detection buit-in to the cameras. Any other analytics will have to be evaluated on a case by case basis.
Now the viewing trick. Since most PCs aren't connected to 16 individual monitors, all of the VMSs offers some kind of matrix viewing. So essentially you are dividing up your 1080p monitor into a minimum of 4 views. This lowers the resolution of each view to a bit more than VGA resolutions (960 * 540). Although not all VMS supports this function, those that do, can display secondary streams from the cameras while recording the primary stream.
You can further reduce the CPU usage by lowering the Compression Quality settings for secondary streams and it's not very noticeable in a high count matrix view. The result, even when using the PCs that we built/sell which supports 4 monitors simultaneously, you are still only viewing 16 VGA resolutions and this mid-range PC is well able to handle the task. For higher count matrixes you can lower the resolution and quality of the secondary stream even further to around CIF and still present a reasonable picture to the viewer.