Been quiet for a while... blasted work....
But I have been slowly tinkering with my security camera setup and thought I'd share some observations and my current thinking on this, specifically in the area of motion detection and specifically with IP cameras.
I tinkered with motion wrapper a bit and I have to say it works pretty well for simple needs - wrap your and camera with motion wrapper and voila - you have motion events which you can use to trigger LMCE commands and also automatic snapshots being recorded and even a video being created of the motion event for later review. Nice.
Shortcomings, though, are:
- Advanced configuration: This is what you want to do if you want to eliminate most of the false events... so if you're wanting to use it like a perimiter alarm for instance. In short, motion has limited configuration options and even those are tricky because under LMCE advanced config is done at the motion wrapper level which means all your cameras shared by the same motion wrapper will have the same config. And it seems that you need only one motion wrapper device although I have not tested this yet
- Network overhead: It's not huge, but if you've got motion detection running, you're basically sucking as many frames as you can off your cameras per second down your NIC 24/7. As you add to your number of cameras that can become a bit of a bottleneck.
An alternative to this would be to use the advanced IP camera template which, if I'm not mistaken, uses the camera's built-in motion detection alarms to trigger LMCE events rather than using your server to "watch" the cams and do motion detection (correct me if I'm wrong). I haven't tried this, and I think it does make a lot of sense and addresses many of the issues I've mentioned above. My primary concerns, though, are firstly that it relies on the camera's routines and intricacies which could make for a lot of tinkering with the various differences between different cameras' motion detection notification methods and secondly, that it is only as good as the cam's routines.
If you're looking for something a little more powerful this is pretty impressive. It runs on most flavours of Linux and Windows, I gather, and allows some pretty advanced motion detection configuration.
So I installed it on my LMCE server and have been running it for a while with no problems. Of course it's not *integrated* with LMCE, but runs on the same machine and shares the same web server quite happily. My plan was, after a while, to start to work on integrating it into LMCE.
However, I've just taken the next logical step... and that is to have a dedicated zoneminder server.
The reason I've done this is similar to the problems outlined with "motion". Apart from the disk and CPU overhead of zoneminder, there is always going to be constant network traffic between the CAMs and the zoneminder server as the server basically "watches" the cameras constantly, which means grabbing as many frames as it can, all the time. So, it seems to me, it makes a lot more sense to separate this out so you don't burden your LMCE server's NICs with ZM traffic. Rather have a separate ZM box just for that.
As far as integration goes, my first step would be to setup a script that allows the ZM box to fire off messages on the LMCE server for certain events. A simple option would be to configure all your cams just as plain cams (not motion-wrapped) on LMCE and then have ZM "pop them up" on your media director when motion is detected. Or fire some other event that can cause a scenario to be executed. I guess the next step would then be to write a device template for the ZM box and see it as a LinuxMCE device? Possible, I don't know.
Anyway, I think the bottom line of all this is that, in my humble opinion, zoneminder is a pretty good way to go if you want to get serious about motion detection and monitoring of CAMs and I think it makes sense to have it on a dedicated device. Having done that, it would be great to integrate it at a device level into LMCE. I think it would make a very nice partnership.
Just thought I'd share this in case anyone else is investigating this at all.
Have a good weekend, all....