![zoneminder onvif zoneminder onvif](https://www.planet.com.tw/storage/products/49385/NVR-2516P-3.png)
These will normally be absolute or mapped commands. This will usually be a hostname or ip address for network cameras or a simple numeric camera id for other cameras. If you have carefully defined your control capabilities above then you should only expect commands that correspond to those capabilities.Ībsent if no device is specified. If you are writing a script to support a new protocol then you will need to convert the parameters passed into the script to equivalent protocol commands. If you already have scripts or applications that control your cameras, the ZoneMinder control script will just act as glue to convert the parameters passed into a form that your existing application understands. If you are writing a new control script then you need to ensure that it supports the parameters that ZoneMinder will pass to it. If your protocol requires state information to be preserved then you should ensure that your scripts do this as ZoneMinder has no concept of the state of the camera in control terms. Control scripts are run atomically, that is to say that one requested action from the web interface results in one execution of the script and no state information is maintained.
![zoneminder onvif zoneminder onvif](https://bkjaya.files.wordpress.com/2016/01/screenshot-1.png)
A small number of sample scripts are included with ZoneMinder and can be used directly or as the basis for development. The second key element to controlling cameras with ZoneMinder is ensuring that an appropriate control script or application is present.
![zoneminder onvif zoneminder onvif](https://i.imgur.com/8gzLMcj.png)
In the case of the capabilities table there are a large number of settings and tabs, the mean and use of these are briefly explained below. Either of these approaches will create a new window, in familiar style, with tabs along the top and forms fields below. To edit an existing capability to modify select the Id or Name of the capability in question, or click on the Add button to add a new control capability. This will bring up a new window which lists, with a brief summary, the existing capabilities. If you have a camera that supports PTZ controls and wish to use it with ZoneMinder then the first thing you need to do is ensure that it has an accurate entry in the capabilities table. Having a basic understanding of how camera control works in ZoneMinder will go a long way in debugging issues in the future. You can also use direct image control for relative motion when the area of the image you click on defines the direction and the distance away from the centre of the image determines the speed. Used in this way you can just click on the area of the image that interests you and the camera will centre on that spot.
![zoneminder onvif zoneminder onvif](https://i.imgur.com/fAg7NKR.png)
Certain control capabilities such as mapped motion allow direct control by clicking on the image itself when used in browsers which support streamed images directly. If you have a camera that allows different speeds to be used for panning or zooming etc then clicking near the point of the arrow will invoke the faster speed whilst clicking near the base of the arrow will be slower. It is usually the case that the control arrows are sensitive to where you click on them. This may sometimes take a noticeable delay before the camera responds. The normal method of controlling the monitor is by clicking on the appropriate graphics which then send a command via the control script to the camera itself. If you have preset support then these will be near the bottom of the window. The capabilities you have defined earlier determine exactly what is displayed in this window. Some degree of development is likely to be required for many cameras. It should be emphasised that the control and capability elements of ZoneMinder are not intended to be able to support every camera out of the box. To address this ZoneMinder uses two key approaches to get around this problem. ZoneMinder provides the facility to control cameras from the web interface and to some extent automatically.