I wanted to explore more features of my webcam (TV-IP311PI). Apart from probing and streaming it can also do “video analytics”. That is the ONVIF name for motion detection.
From a system architecture point of view, it makes more sense to have each camera analyse its own view field and only then send image data. If we have a central system analysing data from many cameras the data volume is much larger. Obviously the central system needs to receive image streams from all cameras in order to analyse them. Read More…
I used the ONVIF API I had assembled to build an automatic configurator for ONVIF cameras in ZoneMinder.
Essentially I put the files from my
zm-onvif poject in a folder
onvif in my local copy of the ZoneMinder sources. I then added some files to integrate both parts. The most complex task for me was to understand the ZoneMinder architecture.
I have not had the time to upload the code, yet. I uploaded the code and made a pull request to include it in ZoneMinder.
Meanwhile I made some screen shots of my local installation:
The Media service
I wanted some quick wins therefore I focused on getting the camera to work. I decided the generic message parsing stuff would have to wait.
With the address I got previously I called the ONVIF Device Management web service method
GetServices. Read More…
Completing the proxy generation
First I wanted to get rid of the errors “not implemented” and “deep recursion” that occurred during proxy generation.
I made local copies of all referenced XSDs and replaced references with
xsd:anyType or commented out the attributes referencing http://docs.oasis-open.org/wsn/b-2 . This XSD had the most errors and was only referenced by the Event service which I would not use to begin with.