Zoneminder Open Source NVR Software

Moved to www.NetworkCameraCritic.com

For the budget minded, Zoneminder is open source NVR software to record from your IP cameras and allow you to view them from any web browser. The price, free, is alluring, but how well does it work and is it worth the money?

It’s been said that open source is free, like a free puppy. Zoneminder works, but it takes a great deal of effort to set it up so it depends on how much your time is worth. But as hobbiest know, the journey is half the fun. So let me take you on that journey.

Zonemineder runs on Linux and you can chose from different distributions but for the sake of compactness, I chose Ubuntu Server. The reason is it’s small, fits on one CD as others like SUSE or Red Hat take 2 DVD’s.

To install Ubuntu, you download the CD image (ISO) from here and burn a CD from it. You then boot from the CD and it starts the installation. Make sure you select OpenSSH and LAMP server towards the end as optional software. You then set a static IP address and reboot. You then install Zoneminder and access it remotely from any browser as http://<Ip address of server>/zm. More detailed instructions can be found by clicking here.

Once you have Linux and Zoneminder installed, the fun of adding cameras starts. Once added, they will appear on the home page which looks like this. Very simple screen with a list of cameras. You can view a camera by click on the name.

Zoneminder Home Screen

Adding a camera is not like most NVR software where you select from a choice of cameras, provide an IP address and an image appears. Adding a camera involves research on your part as you have to figure out what the URL is to retrieve a stream from your camera. If you are lucky and someone else has gone through the pain, you can leverage that from their forums. You can also ask for help on their forum. For example, for my ACTi cameras, I had to get the stream through this command – /cgi-bin/cmd/encoder?GET_STREAM. But let me show you a practical example. First you click on Add New Monitor to add the new camera. This takes you to a screen like this and I selected the options to make my ACTi camera work –

This pops up with this multitab window. The two most important are the “General” tab
Zoneminder Adding a Camera

And the “Source” tab where you define the critcal components like camera address, resolution and URL encoding needed to stream the image
Zoneminder Adding a Camera

Once you add all the cameras it actually gets easier. At this point, you may want to add motion detection so you can record events. This is done by creating motion detect zones for each cameras. The software itself monitors motion detection so the more cameras you add, the more motion detect zones, the more CPU it will take up. You setup the motion detect zone by click on the number (intially “1”) under the column heading “Zones” for the camera you want to set motion detect zone for. This pops up with a window like this –

Zoneminder Motion Detect Zones

Lots of information here, but you set the zone area by dragging the corners to create a trapezoid of the area you want to cover. Actually this is better than most software that only lets you select rectangles. You can see from this image I created two zones. You then fill in the options on the left for threshold and more.

To turn on recording for a camera, you click under the column “Function” for the camera name on the home screen and select “Modect”. You’ll start seeing events being recorded when you live view a camera. When it’s recording, the frame around the live image will turn red. For example, this screen shows the live view and all the captured events below. Clicking on a captured events will play it back for you.

Zoneminder Events Screen

This is what they player screen looks like. From here you can view and even export the video

Zoneminder Event Player

A count of events is provided on the home screen for each camera at different summary levels like hour, day, week, month. Clicking on the number will give you a list of events

Zoneminder Events Screen

The last thing you want to setup is what Zoneminder calls a “Montage” which is a multi-camera live view. To set this up, you intuitively click on the upper right where it says “x monitors”. This brings up the group scnreen where you click on New to create a group of cameras you want to view.

Zone Camera Groups

To view a montage, click on “Montage” from the home screen and this is what a screen with 2 cameras will look like.

Zoneminer Montage Display

If you run into problems, the first place to look is in the logs. You get to the logs by clicking “Log” from the home screen

Zoneminder Logs

And lastly, there’s a lot of options and clicking on “Options” on the home screen takes you to this screen. It was too overwhelming for me so I didn’t change anything here.

Zoneminder Options Setup

