Network Camera Server WebView Data Protocol
Specifications
Ver. 1.0
BIE-7085-000
January 30, 2015
CANON INC.
Revision History Version Release Date Location Changes
1.0 January 30, 2015 - First edition
Table of Contents 1 Introduction .......................................................................................................................... 1
1.1 Use of this Document ................................................................................................... 1 1.2 Supported Products...................................................................................................... 1 1.3 Notation ........................................................................................................................ 2
2 Related Documents .............................................................................................................. 3
3 Terms .................................................................................................................................... 4
4 Protocol Overview ................................................................................................................ 5
5 WebView Data Protocol Specifications ............................................................................... 6 5.1 Interface Specifications ............................................................................................... 6
5.1.1 Protocol Configuration .................................................................................... 6 5.1.2 Access Privileges .............................................................................................. 8 5.1.3 Request ............................................................................................................. 9 5.1.4 Response ......................................................................................................... 10
5.2 Command Specifications ........................................................................................... 11 5.2.1 Accessing File Systems .................................................................................. 11 5.2.2 Accessing External Memory.......................................................................... 20
5.3 Relationship with the WebView Settings Protocol .................................................. 32 5.4 Relationship to WebView Memory Card Protocol .................................................... 33
Appendix ..................................................................................................................................... 34
A List of Differences by Function or Series ......................................................................... 34 A.1 Command Parameter ................................................................................................. 35 A.2 Response ..................................................................................................................... 40
1
1 Introduction These specifications specify the WebView data protocol, which is one of the Canon Network Camera Server WebView protocols. The WebView data protocol is the protocol for accessing files in the internal network camera memory and in external memory.
1.1 Use of this Document This document is for developers of applications using the Canon network camera. Use of this document requires knowledge of application development.
1.2 Supported Products This document was designed for the following Canon network cameras.
Canon Network Camera VB-S30D
Canon Network Camera VB-S31D
Canon Network Camera VB-S800D
Canon Network Camera VB-S900F
Canon Network Camera VB-S805D
Canon Network Camera VB-S905F
Canon Network Camera VB-H43 Canon Network Camera VB-H630VE Canon Network Camera VB-H630D Canon Network Camera VB-H730F Canon Network Camera VB-M42 Canon Network Camera VB-M620VE Canon Network Camera VB-M620D Canon Network Camera VB-M720F Canon Network Camera VB-R11VE Canon Network Camera VB-R11 Canon Network Camera VB-R10VE Canon Network Camera VB-M641VE Canon Network Camera VB-M641V Canon Network Camera VB-M640VE
2
Canon Network Camera VB-M640V Canon Network Camera VB-M741LE Canon Network Camera VB-M740E
1.3 Notation The following notation and text formatting are used in this document. “Courier New” Indicates a code sample.
“Italic” Indicates a parameter replaceable with an actual name or value. “Verdana 0…50” Indicates a parameter or setting value. “<Verdana>” Indicates a variable. “Note:” Indicates a special note or precaution. “!” Indicates an example of the occurrence of a phenomenon. “XXXXXX ” Indicates a reference document. ‘XXXXXX ’ Indicates a reference chapter or section.
3
2 Related Documents The Canon network camera server WebView protocol specifications include the following documents.
■ Protocol specifications
・ Network Camera Server WebView Protocol Overview ・ Network Camera Server WebView HTTP Protocol Specifications ・ Network Camera Server WebView Settings Protocol Specifications ・ Network Camera Server WebView Audio Protocol Specifications ・ Network Camera Server WebView Data Protocol Specifications (this
document) ・ Network Camera Server WebView Memory Card Protocol Specifications
4
3 Terms Term Description
JPEG Digital video image compression method. Abbreviation of Joint Photographic Experts Group. Generally refers to the image data formed by using the JPEG compression method. The extension is “.jpg”.
H.264 A method for encoding video. This has been standardized by both ITU-T and ISO/IEC. http://www.itu.int/rec/T-REC-H.264
5
4 Protocol Overview The WebView data protocol is the protocol in the WebView protocol group that provides the function for accessing files in the internal file system and in external memory.
Fig. 4-1 WebView Protocol Concept Diagram
HTTP server - WebView HTTP protocol
- WebView settings protocol
- WebView audio protocol
- WebView data protocol
- WebView memory card protocol
Canon network camera Client
Router/firewall
Client - User application - Web browser
Internet
WAN
LAN
HTTP request →
← HTTP response
Client
- User application - Web browser
6
5 WebView Data Protocol Specifications
5.1 Interface Specifications The interface specifications of the WebView data protocol are described in the following order.
Protocol configuration Sessions and access privileges Request Response
5.1.1 Protocol Configuration
5.1.1.1 Command List The functions provided by the WebView data protocol and supported commands are shown below.
■ Access to file systems Retrieve file list [FileList] Retrieve/save file [FileData] Delete file [FileDelete]
■ Access to external memory Retrieve video file list [ExFileList] Retrieve video file [ExFileData] Delete video file [ExFileDelete]
Recommended items:
- The FileList, FileData, and FileDelete commands can each be used for both the internal file system and file systems on external memory.
- Network cameras manage the video files on external memory with a special management file. When files on external memory are deleted, using FTP for
example, the management file needs to be recreated. For this reason, we
recommend that you use the ExFileList, ExFileData, and ExFileDelete commands to access video files on external memory.
7
5.1.1.2 Protocol Syntax The WebView data protocol command is made up of the command name and parameters. The syntax requirements for specifying command names and parameters are shown below.
- The format for parameters is “<Name>=<Value>”. - Command names and parameters are separated using ‘?’. - In URI query strings, specify parameters using the ‘&’ separator. - Use URL encoding on parameters. *1
- Parts of parameters can be omitted using “[...]” notation for names and values. *2
- There are no restrictions on the order for specifying parameters. *3
Note: *1 Alphanumeric characters (0-9, A-Z, a-z) and ‘*’ (asterisk), ‘-’ (hyphen), ‘.’ (period), ‘@’ (at
symbol), and ‘_’ (underscores) do not need to be converted. A single-byte space is converted to a ‘+’ (plus) and other characters are converted by the
byte to ‘%’ + hexadecimal double-digit notation.
*2 There are many parameters that can be omitted, but the parameters that cannot be
omitted are indicated using the [Required] note.
*3 If the same parameter is specified multiple times, the last specified parameter is used,
unless that parameter can be specified multiple times.
Example: http://192.168.100.1/-wvdata-/FileList?path=/var/log
Note: The WebView data protocol can only receive one request at a time. If you do not wait for the
response to a command before sending the next command, a “503 Service Unavailable”
error is returned.
8
5.1.2 Access Privileges
Only network camera administrators have privileges to execute WebView data protocol commands. Administrator user authentication is required. Access to directories and files is restricted by the HTTP server settings.
9
5.1.3 Request
WebView data protocol commands are received by the network camera’s HTTP server as HTTP requests using the GET or POST methods.
- The WebView data protocol is not dependent on specific HTTP versions. - Network cameras covered by this document are HTTP/1.1-compliant. - You can use GET or POST as the HTTP method. *1 - The URI is made up of commands and parameters from the WebView data
protocol that start with “/-wvdata-/”. - The maximum length for requests is 4,096 bytes. - Basic authentication or Digest authentication is required for system
administrators.
Note: *1 POST can only be used when retrieving/saving files (FileData).
Syntax: GET /-wvdata-/<Command>[?<ParameterList>…] HTTP/1.1
POST /-wvdata-/<Command>[?<ParameterList>…] HTTP/1.1 <ParameterData> *1
Note: *1 When using POST, specify the required information as a parameter in the message body.
5.1.3.1 HTTP Request Header The HTTP request header fields that relate to WebView data protocol actions are as follows: Host
Connection
Authorization
Content-Length *1 Content-Type *1
Note: *1 Content-Length and Content-Type are required for the POST method.
10
5.1.4 Response
The results from processing WebView data protocol requests are sent as an HTTP response from the HTTP server for the network camera.
Response: HTTP/1.1 200 OK Content-Type: text/plain Content-Length: <MessageBodyLengthValue> Date: <TimeStamp> Server: VB <MessageBody>
5.1.4.1 HTTP Status The processing results for HTTP protocol levels are returned in the HTTP status. The main return values and their meanings are shown below.
Table 5-1 List of Returned HTTP Statuses
HTTP Status Description
200 OK Request was processed normally
400 Bad Request Request is invalid
401 Unauthorized User authentication failed
403 Forbidden Accessed a directory/file to which access is not permitted
404 Not Found The specified file does not exist
413 Request Entity Too Large
The specified offset value is larger than the file size
500 Internal Server Error Request denied due to an internal processing error Note: Returned when there is an abnormality during insertion or
removal of the memory card or recreation processing of video management information
503 Service Unavailable Request denied due to a temporary overload Note: Returned when there are multiple conflicting requests at the
same time
11
5.2 Command Specifications This section describes the command specifications for the WebView data protocol.
5.2.1 Accessing File Systems
The WebView data protocol provides the following commands for accessing file systems.
FileList : Retrieve file list FileData : Retrieve/save file FileDelete : Delete file
5.2.1.1 Retrieve File List [FileList] Retrieves a list of information on files in the specified directory.
Note: You can only use the FileList command for the following two file paths.
/var/log
/mnt/card/canon001/log
5.2.1.1.1 Commands
Syntax: http://<ipaddress>/-wvdata-/FileList?path=<value>
Parameters:
Parameter Value Type/ Value Range
Description
path=<string> Specify a directory or file path [Required] *1
Note:
*1 The path must be an absolute path.
If you specify a file or folder for which you do not have access permissions, a “403
Forbidden” error is returned in the HTTP status.
12
5.2.1.1.2 Responses
A. Successful response
HTTP Code :200 OK
Content-Type :text/plain
MessageBody : <FileInfo> <FileInfo> ・・・
<FileInfo>
Note:
File information is comprised of the following:
<Type><Permissions><Size><Date/Time Updated><File Name>
Return value: File information
Return value Description
<Type> File type
E.g. “-” = regular file, “d”= directory
<Permissions> Permissions for the file owner, group, and other
E.g. “rw-r--r--”
<Size> File size
Note: Unit = byte
<Date/time updated> The date/time that the file was updated
E.g. “Oct 22 08:58:04 2013”
<File name> Name of the file or directory
B. Error response
HTTP status return value:
HTTP Status Description
400 Bad Request Request is invalid
! An invalid parameter was specified
401 Unauthorized User authentication failed
! Executed by a user other than the administrator
403 Forbidden Accessed a directory/file to which access is not permitted
! No access permissions for the specified directory
13
HTTP Status Description
404 Not Found The specified file does not exist
! The specified directory does not exist
5.2.1.1.3 Protocol Examples
An example of the protocol is shown below. ■ Normal
■ Error
GET /-wvdata-/FileList?path=/var/log HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthorizationString> HTTP/1.1 200 OK Content-Type: text/plain Content-Length: <DataLength> Server: VB -rw-r--r-- 0 Nov 25 09:20:09 2013 access -rw-r--r-- 10835 Nov 25 13:38:04 2013 messages
GET /-wvdata-/FileList?path=/var HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthorizationString> HTTP/1.1 403 Forbidden Content-Type:text/html Content-Length: <DataLength> Server: VB
14
5.2.1.2 Retrieve/Save File [FileData] Retrieves files specified using GET or writes using POST.
Note: You can use the FileData command to retrieve files from the following file paths.
/var/log/messages
/var/log/messages.old
/var/log/access
/var/log/access.old
/mnt/card/canon001/log/msg.[0-5]
/usr/set/camera1.jpg You can use the FileData command to write in the following file path.
/usr/set/camera1.jpg
5.2.1.2.1 Commands
Syntax: http://<ipaddress>/-wvdata-/FileData?path=<value>[&offset=<value>& overwrite=<yes|no>
Parameters:
Parameter Value Type/ Value Range
Description
path=<string> Specify file path [Required] *1
offset=<int> 0…<File size> Offset from the beginning of the file *2 Note: Only POST (when writing) is valid
overwrite=
<string>
yes
no
Specify whether to overwrite *3 Note: Only POST (when writing) is valid
Note:
*1 The path is an absolute path.
If you specify a file or directory for which you do not have access permissions, error “403
Forbidden” is returned in the HTTP status. *2 If you specify a string that is not a numerical value or omit this setting, it is treated as
“0”.
15
This specifies the location for writing. Therefore, if the value exceeds the size of the file
being written, error “413 Request Entity Too Large” is returned in the HTTP status.
*3 If omitted, it is treated as “no”.
5.2.1.2.2 Responses
A. Successful response [Retrieve file]
Method :GET
HTTP Code :200 OK
Content-Type :text/plain
MessageBody : <FileData>
Note:
If a file is retrieved successfully, file data is output.
B. Successful response [Save file (write)]
Method :POST
HTTP Code :200 OK
Content-Type :text/plain
MessageBody : OK.
C. Error response
HTTP status return value:
HTTP Status Description
400 Bad Request Request is invalid
! Invalid parameter specified
401 Unauthorized User authentication failed
! Executed by a user other than the administrator
403 Forbidden Accessed a directory/file to which access is not permitted
! No access permissions for the specified directory
16
HTTP Status Description
404 Not Found The specified file does not exist
! The specified directory does not exist
! The specified file does not exist
413 Request Entity Too Large
The specified offset value is larger than the file size
! The specified offset value exceeds the file size
5.2.1.2.3 Protocol Examples
An example of the protocol is shown below.
■ Normal (Retrieve file)
Note:
The example above shows the retrieval of a log file.
GET /-wvdata-/FileData?path=/var/log/messages HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 200 OK Content-Type:text/plain Content-Length: <DataLength> Server:VB Oct 22 08:37:58 VB-H41 syslogd 1.5.0: restart. Oct 22 08:37:59 VB-H41 kernel: klogd 1.5.0, log source = /proc/kmsg started. ・・・ Oct 22 08:38:16 VB-H41 paramd[455]: Updated system settings. (S002) Oct 22 08:58:04 VB-H41 vbipset[457]: VB initial task end.
17
■ Normal (Save file)
Note:
*1 Specify the write data in the body of the request.
■ Error (File retrieval error)
■ Error (File save error)
GET /-wvdata-/FileData?path=/tmp/sdinfo.txt HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 403 Forbidden Content-Type:text/plain Content-Length: <DataLength> Server: VB ...
POST /-wvdata-/FileData?path=/usr/set/camera1.jpg&offset=8410
&overwrite=yes HTTP/1.1 Host:<Hostname/IPaddress> Content-Length: <DataLength> Connection:Keep-Alive Authorization:<AuthenticationString> <WriteFileData> *1 HTTP/1.1 200 OK Content-Type:text/plain Content-Length: 5 Server: VB OK.
POST /-wvdata-/FileData?path=/usr/set/camera1.jpg
&offset=100000&overwrite=yes HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 413 Request Entity Too Large Content-Type:text/html Content-Length: <DataLength> Connection: close Server: VB ...
18
5.2.1.3 Delete File [FileDelete] Deletes the specified directories and the files in that directory.
5.2.1.3.1 Commands
Syntax: http://<ipaddress>/-wvdata-/FileDelete?path=<value>[& recursive =<yes|no>]
Parameters:
Parameter Value Type/ Value Range
Description
path=<string> Specify the file path [Required] *1
recursive=
<string>
yes
no
Specify whether to recursively delete within the specified path *2
Note:
*1 The path is an absolute path.
If you specify a file or directory for which you do not have access permissions, error
“403 Forbidden” is returned in the HTTP status.
*2 If omitted, it is treated as “no”.
5.2.1.3.2 Responses
A. Successful response
HTTP Code :200 OK
Content-Type :text/plain
MessageBody : OK.
19
B. Error response
HTTP status return value:
HTTP Status Description
400 Bad Request Request is invalid
! Invalid parameter specified
401 Unauthorized User authentication failed
! Executed by a user other than the administrator
403 Forbidden Accessed a directory/file to which access is not permitted
! No access permissions for the specified directory
5.2.1.3.3 Protocol Examples
An example of the protocol is shown below.
■ Normal
■ Error
GET /-wvdata-/FileDelete?path=/usr/set/camera1.jpg HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 200 OK Content-Type:text/plain Content-Length: 5 Server: VB OK.
GET /-wvdata-/FileDelete?path=/var/log/messages HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 403 Forbidden Content-Type:text/html Content-Length: <DataLength> Server: VB ...
20
5.2.2 Accessing External Memory
The WebView data protocol provides the following commands for accessing external memory.
ExFileList : Retrieve file list ExFileData : Retrieve/save file ExFileDelete : Delete file
Prerequisites/requirements:
- You cannot run more than one of these commands at the same time. When requested, the command is not executed and error “503 Service Unavailable” is returned as the HTTP status in the response.
- Each command can only access video files managed by the video management file.
- All these 3 commands are not supported by POST methods.
5.2.2.1 Retrieve Video File List [ExFileList] Retrieves the file information list that corresponds with the specified data type. You can also specify a period for the file information that you want to retrieve.
5.2.2.1.1 Commands
Syntax: http://<ipaddress>/-wvdata-/ExFileList?type=<value> [&date=<dateformat>]
Parameters:
Parameter Value Type/ Value Range
Description Reference to Differences
type=<string> E, T, M, U, O Specify the data type [Required] *1
A.1 Command Parameter
date=<string> <Start date/time>: <End date/time>
Specify the period for retrieving a list using <Start date/time>:<End date/time> *2
_
21
Note:
*1 Specify one of the following data types.
E : Event records (External input, detect volume level, intelligent functions, etc.)
T : Timer records
M : Manual records
U : Upload error records
O : ONVIF
*2 The date is written in “yyyymmddHHMMSS” format. You can omit the start date/time
and/or the end date/time. If you omit both it is treated as no period specified.
You can also omit parts, other than “yyyy”. When omitted, “mm” and “dd” are treated as
“01” and “HH”, “MM”, and “SS” are treated as “00”.
Note:
If the number of retrieved lists exceeds 1,000 at a time, the lists are sent in multipart
format. In addition, the information for the same files may be sent in duplicate.
5.2.2.1.2 Responses
A. Successful response HTTP Code :200 OK
Content-Type :text/plain; charset=utf-8
MessageBody : <FileInfo> <FileInfo> ・・・
<FileInfo>
Note:
File information is comprised of the following:
<File ID><Format><Date/time><Daylight saving>
Return value: File information
Return value Content Description Reference to Differences
<File ID> EXXXXXXXXXX
TXXXXXXXXXX
File identifier *1 A.2 Response
22
Return value Content Description Reference to Differences
MXXXXXXXXXX
UXXXXXXXXXX
OXXXXXXXXXX
<Format> JPEG
H264
File format _
<Date/time> yyyymmddHHMMSS File date/time *2 A.2 Response
<Daylight saving> 0
1
Daylight saving information Note: 0 = Yes, 1 = No
_
Note:
*1 The file identifier is the ID that corresponds with the file name that has the data type in
the prefix.
EXXXXXXXXXX : Event records (External input, volume detection, intelligent functions, etc.)
TXXXXXXXXXX : Timer records
MXXXXXXXXXX : Manual records
UXXXXXXXXXX : Upload error records
OXXXXXXXXXX : ONVIF
*2 The date and time is the image creation time for JPEG and the image creation time at
the beginning of the MOV file for H264.
B. Error response
HTTP status return value:
HTTP Status Description
400 Bad Request Request is invalid
! An invalid parameter was specified
401 Unauthorized User authentication failed
! Executed by a user other than the administrator
500 Internal Server Error Request denied due to an internal processing error
! An error occurred during insertion or removal of the memory card or the recreation process of the video management information
503 Service Unavailable Request denied due to a temporary overload
! More than one external memory access command was executed at the same time
23
5.2.2.1.3 Protocol Examples
An example of the protocol is shown below.
■ Normal
Note:
The example above shows the retrieval of an event records file list.
■ Error
GET /-wvdata-/ExFileList?type=E HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthorizationString> HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Content-Length: <DataLength> Server: VB E0000000001 H264 20140627043442 0 E0000000002 H264 20140627043447 0 E0000000003 H264 20140627043448 0 E0000000004 H264 20140627053349 0 E0000000005 H264 20140627053352 0 E0000000006 H264 20140627053353 0 E0000000007 H264 20140627053353 0 E0000000008 H264 20140627053353 0 E0000000009 H264 20140627053408 0 E0000000010 H264 20140627053412 0 E0000000011 H264 20140627053414 0 E0000000012 JPEG 20140912094939 0
GET /-wvdata-/ExFileList?type=A HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthorizationString> HTTP/1.1 400 Bad Request Content-Type:text/html Content-Length: <DataLength> Server: VB
24
5.2.2.2 Retrieve Video File [ExFileData] Retrieve the video data by specifying the ID retrieved with ExFileList, or specifying the data type or date.
5.2.2.2.1 Commands
Syntax: http://<ipaddress>/-wvdata-/ExFileData?[ID=<value>] [type=<value>[&date=<dateformat>]]
Parameters:
Parameter Value Type/ Value Range
Description Reference to Differences
ID=<string> Specify the file ID retrieved with ExFileList [Required] Note: You need to specify either the ID or the type *1 A.1 Command
Parameter type=<string> E, T, M, U, O Specify the data type [Required]
Note: You need to specify either the ID or the type *2
date=<string> <Start date/time>:
<End date/time>
Specify the period for retrieving a list using <Start date/time>:<End date/time> Note: Can only be specified with specifying the type *3
_
Note:
*1 The first letter of the file ID indicates the data type. For details, see *2.
When specifying multiple data, list the file IDs using a ‘:’ separator.
When specifying at the same time as type, the parameter that is specified first is given
priority.
*2 Specify one of the following data types.
E : Event records (External input, detect volume level, intelligent functions, etc.)
T : Timer records
M : Manual records
U : Upload error records
O : ONVIF
When specified at the same time as ID, the parameter specified first is given priority.
25
*3 The date is written in “yyyymmddHHMMSS” format. You can omit the start date/time
and/or the end date/time. If you omit both it is treated as no period specified.
You can also omit parts, other than “yyyy”. When omitted, “mm” and “dd” are treated as
“01” and “HH”, “MM”, and “SS” are treated as “00”.
5.2.2.2.2 Responses
A. Successful response [When specifying the ID/specifying one ID]
HTTP Code :200 OK
Content-Type :application/octet_stream
MessageBody : <FileData>
Note:
When retrieval is successful, the video file data is output in binary format.
B. Successful response [When specifying the ID/specifying more than one ID]
HTTP Code :200 OK
Content-Type :multipart/x-mixed-replace;boundary=boundary
Connection :close
MessageBody : --boundary Content-Type: application/octet_stream Content-Length: <DataLength> <FileData 1> --boundary Content-Type: application/octet_stream Content-Length: <DataLength> <FileData 2> --boundary
・・・ --boundary Content-Type: application/octet_stream Content-Length: <DataLength> <FileData Last> --boundary
26
C. Successful response [When the type is specified]
HTTP Code :200 OK
Content-Type :multipart/x-mixed-replace;boundary=boundary
Connection :close
MessageBody : --boundary Content-Type: application/octet_stream Content-Length: <DataLength> <FileData 1> --boundary Content-Type: application/octet_stream Content-Length: <DataLength> <FileData 2> --boundary
・・・ --boundary Content-Type: application/octet_stream Content-Length: <DataLength> <FileData Last> --boundary
D. Error response
HTTP status return value:
HTTP Status Description
400 Bad Request Request is invalid
! An invalid parameter was specified
401 Unauthorized User authentication failed
! Executed by a user other than the administrator
404 Not Found The specified file does not exist
! The specified file does not exist
500 Internal Server Error Request denied due to an internal processing error
! An error occurred during insertion or removal of the memory card or the recreation process of the video management information
503 Service Unavailable Request denied due to a temporary overload
! More than one external memory access command was executed at the same time
27
5.2.2.2.3 Protocol Examples
An example of the protocol is shown below. ■ Normal (Retrieving files by specifying the ID)
■ Normal (Retrieving files by specifying the type)
GET /-wvdata-/ExFileData?ID=E0000000001 HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 200 OK Content-Type: application/octet_stream Content-Length: <DataLength> Server:VB <FileData>
GET /-wvdata-/ExFileData?type=E&date=20130601:20130901 HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 200 OK Content-Type: multipart/x-mixed-replace;boundary=boundary Connection: close Server: VB --boundary Content-Type: application/octet_stream Content-Length: <DataLength> <FileData 1> --boundary Content-Type: application/octet_stream Content-Length: <DataLength> <FileData 2> --boundary
・・・ --boundary Content-Type: application/octet_stream Content-Length: <DataLength> <FileData Last> --boundary
28
■ Error (File retrieval error when specifying the ID)
■ Error (File retrieval error when specifying the type)
GET /-wvdata-/ExFileData?ID=E0000000100 HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 404 Not Found Content-Length: 0 Server: VB
GET /-wvdata-/ExFileData?type=E&date=20130401:20130531 HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 404 Not Found Content-Length: 0 Server: VB
29
5.2.2.3 Delete Video File [ExFileDelete] Delete the video data by specifying the ID retrieved with ExFileList or specifying the data type or date.
5.2.2.3.1 Commands
Syntax: http://<ipaddress>/-wvdata-/ExFileDelete?[ID=<value>] [type=<value>[&date=<dateformat>]]
Parameters:
Parameter Value Type/ Value Range
Description Reference to Differences
ID=<string> Specify the file ID retrieved with ExFileList [Required] Note: You need to specify either the ID or type *1 A.1 Command
Parameter type=<string> E, T, M, U, O Specify the data type [Required]
Note: You need to specify either the ID or type *2
date=<string> <Start date/time>:
<End date/time>
Specify the period for retrieving a list using <Start date/time>:<End date/time> Note: You can only specify this when specifying the type *3
_
Note:
*1 The first letter of the file ID indicates the data type. For details, see *2.
When specifying multiple data, list the file IDs using a ‘ : ’ separator.
When specifying at the same time as type, the parameter that is specified first is given
priority.
*2 Specify one of the following data types.
E : Event records (External input, detect volume level, intelligent functions, etc.)
T : Timer records
M : Manual records
U : Upload error records
O : ONVIF
When specified at the same time as ID, the parameter specified first is given priority.
30
*3 The date is written in “yyyymmddHHMMSS” format. You can omit the start date/time
and/or the end date/time. If you omit both it is treated as no period specified.
You can also omit parts, other than “yyyy”. When omitted, “mm” and “dd” are treated as
“01” and “HH”, “MM”, and “SS” are treated as “00”.
5.2.2.3.2 Responses
A. Successful response
HTTP Code :200 OK
Content-Length :0
MessageBody :
Note:
The return value will be only the HTTP response. Nothing is output to MessageBody.
B. Error response
HTTP status return value:
HTTP Status Description
400 Bad Request Request is invalid
! An invalid parameter was specified
401 Unauthorized User authentication failed
! Executed by a user other than the administrator
500 Internal Server Error Request denied due to an internal processing error
! An error occurred during insertion or removal of the memory card or the recreation process of the video management information
503 Service Unavailable Request denied due to a temporary overload
! More than one external memory access command was executed at the same time
31
5.2.2.3.3 Protocol Examples
An example of the protocol is shown below. ■ Normal (Deleting files by specifying the ID)
■ Normal (Deleting files by specifying the type)
■ Error
*The error details are the same for both the ID specification and the type specification.
GET /-wvdata-/ExFileDelete?ID=E0000000001 HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 200 OK Content-Length: 0 Server:VB
GET /-wvdata-/ExFileDelete?date=20130601:20130901 HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 400 Bad Request Content-Type:text/html Content-Length: <DataLength> Server: VB
GET/-wvdata-/ExFileDelete? type=M&date=20130627044612:20130627062003 HTTP/1.1 Host:<Hostname/IPaddress> Connection:Keep-Alive Authorization:<AuthenticationString> HTTP/1.1 200 OK Content-Length: 0 Server:VB
32
5.3 Relationship with the WebView Settings Protocol
The setting items in the WebView settings protocol that are associated with use of each command in the WebView data protocol are shown below.
■ Administrator settings
User authentication by the administrator is required to use the WebView data protocol. The user information for administrators is managed by the following items.
WebView settings protocol: System Information
Parameter Initial Value Description
aa00 root Name of administrator user
See “Network Camera Server WebView Settings Protocol Specifications, 5.4.1 System Information ”.
■ HTTP authentication settings
Administrators in the WebView data protocol need HTTP Basic authentication or Digest authentication. Settings information for authentication is managed by the following items.
WebView settings protocol: HTTP server
Parameter Initial Value Description
ia06 Digest Authentication HTTP authentication methods
See “Network Camera Server WebView Settings Protocol Specifications, 5.4.9 Servers ”.
33
5.4 Relationship to WebView Memory Card Protocol
The relationship between the WebView memory card protocol and the WebView data protocol is the control of external memory (memory cards). When reading and writing files with ExFileList, ExFileData, and ExFileDelete, the WebView data protocol accesses external memory. If the WebView memory card protocol accesses the external memory at the same time, an exclusion may occur due to conflicting requests.
34
Appendix
A List of Differences by Function or Series The differences between network camera models are shown below by function and series. For each series, the difference specifications for ‘5.2 Command Specifications ’ are shown for each command type. Unsupported items are shaded, and areas that are different to ‘5.2 Command Specifications ’ are shown in bold and underlined. VB-S30D/VB-S31D/VB-S800D/VB-S900F VB-S805D/VB-S905F VB-H43/VB-H630VE/VB-H630D/VB-H730F VB-M42/VB-M620VE/VB-M620D/VB-M720F VB-R11VE/VB-R11/VB-M641VE/VB-M641V/VB-M741LE VB-R10VE/VB-M640VE/VB-M640V/VB-M740E
35
A.1 Command Parameter Model differences in the command parameter are shown by series.
A.1.1. [VB-S30D/VB-S31D/VB-S800D/VB-S900F] The difference specifications for models in this series are shown below.
■ Retrieve Video File List [ExFileList]
Parameters:
Parameters VB-S30D/S31D/S800D/S900F
Value Type / Value Range
type=<string> E, T, M, U
See ‘5.2.2.1 Retrieve Video File List [ExFileList] ’.
■ Retrieve Video File [ExFileData]
Parameters:
Parameters VB-S30D/S31D/S800D/S900F
Value Type / Value Range
ID=<string> EXX_XXX, TXX_XXX, MXX_XXX, UXX_XXX
type=<string> E, T, M, U
See ‘5.2.2.2 Retrieve Video File [ExFileData] ’.
■ Delete Video File [ExFileDelete]
Parameters:
Parameters VB-S30D/S31D/S800D/S900F
Value Type / Value Range
ID=<string> EXX_XXX, TXX_XXX, MXX_XXX, UXX_XXX
type=<string> E, T, M, U
See ‘5.2.2.3 Delete Video File [ExFileDelete] ’.
36
A.1.2. [VB-S805D/VB-S905F] The difference specifications for models in this series are shown below.
■ Retrieve Video File List [ExFileList]
Parameters:
Parameters VB-S805D/S905F
Value Type / Value Range
type=<string> E, T, M, U
See ‘5.2.2.1 Retrieve Video File List [ExFileList] ’.
■ Retrieve Video File [ExFileData]
Parameters:
Parameters VB-S805D/S905F
Value Type / Value Range
ID=<string> EXX_XXX, TXX_XXX, MXX_XXX, UXX_XXX
type=<string> E, T, M, U
See ‘5.2.2.2 Retrieve Video File [ExFileData] ’.
■ Delete Video File [ExFileDelete]
Parameters:
Parameters VB-S805D/S905F
Value Type / Value Range
ID=<string> EXX_XXX, TXX_XXX, MXX_XXX, UXX_XXX
type=<string> E, T, M, U
See ‘5.2.2.3 Delete Video File [ExFileDelete] ’.
37
A.1.3. [VB-H43/VB-H630VE/VB-H630D/VB-H730F] The difference specifications for models in this series are shown below.
■ Retrieve Video File List [ExFileList]
Parameters:
Parameters VB-H43/H630VE/H630D/H730F
Value Type / Value Range
type=<string> E, T, M, U
See ‘5.2.2.1 Retrieve Video File List [ExFileList] ’.
■ Retrieve Video File [ExFileData]
Parameters:
Parameters VB-H43/H630VE/H630D/H730F
Value Type / Value Range
ID=<string> EXX_XXX, TXX_XXX, MXX_XXX, UXX_XXX
type=<string> E, T, M, U
See ‘5.2.2.2 Retrieve Video File [ExFileData] ’.
■ Delete Video File [ExFileDelete]
Parameters:
Parameters VB-H43/H630VE/H630D/H730F
Value Type / Value Range
ID=<string> EXX_XXX, TXX_XXX, MXX_XXX, UXX_XXX
type=<string> E, T, M, U
See ‘5.2.2.3 Delete Video File [ExFileDelete] ’.
38
A.1.4. [VB-M42/VB-M620VE/VB-M620D/VB-M720F] The difference specifications for models in this series are shown below.
■ Retrieve Video File List [ExFileList]
Parameters:
Parameters VB-M42/M620VE/M620D/M720F
Value Type / Value Range
type=<string> E, T, M, U
See ‘5.2.2.1 Retrieve Video File List [ExFileList] ’.
■ Retrieve Video File [ExFileData]
Parameters:
Parameters VB-M42/M620VE/M620D/M720F
Value Type / Value Range
ID=<string> EXX_XXX, TXX_XXX, MXX_XXX, UXX_XXX
type=<string> E, T, M, U
See ‘5.2.2.2 Retrieve Video File [ExFileData] ’.
■ Delete Video File [ExFileDelete]
Parameters:
Parameters VB-M42/M620VE/M620D/M720F
Value Type / Value Range
ID=<string> EXX_XXX, TXX_XXX, MXX_XXX, UXX_XXX
type=<string> E, T, M, U
See ‘5.2.2.3 Delete Video File [ExFileDelete] ’.
39
A.1.5. [VB-R11VE/VB-R11/VB-M641VE/VB-M641V/VB-M741LE]
There are no differences in the command parameter between this series and ‘5.2 Command Specifications ’.
A.1.6. [VB-R10VE/VB-M640VE/VB-M640V/VB-M740E] There are no differences in the command parameter between this series and ‘5.2 Command Specifications ’.
40
A.2 Response Model differences in the response are shown by series.
A.2.1. [VB-S30D/VB-S31D/VB-S800D/VB-S900F] The difference specifications for models in this series are shown below.
■ Retrieve Video File List [ExFileList]
Return value:
Return Value VB-S30D/S31D/S800D/S900F
Content
<File ID> EXX_XXX TXX_XXX MXX_XXX UXX_XXX
<Date/time> yyyymmddHHMMSS *1
See ‘5.2.2.1 Retrieve Video File List [ExFileList] ’.
Note:
*1 For the date and time, there is no difference in the date format, but there is a difference
in the meaning of the date and time. For the models in this series, the date and time are
defined as follows according to the data type.
Event records : Date and time that an event occurred
Timer records : Date and time that an event occurred
Manual records : Start date and time of a manual recording
Upload error records : Date and time that an event occurred
Response example:
HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Content-Length: <DataLength> Server: VB E00_000 H264 20130627043442 0 E00_001 H264 20130627043447 0 E00_002 H264 20130627043448 0 E00_003 H264 20130627053349 0 E00_004 H264 20130627053352 0 E00_005 H264 20130627053353 0
41
A.2.2. [VB-S805D/VB-S905F] The difference specifications for models in this series are shown below.
■ Retrieve Video File List [ExFileList]
Return value:
Return Value VB-S805D/S905F
Content
<File ID> EXX_XXX TXX_XXX MXX_XXX UXX_XXX
<Date/time> yyyymmddHHMMSS *1
See ‘5.2.2.1 Retrieve Video File List [ExFileList] ’.
Note:
*1 For the date and time, there is no difference in the date format, but there is a difference
in the meaning of the date and time. For the models in this series, the date and time are
defined as follows according to the data type.
Event records : Date and time that an event occurred
Timer records : Date and time that an event occurred
Manual records : Start date and time of a manual recording
Upload error records : Date and time that an event occurred
Response example:
HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Content-Length: <DataLength> Server: VB E00_000 H264 20130627043442 0 E00_001 H264 20130627043447 0 E00_002 H264 20130627043448 0 E00_003 H264 20130627053349 0 E00_004 H264 20130627053352 0 E00_005 H264 20130627053353 0
42
A.2.3. [VB-H43/VB-H630VE/VB-H630D/VB-H730F] The difference specifications for models in this series are shown below.
■ Retrieve Video File List [ExFileList]
Return value:
Return Value VB-H43/H630VE/H630D/H730F
Content
<File ID> EXX_XXX TXX_XXX MXX_XXX UXX_XXX
<Date/time> yyyymmddHHMMSS *1
See ‘5.2.2.1 Retrieve Video File List [ExFileList] ’.
Note:
*1 For the date and time, there is no difference in the date format, but there is a difference
in the meaning of the date and time. For the models in this series, the date and time are
defined as follows according to the data type.
Event records : Date and time that an event occurred
Timer records : Date and time that an event occurred
Manual records : Start date and time of a manual recording
Upload error records : Date and time that an event occurred
Response example:
HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Content-Length: <DataLength> Server: VB E00_000 H264 20130627043442 0 E00_001 H264 20130627043447 0 E00_002 H264 20130627043448 0 E00_003 H264 20130627053349 0 E00_004 H264 20130627053352 0 E00_005 H264 20130627053353 0
43
A.2.4. [VB-M42/VB-M620VE/VB-M620D/VB-M720F] The difference specifications for models in this series are shown below.
■ Retrieve Video File List [ExFileList]
Return value:
Return Value VB-M42/M620VE/M620D/M720F
Content
<File ID> EXX_XXX TXX_XXX MXX_XXX UXX_XXX
<Date/time> yyyymmddHHMMSS *1
See ‘5.2.2.1 Retrieve Video File List [ExFileList] ’.
Note:
*1 For the date and time, there is no difference in the date format, but there is a difference
in the meaning of the date and time. For the models in this series, the date and time are
defined as follows according to the data type.
Event records : Date and time that an event occurred
Timer records : Date and time that an event occurred
Manual records : Start date and time of a manual recording
Upload error records : Date and time that an event occurred
Response example:
HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Content-Length: <DataLength> Server: VB E00_000 H264 20130627043442 0 E00_001 H264 20130627043447 0 E00_002 H264 20130627043448 0 E00_003 H264 20130627053349 0 E00_004 H264 20130627053352 0 E00_005 H264 20130627053353 0
44
A.2.5. [VB-R11VE/VB-R11/VB-M641VE/VB-M641V/VB-M741LE] There are no differences in the response between this series and ‘5.2 Command Specifications ’.
A.2.6. [VB-R10VE/VB-M640VE/VB-M640V/VB-M740E] There are no differences in the response between this series and ‘5.2 Command Specifications ’.
(End)