NVR Options for Home Surveillance

Published by frenoy on

In part 3 of this series, we evaluate NVR options for both the Raspberry Pi and for a Windows PC. We test out the MotionEye OS on the Raspberry Pi 3 and we then look at iSpy, which is a leading, open-source, video surveillance and security solution.

The video above gives you an overview of how everything comes together and we also test out the video quality along with the motion detection capabilities. I recommend watching it first to decide which NVR solution would work best for you.

Step 1: Evaluating the MotionEye OS on Raspberry Pi

Downloading The Right Image
Flashing The Image To The microSD Card

We already checked out the MotionEye OS using the Pi Zero in a previous post and I was not too happy with that so I decided to test it out with a Pi 3 this time. The first step was downloading the right image for the board, then flashing it to the microSD card. I decided to use a wired network connection and so, I plugged in an ethernet cable to my router.

Power ON The Board
Obtaining The IP Address
Logging Into The Board

I then powered the board and waited for it to connect to the network. I used AngryIP scanner to obtain it’s IP address and then logged in using the IP address. The default username is “admin” and there is no password so this got us into MotionEye OS.

Step 2: Testing the Cameras

IP Cameras
Adding The RPi Camera
Adding The ESP32-CAM

The next step was adding the cameras and testing the motion detection capabilities. I decided to use the RPi Zero camera and the ESP32-CAM board camera we built in previous posts. To add the RPi camera, I simply had to select the network camera option, add the stream URL and then select the UDP option. The ESP32-CAM board camera gives us an MJPEG stream so I had to select the MJPEG option and add it’s IP address to get it working. Just like that, we had both the streams available for use.

Camera Streams

Keep in mind that motion Eye OS cannot carry out motion detection, image capture and video recording using an MJPEG stream so we could only test this with the RPi stream. I decided to use the default setting as I did not want to overload the system. I enabled motion detection, movie recording and increase the video capture quality to 100% as I wanted the video to be recorded in the highest quality possible.

Enabling Motion Detection
Alternatives For The Raspberry Pi

You can watch the video to get an idea of how it performed, but in summary, I wasn’t too happy with it. The video stream and captured video both had multiple artefacts and the results were poor. You might be able to get better performance using a stream with a lower resolution and lower frame rate but I don’t see the point in having such a security camera.

I also do not think the Raspberry PI has enough processing power to stream multiple HD video feeds while also carrying out motion detection, image capture and video recording. I did check out some other alternatives but wasn’t too happy with them and I’ve listed my findings in the image. If you do want to build a DIY surveillance system then I would recommend checking out the next option.

Step 3: Evaluating iSpy Connect

iSpy Connect

The next option I decided to evaluate was iSpy Connect, which claims to be the world’s leading, open-source, video surveillance system. After trying it out, I certainly would agree!

Adding A Camera
Adding The RPi Camera
Adding The ESP32-CAM Camera

Installation was simple, though it only runs on Windows. Adding the cameras was simple too. For the RPi camera, I switched to the FFMPEG tab, added the stream URL and selected Auto for the RTSP mode. It successfully connected to the camera and displayed the stream. For the ESP32-CAM board stream, I simply had to enter the IP address to the MJPEG tab and that video stream was detected just as quick.

Camera Streams
Enabling Motion Detection

Overall, both the streams looked excellent so I couldn’t wait to try out the motion detection and recording capabilities. Doing this was simple too: I opened up the stream settings by clicking the settings icon which showed up when I hovered over the stream. All I had to do was enable the “record when motion is detected” option from the Recording tab. iSpy can also carry out motion detection and recording on the ESP32-CAM MPJPEG stream so I enabled it for that too.

Once motion is detected, the videos are captured and saved to the storage location. They also appear in the bottom window and can be accessed from there. You can also right-click a stream and select the “Show Files” option which will open up the explorer window containing the saved files. The performance for both the streams and the recorded video was excellent and this is truly something you can use as an NVR. The software itself has a ton of features, both for the streams and the application itself so do check out the documentation if you plan on using this.

So that’s how you can add an NVR to your DIY home surveillance project. I am more than happy with the camera display I built in the previous video and I will be using that for my needs. That’s it for this post. If you like projects like this one, then please consider supporting us by subscribing to our YouTube channel.

Thank you for reading!