i-Catcher is an open platform that allows sophisticated integration with other systems via the HTTP API SDK detailed below. To make use of these
facilities the built-in web server must be enabled. The user permissions system will apply to each of these calls, and will need to be honoured in
any application or web page that makes use of them.
Note that some calls are designed to be used in an embedded environment, e.g. URLs loaded from a JavaScript function and such have the option to
return "No Content", a special HTTP response indicating that the request was successfully processed but no data is available by return.
The HTTP API SDK also provides calls for accessing certain data in XML format for use by applications. Most web browsers employ a security model that
will prohibit reading and/or processing XML data asynchronously from another web server (i.e. the Console web server). These XML functions will only be
usable by applications or processing environments with a less restrictive security model.
/image.jpg
Individual full JPEG images.
| Parameter | Value | Description |
| feed | feedid/name | The ID or name of the requested feed. The ID takes priority. |
| width/height | ... | Width and Height of the image. If not set, the original image size is used. If just the width is given, the height is adjusted to keep the aspect ratio. |
| quality | 1 to 100 | JPEG quality level. If not set or set to 0, a default of 75 is used. |
| factor | -3 to 3 | Scaling factor of the image (current size x 2 ^ factor). |
| scale | ... | Scaling factor of the image (current size x scale). |
| noupsample | 0 or 1 | If this is set to 1, then i-Catcher will not increase the size of the frame beyond its native size. |
If the quality, width and height are not specified, then the image will be sent using the native size and quality.
/video.mjpg
Multipart MIME Motion JPEG video stream.
| Parameter | Value | Description |
| feed | feedid/name | The ID or name of the requested feed. The ID takes priority. |
| width/height | ... | Width and Height of the image stream. If not set or set to 0, the original image size is used. |
| quality | 1 to 100 | JPEG quality level. If not set or set to 0, a default of 75 is used. |
| noupsample | 0 or 1 | If this is set to 1, then i-Catcher will not increase the size of the frame beyond its native size. |
If the quality, width and height are not specified or set to 0, then the image will be sent using the native size and quality.
/video.ipeg
iPEG video stream.
| Parameter | Value | Description |
| feed | feedid/name | The ID or name of the requested feed. The ID takes priority. |
| width/height | ... | Width and Height of the image stream. If not set or set to 0, the original image size is used. |
| quality | 1 (Lowest) 2 (Medium) 3 (Highest iPEG) 4 (Medium full frame) 5 (Highest full frame) 6 to 100 (Mapped equally to 1 to 5) | JPEG quality level. If not set or set to 0, the highest iPEG quality (3) is used. |
| noupsample | 0 or 1 | If this is set to 1, then i-Catcher will not increase the size of the frame beyond its native size. |
If the quality, width and height are not specified or set to 0, then the image will be sent using the native size and the highest iPEG quality (3).
/setstreamparams.cgi
Change the parameters of an existing video stream.
| Parameter | Value | Description |
| id | streamid | The ID of the Motion JPEG stream to change. |
| width/height | ... | New Width and Height of the image stream. If not set or set to 0, the original image size is used. |
| quality | 0 to 100 | New JPEG quality level. If not set or set to 0, a default of 75 is used. For iPEG streams, the quality values above apply. |
| noupsample | 0 or 1 | If this is set to 1, then i-Catcher will not increase the size of the frame beyond its native size. |
| slot1 to slotN | feedid | Allows i-Catcher to send multiple feeds out on a single Motion JPEG stream. Any unspecified or empty slots will be deleted and you MUST specify slot1 otherwise it will ignore the rest. |
| doubleslot | 0 to 16 | Any image sent out on this slot will be doubled in size relative to to width/height and subject to the noupsample parameter. Set this to 0 for no slot to be increased. |
If the quality, width and height are not specified or set to 0, then the image will be sent using the native size and quality.
/ and /index.htm
| Parameter | Value | Description |
| feed | feedname/id | The name or ID of the requested feed. The name takes priority. |
| mode | 0 (MJPEG Java applet) 1 (JavaScript) | Mode used to view the live stream from the Console. If the web browser won't display Java applets, this is forced to JavaScript mode. |
| quality | 0 (Highest) to 4 (Lowest) | The image quality to view. The lower the quality, the less bandwidth will be used. |
/simple.htm
| Parameter | Value | Description |
| feed | feedname/id | The name or ID of the requested feed. The name takes priority. |
| quality | 1 to 100 | JPEG quality level. If not set or set to 0, a default of 75 is used. |
| sourcewidth/sourceheight | ... | Force a fixed source width and height of the image to request from the server. If not set, the image display size is used. |
This page is designed to be embedded in an IFrame with code similar to the following:
<iframe name="live" src="http://ip.ad.dre.ss/simple.htm?feed=local" width="320" height="240" frameborder="0"></iframe>
The view will resize to fit the entire iframe and the borders are included in the size if they are visible.
/playback/ and /playback/index.htm
| Parameter | Value | Description |
| feed | feedname/id | The name or ID of the requested feed. The name takes priority. |
| date | date | Date for the requested playback session. |
| year/month/day | ... | The individual year, month, and day for the requested playback session. |
| time | time | Time for the requested playback session. |
| hour/minute | ... | The individual hour, and minute for the requested playback session. |
| mode | 0 (MJPEG Java applet) 1 (JavaScript) | Mode used to view/control the playback stream from the Console. If the web browser won't display Java applets, this is forced to JavaScript mode. |
/feedlist.xml, /feedlist.js, and feedlist.txt
These three URLs will return a list of feeds that the user has permission to see, and depending on the parameters, include stopped feeds.
The XML list includes feed ID and associated name, and the JavaScript file includes JS arrays of IDs, names, and PTZ capabilities. Use of feedlist.txt is deprecated and for backwards compatibility only.
| Parameter | Value | Description |
| showstopped | | If this parameter is included, all stopped feeds will be shown in the list. |
/reference.jpg
| Parameter | Value | Description |
| feed | feedid/name | The ID or name of the requested feed. The ID takes priority. |
| width/height | ... | Width and Height of the image. If not set, the original image size is used. |
| quality | 1 to 100 | JPEG quality level. If not set or set to 0, a default of 75 is used. |
| fallbacklive | | If this parameter is included, and no reference image is available, the current live image will be returned. |
If the quality, width and height are not specified, then the image will be sent using the original size and quality.
/liveurl.htm
Performs an HTTP redirect to the cameras live view URL if configured, or the built in web view for the given feed.
All access permissions still take effect.
| Parameter | Value | Description |
| feed | feedid/name | The ID or name of the requested feed. The ID takes priority. |
/ptz/control.htm
| Parameter | Value | Description |
| feed | feedid | The ID of the requested feed. |
| move | up upleft upright down downleft downright left right inimage home (Preset home position) preset to (Specified position) | Command to carry out. |
| angle | ... | Angle to move in degrees. The direction is specified in the move parameter. If this is omitted, it defaults to 5 degrees. |
| pan/tilt | ... | The pan/tilt position in degrees from the centre. Negative values are down and left. |
| x/y | ... | The coordinates in the image to move to, in pixels from the top left for in image move requests. |
| width/height | ... | The width and height in pixels to use for in image move requests. |
| preset | ... | The preset index to move to. 1 based, 0 is home. |
| zoom | in out to | Zoom operation to carry out. |
| level | ... | The magnification level to zoom to. A value of 0 is wide angle, 1 shows half the image, etc... |
| return | status nocontent | Specifies what data to return after the operation. "nocontent" allows you to link direct to it and the browser not go to a new page. Defaults to returning the status. |
/ptz/presets.xml
| Parameter | Value | Description |
| feed | feedid | The ID of the requested feed. |
This resource returns XML of the form:
<presets>
<preset name="Entrance"/>
<preset name="Reception"/>
<preset name="Window"/>
</presets>
/io/sensors.xml
This resource returns XML of the form:
<sensors>
<sensor>
<id>{04ED93C1-A41A-4E4E-A879-F2A13F25F711}</id>
<name>Switch</name>
<nativevalue>True</nativevalue>
<value>Connected</value>
</sensor>
<sensor>
<id>{B17047E8-2730-46EF-A928-468075C3C57A}</id>
<name>Fan</name>
<nativevalue>False</nativevalue>
<value>Off</value>
<values>
<value value="True">On</value>
<value value="False">Off</value>
</values>
</sensor>
</sensors>
/io/setsensor.htm
| Parameter | Value | Description |
| sensor | sensorid | The ID of the requested sensor. |
| value | ... | The value to set the sensor to. If this is omitted, the default value or action will be performed. |
| return | status nocontent | Specifies what data to return after the operation. "nocontent" allows you to link direct to it and the browser not go to a new page. Defaults to returning the status. |
/admin/addfeed.cgi
This URL allows you to add feeds remotely and configure the most basic settings needed to get it working.
| Parameter | Value | Description |
| id | ... | The ID for the new feed. If this is omitted, a GUID will be used for the ID. |
| name | ... | The friendly name of the new feed. If this is omitted, "New feed" will be used. |
| type | 0 (Manual configuration) 1 (Local device) 2 (Network device) 3 (Batch feed) | Type of feed to add. If this is omitted, it will default to "Manual configuration". |
| device | ... | The device ID for the local WDM device to be added. This parameter only applies to the local feed type. |
| parameters | ... | The parameters for the local WDM device to be added. This parameter only applies to the local feed type. |
| url | ... | The URL for the network device to be added. This parameter only applies to the network feed type. |
| path | ... | The path to read the batch images from. This parameter only applies to the batch feed type. |
| pattern | ... | The pattern of the batch image file names. This parameter only applies to the batch feed type. |
| clearpending | 0 (Leave pending images) 1 (Delete pending images) | Controls whether pending images are deleted before starting. If this is omitted, it will default to "Delete pending images". This parameter only applies to the batch feed type. |
This resource returns a status code of "OK" or "Error: " followed by the error status text