docs/userguide/zma.rst
zma re-analyses a previously recorded event using the current zone settings
for the monitor. It decodes each frame from the event's stored video or JPEG
files and runs the full motion detection pipeline.
This is useful for tuning zone settings and re-running analysis on existing
footage without needing live cameras. After adjusting zones in the web
interface, you can use zma to see how those changes would affect detection
on past events.
By default, zma updates the existing event's motion statistics
(AlarmFrames, TotScore, AvgScore, MaxScore) in the database. With the
--create-events option, it instead creates new events from the detected
motion regions.
.. code-block:: bash
zma -e <event_id> [options]
-e, --event <event_id>
Event ID to re-analyse. Required.
-m, --monitor <monitor_id>
Override the monitor ID used for zone configuration. By default, zma
uses the monitor that owns the event. Use this option to apply a different
monitor's zone settings to the event's footage.
-c, --create-events
Create new events from detected motion instead of updating the original
event's scores. The new events are inserted into the database and linked
to the source video files via hard links (falling back to copies if on a
different filesystem).
-a, --save-analysis
Write analysis JPEG images showing zone alarm overlays for each frame
that triggered motion. The images are written to the event's directory
using the standard analysis file naming convention.
-v, --verbose
Increase debug verbosity. Can be specified multiple times for higher
verbosity levels.
-h, --help
Display usage information.
-V, --version
Print the installed version of ZoneMinder.
Update Existing (default) ^^^^^^^^^^^^^^^^^^^^^^^^^
When run without --create-events, zma processes every frame and then
updates the original event row in the database with the recalculated scores:
This lets you see how zone tuning changes the event's score metrics without creating any new data.
Create Events ^^^^^^^^^^^^^
With --create-events, zma uses the monitor's alarm state machine
(including AlarmFrameCount and PostEventCount settings) to detect
alarm regions in the footage and creates new event records in the database for
each one. The source video files are hard-linked into the new event directories
so no additional disk space is used (on the same filesystem).
Save Analysis ^^^^^^^^^^^^^
The --save-analysis flag can be combined with either mode. When a frame
triggers motion, zma writes analysis JPEG images with zone alarm overlays
into the event directory. These images show which zones were triggered and can
be viewed in the web interface to visually verify zone configuration.
Re-analyse event 12345 and update its scores in the database:
.. code-block:: bash
zma -e 12345
Re-analyse event 12345 using monitor 2's zone settings:
.. code-block:: bash
zma -e 12345 -m 2
Create new events from detected motion in event 12345:
.. code-block:: bash
zma -e 12345 --create-events
Re-analyse with analysis images and verbose output:
.. code-block:: bash
zma -e 12345 --save-analysis -v