diff --git a/README b/README index 6e76ffe0d..bcfdfb3d9 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ - 06/02/04 ZoneMinder 1.17.2 README 1 + 20/02/04 ZoneMinder 1.18.0 README 1 - ZoneMinder v1.17.2 + ZoneMinder v1.18.0 1. Introduction @@ -68,7 +68,7 @@ ZoneMinder needs a couple of things to work. Firstly, it uses MySQL so you'll need that. In order to compile you need to make sure you have a development installation and not -just a runtime, this is because it needs to use the MySQL header +just a runtime; this is because it needs to use the MySQL header files. If you are running an RPM based distribution then it's probably worth installing all the pure mysql rpm files to be sure you have the right ones. @@ -134,7 +134,7 @@ for details. That's the build configuration sorted out. The next thing you have to do is do a little more runtime specific configuration. -ZoneMinder config is scattered around various files in the +ZoneMinder configuration is scattered around various files in the distribution so to make things easier for you there is a ZoneMinder configuration utility included. Type @@ -311,6 +311,13 @@ viewed and amended if necessary and are as follows. this so this script makes sure that nothing important gets missed. + zmupdate.pl - Currently this script is responsible for checking + whether a new version of ZoneMinder is available and other + miscellaneous actions related to upgrades and migrations. + Eventually it is intended to be a 'one stop shop' for any + upgrades and will execute everything necessary to update your + installation to a new version. + zm - This is the (optional) ZoneMinder init script, see below for details. @@ -352,7 +359,7 @@ go. What you see now (and subsequently) depends on whether you chose to run ZoneMinder in authenticated mode or not. This is an option that lets you specify whether anyone that goes to the ZoneMinder -web pages must authenticate themself in order to be given +web pages must authenticate themselves in order to be given permissions to perform certain tasks. If you chose this mode then you will need to log in here. By default a fully privileged user 'admin' has been created with a password also of 'admin'. You @@ -412,11 +419,9 @@ below, 'Monitor' Tab - Name - The name for your monitor. In theory this can eb - anything you like but some users have reported problems with - some characters. So to be on the safe side choose something - fairly brief and with just letters and numbers and no - punctuation or spaces.. + Name - The name for your monitor. This should be made up of + alphanumeric characters (a-z,A-Z,0-9) and hyphen (-) and + underscore(_) only. Whitespace is not allowed. Function - This essentially defines what the monitor is doing. This can be one of the following; @@ -440,10 +445,10 @@ being highlighted within those events. Section Length - This specifies the length (in seconds) of any fixed length events produced when the monitor function is - 'Record' or 'Mocord'. Otherwise it is ignored. This should - not.be so long that events are difficult to navigate nor so - short that too many events are generated. A length of between - 300 and 900 seconds I recommended. + 'Record' or 'Mocord'. Otherwise it is ignored. This should not + be so long that events are difficult to navigate nor so short + that too many events are generated. A length of between 300 + and 900 seconds I recommended. Frame Skip - This setting also applies only to the 'Record' or 'Mocord' functions and specifies how many frames should be @@ -502,11 +507,10 @@ being highlighted within those events. doubt try grey first, and then 24 bit colour. If neither of these work very well then YUV420P or one of the others probably will. There is a slight performance penalty when - using palettes other than grey or 24 bit colour as a an - internal conversion is involved. These other formats are - intended to be supported natively in a future version but for - now if you have the choice choose one of grey or 24 bit - colour. + using palettes other than grey or 24 bit colour as an internal + conversion is involved. These other formats are intended to be + supported natively in a future version but for now if you have + the choice choose one of grey or 24 bit colour. Capture Width/Height - The dimensions of the video stream your camera will supply. If your camera supports several just enter @@ -656,7 +660,7 @@ being highlighted within those events. 'X10' Tab - Note: This tab and it's options will only appear if you have + Note: This tab and its options will only appear if you have indicated that your system supports the X10 home automation protocol during initial system configuration. @@ -703,7 +707,7 @@ being highlighted within those events. X10 Input Alarm String - This has the same format as the previous field but instead of activating the monitor with will cause a forced alarm to be generated and an event recorded if - the monitor is Active. The same definition as above apply + the monitor is Active. The same definition as above applies except that for activated read alarmed and for deactivated read unalarmed(!). Again leave this blank for now. @@ -886,12 +890,12 @@ are as follows. Units - This setting which details whether certain of the following settings are in Pixels or Percent of the frame. In - general pixels is more precise whereas percentages are easier - to use to start with or if you change image sizes frequently. - If you change this setting all appropriate values below are - redisplayed in the correct context. A good tip would be to - initially enter the settings in Percent and then change to - Pixels and refine any gaps. Repeated flipping between the + general 'Pixels' is more precise whereas percentages are + easier to use to start with or if you change image sizes + frequently. If you change this setting all appropriate values + below are redisplayed in the correct context. A good tip would + be to initially enter the settings in Percent and then change + to Pixels and refine any gaps. Repeated flipping between the settings will cause rounding errors, as ZoneMinder in general is not at home to Mr Floating Point for reasons of performance. @@ -910,6 +914,28 @@ are as follows. disabled For Inactive zones all subsequent options are likewise disabled. + Alarm Check Method -This is a new addition to Zone + definitions. It allows you to specify the nature of the alarm + checking that will take place, and more specifically what + tests are applied to determine whether a frame represents an + alarm or not. The three options are 'AlarmPixels', + 'FilteredPixels' and 'Blobs' and depending on which option is + chosen some of the following other settings may become + unavailable. The first of these indicates that only a count of + individual alarmed pixels should be used to determine the + state of a image, the second indicate that the pixels should + be filtered to remove isolated pixels (see below) before being + counted, and the third uses a more sophisticated analysis + which is designed to aggregate alarmed pixels into continuous + groups, or 'blobs'. Blob analysis is the method ZoneMinder has + always used previously (before it became optional) and so this + is the default. However this method takes slightly longer and + so if you find that one of the other methods works just as + well for you and you wish to maximise performance you can opt + for that instead. Some of the more useful alarm related + features such as highlighted analysis images are only + available with the 'Blob' setting. + Min/Maximum Alarm Threshold - These setting are used to define limits for the difference in value between a pixel and its predecessor in the reference image. For greyscale images this @@ -1045,8 +1071,8 @@ event was. 5.4. Filtering Events The other columns on the main console window contain various event -totals for your monitor over the last hour, day, week and month as -well as a grand total and a total for events that you may have +totals for your monitors over the last hour, day, week and month +as well as a grand total and a total for events that you may have archived for safekeeping. Clicking on one of these totals or on the 'All' or 'Archive' links from the monitor window described above will present you with a new display. This is the full event @@ -1084,7 +1110,13 @@ flexible free format of dates and time based on the PHP strtotime function (http://www.zend.com/manual/function.strtotime.php). This allows values such as 'last Wednesday' etc to be entered. I recommend acquainting yourself with this function to see what the -allowed formats are. +allowed formats are. However automated filters are run in perl and +so are parsed by the Date::Manip package. Not all date formats are +available in both so if you are saved your filter to do automatic +deletions or other tasks you should make sure that the date and +time format you use is compatible with both methods. The safest +type of format to use is '-3 day' or similar with easily parseable +numbers and units. are in England The other elements you can filter on are all fairly self explanatory except perhaps for 'Archived' which you can use to @@ -1159,7 +1191,7 @@ archived it can be deleted or unarchived but you cannot accidentally delete it when viewing normal unarchived events. The final option of generating an MPEG video is still somewhat -experimental and it's usefulness may vary. It can use either the +experimental and its usefulness may vary. It can use either the Berkeley MPEG encoder or the faster and new ffmpeg encoder. Either of these will generate a short video, which will be downloaded to your browsing machine to view. Due to the relatively slow frame @@ -1272,8 +1304,8 @@ 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. +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. You should experiment with the various setting to get the results you think are right for @@ -1292,14 +1324,16 @@ Philip Coombes (philip.coombes@zoneminder.com) - February 2004 Life eh? Nothing ever works first time does it? In case you are having problems here are some things to try. If these don't work -then check on http://www.zoneminder.com/forums.html first and see -if anyone has had the same problem in the past. If not then feel -free to get in touch and I'll see if I can suggest something else. -The best places to look for errors are in the system error log -(normally /var/log/messages on RedHat), the ZoneMinder logs, and -the web server log (/var/log/httpd/error_log unless otherwise -defined). There should be something in one of those that gives you -some kind of tip off. +then check the ZoneMinder FAQ at +http://www.zoneminder.com/faq.html and then the forums at +http://www.zoneminder.com/forums.html first and see if anyone has +had the same problem in the past. If not then feel free to get in +touch and I'll see if I can suggest something else. The best +places to look for errors are in the system error log (normally +/var/log/messages on RedHat), the ZoneMinder logs, and the web +server log (/var/log/httpd/error_log unless otherwise defined). +There should be something in one of those that gives you some kind +of tip off. Some things to check. @@ -1369,7 +1403,7 @@ file (do a 'locate php.ini' or 'find / -name php.ini'. Be aware however that sometimes you might find more than one, so ensure you identify the one that is actually being used. You will then need to find the line that starts 'short_open_tag = ' and change the -Off value to On. This wil correct the problem. However in some +Off value to On. This will correct the problem. However in some cases you may have explicitly switched it off, so that XML compliant documents can be more easily served, or you may even not have permission to edit the file. In this case you can go into the @@ -1481,7 +1515,127 @@ http://www.zoneminder.com/downloads/noIEClick.reg 7. Change Log -7.1. Release 1.17.2 +7.1. Release 1.18.0 +Major optimisations, important new features and some bugfixes. + + o Optimisations and Performance Improvements. This release + contains several major performance improvements in various areas. + The first of these is 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. + + o Remote Authentication. This document has previously indicated + that basic authentication for network cameras could be used by + entering a hostname of the form of :@. This + was not actually the case as the relevant authentication header + was never sent. This is now fixed and addresses of this form can + now be used. + +o Filter Date Parsing. The zmfilter.pl date parsing now +correctly reports when dates or times which it cannot parse are +used. +o Monitor Independent Filters. Previously filters were closely +tied to a monitor and a new filter had to be created for each +monitor. This has now changed and filters can now specify an +associated monitor in the same was as other parameters. Links have +now been added to the main console view to allow you to view lists +of events from all monitors in one and saved filters can now +affected as many or as few monitors as you wish.. +o New Filter Operators. Two new filter operators and their +inverse have been added. You can now indicate whether a value is +in a set of other values, for example 'cat' is in the set of 'cat, +dog, cow, horse'. You can also use regular expressions so 'cat' +matches '^c.*'. The 'not in set' and 'not matches' operators are +also available. +o Additional Scales. Enhancements to the scaling algorithm mean +that non binary scales are now just as easy to apply, thus new +scales such as 0.75x have been added. Others can be easily +included if necessary. +o 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 ZM_WEB_MONTAGE_HEIGHT +configuration options. Monitor images will be enlarged or reduced +as necessary. + o Compact Montage. The traditional montage view includes + individual small menus for each monitor and a status display. This + results in a somewhat cluttered display and the refreshing of the + status displays may generate more accesses than desirable. Using + the ZM_WEB_COMPACT_MONTAGE configuration option allows this + montage view to only include the monitor streams and one overall + menu bar with no status displays. + + o Monitor Name Constraint. The name given to a monitor is used + in file paths and several other areas. Thus it is important that + it follows certain conventions but up until this release these + names were unrestricted. The monitor form now limits monitor names + to alphanumeric characters plus hyphen and underscore. + +o Timestamp Change. Traditionally ZoneMinder has time-stamped +each image as it is captured. This ensures that all images have +their capture time recorded immediately. However there are several +side-effects which may be undesirable. Firstly the time and +resource is spent time-stamping images that are not recorded and +which are discarded, secondly the timestamp is included in any +motion detection and may potentially trigger an alarm if detection +parameters are very sensitive. The third effect is that as the +timestamp is added to the image at it's native resolution, if the +image is scaled then the timestamp is scaled also. This may not be +a problem for enlargement but if the image size is reduced then it +may become illegible. This version now allows you, via the +ZM_TIMESTAMP_ON_CAPTURE configuration option, to indicate whether +the timestamps should be added on capture, as before, or only +added when the image is viewed or recorded. Setting it to this +later value allows timestamps to be added to scaled images. This +is little performance impact either way. +o Scaleable Stills View. The stills view of a monitor (when +streaming is not available or desired) is now scaleable in the +same way as the streamed view. +o Double Buffered Stills View. The stills view has now been +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. + 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. + + +7.2. Release 1.17.2 Minor features, bug fixes and additional languages. o Pending Process Bug. A bug was found whereby a process that @@ -1521,7 +1675,7 @@ invalid settings. events will no longer be able to be viewed as the wrong image will be being searched for. To avoid this you can use the new 'zmupdate.pl' utility to rename all your old images by doing 'perl - zmupdate.pl -r' as a an appropriately privileged or root user. + zmupdate.pl -r' as an appropriately privileged or root user. o Version checking. ZoneMinder will now optionally check for new versions of itself at zoneminder.com. This is done with a @@ -1547,7 +1701,7 @@ automating the upgrade process. o New Languages. Translations for Japanese (ja_jp), French (fr_fr) and Russian (ru_ru) are now included. -7.2. Release 1.17.1 +7.3. Release 1.17.1 Bugfixes and additional languages. o Login Bug. A bug was identified whereby an unauthorised user @@ -1568,7 +1722,7 @@ accessed area and contains a great deal of text. The new format allows individual options to be translated piecemeal as the opportunity arises. -7.3. Release 1.17.0 +7.4. Release 1.17.0 Language changes and other enhancements. o Version Numbering. ZoneMinder version numbers have now @@ -1613,8 +1767,8 @@ has been corrected. o Minor Bugs. A number of minor bugs and inconsistencies were corrected. -7.4. Release 0.9.16 -Major useability enhancement and fixes. +7.5. Release 0.9.16 +Major usability enhancement and fixes. o Run States. Instead of the old 'start/stop' links the current system state is now a link which takes you to a dialog which @@ -1622,7 +1776,7 @@ Major useability enhancement and fixes. the current run state which basically takes a snapshot of the current monitor functions and saves that. You can then reselect that state later which basically involves resetting the monitors - to have these saved function and then doing a system restart. + to have these saved functions and then doing a system restart. o New Monitor Functions. Instead of Passive, Active, and X10, the modes are now Monitor (= old Passive) which just allows you to @@ -1630,7 +1784,7 @@ watch the feed, Modect (= old Active) which is MOtion DetECT and which will capture events as previously, Record which continuously records with no analysis and MoCord which is a hybrid of Modect and Record and which will continuously record but also do motion -detection and highlight where this has occured. The Record and +detection and highlight where this has occurred. The Record and Mocord functions both records events whose length in seconds is defined by the 'Section Length' monitor attribute. You can additionally specify a 'Frame Skip' value to tell it to not record @@ -1660,7 +1814,7 @@ long events, or slower for more precision. o Scaleable/Variable MPEG generation. Generation of MPEG videos now also allows you to specify the scale relative to the original image and also the frame rate. Again, for long events captured in -the perpertual recording modes this will allow a faster review of +the perpetual recording modes this will allow a faster review of the period the event covers. o Tabbed Monitor options. Specification and modification of monitors is now in a tabbed form for easier navigation. @@ -1682,9 +1836,9 @@ nasty CPU sucking loop! o New zmconfig options. zmconfig.pl has a new option to run with no database if necessary o File reorganisation. Various administrative file changes and -reorgs. -o Compiler warnings. Various tweaks and mods to reduce compiler -and memory warnings. +reorganisations. +o Compiler warnings. Various tweaks and modifications to reduce +compiler and memory warnings. o SQL Buffer size. Increased SQL buffer size to cope with large pre-event buffers, plus a couple of other buffers have been enlarged. @@ -1703,7 +1857,7 @@ keep on working if the segment has been marked for deletion o Frame daemon stability. Changed image buffer in zmf to be static rather than dynamic. This has made zmf much more stable. o MPEG overwrite option. Fixed the 'Overwrite' checkbox in - video generation to actually overwite the video. Modded the page + video generation to actually overwrite the video. Modded the page slightly also. o Daemon control improved. Changing between monitor functions, @@ -1712,12 +1866,12 @@ static rather than dynamic. This has made zmf much more stable. o Improved time based filters. Filters that include time based clauses now get executed regardless of whether new events are being generated. -o Audit damon started unconditionally. zmaudit is now started +o Audit daemon started unconditionally. zmaudit is now started regardless of the setting of FAST_DELETES as zmfilter depends on it being there. o Filtering more active. zmfilter is now started in 'Monitor' mode. It does not run in when monitors are completely off however. -o Stills paged. The stills view of events is now padinated for +o Stills paged. The stills view of events is now paginated for easier navigation. o Archive images optional. Normally when an alarm is detected a set of raw images is saved along with a mirror set of images @@ -1728,12 +1882,12 @@ etc did not previously work when running in authorised mode. This is now fixed. o zms parameter bug fixed. The streaming server incorrectly parsed and assigned one of it's arguments. This is now fixed. -o zmu Brighness bug. Previously camera brightness was not +o zmu brighness bug. Previously camera brightness was not correctly parsed from command line options passed to zmu. o Event window width variable. Event windows now scale to fit the event image size. -7.5. Release 0.9.15 +7.6. Release 0.9.15 Various bug fixes from the last release and before. o Bandwidth. A bug was introduced in .14 which caused a @@ -1769,7 +1923,7 @@ directly were colourised whereas those written by zmf weren't. A change has been made whereby if set all greyscale JPEG images are colourised in all circumstances. -7.6. Release 0.9.14 +7.7. Release 0.9.14 Major new feature and important bug-fixes. o Web configuration. Following many requests and to make @@ -1811,7 +1965,7 @@ should still be secure as it will require authentication. o All SQL buffers in the C++ code have been enlarged. There was previously an issue with a buffer overflow on certain occasions. -7.7. Release 0.9.13 +7.8. Release 0.9.13 Beta version of several features and fixes, never generally released. @@ -1820,7 +1974,7 @@ released. o Changed some of the core video calls to be V4L2 compatible. This primarily involved opening the video devices and memory maps -as read/write and not just readonly. +as read/write and not just read-only. o Shared memory has now been rationalised to prevent some common problems. Remember to shutdown the whole ZM package before installing, from this version on it will remove all old shared @@ -1828,8 +1982,8 @@ memory segments. o Fixed not numeric comparison in zmwatch which was causing, or appeared to be causing, some errors. o Fixed zone image map bug for percentage zones. When you had -defined a zone in percentage terms, the imagemap used to select it -for editing was broken. This is now fixed. +defined a zone in percentage terms, the image map used to select +it for editing was broken. This is now fixed. o New contrast/brightness etc adjustments feature. This accessible from the Settings link on the monitor window. It's fairly basic at present but should work for most types of cameras. @@ -1861,7 +2015,7 @@ restart the refresh process. By using JS refresh timers which are not interrupted these extraneous refreshes have been mostly eliminated. -7.8. Release 0.9.12 +7.9. Release 0.9.12 Mostly bug-fixes with a couple of minor features. o Double first images. Fixed a problem where the first image of @@ -1933,7 +2087,7 @@ users, attempts to delete monitors will now require confirmation. o Detect linmysqlclient.a. Added better detection script into 'configure' top spot when libmysqlclient.a is missing. -7.9. Release 0.9.11 +7.10. Release 0.9.11 Various new features and fixes. o Added stats view - If you have the RECORD_EVENT_STATS @@ -2016,7 +2170,7 @@ o Web colour change - I thought the old red, green and amber text colours were just a bit too gaudy so I've toned them down a bit. Hope you like them! -7.10. Release 0.9.10 +7.11. Release 0.9.10 Many bug-fixes and major feature enhancements. o Configure 'round' bug - Fixed a problem with the configure @@ -2094,7 +2248,7 @@ o Bugs and pieces - Fixed various bug(ettes) that I came across that that I don't think had been reported or noticed so I don't think we need to talk about them here do we. -7.11. Release 0.9.9 +7.12. Release 0.9.9 Mainly bug-fixes and minor feature enhancements. o Added zmu -q/--query option - There is now a new query option @@ -2141,7 +2295,7 @@ removed in the last version which meant that sometimes the console never go refreshed as it's timing loop was broken. This functionality has now been reinstated. -7.12. Release 0.9.8 +7.13. Release 0.9.8 Several new features and bug-fixes o Upgrade note - If you have installed 0.9.7 and wish to save @@ -2206,7 +2360,7 @@ o Monitor window refresh on alarm - When the monitor window is active and an alarm has occurred the most recent alarms list is immediately refreshed to show it. -7.13. Release 0.9.7 +7.14. Release 0.9.7 Yes, a big jump in release number but a lot of changes too. Now somewhat more mature, not really an alpha any more, and a lot of bugs fixed too. @@ -2251,7 +2405,7 @@ o Some of the web views have changed slightly to accommodate the separate events view. o And much much more, probably... -7.14. Release 0.0.1 +7.15. Release 0.0.1 Initial release, therefore nothing new. @@ -2316,21 +2470,13 @@ associated with a video device. 9. Bugs - o I'm not sure if this is a bug or by design but the timestamp - is added to the image by the capture daemon. I _think_ this isn't - necessary as it may contribute to alarms, plus the time is - associated with the image anyway. So I think this should be moved - to the analysis daemon. + o When opening a link to an event etc from a notification email + the window that is opened is just a regular browser window and not + in the context of a proper ZoneMinder web interface. Thus it comes + up too big usually (not a major issue) and also things like + 'Delete' don't work as it wants to do things to its parent (which + is more of a major issue). -o I suspect there may be a bug in zmaudit.pl if your monitor -names have spaces in them. I've not been able to reproduce it but -to be on the safe side don't put spaces in your Monitor names. -o When opening a link to an event etc from a notification email -the window that is opened is just a regular browser window and not -in the context of a proper ZoneMinder web interface. Thus it comes -up too big usually (not a major issue) and also things like -'Delete' don't work as it wants to do things to its parent (which -is more of a major issue). o The .sock files used by the *nix sockets I suspect may have the odd permission issue now and again. I think everything recovers from it but it needs checking out. diff --git a/README.html b/README.html index 726ba431e..17bd48afc 100644 --- a/README.html +++ b/README.html @@ -3,7 +3,7 @@ -ZoneMinder v1.17.2 +ZoneMinder v1.18.0