High-Def Video Server Example

midian

Member
I have read a few posts recently where members here were curious about video surveillance options. Thus, I thought I would give a short demo of my system in case any one might be interested.

Cameras:
* 2 x Axis 207MW Megapixel cameras capable of 1280x1024. However, this is a very tall picture, so I run mine in HD mode of 1280 x 720 which also achieves slightly higher frame rate
* 1 x Panasonic BB-HCM311A 640 x 480 Pan/Tilt/Zoom.
* 1 x Generic cams with Sony CCD

Video Capture:
* No video capture card required. All cameras stream video over the local network.

DVR/Software:
* ZoneMinder version 1.24.1
* OpenSuse 11.1
* Data Storage 1TB harddisk

What is ZoneMinder?
In general, all video surveillance systems stream video from a camera and store it to a storage media of some sort. Today, DVR (Digital Video Recorders) as commonplace storage mediums for video surveillance. ZoneMinder goes far above and beyond just recording the video streams to disk by performing the following tasks:

* Support analog cameras with a video capture card, Network cameras, or a combination
* Has live web-based monitors for each camera
* Analyzes the incoming video stream
* Supports creation of “Zones†where a video cam image is separated into multiple components. For example, you can outline your driveway as one zone, your walkway as another, and maybe your lawn as yet another.

zone_definition.png


* Each zone supports advanced rules that define how much motion, how large of an object, or how many frames of change determine an “Alarm†state. This type of logic might be handy to prevent wind blowing on trees form creating a false alarm for example.
* Support interfacing with X10, Insteon, or any other X10-based controller
* Can perform actions upon “Alarm†state
* Organizes alarm “Events†and provides a number of advanced tools for reviewing or analysis of the events.

zm_timeline.png


Camera Installation details:
The Axis cams come with both a gimbal style (goose neck socket on a stick) mount and a clamping shelf mount. I installed mine by drilling a pilot hole and screwing in a thin hooked plant hanger. Then, I locked down the clamping shelf mounts to the hook. Since these two cameras are placed inside a window, the window sill itself provides additional stability to the camera to prevent twisting or movement. As a result, this single hook is enough to hold the camera firmly in place. The Axis cameras are about the size of a pack of cigarettes and hide nicely out of side behind a curtain.

Placement of the cameras is the most critical part of installation really. The camera should ideally be mounted pointing down slightly and aimed across the target area instead of directly at it. This “across and down†angle gives a large field of field.

While wireless network cameras are a very convenient addition to a home surveillance system, they do consume wireless network bandwidth. Thus, it is best to hard-wire Ethernet to network cameras when possible. I estimate that 2 wireless HD cams consume about 1/6 of my wireless 802.11n network bandwidth. This still leaves plenty of bandwidth leftover. None the less, it is an infrastructure requirement that does impose practical limits on how many cameras could be run over wireless at once.

Server / ZoneMinder Installation:
If you would just like to test out ZoneMinder without needing to commit to it, the easiest solution is to download the “Live CD†based on Ubuntu. The Live CD is a pre-build version of Ubuntu that runs completely off a CD rom disk and memory with all the ZomeMinder configuration and setup done in advance. You just dowload the CD, burn the ISO, boot up a computer with the cd and the distribution starts up WIHTOUT altering the computer in any way. This is a great way to try it out and experiment without needing to commit.

If you are not an experienced Linux geek and this is your first time running Linux, I highly recommend installing the Ubuntu distribution of Linux as it has the largest community and best support resources available. Yes, ZoneMinder will run on RedHat, Suse, Mandriva, or any other distribution too. However, on-line tutorials and help for these distributions can be harder to come by. Plus, many of the other distributions expect a higher degree of expertise. For example, I just used the OpenSuse installation of ZoneMinder and found it to be horrible, buggy in multiple places, and required manual compilation of a component to get it to work. The sad truth is that many users interested in ZoneMinder give up because they cannot get it installed and working.

Once you get past the installation step, ZoneMinder is very easy to configure. In fact, all control and configuration is performed through a web browser. The general steps are:

1.Add each camera
2.Define the Zones
3.Set the “Mode†of operation for each camera (Monitor, Motion Detect, Time Lapse Record, etc)

Here are some sample pictures of ZoneMinder and the Axis207MW camera in action:

frontyard_day_axis207mw_sample.jpg

frontyard_lowligh_axis207mw_sample.jpg


I hope this is a helpful primer on the use of ZoneMinder and network cameras.

Edited to add: Moderator, can you please correct the post subject to read "High-Def Video Server Example". Thanks.
 
Looks great. Thanks for the info. Do you mind posting a night time picture? I'm always curious to see how well camera's do in low light situations. I'd like to be able to say that I'm in the market for some cameras, but that expense isn't going to get approval right now :).
 
