ONVIF Notifications and ZoneMinder

ONVIF triggers external events in ZoneMinder

I finally put together everything I had learned about ZoneMinder external event triggering and ONVIF VideoAnalytics.

The result is a script zmonvif-trigger.pl that subscribes to events from several ONVIF cameras. The cameras send these events if something moves in their view field.

On reception of an ONVIF event the script generates a ZoneMinder event. Thus the ZoneMinder server does not need to analyze the video streams from several cameras. The cameras themselves watch for any movement. This saves a lot of CPU power and network bandwidth.

We can see the events in the ZoneMinder console.

monitors_events

If we open the event details we can see that the event has been generated by the ONVIF camera’s rule “MyMotionDetectorRule”. Moreover we can watch the video footage recorded during the event.
events

ZoneMinder ONVIF options

I had to enhance the ZoneMinder monitor options for the script to have the necessary technical details. We do not fill these values manually. The ONVIF probing button gathers this information and fills the options with the correct values.
This post is part of The ONVIF series. See the other posts in the series here.

Tags: , , , , ,

6 responses to “ONVIF Notifications and ZoneMinder”

  1. MW says :

    This is fantastic, is your script available to the public?

  2. g0w1s0@hotmail.com says :

    wow is your script available for download ?

  3. John says :

    Have you manually set up the motion detection event on the camera’s web interface or was this done through ONVIF?

    Thank you

  4. Luksz says :

    what about reply for firsts comments?

  5. Jan M. Hochstein says :

    Thank you for your interest. The script has been merged into the zoneminder codeline. If you build from source it should reside in the scripts/ folder. Or just browse it at https://github.com/ZoneMinder/zoneminder/tree/master/scripts

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.