From 3d6e828fc798ef737e9966d242a7dc3091afe77c Mon Sep 17 00:00:00 2001
From: stan
6.6.24< style='font-family:"Times New Roman";color:windowtext;font-weight:normal; text-decoration:none'> Camera Control26
+style='color:windowtext;display:none;text-decoration:none'>25 +style='color:windowtext;display:none;text-decoration:none'>25 +style='color:windowtext;display:none;text-decoration:none'>27 +style='color:windowtext;display:none;text-decoration:none'>29 +style='color:windowtext;display:none;text-decoration:none'>30 +style='color:windowtext;display:none;text-decoration:none'>33 +style='color:windowtext;display:none;text-decoration:none'>33 +style='color:windowtext;display:none;text-decoration:none'>35 +style='color:windowtext;display:none;text-decoration:none'>36 +style='color:windowtext;display:none;text-decoration:none'>37 +style='color:windowtext;display:none;text-decoration:none'>38 +style='color:windowtext;display:none;text-decoration:none'>39 +style='color:windowtext;display:none;text-decoration:none'>39 +style='color:windowtext;display:none;text-decoration:none'>40 +style='color:windowtext;display:none;text-decoration:none'>42 +style='color:windowtext;display:none;text-decoration:none'>42 +style='color:windowtext;display:none;text-decoration:none'>44 +style='color:windowtext;display:none;text-decoration:none'>44 +style='color:windowtext;display:none;text-decoration:none'>45 +style='color:windowtext;display:none;text-decoration:none'>46 +style='color:windowtext;display:none;text-decoration:none'>47 +style='color:windowtext;display:none;text-decoration:none'>47 +style='color:windowtext;display:none;text-decoration:none'>49 +style='color:windowtext;display:none;text-decoration:none'>50 +style='color:windowtext;display:none;text-decoration:none'>50 +style='color:windowtext;display:none;text-decoration:none'>51 +style='color:windowtext;display:none;text-decoration:none'>52 +style='color:windowtext;display:none;text-decoration:none'>53 +style='color:windowtext;display:none;text-decoration:none'>54 +style='color:windowtext;display:none;text-decoration:none'>55 +style='color:windowtext;display:none;text-decoration:none'>56 +style='color:windowtext;display:none;text-decoration:none'>57 +style='color:windowtext;display:none;text-decoration:none'>58 +style='color:windowtext;display:none;text-decoration:none'>59 +style='color:windowtext;display:none;text-decoration:none'>60 +style='color:windowtext;display:none;text-decoration:none'>61./configure --with-mysql=<your MySQL root> ---with-webdir=<your web directory> --with-cgidir=<your cgi -directory>
+./configure --with-mysql=<your MySQL root> --with-webdir=<your +web directory> --with-cgidir=<your cgi directory>
where --with-mysql identifies the root directory where you have installed MySQL (usually /usr), --with-webdir is the @@ -761,9 +760,9 @@ much be specified with zmconfig which detail things such as database passwords which are compiled into ZoneMinder and other options with are stored in the database and which can be modified dynamically via the ‘options’ section of the web interface. Only the first set need to be completed with zmconfig at this -stage. If you want to change just a few options and can’t access the options dialog -via the web you can append them as parameters to zmconfig and it will just ask -you about those. So for example,
+stage. If you want to change just a few options and can’t access the options +dialog via the web you can append them as parameters to zmconfig and it will +just ask you about those. So for example,perl ./zmconfig.pl ZM_STRICT_VIDEO_CONFIG
@@ -881,10 +880,9 @@ ZoneMinder Package Control script. This is used by the web interface and service scripts to control the execution of the system as a whole.zmdc.pl - This is the -ZoneMinder Daemon Control script. This is used by the web interface and the -zmpkg.pl script to control and maintain the execution of the capture and -analysis daemons, amongst others. You should not need to run this script -yourself.
+ZoneMinder Daemon Control script. This is used by the web interface and the zmpkg.pl +script to control and maintain the execution of the capture and analysis +daemons, amongst others. You should not need to run this script yourself.zmfilter.pl - This script controls the execution of saved filters and will be started and stopped @@ -1054,8 +1052,8 @@ README are installed to the systems default document folder.
The packaged version of Zone Minder installs all binarys to /usr/lib/zm including the web pages. So don’t worry when you do not see any files installed to the root directory for your -web server. The web pages for Apache are aliased by zm.conf in the apache/conf.d -directory which vary depending on your distribution:
+web server. The web pages for Apache are aliased by zm.conf in the +apache/conf.d directory which vary depending on your distribution:Fedora Core: /etc/httpd/conf.d/zm.conf
@@ -1242,7 +1240,8 @@ saved frame etc. An alternate way of thinking is that one in every + 1’ frames is saved. The point of this is to ensure that saved events do not take up too much space unnecessarily whilst still allowing the camera to capture at a fairly high frame rate. The alternate approach is to limit the -capture frame rate which will obviously affect the rate at which frames are saved. +capture frame rate which will obviously affect the rate at which frames are +saved.Run Mode – Two choices are available here. ‘Continuous’ is the usual setting and means that the monitor is expected to be @@ -1254,12 +1253,12 @@ actually be active is devolved to an external triggering mechanism.
Triggers – This small section lets you select which triggers will apply if the run mode has been set to ‘triggered’ above. The most common trigger is X10 and this will appear here if you indicated that -your system supported it during installation. Only X10 is supported as a -shipped trigger with ZoneMinder at present but it is possible that other -triggers will become available as necessary. You can also just use ‘cron’ jobs -or other mechanisms to actually control the camera and keep them completely -outside of the ZoneMinder settings. The zmtrigger.pl script is also available -to implement custom external triggering.
+your system supported it during installation. Only X10 is supported as a shipped +trigger with ZoneMinder at present but it is possible that other triggers will +become available as necessary. You can also just use ‘cron’ jobs or other +mechanisms to actually control the camera and keep them completely outside of +the ZoneMinder settings. The zmtrigger.pl script is also available to implement +custom external triggering.Source Type – This determines whether the camera is a local one attached to a physical video or USB port on your machine or a @@ -1301,11 +1300,11 @@ initially.
down or at right angles you can use this field to specify a rotation that is applied to the image as it is captured. This incurs an additional processing overhead so if possible it is better to mount your camera the right way round -if you can. If you choose one of the rotation options remember to switch the -height and width fields so that they apply, e.g. if your camera captures at -352x288 and you choose ‘Rotate Right’ here then set the height to be 352 and -width to be 288. You can also choose to ‘flip’ the image if your camera -provides mirrored input. +if you can. If you choose one of the rotation options remember to switch the height +and width fields so that they apply, e.g. if your camera captures at 352x288 +and you choose ‘Rotate Right’ here then set the height to be 352 and width to +be 288. You can also choose to ‘flip’ the image if your camera provides +mirrored input.‘Source’ Tab (remote device)
@@ -1330,8 +1329,8 @@ actually capturing to this palette beforehand.Timestamp Label Format – This relates to the timestamp that is applied to each frame. It is a ‘strftime’ style string. -It is actually passed through strftime and then through printf to add the -monitor name so a format of '%%s - %y/%m/%d %H:%M:%S' (note the double % at the +It is actually passed through strftime and then through printf to add the monitor +name so a format of '%%s - %y/%m/%d %H:%M:%S' (note the double % at the beginning) would be recommended though you can modify it if necessary. If you don’t want a timestamp or have a camera that puts one on itself then leave this field blank. If you add a second %%s placeholder in the string this will be @@ -1690,11 +1689,11 @@ places as the sun and/or shadows move and it thus may be difficult to come up with general values. Additionally, if the sun comes out rapidly then although the initial change may be ignored in this way as the reference image catches up an alarm may ultimately be triggered as the image becomes less different. Using -one or more Preclusive zones offers a different approach. Preclusive zones are -designed to be fairly small, even just a few pixels across, with quite low -alarm thresholds. They should be situated in areas of the image that are less -likely to have motion occur such as high on a wall or in a corner. Should a -general illumination change occur they would be triggered at least as early as any +one or more Preclusive zones offers a different approach. Preclusive zones are designed +to be fairly small, even just a few pixels across, with quite low alarm +thresholds. They should be situated in areas of the image that are less likely +to have motion occur such as high on a wall or in a corner. Should a general +illumination change occur they would be triggered at least as early as any Active zones and prevent any other zones from generating an alarm. Obviously careful placement is required to ensure that they do not cancel any genuine alarms or that they are not so close together that any motion just hops from @@ -1829,9 +1828,9 @@ running with one or more Zones each. Returning to the main Console window you will see your monitors listed once more. The columns not explored so far are the Monitor name, and various event totals for certain periods of time. Clicking on any of the event totals will bring up a variation on the same -window but click on the Monitor name for now. On doing so up will pop another window -which should be scaled to contain a heading, an image from your monitor, a -status and a list of recent events if any have been generated. Depending on +window but click on the Monitor name for now. On doing so up will pop another +window which should be scaled to contain a heading, an image from your monitor, +a status and a list of recent events if any have been generated. Depending on whether you are able to view a streamed image or not the image frame will either be this stream or a series of stills. You have the option to change from one to the other (if available) at the centre of the top heading. Also along @@ -1856,12 +1855,12 @@ other windows in front it will pop up to the front if it goes to Alarm state. This behaviour can be turned off in ‘options’ if required. You can also specify a sound file in the configuration, which will be played when an alarm occurs to alert you to the fact if you are not in front of your computer. This should be -a short sound of only a couple of seconds ideally. Note that as the status is refreshed -every few seconds it is possible for this not to alert you to every event that -takes place, so you shouldn't rely on it for this purpose if you expect very -brief events. Alternatively you can decrease the refresh interval for this -window in the configuration though having too frequent refreshing may impact on -performance.
+a short sound of only a couple of seconds ideally. Note that as the status is +refreshed every few seconds it is possible for this not to alert you to every +event that takes place, so you shouldn't rely on it for this purpose if you +expect very brief events. Alternatively you can decrease the refresh interval +for this window in the configuration though having too frequent refreshing may +impact on performance.Below the status is a list of recent events that have occurred, by default this is a listing of just the last 10 but clicking on @@ -1915,10 +1914,10 @@ browsers which support streamed images directly. Used in this way you can just click on the area of the image that interests you and the camera will centre on that spot. You can also use direct image control for relative motion when the area of the image you click on defines the direction and the distance away from -the centre of the image determines the speed. As it is not always very easy to -estimate direction near the centre of the image, the active area does not start -until a short distance away from the centre, resulting in a ‘dead’ zone in the -middle of the image.
+the centre of the image determines the speed. As it is not always very easy to estimate +direction near the centre of the image, the active area does not start until a +short distance away from the centre, resulting in a ‘dead’ zone in the middle +of the image.There are several different elements to an event that you can filter on, some of which require further explanation. These are as follows, -'Date/Time' which must evaluate to a date and a time together, 'Date' and -'Time' which are variants which may only contain the relevant subsets of this, +'Date/Time' which must evaluate to a date and a time together, 'Date' and 'Time' +which are variants which may only contain the relevant subsets of this, 'Weekday' which as expected is a day of the week. All of the preceding elements take a very flexible free format of dates and time based on the PHP strtotime function (http://www.zend.com/manual/function.strtotime.php). This allows @@ -1987,18 +1986,18 @@ have created a filter you want to keep, you can name it and save it by clicking
If you do this then the subsequent dialog will also allow you specify whether you want this filter automatically applied in order to delete events or upload events via ftp to another server and mail notifications -of events to one or more email accounts. In most cases you can specify your -preferences for upload formats and email content during configuration time -(make sure you type '?' to get help on options). Emails and messages -(essentially small emails intended for mobile phones or pagers) have a variety -of tokens that can be substituted for various details of the event that caused -them. This includes links to the event view or the filter as well as the option -of attaching images or videos to the email itself. See the included templates -zmconfig_eml.txt and zmconfig_msg.txt for a fuller explanation of the availability -and meaning of these tokens. Finally you can also specify a script which is run -on each matched event. This script should be readable and executable by your -web server user. It will get run once per event and the relative path to the -directory containing the event in question. Normally this will be of the form +of events to one or more email accounts. In most cases you can specify your preferences +for upload formats and email content during configuration time (make sure you +type '?' to get help on options). Emails and messages (essentially small emails +intended for mobile phones or pagers) have a variety of tokens that can be +substituted for various details of the event that caused them. This includes +links to the event view or the filter as well as the option of attaching images +or videos to the email itself. See the included templates zmconfig_eml.txt and +zmconfig_msg.txt for a fuller explanation of the availability and meaning of +these tokens. Finally you can also specify a script which is run on each +matched event. This script should be readable and executable by your web server +user. It will get run once per event and the relative path to the directory +containing the event in question. Normally this will be of the form <MonitorName>/<EventId> so from this path you can derive both the monitor name and event id and perform any action you wish. Note that arbitrary commands are not allowed to be specified in the filter, for security the only @@ -2107,10 +2106,10 @@ zmconfig.pl. A number of option groups have a master option near the top which enables or disables the whole group so you should be aware of the state of this before modifying options and expecting them to make any difference.
-If you have changed the value of an option you should -then ‘save’ it. A number of the option groups will then prompt you to let you -know that the option(s) you have changed will require a system restart. This is -not done automatically in case you will be changing many values in the same +
If you have changed the value of an option you should then +‘save’ it. A number of the option groups will then prompt you to let you know +that the option(s) you have changed will require a system restart. This is not +done automatically in case you will be changing many values in the same session, however once you have made all of your changes you should restart ZoneMinder as soon as possible. The reason for this is that web and some scripts will pick up the new changes immediately but some of the daemons will @@ -2147,25 +2146,25 @@ web interface presented in their own language rather than the system default, if it is available. Specifying a language here is done in the same way as for the system default language described above.
-There are also four values that define the user permissions, -these are ‘stream’, ‘events’, ‘monitors’ and ‘system’ Each can have values of -‘none’, ‘view’ or ‘edit’ apart from ‘stream’ which has no ‘edit’ setting. These -values cover access to the following areas; ‘stream’ defines whether a user is -allowed to view the ‘live’ video feeds coming from the cameras. You may wish to -allow a user to view historical events only in which case this setting should -be ‘none’. The ‘events’ setting determines whether a user can view and modify -or delete any retained historical events. The ‘monitors’ setting specifies -whether a user can see the current monitor settings and change them. Finally -the ‘system’ setting determines whether a user can view or modify the system -settings as a whole, such as options and users or controlling the running of -the system as a whole. As well as these settings there is also a monitor ids -setting that can be used for non-’system’ users to restrict them to only being -able to access streams, events or monitors for the given monitors ids as a comma -separated list with no spaces. If a user with ‘monitors’ edit privileges is -limited to specific monitors here they will not be able to add or delete -monitors but only change the details of those they have access to. If a user -has ‘system’ privileges then the ‘monitors ids’ setting is ignored and has no -effect.’
+There are also four values that define the user +permissions, these are ‘stream’, ‘events’, ‘monitors’ and ‘system’ Each can +have values of ‘none’, ‘view’ or ‘edit’ apart from ‘stream’ which has no ‘edit’ +setting. These values cover access to the following areas; ‘stream’ defines +whether a user is allowed to view the ‘live’ video feeds coming from the +cameras. You may wish to allow a user to view historical events only in which +case this setting should be ‘none’. The ‘events’ setting determines whether a +user can view and modify or delete any retained historical events. The +‘monitors’ setting specifies whether a user can see the current monitor settings +and change them. Finally the ‘system’ setting determines whether a user can +view or modify the system settings as a whole, such as options and users or +controlling the running of the system as a whole. As well as these settings +there is also a monitor ids setting that can be used for non-’system’ users to +restrict them to only being able to access streams, events or monitors for the +given monitors ids as a comma separated list with no spaces. If a user with +‘monitors’ edit privileges is limited to specific monitors here they will not +be able to add or delete monitors but only change the details of those they +have access to. If a user has ‘system’ privileges then the ‘monitors ids’ +setting is ignored and has no effect.’
That’s pretty much is it for the tour, though there is a lot more to ZoneMinder as you will discover. You should experiment with the @@ -2209,9 +2208,9 @@ to support every camera out of the box. Some degree of development is likely to be required for many cameras. This should often be a relatively straightforward task however if you have a camera that you want to be supported then please feel free to get in touch and I should be able to provide an estimate for how -much effort this is likely to be. It is also the case that I have only been -able to access this limited number of cameras to test against; some other -cameras may use different motion paradigms that don’t fit into the control +much effort this is likely to be. It is also the case that I have only been able +to access this limited number of cameras to test against; some other cameras +may use different motion paradigms that don’t fit into the control capability/script architecture that ZoneMinder uses. If you come across any cameras like this then please forward as much information to me as possible so that I may be able to extend the ZoneMinder model to encompass them.
@@ -2421,12 +2420,12 @@ style='font:7.0pt "Times New Roman"'> Control ScThe second key element to controlling cameras with ZoneMinder is ensuring that an appropriate control script or application is present. A small number of sample scripts are included -with ZoneMinder and can be used directly or as the basis for development. -Control scripts are run atomically, that is to say that one requested action -from the web interface results in one execution of the script and no state -information is maintained. If your protocol requires state information to be -preserved then you should ensure that your scripts do this as ZoneMinder has no -concept of the state of the camera in control terms.
+with ZoneMinder and can be used directly or as the basis for development. Control +scripts are run atomically, that is to say that one requested action from the +web interface results in one execution of the script and no state information +is maintained. If your protocol requires state information to be preserved then +you should ensure that your scripts do this as ZoneMinder has no concept of the +state of the camera in control terms.If you are writing a new control script then you need to ensure that it supports the parameters that ZoneMinder will pass to it. If you @@ -2645,8 +2644,8 @@ specifically please let me know and I would be pleased to hear about it.
As support for cookies in mobile devices is patchy at best, the groups feature is not fully implemented in the XHTML-MP views. Instead if there is a group called ‘Mobile’ already defined then that group -will always be effective, if not then all monitors available to the logged in -user will be visible,
+will always be effective, if not then all monitors available to the logged in user +will be visible,@@ -2676,8 +2675,8 @@ something like that to check for settings that work and then run zmu -d <device_no> -q -v to get the settings. If you can't get them to work with that then the likelihood is they won't work with ZoneMinder. Also check the system logs (usually /var/log/messages) for any video configuration errors. If -you get some and you're sure they're not a problem then switch off ZM_STRICT_VIDEO_CONFIG -in zmconfig.pl or the ‘options’ tab. +you get some and you're sure they're not a problem then switch off +ZM_STRICT_VIDEO_CONFIG in zmconfig.pl or the ‘options’ tab.
o @@ -2686,8 +2685,8 @@ can run the zmc capture daemon from the command line as 'zmc --device 0' (or whatever your video device is). If it returns immediately there's a problem so check the logs, if it stays up then your video configuration is probably ok. To get more information out of it use debug as specified below. Also check that -the shared memory segment has been created by doing 'ipcs -m'. Finally, beware of -doing tests as root and then trying to run as another user as some files may +the shared memory segment has been created by doing 'ipcs -m'. Finally, beware +of doing tests as root and then trying to run as another user as some files may not be accessible. If you're checking things as root make sure that you clean up afterwards!
@@ -2700,8 +2699,8 @@ from running certain programs. You may have to set configuration to allow this. Also since the daemons are started by your web server, if it dies or is shut down then the daemons may disappear. In this version the daemons are run under the control of a script which should trap expected signals but it is possible -this doesn't cover all circumstances. If everything else works but you can’t -get images in your browser a likely cause is a mismatch between where your web +this doesn't cover all circumstances. If everything else works but you can’t get +images in your browser a likely cause is a mismatch between where your web server expects to execute CGI scripts and where you have installed the zms streaming server. Check your server configuration for the correct CGI location and ensure you have supplied the same directory to the ZoneMinder configure @@ -2761,8 +2760,8 @@ style='font-family:"Courier New"'>o&n Use debug. ZoneMinder has various debug in it that by default will go into your system log (via syslog). These will be of the form of -"Sep 14 14:50:11 -localhost zma-0[1975]: INF [Front: 221000 - Processing at 4.26 fps ]"
+"Sep 14 14:50:11 localhost +zma-0[1975]: INF [Front: 221000 - Processing at 4.26 fps ]"
where the zma-0 part identifies the daemon and the device it is running on. Entries with INF in are @@ -2901,6 +2900,13 @@ style='font:7.0pt "Times New Roman"'> FIX – Fixed a nasty problem in zmaudit which meant that older events sometimes didn’t get tidied up and deleted properly.
+o +FIX – Fixed an issue with the multi-part jpeg streams having +frame boundaries output at the end of each image and not the beginning. Apart +from this not being ideal semantically it also meant that ZM had trouble +parsing it’s own output!
+o FEATURE – Some of the scripts have a new debug format that is @@ -3108,16 +3114,15 @@ style='font:7.0pt "Times New Roman"'> Compatible Regular Expression (PCRE) library, mostly to do with it not being found or an incorrect version being used. This version allows an alternative method of parsing the output from network cameras that does not depend on -libpcre at all. Which method is used is controlled by the option -Options->Network->ZM_NETCAM_REGEXPS. If this option is on then the -traditional regular expression based parsing is implemented, provided you have -built with libpcre. If the option is off or libpcre is missing then a more -basic parsing is used instead. This new method should be slightly faster as it -does not have the overhead of regular expression parsing, however this also -makes it slightly more inflexible. If you experience problems using the new -method with your netcam then you should try switching to the regular expression -based method, and report the issue via the forums, preferably with a snapshot -of the output of your camera.
+libpcre at all. Which method is used is controlled by the option Options->Network->ZM_NETCAM_REGEXPS. +If this option is on then the traditional regular expression based parsing is +implemented, provided you have built with libpcre. If the option is off or +libpcre is missing then a more basic parsing is used instead. This new method +should be slightly faster as it does not have the overhead of regular +expression parsing, however this also makes it slightly more inflexible. If you +experience problems using the new method with your netcam then you should try +switching to the regular expression based method, and report the issue via the +forums, preferably with a snapshot of the output of your camera.o -FIX – Some constants were defined unquoted, -this has now been corrected.
+FIX – Some constants were defined +unquoted, this has now been corrected.o @@ -3172,8 +3177,8 @@ style='font:7.0pt "Times New Roman"'> FIX – In previous versions it was possible for a process to die and not be reaped by zmdc.pl. This could have resulted in processes remaining as zombies resulting in them not being -restarted after crashing. This has now been fixed so all dying processes will be -caught and handled.
+restarted after crashing. This has now been fixed so all dying processes will +be caught and handled.o @@ -3184,7 +3189,8 @@ unwanted wrapping.
o FIX – A couple of remnant hard coded -text elements have been replaced with tokens as they should have been originally.
+text elements have been replaced with tokens as they should have been +originally.o @@ -3436,7 +3442,8 @@ HTML was tidied up to be more compliant.
style='font:7.0pt "Times New Roman"'> FIX – There was a problem with the interaction between monitor statuses and the status web window. This meant that sometimes the window did -not pop to the front, or play the alarm sound, properly. This has been corrected. +not pop to the front, or play the alarm sound, properly. This has been +corrected.o @@ -3631,8 +3638,8 @@ zones for optimal motion detection. Previously only pixel count values were displayed here which made it difficult to configure zones configured in percentage terms. These values are now displayed in both pixel and percentage terms to assist in zone configuration. Note that the percentage values are -based on the current size of the zone so if this is changed then the value -displayed will not be applicable at the time of event generation.
+based on the current size of the zone so if this is changed then the value displayed +will not be applicable at the time of event generation.o @@ -3642,11 +3649,11 @@ has not been corrected.
o -FIX – A problem was reported whereby when using bulk frame records -to reduce database load the last frame record was not written. Replaying the -event via the web interface resulting in the event being truncated. A -correction has been made so prevent this and ensure that the last frame of an -event is always recorded.
+FIX – A problem was reported whereby when using bulk frame +records to reduce database load the last frame record was not written. +Replaying the event via the web interface resulting in the event being +truncated. A correction has been made so prevent this and ensure that the last +frame of an event is always recorded.o @@ -3751,21 +3758,20 @@ limit ensures that only a small number are affected at any one time.
style='font:7.0pt "Times New Roman"'> FEATURE – Filters can now be defined to automatically execute an external script or program of your choosing. This can be specified when the -filter is saved. Note that for security reasons this cannot be just any -arbitrary command but must be readable and executable by your web server -effective user. The script or program you specify here will be executed in the -events root directory once for each event and will be passed one parameter -containing the relative path to the event directory. This will normally be of -the form <MonitorName>/<EventId> so it it possible to -determine both the monitor and event in question from the path. Note also that -a flag is set per event as with other auto actions indicating that an -executable script has been run on that event and so to exclude it from -subsequent matches. However if you have several filters all with executable -scripts you will find that only the first gets executed as the flag will be set -following successful completion and so no further scripts will be run on that -event. Successful completion is indicated by the script returning a zero exit -status, any other status indicates an error and the executed flag will -not be set. +filter is saved. Note that for security reasons this cannot be just any arbitrary +command but must be readable and executable by your web server effective user. +The script or program you specify here will be executed in the events root +directory once for each event and will be passed one parameter containing the +relative path to the event directory. This will normally be of the form <MonitorName>/<EventId> +so it it possible to determine both the monitor and event in question from the +path. Note also that a flag is set per event as with other auto actions +indicating that an executable script has been run on that event and so to +exclude it from subsequent matches. However if you have several filters all +with executable scripts you will find that only the first gets executed as the +flag will be set following successful completion and so no further scripts will +be run on that event. Successful completion is indicated by the script +returning a zero exit status, any other status indicates an error and the executed +flag will not be set.o @@ -4013,8 +4019,8 @@ the constraint on unique filter names was not present. Well it is now so when upgrading your database all the filters will be renamed from ‘myfilter’ to ‘myfilter_<id>’ where ‘<id>’ is the id number in the database (which is then removed). In general the higher the id number the more recent -the filter. So you should go through your filter list deleting old copies and then -rename the last one back to it’s original name.
+the filter. So you should go through your filter list deleting old copies and +then rename the last one back to it’s original name.o @@ -4084,26 +4090,26 @@ that image processing for YUV style input formats are now pretty much handled at almost the same speed as native RGB formats. As this is what the capture daemons spend most of their time doing, the improvement helps reduce the amount of CPU time by a significant degree. Application of these changes also -highlighted a bug that had existed previously in YUV conversion which caused incorrect -conversions for certain values. The other two main areas of optimisation are in -the Blend and Delta image functions. Normally when doing motion detection the -analysis daemons spend about 99% of their time comparing a captured image with -the reference image and then blending the two ready for the next capture. Both -of these functions have been significantly improved. In previous versions there -were two options for calculating image deltas (or differences), a simple RGB -average and a Y channel calculation. Historically the RGB one was faster -however with the optimisations the Y channel calculation (which is more -accurate) is now 15-20% faster and so has become the default though you can -select either method by the ZM_Y_IMAGE_DELTAS configuration option. A new -method of image blending has also been added which is up to 6 times faster than -the old one which is retained for compatibility and because in some unusual -circumstances it may still be more accurate (see the ZM_FAST_IMAGE_BLENDS -option for details). Altogether these optimisations (along with other common -sense ones such as not maintaining a reference image in ‘Record’ mode where it -is not used) significantly reduce the CPU load for most systems, especially -when alarms are not in progress. If an alarm is detected then a lot of file -system and database activity takes place which is limited by the speed of these -resources so the gain will not be as much.
+highlighted a bug that had existed previously in YUV conversion which caused +incorrect conversions for certain values. The other two main areas of +optimisation are in the Blend and Delta image functions. Normally when doing +motion detection the analysis daemons spend about 99% of their time comparing a +captured image with the reference image and then blending the two ready for the +next capture. Both of these functions have been significantly improved. In +previous versions there were two options for calculating image deltas (or +differences), a simple RGB average and a Y channel calculation. Historically +the RGB one was faster however with the optimisations the Y channel calculation +(which is more accurate) is now 15-20% faster and so has become the default +though you can select either method by the ZM_Y_IMAGE_DELTAS configuration +option. A new method of image blending has also been added which is up to 6 +times faster than the old one which is retained for compatibility and because +in some unusual circumstances it may still be more accurate (see the +ZM_FAST_IMAGE_BLENDS option for details). Altogether these optimisations (along +with other common sense ones such as not maintaining a reference image in +‘Record’ mode where it is not used) significantly reduce the CPU load for most +systems, especially when alarms are not in progress. If an alarm is detected +then a lot of file system and database activity takes place which is limited by +the speed of these resources so the gain will not be as much.o @@ -4152,8 +4158,8 @@ that non binary scales are now just as easy to apply, thus new scales such as style='font:7.0pt "Times New Roman"'> Montage Sizing. The montage view allows you to view all of your active cameras in one window. However if your cameras are different sizes then -this becomes very untidy. You can now constrain the image size of each monitor -in this view to a fixed size with the ZM_WEB_MONTAGE_WIDTH and +this becomes very untidy. You can now constrain the image size of each monitor in +this view to a fixed size with the ZM_WEB_MONTAGE_WIDTH and ZM_WEB_MONTAGE_HEIGHT configuration options. Monitor images will be enlarged or reduced as necessary.
@@ -4204,16 +4210,16 @@ restructured to allow a double buffering approach. Thus a new image is loaded in the background and only written to screen when complete. This removes the refresh flicker that means that the screen blanks periodically however uses more JavaScript so may not be suitable for all platforms. Whether ZoneMinder -uses double buffering or not is controlled by the ZM_WEB_DOUBLE_BUFFER -configuration option. +uses double buffering or not is controlled by the ZM_WEB_DOUBLE_BUFFER configuration +option.o Fixed Length Event Bug. A bug was reported whereby the fixed length events that could be specified for use in Record or Mocord mode could sometimes result in events a multiple of that length. So events that were meant -to be 15 minutes long could sometimes be 30 or even 45 minutes. This was -especially the case with monitors that had low frame rates. This is now fixed.
+to be 15 minutes long could sometimes be 30 or even 45 minutes. This was especially +the case with monitors that had low frame rates. This is now fixed.o Language File Format. The format of the language file was changed -to allow the specification of character set and locale as well as have more flexibility -in the calculation of plural forms.
+to allow the specification of character set and locale as well as have more +flexibility in the calculation of plural forms.o @@ -4381,7 +4387,8 @@ changed for that the window and frames will now resize appropriately.
o Mmap Return Value. A problem identified by users in the forum -relating to checking of return values from the mmap function call has been corrected.
+relating to checking of return values from the mmap function call has been +corrected.o @@ -4429,8 +4436,8 @@ style='font:7.0pt "Times New Roman"'> default. You can list all of the events if you like by choosing the appropriate option. There are shortcuts to pages of events at the top of the listing. If these produce strange looking sequences like 1,2, 3, 5, 9, 17, 37 etc this is -deliberate and uses an exponential algorithm intended to allow you to quickly navigate -through the list to a particular page in the minimum number of clicks.
+deliberate and uses an exponential algorithm intended to allow you to quickly +navigate through the list to a particular page in the minimum number of clicks.o @@ -4442,8 +4449,8 @@ monitoring at a higher screen size where the frame is not adjusted properly.
o Variable Frame Rates. Event streams can now be viewed at various -rates allowing faster review (if your bandwidth allows) to long events, or slower -for more precision.
+rates allowing faster review (if your bandwidth allows) to long events, or +slower for more precision.o @@ -4470,9 +4477,9 @@ processes.
o -Intelligent Module inclusion. zmfilter.pl now includes Archive::Zip -and other modules on an as needed basis so won't complain about them being -missing unless they have been explicitly configured to be used.
+Intelligent Module inclusion. zmfilter.pl now includes +Archive::Zip and other modules on an as needed basis so won't complain about +them being missing unless they have been explicitly configured to be used.o @@ -4628,8 +4635,8 @@ modified to be fully runtime.
o The database user definitions in the zmvideo script indicated one -database user while the database connection used a different one. This prevented -any videos being generated.
+database user while the database connection used a different one. This +prevented any videos being generated.o @@ -4707,8 +4714,8 @@ previously an issue with a buffer overflow on certain occasions.
style='font:7.0pt "Times New Roman"'> Release 0.9.13Beta version of several features and fixes, never generally -released.
+Beta version of several features and fixes, never +generally released.
o @@ -4746,8 +4753,8 @@ should work for most types of cameras. If you have any device or driver specific auto-brightness, auto-contrast etc enabled the changes you make may appear to work but may be overridden by the auto feature immediately so check for that if your changes do not appear to be having an effect. Also if you have -a number of cameras being multiplexed onto one device then any changes here will -probably affect all your cameras.
+a number of cameras being multiplexed onto one device then any changes here +will probably affect all your cameras.o @@ -4863,8 +4870,8 @@ Ernst style='font-family:"Courier New"'>o Stylesheet change. Previously the stylesheet didn’t really work very well on Mozilla, Netscape and browsers other than IE. This turned out to -be because I was using HTML style comments in there instead of C style ones. -This has now been corrected so you should see the correct styles.
+be because I was using HTML style comments in there instead of C style ones. This +has now been corrected so you should see the correct styles.o @@ -5138,9 +5145,9 @@ style='font-family:"Courier New"'>o&n Added zmu -q/--query option - There is now a new query option for zmu. When combined with -d it gives the config of the device and when used with -m it dumps the current settings for the monitor and zones. Mostly useful for -bug reporting. The previous version of zmu used with just -d gave this -information for a video device by default. This now requires the -q option also -to bring into line with it's -m equivalent.
+bug reporting. The previous version of zmu used with just -d gave this information +for a video device by default. This now requires the -q option also to bring +into line with it's -m equivalent.o
diff --git a/README.pdf b/README.pdf
index a58a0e1990249629fdf1cb2ff90a7df7dc3e6e6a..b4767a204529733d7b3e71f1eeed6abeaac8606f 100644
GIT binary patch
delta 143479
zcmZsiV~j4$vZ%+lZQHhI)?kfon`=Dtj&0kvZQHhOd);sEeeTW4Ik*2*=jl{cQt4Ex
zt5YXG@Ogd+ainbAOuCG+mUgCwPL`ggCPd7P;zXP*+-!`pL@fUZCN4&KA`TWt1tJz^
z7DknS7&|i;Q@pw)2p30u9tD7tiHPZ6i^vWh=HDA8W_Bjl|HU}inExkZVdehcjDzL>
z!`M0hmo674_rDq8e{;;r%={nt-&ktBJt!(Y6Dt=x*Z;J^#>&m{zZeG#TPi&O6fdz4
z7zT`;nS(2F2AEL9gqg{R!_1V0gO!DioymmRjLndhgW1@~kj;>j*~E-RfX~#>h>eAn
zla o@i1poaQ63_mJnuSXWW>1$toT}AOLOvLH>O6mWy}ehL!Dgzr40`ltYD$YPVCqZr
zT$RJ&o!jfeS=ialoPFg23|;|Z>VUasx$R12aBFtXcQQvf{cn5nuZ8YLT0Co9e^0V-
z)Ab%yH}Lgi^|3DwC7|x4*!b4aOVT8H_XZWn3unXkr55ces%fWb7RZQSy7<*2Y{Wu)fxG8)4roKpd5Sa2%KrflvZ+
zYxUmjWju)RreM4OVdX><^vC5hcme$=s!~Zn6Tp=0hfQ-
c7x`x?Jy>`YdV9T55i5)MqW88QP8u1?Y>Y;Q@Q*
zCF_uUOT8hQ>P0WV8dhE50LMi(wG>aAptyQwZO=