I'm using this with a couple of cheap Axis cameras and a Lumenera 3MP (1920x1200) camera. It's a great piece of software, even though they need to find someone to pretty up the web interface and make it a bit more usable.

I do have a couple of issues with it though...
- Analysis of a full 1920x1200 image stream completely buries the CPU on a P4 3.0ghz proc. I run the high res so I can have a log of license plate numbers of cars that drive down the private road I'm on.
- Motion detection on smaller 640x480 cams is easy to get working properly, but quite difficult to tune on a 1920x1200 image. I'm using blobs, which takes a bit more processing power, but it's been able to provide the least amount of false positives on motion detection.

Supposedly there is now h.264 support in Zoneminder, but none of my cameras will do it. Freescale recently announced a "low-cost" h.264 mini-camera platform with PoE and the ability to take C or CS lenses. I was all excited until I found out that "low-cost" means $2k. Ridiculous. Price them at $200 each and I'll take 10 of them, there's no way there is more than $100 in parts into those things.

Zoneminder rocks though.
 
What about trees blowing in the wind? I have issues with my software when the trees blow. The shadow that moves around is bigger then any person so any trigger that will catch a person catches the shadows.

My only solution was to move the cameras to a place where there is no tree shadows during the day.


I'm using this with a couple of cheap Axis cameras and a Lumenera 3MP (1920x1200) camera. It's a great piece of software, even though they need to find someone to pretty up the web interface and make it a bit more usable.

I do have a couple of issues with it though...
- Analysis of a full 1920x1200 image stream completely buries the CPU on a P4 3.0ghz proc. I run the high res so I can have a log of license plate numbers of cars that drive down the private road I'm on.
- Motion detection on smaller 640x480 cams is easy to get working properly, but quite difficult to tune on a 1920x1200 image. I'm using blobs, which takes a bit more processing power, but it's been able to provide the least amount of false positives on motion detection.

Supposedly there is now h.264 support in Zoneminder, but none of my cameras will do it. Freescale recently announced a "low-cost" h.264 mini-camera platform with PoE and the ability to take C or CS lenses. I was all excited until I found out that "low-cost" means $2k. Ridiculous. Price them at $200 each and I'll take 10 of them, there's no way there is more than $100 in parts into those things.

Zoneminder rocks though.
 
What about trees blowing in the wind? I have issues with my software when the trees blow. The shadow that moves around is bigger then any person so any trigger that will catch a person catches the shadows.

Using blobs for detection will reduce this. But I don't think you'll be able to completely eliminate it. It would be awesome if I could make my M1 send a trigger to the vid server to start recording when the PIR/Microwave sensors detected motion, but I don't think this is possible yet. Even if there was a syslog capability, I could have something that scraped the logs looking for certain strings to trigger recording.

There is also another setting, which I think is under each camera, that allows you to tell it to analyze images in multipixel blocks. I think this also has some effect on it.

To reduce falses on mine, I eliminated the trees from my motion detection zones and only analyze the street and area in front of my house. I suppose someone could do a Crouching Tiger, Hidden Dragon thing to get to my house, but I find that unlikely. I also don't have huge problems with shadows on the ground where my cameras are aimed.
 
It looks like Zoneminder has some neat features that my software doesn't...but I have one advantage.

I can make my blobs colored...so colors can get ignored. For instance, if I make the blob black, all colors in that area are ignored. Make it green, it ignores green in that area (i.e. trees). It isn't terribly hard in my software, as you can set the color tolerance, as well as when you are coloring in things for the mask, you just choose the color pickup tool, click the color that you want in the captured image (from the camera), color in! Then you have a "perfect" color match.

It works VERY well on my B/W cameras. Have not had enough light to do a colored camera at night...and not enough funds to get one that works under the low light conditions.

--Dan
 
What about trees blowing in the wind? I have issues with my software when the trees blow. The shadow that moves around is bigger then any person so any trigger that will catch a person catches the shadows.

My only solution was to move the cameras to a place where there is no tree shadows during the day.
There are several ways you can reduce this kind of false alarm actually. The most common thing to do is to setup zones with dependencies. For example, you could say:

* Lawn zone is a secondary type zone where it will only alarm if a primary zone is alarmed first. Then, you define perimeter "primary" zones around walkways, driveways, or outer areas.
* You can create some zones such that a certain number of frames must have motion before there are alarms
* Blob zones do have many customizations too. You can create object settings and filter settings too

In my case, I use motion detection just to help reduce disk space required to record. Sure, shadows and stormy days cause false alarms. However, it is pretty easy to filter through those quickly with the "timeline" and event filter tools.

Also, as requested, here are some night shots from the Axis207MW. It is not the world's best night cam, but it is still darn good considering this is the country with no street lights or other ambient light at all.

