What system to use for home camera surveillance?

what you think about zoneminder?

looks great :slight_smile:

It’s been sometime since I tried zoneminder so I don’t remember all the pros and cons. Give it a shot and see if it meets your needs. If like me, you find yourself fighting it, then look to BlueIris.

1 Like

Take MotionEyeOS. Ive running 6 different cameras.
Be carfeul it must be cameras who can reached over
ip. You can buy cheap no name cameras, but kill
them from their homeserver. Its very important!
In openHAB you build a webview url for your
cameraserver. My system is now 3 years old
with no problems. Best regards and good luck!

1 Like

I even did it with motioneye this way:

1 Like

ZoneMinder is Free as in Freedom as well as price. Blue Iris is neither. To me, the Freedom aspect is much more important than the price.

But I find both of the above to be quite “heavy”, requiring databases, web server, etc. So instead, I started using Motion which is much “lighter” as it is headless (config only involves editing a text file). I have it running on an ODROID-XU4.

For cameras, I can highly recommend Xiaomi Xiaofang 1S, which are available on AliExpress for about $20 each, shipped. They are quite nice little 1080P IP cameras. But what makes them really interesting, is that some clever people have hacked the firmware to open them up.

So I just point Motion at the RTSP stream on the camera. That does the motion detection in software on the ODROID-XU4 (as well as saving of video, or pictures if you prefer) to a folder on the ODROID which is synced to whatever devices I want (phones of family members) with Syncthing. The videos are available within moments, usually.

In addition, you can set Motion to execute scripts upon events. I just set this up to update Presence in OpenHAB via MQTT. But you could do whatever you want. Next I will set it to trigger alerts, for when we are not home.


@TRS-80 Motion and cheap camera’s that work! Thanks for the info I’ll have to check it out.

Do you know if Motion runs well on Raspberry Pi 3?

Yes, i know it. Works perfect (MotionEyeOS) with Pi 3.
But be careful with cheap cameras. Kill them from
their homeserver! And you can also use, ps3 eye
with rasperry pi zero and motion. :wink:

Yes, as Bjorn already noted, it works. He is also correct about cheap cameras “phoning home.” But the Xiaomi-Dafang-Hacks I linked to removes all of that. You can even install a completely open source bootloader and operating system on the cameras, if you wish (they are running Linux anyway). Quite nice little devices and project, big kudos to them.

I am not a big fan of RPi for a lot of reasons. They are bottlenecked with Ethernet and USB all sharing the same bus. And you are not in control of the device. Their RTOS loads first and can throttle your Linux installation. The latter being a non-starter for me, personally (if I spend my hard-earned money on a device, I expect it to be my device). Having said that, if you have one already, it will probably be able to process a couple (few?) streams. Not sure how many.

If you are thinking about maybe upgrading some hardware anyway, or want a new toy to play with, or would like to join us in Freedom :smile: you can get an ODROIX-XU4 which is an 8 core big.LITTLE monster with 2GB RAM, actual gigabit ethernet, and 2x USB3 (+1x USB2) and put Armbian on it. I picked up a couple recently for only $50 each (but I think they have gone back up since then).

1 Like

@TRS-80 Thanks again for the extra info and I did find a place that has them on sale for $49 or $54 with power supply (5V/4A). https://www.hardkernel.com/shop/odroid-xu4-special-price/ For others looking into this check the bottom of the link I posted for several videos that go over the board and it’s performance.

Do you use a MicroSD card or an eMMC module to boot the OS? If eMMC which one do you recommend 8, 16, 32 or 64GB?

Yes that is where I got mine from as well.

Personally, I am very picky about quality of power supplies, so I spent a little extra and purchased my own Mean Well from Mouser (IIRC).

I use an EMMC for the OS as they are much faster than SD cards. I picked up a 64 GB “just to be on the safe side” but honestly it’s probably overkill. Do note there are different flavors. You want the Linux one. It comes with Ubuntu I think but I wipe that and put Armbian instead.

Do note that you will need to flash the bootloader on the EMMC, which is in a special hidden partition. This is easy though, just burn Armbian image to SD card, boot once with it, execute nand-sata-install script, install os to EMMC, then copy special bootloader. Both of those are options in the nand-sata-install script which is a curses based menu.

Also note there is a physical switch to select boot from either sd card or EMMC. Power down, put switch to EMMC, remove SD card and enjoy freedom, speed, stability, and the entire regular Debian software repository. :wink:


@TRS-80 Is it possible to programmatically retrieve the snapshots from the RTSP stream? Thanks.

On the camera (using Xiaomi-Dafang-Hacks) it is supposed to be possible to save snapshots and send them via a few different methods, but I could not get that working very well. Not saying it cannot be done, I just didn’t spend much time trying because I had already purchased the Odroid with the plan of using that to do the motion detection and notification.

I do know that Motion gives you options to save videos and/or snapshots and in combination with triggering scripts you can also send them wherever you want.

Did that answer your question?

Thanks. I just set up MotionEyeOS on a spare Rasp Pi. I added an Amcrest camera, and configured the motion detection. It works just like you describe. Motion images are save to /data/output. I should be able to send an mqtt event with access to the images through samba.

I will test this further, but I’ve a feeling that it’s better than the motion detection built on board the Amcrest camera which is very sensitive to light level changes (sunrise/dark/light on etc…).

Thanks for mentioning MotionEyeOS! I didn’t know about it till today. I think it will address my requirement well.

1 Like

Here’s my CPU load on the Rasp Pi 3B with 1 IP cam. CPU varies between 20% and 28%. Definitely can support at least 2 or 3 cams.

Mem: 150232K used, 616516K free, 2348K shrd, 4492K buff, 52128K cached
CPU:  22% usr   0% sys   0% nic  77% idle   0% io   0% irq   0% sirq
Load average: 0.56 0.29 0.11 3/118 1478
 1058  1048 root     S     127m  17%  23% /usr/bin/motion -n -c /data/etc/motion.conf -d 5
1 Like

I use MotionEye, its very easy

These are the cameras we use. Not sure what software though.

1 Like

I upgraded from ZoneMinder to Shinobi. I highly recommend it!

1 Like

I’ve tried, but I wasn’t able to get an accurate motion detection setting. Way too much false positive events. Now using Motion(Eye), and it’s easier to get it working.

1 Like

I got lots of false positive motion detection using the Camera. I put in another PIR motion sensor to get around the issue. But that also occasionally gives false positive triggering, but much less than the camera.

I just put in some code to cross check the PIR motion sensor event with the camera’s motion detection. This is done by first doing the Samba mapping to the Raspberry Pi running motion eye OS. When the PIR event triggers, the code looks for the camera still images from the previous 5 seconds up to 10 seconds in the future. If there is at least one image, then it is a confirmed motion event. It then sends an email alert.

Here’s the code I use, just in case anyone is interested in this.



1 Like