Introduction
Overview
Download
Purchase
Contact
Help

SecuritySpy

Web Server HTTP Specification

This document describes the HTTP interface of SecuritySpy's built-in web server. This is an advanced document and basic knowledge of HTTP is assumed. Parameters in square brackets [] are optional.

HTML page containing live video or still images
Request format
++viewlive?cameraNum=<camera1>[&cameraNum=<camera2>][&imageSize=<size>][&viewMethod=<method>]
Parameters
<camera1>
, <camera2> etc are the numbers of the cameras to display
<size> is the size of the images, either in format "640x480" or "scale2" (double size) or "scale0.5" (half size)
<method> the viewing method of images on the page, one of the following numbers:
0
Auto - SecuritySpy will try to detect the browser's capabilities and will choose a viewing method to suit
1
Java applet with JPEG compression
2
Java applet with MPEG-4 compression
3
JavaScript
4
Server-push JPEG stream
5
Still JPEG images
Example
++image?cameraNum=1&cameraNum=2&cameraNum=3&imageSize=640x480&method=0
Returned data
A HTML page containing live images from the cameras you specify.

Still JPEG image
Request format
++image?cameraNum=<camera>[&width=<width>][&height=<height>][&quality=<quality>]
Parameters
<camera>
is the number of the camera, as displayed in the Device Map window
<width> is the width of the image in pixels
<height> is the height of the image in pixels
<quality> is the compression quality in the range 0 to 100
Example
++image?cameraNum=1&width=640&height=480&quality=50
Returned data
A single JPEG image for the specified camera.

Multipart JPEG "server push" video stream
Request format
++video?cameraNum=<camera>[&width=<width>][&height=<height>][&quality=<quality>][&req_fps=<fps>]
Parameters
<camera>
is the number of the camera, as displayed in the Device Map window
<width> is the width of the image in pixels
<height> is the height of the image in pixels
<quality> is the compression quality in the range 0 to 100
<fps> is the FPS of video that SecuritySpy will attempt to send
Example
++video?cameraNum=1&width=640&height=480&quality=50&req_fps=10
Returned data
A multipart-mixed-replace JPEG stream, as follows:
HTTP/1.1 200 OK\r\n
Server: BBVS\r\n
Content-Type: multipart/x-mixed-replace;boundary=ssBoundary8345\r\n
\r\n
--ssBoundary8345\r\n
Content-Type: image/jpeg\r\n
Content-Length: 21325\r\n
\r\n
<JPEG image data>\r\n
--ssBoundary8345\r\n
Content-Type: image/jpeg\r\n
Content-Length: 22128\r\n
\r\n
<JPEG image data>\r\n
........

Multipart MPEG-4 "server push" video stream
Request format
++video?codec=mp4v&cameraNum=<camera>[&width=<width>][&height=<height>][&quality=<quality>][&req_fps=<fps>]
Parameters
<camera>
is the number of the camera, as displayed in the Device Map window
<width> is the width of the image in pixels
<height> is the height of the image in pixels
<quality> is the compression quality in the range 0 to 100
<fps> is the FPS of video that SecuritySpy will attempt to send
Example
++video?codec=mp4v&cameraNum=1&width=640&height=480&quality=50&req_fps=10
Returned data
A multipart-mixed-replace MPEG-4 stream, as follows:
HTTP/1.1 200 OK\r\n
Server: BBVS\r\n
SS-Codec: mp4v
SS-Width: 640
SS-Height: 480
SS-Depth: 24
Content-Type: multipart/x-mixed-replace;boundary=ssBoundary8345\r\n
\r\n
--ssBoundary8345\r\n
Content-Length: 21325\r\n
\r\n
<MPEG-4 image data>\r\n
--ssBoundary8345\r\n
Content-Length: 22128\r\n
\r\n
<MPEG-4 image data>\r\n
........

PTZ controls HTML page
Request format
++ptz/controls?cameraNum=<camera>
Parameters
<camera>
is the number of the camera, as displayed in the Device Map window
Example
++ptz/controls?cameraNum=1
Returned data
An HTML page with buttons to control the PTZ of the specified camera.

PTZ command
Request format
++ptz/command?cameraNum=<camera>&command=<command>
Parameters
<camera>
is the number of the camera, as displayed in the Device Map window
<command> is the command to excecute, which is a number as follows:
1
Left   12 Preset 1   112 Save preset 1
2
Right   13 Preset 2   113 Save preset 2
3
Up   14 Preset 3   114 Save preset 3
4
Down   15 Preset 4   115 Save preset 4
5
Zoom in   16 Preset 5   116 Save preset 5
6
Zoom out   17 Preset 6   117 Save preset 6
7
Home   18 Preset 7   118 Save preset 7
8
Up-left   19 Preset 8   119 Save preset 8
9
Up-right            
10
Down-left            
11
Down-right            
Example
++ptz/command?cameraNum=1&command=7
Returned data
"OK" as text if the command was accepted by SecuritySpy.

Active/Passive mode control
Request format
++ssControlActiveMode?cameraNum=<camera>
++ssControlPassiveMode?cameraNum=<camera>
Parameters
<camera>
is the number of the camera
Example
++ssControlActiveMode?cameraNum=1
++ssControlPassiveMode?cameraNum=1
Returned data
HTTP 303 redirect to the referer page, or if no referer page, the text "The control message was received OK".

HTML page containing links to captured video footage
Request format
++download?cameraNum=<camera1>[&cameraNum=<camera2>][&fileTypeMenu=<type>][&ageText=<age>][&date1Text=<date1>][&date2Text=<date2>]
Parameters
<camera1>
, <camera2> etc are the numbers of the cameras to be included in the list of footage
<type> a one-character indicator of what kinds of files to list:
m
Movie files only
i
Image files only
b
Both movie files and image files
<age> The maximum age of files to list, in days
<date1>, <date2> A date range for files to list, in the format "DD/MM/YY"
Example
++download?cameraNum=1&cameraNum=2&fileTypeMenu=b&ageText=5
Returned data
An HTML page containing a list of files that match the search criteria, with download links to the the files themselves.

Camera status
Request format
++camerastatus?cameraNum=<camera>
Parameters
<camera>
is the number of the camera
Example
++camerastatus?cameraNum=1
Returned data
One of the following results in plain text:
2 PASSIVE The camera is in passive mode
3 ACTIVE The camera is in active mode

HTML page containing list of sounds
Request format
++sounds
Returned data
An HTML page with a list of sounds installed in the SecuritySpy server with links. Clicking on a link will play the sound on the server computer.

HTML page containing list of scripts
Request format
++scripts
Returned data
An HTML page with a list of scripts installed in the SecuritySpy server with links. Clicking on a link will run the script on the server computer.

Introduction | | Overview | | Download | | Purchase | | Contact | | Help