There’s a lot of flexibility here but comes at the price of a lot of work to set this up. Once setup, it does record events, allows you to play them and works from any browser including those on smart phones. The cost of the product including the operating system is the #1 factor for using Zoneminder but it does require some Linux skills to install and a good amount of research and frustration to get cameras configured. It depends if you have the patience to take on the “free puppy”.


9 Responses to “Zoneminder Open Source NVR Software”

  1. 1 Daniel
    May 15, 2012 at 6:35 pm

    Great review, even better since it is a free Open Source follow up article so soon after your article covering a paid solution. I hope your viewer base grows and that you will continue these reviews. Although I comment rarely I do read every review. Thank you!

  2. 2 Dom
    June 13, 2012 at 2:47 pm

    HI, GREAT article, just what I am looking for, thanks for taking time to publish. I am looking at Zoneminder as a solution for a small business client, with limited budget, who already have an eclectic mix of 5 different Acti, Axis and Mobotix IP cams, but need a new NVR. Working in IT as a SMB solutions guy (Windows), I use various Linux boot disks and distros a lot, mainly for recovery and rescue purposes, run dual boot Wndows/Linux, but am in no way an expert (I generally would only use shell when following explicit instruction).
    1. When you say “some linux skills” what level are we talking here?
    2. Secondly, how many hours did this take to get up and running – as this has a direct cost effect on the customer?
    This solution really appeals to me over their previous Windows / ONSSI box, or a much more expensive dedicated NVR. Cheers, Dom

    • June 13, 2012 at 3:05 pm

      Linux skills required are for the installation which includes knowing your way around the file system, tarballs and using a native text editor (vi, emacs). I used Ubuntu server distro which does not have a GUI, so it’s all command line but you can use a distro with Gnome to make it slighty easier. But once installed, you basically access from it’s web interface. I got it all up and running with my ACTi cameras in about half day. Compared to a simpler Windows based product like BlueIris which took about an hour to setup. Then double each of those times to fine tune the options like motion zones, schedules, etc.

  3. 4 pepe parra
    June 28, 2012 at 9:22 pm


    Great post, thank you very much. I was trying to replace a windows based surveillance system that was running Vivotek software along with three vivotek IP6122 cameras. Former server broke, so I got a refurbished server, installed Ubuntu server on it and zoneminder. Although I’m able to see the cameras from a WXP laptop using IE + some Activex plugin, I failed to get those cameras work with zoneminder. I cannot find anything on internet related to zoneminder + IP6122 cameras, so I don’t really know if those cameras really work with zoneminder or not. Any suggestion will be very appreciated.

  4. 6 gianby
    November 26, 2012 at 5:47 pm

    i’m tring to configure vivotek ip6122 too…any suggestion?
    thank u

    • 7 Pepeparra
      January 14, 2013 at 1:55 am

      Some months ago I finally succeeded in configuring those cameras, but faced some problems. Let me recall what I did and I’ll comment here later.

    • 8 Pepeparra
      January 15, 2013 at 12:47 pm

      I recall those settings on cameras:
      Source type Remote
      Maximum FPS 10 (I think that’s important)
      Protocol HTTP
      Method simple
      host name user:password@ip-of-camera (whatever you may use here, that’s your own data)
      remote host port: your port
      host path (that’s important too) /cgi-bin/video.jpg
      capture width 352 (important)
      capture high 288 (also important) I think that’s the image size those cameras send.

      You can tweak the other settings as I don’t think they are relevant. You can tweak this ones too, please reply if you find a better working settings with those cameras.

      Anyway, with this settings cameras worked for a few minutes, after that I ended with blank screen an the log showed a bunch of weird errors referring to shared data not initialised and so on. I must say I tested several ways of setting that shared data that I found on internet, with no luck. Maybe that’s the point to improve.

      I tested this on an old IBM eseries (dual P3 700 MHz 1Gb RAM). Poor machine was overwhelmed, I’m going to ebay a better server or PC when I get time. Maybe that server was simply not enough to handle the job.

  5. 9 Bill
    February 13, 2013 at 12:05 am

    I know this is an old post, but does anyone know of any video capture cards that will work with this software?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 237 other followers

%d bloggers like this: