It doesn't do enough work today to require that, given that it's meant for home use and doesn't decode/re-encode the video. One Raspberry Pi 4 with a couple 6 TB drives in an external USB3 SATA enclosure should be sufficient for 16+ cameras in terms of CPU, USB3 bandwidth, Ethernet bandwidth, spindle time, storage capacity, etc. If for some reason you need more security cameras than that in your home, you can probably afford a single machine beefy enough to handle it.
The only thing I anticipate being a significant performance challenge is on-NVR motion detection. Most likely that will end up being separate processes that download the video and annotate it via the HTTP API. Those workers could then run on separate machines if needed. The primary machine would have sufficient bandwidth to support this.
The only thing I anticipate being a significant performance challenge is on-NVR motion detection. Most likely that will end up being separate processes that download the video and annotate it via the HTTP API. Those workers could then run on separate machines if needed. The primary machine would have sufficient bandwidth to support this.