Main Documentation

From ZoneMinder Wiki
Jump to navigationJump to search

Please Note: The documentation for ZoneMinder is currently in the process of being migrated to this Wiki. The documents present in the distribution and available from the Documentation page on the main site should be used until such time as this notice is removed.

Introduction

Welcome to ZoneMinder, the all-in-one Linux GPL'd security camera solution.

A while back my garage was burgled and all my power tools were stolen! I realised shortly after that if I'd just had a camera overlooking the door then at least I'd have know exactly when and who did the dirty deed. And so ZoneMinder was born. It's still relatively new but hopefully it has developed to be something that can be genuinely useful and prevent similar incidents or even perhaps bring some perpetrators to justice.

ZoneMinder is designed around a series of independent components that only function when necessary limiting any wasted resource and maximising the efficiency of your machine. A fairly ancient Pentium II PC should be able to track one camera per device at up to 25 frames per second with this dropping by half approximately for each additional camera on the same device. Additional cameras on other devices do not interact so can maintain this frame rate. Even monitoring several cameras still will not overload the CPU as frame processing is designed to synchronise with capture and not stall it.

As well as being fast ZoneMinder is designed to be friendly and even more than that, actually useful. As well as the fast video interface core it also comes with a user friendly and comprehensive PHP based web interface allowing you to control and monitor your cameras from home or even at work or on the road. It supports variable web capabilities based on available bandwidth. The web interface also allows you to view events that your cameras have captured and archive them or review them time and again, or delete the ones you no longer wish to keep. The web pages directly interact with the core daemons ensuring full co-operation at all times. ZoneMinder can even be installed as a system service ensuring it is right there if your computer has to reboot for any reason.

The core of ZoneMinder is the capture and analysis of images and there is a highly configurable set of parameters that allow you to ensure that you can eliminate false positives whilst ensuring that anything you don't want to miss will be captured and saved. ZoneMinder allows you to define a set of 'zones' for each camera of varying sensitivity and functionality. This allows you to eliminate regions that you don't wish to track or define areas that will alarm if various thresholds are exceeded in conjunction with other zones.

ZoneMinder is fresh off the keyboard and so comes with no warranty whatsoever, please try it, send your feedback and if you get anything useful out of it let me know.

ZoneMinder is free but if you do get ZoneMinder up and running and find it useful then please feel free to visit http://www.zoneminder.com/donate.html where any donations will be appreciated and will help to fund future improvements to ZoneMinder. This would be especially relevant if you use ZoneMinder as part of your business, or to protect your property.

Requirements

ZoneMinder needs a couple of things to work. Ordinarily the ‘configure’ script will check for the presence of required (and optional) components but it is useful to be prepared beforehand.

Firstly, it uses MySQL so you'll need that. In order to compile you need to make sure you have a development installation and not just a runtime; this is because it needs to use the MySQL header files. If you are running an RPM based distribution then it’s probably worth installing all the pure mysql rpm files to be sure you have the right ones.

Next it does things with JPEGs so you'll need at least libjpeg.a which I think come as standard nowadays with most distributions. Users have reported varying degrees of success with other jpeg libraries such as jpeg-mmx but these are not officially supported. If you plan to use network cameras then the Perl Compatible Regular Expression library (libpcre.a) can prove useful but is not always essential. ZoneMinder also uses the netpbm utilities in a very limited way to generate thumbnails under certain circumstances though this can be modified.

ZoneMinder can generate MPEG videos if necessary, for this you'll need either ffmpeg (recommended) or the Berkeley MPEG encoder (mpeg_encode). If you don't have either, don't worry, as the options will be hidden and you'll not really miss too much. Some of the authentication uses openssl MD5 functions, if you get a grumble about these during configuration all it will mean is that authentication won’t be used for streaming. The web interface uses PHP and so you need that in your apache or other web server as well, make sure MySQL support is available either statically or as a module. There are also various perl modules that you may need that vary depending on which options you choose on installation, for more details see later in this document.

Finally, there is quite a bit of image streaming in the package. So if you don't have FireFox or another browser that supports image streaming natively I recommend you get the excellent Cambozola java applet from http://www.charliemouse.com/code/cambozola/ which will let you view the image stream in Internet Explorer and others. Otherwise you're limited to just refreshing still images or mpeg based streams, if you have compatible plugins.

Hardware-wise, ZoneMinder has been used with various video and USB cameras with the V4L interface. It will also work with most Network or IP cameras. I don't have a lot of cameras myself so I've not had change to test it with a huge range personally however there is a list of devices that are definitely known to work on the web site. Please enter you camera on the Wiki list on zoneminder.com if your camera works and is not listed. You do need to have Video4Linux installed. In terms of computer hardware, there are no hard and fast requirements. You may get a system that works with one or two cameras going on an old P200 but you will be able to support more cameras, at a higher frame rate, with faster machines with more RAM. More guidance is available on the web forums.

Components

Building

Installation

Upgrading

Tutorial

Defining Monitors

Defining Zones

Viewing Monitors

Controlling Monitors

Filtering Events

Viewing Events

Options and Users

Camera Control

Control Capabilities

Control Scripts

Mobile Devices

Logging

Troubleshooting

Change History

Release 1.22.3

Release 1.22.2

Release 1.22.1

Release 1.22.0

Release 1.21.4

Release 1.21.3

Release 1.21.2

Release 1.21.1

Release 1.21.0

Release 1.20.1

Release 1.20.0

Release 1.19.5

Release 1.19.4

Release 1.19.3

Release 1.19.2

Release 1.19.1

Release 1.19.0

Release 1.18.1

Release 1.18.0

Release 1.17.2

Release 1.17.1

Release 1.17.0

Release 0.9.16

Release 0.9.15

Release 0.9.14

Release 0.9.13

Release 0.9.12

Release 0.9.11

Release 0.9.10

Release 0.9.9

Release 0.9.8

Release 0.9.7

Release 0.0.1

To Do

Bugs

Non-Bugs

License