This project explains how to change the Mobotix D24M-SEC IP network camera recording mode using the HTTP API with IP Notify Events and Time Tasks. The camera recording mode is changed from Continuous Recording to Video Motion Event Recording based on time of day to match the business open and closing hours. E-mails with a camera image are sent during closing hours when video motion events are triggered to catch burglars and trespassers.
The Mobotix D24M-SEC IP network camera is a professional grade unit with a wealth of features and functions. The camera web interface is normally sufficient for most configuration tasks, but on occasion the HTTP API must be used for advanced camera control strategies. The HTTP API can be invoked either by an application running on a remote computer, or the camera can send API commands to itself.
Business Requirements
A camera is commonly used to monitor a business or area of interest on a 24×7 basis. Businesses typically have regularly scheduled “Open” and “Closed” hours that call for different camera management strategies.
Open Hours: During normal business hours there is a lot of activity going on that makes video motion event recording a poor strategy because the entire range of open hours will be full of events, which are of no real interest since this is to be expected. Continuous Recording at 1 frame-per-second during normal business hours is a better approach so there’s a record of everything that occurred in case something of interest happens, for example a robbery or accident.
Closed Hours: After hours when the business is closed there normally shouldn’t be any activity. The business is closed and vehicle and foot traffic is forbidden. Video motion event recording is best in this scenario such that the camera will note the event data & time, make a recording and send an e-mail notification with the event image. The business owner or security monitoring company will receive the e-mail alarm notice a few moments later (everyone has a smartphone), decide if a response is needed – crime in progress, fire, flood, windstorm damage – and take the appropriate action.
Mobotix Camera Operating Modes
To meet the above business requirements, the Mobotix D24M-SEC camera is programmed via the HTTP API to change programming modes as follows:
- Open Hours: Continuous Recording with no e-mail notifications.
- Closed Hours: Event Recording with Video Motion Event e-mail notifications.
Mobotix HTTP API
The HTTP API documentation is available at the Mobotix Camera Integration SDK website and in the camera online help pages in the “Remote-Controlling the Camera” section:
The HTTP API online help is really an API reference guide that must be carefully studied to figure out the right set of commands and parameters:
The recording HTTP API parameters used in this tutorial are highlighted in red:
I found the “unformatted parameters” help page (see link at the top of the previous image) is more helpful as it shows the command format in a copy & paste ready text format:
In the following HTTP API calls to change the camera recording mode, I’ll be using the
control?set§ion=recording&<parameter>=<value>[&<parameter>=<value>]
API commands for event and continuous recording modes are respectively in the IP Notify Profiles:
control?set§ion=recording&recording=streaming_event control?set§ion=recording&recording=streaming
More generally, the HTTP API parameterized URLs may take any of the following formats depending on your application. For example, from a computer in the same LAN subnet (note that your camera LAN IP address may be different):
http://192.168.2.251/control/control?set§ion=recording&recording=streaming_event
For commands sent from the camera to itself via IP Notify Profiles in this tutorial:
http://localhost:80/control/control?set§ion=recording&recording=streaming_event
The Mobotix camera in this tutorial has been configured to listen for HTTP requests on port 5001. The factory default configuration will have your camera will be listening for requests on the standard HTTP port 80. Assigning a unique unused port number to the camera with port forwarding rules in your router makes it possible to access different cameras on the same private LAN from the Internet.
Mobotix Camera HTTP API Configuration
The HTTP API and event action configuration steps are to create:
- IP Notify Profiles: calls the HTTP API to change the camera recording mode
- Time Tasks: schedules the IP Notify Profiles for open and closed business hours
- E-Mail Profiles: configure the e-mail account and message content
- Time Tables: enable the e-mails only during closed business hours
- E-mail Action Notice: send an e-mail upon video motion events during closed hours
Each configuration step is described in detail in the following step-by-step instructions. This tutorial assumes that you have already defined Video Motion Event Windows (Setup → Event Control → Event Settings → Video Motion Window).
The IP Notify and E-Mail profiles, Time Tables and Tasks are highlighted in the Mobotix camera Administrative Overview GUI (green and orange squares):
This tutorial is continued in Part 2.
Thanks for reading,
Bob Jackson