In this article we will help you determine the maximum number of cameras that can be simultaneously displayed in one or more grids with the MxMC without compromising the fluidity of the video streams nor the responsiveness of the software interface to the user input.
Note: Performance values have been verified with following components and settings:
- MxMC 1.5
- 108 different P3 cameras with Firmware 4.4.2.69 and following settings:
- XGA, 60% JPEG-Quality, MxPEG
- Image Quality “normal”
- Max. exposure time = 1/30s
The above settings lead to an average data-rate of about 2.5 MBit/s per camera.
Result on different systems
Mac Pro, 2x Dual-Core Intel Xeon, 2.66GHz, 5GB RAM
Operating System | Amount of cameras |
---|---|
Win 7 Ultimate (64bit) | 45 cameras |
Mac OS X 10.7 OpenGL “on” | 35 cameras |
Mac OS X 10.7 OpenGL "off” | 45 cameras |
Mac Pro, 12 Core Intel Xeon E5 (Hyper-Threaded), 2.7GHz, 16GB RAM
Operating System | Amount of cameras |
---|---|
Win 8.1 (64bit) | 120 cameras |
Mac OS X 10.10 OpenGL “on” | 80 cameras |
Mac OS X 10.10 OpenGL “off” | 120 cameras |
Important to know:
-
Key criteria for display and number of cameras that can be displayed in parallel is the total number of frames per second, that MxMC has to decode and display.
-
The selection of different codecs (M-JPEG or MxPEG) has minor influence, as in both cases always full-frames are displayed. As a result, the bottleneck using Multicore systems is the displaying part (see next point).
-
Decoding of the different video-streams always is executed within different threads (1 thread per stream) and therefore performed on different CPU-cores. Displaying all the decoded streams on the monitor and the processing of all User-Events is executed in the single „Main Thread“ and as such always in one single core. When using Multicore systems (as the one described above with 12 resp. 24 CPU-cores) the single CPU core performing the Main Thread leads into a bottleneck when exceeding a certain number of cameras whilst all other CPU cores may still be underutilized.
-
Codec setting primarily influence the resulting stream data-rate. Especially when using Mx6 cameras with M-JPEG or MxPEG with huge Motion Ratio in the scenery, a data-rate of
20 MBit/s and more can be reached easily. When using up to 50 cameras in that case the overall network data-rate may reach the 1 GByte network limit.
The memory need of MxMC with above tests using 120 cameras was about 1.2 GByte
Conclusion
Hence, the clock rate of the CPU is more important than the amount of cores.
For instance, it’s better to have a 4-core CPU at 3GHz than an 8-core CPU at 1,5GHz