git-svn-id: http://svn.zoneminder.com/svn/zm/trunk@1475 e3e1d417-86f3-4887-817a-d78f3d33393f
This commit is contained in:
stan 2005-06-23 08:33:33 +00:00
parent 079af10056
commit 3d6e828fc7
4 changed files with 1696 additions and 1838 deletions

11
README
View File

@ -1,4 +1,4 @@
22/06/05 ZoneMinder 1.21.2 README 1
23/06/05 ZoneMinder 1.21.2 README 1
@ -24,8 +24,8 @@
Introduction
Welcome to ZoneMinder, the all-in-one Linux GPL'd security
camera solution.
@ -2416,6 +2416,11 @@ properly support Iris control.
o 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 more similar to the one used in the binaries.

View File

@ -365,7 +365,7 @@ style='color:windowtext;display:none;text-decoration:none'>21</span></a></span><
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>      </span>Filtering Events<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>22</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>21</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202206">6.6.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
@ -383,224 +383,224 @@ style='color:windowtext;display:none;text-decoration:none'>24</span></a></span><
style='font-family:"Times New Roman";color:windowtext;font-weight:normal;
text-decoration:none'>     </span>Camera Control<span style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>26</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>25</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202209">7.1.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>      </span>Control Capabilities<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>26</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>25</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202210">7.2.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>      </span>Control Scripts<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>28</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>27</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc107202211">8.<span
style='font-family:"Times New Roman";color:windowtext;font-weight:normal;
text-decoration:none'>     </span>Mobile Devices<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>30</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>29</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc107202212">9.<span
style='font-family:"Times New Roman";color:windowtext;font-weight:normal;
text-decoration:none'>     </span>Troubleshooting<span style='color:windowtext;
display:none;text-decoration:none'>.. </span><span
style='color:windowtext;display:none;text-decoration:none'>31</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>30</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc107202213">10.<span
style='font-family:"Times New Roman";color:windowtext;font-weight:normal;
text-decoration:none'>       </span>Change Log<span style='color:windowtext;
display:none;text-decoration:none'>.. </span><span
style='color:windowtext;display:none;text-decoration:none'>34</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>33</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202214">10.1.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>    </span>Release 1.21.2<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>34</span><span
style='color:windowtext;display:none;text-decoration:none'>33</span><span
style='color:windowtext;display:none;text-decoration:none'></span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202215">10.2.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>    </span>Release 1.21.1<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>34</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>33</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202216">10.3.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>    </span>Release 1.21.0<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>36</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>35</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202217">10.4.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>    </span>Release 1.20.1<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>37</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>36</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202218">10.5.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>    </span>Release 1.20.0<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>38</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>37</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202219">10.6.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>    </span>Release 1.19.5<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>39</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>38</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202220">10.7.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>    </span>Release 1.19.4<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>40</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>39</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202221">10.8.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>    </span>Release 1.19.3<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>40</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>39</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202222">10.9.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>    </span>Release 1.19.2<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>41</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>40</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202223">10.10.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 1.19.1<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>43</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>42</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202224">10.11.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 1.19.0<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>43</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>42</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202225">10.12.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 1.18.1<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>45</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>44</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202226">10.13.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 1.18.0<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>45</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>44</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202227">10.14.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 1.17.2<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>46</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>45</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202228">10.15.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 1.17.1<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>47</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>46</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202229">10.16.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 1.17.0<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>48</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>47</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202230">10.17.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.16<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>48</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>47</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202231">10.18.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.15<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>50</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>49</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202232">10.19.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.14<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>51</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>50</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202233">10.20.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.13<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>51</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>50</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202234">10.21.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.12<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>52</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>51</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202235">10.22.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.11<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>53</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>52</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202236">10.23.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.10<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>54</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>53</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202237">10.24.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.9<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>55</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>54</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202238">10.25.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.8<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>56</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>55</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202239">10.26.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.9.7<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>57</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>56</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc107202240">10.27.<span
style='font-size:12.0pt;font-family:"Times New Roman";color:windowtext;
text-decoration:none'>  </span>Release 0.0.1<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>58</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>57</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc107202241">11.<span
style='font-family:"Times New Roman";color:windowtext;font-weight:normal;
text-decoration:none'>       </span>To Do<span style='color:windowtext;
display:none;text-decoration:none'>.. </span><span
style='color:windowtext;display:none;text-decoration:none'>59</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>58</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc107202242">12.<span
style='font-family:"Times New Roman";color:windowtext;font-weight:normal;
text-decoration:none'>       </span>Bugs<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>60</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>59</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc107202243">13.<span
style='font-family:"Times New Roman";color:windowtext;font-weight:normal;
text-decoration:none'>       </span>Non-Bugs<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>61</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>60</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc107202244">14.<span
style='font-family:"Times New Roman";color:windowtext;font-weight:normal;
text-decoration:none'>       </span>License<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>62</span></a></span></p>
style='color:windowtext;display:none;text-decoration:none'>61</span></a></span></p>
<h1><span style='text-decoration:none'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><u><a name="_Toc107202195">Introduction</a></u></h1>
@ -712,9 +712,8 @@ style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span
<p class=MsoPlainText>The first thing you need to do is run the included
configure script to define some initial configuration, just type</p>
<p class=MsoPlainText><i>./configure --with-mysql=&lt;your MySQL root&gt;
--with-webdir=&lt;your web directory&gt; --with-cgidir=&lt;your cgi
directory&gt;</i></p>
<p class=MsoPlainText><i>./configure --with-mysql=&lt;your MySQL root&gt; --with-webdir=&lt;your
web directory&gt; --with-cgidir=&lt;your cgi directory&gt;</i></p>
<p class=MsoPlainText>where <i>--with-mysql</i> identifies the root directory
where you have installed MySQL (usually /usr), <i>--with-webdir</i> 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 cant 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,</p>
stage. If you want to change just a few options and cant 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,</p>
<p class=MsoPlainText><i>perl ./zmconfig.pl ZM_STRICT_VIDEO_CONFIG</i></p>
@ -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.</p>
<p class=MsoPlainText style='margin-left:18.0pt'><b>zmdc.pl</b> - 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.</p>
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.</p>
<p class=MsoPlainText style='margin-left:18.0pt'><b>zmfilter.pl</b> - 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.</p>
<p class=MsoPlainText style='margin-left:18.0pt'>The packaged version of Zone
Minder installs all binarys to /usr/lib/zm including the web pages. So dont
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:</p>
web server. The web pages for Apache are aliased by zm.conf in the
apache/conf.d directory which vary depending on your distribution:</p>
<p class=MsoPlainText style='margin-left:18.0pt'>Fedora Core:
/etc/httpd/conf.d/zm.conf</p>
@ -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.</p>
capture frame rate which will obviously affect the rate at which frames are
saved.</p>
<p class=MonitorOption><b>Run Mode </b> 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.</p>
<p class=MonitorOption><b>Triggers </b> 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.</p>
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.</p>
<p class=MonitorOption><b>Source Type</b> 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.</p>
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.</p>
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.</p>
<p class=MonitorTab>Source Tab (remote device)</p>
@ -1330,8 +1329,8 @@ actually capturing to this palette beforehand.</p>
<p class=MonitorOption><b>Timestamp Label Format</b> <b> </b>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
dont 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.</p>
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.</p>
<p class=MsoPlainText>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.</p>
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.</p>
<h2><a name="_Toc107202205"><span style='text-decoration:none'>6.5.<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span></span>Filtering
@ -1948,13 +1947,13 @@ corresponding row for each expression. You then select what you want to filter
on and how the expressions relate by choosing whether they are 'and' or 'or'
relationships. For filters comprised of many expressions you will also get the
option to bracket parts of the filter to ensure you can express it as desired.
Then if you like choose how you want your results sorted and whether you want
to limit the amount of events displayed.</p>
Then if you like choose how you want your results sorted and whether you want to
limit the amount of events displayed.</p>
<p class=MsoPlainText>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
<p class=MsoPlainText>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
&lt;MonitorName&gt;/&lt;EventId&gt; 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.</p>
<p class=MsoPlainText>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
<p class=MsoPlainText>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.</p>
<p class=MsoPlainText>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.</p>
<p class=MsoPlainText>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.</p>
<p class=MsoPlainText>Thats 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 dont 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 dont 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.</span></p>
@ -2421,12 +2420,12 @@ style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span></span>Control Sc
<p class=MsoPlainText><span style='color:black'>The 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.</span></p>
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.</span></p>
<p class=MsoPlainText>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.</p>
<p class=MsoPlainText>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,</p>
will always be effective, if not then all monitors available to the logged in user
will be visible,</p>
<p class=MsoPlainText>&nbsp;</p>
@ -2676,8 +2675,8 @@ something like that to check for settings that work and then run zmu -d
&lt;device_no&gt; -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.</p>
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.</p>
<p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt'><span
style='font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -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!</p>
@ -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 cant
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 cant 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<span style='font:7.0pt "Times New Roman"'>&n
</span></span>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</p>
<p class=MsoPlainText style='margin-left:36.0pt'>&quot;Sep 14 14:50:11
localhost zma-0[1975]: INF [Front: 221000 - Processing at 4.26 fps ]&quot;</p>
<p class=MsoPlainText style='margin-left:36.0pt'>&quot;Sep 14 14:50:11 localhost
zma-0[1975]: INF [Front: 221000 - Processing at 4.26 fps ]&quot;</p>
<p class=MsoPlainText style='margin-left:36.0pt'>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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>FIX Fixed a nasty problem in zmaudit which meant that older
events sometimes didnt get tidied up and deleted properly.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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 its own output!</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>FEATURE Some of the scripts have a new debug format that is
@ -3108,16 +3114,15 @@ style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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-&gt;Network-&gt;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.</p>
libpcre at all. Which method is used is controlled by the option Options-&gt;Network-&gt;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.</p>
<h2><a name="_Toc107202216"><span style='text-decoration:none'>10.3.<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span></span>Release
@ -3152,8 +3157,8 @@ test only happens once per session.</span></p>
<p class=BullettedChar><span class=postbody><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span class=postbody>FIX Some constants were defined unquoted,
this has now been corrected.</span></p>
</span></span></span><span class=postbody>FIX Some constants were defined
unquoted, this has now been corrected.</span></p>
<p class=BullettedChar><span class=postbody><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -3172,8 +3177,8 @@ style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span class=postbody>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.</span></p>
restarted after crashing. This has now been fixed so all dying processes will
be caught and handled.</span></p>
<p class=BullettedChar><span class=postbody><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -3184,7 +3189,8 @@ unwanted wrapping.</span></p>
<p class=BullettedChar><span class=postbody><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span class=postbody>FIX A couple of remnant hard coded
text elements have been replaced with tokens as they should have been originally.</span></p>
text elements have been replaced with tokens as they should have been
originally.</span></p>
<p class=BullettedChar><span class=postbody><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -3436,7 +3442,8 @@ HTML was tidied up to be more compliant.</p>
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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.</p>
not pop to the front, or play the alarm sound, properly. This has been
corrected.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -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.</p>
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.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -3642,11 +3649,11 @@ has not been corrected.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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.</p>
</span></span>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.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -3751,21 +3758,20 @@ limit ensures that only a small number are affected at any one time.</p>
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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 <i>&lt;MonitorName&gt;/&lt;EventId&gt;</i> 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 <i>executed </i>flag will
not be set.</p>
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 <i>&lt;MonitorName&gt;/&lt;EventId&gt;</i>
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 <i>executed
</i>flag will not be set.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -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_&lt;id&gt; where &lt;id&gt; 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 its original name.</p>
the filter. So you should go through your filter list deleting old copies and
then rename the last one back to its original name.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -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.</p>
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.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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.</p>
@ -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.</p>
uses double buffering or not is controlled by the ZM_WEB_DOUBLE_BUFFER configuration
option.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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.</p>
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.</p>
<h2><a name="_Toc107202227"><span style='text-decoration:none'>10.14.<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span></span>Release
@ -4318,8 +4324,8 @@ ZoneMinder to use the German (de_de) and Polish (pl_pl) languages.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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.</p>
to allow the specification of character set and locale as well as have more
flexibility in the calculation of plural forms.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4381,7 +4387,8 @@ changed for that the window and frames will now resize appropriately.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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.</p>
relating to checking of return values from the mmap function call has been
corrected.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4429,8 +4436,8 @@ style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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.</p>
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.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4442,8 +4449,8 @@ monitoring at a higher screen size where the frame is not adjusted properly.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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.</p>
rates allowing faster review (if your bandwidth allows) to long events, or
slower for more precision.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4470,9 +4477,9 @@ processes.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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.</p>
</span></span>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.</p>
<p class=BullettedChar><span style='font-family:"Courier New"'>o<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4628,8 +4635,8 @@ modified to be fully runtime.</p>
<p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt'><span
style='font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>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.</p>
database user while the database connection used a different one. This
prevented any videos being generated.</p>
<p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt'><span
style='font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4707,8 +4714,8 @@ previously an issue with a buffer overflow on certain occasions.</p>
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span></span>Release
0.9.13</a></h2>
<p class=MsoPlainText>Beta version of several features and fixes, never generally
released.</p>
<p class=MsoPlainText>Beta version of several features and fixes, never
generally released.</p>
<p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt'><span
style='font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -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.</p>
a number of cameras being multiplexed onto one device then any changes here
will probably affect all your cameras.</p>
<p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt'><span
style='font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4863,8 +4870,8 @@ Ernst
style='font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>Stylesheet change. Previously the stylesheet didnt 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. </p>
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. </p>
<p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt'><span
style='font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -5138,9 +5145,9 @@ style='font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&n
</span></span>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.</p>
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.</p>
<p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt'><span
style='font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Binary file not shown.

3062
README.rtf

File diff suppressed because it is too large Load Diff