There are some applications that do this sort of thing. Zoneminder comes to mind. I think the problem is that the Raspberry's USB is not fast, so if you're connecting four USB cameras it could get bogged down. AFAIK, the Raspberry's ethernet is USB affiliated, so the same issue could affect IP cameras I would think. This could be mitigated to some extent by using low resolution in both the camera(s) and the monitoring apps (something like 320x240 is what I typically use, but not on four cameras). Four cameras may not be optimal.
Also, I use a motion-detection app that only captures motion frames, and I run only 10 frames-per-second. This makes monitor processing easier, but the camera bandwidth is still a problem.
There are some USB-3.1 UVC cameras out there that do DMA access, supposedly reducing the processor load of the camera. This might be a great thing for a Pi level device, but we're still waiting on the USB 3 or 3/3.1 upgrade. According to this site, I guess there's a potential security issue possible with the USB 3/3.1 infrastructure, so that'd be another thing to consider:
https://security.stackexchange.com/ques ... to-usb-dma