I'm toying around with the idea of building a home surveillance system and I'm wondering what kind of hardware I need for the DVR. I would be using 2 or 3 HD IP cameras hooked to a gigabit switch, so what does it take to capture and record that many streams at a reasonable framerate? Is such a system going to be heavily CPU limited or is the storage going to be the bottleneck? Thanks.
Fixed 1080p x264 cameras need 2-5mbps each, so the question is how low can you go. This should be overkill: http://www.newegg.com/Product/Product.aspx?Item=N82E16813135391
Depends if you're encoding on the camera itself, in which case you'll get a compressed feed to save that should be low CPU use, or, raw footage from the camera that uses the CPU to do the compression. Surely you're not shooting 30FPS though? Instead ~1-5FPS? Very low storage + CPU use from three cameras. Or in an ideal world you'll have motion detection that'll trigger on the camera.
The goal is to be able to capture at 30 FPS and I would trade resolution for better framerate. The plan, assuming I actually get around to trying this, is to run the DVR as a headless server and pull the footage off with the desktop. It would be triggered by a remote switch or button to start and stop recording. I've got a nice 1u server I inherited, but not sure how much grunt it has.
Unless you are using GigE cameras and all you want is to record, than pretty much any HW will do (prob even rpi2 would be enough, gig switch is an overkill). If you want to do something more on server side, then it will greatly depend on DVR software.
All IP cameras do encoding on-cam. Don't bother dicking around with motion triggering, just dump a 2TB HDD in there and set it to continuous record. 5mbps 1080p @ 30fps, will be more than enough bitrate for moderate motion in a fixed camera (non-PTZ). You could probably even push that down below 3.5mbps with I-Frame spacing increased to 4 seconds. As I said above, this isn't complicated, all you're doing is taking 10-15 mbit/s of UDP traffic and writing it to disk. I ran 9x cameras (totaling ~20mbps) for years on a Athlon x2 5000+ and the cpu usage never exceeded 10%.