YT1-1618-001 HTTP Web View Protocol Spec E
YT1-1618-001 HTTP Web View Protocol Spec E
YT1-1618-001 HTTP Web View Protocol Spec E
Ver. 2.0
YT1-1618-001
Date
Dec. 15, 2010 Feb. 28, 2011
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.
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
-3-
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.
-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-
-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
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
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 -
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>
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>
info.cgi).
- 16 -
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>
info.cgi).
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 -
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
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 -
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 -
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 -
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 -
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
- 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
[c.<c>.]zoom
- 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
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
- 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
o.<o>
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 -
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
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
*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
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).
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
Selected camera number Number of cameras Camera type State of operation Camera name (ASCII) Camera name (UTF-8) Camera name (UTF-8) setting language
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
Exposure mode Exposure mode list Auto slow shutter Auto slow shutter list
*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
---
- 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
Focus mode Focus mode list Focus value Zoom value Digital zoom boundary value (optical telephoto boundary)
*m *m *n *o *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
*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
*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
--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
- 53 -
Item Name
Meaning
Attributes
Notes
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>.
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
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
*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.
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
- 54 -
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
*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.
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
*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 -
Number of sound devices Sound transmission from the camera Receive sound from client Detection status of input terminal of sound device <a>
*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
f.sd *a
Mount status of the SD memory card. 0: unmount, 1: mount, 2: mount (write protect)
--U
*a
- 56 -
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
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 )
*a *a, *b *c
*d
s.firmware s.protocol
- 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
*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
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
---
*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-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
---
*s
- 60 -
B.4
i.<i>
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
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
*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
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
Rule <r> detection status Rule <r> name (ASCII) Rule <r> name (UTF-8) Rule <r> name (UTF-8) setting language Rule <r> detection type
*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
Number of sound devices Sound transmission from the camera Receive sound from client Detection status of input terminal of sound device <a>
*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
Mount status of the SD memory card. 0: unmount, 1: mount, 2: mount (write protect)
--U
*a
- 62 -
- 63 -
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 -
N/A N/A N/A N/A GetCameraInfo GetCameraInfo GetCameraInfoEx focus_mode focus_value far_fixed_focus dome_focus one_shot_focus
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 -
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
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
md d1
- 66 -
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 -
SOI(2byte
Reserved Range
(FF E7 0000h - )
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 -
Information
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)
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
- 71 -
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 -
1st fragment
Picture
(I)
Picture
2nd fragment
(P)
Picture
3rd
fragment
(P)
15th
fragment
(P)
Picture
16th
fragment
(I)
Picture
17th
fragment
(P)
- 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 -
- 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 -
- 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);
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()
*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 -
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
(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)
(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 -