axis_207mw_night_pic_sample2.jpg

axis_207mw_night_pic_sample3.jpg
 
This is a great thread, I would actually consider trying ZoneMinder again, but it doens't support the AverMedia (nv5000) capture card.
 
It looks like Zoneminder has some neat features that my software doesn't...but I have one advantage.

I can make my blobs colored...so colors can get ignored. For instance, if I make the blob black, all colors in that area are ignored. Make it green, it ignores green in that area (i.e. trees). It isn't terribly hard in my software, as you can set the color tolerance, as well as when you are coloring in things for the mask, you just choose the color pickup tool, click the color that you want in the captured image (from the camera), color in! Then you have a "perfect" color match.

It works VERY well on my B/W cameras. Have not had enough light to do a colored camera at night...and not enough funds to get one that works under the low light conditions.

--Dan


Dan dont leave us hanging... is this your own custom software? if not what is it and where can we get it?
 
http://www.zoneminder.com/

Or, on Ubuntu, "apt-get install zoneminder". Last I checked, version 1.24 did not have an official package and you had to add a different repository to get the latest one. Check the instructions on the site. There are a LOT of options with this thing, but it should work out of the box just fine after just adding your cameras.
 
Dan dont leave us hanging... is this your own custom software? if not what is it and where can we get it?

Sorry! Sometimes I'm a bonehead!

http://www.supervisioncam.com/

It costs some $$ (webpage states € 40, which is 55.82800 U.S. dollars...but I think I was rounded down to $55 when I bought it), but for the price, it works very very well. No limit on the amount of cameras you can hook into it, be it IP, USB, capture card, etc. For the most part, as long as it's VFW, you can get streaming video...it can also look at a desktop, or a "webpage" (give it a link to the image that's being presented by your IP camera)...and you can stream it in like that.

I used to have it alert me when the camera detected anything...I can post some stills if anyone wants to see.

I also did a "second" look approach. Kind of how that 2 zone blob feature works. Basically, the motion sensor would detect something...kick the lights on it necessary...then the camera would come on. After 2 seconds (the longest I found it took for me camera to stop starlighting because the AGC hadn't caught up to the low light levels), I would turn on the motion detection. So long as there was detection, the camera stayed on and kept the lights on...all the while capturing images. I didn't like to capture video as stills just seemed to be able to be captured larger and more detailed...especially when I was running all 5 cameras at once (my server is ALSO my home automation server...so I had to ensure I didn't overload anything!!).

Has some really advanced features...I've used some Pelco stuff as well as some REALLY expensive stuff for my last job...this had a "basic" implementation of those advanced features...and for the price, I couldn't pass it up! has a PPC viewer (which just interprets the streams from the built in webserver). I've not been happier with anything I've used (especially at how easy it was to integrate with Homeseer!!).

Here's a cut and paste from the website:

---------------------------------------------------------

Save the images as BMP, JPG or PNG to your hard disk
Play a sound
Send a message to any computer in the network
Send a mail (MAPI or SMTP) with the images that causes the alarm as an attachment
Start a program
Minimize the active Window (for our game players)
Create a protocol as a HTML or XML document
Upload this protocol including the images to a server with optional dial in support


SupervisionCam can also capture images in a defined time interval. This allows to use it as a Web Cam program or simple capture the frames of a slow motion activity like an opening blossom.
If the source is an image file of an Internet Webcam the program can collect these images.


Additional features:
Supports a large range of cameras and capture boards: USB video cams, analog cameras connected to Windows capture devices (like TV-board), multi-channel capture devices with WDM drivers, DV camcorders with Fire wire (IEEE 1394) interface, network surveillance cameras with integrated web server and more
Support for more than one camera simultaneously
Supports English, German, French, Spanish, Italian, Dutch and Portuguese
Remote control of the program and view images over a simple web browser
Option to add a description and/or logo to each image
Rotate or mirror the source image
Fast viewer to review or print the captured pictures
Support a mask to define the active area for motion detection
Advanced print function
Save all settings in documents (allows quick recover of the settings for different usage e.g. supervision, Web Cam, ...)
A comprehensive surveillance scheduler
Convert images in a background thread to enhance performance
Static or dynamic motion detection threshold configuration
Optional network (LAN) copy or FTP upload of images and HTML or XML protocol
Customizable HTML pages with placeholders for captured events
Limit the number of images saved on the hard disk or saved on the server
Check the available size on our hard disk and stop saving if the available space exceeds a critical value
Taskbar control
SupervisionCam can check for updates on the internet automatically

--------------------------------------------

--Dan
 
Anyone seem a current version of Zoneminder on a LiveCD? I need to rebuild my system as I had a MB failure. Latest I have is 1.22.2.1
 
Back
Top