The original onvif module was NOT at all ONVIF protocol implementation.
This one pretty much copies the Netcat module but with a bit of clarity
to the XML that is sent to the camera but most importantly allows
specification of full onvif URL including authentication and control URI
through the Control Address field. Parsing of the url is done through a
combination of sane defaults and the URI module.
* Change MaxFPS to DECIMAL(5,3) to handle values like 1/60 = 0.017
* When fps < 1 we may need to wait longer than 10s. Also, we cannot sleep for a long time, because we may need to send a keep alive or check the command queue. So limit the sleep to 1s
* Bump version
* Update MaxFPS to Decimal(5,3)
* Fix missing ;
* Add primary keys to Logs and Stats tables
Adds an auto_increment int(10) Id as PRIMARY KEY to Logs and Stats tables.
Closes ZoneMinder#2550 and makes ZoneMinder compatible with Galera writeset replication for InnoDB (Galera Cluster, Percona XtraDB Cluster).
* Do ALTER TABLE only if columns do not exist
* Add forgotten prepare/execute
* Reference /run/zm instead of /var/run/zm because systemd-tmpfiles complains about it
* Spacing, google code style and tabs to spaces
* add update script to add MinSectionLength
* Add min_section_length to enforce a minimum event length when closing continuous events on alarm
* Adding a button for camera reboot function
This series of commits will add a camera reboot function to the
control interface if supported by the camera configuration.
* Adding reboot function option to contorl configuration
This patch adds a reboot option to the camera control configuration
view.
* Adding Reboot field to Controls table
This patch adds a Reboot field to the Controls table to support
a camera reboot control option.
* Correcting button value to match reset
* Updating language files
I'm not sure of the proper procedure to trigger updating of
non-english language files so I'm updating them all with English
hoping that that will draw attention to the changes and others
will translate accordingly.
* Add missing forward slash
* Add a control module to support the current Amcrest HTTP API
This patch adds ZoneMinder::Control::Amcrest_HTTP
This module is adapted and improved from one available on the ZoneMinder
forums.[1] It appears that a number of individuals have contributed to
it. This is an attempt to correct some of its interactions with ZM::Control
and friends as well as enhance and extend supported control features
for Amcrest cameras.
This work is based on Amcrest HTTP Protocol API Specifications
Rev. 2.12 2017-03-15
[1]https://forums.zoneminder.com/download/file.php?id=1878
* Fixing zoom methods
* Misc. cleanup of comments, etc.
* Fixing up POD, etc.
* Converting line endings to Unix
* Fixing up preset methods
The current Amcrest HTTP API does not support a Home command per se. So this
method is set up to send the camera to the first preset position. Of course,
this presupposes that the user will setup a preset #1 otherwise the command
will fail on a bad preset error.
If a future version of the API supports a true Home command, we'll adjust
at that point. For now this seems to be a useful workaround.
* Removing duplicate home method
* Adding moveAbs method
I'm putting this in, but absolute camera movement does not seem to be well
supported in the classic skin ATM. Reading
www/skins/classic/include/control_functions.php seems to indicate
a faulty implementation, unless I'm reading it wrong. I see nowhere
where the user is able to specify the absolute location to move to. Rather,
the call is passed back movement in increments of 1 unit. At least with the
Amcrest/Duhua API this would result in the camera moving to the 1* or 0* etc.
position.
moveAbsUp, Down, Left, Right, etc. Doesn't make sense given the definition
of Absolute movement.
* Adding a note about the moveMap method
This method does not appear to be implemented in the classic skin,
but we'll leave it here for future implementation. Caveat: It may
or may not work as-is.
* Fixing up zoomConTele/Wide methods
* Adding a vanilla control type for the Amcrest HTTP API
Please note that this control type matches (mostly) the currently
available control options in Amcrest_HTTP.pm. It does not match
all (or possibly any) of the control options available on a specific
Amcrest camera. The user may need to create their own control type
specific to the camera model they are using.
* Removing misplaced comment
Thanks to connortechnology for pointing this out!