Canon XC Control Protocol Specifications.1
Canon XC Control Protocol Specifications.1
BPE-7211-000
March 9, 2021
CANON INC.
Revision History
Revision Release Date Location Changes
000 March 9, 2021 - First edition
Table of Contents
1 Introduction ...................................................................................................................................1
1.1 Use of this Document............................................................................................................1
1.1.1 Precautions for Session/Control Privileges and Related Items .....................................1
1.2 Disclaimer .............................................................................................................................2
1.3 Notation ................................................................................................................................3
2 Protocol Overview ........................................................................................................................4
3 XC Control Protocol Specifications ..............................................................................................5
3.1 Interface Specifications .........................................................................................................5
3.1.1 Request..........................................................................................................................6
3.1.1.1 HTTP Request Header ..............................................................................................6
3.1.2 Response .......................................................................................................................7
3.1.2.1 HTTP Status ..............................................................................................................7
3.1.2.2 Livescope Status .......................................................................................................8
3.1.3 Protocol Configuration................................................................................................10
3.1.3.1 Command List .........................................................................................................10
3.1.3.2 Protocol Syntax ....................................................................................................... 11
3.1.4 Sessions and Access Privileges ...................................................................................13
3.1.4.1 Client and Session Management .............................................................................13
3.1.4.2 User Type of User Access Control Function ...........................................................13
3.1.4.3 Privilege Settings and Session Priority ...................................................................14
3.1.4.4 Creating a Session and Applied Restrictions ..........................................................15
3.1.4.5 User Types and Creatable Session Types ................................................................16
3.1.4.6 Closing a Session ....................................................................................................16
3.1.4.7 Limits on the Number of Clients.............................................................................16
3.1.4.8 Session-based Access Privileges by Function .........................................................18
3.1.4.9 Sessionless Access Privileges by Function .............................................................19
3.2 Command Specifications ....................................................................................................20
3.2.1 Session Control ...........................................................................................................24
3.2.1.1 Creating a Session [open.cgi] (Optional) ................................................................24
3.2.1.1.1 Commands ........................................................................................................24
3.2.1.1.2 Response ...........................................................................................................26
3.2.1.2 Closing a Session [close.cgi] (Optional) .................................................................31
3.2.1.2.1 Commands ........................................................................................................31
3.2.1.2.2 Response ...........................................................................................................31
3.2.1.3 Camera Control Privilege Request [claim.cgi] (Optional) ......................................33
3.2.1.3.1 Commands ........................................................................................................38
3.2.1.3.2 Response ...........................................................................................................38
3.2.1.4 Releasing Camera Control Privileges [yield.cgi] (Optional) ..................................41
3.2.1.4.1 Commands ........................................................................................................41
3.2.1.4.2 Response ...........................................................................................................41
3.2.1.5 Changing Session Attributes [session.cgi] (Optional).............................................43
3.2.1.5.1 Commands ........................................................................................................43
3.2.1.5.2 Response ...........................................................................................................45
3.2.2 Information Acquisition ..............................................................................................48
3.2.2.1 Information Acquisition [info.cgi] (Mandatory) .....................................................48
3.2.2.1.1 Commands ........................................................................................................55
3.2.2.1.2 Response ...........................................................................................................56
3.2.2.1.3 Acquired Parameters .........................................................................................64
3.2.3 Camera Control ...........................................................................................................65
3.2.3.1 Camera Control [control.cgi] (Mandatory) .............................................................65
3.2.3.1.1 Commands ........................................................................................................67
3.2.3.1.2 Response ...........................................................................................................68
3.2.3.1.3 Control Parameters ............................................................................................69
3.2.4 Video Retrieval ...........................................................................................................70
3.2.4.1 Still Image Retrieval [image.cgi] (Optional)...........................................................70
3.2.4.1.1 Commands ........................................................................................................71
3.2.4.1.2 Response ...........................................................................................................72
3.2.4.2 Video Stream Retrieval [video.cgi] (Optional) .......................................................73
3.2.4.2.1 Commands ........................................................................................................74
3.2.4.2.2 Response ...........................................................................................................75
3.2.5 Metadata Acquisition ..................................................................................................77
3.2.5.1 Metadata Acquisition [meta.cgi] (Optional)............................................................77
3.2.5.1.1 Commands ........................................................................................................77
3.2.5.1.2 Response ...........................................................................................................78
3.2.6 Preset/Trace .................................................................................................................81
3.2.6.1 Saving Preset [preset/set] (Optional) ......................................................................81
3.2.6.1.1 Commands ........................................................................................................81
3.2.6.1.2 Response ...........................................................................................................84
3.2.6.2 Recording Traces [trace/set] (Optional) ..................................................................85
3.2.6.2.1 Commands ........................................................................................................85
3.2.6.2.2 Response ...........................................................................................................87
3.2.6.3 Trace Playback [trace/control] (Optional)...............................................................88
3.2.6.3.1 Commands ........................................................................................................89
3.2.6.3.2 Response ...........................................................................................................89
3.2.7 Standby .......................................................................................................................91
3.2.7.1 Standby Transition/Restoration [standby.cgi] (Optional) ........................................91
3.2.7.1.1 Commands ........................................................................................................92
3.2.7.1.2 Response ...........................................................................................................92
Model Specific Information ................................................................................................................94
A CR-N500-dependent Information ...........................................................................................94
A.1 Command Specifications ................................................................................................94
A.2 Parameter Specifications of info.cgi/control.cgi .............................................................94
A.3 H.264/H.265 Image Parameter Specifications ................................................................95
APPENDIX.........................................................................................................................................97
i Fragmented MP4.....................................................................................................................97
ii Camera Search ........................................................................................................................99
iii Parameter List of info.cgi and control.cgi........................................................................... 1000
1 Introduction
This document specifies the XC control protocol, which is one of the Canon Remote Camera
XC protocols.
With the XC control protocol, you can acquire information from the Canon remote camera and
perform controlling with respect to the remote camera.
Note:
*1 No information acquisition or camera control can be performed when the user right restriction is set on
1
1.2 Disclaimer
- This document is provided as is without any warranty of any kind. CANON has no
responsibility or liability for any maintenance or support related to this document. The
contents of the document may be changed without prior notice in the future.
- CANON will not bear any responsibility in the event of direct or indirect trouble caused by
using the information in this document.
- CANON will not bear any responsibility for the programs created by using the information
in this document.
2
1.3 Notation
The following notation and text formatting are used in this document.
3
2 Protocol Overview
The XC control protocol provides camera control with respect to the remote camera and
information acquisition from the remote camera. The XC control protocol is provided as an
HTTP service of the remote camera.
Canon
Client Client remote
- User application - User application camera
- Web browser - Web browser
- Device - Device HTTP server
- XC control protocol
WAN
Model specific protocol
- Settings protocol
Internet
Router / Firewall
HTTP request
LAN HTTP response
4
3 XC Control Protocol Specifications
3.1 Interface Specifications
The interface specifications of the XC control protocol are described in the following order.
5
3.1.1 Request
In the XC control protocol, XC control commands are used to perform camera control. The XC
control command is received by the HTTP server of the remote camera as an HTTP request.
Syntax:
Authorization
Connection
Content-Length
If-Modified-Since *1
Note:
*1 If-Modified-Since is referenced with a get still image command.
6
3.1.2 Response
Under the XC control protocol, image data and camera status information are sent from the
HTTP server of the remote camera as an HTTP response.
Response:
HTTP/1.1 200 OK
Date: <Time stamp>
Server: vb
accept-ranges: none
cache-control: no-cache
pragma: no-cache
x-frame-options: sameorigin
expires: thu, 01 dec 1970 00:00:00 gmt
x-content-type-options: nosniff
x-xss-protection: 1; mode-block
Connection: keep-alive
livescope-status: 0
Content-Length: <Message body length>
content-type: <Message body mime-type>
<Blank line>
<Message body>
7
3.1.2.2 Livescope Status
Livescope status is an independent extension field that indicates the execution result of the XC
control command. If the Livescope status indicates an abnormality, "200 OK" is returned as
the HTTP status. The return values and meanings are described below.
0 Processed normally.
301 No Camera Control Right Request denied due to no issuing of the control privilege
request.
302 Camera is not available Camera specified with <Camera> parameter does not
exist.
8
Livescope Status Description
510 Switching Standby Access limited during transition from normal state to
standby state.
511 Switching Idle Access limited during restoration from standby state to
normal state.
9
3.1.3 Protocol Configuration
3.1.3.1 Command List
The following are the functions provided by the XC control protocol and the corresponding
commands.
- Not all the commands are supported by each model of the remote cameras.
- Commands with “Mandatory” in the Support requirement column are always supported
(info.cgi and control.cgi only).
- Commands with “Optional” in the Support requirement column are supported by some
models.
- The support information of the optional commands of each models is described in “Model
Specific Information”.
- Regarding mandatory requirements info.cgi and control.cgi, the supported parameters
vary depending on the model.
Note:
*1 To get or release the control privilege with claim.cgi or yield.cgi, a session must be started.
10
*2 With remote cameras, all the information acquisition and the camera control are basically possible
regardless of the presence of a session and control privileges. Therefore, these commands are not
mandatory requirements.
Note:
*1 Most parameters can be abbreviated under the XC control protocol. Parameters that cannot be
*2 If a parameter is specified multiple times, only the last specified parameter is used unless it is a
11
Example:
http://192.168.100.1/-wvhttp-01-/image.cgi?pan=1000&tilt=1000
Note:
The XC control protocol does not support pipelining even when conforming with HTTP/1.1.
12
3.1.4 Sessions and Access Privileges
3.1.4.1 Client and Session Management
The XC control protocol can be used in two ways: session-based, in which a session is created
and a series of command operations are performed; and sessionless, in which a command
operation is performed per each request and response.
The following types of clients are available when using the XC control protocol session-based
and sessionless.
■ Session-based
□ Normal session
In a normal session, the session ID is specified and a series of command operations are
performed.
□ Video-less session
In a video-less session, a session is created without using the video transmission function
and without selecting a video stream. Other functions are the same as during a normal
session.
■ Sessionless
□ Event stream - client
An event stream - client is a client that makes a request to get an information item
(info.cgi), in which the stream method is selected, without creating a session.
□ Video stream - client
A video stream - client is a client that gets a video stream (video.cgi) without creating a
session.
□ Sessionless camera control
Sessionless camera control is a client that performs camera control (control.cgi)
without creating a session.
Guest user: Does not require authentication and is not registered to the user list.
Authorized user: Requires user authentication and is registered to the user list.
Administrator: Requires authentication as an administrator.
13
The user access control function manages and controls the remote camera operation privileges
for each of these three types of user. The administrator can configure and change the control
privileges for guest and authorized users.
Table 3-4 Relationship between User Type, Granted Privileges, and Configurable Privilege Type
Guest user According to video transmission and Video transmission and camera
camera control privilege settings for control not available
guest users Video transmission only available
Use commands permitted for guest users Video transmission and general
camera control available
Authorized user According to video transmission and Video transmission and camera
camera control privilege settings for control not available
authorized users Video transmission only available
Use commands permitted for authorized Video transmission and general
users camera control available
Video transmission and privileged
camera control available
Administrator No restrictions on video transmission or
camera control due to privilege settings
Use commands that can only be operated * No restrictions due to privilege
with administrator authorities settings
Use exclusive commands as an
administrator
Note:
For details on obtaining and forfeiting camera control privileges, see ‘3.2.1.3 Camera Control
Privilege Request [claim.cgi] (Optional)’.
14
3.1.4.4 Creating a Session and Applied Restrictions
A XC control protocol session is created with a session creation request (open.cgi). The type
of session (general, privileged, or administrator) is determined by the “priority” parameter
specified when the session is created.
15
3.1.4.5 User Types and Creatable Session Types
In a XC control protocol session, the session types that can be created are limited according to
the user type.
Table 3-6 Relationship between User Types and Creatable Session Types
A XC control protocol session can be closed with a session close request (close.cgi), and the
connection held by the sessionless client ceases to exist when the HTTP connection is
disconnected.
In addition to this external connection close operation based on a client request, the connection
can be closed on the remote camera side as below.
- When the connection time limit is exceeded
- When there is no request granting a session ID within the prescribed time after a session is
created
■ Session-based
□ Normal session
Number of simultaneous normal session connections is limited by the model specific
“Maximum number of clients”.
16
Note:
That an administrator session is not included in normal sessions.
□ Video-less session
The number of simultaneous connections during a video-less session is different from
that of a normal session and is limited as the number of connections of a video-less
session.
It is managed as the total of the number of video-less session connections, sessionless
event stream client connections, and sessionless video stream connections.
■ Sessionless
□ Event stream - client
The number of simultaneous sessionless event stream client connections is managed
as the total of the number of video-less session connections, sessionless event stream
client connections, and sessionless video stream connections.
Note: Note that the execution of a request to get a single information item
(info.cgi) with the stream method not specified does not include the
number of connections.
17
3.1.4.8 Session-based Access Privileges by Function
The following are the XC control protocol commands that can be operated according to the
privileges configured for a session-based user.
Camera
Session Control Video Information
Control
open claim image info control
User Type Set Privileges video
close yield meta preset
session trace
standby
Guest : Video transmission General
user
: Camera control (Limited)*1
: Video transmission General
: Camera control (Limited)*1 (Limited)*3
: Video transmission
General General General
: Camera control
(Limited)*1 (Limited)*2 (Limited)*3 *4
General
Authorize : Video transmission General
d user
: Camera control (Limited)*1
: Video transmission General
: Camera control (Limited)*1 (Limited)*3
: Video transmission General General General
: Camera control
(Limited)*1 (Limited)*2 (Limited)*3 *4
General
: Video transmission Privileged Privileged
Privileged
: Camera control (Unlimited)* (Unlimited)* (Unlimited)*
Privileged 3 *4
1 2
Adminis- General General General
trator
(Limited)*1 (Limited)*2 (Limited)*3 *4
* No restrictions due Privileged/ Privileged/
to privilege settings Privileged
Admin Admin
(Unlimited)* /Admin
(Unlimited)* (Unlimited)* 3 *4
1 2
Legend:
: Available; : Unavailable (no privilege); –: Unavailable (session required)
General: camera control; Privileged: privileged camera control; Admin: administrator authorities
Note:
*1 This refers to the session connection time, and “(Limited)” is limited by the model specific
*2 This refers to the camera control time, and “(Limited)” is limited by the model specific “Camera
control time”.
*3 In cases of “(Limited)”, the video transmission time is limited by the session connection time.
*4 Functions permitted only in a privileged or administrator session, and functions permitted only in an
18
3.1.4.9 Sessionless Access Privileges by Function
The following are the XC control protocol commands that can be operated according to the
privileges configured for a sessionless user.
Camera
Session Control Video Information
Control
open claim image info control
User Type Set Privileges
close yield video meta preset
session trace
standby
: Video transmission
– –
: Camera control
: Video transmission
– – (Unlimited)
Guest user : Camera control
*1
: Video transmission General
– – (Unlimited)
: Camera control General *2
*1
: Video transmission
– –
: Camera control
: Video transmission
– – (Unlimited)
: Camera control
*1
Authorized user : Video transmission
General
– – (Unlimited)
: Camera control General *2
*1
: Video transmission
Privileged
: Camera control – – (Unlimited)
Privileged *3
*1
* No restrictions due to Privileged
Administrator – – (Unlimited)
privilege settings *3
*1
Legend:
: Available; : Unavailable (no privilege); –: Unavailable (session required)
General: camera control; Privileged: privileged camera control; Admin: administrator authorities
Note:
*1 In sessionless cases, the video transmission time is not limited by the session connection time, so this
is “(Unlimited)”. (*However, the video attribute has a restriction on sharing among sessionless
clients.)
*2 In sessionless cases, camera control privileges are acquired and operated in the priority specified by
commands. Even for users with privileged camera control, the usable functions are limited to the
range of general camera control when the priority specified to Commands is a general value instead
of a session.
*3 In sessionless cases, the usable functions are limited to the range of privileged camera control.
19
3.2 Command Specifications
This describes the XC control protocol command specifications.
The following is the notation used in this document.
Note:
Items that can be executed in a privileged session or higher are listed as “privileged”, and
items that can be executed only in an administrator session are listed as “admin” in the
attribute value column.
20
Table 3-10 Subscript Abbreviations of Array Information Items
Note:
Although there are subscripts for selecting information items also for the camera, the number
of cameras is fixed at 1, so the abbreviation of <Camera> is not listed.
Descriptions of information items hereafter are listed as shown below.
e.g. c.1.status:=<string> Camera controllable status
Character string [ASCII] <string> ASCII character string. Also includes multiple element joint
type. *1
Character string [UTF-8] <unicode> Indicates a UTF-8 encoded multibyte character string
type.
Signed integer <int> Indicates a signed decimal integer type.
Fixed point number <fixed> Indicates a signed decimal fixed point number type.
Note:
*1 “Multiple element joint type” is a character string with multiple elements joined with a delimiter as in
"<IP address>:<port>".
e.g. "192.168.100.1:80"
21
e.g. When the models within the value range exist
Specifications of model A
Parameter Value Type/Range Attribute Description
Specifications of model B
Parameter Value Type/Range Attribute Description
e.g. When the models within the value range do not exist
Specifications of model A
Parameter Value Type/Range Attribute Description
Specifications of model B
Parameter Value Type/Range Attribute Description
22
Notation - Model Specific Information:
If the specifications for each product differ from those listed in this chapter, the differences are
listed in ‘Model Specific Information’.
If model names are written in the column “Model Specific information”, the function of the
models are expanded or added, or the functions are limited.
23
3.2.1 Session Control
In the XC control protocol, obtaining camera control privileges or obtaining video stream is
managed for each session individually created. With remote cameras, creating sessions are not
mandatory because full access to all the camera control and information acquisition is possible.
However, it is necessary to create a session to use all functions of the XC control protocol
because, for example, in session-based information acquisition, it is possible to use the function
to receive event notification when a difference occurs during a continuous connection.
When a session is created successfully, the session ID, user privilege, remaining time, priority,
and selected video stream information (only when specified) are returned as a response.
3.2.1.1.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-
/open.cgi?[s.priority=<Value>][&v=<Value>][&w=<Value>][&w.<Vid
eo>.frate=<Value>]
24
Preconditions and precautions:
- The session lifetime varies depending on the priority, but privileged and administrator
sessions are unlimited. Guest users are limited by the model specific “Maximum connection
time”.
However, if after a session is created, there is no request (video.cgi, image.cgi,
info.cgi, control.cgi, etc.) granting a session ID within the prescribed time (60
seconds), that session is cleared regardless of the privileges.
- It is limited by the model specific “Maximum number of clients”. If the maximum number
of connections is exceeded, the session is not created, and 503 is returned as the Livescope
status response.
- The administrator session has no restrictions on the connection time or number of
connections. However, if a separate administrator session has already been established, the
connection is denied, and 408 is returned as the Livescope status response.
- For video parameter specification (v), if there is no stream that conforms to the specified
video size, a stream with a video size that is close to the specified value and is one size
lower is selected.
- If both the video parameter specification (v) and video stream number specification (w)
are specified when selecting a video stream, the video parameter specification (v) has
priority.
- A session with no video stream (“video-less”) can also be created. However, a video stream
must be specified for an administrator session.
Parameters:
25
Note:
*1 The value ranges have the following meanings.
0: General session
*Do not specify <video width>, <video height>, and <frame rate> for H.264 data.
e.g. "h264"
3.2.1.1.2 Response
The response content for open.cgi varies depending on whether the video parameter
specification (v) or video stream number specification (w) was specified. The following shows
the response content and status value returned when an error occurs.
s:=8a96-c09b18f0
s.authority.audio:= disabled
s.authority.control:= enabled
s.authority.video:=enabled
s.origin:=192.168.100.1:80
s.duration:=0
s.priority:=0
v:=jpg:1920x1080:3:30000
26
Return value: (*The specified parameter determines whether “==” or “:=” is returned as the return value.)
s Session ID
:=<string>
s.authority.audio disabled, enabled Audio device privilege
:=<string>
s.authority.control disabled, enabled Camera control privilege
:=<string>
s.authority.video disabled, enabled Video distribution privilege
:=<string>
s.origin <IP address>:<port> Camera IP address and HTTP port number *1
:=<string>
s.duration 0…<Maximum Remaining session connection time *2
:=<int> connection time> Unit: Second
0: Unlimited
s.priority 0…50 Session priority
:=<int>
v <video parameter> Video parameter of selected stream *3
:=<string> Not returned if video-less (v=null) is specified.
v.<Video>.cbr 64…16384 Selected video stream target bit rate
==<int> Unit: kbps *4
Note:
*1 The client protocol type determines whether to use IPv4 or IPv6 notation.
If multiple addresses are defined, the manually configured ones have priority for return, and those not
configured manually are returned in the order obtained, starting with the first address.
IPv6 [<IPv6 Address>]:<port> e.g. "[3FFE:2A00:100:7031::1]:80"
*2 The maximum value of the remaining session connection time is the model specific “Maximum
connection time”.
*3 The video stream parameters are returned for <video parameter> with the format shown below.
<jpg or h264>:<video width>x<video height>:<video quality>:<frame rate>
27
B. Successful response [video stream number specification (w)]
<Parameter>:=<Value>
<Parameter>==<Value>
s:=8a96-c09b18f0
s.authority.audio:= disabled
s.authority.control:= enabled
s.authority.video:=enabled
s.origin:=192.168.100.1:80
s.duration:=0
s.priority:=0
w:=1
w.1.type==h264
w.1.size==480x270
w.1.quality==0
w.1.frate==1000
w.1.crop==off
Return value: (*The specified parameter determines whether “==” or “:=” is returned as the return value.)
s Session ID
:=<string>
s.authority.audio disabled, enabled Audio device privilege
:=<string>
s.authority.control disabled, enabled Camera control privilege
:=<string>
s.authority.video disabled, enabled Video distribution privilege
:=<string>
s.origin <IP address>:<port> Camera IP address and HTTP port number
:=<string>
s.duration 0… Remaining session connection time
:=<int> Unit: Second
0: Unlimited
s.priority 0…50 Session priority
:=<int>
w 1…6 Selected video stream number *1
:=<int>
28
Return value Value Type/Range Description
Note:
*1 The video stream number is a subscript indicating the video stream shown with the continually
29
C. Error response
HTTP status return value:
Note:
*1 The maximum number of connections is limited by the model specific “Maximum number of
clients”.
30
3.2.1.2 Closing a Session [close.cgi] (Optional)
This closes a XC control protocol session.
3.2.1.2.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-/close.cgi?s=<SessionID>
Parameters:
s Session ID (Mandatory)
=<string>
3.2.1.2.2 Response
A. Successful response
OK
31
B. Error response
HTTP status return value:
32
3.2.1.3 Camera Control Privilege Request [claim.cgi]
(Optional)
This is used to obtain camera control privileges. The priority of the session determines whether
camera control privileges can be obtained and the assigned time of the control privileges.
Note:
*1 The camera control time is limited by the setting value of the model specific “Camera control time”.
However, unless another client has requested camera control privileges, control privileges can exceed
the assigned time. The camera control time can also be set to an unlimited time.
33
sd Sequence of general sessions getting and waiting for control privileges (check claim.cgi)
Remote Camera
Remote Camera
Client1 Client2 Client3
HTTP Server
Timeout of Client1's
camera control privileges
Timeout of Client2's
camera control privileges
Fig. 3-1 Sequence of General Sessions Getting and Waiting for Camera Control Privileges (Check
claim.cgi)
34
- When obtaining control privileges, in addition to using the result of the control
privilege request, info.cgi can also be used to obtain notification of a change in the
status of an information item.
sd Sequence of general sessions getting and waiting for control privileges (info.cgi notification)
Remote Camera
Remote Camera
Client1 Client2 Client3
HTTP Server
{Cilent1 Control}
Claim Request (Priority=0)
Fig. 3-2 Sequence of General Sessions Getting and Waiting for Camera Control Privileges
(info.cgi Notification)
35
- The number of sessions queued to obtain camera control privileges is managed by the
set the maximum camera control queue length. If a control privilege request exceeds
the camera control queue length, a failure response is returned.
sd Failed to acquire camera control privileges because maximum queue count was exceeded
Remote Camera
Remote Camera
Client1 Client2 Client31
HTTP Server
{Cilent1 Control}
Claim Request (Priority=0)
Yield Request ()
Yield Response ()
Fig. 3-3 Failed to Acquire Camera Control Privileges Because Maximum Queue Count Was
Exceeded
36
- Control privileges can also be obtained when a session with the same priority requests
control privileges.
- If a privileged session requests control privileges, all queued control privilege requests
of general sessions fail.
Remote Camera
Remote Camera
Client1 Client2 Client3
HTTP Server
{Cilent1 Control}
Claim Request (Priority=0)
{Cilent2 Control}
Claim Request (Priority=30)
37
3.2.1.3.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-/claim.cgi?s=<SessionID>
Parameters:
3.2.1.3.2 Response
e.g. Before control privilege request = disabled → After control privilege request = enabled or waiting
s.control:=enabled:20000
Return value: (*The specified parameter determines whether “==” or “:=” is returned as the return value.)
Note:
*1 This shows the camera control privileges status of your own session. If "enabled" (or "waiting"),
the remaining assigned time (or remaining standby time until privileges are obtained) is added in
38
B. Successful response [No change in control privileges status of
own session due to control privilege request]
The following is the response when the status of the control privileges does not change even
when a control privilege request is processed.
s.control==disabled
Return value: (*The specified parameter determines whether “==” or “:=” is returned as the return value.)
Note:
*1 This shows the camera control privileges status of your own session. If "enabled" (or "waiting"),
the remaining assigned time (or remaining standby time until privileges are obtained) is added in
39
C. Error response
HTTP status return value:
40
3.2.1.4 Releasing Camera Control Privileges [yield.cgi]
(Optional)
This releases camera control privileges. If waiting to obtain camera control privileges, this
cancels the wait status.
- When releasing control privileges, in addition to using the result of the control privilege
release, info.cgi can also be used to obtain notification of a change in the status of an
information item.
3.2.1.4.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-/yield.cgi?s=<SessionID>
Parameters:
s Session ID (Mandatory)
=<string>
3.2.1.4.2 Response
s.control:=disabled
41
Return value: (*The specified parameter determines whether “==” or “:=” is returned as the return value.)
e.g. Before control privilege release = disabled → After control privilege release = disabled
s.control==disabled
Return value: (*The specified parameter determines whether “==” or “:=” is returned as the return value.)
C. Error response
Livescope status return value:
42
3.2.1.5 Changing Session Attributes [session.cgi] (Optional)
This retrieves a XC control protocol session-specific attribute or changes a specific attribute.
- A session-specific attribute can be used to change the priority and video stream.
- Changes to the session priority affect the XC control command access privileges and
camera control privileges.
- The size and frame rate of the video to be retrieved in the session can be changed by
changing the video stream attributes.
- The video stream can be selected with either of two methods: by specifying the video
codec, video size, and other video parameters, or by specifying the video stream number.
When a session attribute is changed successfully, the changed priority and changed video stream
information are returned as a response.
3.2.1.5.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-
/session.cgi?s=<SessionID>[&s.priority=<Value>][&v=<Value>][&w
=<Value>][&w.<Video>.frate=<Value>]
43
- When the image.cgi or video.cgi video retrieval command is being executed for the
video parameter specification (v), changes to the video codec of the video stream are
denied, and 408 is returned as the Livescope status response.
- When the image.cgi or video.cgi video retrieval command is being executed for the
video stream number specification (w), changes are only permitted to the type between
JPEG video streams. If H.264 is specified, changes are denied, and 408 is returned as the
Livescope status response.
Parameters:
s Session ID (Mandatory)
=<string>
[s.]priority 0…50 Specifies the session priority.*1
=<int> "0" when omitted
(general session).
v <video parameter> Selects the stream by the video parameter. *2
=<string>
w 1…6 Selects the stream by the video stream number.
=<int> Specifies a video stream number that can be referenced with
info.cgi.
[w.<Video>.]frate 100…30000 Specifies the video stream frame rate.
=<int> Unit: Number of frames per 1000 seconds
Note:
*1 The value ranges have the following meanings.
0: General session
*H.265 cannot be specified. If "h265" is specified, a 403 error will occur. Specify H.265 by
w.<Video>.type.
44
* For details on combinations that can be selected, see ‘A.3 H.264/H.265 Image Parameter
Specifications’.
3.2.1.5.2 Response
The response content for session.cgi varies depending on whether the video parameter
specification (v) or video stream number specification (w) was specified. The following
shows the response content and status value returned when an error occurs.
s.priority:=0
v:=jpg:1920x1080:3:30000
Return value: (*The specified parameter determines whether “==” or “:=” is returned as the return value.)
Note:
*1 The video stream parameters are returned for <video parameter> with the format shown below.
45
B. Successful response [video stream number specification (w)]
s.priority:=0
w:=5
w.1.type==h264
w.1.size==480x270
w.1.quality==0
w.1.frate==1000
w.1.crop==off
Return value: (*The specified parameter determines whether “==” or “:=” is returned as the return value.)
Note:
*1 It is returned when the video codec of <video parameter> is "h264" or "h265".
46
C. Error response
HTTP status return value:
47
3.2.2 Information Acquisition
The information acquisition commands of remote cameras under XC control protocol are
described below.
■ Response format
- At the initial information acquisition after the camera is started, all requested items are
returned immediately as a response.
- Thereafter, an information acquisition request is not performed, and items are
repeatedly returned as a response only when those items are different from the previous
response content.
48
- There are two different formats for the response: “item name:=value” and “item
name==value”.
item name:=value
An item changed due to the initial response or external factors (another client
control, setting change, etc.)
name==value
An item changed by the command sent in the same session. However, “item
name:=value” is returned in the command response.
- When the session ID is not specified, format “item name:=value” is always returned.
49
The following shows the behavior of info.cgi for each usage.
When the stream format is not specified in a sessionless case, all requested items are returned
immediately as a response for each information acquisition request.
sd In the case of sessionless execution, the response always returns all items immediately
Remote Camera
Remote Camera
Client1
HTTP Server
Fig. 3-5 In the Case of Sessionless Execution, the Response Always Returns All Items Immediately
50
When the stream format is not specified in a session-based case, in all subsequent information
acquisitions, items are returned as a response only when those items are different from the
initial response content.
sd In session-based execution, the second and subsequent requests return differential responses
Remote Camera
Remote Camera
Client1 Client2
HTTP Server
Fig. 3-6 In Session-Based Execution, the Second and Subsequent Requests Return Differential Responses
51
When the stream format is not specified in a session-based case, in all subsequent information
acquisitions, if there is no difference at the time of the information acquisition request, the
response is queued until a difference exists.
sd If there is no difference at the time of the second request, it waits for a response
Remote Camera
Remote Camera
Client1 Client2
HTTP Server
Fig. 3-7 If There Is No Difference at the Time of the Second Request, It Waits for a Response
52
When the stream format is specified, at the initial information acquisition after the camera is
started, all requested items are returned immediately as a response.
Thereafter, an information acquisition request is not performed, and items are repeatedly
returned as a response only when those items are different from the previous response content.
sd In sessionless execution, specify the stream format to receive the difference as they arise
Remote Camera
Remote Camera
Client1 Client2
HTTP Server
Fig. 3-8 In Sessionless Execution, Specify the Stream Format to Receive the Differences as They Arise
53
"timeout" specification can be used to specify the response time limit. When the response
time limit specified with "timeout" elapses, only the "timestamp” item, which indicates
that the time limit timed out, is returned as a response.
Response period times out if stream format and timeout are specified
Remote Camera
Remote Camera
Client1 Client2
HTTP Server
Fig. 3-9 Response Period Times Out If Stream Format and Timeout Are Specified
54
3.2.2.1.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-
/info.cgi?[s=<sessionID>][&item=<Value>]
[&type=<Value>][&timeout=<Value>]…
Parameters:
s Session ID
=<string>
item <item name 1> Specifies the information item to be acquired. *1
=<string> [,<item name 2>...] When the specification is omitted, all the items are specified.
type stream Response format specification
=<string>
timeout Response time limit specification
=<int> Unit: Second
interval 0, 33, 100, 200, 500, Minimum interval of performing notification of pan position/tilt
=<int> 10000 position/zoom position during the PTZ operation
Unit: Millisecond
"0" = No notification
"0" when omitted
Note:
*1 * The names of information items are hierarchically organized and are specified with the following
format.
that follow.
55
3.2.2.1.2 Response
There are two types of response formats for information acquisition depending on the factor for
the change in value: “item name:=value” and “item name==value”.
- “item name:=value” indicates an item changed due to the initial response of the
information acquisition or external factors, such as a control request from another
client.
- “item name==value” indicates an item changed as a result of a control request
processed in one’s own session.
Note:
The initial response is always “item name:=value”, and “item name==value” is only returned for
timestamp=22149.098
realtime=1604038382.586
s.duration:=0
s.priority:=0
s.epoch:=Fri, 30 Oct 2020 14:42:48 +0900
s.hardware:=Canon CR-N500
s.hardware.id:=110
s.hardware.address:=0000XXXXXXXXXXXXXXX
s.firmware:=1.0.0
s.protocol:=5.0.0
v:=jpg:1280x720:6:14980
v.list:=h264:1920x1080:0:59940,jpg:1280x720:6:14980
v.h264.cbr:=20000
w.maxsize:=1920x1080
w.count:=3
w.1.status:=enabled
w.1.type:=h264
w.1.type.profile:=high
w.1.kind:=overview
w.1.size:=1920x1080
w.1.quality:=6
w.1.cbr:=20000
w.1.frate.min:=100
w.1.frate.max:=59940
56
w.1.crop:=off
w.2.status:=enabled
w.2.type:=h264
w.2.type.profile:=high
w.2.kind:=overview
w.2.size:=640x360
w.2.quality:=6
w.2.cbr:=6000
w.2.frate.min:=100
w.2.frate.max:=29970
w.2.crop:=off
w.3.status:=enabled
w.3.type:=jpg
w.3.kind:=overview
w.3.size:=1280x720
w.3.quality:=6
w.3.frate.min:=100
w.3.frate.max:=14980
w.3.crop:=off
c:=1
c.count:=1
c.1.type:=Canon CR-N500
c.1.status:=enabled
c.1.shooting:=fullauto
c.1.shooting.list:=fullauto,manual
c.1.platform.status:=initialized
c.1.platform.error:=0
c.1.name.utf8:=Camera
c.1.exp:=auto
c.1.exp.list:=auto,manual
c.1.ae.gainlimit.max:=330
c.1.ae.gainlimit.max.min:=-60
c.1.ae.gainlimit.max.max:=330
c.1.ae.brightness:=0
c.1.ae.brightness.min:=-8
c.1.ae.brightness.max:=8
c.1.ae.brightness.list:=-8,-6,-4,-2,0,2,4,6,8
c.1.ae.photometry:=center
c.1.ae.photometry.list:=center,spotlight,backlight
c.1.ae.flickerreduct:=off
c.1.ae.flickerreduct.list:=off,auto
c.1.ae.resp:=1
c.1.ae.resp.min:=0
c.1.ae.resp.max:=2
c.1.me.shutter:=60
c.1.me.shutter.mode:=auto
c.1.me.shutter.mode.list:=auto,speed,slow,clearscan
c.1.me.shutter.list:=60,75,90,100,120,150,180,210,250,300,360,
420,500,600,720,840,1000,1200,1400,1700,2000
c.1.me.iris:=250
c.1.me.iris.min:=108
c.1.me.iris.max:=252
c.1.me.gain:=270
c.1.me.gain.min:=-60
c.1.me.gain.max:=330
c.1.me.gain.mode:=auto
c.1.me.gain.mode.list:=auto,manual
c.1.me.gainlimit.max:=330
c.1.me.gainlimit.max.min:=-60
c.1.me.gainlimit.max.max:=330
57
c.1.me.clearscan:=5997
c.1.me.clearscan.min:=5997
c.1.me.clearscan.max:=25051
c.1.me.brightness:=0
c.1.me.brightness.min:=-8
c.1.me.brightness.max:=8
c.1.me.flickerreduct:=off
c.1.me.flickerreduct.list:=off,auto
c.1.me.resp:=1
c.1.me.resp.min:=0
c.1.me.resp.max:=2
c.1.me.fno:=280
c.1.me.fno.list:=280,310,340,370,400,440,450,480,520,560,620,6
70,730,800,870,950,1000,1100
c.1.me.fno.mode:=auto
c.1.me.fno.mode.list:=auto,manual
c.1.me.photometry:=center
c.1.me.photometry.list:=center,spotlight,backlight
c.1.nd.mode:=manual
c.1.nd.mode.list:=manual
c.1.nd.filter:=0
c.1.nd.filter.list:=0,400,1600,6400
c.1.wb:=auto
c.1.wb.resp:=1
c.1.wb.resp.min:=0
c.1.wb.resp.max:=2
c.1.wb.list:=auto,manual,wb_a,wb_b,daylight,tungsten,kelvin
c.1.wb.value:=221-250
c.1.wb.action.list:=one_shot_a,one_shot_b
c.1.wb.kelvin:=4760
c.1.wb.kelvin.list:=2000,2020,2040,2060,2080,2110,2130,2150,21
70,2200,2220,2250,2270,2300,2330,2350,2380,2410,2440,2470,2500
,2530,2560,2600,2630,2670,2700,2740,2780,2820,2860,2900,2940,2
990,3030,3080,3130,3200,3230,3280,3330,3390,3450,3510,3570,364
0,3700,3770,3850,3920,4000,4080,4170,4300,4350,4440,4550,4650,
4760,4880,5000,5130,5260,5410,5600,5710,5880,6060,6300,6450,66
70,6900,7140,7410,7690,8000,8330,8700,9090,9520,10000,10530,11
110,11760,12500,13330,14290,15000
c.1.wb.shift.rgain:=0
c.1.wb.shift.rgain.min:=-50
c.1.wb.shift.rgain.max:=50
c.1.wb.shift.bgain:=0
c.1.wb.shift.bgain.min:=-50
c.1.wb.shift.bgain.max:=50
c.1.gamma:=normal1
c.1.gamma.list:=normal1,normal2,normal3,normal4,widedr,clog3
c.1.colorspace:=gamut_bt709
c.1.colorspace.list:=gamut_bt709,gamut_bt2020
c.1.colormatrix:=video
c.1.colormatrix.list:=video,neutral
c.1.colormatrix.gain:=0
c.1.colormatrix.gain.min:=-50
c.1.colormatrix.gain.max:=50
c.1.colormatrix.phase:=0
c.1.colormatrix.phase.min:=-18
c.1.colormatrix.phase.max:=18
c.1.colormatrix.rg:=0
c.1.colormatrix.rg.min:=-50
c.1.colormatrix.rg.max:=50
c.1.colormatrix.rb:=0
58
c.1.colormatrix.rb.min:=-50
c.1.colormatrix.rb.max:=50
c.1.colormatrix.gr:=0
c.1.colormatrix.gr.min:=-50
c.1.colormatrix.gr.max:=50
c.1.colormatrix.gb:=0
c.1.colormatrix.gb.min:=-50
c.1.colormatrix.gb.max:=50
c.1.colormatrix.br:=0
c.1.colormatrix.br.min:=-50
c.1.colormatrix.br.max:=50
c.1.colormatrix.bg:=0
c.1.colormatrix.bg.min:=-50
c.1.colormatrix.bg.max:=50
c.1.is:=on1
c.1.is.list:=off,on1,on2
c.1.nr:=5
c.1.nr.min:=0
c.1.nr.max:=12
c.1.nr.mode:=manual
c.1.nr.mode.list:=manual,auto
c.1.ac:=0
c.1.ac.min:=-10
c.1.ac.max:=50
c.1.ac.limit:=0
c.1.ac.limit.min:=-50
c.1.ac.limit.max:=50
c.1.cp:=normal1_bt709
c.1.cp.list:=normal1_bt709,normal1_bt2020,widedr_bt709,widedr_
bt2020,clog3_bt2020,clog3_bt709,off
c.1.contrast:=0
c.1.contrast.min:=0
c.1.contrast.max:=0
c.1.blacklevel:=0
c.1.blacklevel.min:=-50
c.1.blacklevel.max:=50
c.1.blacklevel.red:=0
c.1.blacklevel.red.min:=-50
c.1.blacklevel.red.max:=50
c.1.blacklevel.blue:=0
c.1.blacklevel.blue.min:=-50
c.1.blacklevel.blue.max:=50
c.1.blackgamma:=0
c.1.blackgamma.min:=-50
c.1.blackgamma.max:=50
c.1.blackgamma.range:=0
c.1.blackgamma.range.min:=-20
c.1.blackgamma.range.max:=50
c.1.blackgamma.point:=0
c.1.blackgamma.point.min:=-20
c.1.blackgamma.point.max:=50
c.1.knee:=off
c.1.knee.list:=off,on
c.1.knee.automatic:=off
c.1.knee.automatic.list:=off,on
c.1.knee.point:=95
c.1.knee.point.min:=50
c.1.knee.point.max:=109
c.1.knee.slope:=0
c.1.knee.slope.min:=-35
59
c.1.knee.slope.max:=50
c.1.knee.saturation:=0
c.1.knee.saturation.min:=-10
c.1.knee.saturation.max:=10
c.1.focus:=auto
c.1.focus.speed:=1
c.1.focus.speed.min:=0
c.1.focus.speed.max:=2
c.1.focus.list:=auto,manual
c.1.focus.value:=1893
c.1.focus.restrict:=off
c.1.focus.restrict.list:=off,on
c.1.focus.action.list:=far,near,one_shot,stop
c.1.focus.auto:=continuous
c.1.focus.auto.detect:=off
c.1.focus.auto.detect.list:=off,faceonly,facecatch
c.1.focus.auto.list:=continuous,afboosted
c.1.focus.auto.speed:=1
c.1.focus.auto.speed.min:=0
c.1.focus.auto.speed.max:=2
c.1.focus.auto.track:=off
c.1.focus.auto.track.frame.x:=0
c.1.focus.auto.track.frame.x.min:=0
c.1.focus.auto.track.frame.x.max:=9999
c.1.focus.auto.track.frame.y:=0
c.1.focus.auto.track.frame.y.min:=0
c.1.focus.auto.track.frame.y.max:=9999
c.1.focus.auto.track.list:=off,on
c.1.focus.auto.track.mode:=mode1
c.1.focus.auto.track.mode.list:=mode1,mode2
c.1.focus.auto.resp:=1
c.1.focus.auto.resp.min:=0
c.1.focus.auto.resp.max:=2
c.1.focus.frame.1:=auto
c.1.focus.frame.1.list:=auto,large,small
c.1.focus.frame.1.x:=5000
c.1.focus.frame.1.x.min:=0
c.1.focus.frame.1.x.max:=9999
c.1.focus.frame.1.y:=5000
c.1.focus.frame.1.y.min:=0
c.1.focus.frame.1.y.max:=9999
c.1.focus.frame.1.width:=6151
c.1.focus.frame.1.height:=5439
c.1.zoom:=7300
c.1.zoom.min:=570
c.1.zoom.max:=7300
c.1.zoom.status:=0
c.1.zoom.limit.min:=570
c.1.zoom.limit.max:=7300
c.1.zoom.speed.pos:=15
c.1.zoom.speed.dir:=15
c.1.zoom.speed.min:=0
c.1.zoom.speed.max:=15
c.1.zoom.mode:=off
c.1.zoom.mode.list:=off,dzoom,mag
c.1.zoom.d:=570
c.1.zoom.diameter:=100
c.1.zoom.mag:=100
c.1.zoom.mag.list:=100,150,300,600
c.1.pan:=0
60
c.1.pan.status:=0
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.mode.pos:=auto2
c.1.pan.speed.mode.dir:=auto2
c.1.pan.speed.mode.list:=manual,auto1,auto2
c.1.pan.speed.pos:=10000
c.1.pan.speed.dir:=10000
c.1.pan.speed.min:=10
c.1.pan.speed.max:=10000
c.1.pan.speed.ratio.pos:=100
c.1.pan.speed.ratio.dir:=100
c.1.pan.speed.ratio.min:=1
c.1.pan.speed.ratio.max:=1000
c.1.pan.ramp:=1
c.1.pan.ramp.min:=0
c.1.pan.ramp.max:=2
c.1.tilt:=0
c.1.tilt.status:=0
c.1.tilt.min:=-3000
c.1.tilt.max:=9000
c.1.tilt.limit.min:=-3000
c.1.tilt.limit.max:=9000
c.1.tilt.speed.mode.pos:=auto2
c.1.tilt.speed.mode.dir:=auto2
c.1.tilt.speed.mode.list:=manual,auto1,auto2
c.1.tilt.speed.pos:=10000
c.1.tilt.speed.dir:=10000
c.1.tilt.speed.min:=10
c.1.tilt.speed.max:=10000
c.1.tilt.speed.ratio.pos:=100
c.1.tilt.speed.ratio.dir:=100
c.1.tilt.speed.ratio.min:=1
c.1.tilt.speed.ratio.max:=1000
c.1.tilt.ramp:=1
c.1.tilt.ramp.min:=0
c.1.tilt.ramp.max:=2
c.1.erotate:=0
c.1.erotate.list:=0.18000
i.count:=0
o.count:=0
p:=2
p.count:=100
p.status:=0
p.1.name.utf8:=home
p.1.content:=enabled
p.1.content.ptz:=enabled
p.1.content.focus:=enabled
p.1.content.exp:=enabled
p.1.content.wb:=enabled
p.1.content.is:=enabled
p.1.content.cp:=enabled
p.1.pan.speed:=10000
p.1.tilt.speed:=10000
p.1.zoom.speed:=15
...
p.100.name.utf8:=
p.100.content:=disabled
61
p.100.content.ptz:=disabled
p.100.content.focus:=disabled
p.100.content.exp:=disabled
p.100.content.wb:=disabled
p.100.content.is:=disabled
p.100.content.cp:=disabled
t:=0
t.count:=10
t.status:=idle
t.1.name.utf8:=
t.1.recorded:=off
t.1.time:=0
...
t.10.name.utf8:=
t.10.recorded:=off
t.10.time:=0
a.count:=0
f.tally:=off
f.tally.mode:=preview
f.tally.mode.list:=preview,program
f.tally.list:=off,on
f.tally.level:=1
f.tally.level.min:=0
f.tally.level.max:=2
f.standby:=idle
f.standby.list:=idle,switch_standby,standby,switch_idle
Return value:
Note:
The details of the return values of the information items are described in the information
categories that follow.
62
B. Successful response [Stream format specification]
This indicates the content of the different response when the stream format was specified.
--boundary
Content-Type: text/plain; charset=utf-8
Content-Length: <DataLength>
timestamp=4091.450
realtime=1380159728.596
s.epoch:=Thu, 26 Sep 2013 08:34:24 +0900
s.hardware:=Canon VB
...
--boundary
Content-Type: text/plain; charset=utf-8
Content-Length: <DataLength>
timestamp=<Second.MSecond>
realtime=<Second.MSecond>
c.1.zoom:=5070
--boundary
...
--boundary
Content-Type: text/plain; charset=utf-8
Content-Length: <DataLength>
timestamp=<Second.MSecond>
realtime=<Second.MSecond>
--boundary--
Note:
Only the "timestamp" item is returned for the final response.
63
C. Error response
Livescope status return value:
There are many parameters that can be acquired with info.cgi, and they will be described in
APPENDIX ‘iii Parameter List of info.cgi and control.cgi’.
64
3.2.3 Camera Control
The camera control commands under XC control protocol are described below.
Table 3-12 Relationship between Camera Control Privileges and Whether a Session Is Specified
Note:
*1 If control is requested for multiple items at one time, not all control may be executed as requested,
depending on the camera operation status. In particular, it is important to note that control that
performs mechanical operations, such as pan, tilt, and zoom operation, requires time until the
operation is completed.
between requests.
*2 If camera control privileges cannot be obtained, control not requiring camera control privileges will
not be executed.
65
■ Angle of View Linkage
- Some models support the angle of view linkage function.
- This function adjusts the operating speed according to the angle of view of the zoom as
a Pan/Tilt speed adjustment function.
- This function has the following three operation modes.
- The operation mode will be "auto2" when there is no designation.
Note:
The operation mode can be specified by the following parameters of control.cgi.
66
3.2.3.1.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-
/control.cgi?[s=<sessionID>][&s.priority=<Priority>][&<Name>=<
Value>]…
67
3.2.3.1.2 Response
The item value of the processing result of the specified control item is returned for the response
to the control request. There are three different formats for the returned response: “item
name:=value”, “item name==value”, and “item name==?”.
<Parameter>:=<Value>
<Parameter>==<Value>
c.1.exp==auto
c.1.ae.brightness:=2
c.1.ae.photometry:=center
c.1.me.shutter==?
c.1.me.gain==?
Note:
Normally, only the result of the item is returned for the control request specified to the parameter.
The above is an example of a response, and not all items are returned with one control request.
In addition, all results related to the control request are returned for the custom settings indicated below.
68
B. Error response
HTTP status return value:
301 No Camera Control Right Request denied due to no issuing of the control privilege request.
! Unable to obtain camera control privileges with the priority
specification request.
There are many parameters that can be controlled with control.cgi, and they will be described
in APPENDIX ‘iii Parameter List of info.cgi and control.cgi’.
69
3.2.4 Video Retrieval
The camera video image data retrieval commands for the XC control protocol include
image.cgi for still image retrieval and video.cgi for video stream retrieval.
■ Session-based
- This uses the video stream settings of a session specified with a session ID.
Video parameter specification (v) and video stream number specification (w) are also
ignored. *1
- If the video stream setting of the specified session is H.264 or H.265, it is changed
automatically to JPEG. *2
Note:
*1 The following are examples of behavior that include specification of video parameter specification (v).
First, create a XC control protocol session with the following command.
http://<ipaddress>/-wvhttp-01-/open.cgi?v=jpg:320x240
When these commands are executed, the static image of "v=jpg:320x240" specified with
the first executed command, open.cgi, is obtained.
The same result applies to video stream number specification (w).
*2 If a change in the settings occurs, notification is sent by an event using info.cgi. The changed setting is
maintained even after image.cgi processing is completed and is not restored automatically to the original
setting.
■ Sessionless
- The content of the video to be retrieved is determined by the video stream
specification.
- The video stream can be selected with either of two methods: by specifying the video
codec, video size, and other video parameters, or by specifying the video stream
number.
70
3.2.4.1.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-
/image.cgi?[s=<SessionID>][&v=<Value>][&w=<Value>]
Parameters:
Model Specific
Item Name Value Type/Range Description
information
s Session ID
=<string>
Note:
*1 Specify <video parameter> with the format shown below.
* For details on combinations that can be selected, see ‘A.3 H.264/H.265 Image Parameter Specifications’.
71
3.2.4.1.2 Response
A. Successful response
<JpegImageData>
Note:
*1 Livescope-Frame-Number is an extension field unique to XC control protocol similar to Livescope-
Status. A serial number is assigned in the order the still image request commands are received, and this
can be used for sequence control on the client side.
B. Error response
HTTP status return value:
72
Livescope Status Meaning
Note:
As a usage method during session specification, JPEG still images can be continually requested, which is
useful for applications compiling a pseudo-video. In sessionless mode, this is useful for applications
Still image requests during the same session are processed in the order they are received with this
command, and Livescope frame numbers are assigned and returned in that order.
■ Session-based
- This uses the video stream settings of a session specified with a session ID.
- The video stream transmission continues until the session is ended by the session
duration end or the client ends the session, or the HTTP connection is disconnected by
the client.
■ Sessionless
- The content of the video to be retrieved is determined by the video stream
specification.
- The video stream can be selected with either of two methods: by specifying the video
codec, video size, and other video parameters, or by specifying the video stream
number.
The video stream transmission continues until the specified video transmission time has elapsed
or the HTTP connection is disconnected by the client.
73
3.2.4.2.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-
/video.cgi?[s=<SessionID>][&v=<Value>][&w=<Value>][&w.<Video>.
frate=<Value>][&duration=<Value>]
Parameters:
Model
Item Name Value Type/Range Description Specific
information
s Session ID
=<string>
Note:
*1 Specify <video parameter> with the format shown below.
Do not specify <video width>, <video height>, and <frame rate> for H.264 data.
e.g. "h264"
74
*2 The maximum value for the video send time is the maximum value of the session connection time. Session
3.2.4.2.2 Response
The response content of video.cgi varies depending on the specified video codec. The
following shows the response content for both JPEG and H.264 and the status value returned
when an error occurs. The response content of H.265 follows H.264.
--boundary
Content-Type: image/jpeg
Content-Length: <ImageLength>
<JpegImageData 1>
--boundary
Content-Type: image/jpeg
Content-Length: <ImageLength>
<JpegImageData 2>
--boundary
・・・
--boundary
Content-Type: image/jpeg
Content-Length: <ImageLength>
<JpegImageData Last>
--boundary--
<H.264VideoData>
75
C. Error response
76
3.2.5 Metadata Acquisition
The metadata acquisition command meta.cgi related to focus positions under XC control
protocol is described below.
3.2.5.1.1 Commands
Syntax:
http://<ipaddress>/-wvhttp-01-
/meta.cgi?[s=<SessionID>][type=<Value>]
Parameters:
Model Specific
Item Name Value Type/Range Description
information
s Session ID
=<string>
77
3.2.5.1.2 Response
A. Successful response
This indicates the content of the response. Metadata is transmitted in the msgpack format.
{
version: 01,00,
timestamp: 569.647, # time elapsed from power on [s]
realtime: 1589940161.636, # current time (local time)
detect: [ # detected object, 9 at maximum
{
type: face, # detection type (face only)
pos: {
x: 9207, # X coordinate (0-9999)
y: 9185, # Y coordinate (0-9999)
w: 1152, # width(1-10000)
h: 2048 # height(1-10000)
},
main: true, # main face or not (true, false)
track: false # face tracking being done or not (true,
false)
}
],
fguide: [ # focus guide, 1
{
status: true, # focus guide valid or invalid (true,
false)
level: 0, # focusing being done (0-2:2 is focusing)
angle: 35, # focusing degree (0-60: 0 is focusing)
dir: front, # focus information (front: front pin,
behind: back pin)
pos: {
x: 8192, # X coordinate (0-9999)
y: 8192, # Y coordinate (0-9999)
w: 1280, # width(1-10000)
h: 1456 # height(1-10000)
}
}
]
}
78
Metadata:
Sub-sub Model
Sub Item Value Type/
Item Name Item Description Specific
Name Range
Name information
detect Detected face (9 at maximum)
79
B. Error response
Livescope status return value:
80
3.2.6 Preset/Trace
Command preset/set for saving control parameters of the camera and commands trace/set
and trace/control for recording/posturing traces are described below.
Note that there is no dedicated command for executing the saved preset. It is necessary to
specify parameters "Preset Information [p]" by the camera control command control.cgi. For
more information on the Preset Information [p], see 'iii Parameter List of info.cgi and
control.cgi'.
3.2.6.1.1 Commands
Syntax:
http://<ipddress>/-wvhttp-01-/preset/set?[s=<session-
id>][&p=<Value>][&name=<Value>][&all=<Value>]
Parameters:
Model
Item Name Value Type/Range Description Specific
information
s Session ID
=<string>
81
Model
Item Name Value Type/Range Description Specific
information
When "all" and parameters besides "all" are
specified, the latter will be prioritized.
"ignored" when omitted.
82
Model
Item Name Value Type/Range Description Specific
information
ptz enabled, disabled, ignored The PTZ parameter is saved/deleted.
=<string>
enabled: Saved to preset.
disabled: Deleted from preset.
ignored: Nothing happens.
"ignored" when omitted.
focus enabled, disabled, ignored The focus parameter is saved/deleted.
=<string>
enabled: Saved to preset.
disabled: Deleted from preset.
ignored: Nothing happens.
"ignored" when omitted.
exp enabled, disabled, ignored The exposure parameter is saved/deleted.
=<string>
enabled: Saved to preset.
disabled: Deleted from preset.
ignored: Nothing happens.
"ignored" when omitted.
wb enabled, disabled, ignored The WB parameter is saved/deleted.
=<string>
enabled: Saved to preset.
disabled: Deleted from preset.
ignored: Nothing happens.
"ignored" when omitted.
is enabled, disabled, ignored The IS (image stabilizer) parameter is
=<string> saved/deleted.
83
3.2.6.1.2 Response
A. Successful response
p:=1
p.1.name.utf8:=Preset1
p.1.content.ptz:=enabled
p.1.content.focus:=enabled
p.1.content.exp:=enabled
p.1.content.wb:=enabled
p.1.content.is:=enabled
p.1.content.cp:=enabled
p.1.pan.speed=<pan speed>
p.1.tilt.speed=<tilt speed>
p.1.zoom.speed=<zoom speed>
Note:
The pan, tilt, and zoom speeds are not included in the response in the case of p.<p>.content.ptz=disabled.
B. Error response
Livescope status return value:
84
3.2.6.2 Recording Traces [trace/set] (Optional)
This is used to record traces (camera operation details and timing).
Start command (cmd=start) is sent to start recording at the current camera position, and stop
command (cmd=stop) is sent to stop the recording. During a period from the start command
to the stop command reception, the executed PTZ control and the manual focus control
command are saved.
The contents recorded when the stop command is received are saved in the camera.
When recording is started (cmd=start), the current camera state can be specified as a start
position, and the items to be saved can be selected from pan, tilt, zoom, focus, exposure, white
balance, IS (image stabilizer), and CP (image quality adjustment).
Interrupt command (cmd=cancel) can be sent to stop the recording after it is started.
If cmd is omitted, or if trace number (t) is not specified during cmd=start or cmd=delete,
406 is returned as the Livescope status.
If a non-executable command is sent (for example, if the trace record start command is sent
during the trace playback), 408 is returned as the Livescope status.
If setting of the name fails, 403 is returned, and the other parameters specified at the same time
are not set.
3.2.6.2.1 Commands
Syntax:
http://<ipddress>/-wvhttp-01-/trace/set?[s=<session-
id>][&t=<Value>][&cmd=<Value>][&all=<Value>]
Parameters:
Model Specific
Item Name Value Type/Range Description
information
s Session ID
=<string>
85
Model Specific
Item Name Value Type/Range Description
information
cmd start, stop, This operates trace recording.
=<string> cancel, delete
start: This starts trace recording.
stop: This stops trace recording (saves it in the
camera).
cancel: This interrupts trace recording (does not
save it in the camera).
delete: This deletes traces recording (the trace
name also becomes a null value).
When this is omitted, no trace recording operation
is performed and only the trace name can be set.
all enabled, disabled All the parameters to be saved are saved to the
=<string> trace start position or deleted from the trace start
position.
86
Model Specific
Item Name Value Type/Range Description
information
cp enabled, disabled The CP (image quality adjustment) parameter is
=<string> saved to the trace start position or deleted from
the trace start position.
3.2.6.2.2 Response
A. Successful response
t:=<t>
t.<t>.name.utf8:=<UTF-8 character string> *1
t.<t>.content.ptz:=<value> *2
t.<t>.content.focus:=<value> *2
t.<t>.content.exp:=<value> *2
t.<t>.content.wb:=<value> *2
t.<t>.content.is:=<value> *2
t.<t>.content.cp:=<value> *2
Note:
*1 The trace name is returned during cmd=start or cmd=delete.
87
B. Error response
Livescope status return value:
88
3.2.6.3.1 Commands
Syntax:
http://<ipddress>/-wvhttp-01-/trace/control?[s=<session-
id>][&t=<Value>][&cmd=<Value>]
Parameters:
Model Specific
Item Name Value Type/Range Description
information
s Session ID
=<string>
3.2.6.3.2 Response
A. Successful response
t:=<t>
89
B. Error response
Livescope status return value:
90
3.2.7 Standby
The standby transition/restoration command standby.cgi of cameras under the XC control
protocol is described below.
■ Standby state
- Acceptable commands are open.cgi, close.cgi, session.cgi, info.cgi, and
standby.cgi only.
- When other commands are received, 509 is returned as the Livescope status.
- Only the video-less session (v=null) can be accepted by open.cgi.
- All the parameters are returned by info.cgi.
- Command standby.cgi only accepts the restoration command from the standby state.
91
■ Normal state
- Notification on restoration to the normal state is sent by info.cgi.
- If the standby restoration command is sent, the success is returned.
If the cmd parameter is not specified, 406 is returned as the Livescope status.
3.2.7.1.1 Commands
Syntax:
http://<ipddress>/-wvhttp-01-/standby.cgi?[s=<session-
id>][&cmd=<Value>]
Parameters:
Model Specific
Item Name Value Type/Range Description
information
s Session ID
=<string>
3.2.7.1.2 Response
A. Successful response
OK.
92
B. Error response
Livescope status return value:
510 Switching Standby Access limited during transition from normal state to standby
state.
! Standby restoration command received during standby
transition.
511 Switching Idle Access limited during restoration from standby state to normal
state.
! Standby transition command received during standby
restoration.
93
Model Specific Information
A CR-N500-dependent Information
A.1 Command Specifications
The supported/non-supported information of CR-N500 with respect to each command under the
XC control protocol is shown in the table below.
Table A-1 Support for CR-N500 Commands under XC Control Protocol
Support for
Commands Functions Support requirement
CR-N500
open.cgi This creates a session. Optional Supported
close.cgi This closes a session. Optional Supported
claim.cgi This requests camera control privileges. Optional Supported
yield.cgi This releases camera control privileges. Optional Supported
session.cgi This retrieves and changes a session-specific Optional Supported
attribute.
info.cgi This is used to obtain camera control Mandatory Supported
privileges.
control.cgi This is used to control a camera or a tally Mandatory Supported
lamp.
image.cgi This is used to retrieve a JPEG still image. Optional Supported
video.cgi This is used to retrieve a video stream. Optional Supported
meta.cgi This is used to obtain metadata related to Optional Supported
focus.
preset/set This preset-stores camera control Optional Supported
parameters.
trace/set This records traces. Optional Supported
trace/control This playbacks traces. Optional Supported
standby.cgi This is used to perform standby Optional Supported
transition/restoration.
94
A.3 H.264/H.265 Image Parameter Specifications
The following are the H.264/H.265 image parameters that supported by the H.264/H.265 video
transmission functions of CR-N500. Some parameters depend on the frame frequency of the
remote camera, and the capture range changes.
Video Resolution [pxl] For frame frequency of 59.94 and 50 Hz: 1920x1080
1920x1080, 1280x720, 640x360
For frame frequency of 29.97, 23.98, and 25
Hz:
3840x2160, 1920x1080, 1280x720,
640x360
Frame Rate [fps] For frame frequency of 59.94 Hz: 59.94
59.94, 29.97, 14.98, 4.99
For frame frequency of 29.97 Hz:
29.97, 14.98, 4.99
For frame frequency of 23.98 Hz:
23.98, 11.99, 5.99
For frame frequency of 50 Hz:
50.00, 25.00, 12.50, 5.00
For frame frequency of 25 Hz:
25.00, 12.50, 5.00
I Frame Interval [sec] 0.5, 1 1
Bit Rate Control VBR, CBR VBR
Target Bit Rate [Mbps] 1…80 20
Depends on the video resolution/frame rate.
95
Table i-2 H.264 Image Parameters
96
APPENDIX
i Fragmented MP4
The H.264/H.265 transmission function of remote cameras transmits image data in the
fragmented MP4 format. A stream with only one video track can be handled, and this video
stream forms a stream in the fragmented MP4 format. Namely, a moov header and moof header
are created, and these are sent coupled with the picture data.
Note:
A stream in the fragmented MP4 format conforms to ‘ISO/IEC 14496-10’ and ‘ISO/IEC 14496-15’. For
moof mdat P
2nd fragment
Header Header Picture
...
moof mdat P
15th fragment
Header Header Picture
Fig. i-1 Fragment Data Structure within a Fragmented MP4 Format Stream
97
■ moov header
The moov header is transmitted only once at the start of the fragment transmission. This header
mainly contains the initial setting items required for video playback. For example, the setting
values for the video image size, frame rate, and time information are included in the moov
header.
In addition, the file size of the pictures transmitted together with the moov header is included in
the stsz box, and the starting picture is always the I picture. The models supported by this
document support H.264/H.265, and, therefore, [SPS], [PPS], and [VUI] fields are added
to the moov header. All of these fields are within the [avcC] box.
■ moof header
The moof header contains the sequence number and frame type. The file size of the
pictures transmitted together with the moof header is included in the trun box.
When [first_sample_flags] in the trun box is 0x0, the starting picture of the fragment is the
I picture; otherwise, it is the P picture.
98
ii Camera Search
For remote camera equipment search, the mDNS (Multicast DNS) function, which is specified
in RFC6762, is supported.
mDNS notifies another host on the network of the host name and the IP address by multicast
transmission of the IP address of the remote camera and the information of the host name that is
automatically generated.
The automatically set host name is canon-<MACADDRESS>.local. The "MACADDRESS"
the MAC address of the remote camera.
The multicast address uses the following in IPv4 and IPv6.
- IPv6 : ff02::fb
- IPv4 : 224.0.0.251
99
iii Parameter List of info.cgi and control.cgi
Parameters that can be acquired by info.cgi and parameters used for control by control.cgi
are as follows.
These parameters are described in the table below. Note the following points.
- With info.cgi, parameters with attribute "G" can be acquired from the camera among the
following parameters.
- With control.cgi, parameters with attribute "C" can be used to control the camera among
the following parameters.
- Follow the notation item in ‘3.2 Command Specifications’ for other information and
notation method.
- Regarding model specific information of parameters (models written in the column
“Model Specific information”), the information is written after the separate table. Bold
letters in the table correspond to the model specific information.
100
Table ⅲ-1 Parameters of info.cgi/control.cgi
Model
Parameter Type Item Name Value Type/Range Attribute Description Specific
Information
System Information s.origin <IP address>:<port number> --P- Camera server IP address and port number
[s] :=<string >
System Information s.duration 0…<Maximum connection time> --PU Remaining session time
[s] :=<int >
System Information s.control enabled --PU Indicates the state of camera control privileges
[s] :=<string > [:<assigned time>], Unit: Millisecond
waiting enabled: Obtaining camera control privileges
[:<standby time>] waiting: Waiting to obtain camera control privileges
disabled disabled: Failed to obtain camera control privileges
Video Information v.list jpg, h264 G--U Parameter list of video stream
[v] :=<string > H.265 is not treated in parameter v.
<jpg or h264>:<video width>x<video height>:<video
quality>:<frame rate>
*<video quality> is
0: Fixed bit rate (CBR)
1…9: Variable bit rate (value is Q value)
e.g. jpg: 1920x1080:3:30000, h264: 480x270:0:30000
Video Information w.<w>.type jpg, h264, h265 G--U Stream video codec
[w] :=<string >
Video Information w.<w>.type.profile baseline, main, high G--U Profile of video codec
[w] :=<string >
Video Information w.<w>.size <video width>x<video height> 320x240, G--U Video size of stream
[w] :=<string > 640x480, 1280x960, 320x180,
640x360, 1280x720, 480x270,
960x540, 1920x1080
Video Information w.<w>.frate.min 100 G--U Minimum configurable stream frame rate value
[w] :=<int >
Video Information w.<w>.frate.max 30000 G--U Maximum configurable stream frame rate value
[w] :=<int >
Light Amount c.<c>.ae.brightness c.<c>.ae.brightness.min… G--U Correction compensation value is the value obtained by
Correction :=<int > c.<c>.ae.brightness.max multiplying 4 to the EV value.
Information [c] Dark -8 ←→ 8 Light
*When all of the c.<c>.me.diaphragm.mode,
c.<c>.me.shutter.mode, c.<c>.me.gain.mode are "manual",
the value is changed but it is not reflected to the image.
Light Amount c.<c>.ae.photometry.list center, backlight, spotlight G--- Metering mode list
Correction :=<string > center: Center-weighted metering
Information [c] backlight: Metering mainly on part with low exposure
spotlight: Metering mainly on part with high exposure
Light Amount c.<c>.ae.gainlimit.max c.<c>.ae.gainlimit.max.min… GC-U Gain limit on the maximum (upper) side
Correction :=<int > c.<c>.ae.gainlimit.max.max Value obtained by multiplying 10 to dB
Information [c] Received by increments of 0.5 dB (5 as I/F).
*The range changes when c.<c>.gamma is "clog3""widedr".
Light Amount c.<c>.ae.gainlimit.max.min G--U Minimum configurable gain limit value on maximum (upper)
Correction :=<int > side
Information [c] Changes depending on gamma value.
Light Amount c.<c>.ae.gainlimit.max.max 360 G--U Maximum configurable gain limit value on maximum (upper) CR-N500
Correction :=<int > side
Information [c]
Light Amount c.<c>.ae.resp 0...2 GC-U AE response (convergence speed for automatic exposure)
Correction :=<int >
Information [c]
Light Amount c.<c>.me.shutter Selected from c.<c>.me.shutter.list GC-U Shutter speed list
Correction :=<int > Only valid when the shutter speed mode is "speed" or "slow".
Information [c]
Light Amount c.<c>.me.shutter.list When the combination of shutter.mode G--U Shutter speed list
Correction :=<string > and camera frame frequency is Changes by the shutter speed list mode and the camera frame
Information [c] (For auto/speed/clearscan&59.94Hz) rate.
60,75,90... 1400,1700,2000
(For auto/speed/clearscan&29.97Hz)
30,34,40...1400,1700,2000
(For auto/speed/clearscan&23.98Hz)
24,25,30...1400,1700,2000
(For auto/speed/clearscan&50.00Hz)
50,60,75...1400,1700,2000
(For auto/speed/clearscan&25.00Hz)
25,29,30...1400,1700,2000
(For slow & 59.94Hz)
4, 8, 15, 30
(For slow & 29.97Hz)
4, 8, 15
(For slow & 23.98Hz)
3, 6, 12
(For slow & 50.00Hz)
3, 6, 12, 25
(For slow & 59.94Hz)
3, 6, 12
Light Amount c.<c>.me.shutter.mode.list auto, speed, slow, clearscan G--- Shutter speed mode list
Correction :=<string >
Information [c]
Light Amount c.<c>.me.clearscan c.<c>.me.clearscan.min… GC-U Shutter speed during clear scan
Correction :=<int > c.<c>.me.clearscan.max Value obtained by multiplying 100 to Hz
Information [c]
Light Amount c.<c>.me.clearscan.min 59.94Hz: 5994 G--U Minimum configurable shutter speed value during clear scan
Correction :=<string > 29.97Hz: 2997 Value obtained by multiplying 100 to Hz
Information [c] 23.98Hz: 2398 Changes by the camera frame frequency.
50.00Hz: 5000
25.00Hz: 2500
Light Amount c.<c>.me.clearscan.max 59.94Hz: 25038 G--U Maximum configurable shutter speed value during clear scan
Correction :=<string > 29.97Hz: 25038 Value obtained by multiplying 100 to Hz
Information [c] 23.98Hz: 25038 Changes by the camera frame frequency.
50.00Hz: 25040
25.00Hz: 25040
Light Amount c.<c>.me.diaphragm Selected from c.<c>.me.diaphragm.list GC-U Aperture value (F-number)
Correction :=<int>
Information [c]
Model
Parameter Type Item Name Value Type/Range Attribute Description Specific
Information
Light Amount c.<c>.me.diaphragm.list 280,320,340,370,400,450,440,480,520, G--U Aperture value (F-number) list
Correction :=<string> 560, Value obtained by multiplying 100 to F-number
Information [c] 620,670,730,800,870,950,1000,1100 Changes depending on zoom value.
Light Amount c.<c>.me.diaphragm.mode.lis auto, manual G--- Aperture (F-number) mode list
Correction t
Information [c] :=<string>
Light Amount c.<c>.me.gainlimit.max c.<c>.me.gainlimit.max.min… GC-U Gain limit on the maximum (upper) side
Correction :=<int > c.<c>.me.gainlimit.max.max Value obtained by multiplying 10 to dB
Information [c] Received by increments of 0.5 dB (5 as I/F).
Light Amount c.<c>.me.gainlimit.max.min G--U Minimum configurable gain limit value on maximum (upper)
Correction :=<int > side
Information [c] Changes depending on gamma value.
Light Amount c.<c>.me.gainlimit.max.max 360 G--U Maximum configurable gain limit value on maximum (upper) CR-N500
Correction :=<int > side
Information [c]
Light Amount c.<c>.me.brightness c.<c>.me.brightness.min… GC-U Correction compensation value is the value obtained by
Correction :=<int > c.<c>.me.brightness.max multiplying 4 to the EV value.
Information [c] Dark -8 ←→ 8 Light
*When all of the c.<c>.me.diaphragm.mode,
c.<c>.me.shutter.mode, c.<c>.me.gain.mode are "manual",
the value is changed but it is not reflected to the image.
Light Amount c.<c>.me.photometry.list center, spotlight, backlight G--- Metering mode list
Correction :=<string > center: Center-weighted metering
Information [c] backlight: Metering mainly on part with low exposure
spotlight: Metering mainly on part with high exposure
Light Amount c.<c>.me.resp c.<c>.me.resp.min… GC-U ME response (convergence speed for automatic exposure)
Correction :=<int > c.<c>.me.resp.max
Information [c]
Light Amount c.<c>.nd.filter Selected from c.<c>.nd.filter.list GC-U ND filter mode is specified. CR-N500
Correction :=<int >
Information [c]
Light Amount c.<c>.nd.filter.list 0, 400, 1600, 6400 G--- ND filter list CR-N500
Correction :=<string > 400 -> 1/4
Information [c] 1600 -> 1/16
6400 -> 1/64
0: ND filter OFF
Color Correction c.<c>.wb Selected from c.<c>.wb.list GC-U White balance mode
Information [c] :=<string > *If other modes besides wb=auto is specified when the
capture mode is "fullauto", the capture mode changes to
"manual".
Color Correction c.<c>.wb.list auto, manual, kelvin, daylight, tungsten, G--- White balance mode list
Information [c] :=<string > wb_a, wb_b
Color Correction c.<c>.wb.action Selected from c.<c>.wb.action.list -C-- One-shot white balance
Information [c] :=<string > If this is specified when the capture mode is "fullauto", it is
ignored.
wb search is performed, the value is saved to wb_a or wb_b,
and c.<c>.wb is changed to wb_a orwb_b.
Color Correction c.<c>.wb.value <R gain value>-<B gain value> GC-U R gain, B gain (0 to 1023)
Information [c] :=<string > Only valid when the white balance mode is "manual".
Color Correction c.<c>.wb.kelvin Selected from c.<c>.wb.kelvin.list GC-U Color temperature (K)
Information [c] :=<int > Only valid when the white balance mode is "kelvin".
Color Correction c.<c>.wb.resp c.<c>.wb.resp.min… GC-U WB response (threshold that activates AWB restart)
Information [c] :=<int > c.<c>.wb.resp.max
Color Correction c.<c>.cp Selected from c.<c>.cp.list GC-U Custom picture (Custom of image quality mode)
Information [c] :=<string > *When this item is specified, c.<c>.gamma, c.<c>.colorspace,
and c.<c>.colormatrix are changed to predetermined
combination for each custom picture.
Color Correction c.<c>.cp.list normal1_bt709, normal1_bt2020, G--- Custom picture list CR-N500
Information [c] :=<string > widedr_bt709, widedr_bt2020,
clog3_bt2020, clog3_bt709, off
Color Correction c.<c>.gamma.list normal1, normal2, normal3, normal4, G--- Gamma list CR-N500
Information [c] :=<string > widedr, clog3
Color Correction c.<c>.colormatrix.gain c.<c>.colormatrix.gain.min… GC-U Overall color density of color matrix
Information [c] :=<int > c.<c>.colormatrix.gain.max
Color Correction c.<c>.colormatrix.gain.min -50 G--U Minimum configurable overall color density value of color
Information [c] :=<int > matrix
Color Correction c.<c>.colormatrix.gain.max 50 G--U Maximum configurable overall color density value of color
Information [c] :=<int > matrix
Color Correction c.<c>.colormatrix.phase.min -18 G--U Minimum configurable overall hue value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.phase.max 18 G--U Maximum configurable overall hue value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.rg.min -50 G--U Minimum configurable R-G value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.rg.max 50 G--U Maximum configurable R-G value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.rb.min -50 G--U Minimum configurable R-B value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.rb.max 50 G--U Maximum configurable R-B value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.gr.min -50 G--U Minimum configurable G-R value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.gr.max 50 G--U Maximum configurable G-R value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.gb.min -50 G--U Minimum configurable G-B value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.gb.max 50 G--U Maximum configurable G-B value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.br.min -50 G--U Minimum configurable B-R value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.br.max 50 G--U Maximum configurable B-R value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.bg.min -50 G--U Minimum configurable B-G value of color matrix
Information [c] :=<int >
Color Correction c.<c>.colormatrix.bg.max 50 G--U Maximum configurable B-G value of color matrix
Information [c] :=<int >
Color Correction c.<c>.blacklevel c.<c>.blacklevel.min… GC-U Black level (Black: Master Pedestal)
Information [c] :=<int > c.<c>.blacklevel.max
Color Correction c.<c>.blacklevel.min -50 G--U Minimum configurable value of black level
Information [c] :=<int >
Color Correction c.<c>.blacklevel.red c.<c>.blacklevel.red.min… GC-U Individual adjustment value of black color fogging (RED)
Information [c] :=<int > c.<c>.blacklevel.red.max (Black: Master Black Red)
Color Correction c.<c>.blacklevel.red.min -50 G--U Minimum configurable individual adjustment value of black
Information [c] :=<int > color fogging (RED)
Color Correction c.<c>.blacklevel.red.max 50 G--U Maximum configurable individual adjustment value of black
Information [c] :=<int > color fogging (RED)
Color Correction c.<c>.blacklevel.blue c.<c>.blacklevel.blue.min… GC-U Individual adjustment value of black color fogging (BLUE)
Information [c] :=<int > c.<c>.blacklevel.blue.max (Black: Master Black Red)
Model
Parameter Type Item Name Value Type/Range Attribute Description Specific
Information
Color Correction c.<c>.blacklevel.blue.min -50 G--U Minimum configurable individual adjustment value of black
Information [c] :=<int > color fogging (BLUE)
Color Correction c.<c>.blacklevel.blue.max 50 G--U Maximum configurable individual adjustment value of black
Information [c] :=<int > color fogging (BLUE)
Color Correction c.<c>.blackgamma c.<c>.blackgamma.min… GC-U Gamma correction value of low brightness part (Black
Information [c] :=<int > c.<c>.blackgamma.max Gamma: Level)
Color Correction c.<c>.blackgamma.min -50 G--U Minimum configurable gamma correction value of low
Information [c] :=<int > brightness part
Color Correction c.<c>.blackgamma.max 50 G--U Maximum configurable gamma correction value of low
Information [c] :=<int > brightness part
Color Correction c.<c>.blackgamma.range c.<c>.blackgamma.range.min… GC-U Point adjustment value from reference gamma (Black
Information [c] :=<int > c.<c>.blackgamma.range.max Gamma: Range)
Color Correction c.<c>.blackgamma.range.min -20 G--U Minimum configurable point adjustment value from reference
Information [c] :=<int > gamma
Color Correction c.<c>.blackgamma.range.ma 50 G--U Maximum configurable point adjustment value from reference
Information [c] x gamma
:=<int >
Color Correction c.<c>.blackgamma.point c.<c>.blackgamma.point.min… GC-U Vertex position adjustment value from reference gamma
Information [c] :=<int> c.<c>.blackgamma.point.max (Black Gamma: Point)
Color Correction c.<c>.blackgamma.point .min -20 G--U Minimum configurable vertex position adjustment value from
Information [c] :=<int> reference gamma
Color Correction c.<c>.blackgamma.point .max 50 G--U Maximum configurable vertex position adjustment value from
Information [c] :=<int> reference gamma
Color Correction c.<c>.knee Selected from c.<c>.knee.list GC-U Enable/disable of knee (Knee: Active)
Information [c] :=<string >
Color Correction c.<c>.knee.automatic Selected from c.<c>.knee.automatic.list GC-U Enable/disable of automatic knee adjustment (Knee:
Information [c] :=<string > Automatic)
Color Correction c.<c>.knee.automatic.list on, off G--- List of enabling/disabling automatic knee adjustment
Information [c] :=<string >
Color Correction c.<c>.knee.slope.min -35 G--U Minimum configurable knee slope value
Information [c] :=<int >
Color Correction c.<c>.knee.point .min 50 G--U Minimum configurable knee point value
Information [c] :=<int>
Color Correction c.<c>.knee.point .max 109 G--U Maximum configurable knee point value
Information [c] :=<int>
Color Correction c.<c>.knee.saturation.min -10 G--U Minimum configurable knee saturation value
Information [c] :=<int >
Color Correction c.<c>.wb.shift.rgain c.<c>.wb.shift.rgain.min… GC-U Adjusts the white balance shift amount of red color light and
Information [c] :=<int > c.<c>.wb.shift.rgain.max shade. (White Balance: R Gain)
Color Correction c.<c>.wb.shift.rgain.min -50 G--U Minimum configurable value of the white balance shift amount
Information [c] :=<int > of red color light and shade
Color Correction c.<c>.wb.shift.rgain.max 50 G--U Maximum configurable value of the white balance shift amount
Information [c] :=<int > of red color light and shade
Color Correction c.<c>.wb.shift.bgain c.<c>.wb.shift.bgain.min… GC-U Adjusts the white balance shift amount of blue color light and
Information [c] :=<int > c.<c>.wb.shift.bgain.max shade. (White Balance: B Gain)
Color Correction c.<c>.wb.shift.bgain.min -50 G--U Minimum configurable value of the white balance shift amount
Information [c] :=<int > of blue color light and shade
Color Correction c.<c>.wb.shift.bgain.max 50 G--U Maximum configurable value of the white balance shift amount
Information [c] :=<int > of blue color light and shade.
IS/NR/Sharpness c.<c>.ac.limit.min -50 G--U Minimum configurable value of sharpness value limit
[c] :=<int >
Focus Information c.<c>.focus.action.list stop, one_shot, near, far G--U Focus action list
[c] :=<string > one_shot: One-shot AF
near: Focus movement to short distance side
far: Focus movement to long distance side
stop: Focus operation stop
Focus Information c.<c>.focus.frame.<f>.list auto, large, small G--- AF frame size list
[c] :=<string >
Focus Information c.<c>.focus.frame.<f>.x c.<c>.focus.frame.<f>.x.min… GC-U Center coordinate in horizontal direction of AF frame
[c] :=<int > c.<c>.focus.frame.<f>.x.max
Focus Information c.<c>.focus.frame.<f>.x.min 0 G--- Minimum configurable center coordinate value in horizontal
[c] :=<int > direction of AF frame
Focus Information c.<c>.focus.frame.<f>.x.max 9999 G--- Maximum configurable center coordinate value in horizontal
[c] :=<int > direction of AF frame
Focus Information c.<c>.focus.frame.<f>.y c.<c>.focus.frame.<f>.y.min… GC-U Center coordinate in vertical direction of AF frame
[c] :=<int > c.<c>.focus.frame.<f>.y.max
Focus Information c.<c>.focus.frame.<f>.y.min 0 G--- Minimum configurable center coordinate value in vertical
[c] :=<int > direction of AF frame
Focus Information c.<c>.focus.frame.<f>.y.max 9999 G--- Maximum configurable center coordinate value in vertical
[c] :=<int > direction of AF frame
Focus Information c.<c>.focus.detect Selected from c.<c>.focus.detect.list GC-U Face detection AF setting
[c] :=<string > Forcibly set to "off" depending on the digital zoom ratio, digital
teleconverter ratio, and shutter speed value.
Focus Information c.<c>.focus.detect.list off, faceonly, facecatch G--- Face detection AF setting list
[c] :=<string >
Focus Information c.<c>.focus.auto.track Selected from GC-U Tracking start and stop
[c] :=<string > c.<c>.focus.auto.track.list
Focus Information c.<c>.focus.auto.track.list off, on G--- Tracking start and stop list
[c] :=<string >
Focus Information c.<c>.focus.auto.track.frame. G--- Minimum configurable x coordinate (center) value of tracking
[c] x.min start
:=<int >
Focus Information c.<c>.focus.auto.track.frame. G--- Maximum configurable x coordinate (center) value of tracking
[c] x.max start
:=<int >
Focus Information c.<c>.focus.auto.track.frame. G--- Minimum configurable y coordinate (center) value of tracking
[c] y.min start
:=<int >
Focus Information c.<c>.focus.auto.track.frame. G--- Maximum configurable y coordinate (center) value of tracking
[c] y.max start
:=<int >
Focus Information c.<c>.focus.auto.resp c.<c>.focus.auto.resp.min… GC-U AF response (threshold that activates AF restart)
[c] :=<int > c.<c>.focus.auto.resp.max
Zoom Information c.<c>.zoom.d G--- Digital zoom border value (optical telephoto end)
[c] :=<int >
Zoom Information c.<c>.zoom.mode Selected from c.<c>.zoom.mode.list GC-U Digital zoom mode
[c] :=<string >
Zoom Information c.<c>.zoom.mode.list off, dzoom, mag G--- Digital zoom mode list
[c] :=<string >
Zoom Information c.<c>.zoom.mag Selected from c.<c>.zoom.mag.list -C-U Digital zoom ratio (digital teleconverter)
[c] :=<int > When this is set, c.<c>.zoom.mode is automatically changed
to "mag".
Zoom Information c.<c>.zoom.mag.list 100, 150, 300, 600 G--- Digital zoom ratio list (digital teleconverter) CR-N500
[c] :=<string >
Zoom Information c.<c>.zoom.min 570 G--U Zoom telephoto side control limit
[c] :=<int > This changes in other mode besides the off mode in
accordance with the digital zoom ratio and the teleconverter
ratio.
Zoom Information c.<c>.zoom.max 7300 G--U Zoom wide-angle side control limit
[c] :=<int > This changes in accordance with the teleconverter ratio during
the mag mode.
Zoom Information c.<c>.zoom.limit.min 570 G--U Zoom telephoto side movable limit
[c] :=<int >
Zoom Information c.<c>.zoom.limit.max 7300 G--U Zoom wide-angle side movable limit
[c] :=<int >
Zoom Information c.<c>.zoom.speed c.<c>.zoom.speed.min… -CP- Operation specification/position specification zoom speed
[c] :=<int > c.<c>.zoom.speed.max
Pan/Tilt Information c.<c>.pan.min -17000 G--U Left side control limit of pan operation
[c] :=<int >
Pan/Tilt Information c.<c>.pan.max 17000 G--U Right side control limit of pan operation
[c] :=<int >
Pan/Tilt Information c.<c>.pan.limit.min -17000 G--U Left side movable limit of pan operation
[c] :=<int >
Pan/Tilt Information c.<c>.pan.limit.max 17000 G--U Right side movable limit of pan operation
[c] :=<int >
Pan/Tilt Information c.<c>.pan.speed.mode Selected from -CP- Pan operating speed mode
[c] :=<string > c.<c>.pan.speed.mode.list
Pan/Tilt Information c.<c>.pan.speed.mode.pos Selected from GC-U Position specification pan operating speed mode
[c] :=<string > c.<c>.pan.speed.mode.list
Pan/Tilt Information c.<c>.pan.speed.mode.dir Selected from GC-U Operation specification pan operating speed mode
[c] :=<string > c.<c>.pan.speed.mode.list
Pan/Tilt Information c.<c>.pan.speed.mode.list manual,auto1,auto2 G--- Pan operating speed mode list
[c] :=<string > manual: Controlled at a constant speed.
auto1: Speed control in accordance with the ratio to the
horizontal angle of view c.<c>.pan.speed.ratio is used.
auto2: The speed specified by speed control in accordance
with the ratio to the horizontal angle of view c.<c>.pan.speed
is regarded as the speed at the wide angle end, and operation
is performed at a speed corresponding to the angle of view.
Pan/Tilt Information c.<c>.pan.speed c.<c>.pan.speed.min… -CP- Pan speed during “manual” or “auto2”
[c] :=<int > c.<c>.pan.speed.max 100 sets the speed of movement to once per second
Pan/Tilt Information c.<c>.pan.speed.pos c.<c>.pan.speed.min… GCPU Position specification pan speed during “manual” or “auto2”
[c] :=<int > c.<c>.pan.speed.max
Pan/Tilt Information c.<c>.pan.speed.dir c.<c>.pan.speed.min… GCPU Operation specification pan speed during “manual” or “auto2”
[c] :=<int > c.<c>.pan.speed.max
Pan/Tilt Information c.<c>.pan.speed.min 10 G--- Minimum configurable pan speed value during “manual” or
[c] :=<int > “auto2”
Pan/Tilt Information c.<c>.pan.speed.max 10000 G--- Maximum configurable pan speed value during “manual” or
[c] :=<int > “auto2”
Pan/Tilt Information c.<c>.pan.speed.ratio.pos c.<c>.pan.speed.ratio.min… GCPU Position specification pan speed during “auto1”
[c] :=<int > c.<c>.pan.speed.ratio.max
Pan/Tilt Information c.<c>.pan.speed.ratio.dir c.<c>.pan.speed.ratio.min… GCPU Operation specification pan speed during “auto1”
[c] :=<int > c.<c>.pan.speed.ratio.max
Pan/Tilt Information c.<c>.pan.speed.ratio.min G--- Minimum configurable pan speed value during “auto1”
[c] :=<int >
Pan/Tilt Information c.<c>.pan.speed.ratio.max G--- Maximum configurable pan speed value during “auto1”
[c] :=<int >
Pan/Tilt Information c.<c>.tilt.min -3000 G--U Downward control limit of tilt operation
[c] :=<int >
Pan/Tilt Information c.<c>.tilt.max 9000 G--U Upward control limit of tilt operation
[c] :=<int >
Pan/Tilt Information c.<c>.tilt.limit.min -3000 G--U Downward movable limit of tilt operation
[c] :=<int >
Pan/Tilt Information c.<c>.tilt.limit.max 9000 G--U Upward movable limit of tilt operation
[c] :=<int >
Pan/Tilt Information c.<c>.tilt.speed.mode Selected from c.<c>.tilt.speed.mode.list -CP- Tilt operating speed mode
[c] :=<string >
Pan/Tilt Information c.<c>.tilt.speed.mode.pos Selected from c.<c>.tilt.speed.mode.list GC-U Positional tilt operating speed mode
[c] :=<string >
Pan/Tilt Information c.<c>.tilt.speed.mode.dir Selected from c.<c>.tilt.speed.mode.list GC-U Operational tilt operating speed mode
[c] :=<string >
Pan/Tilt Information c.<c>.tilt.speed.mode.list manual,auto1,auto2 G--- Tilt operating speed mode list
[c] :=<string > manual: Controlled at a constant speed.
auto1: Speed control in accordance with the ratio to the
vertical angle of view c.<c>.tilt.speed.ratio is used.
auto2: The speed specified by speed control in accordance
with the ratio to the vertical angle of view c.<c>.tilt.speed is
regarded as the speed at the wide angle end, and operation is
performed at a speed corresponding to the angle of view.
Pan/Tilt Information c.<c>.tilt.speed c.<c>.tilt.speed.min… -CP- Tilt speed during “manual” or “auto2”
[c] :=<int > c.<c>.tilt.speed.max 100 sets the speed of movement to once per secon
Pan/Tilt Information c.<c>.tilt.speed.pos c.<c>.tilt.speed.min… GCPU Position specification tilt speed during “manual” or “auto2”
[c] :=<int > c.<c>.tilt.speed.max
Pan/Tilt Information c.<c>.tilt.speed.dir c.<c>.tilt.speed.min… GCPU Operation specification tilt speed during “manual” or “auto2”
[c] :=<int > c.<c>.tilt.speed.max
Pan/Tilt Information c.<c>.tilt.speed.min 10 G--- Minimum configurable tilt speed value during “manual” or
[c] :=<int > “auto2”
Pan/Tilt Information c.<c>.tilt.speed.max 10000 G--- Maximum configurable tilt speed value during “manual” or
[c] :=<int > “auto2”
Pan/Tilt Information c.<c>.tilt.speed.ratio.pos c.<c>.tilt.speed.ratio.min… GC-U Position specification tilt speed during “auto1”
[c] :=<int > c.<c>.tilt.speed.ratio.max
Pan/Tilt Information c.<c>.tilt.speed.ratio.dir c.<c>.tilt.speed.ratio.min… GC-U Operation specification tilt speed during “auto1”
[c] :=<int > c.<c>.tilt.speed.ratio.max
Pan/Tilt Information c.<c>.tilt.speed.ratio.min G--- Minimum configurable tilt speed value during “auto1”
[c] :=<int >
Model
Parameter Type Item Name Value Type/Range Attribute Description Specific
Information
Pan/Tilt Information c.<c>.tilt.speed.ratio.max G--- Maximum configurable tilt speed value during “auto1”
[c] :=<int >
Preset Information p.<p>.content enabled, disabled G--U Preset parameter saving flag
[p] :=<string > Any parameter that is registered to preset is “enabled”.
Trace Information t.status idle, recording, preparing, prepared, G--U Trace status
[t] :=<string > playing
Tally Lamp f.tally Selected from f.tally.list GC-U Use/non-use of tally lamp
Information [f] :=<string >
Tally Lamp f.tally.list off, on G--- List for tally lamp use
Information [f] :=<string >
Model
Parameter Type Item Name Value Type/Range Attribute Description Specific
Information
Tally Lamp f.tally.mode Selected from f.tally.mode.list GC-U Tally lamp mode
Information [f] :=<string >
Tally Lamp f.tally.mode.list preview, program G--- Tally lamp mode list
Information [f] :=<string >
Light Amount c.<c>.me.gainlimit.max.max Fixed to 360 (equivalent to 36 dB) G--U Maximum configurable gain limit value on maximum (upper)
Correction :=<int > side
Information [c]
Light Amount c.<c>.nd.filter Selected from c.<c>.nd.filter.list GC-U ND filter mode is specified.
Correction :=<int > The ND filter can be specified/read.
Information [c]
Zoom Information c.<c>.zoom.mag.list 100, 150, 300, 600 G--- Digital zoom ratio list (digital teleconverter)
[c] :=<string >
(End)