YT1-1618-001 HTTP Web View Protocol Spec E

Download as pdf or txt
Download as pdf or txt
You are on page 1of 81
At a glance
Powered by AI
The document outlines specifications for network camera protocols and commands. It details functions, commands, parameters, privileges and other technical information.

The document provides specifications for the WV-HTTP network camera protocol. It describes functions, commands, parameters, session control, video/information retrieval and camera control.

Changes between versions 1.0 and 2.0 included updating content types, terminology, notes and corrections to descriptions. Information was also added on VB-M600/VB-M700 models, JPEG headers and HTTP upload specifications.

NETWORK CAMERA Protocol Spec.

HTTP WebView Protocol Specifications


VB-M40 VB-M600VE VB-M600D VB-M700F Firmware Ver. 1.0 Firmware Ver. 1.0 Firmware Ver. 1.0 Firmware Ver. 1.0

Ver. 2.0

YT1-1618-001

February 28, 2011 CANON INC.

Change Tracking List


Version Ver. 1.0 Ver. 2.0

Date
Dec. 15, 2010 Feb. 28, 2011

Page 29 41, 45, 52

Note Version 1.0 was released. 3gpp2 of Content-Type was changed to mp4. The term full auto was changed to auto. The term flickerfree was changed to flickerless. The term priority given to shutter speed was changed to shutter-priority AE. The term shade correction was changed to smart shade control. Notes on c.<c>.dn was corrected/*n was added. Moving object detection (m) was deleted from A.4 External Input/Output Information The descriptions of *f in A.6 Intelligent Function Information was corrected.

43, 46, 47, 51, 55 51, 52 55

57 - 62 68 - 71 72 - 74 75 - 80 81

B. VB-M600/VB-M700 information was added. D. JPEG Header information was added. E. H.264 Distribution Function was added. F. HTTP Upload Specification was added. G. Each command and Users Access Privileges were added.

-2-

Table of Contents
Change Tracking List ....................................................................................... 2 1 Overview ..................................................................................................... 5
1.1 Requests and Responses ............................................................................... 5 1.1.1 Livescope-Status ................................................................................................. 7 1.2 Changes in VB-M40/VB-M600/VB-M700 from Prior Models ............................ 9 1.3 VB-M40/VB-M600/VB-M700 Model Specific Operations.................................. 9 1.3.1. Resynchronization Process when Mode Error Occurs ....................................... 9

WV-HTTP Specification ........................................................................... 10


2.1 Functions Provided by the WV-HTTP Protocol .............................................. 10 2.2 Commands and Parameters .......................................................................... 10 2.3 Session Control Commands .......................................................................... 12 2.3.1 open.cgi ............................................................................................................. 12 2.3.2 close.cgi ............................................................................................................. 15 2.3.3 claim.cgi ............................................................................................................. 16 2.3.4 yield.cgi .............................................................................................................. 18 2.3.5 session.cgi ......................................................................................................... 20 2.4 Video Retrieval Commands ........................................................................... 23 2.4.1 image.cgi ........................................................................................................... 23 2.4.2 video.cgi............................................................................................................. 27 2.5 Information Retrieval Commands .................................................................. 31 2.5.1 info.cgi ............................................................................................................... 31 2.5.2 f.sd:=1panorama.cgi .......................................................................................... 38 2.6 Camera Control Commands .......................................................................... 40 2.6.1 control.cgi .......................................................................................................... 40

VB-M40 Information Retrieval Items....................................................... 49


A.1 A.2 A.3 A.4 A.5 A.6 A.7 A.8 System Information ....................................................................................... 49 Video Information .......................................................................................... 50 Camera Information ....................................................................................... 50 External Input/Output Information .................................................................. 54 Preset Information ......................................................................................... 54 Intelligent Function Information ...................................................................... 55 Sound Device Information ............................................................................. 56 External Memory Information......................................................................... 56

VB-M600/VB-M700 Information Retrieval Items ................................... 57


B.1 B.2 B.3 B.5 B.6 B.7 B.8 System Information ....................................................................................... 57 Video Information .......................................................................................... 58 Camera Information ....................................................................................... 58 Preset Information ......................................................................................... 61 Intelligent Function Information ...................................................................... 61 Sound Device Information ............................................................................. 62 External Memory Information......................................................................... 62

-3-

Former Model Command......................................................................... 63


C.1 Correspondence for Each Type of Information .............................................. 63

JPEG Header Information ....................................................................... 68


JPEG Area MAP ..................................................................................................... 68 JPEG Image Header (APP0) ................................................................................... 69 Item Description ...................................................................................................... 70

H.264 Distribution Function .................................................................... 72


E.1 Image Parameters ......................................................................................... 72 About Image Quality ................................................................................................ 73 E.2 MP4 Fragment............................................................................................... 73

F G

HTTP Upload Specification ..................................................................... 75 Each Command and User Access Privileges ............................................ 81

-4-

1 Overview
The WebView over HTTP protocol (referred to as WV-HTTP hereafter) is a protocol that provides video transmission and camera control functions for network cameras over HTTP. With VB-M40/VB-M600/VB-M700 network cameras, the system of new commands adopted since the VB-C60 network camera is subject to proper operation. Although commands of former models are supported in VB-M40/VB-M600/VB-M700, proper operation is not guaranteed when using these commands. Therefore, use the commands printed in this specifications.

1.1 Requests and Responses


WV-HTTP involves the use of WV-HTTP commands to send video and control the camera. WV-HTTP commands are received as HTTP requests, and video data, camera state information, and so on are sent as HTTP responses. Although the WV-HTTP specifications do not depend on any particular HTTP version, HTTP versions are determined for each individual network camera, and the WV-HTTP client must support the version in question. VB-M40/VB-M600/VB-M700 are HTTP/1.1 compliant. Since they are HTTP/1.1 compliant, the Host header field is mandatory for HTTP requests. However, contents of the Host header field are ignored. Also, if there is no specification, the permanent connection will be activated. (It will be disconnected if Connection: close is specified.) Even if WV-HTTP is HTTP/1.1 compliant, pipelines are not supported. WV-HTTPs HTTP requests can be issued as HTTP methods, using either GET or POST. The only difference between GET and POST in WV-HTTP is the order in which command parameters are evaluated. The request ring part is evaluated first (GET and POST), followed by the message body part (POST). The client selects whether to use GET or POST. A request URI starts with /-wvhttp-01-, and is comprised of a WV-HTTP command and command parameters. Other than the leading wvhttp, the request URI (GET and POST) and message body (POST) are not case-sensitive.

-5-

The request formats for GET and POST are shown below.
Request Format (GET) GET /-wvhttp-01-/<command>[?<parameter list>_] HTTP/1.1 Host: <host request header field value> <other HTTP request header_> <blank line> Request Format (POST) POST /-wvhttp-01-/<command>[?<parameter list>_] HTTP/1.1 Host: <host request header field value> Content-Length: <message body length> <other HTTP request header_> <blank line> <message body (parameter list)>

The HTTP request header fields related to WV-HTTP operations are Authorization, Connection, Content-Length, and If-Modified-Since. All other HTTP request header fields are ignored. The user information of WV-HTTP is extracted from Authorization. Content-Length is required when using the POST method. Also, If-Modified-Since is referenced in panorama-related commands.

The WV-HTTP response format is shown below (the actual content vary according to the WV-HTTP commands). The first line is the HTTP status line, with the HTTP response header field extending from the Date to the blank line, and the WV-HTTP response itself stored in the message body part.

Response Format HTTP/1.1 200 OK Date: <time stamp> Server: VB Accept-Ranges: none CacheControl: no-cache Pragma: no-cache Connection: keep-alive Keep-Alive: timeout=10 Livescope-Status: 0 Content-Length: <message body length> Content-Type: <message body mime-type> <blank line> <message body>

-6-

Livescope-Status is an independent extended field that shows the result of executing the WV-HTTP command. When returning the WV-HTTP response, 200 OK is returned as the HTTP status (including Livescope-Status). When WV-HTTP response is not returned, another HTTP status may be returned. The main status possibilities are shown below.
Table 1-1 HTTP Status
HTTP Status 304 Not Modified 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 411 Length Required 500 Internal Server Error 503 Service Unavailable Meaning Data was not updated (panorama image, etc.). A host header field was not specified (HTTP/1.1). User access restrictions were violated. Host access restrictions were violated. No resource exists that supports this request URI. Content-Length was not specified (POST method). The request was refused due to an internal processing error. The request was refused due to temporary overload or memory shortage.

1.1.1 Livescope-Status
The value of the Livescope-Status header field is 0 when the WV-HTTP command is processed normally. One of the following error codes/error messages is returned when an error occurs:
Table 1-2 Livescope- Status
Livescope-Status 0 301 No Camera Control Right 302 Camera is not available 303 Camera is not controllable 401 Unknown Operator 403 Invalid Parameter Value 404 Operation Timeout 406 Parameter Missing 407 Invalid Request 408 Conflict 409 Conflict 501 Unknown Connection ID 503 Too many clients 507 Insufficient Privilege 508 Request Refused Meaning Processed normally. The request was refused because no control privilege request was issued. A camera that does not exist was specified in the camera_id parameter. An anomaly in the camera part has caused it to enter an uncontrollable state. An undefined command was specified. An invalid parameter value was specified. The command did not finish executing within the response timeout period. A mandatory parameter was not specified. An invalidated session function was requested. An exclusive operation was requested. A recording stream was requested during image evacuation to external memory. The specified session does not exist. The maximum number of connections was exceeded. Cannot access due to access time period restrictions, etc. The request was rejected due to temporary connection limitations of the camera.

-7-

WV-HTTP error responses appear as follows overall. The message bodys Content-Type is always text/plain; charset=utf-8.
WV-HTTP Error Response Format HTTP/1.1 200 OK <HTTP response header field> Livescope-Status: <error code> <error message> Content-Length: <message body length> Content-Type: text/plain; charset=utf-8 --- WebView Livescope Http Server Error --<error message> <additional error information>

-8-

1.2 Changes in VB-M40/VB-M600/VB-M700 from Prior Models


WV-HTTP of VB-M40/VB-M600/VB-M700 is basically forward compatible with new command systems of VB-C60, except the following changes. The details are described in the chapters of each command and parameter. Modification of interpretations of some parameters Change the ServerResponses header field to VB Additional commands of new functions Addition/modification of parameters due to differences in camera functions

1.3 VB-M40/VB-M600/VB-M700 Model Specific Operations


1.3.1. Resynchronization Process when Mode Error Occurs
When a mode error occurs during control.cgi process, a response <Item Name>==? is returned. However, there are specific conditions where mode responses cannot be returned, and in these cases, the camera status will be resynchronized and the result is notified as an event (info.cgi). Corresponding conditions are as follows. When white balance is modified with control.cgi during day-night switching of auto day-night When white balance is modified with commands (commands other than control.cgi) without definition of the mode error response

-9-

2 WV-HTTP Specification
2.1 Functions Provided by the WV-HTTP Protocol
WV-HTTP provides the following functions: Starting and ending sessions Acquiring video data Camera control Camera control privileges Event processing Acquiring various types of information

2.2 Commands and Parameters


WV-HTTP commands are comprised from a command name and parameters. Parameters are given in the format <name>=<value>, and are specified in the request URIs query string with & as a delimiter (or delimited with carriage returns inside the message body). Example: http://192.168.100.1/-wvhttp-01-/image.cgi?pan=1000&tilt=1000

Parameters specified in the query string must be URL-encoded. Although there are no restrictions in the order of specification for parameters, if the same parameter is specified multiple times, excluding parameters that can be specified several times, then the last parameter will be used. Each command parameter and response will be described below. Depending on the parameter, it may be possible to partially omit names or values. In this case, the part that can be omitted will be shown as [...]. The majority of parameters may be omitted in WV-HTTP, but those that cannot be omitted are shown as (mandatory).

- 10 -

When using WV-HTTP commands, after receiving a response to the sent command, the next command must be sent. This is to ensure the order of sent commands, and if the next command is sent before waiting for a response to the command, the order of command processing cannot be ensured and may result in an unexpected operation. WV-HTTP provides the following commands: Starting and ending sessions: Acquiring video data: Camera control privileges: Acquiring various types of information: open.cgi, close.cgi, session.cgi image.cgi, video.cgi claim.cgi, yield.cgi info.cgi

Camera control/ External device operations: control.cgi

control.cgi and info.cgi can be used sessionless. When control privileges are controlled using claim.cgi and yield.cgi, a session must be started using open.cgi.

- 11 -

2.3 Session Control Commands


2.3.1 open.cgi
Format
http://<ipaddress>/-wvhttp-01-/open.cgi?[s.priority=value&v=value]

Function Overview This function creates a WV-HTTP session. When creating a privileged session, specify the priority with priority. This priority level is used for access management, control privileges management, and so on. Session life spans differ depending on the priority, with privileged sessions (those with a priority of 5 or higher) unlimited, and general sessions (those with a priority of 0) limited to the maximum connection time (the set value). v parameter can be used to specify the video stream type for a session to be used for acquiring video. The specified value is used as the default video stream for video retrieval commands (image.cgi, video.cgi). The values which can be specified depend on the model and settings (info.cgi). It can be changed after the session is created, or after the video transmission starts (refer to session.cgi). If a session is successfully created, then the session identifier, remaining time, and priority are returned as the response. For sessions with video transmission functions, the video stream information is also added to the response. If the maximum connections limit is exceeded, a session will not be created and a 503 error is returned to Livescope-Status. Also, the session will not be created and a 507 error response is returned to Livescope-Status if the access time period or some other connection restriction prevents the connection.

- 12 -

Parameters
[s.]priority Priority level (0: general user, 5 to 50: operator). Value defaults to 0 when omitted. Priority levels of users other than general users are restricted to the user, and priority levels between 1 and 4 are treated as 5 (1 to 4 are a reserved range). Used to specify the video stream. Specify with the format <T>[:<W>[x<H>[::<R>]]]]. <T> is the type (jpg or h264). <W> and <H> are the image size (the width and height in pixel units). <R> is the frame rate (the number of frames per 1,000 seconds). (example: jpg:640 x 480::30000) If there is no match for a specified value, then the closest thing to the specified value (as long as the value is above the specified value, yet does not exceed the maximum value for the device) will be selected. When h264 is specified in <T>, <W>, <H> or <R> cannot be specified. (Setting values of the device will be used) When <WxH> is not specified, default values of the device will be used. When v=null is specified, a session without a video delivery function will be created. If a command related to video delivery is requested of this session created by specifying null, then a 407 error is returned to Livescope-Status.

For operators (non-administrators) to create a privileged session, privileged camera control must be permitted depending on the settings. When privileged camera control is prohibited, non-administrators privileged session will be deleted at that point, and new sessions will not be able to be created.

- 13 -

Responses
Content-Type Extended header Message body text/plain; charset=utf-8 Livescope-Status: status code s:=<session identifier> s.origin:=<camera address>:<HTTP port> s.duration:=<time remaining in the session> s.priority:=<session priority level > v:=<video stream> s.duration is the remaining time in seconds (0 means no limit). v is only specified when the video stream is valid (when v is not null).

Notes

Error
Livescope-Status 407 Invalid Request 503 Too many clients 507 Insufficient Privilege Error details An invalidated session function was requested. Maximum connections limit exceeded. Access time period or some other connection restriction prevents the connection.

Example of Parameters and Responses GET /-wvhttp-01-/open.cgi HTTP/1.1 HTTP/1.1 200 OK ... Livescope-Status: 0 Content-Length: 95 Server: VB s:=8a96-c09b18f0 s.origin:=192.168.100.1:80 s.duration:=0 s.priority:=0 v:=jpg:320x240:3:30000

- 14 -

2.3.2 close.cgi
Format
http://<ipaddress>/-wvhttp-01-/close.cgi?s=<session-id>

Function Overview This function deletes the WV-HTTP session.

Parameters
s (mandatory) Specify the session identifier. s=<session id>

Responses
Content-Type Extended header Message body text/plain; charset=utf-8 Livescope-Status: status code OK.

Error
Livescope-Status 401 Unknown Operator 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified. Specified session does not exist.

Example of Parameters and Responses GET /-wvhttp-01-/close.cgi?s=8a96-c09b18f0 HTTP/1.1 HTTP/1.1 200 OK ... Livescope-Status: 0 Content-Length: 4 Server: VB OK.

- 15 -

2.3.3 claim.cgi
Format
http://<ipaddress>/-wvhttp-01-/claim.cgi?s=<session-id>

Function Overview This function requests camera control privileges. The control privilege allocation time is determined by the sessions priority level, with privileged sessions unlimited, and others set to a finite value (the set value). Operator level sessions can secure the control privilege even when another session with the same priority level has already secured the control privilege. The session forfeiting the control privilege will be informed with an event.

Parameters
s (mandatory) Specify the session identifier. s=<session id>

Responses (If the State of Control Privileges Has Changed)


Content-Type Extended header Message body Notes text/plain; charset=utf-8 Livescope-Status: status code s.control:=<state of camera control privileges> The camera control privileges can be in one of the following two states. If the allocated time and waiting time are both limited, then the time will be appended after the : in millisecond units. Control right enabled[:<allocated time>] successfully secured Waiting to secure control privilege waiting[:<waiting time>]

The results are notified as an event as well (2.5.1

info.cgi).

- 16 -

(If the State of Control Privileges Has Not Changed)


Content-Type Extended header Message body Notes text/plain; charset=utf-8 Livescope-Status: status code s.control==<state of camera control privileges> The camera control privileges can be in one of the following three states. The allocated time and waiting time are the same as above. While control privilege is secured While waiting for control privilege Failed to secure control privilege enabled[:<allocated time>] waiting[:<waiting time>] disabled

Error
Livescope-Status 401 Unknown Operator 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified. Specified session does not exist.

Example of Parameters and Responses GET /-wvhttp-01-/claim.cgi?s=8a96-c09b18f0 HTTP/1.1 HTTP/1.1 200 OK ... Livescope-Status: 0 Content-Length: 25 Server: VB s.control:=enabled:20000

- 17 -

2.3.4 yield.cgi
Format
http://<ipaddress>/-wvhttp-01-/yield.cgi?s=<session-id>

Function Overview This function releases camera control privileges, or cancels the state of waiting for camera control privileges.

Parameters
s (mandatory) Specify the session identifier. s=<session id>

Responses (If the State of Control Privileges Has Changed)


Content-Type Extended header Message body Notes text/plain; charset=utf-8 Livescope-Status: status code s.control:=disabled The results are notified as an event as well (2.5.1

info.cgi).

(If the State of Control Privileges Has Not Changed)


Content-Type Extended header Message body text/plain; charset=utf-8 Livescope-Status: status code s.control==disabled

Error
Livescope-Status 401 Unknown Operator 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified. Specified session does not exist.

- 18 -

Example of Parameters and Responses GET /-wvhttp-01-/yield.cgi?s=8a96-c09b18f0 HTTP/1.1 HTTP/1.1 200 OK ... Livescope-Status: 0 Content-Length: 20 Server: VB s.control:=disabled

- 19 -

2.3.5 session.cgi
Format http://<ipaddress>/-wvhttp-01-/session.cgi?s=<session-id>[&v=value] Function Overview This function retrieves or changes session-specific attributes. 2 types of session-specific attributes are currently supported, priority level and video stream. The sessions priority level is used in access management and control privilege management. When the priority level is changed, particularly when low priority level is set, the following operations may occur: Session deletion (disconnection) When access is prohibited due to the setting, the session will be forcefully deleted. Camera control privilege forfeit The state of the control privilege queue will change, and the control privilege may be forfeited or the waiting time may be lengthened. When a priority level for which camera control is prohibited is set, the control privilege will be forfeited.

- 20 -

Parameters
s (mandatory) [s.]priority Specify the session identifier. s=<session id> Priority level (0: general user, 5 to 50: operator). Value defaults to 0 when omitted. Priority levels of users other than general users are restricted to the user, and priority levels between 1 and 4 are treated as 5 (1 to 4 are a reserved range). Used to specify the video stream. Specify with the format <T>[:<W>[x<H>[::<R>]]]]. <T> is the type (jpg or h264). <W> and <H> are the image size (the width and height in pixel units). <R> is the frame rate (the number of frames per 1,000 seconds). (example: jpg:640 x 480::30000) If there is no match for a specified value, then the closest thing to the specified value (as long as the value is above the specified value, yet does not exceed the maximum value for the device) will be selected. When h264 is specified in <T>, <W>, <H> or <R> cannot be specified. (Setting values of the device will be used) When <WxH> is not specified, default values of the device will be used. When the Video Retrieval Commands (2.4.1 image.cgi, 0 video.cgi) is being processed, the type cannot be changed and 408 error is returned to Livescope=Status.

Error
Livescope-Status 401 Unknown Operator 403 Invalid Parameter Value 408 Conflict 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified An invalid parameter value was specified An exclusive operation was requested Specified session does not exist

Example of Parameters and Responses GET /-wvhttp-01-/image.cgi?v=jpg:320x240 HTTP/1.1 HTTP/1.1 200 OK ... Livescope-Status: 0 Content-Length: xxxxx Server: VB {JPEG image data of 320 x 240}

- 21 -

Responses
Content-Type Extended header Message body Notes text/plain; charset=utf-8 Livescope-Status: status code s.priority:=<new priority level> v:=<new video stream> The details of a changed item will be notified as an event as well (2.5.1 info.cgi). The response will be as follows for an item that is not changed, and no event notification will occur: s.priority==<current priority level> v==<current video stream>

Error
Livescope-Status 401 Unknown Operator 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified. Specified session does not exist.

Example of Parameters and Responses GET /-wvhttp-01-/session.cgi?s=8a96-c09b18f0 HTTP/1.1 HTTP/1.1 200 OK ... Livescope-Status: 0 Content-Length: 37 Server: VB s.priority==0 v== jpg:320:1:30000

- 22 -

2.4 Video Retrieval Commands


2.4.1 image.cgi
Format
http://<ipddress>/-wvhttp-01-/image.cgi?[s=<session-id>[&v=value][&c.z oom=value][&c.pan=value][&c.tilt=value][&cache]

Function Overview This function requests a JPEG still image. Operations differ as follows, depending on whether a session identifier <s> is specified or a session identifier is not specified: When the session identifier <s> is specified: Camera control parameters of c.pan/c.tilt/c.zoom are ignored. Video stream setting of sessions specified by the session identifier is used. Video stream setting can be set or changed by using open.cgi or session.cgi. If the video type of a video stream setting for a specified session is H.264, the video type of a video stream setting for a specified session will be changed to JPEG and an event notification is executed by info.cgi. Even after image.cgi command processing is finished, video stream setting of the session will stay as JPEG. During the transmission of a video stream (running video.cgi command), this command will not be able to be used. If this command is requested during the transmission of a video stream, 408 error is returned to Livescope-Status. When the session identifier <s> is not specified: A video type will be selected based on the video stream specifier <v>. Although camera control parameters can be used to specify the shooting position, when control privilege cannot be acquired for reasons such as a client with higher priority is connected, camera will not be controlled. Image types other than jpg cannot be specified for the video stream specifier <v>. If types other than Jpg are specified, 403 error is returned to Livescope-Status.

- 23 -

Although it is up to the application to decide how to differentiate when using these, the method for specifying the session identifier is suited for use in displaying a pseudo video by repeatedly sending JPEG still images. To retrieve a single JPEG still image, use of image.cgi that does not specify a session identifier is convenient.
When this command is issued multiple times simultaneously, within the same session, commands will be processed based on the order in which it is received. Although the same JPEG still image data will not be sent multiple times, since there is no guarantee that the order of sending and the order of receiving will be the same, the client side must sort by serial number.

Parameters
s v Specify the session identifier. s=<session id> Used to specify the video stream. Specify with the format <T>[:<W>[x<H>]]. <T> is the type (jpg or h264). <W> and <H> are the image size (the width and height in pixel units. (example: jpg:640 x 480) If there is no match for a specified value, then the closest thing to the specified value (as long as the value is above the specified value, yet does not exceed the maximum value for the device) will be selected. When h264 is specified in <T>, <W> or <H> cannot be specified. (Setting values of the device will be used) WxX can be left blank, in which case size set in Video Size:Video Transmission will be used. [c.<c>.]zoom Specify the zoom position or operation. <position> d[]<difference> v[]<magnification ratio> Moves to <position> (the horizontal angle of view in 0.01 degree units). Moves to a position that is the current position <difference>. Moves to the <magnification ratio> position based on the current angle of view. The <magnification ratio> is a relative value (50 means a magnification ratio of 1/2, and 200 means double) with the current position as 100.

- 24 -

[c.<c>.]pan

Specify the pan position. <position> d[]<difference> V[]<difference> Moves to <position> (in 0.01 degree units, with the right side positive). Moves to a position that is the current position <difference>. Moves to a position that is the current position <difference>. The difference is a relative position based on the screen, with 0 representing the center, -100 representing the left edge, and 100 representing the right edge. Moves to <position> (in 0.01 degree units, with the up side positive). Moves to a position that is the current position <difference>. Moves to a position that is the current position <difference>. The difference is a relative position based on the screen, with 0 representing the center, -100 representing the bottom edge, and 100 representing the top edge.

[c.<c>.]tilt

Specify the tilt position. <position> d[]<difference> v[]<difference>

cache

Specify the HTTP cache to on (or 1), or off (or 0). Value defaults to 0 when omitted. When on (or 1) is specified, the response header does not include Cache-Control, etc., and acquired image is subject to caching for browsers, etc.

Responses
Content-Type Extended header Message body Notes image/jpeg Livescope-Frame-Number: <JPEG data serial number> Livescope-Status: status code <JPEG data> The extended header is only used when a session identifier is specified.

Error
Livescope-Status 401 Unknown Operator 403 Invalid Parameter Value 408 Conflict 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified. An invalid parameter value was specified. An exclusive operation was requested. Specified session does not exist.

- 25 -

Example of Parameters and Responses GET /-wvhttp-01-/image.cgi?v=jpg:320x240 HTTP/1.1 HTTP/1.1 200 OK ... Livescope-Status: 0 Content-Length: xxxxx Server: VB {JPEG image data with a resolution of 320 x 240}

- 26 -

2.4.2 video.cgi
Format
http://<ipddress>/-wvhttp-01-/video.cgi?[s=<session-id>[&v=value][&dur ation=value][&type=value]

Function Overview This function requests transmission of the video stream. Operations differ as follows, depending on whether or not a session identifier is specified: When the session identifier is specified: The sessions video stream setting is used (initialize with open.cgi, change with session.cgi). This command is prohibited during the transmission of a video stream or a JPEG still image (image.cgi). When this command is requested during transmission of a JPEG still image (image.cgi), 408 error is returned to Livescope-Status. Transmission process of the video stream by video.cgi will continue until either the session ends or the client cuts the connection. When the session identifier is not specified: Selection will be made based on the video stream specifier <v>. The transmission process will continue until either the period specified by duration comes to an end, or the client cuts the connection. For video stream by video.cgi, the transmission control method (buffering policy) can be specified by <type>. The transmission control method and the session identifier specification are unrelated to each other.

- 27 -

Parameters
s v Specify the session identifier. s=<session id> Used to specify the video stream. Specify with the format V=<T>[:<W>[x<H>[::<R>]]] <T> is the type (jpg or h264). <W> and <H> are the image size (the width and height in pixel units). <R> is the frame rate (the number of frames per 1,000 seconds). (example: jpg:640 x 480::30000) If there is no match for a specified value, then the closest thing to the specified value (as long as the value is above the specified value, yet does not exceed the maximum value for the device) will be selected. When h264 is specified in <T>, <W>, <H> or <R> cannot be specified. (Setting values of the device will be used) WxH and Q can be left blank, in which case the devices default values will be used. Specify the video transmission time (in seconds). duration=<value> 0 (the default setting) means there is no limit In the case of general users, the limit is the maximum connection time setting for the device. The maximum connection time setting does not apply to users with privilege or more. User information is acquired from the HTTP Authorization header. Specifies the transmission control method (buffering policy). type=<live | rec> Specify either live (live) or rec (record). When parameter other than Rec is selected, it is treated as live. live This control setting discards image data as it is collected, in order to send the newest image data possible. rec This control setting buffers image data as it is collected, in order to prevent the loss of data to the extent possible. Since the buffer capacity is limited, when the buffer fills, data may be lost, even if rec is specified. If the video stream format is h264, or transmission frame rate exceeds 10 fps, then type=rec cannot be specified and 407 error is returned to Livescope-Status. Only a single connection can specify type=rec with video.cgi. When multiple video.cgi commands simultaneously specify type=rec, 408 error is returned to Livescope-Status.

duration

type

- 28 -

Responses (When the Stream Type Is jpg)


Content-Type Extended header Message body multipart/x-mixed-replace;boundary=boundary Livescope-Status: status code --boundary Content-Type: image/jpeg st Content-Length: <1 JPEG data size> <1 JPEG data> --boundary Content-Type: image/jpeg nd Content-Length: <2 JPEG data size> <2 JPEG data> ... --boundary Content-Type: image/jpeg Content-Length: <last JPEG data size> <last JPEG data> --boundary-nd st

Responses (When the Stream Type Is h264)


Content-Type Extended header Message body video/mp4 Livescope-Status: status code The MPEG-4 data in MP4 fragment format.

Error
Livescope-Status 401 Unknown Operator 408 Conflict 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified. An exclusive operation was requested. Specified session does not exist.

- 29 -

Example of Parameters and Responses GET /-wvhttp-01-/video.cgi?v=jpg:320x240::10000 HTTP/1.1 HTTP/1.1 200 OK ... Content-Type: image/jpeg Livescope-Status: 0 Connection: close Server: VB --boundary Content-Type: image/jpeg Content-Length: ... {JPEG image data with a resolution of 320 x 240 and an image quality of 3, at 10 fps} --boundary Content-Type: image/jpeg Content-Length: xxxxxx {JPEG image data} ...

- 30 -

2.5 Information Retrieval Commands


2.5.1 info.cgi
Format
http://<ipddress>/-wvhttp-01-/info.cgi?[s=<session-id>][&type=value][& timeout=value]

Function Overview This function retrieves various types of information (refer to Appendix A). Operations differ as follows, depending on whether or not session identifier <s> is specified: When the session identifier is specified: All specified information is returned the first time, and differential information not yet retrieved is returned the second and subsequent times. Although any existing differential information which has not yet been retrieved will be returned immediately as a response, the command will wait until a change happens if differential information not yet received does not exist. When the session identifier is not specified: All specified information is returned immediately.

There are 2 response format types, item name:=value or item name ==value. Item name:=value: All specified items at the first time, or items changed by an external factor (controlled by another client, a setting change, etc.) Item name==value: An item changed by a command transmitted within the same session However, the command response item name:=value is returned. When the session identifier is not specified, item name:=value will always be returned.

When the type parameter is used, the changed part can be retrieved in stream format (type=stream). In this case, the operation is as described above the first time, depending on whether or not there is a session identifier specification, and the differential is sent if a change happens from the second time on.

- 31 -

When the timeout parameter is used, it is possible to specify a time limit for the response. If the information that is to be notified does not occur during the prescribed time, then the response will execute with only a timestamp line. It is not possible to simultaneously execute multiple event retrieval commands within the same session. If multiple event commands are requested within the same session, 408 error is returned to Livescope-Status.

Parameters
s item Specify the session identifier. s=<session id> This specifies the item with information to be retrieved. The item name is hierarchical, and is specified in the following format: c Everything in c and under is included in the acquisition target. c! Everything in c and under is excluded from the acquisition target. It is also possible to list items with item=s,c... (or item=s&item=c...), and in that case, the item specifications are evaluated in the order of specification). If there is no item specification, then this is processed as if all items were specified. When stream is specified, the differential is notified in stream format. This is the time limit for a response (in seconds). The upper and lower limit values are dependent on implementation. If no event occurs before the timeout period ends, then only the timestamp line will be sent. When there is no timeout specification, a timeout will still occur if there is no event within the prescribed time period. When the item parameter is used, it is recommended to specify the same item throughout the session. Even if the item is changed during a session, this will not result in an error, but note that a mismatch may result in the order of updating and the order of retrieval.

type timeout

Notes

Responses (Normal)
Content-Type Message body text/plain; charset=utf-8 timestamp=<time stamp(seconds.milliseconds)> realtime=<real time(seconds.milliseconds)> <specified information or differential information> The timestamp is a time specific to the network camera (the amount of time that has passed since startup). The realtime is real time of the network camera.

Notes

- 32 -

Responses (Stream Format)


Content-Type Message body multipart/x-mixed-replace;boundary=boundary --boundary Content-Type: text/plain; charset=utf-8 Content-Length: <data length>

timestamp=<time stamp(seconds.milliseconds)> realtime=<real time(seconds.milliseconds)> <specified information or differential information> --boundary Content-Type: text/plain; charset=utf-8 Content-Length: <data length>

timestamp=<time stamp(seconds.milliseconds)> realtime=<real time(seconds.milliseconds)> <differential information> --boundary ... --boundary Content-Type: text/plain; charset=utf-8 Content-Length: <data length>

timestamp=<time stamp(seconds.milliseconds)> realtime=<real time(seconds.milliseconds)> --boundary-Notes The timestamp line is sent alone the final time.

Error
Livescope-Status 401 Unknown Operator 408 Conflict 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified. An exclusive operation was requested. Specified session does not exist.

- 33 -

Example of Parameters and Responses GET /-wvhttp-01-/info.cgi HTTP/1.1 HTTP/1.1 200 OK ... Content-Type: text/plain; charset=utf-8 Livescope-Status: 0 Content-Length: 3092 Server: VB timestamp=442076.322 realtime=1288107713.428 s.epoch:=Thu, 21 Oct 2010 12:54:13 +0900 s.hardware:=Canon VB-M40 s.firmware:=1.0.0 s.protocol:=02.00 v.list:=jpg:160x120:3:30000,jpg:320x240:3:30000,jpg:640x480:3:30000,jpg:1280x960:3:300 00,h264:640x480:0:30000 v.h264.cbr:=2048 c:=1 c.count:=1 c.1.type:=Canon VB-M40 c.1.status:=enabled c.1.name.asc:=Camera c.1.name.utf8:= c.1.exp:=auto c.1.exp.list:=auto,flickerfree,tv,manual c.1.ae.autoss:=30 c.1.ae.autoss.list:=8,15,30 c.1.ae.shutter.list:=8,15,30,60,100,120,250,500,1000,2000,4000,8000 c.1.ae.brightness:=0 c.1.ae.brightness.min:=-8 c.1.ae.brightness.max:=8 c.1.ae.brightness.list:=-6,-4,-2,0,2,4,6 c.1.ae.photometry:=center c.1.ae.photometry.list:=center,average,spot c.1.me.shutter.list:=1,2,4,8,15,30,60,100,120,250,500,1000,2000,4000,8000 c.1.me.iris.min:=5 c.1.me.iris.max:=32 c.1.me.gain.min:=0 c.1.me.gain.max:=40 c.1.dn:=off c.1.dn.mode:=manual c.1.dn.mode.list:=manual,auto1 c.1.wb:=auto c.1.wb.list:=auto,manual,one_shot,sodium,halogen,mercury,fluorescent_w,fluorescent_l,fluor escent_h c.1.is:=off c.1.nr:=1 c.1.nr.min:=0

- 34 -

c.1.nr.max:=2 c.1.ac:=1 c.1.ac.min:=0 c.1.ac.max:=2 c.1.shade:=off c.1.shade.param:=0 c.1.shade.param.min:=0 c.1.shade.param.max:=6 c.1.focus:=auto c.1.focus.list:=auto,infinity,manual c.1.zoom:=1147 c.1.zoom.d:=280 c.1.zoom.min:=280 c.1.zoom.max:=5540 c.1.zoom.limit.min:=280 c.1.zoom.limit.max:=5540 c.1.zoom.speed.min:=0 c.1.zoom.speed.max:=7 c.1.pan:=10525 c.1.pan.min:=-17000 c.1.pan.max:=17000 c.1.pan.limit.min:=-17000 c.1.pan.limit.max:=17000 c.1.pan.speed.min:=62 c.1.pan.speed.max:=15000 c.1.tilt:=-350 c.1.tilt.min:=-9000 c.1.tilt.max:=1000 c.1.tilt.limit.min:=-9000 c.1.tilt.limit.max:=1000 c.1.tilt.speed.min:=62 c.1.tilt.speed.max:=15000 c.1.view:=-19770:3078:39540:14156 c.1.view.restriction:=off c.1.panorama.count:=0 i.count:=2 i.1:=0 i.1.name.asc:= i.1.name.utf8:= i.2:=0 i.2.name.asc:= i.2.name.utf8:= o.count:=2 o.1:=0 o.1.name.asc:= o.1.name.utf8:= o.2:=0 o.2.name.asc:= o.2.name.utf8:= p.count:=1 p.1.name.asc:=p1

- 35 -

p.1.name.utf8:= 1 p.1.name.lang:=ja p.1.c:=1 p.1.pan:=10525 p.1.tilt:=-350 p.1.zoom:=1167 p.1.focus:=auto p.1.ae.brightness:=0 p.1.shade:=off p.1.shade.param:=0 p.1.wb:=auto r.engine:=1 r.meta:=off r.pseudo:=0 r.count:=15 r.1:=0 r.1.name.asc:= r.1.name.utf8:= r.1.type:=0 r.2:=0 r.2.name.asc:= r.2.name.utf8:= r.2.type:=0 r.3:=0 r.3.name.asc:= r.3.name.utf8:= r.3.type:=0 r.4:=0 r.4.name.asc:= r.4.name.utf8:= r.4.type:=0 r.5:=0 r.5.name.asc:= r.5.name.utf8:= r.5.type:=0 r.6:=0 r.6.name.asc:= r.6.name.utf8:= r.6.type:=0 r.7:=0 r.7.name.asc:= r.7.name.utf8:= r.7.type:=0 r.8:=0 r.8.name.asc:= r.8.name.utf8:= r.8.type:=0 r.9:=0 r.9.name.asc:= r.9.name.utf8:= r.9.type:=0

- 36 -

r.10:=0 r.10.name.asc:= r.10.name.utf8:= r.10.type:=0 r.11:=0 r.11.name.asc:= r.11.name.utf8:= r.11.type:=0 r.12:=0 r.12.name.asc:= r.12.name.utf8:= r.12.type:=0 r.13:=0 r.13.name.asc:= r.13.name.utf8:= r.13.type:=0 r.14:=0 r.14.name.asc:= r.14.name.utf8:= r.14.type:=0 r.15:=0 r.15.name.asc:= r.15.name.utf8:= r.15.type:=0 a.count:=1 a.1.send:=on a.1.recv:=on a.1.detect:=0

- 37 -

2.5.2 f.sd:=1panorama.cgi
Format
http://<ipddress>/-wvhttp-01-/panorama.cgi?[s=<session-id>]

Function Overview This function retrieves panorama image data. If there is no session specification, then this is limited to administrators.
If a panorama image exists, then the panorama image is subject to caching. The response header does not include Cache-Control, etc., but includes Last-Modified instead. The user agent can access conditionally with If-Modified-Since. If there is no update, then a no update response (304 Not Modified) is returned. If no panorama image exists, then an HTTP error (404 Not Found) is returned.

Parameters
s [c.<c>.]panorama Specify the session identifier. s=<session id> The panorama number of camera number c (1 or higher). 0 is interpreted as 1.

Responses
Content-Type Message body image/jpeg <panorama image data>

Error
Livescope-Status 401 Unknown Operator 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified. Specified session does not exist.

- 38 -

Example of Parameters and Responses GET /-wvhttp-01-/panorama.cgi HTTP/1.1 HTTP/1.1 200 OK ... Livescope-Status: 0 Content-Length: xxxxx Server: VB {Panorama image data}

- 39 -

2.6 Camera Control Commands


2.6.1 control.cgi
Format
http://<ipddress>/-wvhttp-01-/control.cgi?[s=<session-id>][&c.priority ][&c][&exp=value][&ae.autoss=value]...

Function Overview This function controls the camera and external output terminal. When controlling everything but the external output terminal (along with pan, tilt, and zoom speed), camera control privileges are necessary. If camera privileges cannot be secured, a 301 error is returned to Livescope-Status. If camera control privileges are necessary, operations will differ as follows, depending on whether or not a session identifier <s> is specified: When the session identifier is specified: The camera will be controlled based on the sessions camera control privileges. The priority level specification is ignored. When the session identifier is not specified: An attempt is made to secure camera control privileges with the specified priority level, and if the attempt succeeds, camera control is performed. If the control privileges cannot be secured immediately, then the camera will not be controlled. With control.cgi, it is possible to specify multiple commands simultaneously, however, when multiple commands are specified, not all commands may be processed correctly depending on the operation status. Especially with commands that perform mechanical operations, such as pan and tilt operation, zoom operation, and day-night mode switching, note that substantial amount of time is required to complete the operation. When each command is transmitted individually, it is recommended to be transmitted at intervals of 200 milliseconds or more.

- 40 -

When only pan, tilt, and zoom speed are to be changed, there is no need to secure the camera control privileges. If, however, other control items are also to be controlled in combination with these, then camera control privileges will be required, and if the control privilege cannot be secured, then pan, tilt, and zoom speed will also remain unchanged. The camera control parameter <c> is the camera number. When c.<c>. is omitted, the currently selected camera is controlled. The values which can be specified for each control item depend on the model and operating state (for details, refer to the parameter description and Appendix A.3.

When sending a command with control.cgi, information such as operation target position in accordance with the specified command is notified with info.cgi. Subsequently, since a notification is performed with info.cgi in accordance with the status of state, the notification may be performed multiple times with info.cgi, depending on the status of state.

Parameters (VB-M40)
s s.priority Specify the session identifier. s=<session id> Priority level (0: general user, 5 to 50: operator). Value defaults to 0 when omitted. Priority levels of users other than general users are restricted to the user, and priority levels between 1 and 4 are treated as 5 (1 to 4 are a reserved range). The camera number of the camera to switch to (1 or higher). Specifies the exposure mode. One of the following may be specified: auto Automatic exposure (auto) flickerfree Automatic exposure (flickerless) tv Automatic exposure (shutter-priority AE) manual Manual exposure Specify the auto slow shutter. Specifies the shutter speeds reciprocal number. This is ignored if the exposure mode is set to manual. Specify the shutter speed. Specifies the shutter speeds reciprocal number. This is ignored unless the exposure mode is set to tv. Specify the backlight adjustment value. Specified as a numerical value (low [dark] to high [bright]; device-dependent). This is ignored if the exposure mode is set to manual.

c [c.<c>.]exp

[c.<c>.]ae.autoss

[c.<c>.]ae.shutter

[c.<c>.]ae.brightness

- 41 -

[c.<c>.]ae.photometry

Specify the metering system. One of the following may be specified: center Center-weighted metering average Average metering spot Spot metering This is ignored if the exposure mode is set to manual. Specify the shutter speed. Specify the shutter speeds reciprocal number. This is ignored unless the exposure mode is set to manual. Specify the aperture value. Specify a numerical value (low [opened] to high [closed]; device-dependent). This is ignored unless the exposure mode is set to manual. Specify the AGC gain value. Specify a numerical value (low to high; device-dependent). This is ignored unless the exposure mode is set to manual. Specify the white balance. One of the following may be specified: auto Automatic white balance manual Manual white balance fluorescent_l Fluorescent L (White cool) fluorescent_h Fluorescent H (Daylight) fluorescent_w Fluorescent Incandescent (Warm white sodium Sodium light halogen Halogen light mercury Mercury light one_shot One-shot white balance When one_shot is specified, after white balance is corrected, it returns to manual white balance mode.

[c.<c>.]me.shutter

[c.<c>.]me.iris

[c.<c>.]me.gain

[c.<c>.]wb

[c.<c>.]wb.value

Specify the RB gain. Specify the white balance in RRRR-BBBB format. This is ignored in modes other than manual white balance. Specify the day-night mode. Specify either on (or 1) or off (or 0). This is ignored in auto day-night mode. This item is restricted to privileged users (administrator/operator). Specify the day-night switching mode. Specify either manual (for manual), or auto1 (auto). This item is restricted to privileged users (administrator/operator). Specify the image stabilization function. Specify off, on1 (small), or on2 (large).

[c.<c>.]dn

[c.<c>.]dn.mode

[c.<c>.]is

This item is restricted to privileged users (administrator/operator).


[c.<c>.]nr [c.<c>.]ac Specify the noise reduction level. Specify a numerical value (device-dependent). Specify the aperture correction value. Specify a numerical value (device-dependent).

- 42 -

[c.<c>.]shade [c.<c>.]shade.param

Specify the smart shade control. Specify either on (or 1) or off (or 0). Specify the smart shade control parameter. Specify a numerical value 0 or higher (a step value). The numerical value indicates the strength of smart shade control (low/weak to high/strong), but the actual effect will depend on the device settings and the image. Specify the focus mode/Specify the focus operation. One of the following may be specified: auto Auto focus manual Manual focus infinity Fixed at infinity one_shot One-shot AF stop Stop near Move to near distance side far Move to far distance side

[c.<c>.]focus

When one_shot is specified, after the device is focused at


the current position, the mode reverts to manual focus. When stop, near, or far is specified, after manual mode is switched to, the prescribed operation is performed. The notification of manual mode is performed after the focus operation is completed. When stop is specified, it reverts to manual mode. [c.<c>.]focus.value Specify the focus value. Specify a numerical value (device-dependent). This is ignored in modes other than manual focus. Since the focus value depends on the zoom position, when the zoom position changes, it may not focus even if the focus value is the same. Specify the zoom position or operation. One of the following may be specified: <position> Moves to <position> (the horizontal angle of view in 0.01 degree units) d[] <difference> Moves to a position that is the current position <difference> Moves to the <magnification ratio> v[] position based on the current angle <magnification of view. Specify the <magnification ratio> ratio> with a relative value (50 means a magnification ratio of 1/2, and 200 means double) with the current position as 100. stop Stop tele Move to the telephoto side wide Move to the wide angle side Specify the following pos and dir. The operational speed when a position is specified in c.<c>.zoom. The operational speed when either tele or wide is specified in c.<c>.zoom.

[c.<c>.]zoom

[c.<c>.]zoom.speed [c.<c>.]zoom.speed.pos [c.<c>.]zoom.speed.dir

- 43 -

[c.<c>.]pan

Specify the pan position or operation. <position> Moves to <position> (in 0.01 degree units, with the right side positive) d[]<difference> Moves to a position that is the current position <difference> v[]<difference> Moves to a position that is the current position <difference>. The difference is a relative position based on the screen, with 0 representing the center, -100 representing the left edge, and 100 representing the right edge. stop Stop left Move to the left right Move to the right Specify the following pos and dir. The operational speed when a position is specified in c.<c>.pan. The operational speed when either left or right is specified in c.<c>.pan. Specify the tilt position or operation. <position> d[]<difference> v[]<difference> Moves to <position> (in 0.01 degree units, with the up side positive) Moves to a position that is the current position <difference> Moves to a position that is the current position <difference>. The difference is a relative position based on the screen, with 0 representing the center, -100 representing the bottom edge, and 100 representing the top edge. Stop Move up Move down

[c.<c>.]pan.speed [c.<c>.]pan.speed.pos [c.<c>.]pan.speed.dir [c.<c>.]tilt

stop up down [c.<c>.]tilt.speed [c.<c>.]tilt.speed.pos [c.<c>.]tilt.speed.dir [c.<c>.]view.restriction

Specify the following pos and dir. The operational speed when a position is specified in c.<c>.tilt. The operational speed when either up or down is specified in c.<c>.tilt. Specify the restriction on the viewable range. Specify on (or 1) to turn this on, or off (or 0) to turn this off. This item is restricted to administrators and the session identifier <s> is necessary. The restriction of the viewable range is not changed when session identifier <s> is not specified. When the session, in which the restriction on the viewable range is off, loses the control privilege, the restriction becomes automatically on.

- 44 -

o.<o>

External output control. Specify on (or 1) to turn this on, or off (or 0) to turn this off. This item is restricted to privileged users (administrator, operator).

When a control item is not specified, a 406 error is returned to Livescope-Status. When this is sessionless, then if an item other than restriction of the viewable range or pan, tilt, or zoom speed, is not specified, a 406 error is returned to Livescope-Status. When -0 is specified in specifying the difference (magnification ratio) of pan, tilt or zoom , a 403 error occurs.

Parameters (VB-M600/VB-M700)
s s.priority Specify the session identifier. s=<session id> Priority level (0: general user, 5 to 50: operator). Value defaults to 0 when omitted. Priority levels of users other than general users are restricted to the user, and priority levels between 1 and 4 are treated as 5 (1 to 4 are a reserved range). The camera number of the camera to switch to (1 or higher). Specifies the exposure mode. One of the following may be specified: auto Automatic exposure (auto) flickerfree Automatic exposure (flickerless) tv Automatic exposure (shutter-priority AE) manual Manual exposure Specify the auto slow shutter. Specifies the shutter speeds reciprocal number. This is ignored if the exposure mode is set to manual. Specify the shutter speed. Specifies the shutter speeds reciprocal number. This is ignored unless the exposure mode is set to tv. Specify the backlight adjustment value. Specified as a numerical value (low [dark] to high [bright]; device-dependent). This is ignored if the exposure mode is set to manual. Specify the metering system. One of the following may be specified: center Center-weighted metering average Average metering spot Spot metering This is ignored if the exposure mode is set to manual. Specify the shutter speed. Specify the shutter speeds reciprocal number. This is ignored unless the exposure mode is set to manual.

c [c.<c>.]exp

[c.<c>.]ae.autoss

[c.<c>.]ae.shutter

[c.<c>.]ae.brightness

[c.<c>.]ae.photometry

[c.<c>.]me.shutter

- 45 -

[c.<c>.]me.iris

Specify the aperture value. Specify a numerical value (low [opened] to high [closed]; device-dependent). This is ignored unless the exposure mode is set to manual. Specify the AGC gain value. Specify a numerical value (low to high; device-dependent). This is ignored unless the exposure mode is set to manual. Specify the white balance. One of the following may be specified: auto Automatic white balance manual Manual white balance fluorescent_l Fluorescent L (White cool) fluorescent_h Fluorescent H (Daylight) fluorescent_w Fluorescent Incandescent (Warm white sodium Sodium light halogen Halogen light mercury Mercury light one_shot One-shot white balance When one_shot is specified, after white balance is corrected, it returns to manual white balance mode.

[c.<c>.]me.gain

[c.<c>.]wb

[c.<c>.]wb.value

Specify the RB gain. Specify the white balance in RRRR-BBBB format. This is ignored in modes other than manual white balance. Specify the day-night mode. Specify either on (or 1) or off (or 0). This is ignored in auto day-night mode. This item is restricted to privileged users (administrator/operator). Specify the day-night switching mode. Specify either manual (for manual), or auto1 (auto). This item is restricted to privileged users (administrator/operator). Specify the noise reduction level. Specify a numerical value (device-dependent). Specify the aperture correction value. Specify a numerical value (device-dependent). Specify the smart shade control. Specify either on (or 1) or off (or 0). Specify the smart shade control parameter. Specify a numerical value 0 or higher (a step value). The numerical value indicates the strength of smart shade control (low/weak to high/strong), but the actual effect will depend on the device settings and the image.

[c.<c>.]dn

[c.<c>.]dn.mode

[c.<c>.]nr [c.<c>.]ac [c.<c>.]shade [c.<c>.]shade.param

- 46 -

[c.<c>.]focus

Specify the focus mode/Specify the focus operation. One of the following may be specified: manual Manual focus infinity Fixed at infinity one_shot One-shot AF stop Stop near Move to near distance side far Move to far distance side

When one_shot is specified, after the device is focused at


the current position, the mode reverts to manual focus. When stop, near, or far is specified, after manual mode is switched to, the prescribed operation is performed. When stop is specified, it reverts to manual mode. [c.<c>.]focus.value Specify the focus value. Specify a numerical value (device-dependent). This is ignored in modes other than manual focus. Since the focus value depends on the zoom position, when the zoom position changes, it may not focus even if the focus value is the same. External output control. Specify on (or 1) to turn this on, or off (or 0) to turn this off. This item is restricted to privileged users (administrator, operator).

o.<o>

When a control item is not specified, a 406 error is returned to Livescope-Status.

Responses
Content-Type Message body text/plain; charset=utf-8 <item name>:=<value> ... An item whose state is changing <item name>==<value> ... An item whose state is not changing ... Response to a specified parameter is returned to the message body of a response. If the state has changed, then this will be notified with an event. Parameters dependent on an ignored mode (dn, wb.value, etc.) return the response <item name>==?.

Notes

Error
Livescope-Status 401 Unknown Operator 501 Unknown Connection ID Error details An undefined command was specified. Required parameter is not specified. Specified session does not exist.

- 47 -

Example of Parameters and Responses GET /-wvhttp-01-/control.cgi?dn=0HTTP/1.1 HTTP/1.1 200 OK ... Livescope-Status: 0 Content-Length: 12 Server: VB c.1.dn==off

- 48 -

A VB-M40 Information Retrieval Items


This appendix shows a list of information that can be retrieved by the VB-M40. The letters <c>, <p>, <i>, <o>, <r> and <a> in the table correspond to the following numbers (integer values). Attributes are as follows: C: control items (items that can be changed with control.cgi, etc.) P: client-specific items (items that can be changed without affecting the operation of other clients) U: items with update notifications (items that notify with info.cgi when changed)

Number <c> <p> <i> <o> <r> <a>

Meaning Camera number Preset number External input terminal number External output terminal number Intelligent Function rule number Audio input terminal number

Range 1 1 to 20 1 to 2 1 to 2 1 to 16 1

Notes Only in cases where the preset setting is valid

A.1 System Information


Item Name Meaning Attributes Notes

s s.origin s.duration s.priority s.control s.epoch s.hardware s.firmware s.protocol

Session identifier Address and port of the camera server Remaining time in session Sessions priority level State of camera control privileges Start-up time Model name Firmware version Protocol version

-P-P-PU CPU CPU --U -------

*a *a, *b *c

*d

- 49 -

*a *b

open.cgi command response only. One of the following notations depending on the client type (IPv4 or IPv6), and whether or not there are NAT settings: When a request is made in IPv6, a manual setting address is returned preferentially. If an address is not manually set, an address that can be acquired first among auto setting addresses is returned. IPv6/no NAT setting [<IPv6 address>]:HTTP port [<IPv6 address>]:NAT port <IPv4 address>:HTTP port <NAT host>:<NAT port> e.g. [3FFE:2A00:100:7031::1]:80 e.g. 3FFE:2A00:100:7031::1]:80 e.g. 192.168.100.1:80 e.g. camera.jp:80

*c *d

IPv6/with NAT setting IPv4/no NAT setting IPv4/with NAT setting

Numerical value: second units (decimal part rounded up), 0: unlimited. enabled[:<allocated time>]: securing, waiting[:<waiting time>]: waiting to secure, disabled: none. Time is a numerical value: millisecond units, unlimited: unlimited. Default value is disabled (not notified until change is made).

A.2 Video Information


Item Name Meaning Attributes Notes

v v.list *a

Selected stream Stream list <jpg|h264>:<screen width>x<screen height>:<image quality>:<frame rate>. Image quality is step values (same as the setting value: 1 to 5).

CPU --U

*a *a

A.3 Camera Information


Item Name Meaning Attributes Notes

c c.count c.<c>.type c.<c>.status c.<c>.name.asc c.<c>.name.utf8 c.<c>.name.lang *a *b

Selected camera number Number of cameras Camera type State of operation Camera name (ASCII) Camera name (UTF-8) Camera name (UTF-8) setting language

C-U ------U --U --U --U *b *a

enabled: can be controlled, disabled: cannot be controlled. Disabled right after startup, and enabled after camera is initialized. en: English, ja: Japanese fr: French, it: Italiande: Germanes: Spanish Only when corresponding c.<c>.name.utf8 is not blank.
Item Name Meaning Attributes Notes

c.<c>.exp c.<c>.exp.list c.<c>.ae.autoss c.<c>.ae.autoss.list

Exposure mode Exposure mode list Auto slow shutter Auto slow shutter list

C-U --C-U ---

*c *c *d,*e *d

- 50 -

c.<c>.ae.shutter c.<c>.ae.shutter.list c.<c>.ae.brightness c.<c>.ae.brightness.min c.<c>.ae.brightness.max c.<c>.ae.brightness.list c.<c>.ae.photometry c.<c>.ae.photometry.list c.<c>.me.shutter c.<c>.me.shutter.list c.<c>.me.iris c.<c>.me.iris.min c.<c>.me.iris.max c.<c>.me.gain c.<c>.me.gain.min c.<c>.me.gain.max c.<c>.dn c.<c>.dn.mode c.<c>.dn.mode.list c.<c>.wb c.<c>.wb.list c.<c>.wb.value c.<c>.is c.<c>.nr c.<c>.nr.min c.<c>.nr.max c.<c>.ac c.<c>.ac.min c.<c>.ac.max c.<c>.shade c.<c>.shade.param c.<c>.shade.param.min

Shutter speed Shutter speed list Backlight adjustment value Backlight adjustment values minimum value Backlight adjustment values maximum value Backlight adjustment value list Metering system Metering system list Shutter speed Shutter speed list Aperture value Aperture values minimum value Aperture values maximum value Gain value Gain values minimum value Gain values maximum value Infrared cutting filter insertion state Infrared cutting filter control mode Infrared cutting filter control mode list White balance mode White balance mode list RB gain value Image stabilization Noise reduction level Noise reduction level minimum value Noise reduction level maximum value Aperture correction level Aperture correction level minimum value Aperture correction level maximum value Smart shade control Smart shade control parameter Smart shade control parameter minimum value

C-U --C-U ------C-U --C-U --C-U ----CU ----C-U C-U --C-U --C-U C-U C-U ----C-U ----C-U C-U ---

*d,*f *d *g

*g,*h *h *d,*i

*i

*i

*n *k *k *l *l *m *j

c.<c>.shade.param.max

Smart shade control parameter maximum value

---

- 51 -

*c *d *e *f *g *h *i

auto: auto, flickerfree: auto (flickerless), tv: auto (shutter-priority AE), manual: manual. shutter speeds reciprocal number. c.<c>.exp = only when auto is set. c.<c>.exp = only when tv is set. c.<c>.exp = only when other than manual is set. center: center-weighted, average: average, spot: spot. c.<c>.exp = only when manual is set. When switching to manual mode, control range (min/max) may exceed.

*j *k *l *m *n

off: off, on1: for small vibration, on2: for large vibration. manual: manual, auto1: auto 1. auto: auto, manual: manual, etc. c.<c>.wb = only when manual is set. off: day mode, on: night mode
Item Name Meaning Attributes Notes

c.<c>.focus c.<c>.focus.list c.<c>.focus.value c.<c>.zoom c.<c>.zoom.d

Focus mode Focus mode list Focus value Zoom value Digital zoom boundary value (optical telephoto boundary)

C-U --C-U C-U ---

*m *m *n *o *o

c.<c>.zoom.min c.<c>.zoom.max c.<c>.zoom.limit.min c.<c>.zoom.limit.max c.<c>.zoom.speed.pos c.<c>.zoom.speed.dir c.<c>.zoom.speed.min c.<c>.zoom.speed.max *m *n *o

Zoom telephoto side control limit Zoom wide side control limit Zoom telephoto side movement limit Zoom wide side movement limit Position-specified zoom speed Operation-specified zoom speed Minimum zoom speed Maximum zoom speed

--U --U - - -U --CPCP-----

*o *o *o *o

Auto: auto, infinity: fixed at infinity, manual: manual. c.<c>.focus = only when manual is set Compatible to control parameters of optical systems, it is expressed in horizontal angle of view (1=0.01 degree), however, actual value available is discreet (optical resolution dependent, it is rough on the wide-angle end, and fine on the telephoto-angle end). The effective angle of view will become narrow when the image stabilization function is turned on, and digital zoom control range will also decrease (on1:5/6, on2:1/2).

- 52 -

Item Name

Meaning

Attributes

Notes

c.<c>.pan c.<c>.pan.min c.<c>.pan.max c.<c>.pan.limit.min c.<c>.pan.limit.max c.<c>.pan.speed.pos c.<c>.pan.speed.dir c.<c>.pan.speed.min c.<c>.pan.speed.max c.<c>.tilt c.<c>.tilt.min c.<c>.tilt.max c.<c>.tilt.limit.min c.<c>.tilt.limit.max c.<c>.tilt.speed.pos c.<c>.tilt.speed.dir c.<c>.tilt.speed.min c.<c>.tilt.speed.max *p

Pan position Camera platform left side control limit Camera platform right side control limit Camera platform left side movement limit Camera platform right side movement limit Position-specified pan speed Operation-specified pan speed minimum pan speed maximum pan speed Tilt position Camera platform bottom side control limit Camera platform top side control limit Camera platform bottom side movement limit Camera platform top side movement limit Position-specified tilt speed Operation-specified tilt speed Minimum tilt speed Maximum tilt speed

C-U --U --U ----CPCP----C-U --U --U ----CPCP-----

*p *p *p *p *p

*p *p *p *p *p

Front is expressed in 0/0, right/top is expressed in a positive angle (1=0.01 degree). Actual value available is discreet (position of the camera platform resolution dependent), and the range of value is installation location (upright/ceiling) dependent. c.<c>.pan.min, c.<c>.pan.max, c.<c>.pan.min, and c.<c>.pan.max are pan/tilt control ranges at zoom telephoto limit (pan/tilt control range will differ depending on zoom position when restriction on visible range is applied).

Item Name

Meaning

Attributes

Notes

c.<c>.view c.<c>.view.restriction *q

Visible range Restriction on Visible range

--U C-U

*q *r

<left boundary>:<top boundary>:<width>:<height> (1=0.01 degree). Actual value available is generally discreet, however, it is pan/tilt/zoom value combination dependent.

*r

The control is limited to the administrator.

- 53 -

Item Name

Meaning

Attributes

Notes

c.<c>.panorama.count c.<c>.panorama.1.view c.<c>.panorama.1.image c.<c>.panorama.1.timestamp *s *t *u

Number of panorama images Panorama image view field information Panorama image information Panorama image time stamp

--------U *s *t *u

<left boundary>:<top boundary>:<width>:<height> (in 0.01 degrees unit). <width>x<height>:<image quality>:<size>. <day of the week>, <day> <month> <year> <hour>:<minute>:<second> <time zone>.

A.4 External Input/Output Information


Item Name Meaning Attributes Notes

i.count i.<i> i.<i>.name.asc i.<i>.name.utf8 i.<i>.name.lang

Number of external input terminals External input terminal<i> status External input terminal name (ASCII) External input terminal name (UTF-8) External input terminal name (UTF-8) setting language

----U --U --U --U *b *a

o.count o.<o> o.<o>.name.asc o.<o>.name.utf8 o.<o>.name.lang

Number of external output terminals External output terminal<i> status External output terminal name (ASCII) External output terminal name (UTF-8) External output terminal name (UTF-8) setting language

--C-U --U --U --U *b *a

*a *b

0: off, 1: onen: English, ja: Japanesefr: French, it Italian, de: German, es: Spanish Only when corresponding i.<i>.name.utf8, o.<o>.name.utf8, or m.<m>.name.utf8 is not blank.

A.5 Preset Information


Item Name Meaning Attributes Notes

p.count p.<p>.name.asc p.<p>.name.utf8 p.<p>.name.lang p.<p>.c p.<p>.pan p.<p>.tilt p.<p>.zoom

Number of presets Preset <p> name (ASCII) Preset <p> name (UTF-8) Preset <p> name (UTF-8) setting language Preset <p> camera number Preset <p> pan value Preset <p> tile value Preset <p> zoom value

--U --U --U --U --U --U --U --U *a

- 54 -

p.<p>.focus p.<p>.ae.brightness p.<p>.shade p.<p>.shade.param p.<p>.wb p.<p>.wb.value *a *b *c *d

Preset <p> focus value Preset <p> backlight compensation value Preset <p> smart shade control Preset <p> smart shade control parameter Preset <p> white balance mode Preset <p> RB gain value

--U --U --U --U --U --U

*b

*c

*d

en: English, ja: Japanese, fr: French, it: Italian, de: German, es: Spanish Only when corresponding p.<p>.name.utf8 is not blank. c.<c>.focus.list element for supported camera. Manual is manual:<focus value> 0: off, 1: on auto: auto, manual: manual, etc.

A.6 Intelligent Function Information


Item Name Meaning Attributes Notes

r.engine r.meta

Intelligent Function status Whether or not metadata is embedded in the JPEG header

--U C-U

*a *b

r.pseudo r.count

Detection status of a pseudo setting Detection rule number of the Intelligent Function

--U --U

*c

r.<r> r.<r>.name.asc r.<r>.name.utf8 r.<r>.name.lang r.<r>.type *a *b *c *d *e 0: off, 1: on, -1: invalid 0: off, 1: on 0: off, 1: on 0: off, 1: on

Rule <r> detection status Rule <r> name (ASCII) Rule <r> name (UTF-8) Rule <r> name (UTF-8) setting language Rule <r> detection type

--U --U --U --U --U

*d

*d *f

En: English, ja: Japanese, fr: French, it: Italian, de: German, es: Spanish Only when corresponding r.<r>.name.utf8 is not blank.

*f

0: unspecified, 1: moving object detection, 2: abandoned object detection, 3: removed object detection, 4: camera tampering detection, 5 - 15: reserved area

- 55 -

A.7 Sound Device Information


Item Name Meaning Attributes Notes

a.count a.<a>.send a.<a>.recv a.<a>.detect

Number of sound devices Sound transmission from the camera Receive sound from client Detection status of input terminal of sound device <a>

--U --U --U --U *a *b *c

*a *b *c

off: invalid, on: valid (equivalent to <hb00> of the setting protocol) off: invalid, on: valid (equivalent to <hb10> of the setting protocol) 0: off, 1: on, -1: invalid

A.8 External Memory Information


Item Name Meaning Attributes Notes

f.sd *a

Mount status of the SD memory card. 0: unmount, 1: mount, 2: mount (write protect)

--U

*a

- 56 -

B VB-M600/VB-M700 Information Retrieval Items


This appendix shows a list of information that can be retrieved by the VB-M600/VB-M700. The letters <c>, <p>, <i>, <o>, <r> and <a> in the table correspond to the following numbers (integer values). Attributes are as follows: C: control items (items that can be changed with control.cgi, etc.) P: client-specific items (items that can be changed without affecting the operation of other clients) U: items with update notifications (items that notify with info.cgi when changed)

Number <c> <p> <i> <o> <r> <a>

Meaning Camera number Preset number External input terminal number External output terminal number Intelligent Function rule number Audio input terminal number

Range 1 0 1 to 2 1 to 2 1 to 16 1

Notes The preset function is not supported.

B.1
s

System Information
Item Name Meaning Attributes Notes

Session identifier Address and port of the camera server Remaining time in session Sessions priority level State of camera control privileges Start-up time Model name (VB-M600VE/VB-M600D/VB-M700F )

-P-P-PU CPU CPU --U -------

*a *a, *b *c

s.origin s.duration s.priority s.control s.epoch s.hardware

*d

s.firmware s.protocol

Firmware version Protocol version

- 57 -

*a *b

open.cgi command response only. One of the following notations depending on the client type (IPv4 or IPv6), and whether or not there are NAT settings: When a request is made in IPv6, a manual setting address is returned preferentially. If an address is not manually set, an address that can be acquired first among auto setting addresses is returned. IPv6/no NAT setting IPv6/with NAT setting IPv4/no NAT setting IPv4/with NAT setting [<IPv6 address>]:HTTP port [<IPv6 address>]:NAT port <IPv4 address>:HTTP port <NAT host>:<NAT port> e.g. [3FFE:2A00:100:7031::1]:80 e.g. 3FFE:2A00:100:7031::1]:80 e.g. 192.168.100.1:80 e.g. camera.jp:80

*c *d

Numerical value: second units (decimal part rounded up), 0: unlimited. enabled[:<allocated time>]: securing, waiting[:<waiting time>]: waiting to secure, disabled: none. Time is a numerical value: millisecond units, unlimited: unlimited. Default value is disabled (not notified until change is made).

B.2
v v.list

Video Information
Item Name Meaning Attributes Notes

Selected stream Stream list H.264 target bit rate

CPU --U ---

*a *a

v.h264.cbr *a

<jpg|h264>:<screen width>x<screen height>:<image quality>:<frame rate>. Image quality is step values (same as the setting value: 1 to 5).

B.3
c

Camera Information
Item Name Meaning Attributes Notes

Selected camera number Number of cameras Camera type State of operation Camera name (ASCII) Camera name (UTF-8) Camera name (UTF-8) setting language

C-U ------U --U --U --U *b *a

c.count c.<c>.type c.<c>.status c.<c>.name.asc c.<c>.name.utf8 c.<c>.name.lang *a *b

enabled: can be controlled, disabled: cannot be controlled. Disabled right after startup, and enabled after camera is initialized. en: English, ja: Japanese fr: French, it: Italiande: Germanes: Spanish Only when corresponding c.<c>.name.utf8 is not blank.

- 58 -

Item Name

Meaning

Attributes

Notes

c.<c>.exp c.<c>.exp.list c.<c>.ae.autoss c.<c>.ae.autoss.list c.<c>.ae.shutter c.<c>.ae.shutter.list c.<c>.ae.brightness c.<c>.ae.brightness.min c.<c>.ae.brightness.max c.<c>.ae.brightness.list c.<c>.ae.photometry c.<c>.ae.photometry.list c.<c>.me.shutter c.<c>.me.shutter.list c.<c>.me.iris c.<c>.me.iris.min c.<c>.me.iris.max c.<c>.me.gain c.<c>.me.gain.min c.<c>.me.gain.max c.<c>.dn c.<c>.dn.mode c.<c>.dn.mode.list c.<c>.wb c.<c>.wb.list c.<c>.wb.value c.<c>.nr c.<c>.nr.min c.<c>.nr.max c.<c>.ac c.<c>.ac.min c.<c>.ac.max c.<c>.shade c.<c>.shade.param c.<c>.shade.param.min

Exposure mode Exposure mode list Auto slow shutter Auto slow shutter list Shutter speed Shutter speed list Backlight adjustment value Backlight adjustment values minimum value Backlight adjustment values maximum value Backlight adjustment value list Metering system Metering system list Shutter speed Shutter speed list Aperture value Aperture values minimum value Aperture values maximum value Gain value Gain values minimum value Gain values maximum value Infrared cutting filter insertion state Infrared cutting filter control mode Infrared cutting filter control mode list White balance mode White balance mode list RB gain value Noise reduction level Noise reduction level minimum value Noise reduction level maximum value Aperture correction level Aperture correction level minimum value Aperture correction level maximum value Smart shade control Smart shade control parameter Smart shade control parameter minimum value

C-U --C-U --C-U --C-U ------C-U --C-U --C-U ----CU ----C-U C-U --C-U --C-U C-U ----C-U ----C-U C-U ---

*c *c *d,*e *d *d,*f *d *g

*g,*h *h *d,*i

*i

*i

*n *k *k *l *l *m

- 59 -

c.<c>.shade.param.max

Smart shade control parameter maximum value

---

*c *d *e *f *g *h *i

auto: auto, flickerfree: auto (flickerless), tv: auto (shutter-priority AE), manual: manual. shutter speeds reciprocal number. c.<c>.exp = only when auto is set. c.<c>.exp = only when tv is set. c.<c>.exp = only when other than manual is set. center: center-weighted, average: average, spot: spot. c.<c>.exp = only when manual is set. When switching to manual mode, control range (min/max) may exceed.

*j *k *l *m *n

off: off, on1: for low amplitude, on2: for large amplitude manual: manual, auto1: auto 1. auto: auto, manual: manual, etc. c.<c>.wb = only when manual is set. off: day mode, on: night mode
Item Name Meaning Attributes Notes

c.<c>.focus c.<c>.focus.list c.<c>.focus.value *m *n

Focus mode Focus mode list Focus value

C-U --C-U

*m *m *n

infinity: fixed at infinity, manual: manual. c.<c>.focus = only when manual is set.

Item Name

Meaning

Attributes

Notes

c.<c>.panorama.count *s Fixed at 0

Number of panorama images

---

*s

- 60 -

B.4
i.<i>

External Input/Output Information


Item Name Meaning Attributes Notes

i.count

Number of external input terminals External input terminal<i> status External input terminal name (ASCII) External input terminal name (UTF-8) External input terminal name (UTF-8) setting language

----U --U --U --U *b *a

i.<i>.name.asc i.<i>.name.utf8 i.<i>.name.lang

o.count o.<o> o.<o>.name.asc o.<o>.name.utf8 o.<o>.name.lang

Number of external output terminals External output terminal<i> status External output terminal name (ASCII) External output terminal name (UTF-8) External output terminal name (UTF-8) setting language

--C-U --U --U --U *b *a

*a *b

0: off, 1: on en: English, ja: Japanese, fr: French, it Italian, de: German, es: Spanish Only when corresponding i.<i>.name.utf8, o.<o>.name.utf8, or m.<m>.name.utf8 is not blank.

B.5

Preset Information
Item Name Meaning Attributes Notes

p.count

Number of presets

---

Always 0

B.6

Intelligent Function Information


Item Name Meaning Attributes Notes

r.engine r.meta

Intelligent Function status Whether or not metadata is embedded in the JPEG header

--U C-U

*a *b

r.pseudo r.count

Detection status of a pseudo setting Detection rule number of the Intelligent Function

--U --U

*c

r.<r> r.<r>.name.asc r.<r>.name.utf8 r.<r>.name.lang r.<r>.type

Rule <r> detection status Rule <r> name (ASCII) Rule <r> name (UTF-8) Rule <r> name (UTF-8) setting language Rule <r> detection type

--U --U --U --U --U

*d

*d *f

- 61 -

*a *b *c *d *e

0: off, 1: on, -1: invalid 0: off, 1: on 0: off, 1: on 0: off, 1: on En: English, ja: Japanese, fr: French, it: Italian, de: German, es: Spanish Only when corresponding r.<r>.name.utf8 is not blank.

*f

0: unspecified, 1: moving object detection, 2: abandoned object detection, 3: removed object detection, 4: camera tampering detection, 5 to 9: reserved area, 10 to 15: SIer area

B.7

Sound Device Information


Item Name Meaning Attributes Notes

a.count a.<a>.send a.<a>.recv a.<a>.detect

Number of sound devices Sound transmission from the camera Receive sound from client Detection status of input terminal of sound device <a>

--U --U --U --U *a *b *c

*a *b *c

off: invalid, on: valid (equivalent to <hb00> of the setting protocol) off: invalid, on: valid (equivalent to <hb10> of the setting protocol) 0: off, 1: on, -1: invalid

B.8
f.sd *a

External Memory Information


Item Name Meaning Attributes Notes

Mount status of the SD memory card. 0: unmount, 1: mount, 2: mount (write protect)

--U

*a

- 62 -

C Former Model Command


C.1 Correspondence for Each Type of Information
Although commands of former models are supported in VB-M40/VB-M600/VB-M700, use the commands printed in this specifications since proper operation is not guaranteed. Retrieval commands and item names were not always unified for commands of former models, and some items could not be retrieved. Although it is not possible to completely associate all commands of VB-M40/VB-M600/VB-M700 with commands of former models, the basic correspondence is as shown below:
New Command s s.duration s.priority s.control s.epoch s.hardware Compatible Command OpenCameraServer GetSystemInfo Priority GetNotice GetSystemInfo GetCameraServerInfo GetSystemInfo s.firmware GetCameraServerInfo GetSystemInfo s.protocol v GetProtocolVersion GetVideoInfo image_width image_height compression_type image_quality frame_rate v.list GetCameraServerInfo image_size image_quality c c.count GetCameraInfo GetCameraServerInfo GetCameraList c.<c>.type c.<c>.status c.<c>.name.asc c.<c>.name.utf8 GetCameraInfo GetCameraInfo GetCameraList GetCameraList camera_id number_of_available_cameras number_of_cameras camera_type camera_status camera_129 ... camera_129 ... Item Name for Compatible Command connection_id connection_time_limit priority Event 31 to 34 start_time modelNumber version firmVersion version

- 63 -

c.<c>.name.lang c.<c>.exp c.<c>.exp.list c.<c>.ae.autoss c.<c>.ae.autoss.list c.<c>.ae.shutter c.<c>.ae.shutter.list c.<c>.ae.brightness

N/A Exposure GetCameraInfoEx GetCameraInfoEx N/A OperateCameraEx N/A OperateCameraEx GetCameraInfo brightness back_light shutter manual_ex auto_slow_shutter_ex

c.<c>.ae.brightness.min c.<c>.ae.brightness.max c.<c>.ae.brightness.list c.<c>.ae.photometry c.<c>.ae.photometry.list c.<c>.me.shutter c.<c>.me.shutter.list c.<c>.me.iris c.<c>.me.iris.min c.<c>.me.iris.max c.<c>.me.gain c.<c>.me.gain.min c.<c>.me.gain.max c.<c>.dn c.<c>.dn.list c.<c>.dn.mode c.<c>.dn.mode.list c.<c>.wb c.<c>.wb.list c.<c>.wb.value c.<c>.is c.<c>.nr c.<c>.nr.min c.<c>.nr.max c.<c>.ac c.<c>.ac.min c.<c>.ac.max

N/A N/A N/A N/A N/A Exposure GetCameraInfoEx Exposure GetCameraInfoEx GetCameraInfoEx Exposure GetCameraInfoEx GetCameraInfoEx NightMode N/A N/A N/A GetCameraInfo N/A GetCameraInfo N/A NRLevel N/A N/A N/A N/A N/A nr_level rb_gain white_balance shutter shutter_speed_1 ... iris iris_min iris_max gain gain_min gain_max night_mode

- 64 -

c.<c>.shade c.<c>.shade.param c.<c>.shade.param.min c.<c>.shade.param.max c.<c>.focus c.<c>.focus.value c.<c>.focus.list

N/A N/A N/A N/A GetCameraInfo GetCameraInfo GetCameraInfoEx focus_mode focus_value far_fixed_focus dome_focus one_shot_focus

c.<c>.zoom c.<c>.zoom.d c.<c>.zoom.min

GetCameraInfo GetCameraInfoEx GetCameraInfo GetCameraInfo

zoom_current_value digital_zoom_boundary zoom_tele_limit view_tele_boundary zoom_wide_limit view_wide_boundary zoom_tele_end zoom_wide_end point_z direction_z point_z_min / direction_z_min point_z_max / direction_z_max pan_current_vaue pan_left_limit pan_right_limit pan_left_end pan_right_end point_p direction_p point_p_min / direction_p_min point_p_max / direction_p_max tilt_current_vaue tilt_down_limit tilt_up_limit tilt_down_end tilt_up_end point_t

c.<c>.zoom.max

GetCameraInfo GetCameraInfo

c.<c>.zoom.limit.min c.<c>.zoom.limit.max c.<c>.zoom.speed.pos c.<c>.zoom.speed.dir c.<c>.zoom.speed.min c.<c>.zoom.speed.max c.<c>.pan c.<c>.pan.min c.<c>.pan.max c.<c>.pan.limit.min c.<c>.pan.limit.max c.<c>.pan.speed.pos c.<c>.pan.speed.dir c.<c>.pan.speed.min c.<c>.pan.speed.max c.<c>.tilt c.<c>.tilt.min c.<c>.tilt.max c.<c>.tilt.limit.min c.<c>.tilt.limit.max c.<c>.tilt.speed.pos

GetCameraInfo GetCameraInfo GetPTZSpeedInfo GetPTZSpeedInfo GetPTZSpeedInfo GetPTZSpeedInfo GetCameraInfo GetCameraInfo GetCameraInfo GetCameraInfo GetCameraInfo GetPTZSpeedInfo GetPTZSpeedInfo GetPTZSpeedInfo GetPTZSpeedInfo GetCameraInfo GetCameraInfo GetCameraInfo GetCameraInfo GetCameraInfo GetPTZSpeedInfo

- 65 -

c.<c>.tilt.speed.dir c.<c>.tilt.speed.min c.<c>.tilt.speed.max c.<c>.view

GetPTZSpeedInfo GetPTZSpeedInfo GetPTZSpeedInfo GetCameraInfo

direction_t point_t_min / direction_t_min point_t_max / direction_t_max view_left_boundary view_right_boundary view_up_boundary view_down_boundary

c.<c>.view.restriction c.<c>.panorama.count c.<c>.panorama.<c>.view

N/A GetPanoramaList GetPanoramaInfo GetPanoramaInfo GetPanoramaInfo GetPanoramaInfo number_of_panorama_images pano_left pano_top pano_width pano_height image_width image_height image_quality image_size date_and_time number_of_input i1 ... i1 ... i1 ...

c.<c>.panorama.<c>.image

GetPanoramaInfo GetPanoramaInfo GetPanoramaInfo GetPanoramaInfo

c.<c>.panorama.<c>.timestamp

GetPanoramaInfo ExternalIOConfig ExternalIOStatus ExternalIOCaption ExternalIOCaption N/A ExternalIOConfig ExternalIOStatus ExternalIOCaption ExternalIOCaption N/A ExternalIOConfig ExternalIOStatus N/A N/A N/A GetPresetList GetPresetList GetPresetList

i.count i.<i> i.<i>.name.asc i.<i>.name.utf8 i.<i>.name.lang o.count o.<o> o.<o>.name.asc o.<o>.name.utf8 o.<o>.name.lang m.count m.<m> m.<m>.name.asc m.<m>.name.utf8 m.<m>.name.lang p.count p.<p>.name.asc p.<p>.name.utf8

number_of_output o1 ... o1 ... o1 ...

md d1

number_of_camera_positions position_1 ... position_1 ...

- 66 -

p.<p>.name.lang p.<p>.c p.<p>.pan p.<p>.tilt p.<p>.zoom p.<p>.focus

N/A GetPresetList GetPresetList GetPresetList GetPresetList GetPresetList GetPresetList camera_id pan tilt zoom focus_mode focus_value back_light

p.<p>.ae.brightness

GetPresetList

- 67 -

D JPEG Header Information


This appendix explains mainly JPEG image Header when using the Canon Network Cameras. The JPEG image Header is a Header with information written in the JPEG area using the APP0 marker. [Note] In this document, a hexadecimal number is expressed with a letter h appended at the end. (Example: 12h)

JPEG Area MAP


JPEG area starts with SOI (Start of Image) at the head as shown in Fig.1, consists of JPEG image Header (APP0 area), reserved range, JPEG image data (encoding bit stream) and others, and ends with EOI (End of Image). JPEG image Header is the area within the dotted line frame in Fig. 1.

SOI(2byte

JPEG ImageHeader APP0


FFE0 0052h

Reserved Range
(FF E7 0000h - )

Encoding Bit Stream (FFDBh -)

EOI 2byte

Fig. 1
Encoding Bit Stream (FFDBh -)

FF E0: APP0 application marker 00 52: APP0 area size (size excluding the 2byte for application marker = 82 bytes)

- 68 -

JPEG Image Header (APP0)


The Table 2-1 below explains additional JPEG image Header information (excluding APP0 application marker and APP0 area size) in the Canon Network Cameras. Table 2-1
Additional
Magic number Camera Pan Tilt Zoom Brightness

Information

Data Type U<3> U<1> U<2> U<2> U<2> S<2>

Description of Additional Information V' and 'B' (Fixed at 56 42 00h) Camera number (Fixed at 01h) Pan angle when shooting (1/100 degree units) Tilt angle when shooting (1/100 degree units) Optical zoom angle when shooting (1/100 degree units) Exposure setting when shooting (00h: invalid, 01h: Normal, 02h: Bright)

Shooting Time

U<4>

Shooting time (The number of seconds difference from 1970/1/1 00:00:00 GMT)

Time Zone Image Quality Model External Device Input Status External Device Output Status File Format Authenticator Type Image Width Image Height Fractions of Shooting Time Setting Value Identifier Server Identifier Smart Shade Control Electronic Zoom Magnification Exposure Compensation MAC Address Reservation 1 Intelligent Function Status Intelligent Function Rule Status Reservation 2

S<2> U<1> U<1> B[32] B[32] U<1> U<1> U<2> U<2> U<2> U<4> B[24] U<1> U<2> S<2> B[48] U<2> B[32] B[32] U<16>

Offset from GMT (minutes) JPEG image information Model information External Device Input Status (B[0]: In1, B[1]: In2) External Device Output Status (B[0]: Out1) File Format (Fixed at 05h) No authenticator (Fixed at 00h) Number of pixels in horizontal direction Number of pixels in vertical direction Shooting time (millisecond-units) Integer value changed when changing settings MAC address of Ethernet Smart shade control value Electronic zoom magnification when shooting Exposure compensation value when shooting MAC address of Ethernet Not used Intelligent Function status Detection status of Intelligent Function rule Not used

- 69 -

B[##]: ## represents the number of bits S<##>: Signed integer, ## represents the number of bytes. U<##>: Unsigned integer, ## represents the number of bytes. For bit sequence, MSB is located at the head and integers are expressed in big-endian format.

Item Description
Table 2-2
Item Name Magic number Description Magic number representing an application with which an APP0 marker is created. Camera Pan In Canon Network Cameras, it is fixed at V and B (56 42 00h). Camera number 01h: Main unit camera Pan angle when shooting A value in 1/100 units, taking 0 for left 180 degrees, 18000 for the front (0 degree), and 36000 for right 180 degrees, is recorded. Tilt Tilt angle when shooting A value in 1/100 units, taking 0 stand for down 180 degrees, 18000 for horizontal plane (0 degree), and 36000 for up 180 degrees, is recorded. Zoom Optical zoom angle when shooting A value representing a viewing angle in the pan direction in 1/100 units is recorded. Exposure setting when shooting 0000h: invalid (Inoperable. Cameras without backlight compensation and exposure compensation functions) 0001h: Normal (backlight compensation and exposure compensation Off) 0002h: Bright (backlight compensation and exposure compensation On) Shooting time (The number of seconds difference from 1970/1/1 00:00:00 GMT) To be exact, it is a time when a JPEG image was generated in the camera, but not a time when the image was transmitted from the camera to the network. Offset from GMT (Unit: minute) JPEG image quality 00h: High compression to 04h: Low compression) (VB-M40:0Dh VB-M600VE:0Eh VB-M600D:0Fh VB-M700F:10h) External device input status (0: Off, 1: On) B[0]:In1, B[1]:In2 External device output status(0: Off, 1: On) B[0]:Out1, B[1]:Out2, B[2]:Out3

Brightness

Shooting Time

Time Zone Image Quality Model External Device Input Status External Device Output Status

- 70 -

Item Name File Format Authenticator Type Image Width Image Height Fractions of Shooting Time Setting Value Identifier Server Identifier Smart Shade Control Electronic Zoom Magnification

Description File Format (Fixed at 05h) No authenticator (Fixed at 00h) Number of pixels in horizontal direction In QVGA, 0140h ( = hexadecimal representation of 320) Number of pixels in vertical direction In QVGA, 00F0h (= hexadecimal representation of 240) Millisecond part of a shooting time Integer value changed when changing settings (0) MAC address of Ethernet (last 3 bytes) Smart shade control value (0: Off, 1 to 7: Correction level) Electronic zoom magnification when shooting 00h: Digital Zoom OFF, 01h - : Digital Zoom Magnification(in 1/100 time units Exposure compensation value when shooting ( -8 to +8) MAC address of Ethernet (6 bytes) Not used (00 00h) Intelligent Function status is expressed with bits 0th bit: Valid/Invalid of Intelligent Function status (1: Valid/0: Invalid) 1st bit: Valid/Invalid of Intelligent Function status rule (1: Valid/0: Invalid) 2nd bit: Valid/Invalid of preset fixing setting (1: Valid/0: Invalid) 3rd bit : Stay/Not stay at the preset position (1: Stay/0: Not stay)

Exposure Compensation MAC Address Reservation 1 Intelligent Function Status

Intelligent Function Rule Status

Detection status of Intelligent Function rule is expressed with bits. 1 to 15bit: Detection status of rules 1 to 15 * 0th bit is for work (0: Undetected, 1:Detecting)

Reservation 2

Not used (All are fixed at 00h)

- 71 -

E H.264 Distribution Function


This appendix explains the H.264 image data distribution function employed by VB-M40/VB-M600/VB-M700.

E.1 Image Parameters


Parameters for H.264 images supported by VB-M40/VB-M600/VB-M700 are as follows.

Table 2-3 H.264 Image Parameters


Parameter Value Default value Image Size 1280x960 640x480 320x240 Frame Rate 10, 15, 30fps 30fps Setting Protocol Reboot is required. Target Bit Rate 32kbps to 4Mbps 1Mbyte Setting Protocol In an mutually exclusive relationship with the Q value specification Q Value 1 to 5 3 Setting Protocol In an mutually exclusive relationship with the Bit rate control 320x240 Setting Protocol Reboot is required. Setting Method Notes

1. 2. 3.

Image Size 160x120 size image is not supported. Target Bit Rate It is used to specify a target bit rate and output at the set bit rate is not guaranteed. Q Value (Image Quality) Even when the Q value is changed, this does not affect moov and moof headers. The Q value is stored in slice_qp_delta in the slice header.

- 72 -

About Image Quality


When the target bit rate is set to a small value, the image quality may decrease and block noises be conspicuous especially in large size images.

E.2 MP4 Fragment


The H.264 distribution part in the VB-M40/VB-M600/VB-M700 distributes H.264 image data in the MP4 fragment format. It handles a stream with only one video track. The video stream forms a MP4 format stream compliant with ISO/IEC 14496-10 and ISO/IEC 14496-15. In other words, it creates a moov header and a moof header that are combined with picture data to be transmitted. Detailed information on the moov and moof headers is prescribed by the standards, ISO/IEC 14496-10 and ISO/IEC 14496-15. Fragment Data Structure The MP4 Fragment data structure for VB-M40/VB-M600/VB-M700 is shown in the Fig. below. Each header of moov and moof follows the HTTP header and picture data for one fragment is transmitted following the mdat header.
HTTP header wvhttp header moov header moof header moof header mdat header mdat header mdat header moof header moof header moof header mdat header mdat header mdat header
Picture

1st fragment

Picture

(I)
Picture

2nd fragment

(P)
Picture

3rd

fragment

(P)

15th

fragment

(P)
Picture

16th

fragment

(I)
Picture

17th

fragment

(P)

Fig. 2 MP4Fragment Date Structure

- 73 -

1.

Moov header A moov header is distributed only once at the first of a fragment distribution. It includes mainly initial setting items necessary for video playback. For example, setting values such as image size, frame rate, time information are included in the moov header. A file size of each picture distributed together with the moov header is included in the stsz box. The head picture always begins with I picture. SPS, PPS and VUI fields are added in order to support H.264 in VB-M40/VB-M600/VB-M700. All the fields are in avcC.

2.

Time information when a distribution starts When a distribution starts, a current time (second units) is stored in the tkhd and mdhd of a MP4 header. The time differs for each client. Also, it is not a time when an image was captured. The current time is based on 1900/01/01 00:00 as the starting point.

3.

SPS (Sequence Parameter Set) field The SPS includes the profile and level of the entire sequences.

4.

PPS (Picture Parameter Set) field The PPS includes information regarding the entire pictures. However, The PPS does not include the setting value of Q value.

5.

VUI (video Usability Information) field The VUI includes information on aspect ratio, brightness and color space.

6.

Moof header The moof header includes a sequence number and frame type. A file size of each picture distributed together with the moof header is included in the trun box. When first_sample_flags of the trun box is 0x0, the head picture of the fragment is I picture. When first_sample_flags of the trun box is a value other than 0x0, the head picture of the fragment is P picture.

- 74 -

F HTTP Upload Specification


The HTTP upload function in the VB-M40/VB-M600/VB-M700 supports both event uploads and image uploads. It is possible to access via HTTP using the specified argument to HTTP server specified in the Setting Page and to upload image data when Image attached Notification is specified for Notification. Events that serves as triggers for uploads can be set in Event under the Setting Page. There are the following three events that can be set as triggers. External Device Input An event is triggered and an upload is performed when a sensor, etc. connected to an external device input terminal is turned on. An event can also be triggered when the sensor is turned off. Each of External Device Input 1 and 2 can be used in VB-M40/VB-M600/VB-M700. Timer Specify the Start Time, Repeat Interval and Repeat Count to cause to perform the upload operation at a certain intervals. The Repeat Count can be set in the range of 1 to 60. The Repeat Interval can be specified with one of the following values. 1 sec., 5 sec., 10 sec., 30 sec., 1 min., 5 min., 10 min., 15 min., 20 min., 30 min. 1 hour, 3 hours, 6 hours, 12 hours For the Repeat Count, the start time is counted as the first time. Therefore, when the Repeat Count is set to 1, an upload is performed only once at the start time. Intelligent Functions Events are triggered by the Intelligent Functions including the Volume Detection and perform uploads. For details, refer to VB-M40/VB-M600/VB-M700 Operation Guide.

- 75 -

There are the following setting items for the upload destination. Upload Select from Upload Disabled, HTTP Upload and FTP Upload. When HTTP Upload is selected, the following items can be set up. Notification: URI: Select from Notification Only with HTTP or Image attached Notification with HTTP. Specify URI for HTTP access. Example: http://192.168.100.12:8080/cgi-bin/upload.cgi User Name: Password: User name Password (Specify a user name and a password when the URI destination requires a user authentication. Only Basic Authentication is available.) Proxy Server: Proxy Port: Host name or IP address of a proxy server Port number of a proxy server (Specify this when accessing the URI via an HTTP proxy server.) Proxy Unser Name: User name of a proxy server Proxy Password: Password of a proxy server (Specify a user name and a password when the proxy server requires a user authentication. Only Basic Authentication is available.) Parameter (query strings): Specify an URI parameter to be added to URI. The specified parameter can be used as query strings for CGI. [Note] An URI-encoded string should be specified for an URI parameter. (For the details for URI encoding, refer to RFC2396 "Uniform Resource Identifiers (URI): Generic Syntax") Example: filename=img&sensorNo=1

- 76 -

Following '% characters can be used for parameters.


%n Trigger of Shooting (No.) 0 (Test), 1(External Input Terminal 1), 2(External Input Terminal 2), 33(Interval Timer), 145(Volume Detection), 161(VOP Rule 1), 162(VOP Rule 2), 163(VOP Rule 3), 164(VOP Rule 4), 165(VOP Rule 5), 166(VOP Rule 6), 167(VOP Rule 7), 168(VOP Rule 8), 169(VOP Rule 9), 170(VOP Rule 10), 171(VOP Rule 11), 172(VOP Rule 12), 173(VOP Rule 13), 174(VOP Rule 14), 175(VOP Rule 15) %N Trigger of Shooting(Text String) External Device Name (alphanumeric characters), Moving Object Detection Area Name 1/2/3/4, NULL (blank character/cases of interval timer and test) %X %Y %C %D %P %T %Z %V %y %m %d %w %H %M %S %s %z Image Width Image Height Camera Number Camera Name Pan Position Tilt Position Zoom Position Camera Server Year of Shooting Month of Shooting Day of Shooting Day of week of Shooting Hour of Shooting Minute of Shooting Second of Shooting Millisecond of Shooting Time Zone of Shooting time %a Day of Week Name of Shooting %b %h Month Name of Shooting Host Name Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec Sun, Mon, Tue, Wed, Thu, Fri, Sat Number of pixels in the horizontal direction Number of pixels in the vertical direction 1 Setting value of Camera Name (alphanumeric characters) -179.99 180.00 -179.99 180.00 0.01 300.00 VB-M40/VB-M600/VB-M700 2001 2031 1 12 1 31 0 6 (correspond to Sunday to Saturday) 00 23 00 59 00 59 000 999 -1200 +1300

- 77 -

Message sent upon upload An HTTP upload is transmitted as a GET or POST request. Which type of request is used, a GET request or a POST request is determined based on the Notification setting. A) When selecting Notification Only with HTTP The following formatted message is transmitted.
GET {URI setting value}?{Parameter setting value } HTTP/1.1rn ... User-Agent: Canon Network Camera VB/4.0rn

B) When selecting Image attached Notification with HTTP The following formatted message is transmitted.
POST {URI setting value}?{ Parameter setting value } HTTP/1.1 ... User-Agent: Canon Network Camera VB/4.0rn Content-Type: image/jpegrn Content-Length: {JPEG image data length}rn rn {JPEG data}

[Note] As a method of uploading file from the browser, <input type="file" ...> is generally used. However, it should be noted that a method different from the above is used to upload JPEG images in VB-M40/VB-M600/VB-M700.

- 78 -

Notes when using major languages for CGI creation In the case of a jpeg image attachment, a URI parameter cannot be obtained with params() method. Instead, use url_params() method. A jpeg image included in the body of a POST request can be obtained with param ('POSTDATA') .
Example: use CGI; ... my $query = new CGI; my $jpeg = $query->param('POSTDATA'); # Obtain jpeg open(JPG, ">", "sample.jpg") or die "error"; # Write to a file binmode JPG; # Specify binary mode for Windows print JPG $jpg; close(JPG);

C) CGI.pm package in perl

D) CGI library in ruby In the case of a jpeg image attachment, when CGI objects are generated with CGI.new, image data may be destroyed. Do not generate CGI objects. Only use class method. For example, when obtaining a URI parameter, it is possible to convert into hash with CGI.parse method as follows.
Example: require 'cgi' ... params = CGI.parse(ENV['QUERY_STRING']) Read a jpeg image included in the body of a POST request from standard input. Example: $stdin.binmode jpeg = $stdin.read f = open("sample.jpg", "w") f.binmode f.write(data) f.close # Specify binary mode for Windows # Read from standard input

- 79 -

E) cgi modules in python In the case of a jpeg image attachment, when FieldStorage objects are generated with cgi.FieldStorage(), image data may be destroyed. Do not generate FieldStorage objects. Use functions such as parse_qs. For example when obtaining a URI parameter, it is possible to convert into dictionary with parse_qs function as follows.
Example: import os,cgi params = cgi.parse_qs(os.environ['QUERY_STRING']) Read a jpeg image included in the body of a POST request from standard input. Example: import os,sys,cgi ... jpeg = sys.stdin.read f = open("sample.jpg", "w") f.write(data) f.close()

# Read from standard input

*Process in binary mode in Windows environment as follows. import os,sys ... if sys.platform == "win32": import msvcrt msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) ... jpeg = sys.stdin.read f = open("sample.jpg", "wb") f.write(data) f.close()

- 80 -

G Each Command and User Access Privileges


The table below explains which access privilege is required to execute each command of the WV-HTTP protocol.

Legend: : Available : Conditionally available : Unavailable Command Name Guest Users Authorized Users
(Without Privileged Camera Control Authority)

Authorized Users
(With Privileged Camera Control Authority)

Administrator Users.

open.cgi close.cgi claim.cgi yield.cgi session.cgi image.cgi video.cgi info.cgi panorama.cgi control.cgi

(Limited to priority=0) (Camera Control


privilege is required.)

(Limited to priority=0) (Camera Control


privilege is required.)

(Possible to specify
priority=1 or more)

(Possible to specify
priority=1or more)

(Possible to
priority=1or more)

(Possible to specify
priority=1 or more)

(Limited to priority=0) (Image Distribution


privilege is required.)

(Limited to priority=0) (Image Distribution


privilege is required.))

(Image Distribution
privilege is required.)

(Image Distribution
privilege is required.))

(Camera Control
privilege is required. Impossible to operate Day/Night switching mode and External output control. )

(Camera Control
privilege is required. Impossible to operate Day/Night switching mode and External output control. )

- 81 -

You might also like