NetworkCamera APIGuideV4
NetworkCamera APIGuideV4
VN-H37/137/237/237VP
VN-H57/157WP/257/257VP
This document provides information of protocol and API of JVC new IP cameras,
VN-H series.
Specifications subject to change without notice.
2012.06.29. (V4.00)
1
Updates
Version Date Updates
1.00 2012/1/31 New release
1.01a 2012/02/23 Corrections of typographical error
Page 5, section 2.1: change boundary to server_push
Page 6, section 2.2: change boundary to server_push
Page 14, Getting Enhance of Scene File: change 11 internal levels to 14
internal levels.
Page 15, Setting Enhance of Scene File: change 11 internal levels to 14
internal levels.
Page 17, Getting / Setting Shutter Speed of a Scene File:“auto” is added.
Page 22, Setting Frame Rate: 15, 10, and 7.5 is added.
1.01b 2012/03/06 Page 6, section 2.3. Response is added.
Page 7, section 2.4. Restrictions is added.
Page 7, section 2.5. JPEG File Format Sent Out by the camera is added.
Page 10, section 3.3. Response is added.
Page 10, section 3.4. Restrictions is added.
Page 10, section 3.5. H.264 Stream Format Send Out by the camera is added.
Page 81, Default User Name is changed from PSIATest to psia.
Default Password is changed from PSIATest to jvc.
2.00 2012/04/16 Page 6, section 2.2, Setting Frame Rate: 30, 15, 10, and 7.5 is added.
Page 12, section 4, “JVC Protocol :MPEG-4 Streaming” is added.
Page 19, section 8, “Getting Preset Data of Scene File” is added.
Page 21, section 8, “Enhance”: Explanation of parameter is added.
Page 22, section 8, Getting and Setting 3DDNR is added.
Page 25, section 8, Getting and Setting ALC priority is added.
Page 26, section 8, Corrections of typographical error: Easy is removed.
Page 26, section 8, Getting and Setting Easy Day and Night is added.
Page 27, section 8, Getting and Setting CLVI is added.
Page 28, section 9, Setting Compression Format : mpeg4 is added.
Page 29, section 9, Setting Resolution : 320x180 is removed.
Page 29, section 9, Getting and Setting Rate Control Setting : MPEG-4 is
added.
Page 29, section 9, Setting Rate Control: Explanation of parameter is added.
Page 29, section 9, Getting and Setting bitrate : MPEG-4 is added.
Page 30, section 9, Getting and Setting I-Frame Interval : MPEG-4 is added.
Page 31, section 9, Getting and Setting Monitor Out is added.
Page 59, section 16, JVC API for Tampering Detect is added.
Page 69, section 18, Getting and Setting Status of PSIA Protocol is added.
Page 69, section 18, Getting and Setting Status of ONVIF Protocol is addded.
Page 84, section 26, Getting and Setting Port Number of RTSP Server is
added.
Continue on next page
2
Version Date Updates
2.01 2012/05/08 Page 5, “JVC API for Audio” is added.
Page 5, “Getting Audio from the Camera via HTTP” is added.
Page 5, “Sending Audio to the Camera” is added.
Page 33, section 10, JVC API for Audio is added.
Page 36, section 11, Getting and Setting Alarm Action: “audioplay” and
“pinout” are added.
Page 41, section 11, Getting and Setting Alarm Trigger: “m1”, “b1”, “m2”, “b2”,
“audio_detect1”, “audio_detect2”, “tampering_detect”, “ncbwe” and “ncbws”
are added.
Page 87, section 28, “Getting Audio from the Camera via HTTP” is added.
Page 90, section 29, “Sending Audio to the Camera” is added.
Page 92, section 31, List of ActiveX: “Audio Monitor” and “Audio Sending
Client” are added.
Page 93, section 31, Properties of ActiveX: Explanation of default Folder
Name is added.
Page 94, section 31, Properties of ActiveX: Audio Monitor / Audio Sending
Client is added.
Page 95, section 31, Method of ActiveX Control: Audio Monitor / Audio
Sending Client is added.
Page 96, section 31, How to use ActiveX control by HTML: Audio Monitor and
Audio Sending Client are added.
Page 97, section 31, HTML Sample: Audio Monitor and Audio Sender are
added.
3.00 2012/05/21 Page 5, 13. JVC API for SD Card Record is added.
Page 5, 31. Getting SD Card data from the Camera via RTSP/RTP is added.
Page 5, 32. Exporting H.264 data from SD Card to the PC is added.
Page 35, section 11, Explanation of SD Card recording is added.
Page 51, section 12, Getting and Setting Parameters of Pre/Post Recording
for FTP : Explanation of Encoder No. is added.
Page 53, 13. JVC API for SD Card Record is added.
Page 96, 31. Getting SD Card data from the Camera via RTSP/RTP is added.
Page 97, 32. Exporting H.264 data from SD Card to the PC
4.00 2012/06/29 Page 30, section 9, Corrections of typographical error
change from “channel is saved” to “channel is availed”
Page 30, section 9, Example of Setting Compression Format is added.
Page 35, section 11, event No.10 is added.
Page 60, section 14, “Moving Specified Position to Center” is added.
3
Preface
4
Content
1. Streaming Protocol.................................................................................................................................................... 7
2. JVC Protocol: JPEG Streaming ......................................................................................................................... 7
3. JVC Protocol: H.264 Streaming ....................................................................................................................... 11
4. JVC Protocol: MPEG-4 Streaming ................................................................................................................. 14
5. RTSP/RTP ...................................................................................................................................................................... 17
6. API to Search Camera............................................................................................................................................ 17
7. Using API that Requires Basic Authentication ..................................................................................... 18
8. JVC API for Camera ................................................................................................................................................ 20
9. JVC API for Encode ................................................................................................................................................. 30
10. JVC API for Audio (VN-H57/157WP/257/257VP) ............................................................................... 34
11. JVC API for Alarm ................................................................................................................................................ 35
12. JVC API for Alarm Environment................................................................................................................. 44
13. JVC API for SD Card Record ........................................................................................................................ 52
14. JVC API for Digital PTZ .................................................................................................................................... 55
15. JVC API for Auto Patrol ................................................................................................................................... 62
16. JVC API for Privacy Masking ....................................................................................................................... 64
17. JVC API for Motion Detect ............................................................................................................................. 66
18. JVC API for Tampering Detect .................................................................................................................... 67
19. JVC API for Network Basics ......................................................................................................................... 69
20. JVC API for Protocol.......................................................................................................................................... 75
21. JVC API for Multicast Streaming ............................................................................................................... 77
22. JVC API for Access Restrictions ............................................................................................................... 80
23. JVC API for Time .................................................................................................................................................. 82
24. JVC API for Password ...................................................................................................................................... 85
25. JVC API for Maintenance ................................................................................................................................ 86
26. JVC API for LED Setting .................................................................................................................................. 87
27. JVC API for Getting Status ............................................................................................................................ 88
28. JVC API for Others .............................................................................................................................................. 90
29. Getting Audio from the Camera via HTTP (VN-H57/157WP/257/257VP)........................... 92
30. Sending Audio to the Camera (VN-H57/157WP/257/257VP).................................................... 94
31. Getting SD Card data from the Camera via RTSP/RTP ............................................................... 96
32. Exporting H.264 data from SD Card to the PC .................................................................................. 98
33. List of Protocols and Port Numbers Used ........................................................................................100
34. Customizing Built-in Viewer .......................................................................................................................100
5
35. PSIA ............................................................................................................................................................................108
36. FAQ .............................................................................................................................................................................108
6
1. Streaming Protocol
- Both JVC protocol and standard RTSP/RTP are supported.
- JPEG, H.264 baseline profile, and H.264 high profile are supported. MPEG-4 will be supported in
future.
- Maximum resolution is 1920x1080.
- VN-H series can send 3 different resolution streams of JPEG simultaneously.
- VN-H series can send 3 different resolution streams of H.264 simultaneously.
- Sending JPEG stream and H.264 stream simultaneously is supported.
JPEG files in boundary structure will be sent out continuously after HTTP response. Each Content-Length is the
size of each JPEG data. Using the size, reading the whole data of each JPEG is possible. HTTP Response and
JPEG data sent out by the camera are as follows.
HTTP Response
--foo<CRLF>
Content-Type: image/jpeg<CRLF>
Content-Length: 31614<CRLF><CRLF>
--foo<CRLF>
Content-Type: image/jpeg<CRLF>
Content-Length: 32756<CRLF><CRLF>
,,,
7
4) When the client wants to stop current JPEG transmission, the client disconnects TCP80.
The camera does not accept further API via current TCP that is used for JPEG transmission. To change
parameter, disconnect current TCP to stop the JPEG transmission, connect new TCP, and send API with new
parameter.
Unlike APIs for getting/setting parameters, Accept line is not required. Basic authentication is also not necessary.
Example
GET /api/video?encode=jpeg(1)&framerate=5&server_push=on HTTP/1.1<CRLF>
Host: 192.168.0.2<CRLF><CRLF>
Parameter value is indicated using =. Do not insert space before and after =.
Example framerate=1
Parameters are segmented using &. Do not insert space before and after &.
Example encode=jpeg&framerate=5
There is no need to specify all parameters. Default values will be used for parameters that are not specified.
Parameter Description
encode For specifying compression format with channel number. For example, specify as encode=jpeg(1) to get
JPEG encoded by channel 1. To know compression format of each channel, open Encoder setting page by IE
described in INSTRUCTIONS manual, or issue "encode" API described in later chapter of this document.
framerate For specifying the frame rate. For example, specify as framerate=5 to get at 5 fps. Specify as
framerate=-5 to get at 1/5 fps, or in other words, 1 frame in 5 seconds. Selection range for JPEG is as follows.
30, 15, 10, 7.5, 5, 3, 2, 1, 0, -2, -3, -5, -10, -15, -20, -30, -60
When the parameter is specified as framerate=0, the camera sends 1 frame of JPEG data, and disconnect the
TCP connection.
server_push For specifying streaming structure. For example, specify as server_push=on to get Server Push
8
structured JPEG. When framerate=0 is specified, Server Push is disabled even if server_push=on is specified.
2.3. Response
When API with server_push=on is successfully received.
The camera will return 200 OK. The x-vnh37_response line indicates actual parameter.
Example of VN-H137
HTTP/1.1 200 OK<CRLF>
Content-Type: multipart/x-mixed-replace;boundary=foo<CRLF>
Date: Tue, 06 Mar 2012 13:32:57 GMT<CRLF>
The camera will return 200 OK. The x-vnh37_response line indicates actual parameter.
Example of VN-H137
HTTP/1.1 200 OK<CRLF>
Connection: Keep-Alive<CRLF>
Content-Type: image/jpeg<CRLF>
x-vnh37_response: encode=jpeg&framerate=5.0&framesize=1920x1080&server_push=off&ptz_info=off<CRLF>
<CRLF>
2.4. Restrictions
Access restriction
The camera has access restriction feature that enables to deny access from a specific IP address. If JPEG is
requested from the IP address of access restriction, the camera disconnects the TCP connection after API is sent.
Number of clients
The maximum number of clients that can get JPEG stream depends on encode settings and requests from client.
9
Refer the instruction manual for detailed infomation.
The following information is stored in the comment segment 1. Each item has a fixed length.
Item names and values, excluding the version information that does not include =, are stored in the following
format.
10
Example: When width=640, the 13-byte area will be written as follows.
w i d t h = 6 4 0 0x00 0x00
Example to get H.264 high profile stream encoded by first channel of the camera
Host: 192.168.0.2<CRLF><CRLF>
HTTP Response
I Picture of H.264 (First Frame)
,,,
4) When the client wants to stop current H.264 transmission, the client disconnects TCP80.
The camera does not accept further API via current TCP that is used for H.264 transmission. To change
parameter, disconnect current TCP to stop the H.264 transmission, connect new TCP, and send API with new
parameter.
11
Host: space IP Address of Camera 0x0D 0x0A 0x0D 0x0A
Unlike APIs for getting/setting parameters, Accept line is not required. Basic authentication is also not necessary.
Example
Parameter value is indicated using =. Do not insert space before and after =.
Example encode=h264(1)
Parameter Description
encode For specifying compression format. For example, specify as encode=h264(1) to get H.264 encoded by
channel 1. To know compression format of each channel, open Encoder setting page by IE described in
INSTRUCTIONS manual, or issue "encode" API described in later chapter of this document.
3.3. Response
When API is successfully received.
The camera will return 200 OK. The x-vnh37_response line indicates actual parameter.
Example of VN-H137
HTTP/1.1 200 OK<CRLF>
Connection: Keep-Alive<CRLF>
Content-Type: video/mp4v-es<CRLF>
x-vnh37_response: encode=h264&framesize=1920x1080<CRLF>
3.4. Restrictions
Access restriction
The camera has access restriction feature that enables to deny access from a specific IP address. If H.264 is
requested from the IP address of access restrictions, the camera disconnects the TCP connection after API is
send.
12
H.264 stream form the camera is sequence of I Picture and P Picture. Ratio of I Picture and P Picture depends on
I-Frame interval setting. Encode page of Web has the setting.
User data
I Picture
User data
P Picture
User data
I Picture
There are Sequence Parameter Set, Picture Parameter Set, and User data before each I Picture and there is User
data before each P Picture.
The following information is stored in the User data. Each item has a fixed length.
Item Size Example Note
Start code 4 0x00000001 Start code of User data in H.264 stream.
NAL unit type 1 0x66 NAL unit type of User data in H.264 stream.
Payload type 1 0x05 Payload type of User data in H.264 stream.
User data size 1 0xf0 Size of User data in H.264 stream.
Reserved 16 0x030303030303030 -
30303030303030303
Model Name 18 type = VN-H137 Product Name
Time Stamp 70 timestamp = This is made up of the year/month/day,
2012030623341253 hour/minute/second, millisecond and timezone code.
8UTC
Camera ID 50 camera = input01 Camera ID that user can define
Motion Detect Result 7 md = 1 Specified as 1 if motion is detected at the time when
data is created.
Tampering Detect 14 tampering = 0 Specified as 1 if tampering is detected at the time when
Result data is created.
13
Pan position 16 digipan = 123 Indicates pan position in pixels from 0 to 1278.
Tilt position 17 digitilt = 123 Indicates tilt position in pixels from 0 to 958.
Zoom position 17 digizoom = 1.23 Indicates zoom value from 1.00 to 8.00.
Preset Posision 15 position = 19 Indicates preset position number after moving to
Number preset position. In other cases, position = NA.
Example
GET /api/video?encode=mpeg4 HTTP/1.1<CRLF>
Host: 192.168.0.2<CRLF><CRLF>
HTTP Response and MPEG-4 stream sent out by the camera are as follows.
HTTP Response
VOP of MPEG_4 (First Frame)
,,,
4) When the client wants to stop current MPEG-4 transmission, the client disconnects TCP80.
The camera does not accept further API via current TCP that is used for H.264 transmission. To change
parameter, disconnect current TCP to stop the MPEG-4 transmission, connect new TCP, and send API with new
parameter.
14
Unlike APIs for getting/setting parameters, Accept line is not required. Basic authentication is also not necessary.
Example
GET /api/video?encode=mpeg4 HTTP/1.1<CRLF>
Host: 192.168.0.2<CRLF><CRLF>
Parameter value is indicated using =. Do not insert space before and after =.
Example encode=h264
Parameter Description
encode For specifying compression format.
4.3. Response
When API is successfully received.
The camera will return 200 OK. The x-vnh37_response line indicates actual parameter.
Example of VN-H137
HTTP/1.1 200 OK<CRLF>
Connection: Keep-Alive<CRLF>
Content-Type: video/mp4v-es<CRLF>
4.4. Restrictions
Access restriction
The camera has access restriction feature that enables to deny access from a specific IP address. If MPEG-4 is
requested from the IP address of access restrictions, the camera disconnects the TCP connection after API is
send.
15
Ratio of I-VOP and P-VOP depends on I-Frame interval setting. Encode page of Web has the setting.
First VOP can be I-VOP or P-VOP. If client want to decode from I-VOP, please skip P-VOP and wait first I-VOP.
P-VOP
P-VOP
P-VOP
VOL
I-VOP
P-VOP
There are VOL, Userdata1, GOV and Userdata2 before each I-VOP.
16
5. RTSP/RTP
5.1. URI
RTSP of the camera is RFC2326 compliant.
Three encoders can be enabled in the camera at its maximum. Each encoder's URI for RTSP is:
Encoder Channel URI of RTSP
1 rtsp://ipaddress/PSIA/Streaming/channels/0
2 rtsp://ipaddress/PSIA/Streaming/channels/1
3 rtsp://ipaddress/PSIA/Streaming/channels/2
To know compression format of each channel, open Encoder setting page by IE described in INSTRUCTIONS
manual, or issue "encode" API described in later chapter of this document.
5.2. JPEG
- RFC
JPEG/RTP of the camera is RFC2435 compliant.
If maxFrameRate is not specified, the camera tries to send JPEG at its maximum frame rate.
5.3. H.264
H.264/RTP of the camera is RFC3984 compliant.
search packet. UDP payload of response packet has model name, IP address, and subnet mask. The camera
17
waits 0-0.7 second before sending response to avoid too many responses are sent in short period from many
cameras.
7.1. Procedure
1) The client establishes a TCP connection to port number 80.
2) The client sends API.
API has following structure.
The following is an example of API for Getting subnet mask of the camera.
Example
Specify the response format by Accept line. Plain text response is returned when this is specified as text/plain.
HTML response is returned when text/html is specified. HTML response is returned when Accept is not specified.
These APIs for getting/setting parameters are protected by basic authentication. Authorization line needs to
include encoded username and password. There are 3 types of usernames, namely admin, operator and user.
Available APIs are different for each username. Join the user name and the password using a colon, Base64
encode this character string and enter this in the Authorization line.
then the character string joining the user name and the password with a colon is:
18
admin:jvc
Base64 encoding of this string yields YWRtaW46anZj. Enter this in the Authorization line. Default password for
3) The camera returns a response to the client. In the following example, current subnet mask is 255.0.0.0. In
addition, 255.0.0.0 is followed by & and 200 OK, indicating that getting parameter is successful.
Example
HTTP/1.1 200 OK<CRLF>
Connection: close<CRLF>
Content-Length: 80<CRLF>
Content-type: text/plain<CRLF>
Date: Fri, 13 MAY 2011 07:33:12 GMT<CRLF>
Server: JVC VN-H37 API Server<CRLF>
network.interface.subnetmask=255.0.0.0&200 OK<CRLF>
Note: APIs for getting/setting parameters are not restricted by the access restriction function.
/api/param?ParamA.ParamB.ParamC
It is possible to get multiple parameters at a time. Connect parameters with &. Do not insert space before and after
&.
/api/param?ParamA.ParamB.ParamC&ParamA.ParamD.ParamE
The upper limit of this character string is 1024 bytes. The maximum number of parameters that can be acquired at
When acquisition is successfully completed, values will be shown in the body of HTTP response, followed by
19
When an error occurs, an error code will be returned instead of indicating a value in the body of HTTP response.
Example:
ParamA.ParamB.ParamC&401 Unauthorized
When multiple APIs for getting are performed at one time, a response will be returned for each setting.
ParamA.ParamB.ParamC&200 OK<CRLF>
ParamA.ParamB.ParamD&200 OK<CRLF>
/api/param?ParamA.ParamB.ParamC=Data
Parameter values are indicated using =. Do not insert space before and after =.
It is possible to perform multiple settings at a time. Connect parameters with &. Do not insert space before and
after &.
/api/param?ParamA.ParamB.ParamC=Data&ParamA.ParamB.ParamD=Data
The upper limit of this character string is 1024 bytes. The maximum number of parameters that can be set at a
time is 15. Status settings, i.e. network.interface.status, network.dns.status, network.ntp.status, etc., can
ParamA.ParamB.ParamC&200 OK
An error code will be returned when setting is not properly performed. Example:
ParamA.ParamB.ParamC&401 Unauthorized
When multiple settings are performed at one time, a response will be returned for each setting.
ParamA.ParamB.ParamC&200 OK<CRLF>
ParamA.ParamB.ParamD&200 OK<CRLF>
Getting Camera ID
20
Format /api/param?camera.id
Example of response camera.id=VN-H37&200 OK
Camera ID is used as sender's display name of alarm mail. If you want to set sender's mail address, see
"Setting Sender Mail Address".
Setting Camera ID
Format /api/param?camera.id=data
Example /api/param?camera.id=Camera01
Interpretation Change the camera ID stored in comment segment of JPEG. Maximum size is 40 bytes.
To use following characters, specify by hexadecimal number after %.
To use space, specify as %20(0x25, 0x32, 0x30). If you want to set "Comment In JPEG" for example, specify
as follows. /api/param?camera.id=Comment%20In%20JPEG
The Camera ID is used as sender's display name of alarm mail. If you want to set sender's mail address, see
Sender Camera01<somename@somecompany.com>
The change is saved by the API, camera.status=save. If the change is not saved, the setting is restored by reboot.
Allowed users admin, operator
21
Allowed users admin, operator, user
camera.scene(0).status=General-55--0.45-30-auto-off-0-51-off-low-53-mid-autoM-2-combo-color-8-8-auto
W-107-65-off-off-0-normal&200 OK
Interpretation Acquire preset data of specified scene file. The preset data is joined with hyphen as follows.
*1 *2 *1
scenename-color-monitortype -gamma-shutter-brightness.highgain -auto_focus-iris-pedestal-autoblack -enha
*1 *2
nce_band -enhance-3ddnr-brightness-senseup_limit-auto_exposure.priority-true_daynight -avpk_color-avpk_b
*3 *1
w -white_balance-white_balance_r-white_balance_b-blc-clvi-autoexposure.reference-atw_convergence
*1
parameter that is marked with : The parameter is not used or data value is invalid.
*2
parameter that is marked with : The parameter is used for VN-H37and VN-H237VP.
*3
parameter that is marked with : The parameter is used for VN-H137and VN-H237.
Interpretation Acquire current scene file name. Range of scene file number is between 0 to 7.
Scene file names are General, Indoor, Outdoor, CLVI, Traffic, DataSaving, Day, and Night.
Scene file name is read only.
22
Getting Auto Exposure Reference of a Scene File
Format /api/param?camera.scene(number).auto_exposure.reference
bigger, image becomes brighter. The change of scene file 0 is saved by the API, camera.scene(0).status=save. If
the change is not saved, the setting is restored by reboot.
internal levels. The larger the value, the stronger will be the color.
Allowed users admin, operator, user
specifying "-". The change of scene file 0 is saved by the API, camera.scene(0).status=save. If the change is not
saved, the setting is restored by reboot.
Allowed users admin, operator
23
Getting Enhance of a Scene File
Format /api/param?camera.scene(number).image.enhance
The value is mapped to 14 internal levels. It becomes sharper 1 step by specifying "+", softer 1 step by specifying
"-". The change of scene file 0 is saved by the API, camera.scene(0).status=save. If the change is not saved, the
Interpretation Acquire 3DDNR (3 Dimension Digital Noise Reduction) setting. “off”, “low”, “mid” of “high”is
returned.
Allowed users admin, operator, user
24
Interpretation Acquire white balance setting. "autoW", "autoN", or "manual" is returned.
Allowed users admin, operator, user
Interpretation Acquire R-gain of white balance setting. s0 to s255 is returned. The s before number means
"step". Default value is s85.
Example /api/param?camera.scene(0).image.white_balance.r=s100
Example of response
camera.scene(0).image.white_balance.r&202 Accepted(camera.status=save)
Interpretation Change R-gain white balance setting. Specify s0 to s255. The s before number means "step".
Default value is s85. The change of scene file 0 is saved by the API, camera.scene(0).status=save. If the change
is not saved, the setting is restored by reboot.
25
Setting B-Gain of White Balance of a Scene File
Format /api/param?camera.scene(number).image.white_balance.b=data
Example /api/param?camera.scene(0).image.white_balance.b=s100
Example of response
camera.scene(0).image.white_balance.b&202 Accepted(camera.status=save)
Interpretation Change B-gain white balance setting. Specify s0 to s255. The s before number means "step".
Default value is s219. The change of scene file 0 is saved by the API, camera.scene(0).status=save. If the change
is not saved, the setting is restored by reboot.
Allowed users admin, operator
by the API, camera.scene(0).status=save. If the change is not saved, the setting is restored by reboot.
The AGC setting is limited by Day and Night setting. Change Day and Night first, then change AGC setting.
Allowed users admin, operator
Example /api/param?camera.scene(0).image.senseup_limit=4
Example of response camera.scene(0).image.senseup_limit&202 Accepted(camera.status=save)
26
Interpretation Change limit of sense up. Specify 0, 2, 4, 8, 16, 32, 60, "+" or "-". It becomes bigger 1 step by
specifying "+", smaller 1 step by specifying "-". The change of scene file 0 is saved by the API,
Interpretation Change ALC priority. ALC priority decides what is used first for auto exposure. “combo”, “motion” or
“quality”is returned. In case of “combo”, selects the best combination automatically. In case of “motion”, assigns
Interpretation Acquire shutter speed setting. “auto”, "auto100", "auto1000", 30, 50, 60, 100, 250, 500, 1000,
2000, 4000, 10000 or "flickerless" is returned. For example, 60 means shutter speed 1/60. In case of “auto”, the
shutter speed is adjusted from 1/30 to 1/10000. In case of "auto100", the shutter speed is adjusted from 1/30 to
1/100. In case of "auto1000", the shutter speed is adjusted from 1/30 to 1/1000. In case of "flickerless", the shutter
speed that avoids flicker is selected automatically.
Allowed users admin, operator, user
27
Example of response camera.scene(0).shutter&202 Accepted(camera.scene.status=save)
Interpretation Change shutter speed setting. Specify "auto100", "auto1000", 30, 50, 60, 100, 250, 500, 1000,
2000, 4000, 10000 or "flickerless", "+" or "-". To set 1/60 for example, specify 60. It becomes shorter 1 step by
specifying "+", longer 1 step by specifying "-". The change of scene file 0 is saved by the API,
camera.scene(0).status=save. If the change is not saved, the setting is restored by reboot.
Allowed users admin, operator
Getting Day and Night Setting of a Scene File (for VN-H37 and VN-H237VP)
Format /api/param?camera.scene(number).image.true_daynight
Example of response camera.scene(0).image.true_daynight=off&200 OK
Interpretation Acquire Day and Night setting. "color", "bw", "autoL", "autoM", or "autoH" is returned.
Allowed users admin, operator, user
Setting Day and Night Setting of a Scene File (for VN-H37 and VN-H237VP)
Format /api/param?camera.scene(number).image.true_daynight=data
Example /api/param?camera.scene(0).image.true_daynight=on
Example of response
camera.scene(0).image.true_daynight&202 Accepted(camera.scene.status=save)
Interpretation Change Day and Night setting. Specify "color", "bw", "autoL", "autoM", or "autoH". The change of
scene file 0 is saved by the API, camera.scene(0).status=save. If the change is not saved, the setting is restored
by reboot.
The AGC setting is limited by Day and Night setting. Change Day and Night first, then change AGC setting.
Allowed users admin, operator
Getting Easy Day and Night Setting of a Scene File (for VN-H137 and VN-H237)
Format /api/param?camera.scene(number).image.brightness.highgain
Example of response camera.scene(0).image.brightness.highgain=color&200 OK
Interpretation Acquire Easy Day and Night setting. "color", "bw" or "auto" is returned.
Allowed users admin, operator, user
Setting Easy Day and Night Setting of a Scene File (for VN-H137 and VN-H237)
Format /api/param?camera.scene(number).image.brightness.highgain=data
Example /api/param?camera.scene(0).image.brightness.highgain=color
Example of response
camera.scene(0).image.brightness.highgain&202 Accepted(camera.scene.status=save)
Interpretation Change Day and Night setting. Specify "color", "bw" or "auto". The change of scene file 0 is saved
28
by the API, camera.scene(0).status=save. If the change is not saved, the setting is restored by reboot.
The AGC setting is limited by Day and Night setting. Change Day and Night first, then change AGC setting.
Interpretation Change Back Light Compensation setting. Specify "off", "a", "b", "c" or "d". Refer the instruction
manual for detailed information of "a", "b", "c" and "d". The change of scene file 0 is saved by the API,
file 0 is saved by the API, camera.scene(0).status=save. If the change is not saved, the setting is restored by
reboot.
Allowed users admin, operator
29
9. JVC API for Encode
These APIs are related to camera settings. Same functions are shown on the Encode page of the WEB setting
page. Refer to the instruction manual for details on the Encode page.
Though multiple encode is available, there are limitations to set multiple encode channels. If VMS does not get
multiple streams from a camera, setting only first channel is recommended that can simplify such limitations.
Example /api/param?encode(1).type=h264high
Example of response encode(1).type&202 Accepted(encode.status=save)
Interpretation Change compression format of the encode channel. Set "jpeg", "h264high", "h264baseline",
“mpeg4”or "off". The change of the first encode channel is availed by the API, encode(1).status=save.
/api/param?encode(1).type=h264high&encode(1).cbr_mode=cbr
/api/param?encode(1).status=save
Caution: In case of multiple resolution, 3 channels are available at the maximum. In case of multiple
encoding, 2 channels are available at the maximum, i.e. 3rd channel is not available.
Allowed users admin, operator
30
Interpretation Acquire resolution of the encode channel. Encode channel is from encode(1) to encode(3).
Allowed users admin, operator, user
Caution: All channels need to have same aspect ratio, 16:9 or 4:3.
Allowed users admin, operator
(VariableFileSize). In the case of afs (AverageFileSize), bit rates are controlled such that the average size of
multiple files remains constant.
When compression format is H.264 or MPEG-4, "cbr" or "vbr" is returned. Bitrate is controlled to be constant in the
case of cbr (Constant Bitrate). In the case of vbr (Variable Bitrate), bitrate can be larger by input image.
Allowed users admin, operator, user
Example /api/param?encode(1).cbr_mode=vfs
Example of response encode(1).cbr_mode&202 Accepted(encode.status=save)
Interpretation Change rate control. When compression format is JPEG, set "vfs" or "afs". This parameter is not
included file size/quality information. Parameters of JPEG File Size can be set by other APIs,
encode(number).quality.
When compression format is H.264 or MPEG-4, set "cbr" or "vbr". The change of the first channel is availed by the
API, encode(1).status=save.
Allowed users admin, operator
31
Getting H.264 or MPEG-4 bitrate
Format /api/param?encode(number).bitrate
from 64000 to 3000000. The change of the first channel is availed by the API, encode(1).status=save.
Allowed users admin, operator
Interpretation Acquire the file size setting of JPEG. This API is valid when compression format is jpeg. If the
response is 40k for example, the setting is 40KB.
Example /api/param?encode(1).quality=30k
Example of response encode(1).quality&202 Accepted(encode.status=save)
Interpretation Change the file size setting of JPEG. This API is valid when compression format is jpeg. The unit
of set values is in KB.
Allowed users admin, operator
Interpretation Acquire I-Frame interval of H.264 or MPEG-4 encoding. This API is valid when compression
format is h264high, h264baseline or mpeg4.
32
Allowed users admin, operator, user
Interpretation Change I-Frame interval of H.264 or MPEG-4. This API is valid when compression format is
h264high, h264baseline or mpeg4. In case of H.264, specify 5, 10, 15, 30, 60, 90, or 120. In case of MPEG-4,
specify 15 or 30. The change of the first channel is availed by the API, encode(1).status=save.
Allowed users admin, operator
Example /api/param?encode(1).framerate=30
Example of response encode(1).framerate&202 Accepted(encode.status=save)
Interpretation Change frame rate of the encoding. In case of H.264, specify 30, 25, 15, 10, 7.5, 5, 3, 2, or 1. In
case of JPEG, specify 30, 15, 10, 7.5, 5, 3, 2, or 1. When 30fps or 25fps is set, 3DDNR, motion detection and
analog viedeo output are not available. The change of the first channel is availed by the API,
encode(1).status=save.
Example /api/param?video.output.status=on
33
Example of response video.output.status&200 OK
Interpretation Change monitor out status. Specify on to enable the monitor out, off to disable the monitor out.
camera is muted during a client is sending audio to the camera. By setting "on", howling/echo can be suppressed.
Allowed users admin, operator, user
is muted during a client is sending audio to the camera. By setting "on", howling/echo can be suppressed.
Allowed users admin, operator
Interpretation Acquire mike gain. "0", "20", "26", "32" or "auto" is returned. "32" measn 32 dB.
Allowed users admin, operator, user
Interpretation Change mike gain. Specify "0", "20", "26", "32" or "auto". "32" measn 32 dB.
Allowed users admin, operator
34
Getting Mike Power Supply setting
Format /api/param?audio.input(1).powersupply.status
Example of response audio.input(1).powersupply.status=on&200 OK
Interpretation Acquire mike power supply setting. "on" or "off" is returned.
Allowed users admin, operator, user
1 periodic FTP assigned to No.6, 1 pre/post FTP assigned to No.7, 1 SD Card constant recording assigned to
No.8, and 1 SD Card alarm recording assigned to No.10 are available, so alarm action number can be 1 to 8 and
10. Note that alarm numbers are different from the alarm input pin numbers. Either on or off is returned.
Allowed users admin, operator
35
action. 5 alarm actions, 1 periodic FTP assigned to No.6, 1 pre/post FTP assigned to No.7, and 1 SD Card
constant recording assigned to No.8, and SD Card alarm recording assigned to No.10 are available, so alarm
action number can be 1 to 8 and 10. Note that alarm numbers are different from the alarm input pin numbers.
Either on or off will be returned.
Specify "on", "off" or "restart". By "restart", changes to alarm action and alarm trigger are enabled. By "on" after
"restart", the alarm action starts working with the changed settings. If "restart" is not set after changes to alarm
action and alarm trigger, APIs to get settings of alarm action and alarm trigger return previous values.
Allowed users admin, operator
Example of Response
application.event(1).action=mailto/somebody@somecompany.com/none/Message&200 OK
Interpretation Acquire the alarm action of the specified alarm action number. 5 alarm actions, 1 periodic FTP
assigned to No.6, 1 pre/post FTP assigned to No.7, 1 SD Card constant recording assigned to No.8, and 1 SD
Card alarm recording assigned to No.10 are available, so alarm action number can be 1 to 8, and 10. Note that
alarm numbers are different from the alarm input pin numbers. A separate API
When sending mail is specified, mailto, mail address, JPEG attaching and the character string to be sent will be
returned. When spaces are included in the character string, the character string with spaces will be returned.
Segments are indicated by /. If JPEG attaching is on, "object(Number)" is returned, and if JPEG attaching is off,
"none" is returned.
Example of Response
application.event(1).action=mailto/somebody@somecompany.com/object(1)/Message&200 OK
When sending via TCP is specified, tcpto, IP address, port number and the character string to be sent will be
returned. Segments are indicated by /. If JPEG attaching is on, "object(Number)" is returned, and if JPEG
attaching is off, "none" is returned.
When sending via UDP is specified, udpto, IP address, port number and the character string to be sent will be
36
returned. Segments are indicated by /.
Example of Response application.event(1).action=udpto/10.0.0.100/20000/Message&200 OK
When switch scene file is specified, scene file number will be returned.
Example of Response when scene file number is 7
application.event(1).action=camera.image.scene(7).status/goto&200 OK
[VN-H57/157WP/257/257VP Only] When audio file playback is specified, audio file number will be returned. A
separate API (/api/param?application.audioplay) is used to get/set parameters of audio file playback.
[VN-H57/157WP/257/257VP Only] When alarm output is specified, pinout, distinction between make/break (m1
or b1) and output time (millisecond) will be returned. Segments are indicated by /.
Example of Response application.event(1).action=pinout/m1/1500&200 OK
Alarm action of event number 6 is periodic FTP. Response to the API has ftpto, FTP number, and the attached
object number. Segments are indicated by /. The FTP number is fixed as ftp01 at all times. The object number is
fixed as object(6). Parameters of FTP can be gotten by another API, application.ftp.
Alarm action of event number 7 is "PrePostRecording + FTP". When "PrePostRecording + FTP" is enabled,
recftp, FTP number, and the attached object number will be returned. Segments are indicated by /. The FTP
number is fixed as ftp01 at all times. The object number is fixed as object(7). Parameters of FTP can be gotten by
other APIs, application.ftp and application.object.
Example of Response application.event(7).action=recftp/ftp01/object(7)&200 OK
Alarm action of event number 8 is “SD Card constant recording”. When “SD Card constant recording” is enabled,
rec, SD Card number, and the attached object number will be returned. Segments are indicated by /. The SD Card
number is fixed as sd01 at all times. The object number is fixed as object(8). Parameters of SD Card recording
can be gotten by other APIs, application.object.
37
Alarm action of event number 10 is “SD Card alarm recording”. When “SD Card alarm recording” is enabled, rec,
SD Card number, and the attached object number will be returned. Segments are indicated by /. The SD Card
number is fixed as sd01 at all times. The object number is fixed as object(10). Parameters of SD Card recording
can be gotten by other APIs, application.object.
Example of Response application.event(10).action=rec/sd01/object(10)&200 OK
Example of Response
application.event(1).action&202 Accepted(application.event(1).status=restart)
Interpretation Set the alarm action of the specified alarm number. 5 alarm actions, 1 periodic FTP assigned to
No.6, 1 pre/post FTP assigned to No.7 are available, 1 SD Card constant recording assigned to No.8 and 1 SD
Card alarm recording assigned to No.10 so alarm action number can be 1 to 8 and 10. Note that alarm numbers
are different from the alarm input pin numbers. A separate API
/api/param?application.event(Number).trigger.
The changes to settings of alarm action become valid by /api/param?application.event(Number).status=restart.
Specify mailto, mail address, JPEG attach and the character string to be sent when sending via mail. Segments
are indicated by /. The maximum number of characters for the mail address is 95. To attach JPEG, specify
object(Number). If none is specified instead of object(Number), JPEG is not attached to the mail. Number of the
character string is from 1 to 127 bytes. To use following characters, specify by hexadecimal number after %.
Setting Example
/api/param?application.event(1).action=mailto/somebody@somecompany.com/object(1)/Message%20O
N
The character string "Alarm from VN-H37" will be stored in the title field of the mail.
38
Specify tcpto, IP address, port number, none or object(Number), and the character string to be sent when sending
via TCP. Segments are indicated by /. The number of character string is from 1 to 127 bytes. To use following
Specify udpto, IP address, port number and the character string to be sent when sending via UDP. Segments are
indicated by /. The number of character string is from 1 to 127 bytes. To use following characters, specify by
hexadecimal number after %.
character string "This is alarm.", specify as "This%20is%20alarm.". %09 and %0D are not available.
Setting Example /api/param?application.event(1).action=udpto/10.0.0.100/20000/Message
[VN-H57/157WP/257/257VP Only] Specify audio file number when audio file playback is specified. The audio file
[VN-H57/157WP/257/257VP Only] Specify pinout, distinction between make/break (m1 or b1) and the time
(millisecond) when alarm output is specified. Segments are indicated by /. The time is 0 or from 100 to 5000.
When the time is 0, alarm output does not come back to previous state.
Setting Example /api/param?application.event(1).action=pinout/m1/1500
Alarm action of event number 6 is periodic FTP. Other Event number can not be set to periodic FTP. Parameters
of FTP can be set by another API, application.ftp.
39
Alarm action of event number 7 is "PrePostRecording + FTP". Specify recftp, FTP number and the object for
PrePostRecording+FTP. The FTP number is fixed as ftp01 at all times. The object is fixed as object(7).
Parameters of FTP can be set by other APIs, application.ftp and application.object. Ensure to set the FTP server
(/api/param?application.ftp.host, /api/param?application.object.framerate etc.) before setting
PrePostRecording+FTP.
Alarm action of event number 8 is “SD Card constant recording”. Specify rec, SD Card number and the object for
SD Card constant recording. The SD Card number is fixed as sd01 at all times. The object is fixed as object(8).
Alarm action of event number 10 is “SD Card alarm recording”. Specify rec, SD Card number and the object for
SD Card alarm recording. The SD Card number is fixed as sd01 at all times. The object is fixed as object(10).
be specified, periodic FTP is assigned to event No.6, and pre/post FTP assigned to No.7. Therefore the number of
event(number) can be set between the range of 1 to 7. Note that alarm numbers are different from the alarm input
pin numbers.
Specify sunday, monday, tuesday, wednesday, thursday, friday or saturday for WeekOfDay.
When the filter is enabled, on will be returned. When the filter is disabled, off will be returned.
40
Example When setting Sunday filter of Alarm No. 1
/api/param?application.event(1).filter(sunday).status=on
Example of Response
application.event(1).filter(sunday).status&202 Accepted(application.event(1).status=restart)
Interpretation Set filter setting of the alarm action for the specified alarm number. Up to 5 alarm actions can be
specified, periodic FTP is assigned to event No.6, and pre/post FTP assigned to No.7. Therefore the number of
event(number) can be set between the range of 1 to 7. Note that alarm numbers are different from the alarm input
pin numbers.
Specify sunday, monday, tuesday, wednesday, thursday, friday or saturday for WeekOfDay.
Specify on to enable the filter, off to disable the filter.
specified, periodic FTP is assigned to event No.6, and pre/post FTP assigned to No.7. Therefore the number of
event(number) can be set between the range of 1 to 7. Note that alarm numbers are different from the alarm input
pin numbers.
Specify sunday, monday, tuesday, wednesday, thursday, friday or saturday for WeekOfDay. Start time and end
time is returned in the format like hhmmss-hhmmss. Start time can be from 000000 to 235959. End time can be
from 000001 to 240000.
Example of Response
application.event(1).filter(sunday).time&202 Accepted(application.event(1).status=restart)
Interpretation Set filter time of the alarm action for the specified alarm number. Up to 5 alarm actions can be
specified, periodic FTP is assigned to event No.6, and pre/post FTP assigned to No.7. Therefore the number of
event(number) can be set between the range of 1 to 7. Note that alarm numbers are different from the alarm input
41
pin numbers.
Specify sunday, monday, tuesday, wednesday, thursday, friday or saturday for WeekOfDay.
Specify start time and end time in the format like hhmmss-hhmmss. Start time can be from 000000 to 235959. End
time can be from 000001 to 240000. Start time must be earlier than end time.
The changes to filter of alarm action is saved by /api/param?application.event(Number).status=restart.
Allowed users admin, operator
/api/param?application.event(1).filter(sunday).type
Example of Response application.event(1).filter(sunday).type=mask&200 OK
Interpretation Acquire filter type of the alarm action for the specified alarm number. Up to 5 alarm actions can be
specified, periodic FTP is assigned to event No.6, and pre/post FTP assigned to No.7. Therefore the number of
event(number) can be set between the range of 1 to 7. Note that alarm numbers are different from the alarm input
pin numbers.
Specify sunday, monday, tuesday, wednesday, thursday, friday or saturday for WeekOfDay. "mask" or "unmask"
is returned. When the setting is mask, alarm action is disabled during the filter time. When the setting is unmask,
alarm action is enabled during the filter time.
Example of Response
application.event(1).filter(sunday).type&202 Accepted(application.event(1).status=restart)
Interpretation Set filter type of the alarm action for the specified alarm number. Up to 5 alarm actions can be
specified, periodic FTP is assigned to event No.6, and pre/post FTP assigned to No.7. Therefore the number of
event(number) can be set between the range of 1 to 7. Note that alarm numbers are different from the alarm input
pin numbers.
Specify sunday, monday, tuesday, wednesday, thursday, friday or saturday for WeekOfDay.
Specify mask or unmask. When the setting is mask, alarm action is disabled during the filter time. When the
setting is unmask, alarm action is enabled during the filter time.
The changes to filter of alarm action is saved by /api/param?application.event(Number).status=restart.
42
Getting Alarm Trigger
Format /api/param?application.event(Number).trigger
Example When Getting Trigger of Alarm No. 1
/api/param?application.event(1).trigger
Example of Response application.event(1).trigger=m1&200 OK
Interpretation Acquire Trigger of the alarm action for the specified alarm number. Up to 5 alarm actions can be
specified, periodic FTP is assigned to event No.6, pre/post FTP assigned to No.7, SD Card constant recording to
event No.8 and SD Card alarm recording to No.10. Therefore the number of event(number) can be set between
the range of 1 to 8 and 10. Note that alarm numbers are different from the alarm input pin numbers.
m2 will be returned in the case of make for alarm input 2. [VN-H57/157WP/257/257VP Only]
b2 will be returned in the case of break for alarm input 2. [VN-H57/157WP/257/257VP Only]
When a combination of 2 Triggers are set, responses such as m1(10)b2 will be returned. The example indicates
that trigger will be activated when break is invoked at alarm input 2 within 10 seconds after make is invoked at
alarm input 1.
Example of Response application.event(1).trigger=m1(100)b2&200 OK
Allowed users admin, operator
/api/param?application.event(1).trigger=m1
Example of Response
43
application.event(1).trigger&202 Accepted(application.event(1).status=restart)
Interpretation Set Trigger of the alarm action for the specified alarm number. Up to 5 alarm actions can be
specified, and periodic FTP is assigned to event No.6, pre/post FTP assigned to No.7, SD Card constant
recording is assigned to event No.8 and SD Card alarm recording is assigned to event No.10. Therefore the
number of event(number) can be set between the range of 1 to 8 and 10. Note that alarm numbers are different
from the alarm input pin numbers.
trigger will be activated when break is invoked at alarm input 2 within 50 seconds after make is invoked at alarm
input 1. Additionally, combination is only allowed for alarm inputs and not motion detect nor IR Filter. And same
alarm can not be combined. For example, m1(50)m1 is not available.
Setting Example /api/param?application.event(1).trigger=m1(100)b2
Allowed users admin, operator
Environment page of the WEB setting page. Refer to the instruction manual for details on the Alarm Environment
page.
44
Getting SMTP Server Address Setting
Format /api/param?application.smtp.host
Example of Response application.smtp.host=192.168.0.200&200 OK
Response example when setting field is left blank application.smtp.host=&200 OK
Interpretation Acquire the address setting of the SMTP server.
Example /api/param?application.smtp.host=192.168.0.200
Example of Response application.smtp.host&200 OK
Interpretation Change the address setting of the SMTP server. Specify the IP address or FQDN. The maximum
FQDN size is 63 bytes. Specify as 0.0.0.0 when the SMTP server is not set. It is also possible to leave the setting
field blank as follows. /api/param?application.smtp.host=%00
Example /api/param?application.smtp.port=25
Example of Response application.smtp.port&200 OK
when sender mail address setting is blank. When POP user name is also blank, the local-part is set to
"vn_h37@hostname". When the hostname is also blank, SMTP server decide sender mail address.
45
Allowed users admin, operator, user
Interpretation Change sender mail address setting. Maximum text number of sender mail address is 96.
Alphanumeric and followings are available.
!#$%&'*+-/=?^_`{}|~
POP user name is used as local part of sender mail address when sender mail address setting is blank. When
POP user name is also blank, the local-part is set to "vn_h37@hostname". When the hostname is also blank,
SMTP server decide sender mail address.
Allowed users admin, operator
Interpretation Acquire the "POP before SMTP" setting. "simple" is returned when this is set to off. "pbs" is
returned when this is set to on.
Interpretation Change the "POP before SMTP" setting. Specify as "simple" when setting to off and "pbs" when
setting to on.
46
Setting POP Server Address
Format /api/param?application.pop.host=data
Example /api/param?application.pop.host=192.168.0.200
Example of Response application.pop.host&200 OK
Interpretation Change the address setting of the POP server. Specify the IP address or FQDN. The maximum
FQDN size is 63 bytes. Specify as 0.0.0.0 when the POP server is not set. It is also possible to leave the setting
Example /api/param?application.pop.port=110
Example of Response application.pop.port&200 OK
mail address when sender mail address setting is blank. When the user name is blank, the local-part is set to
"vn_h37".
Example of Response application.pop.user=somename&200 OK
Example of Mail Address somename@somecompany.com
Allowed users admin, operator, user
Example /api/param?application.pop.user=somename
47
Example of Response application.pop.user&200 OK
Interpretation Change the user name setting of the POP server. The maximum user name size is 64 bytes. Set
set POP server settings other than POP user name setting.
Example of setting /api/param?application.pop.user=somename
Example of Mail Address somename@somecompany.com
Following characters must not be used in user name.
Example /api/param?application.pop.password=someword
Example of Response application.pop.password&200 OK
Interpretation Change the password setting of the POP server. The maximum password size is 32 bytes. Set as
follows when this is to be left blank. /api/param?application.pop.password=%00
Example /api/param?application.ftp.host=10.0.0.200
Example of Response application.ftp.host&200 OK
Interpretation Change the FTP server address setting used for FTP transmission via alarm. Specify the IP
address or FQDN. The maximum FQDN size is 63 bytes. Specify as 0.0.0.0 when the FTP server is not set. It is
also possible to leave the setting field blank as follows. /api/param?application.ftp.path=%00
48
Allowed users admin, operator
Interpretation Acquire the FTP server directory setting used for FTP transmission via alarm.
Allowed users admin, operator, user
Interpretation Change the FTP server directory setting used for FTP transmission. It is possible to set FTP
transmission to a directory under the FTP server home directory by specifying that directory name. Use %2F to
segment the directory. ("2F" is ASCII code of "/".) The maximum directory name size is 63 bytes.
Example /api/param?application.ftp.path=subdir1%2Fsubdir2
By leaving the setting blank as follows, FTP transmission will be set to the FTP server home directory.
/api/param?application.ftp.path=%00
Interpretation Acquire the FTP server user name setting used for FTP transmission via alarm.
Allowed users admin, operator
/api/param?application.ftp.user=%00
Allowed users admin, operator
49
Setting FTP Server Password
Format /api/param?application.ftp.password=data
Example /api/param?application.ftp.password=someword
Example of Response application.ftp.password&200 OK
Interpretation Change the FTP server password setting used for FTP transmission via alarm. The maximum
password size is 32 bytes. Set as follows when this setting is to be left blank.
/api/param?application.ftp.password=%00
Allowed users admin, operator
(There is no API for Getting passwords.)
When type1 is set, the file name is as ***YYYMMDDHHMMSSNNN.jpg. "***" can be gotten by another API,
/api/param?application.ftp.naming_option.
/api/param?application.ftp.naming_option.
File Name Example Camera.jpg
Example /api/param?application.ftp.naming=type1
Example of Response application.ftp.naming&200 OK
Interpretation Change file naming of periodic FTP. Specify "default", "type1" or "type2". When default is set, the
file name is as YYYYMMDDHHMMSS-NNN-2.jpg.
Example 20060207201315-001-2.jpg
When type1 is set, the file name is as ***YYYYMMDDHHMMSSNNN.jpg. "***" can be set by another API,
/api/param?application.ftp.naming_option.
File Name Example Camera_20060207201315001.jpg
When type2 is set, the file name is as ***.jpg. "***" can be set by another API,
50
/api/param?application.ftp.naming_option.
File Name Example Camera.jpg
Interpretation Change user define name for file naming of periodic FTP. The maximum size is 16 bytes. When
/api/param?application.ftp.naming_option is set to "type1", the file name is as ***YYYMMDDHHMMSSNNN.jpg,
Example of Response
For Frame Rate application.object(7).framerate=10&200 OK
51
For Pre Duration /api/param?application.object(7).prerec=2&200 OK
For Post Duration /api/param?application.object(7).postrec=2&200 OK
Pre and Post duration is invalid. Specify encode(1), encode(2), or encode(3) for encoder No. Pre/Post Recording
for FTP is valid when encode type is set to JPEG.
Interpretation Acquire SD Card status. “on”, “empty”, “read_only”, “off”, “off_read_only”, or “off_empty” will be
returned.
Return value Use / Disable Status
off_empty Disable No SD card
off_read_only Disable LOCK switch is enabled
off Disable LOCK switch is disabled
empty Use No SD card
52
read_only Use LOCK switch is enabled
on Use LOCK switch is disabled
Allowed users admin, operator, user
Interpretation Change the Use/Disable status of SD Card. Specify “on” or “off”. In case of “on”, SD Card can be
use. In case of “off”, SD Card is disabled.
Allowed users admin, operator, user
Interpretation Acquire status of SD Card formatting. “on”, “off”, or “not_initialized” will be returned. In case of “on”,
SD Card formatting is in progress. In case of “off”SD Card is formatted. In case of “not_initialized”, SD Card is
unformatted.
Allowed users admin, operator
Formatting SD Card
Format /api/param?storage.disk(1).initialize=data
/api/param?storage.disk(1).initialize=start
Example of Response storage.disk(1).initialize&200 OK
Interpretation Specify as start to format the SD. When this API is issued, the camera reboots in about 1 minute.
Interpretation Acquire the on/off status of SD Card Constant Recording. “on” or “off”will be returned.
Allowed users admin, operator, user
status.
53
Allowed users admin, operator
returned.
Allowed users admin, operator, user
“encode(3)”for encoder No. This parameter is valid when encode type is set to h264high or h264baseline.
Depending on Recording Quality setting, specify encoder as below,
To set recording quality to High
/api/param?encode(3).type=h264high
/api/param?encode(3).framesize=1920x1080
/api/param?encode(3).framerate=5
/api/param?encode(3).bitrate=1000000
/api/param?encode(3).cbr_mode=cbr
/api/param?encode(3).iframeinterval=5
54
To set recording quality to Mid
/api/param?encode(3).type=h264high
/api/param?encode(3).framesize=1280x720
/api/param?encode(3).framerate=5
/api/param?encode(3).bitrate=768000
/api/param?encode(3).cbr_mode=cbr
/api/param?encode(3).iframeinterval=5
To set recording quality to Low
/api/param?encode(3).type=h264high
/api/param?encode(3).framesize=640x360
/api/param?encode(3).framerate=5
/api/param?encode(3).bitrate=128000
/api/param?encode(3).cbr_mode=cbr
/api/param?encode(3).iframeinterval=5
Allowed users admin, operator
WEB setting page. Refer to the instruction manual for details on the PTZ page.
Basic authentication is required for JVC API explained in Section 7 or later. This section provides general
explanation of those APIs. The API is valid when the resolution is 640x360 or 640x480.
Interpretation Change Auto Return mode. Specify "home" or "auto_patrol(0)". The change is saved by the API,
camera.status=save. If the change is not saved, the setting is restored by reboot.
55
Allowed users admin, operator
for manual operation. "on" or "off" is saved by the API, camera.status=save. If the change is not saved, the setting
is restored by reboot.
56
Setting Speed of Going to Preset Position
Format /api/param?camera.motion.position.speed=data
API, camera.status=save. If the change is not saved, the setting is restored by reboot.
Allowed users admin, operator
Interpretation Acquire current pan position, left edge of current area, in pixels. Value from 0 to 1278 is returned.
"s" is added before the value.
Pan Operation
Format /api/param?camera.motion.pan.status=data
Example to start pan /api/param?camera.motion.pan.status=start
Example of Response camera.motion.pan.status&200 OK
Interpretation Start or stop pan operation. Specify start or stop.
57
Example of Response camera.motion.pan.mode&200 OK
Interpretation Set direction of pan operation. Specify left or right.
Tilt Operation
Format /api/param?camera.motion.tilt.status=data
58
Example of Response camera.motion.tilt.status&200 OK
Interpretation Start or stop tilt operation. Specify start or stop.
Interpretation Set speed of tilt operation. Specify 0 to 100. The speed is 8 steps internally.
Allowed users admin, operator
59
Example to move to relative multiple, 1.5 Wide /api/param?camera.motion.zoom=-x1.5
Example of Response camera.motion.zoom&200 OK
Interpretation Move to specified zoom multiple. To move to absolute multiple, specify from 1.00 to 8.00 with "x".
The API is valid when the resolution is 640x360 or 640x480.
Allowed users admin, operator
Zoom Operation
Format /api/param?camera.motion.zoom.status=data
Example to start zoom /api/param?camera.motion.zoom.status=start
Example of Response camera.motion.zoom.status&200 OK
60
Example to move (958, 534) to center (pixel)
/api/param?camera.motion.clickoncenter=s958-s534
Interpretation Moving specified position to center of image. To move to X position, specify from s0 to s1918 or
0.00 to 100.00. To move to Y position, specify from s0 to s1078 or 0.00 to 100.00.
Allowed users admin, operator
Interpretation Acquire current preset position after moving to preset position. "none" is returned after moved
from preset position.
61
home position and it is registered with default settings when initilized. Other positions are unregistered by
initializing.
Interpretation Acquire title of specified preset position. Specify from 0 to 19 as position number.
Allowed users admin, operator, user
Interpretation Set tilte to specified preset position. Specify from 0 to 19 as position number. Maximum
characters is 32. To erase title, specify %00, i.e. 0x25 0x30 0x30 in binary data. Use %20 to set space.
WEB setting page. Refer to the instruction manual for details on the AutoPatrol page page.
62
Example of response camera.motion.auto_patrol(0).status=moving&200 OK
Interpretation Acquire current status of auto patrol. "moving" or "stop" is returned.
Interpretation Set preset position number of specified patrol number of auto patrol. Patrol number is from 0 to 19.
Specify preset position number from 0 to 19. The change is saved by the API,
/api/param?camera.motion.auto_patrol(0).position(3).duration
Example of response camera.motion.auto_patrol(0).position(3).duration=30&200 OK
Interpretation Acquire duration of specified patrol number of auto patrol. Patrol number is from 0 to 19. 0, 10, 20,
30, 45, 60, or 120 is returned. 0 means skip. 10 means 10 seconds.
Allowed users admin, operator, user
Accepted(camera.motion.auto_patrol.status=save)
Interpretation Set duration of specified patrol number of auto patrol. Patrol number is from 0 to 19. Specify 0, 10,
63
20, 30, 45, 60, or 120. 0 means skip. 10 means 10 seconds. The change is saved by the API,
camera.motion.auto_patrol.status=save. If the change is not saved, the setting is restored by reboot.
/api/param?camera.motion.auto_patrol(0).position(3).speed=100.00
Example of Response camera.motion.auto_patrol(0).position(3).speed&202
Accepted(camera.motion.auto_patrol.status=save)
Interpretation Set speed of specified patrol number of auto patrol. Patrol number is from 0 to 19. Specify from
0.00 to 100.00. 0 means skip. The change is saved by the API, camera.motion.auto_patrol.status=save. If the
change is not saved, the setting is restored by reboot.
64
Format /api/param?camera.private_mask.status
Example of response camera.private_mask.status=on&200 OK
Interpretation Acquire the color of privacy masking. RGB values are returned as hexadecimal number. For
exmaple, ffffff is white, ff0000 is red, 00ff00 is green, and 0000ff is blue.
show bitmap. A bit for privacy masking is 32x32 pixels block, and 1920x1080 is divided to 60x34 blocks. For
example, f means 8 blocks are masked.
Allowed users admin, operator, user
65
Format /api/param?camera.private_mask.area=data
Example of Response camera.private_mask.area&202 Accepted(camera.status=save)
Interpretation Change the area of privacy masking. Specify bitmap by 510 characters of hexadecimal number. A
bit for privacy masking is 32x32 pixels block, and 1920x1080 is divided to 60x34 blocks. For example, specify f to
mask 8 blocks. The change is saved by the API, camera.status=save. If the change is not saved, the setting is
restored by reboot.
66
Interpretation Change the motion detect sensitivity. Specify a value between 0 to 100. The larger the value, the
higher will be the sensitivity. The change is saved by the API, camera.status=save. If the change is not saved, the
be represented in 135 bits = 17-byte hexadecimal. (Response is returned in ASCII character strings. Therefore,
34 characters will be returned.) The bit string will appear as follows when mask is set to off for the top left block
only.
01 00 00 00 00 00 00 00 00 00,,,
The hexadecimal value denotes the 34 ASCII characters acquired via this API that are expressed in ASCII codes.
For example, the following character string will be returned when only the top left and bottom right blocks are
masked.
camera.detection.area=0100000000000000,,,0080
Allowed users admin, operator, user
"Getting Motion Mask" on the interpretation of this character string. To mask all blocks, specify all zeros in the
ASCII character string. The change is saved by the API, camera.status=save. If the change is not saved, the
setting is restored by reboot.
Allowed users admin, operator
Detection page of the WEB setting page. Refer to the instruction manual for details on the Tampering Detection
67
page.
Interpretation Change the tampering detect sensitivity. Specify a value between 0 to 100. The larger the value,
the higher will be the sensitivity. The change is saved by the API, camera.status=save. If the change is not saved,
68
Setting Tampering Detect Sensitivity
Format /api/param?camera.detection(tampering).temporal=data
the WEB setting page. Refer to the instruction manual for details on the Basic page.
Changes are not reflected in the actions until this API is used. APIs to get settings of those parameters return
previous values until this API is used. When this API is issued, the camera reboots in about 1 minute.
Setting DHCP
Format /api/param?network.interface.dhcp.status=data
Example /api/param?network.interface.dhcp.status=on
Example of Response
network.interface.dhcp.status&202 Accepted(network.interface.status=restart)
Interpretation Change the DHCP setting. Specify "on" or "off". To validate the change, use
"network.interface.status=restart" API that reboots the camera in about 1 minute.
69
Getting IP Address
Format /api/param?network.interface.ip
Setting IP Address
Format /api/param?network.interface.ip=data
Example /api/param?network.interface.ip=192.168.0.2
Example of Response
network.interface.ip&202 Accepted(network.interface.status=restart)
Interpretation Change the IP address. To validate the change, use "network.interface.status=restart" API that
reboots the camera in about 1 minute. Set appropriate combination of IP address, subnet mask and default
Example of Response
network.interface.subnetmask&202 Accepted(network.interface.status=restart)
Interpretation Change the subnet mask. To validate the change, use "network.interface.status=restart" API that
reboots the camera in about 1 minute. Set appropriate combination of IP address, subnet mask and default
gateway before "network.interface.status=restart".
Allowed user admin
70
Interpretation Acquire the current default gateway. Specify ipv4 or ipv6.
Allowed users admin, operator, user
Interpretation Acquire the on/off status of the DNS server. Either on or off will be returned.
Allowed users admin, operator, user
71
Example /api/param?network.dns.status=on
Example of Response network.dns.status&200 OK
Interpretation Change status of DNS server setting, or validate changes to DNS server settings. Specify "on",
"off" or "restart". Changes of DNS server settings become valid by "restart".
Allowed users admin, operator
Example of Response
network.dns.ip&202 Accepted(network.dns.status=restart)
Interpretation Change IP address of DNS server. To validate the change, use "network.dns.status=restart" API.
Allowed users admin, operator
Interpretation Change IPv6 status. To validate the change, use "network.interface.status=restart" API that
reboots the camera in about 1 minute.
Allowed users admin, operator
72
Format /api/param?network.interface.ipv6.link_local(Number)
Exampleto get first link local address /api/param?network.interface.ipv6.link_local(1)
Example of Response
network.interface.dscp&202 Accepted(network.interface.status=restart)
Interpretation Change TOS that includes DHCP field. The range of set value is between 0 to 255 though MSB 6
bits in the value is valid. To validate the change, use "network.interface.status=restart" API.
Allowed user admin
73
Getting Unicast TTL Value
Format /api/param?network.interface.ttl.unicast
Example of Response network.interface.ttl.unicast=16&200 OK
Interpretation Acquire TTL of unicast. 1-255 is returned.
Allowed users admin, operator, user
Example of Response
network.interface.ttl.unicast&202 Accepted(network.interface.status=restart)
Interpretation Change TTL of unicast. The range of set value is between 1 to 255. To validate the change, use
"network.interface.status=restart" API.
Allowed user admin
Example of Response
network.interface.ttl.multicast&202 Accepted(network.interface.status=restart)
Interpretation Change TTL of multicast. The range of set value is between 1 to 255. To validate the change, use
"network.interface.status=restart" API.
Allowed user admin
74
Setting MTU Value
Format /api/param?network.interface.mtu=data
Example /api/param?network.interface.mtu=1500
Example of Response
network.interface.mtu&202 Accepted(network.interface.status=restart)
Interpretation Change the MTU value. The range of set value is between 1280 to 1500. To validate the change,
use "network.interface.status=restart" API.
Allowed user admin
Interpretation Acquire the network Negotiation setting. Either auto, 100full, 100half, 10full or 10half will be
returned.
Example /api/param?network.interface.negotiation=auto
Example of Response
network.interface.negotiation&202 Accepted(network.interface.status=restart)
Interpretation Change the network Negotiation setting. Specify auto, 100full, 100half, 10full or 10half. To
validate the change, use "network.interface.status=restart" API.
Allowed user admin
75
Setting Port Number of HTTP
Format /api/param?network.http.port=data
Example of Response network.http.port&202 Accepted(network.http(configuration).status=restart)
Interpretation Change port number of HTTP server in the camera. Default value is 80. To validate the change,
use "network.http(configuration).status=restart" or "network.http.status=restart" API.
AMX products.
Allowed users admin, operator
Interpretation Acquire status of PSIA Protocol in the camera. "on" or "off" is returned.
Allowed users admin, operator, user
76
Getting Status of ONVIF Protocol
Format /api/param?network.onvif.status
Interpretation Change status of ONVIF protocol in the camera. Specify "on" or “off”. When status of PSIA
protocol is set to “on”, status of ONVIF protocol will not be “on”.
Allowed users admin, operator
the WEB setting page. Refer to the instruction manual for details on the Streaming page.
streaming settings. “num” is encoder channel from 1 to 3. Specify "start", "stop" or "save". Changes of multicast
streaming settings become valid by "save".
Multicast stream is RTP compliant.
If power becomes off during multicast streaming, the streaming starts automatically after power on.
Allowed users admin, operator
77
Getting Multicast Address
Format /api/param?network.destination(num).host
Example of Response network.destination(1).host=225.0.1.1&200 OK
Interpretation Acquire multicast address of specified encode channel. “num” is encoder channel from 1 to 3.
Allowed users admin, operator
Example of Response
network.destination(1).host&202 Accepted(network.destination(1).host=save)
Interpretation Change multicast address of specified encode channel. “num” is encoder channel from 1 to 3.
Example /api/param?network.destination(1).port=49152
Example of Response
network.destination(1).port&202 Accepted(network.destination(1).host=save)
Interpretation Change multicast port number of specified encode channel. “num” is encoder channel from 1 to 3.
Specify from 2 to 65534. To validate the change, use "network.destination(num).host=save" API. After the save,
start streaming by "network.destination(num).host=start" API.
Allowed user admin
78
Interpretation Acquire JPEG multicast frame rate of specified encode channel. “num” is encoder channel from 1
to 3. The API is valid when the encoder channel is set to JPEG.
Example /api/param?network.destination(1).framerate=30
Example of Response
network.destination(1).framerate&202 Accepted(network.destination(1).host=save)
Interpretation Change JPEG multicast frame rate of specified encode channel. “num” is encoder channel from 1
to 3. The API is valid when the encoder channel is set to JPEG. Specify 30, 15, 10, 7.5, 6, 5, 3, 2, 1, -2, -3, -5, -10,
-15, -20, or -30. -5 means 1/5fps for example. To validate the change, use "network.destination(num).host=save"
API. After the save, start streaming by "network.destination(num).host=start" API.
Interpretation Start/stop audio multicast streaming, or save changes to multicast streaming settings. Specify
"start", "stop" or "save". Changes of multicast streaming settings become valid by "save".
Multicast stream is RTP compliant. If power becomes off during multicast streaming, the streaming starts
automatically after power on.
Allowed users admin, operator
79
Setting Audio Multicast Address
Format /api/param?network.destination(4).host=data
Example /api/param?network.destination(4).host=225.0.1.3
Example of Response
network.destination(4).host&202 Accepted(network.destination(4).host=save)
Interpretation Change audio multicast address. Specify from 224.0.0.0 to 239.255.255.255. To validate the
change, use "network.destination(4).host=save" API. After the save, start streaming by
"network.destination(4).host=start" API.
Allowed user admin
Example /api/param?network.destination(4).port=39152
Example of Response
network.destination(4).port&202 Accepted(network.destination(4).host=save)
Interpretation Change audio multicast port number. Specify from 2 to 65534. To validate the change, use
"network.destination(4).host=save" API. After the save, start streaming by "network.destination(4).host=start"
API.
80
restrictions are applied to getting video stream and bi-directional Audio.
Allowed users admin, operator
value between 1 to 10 for the number. The following will be returned if subnet mask was specified.
Example of Response 2
network.access_control(stream_out).host(1)=10.0.0.0/24&200 OK
The above example indicates that the range is between 10.0.0.0 to 10.0.0.255. There are also cases when FQDN
network.access_control(stream_out).host(1)=somedivision.somecompany.com&200 OK
Allowed users admin, operator
Interpretation Change the IP address setting of client restriction. Setting is possible up to 10 items. Specify a
value between 1 to 10 for the number. A range of IP address may be specified if the subnet mask is also specified.
For example, set as follows to specify a range between 10.0.0.0 to 10.0.0.255.
Example /api/param?network.access_control(stream_out).host(1)=10.0.0.0/24
It is also possible to set using FQDN instead of IP address. Set as follows if the setting is to be left blank.
81
Example /api/param?network.access_control(stream_out).host(1)=%00
Allowed user admin
page. Refer to the instruction manual for details on the Time page.
"restart". as on or off. IP address of NTP server and access interval are validated by "restart".
Allowed users admin, operator
Interpretation Acquire IP address of NTP server. Either the IP address or FQDN will be returned.
Allowed users admin, operator, user
82
Getting Access Interval to NTP Server
Format /api/param?network.ntp.interval
network.ntp.interval&202 Accepted(network.ntp.status=restart)
Interpretation Change the interval for accessing the NTP server. Unit can be set by "network.ntp.unit" API.
Specify 1-60 when the unit is min/hour, 1-31 when the unit is day. To validate the change, use
"network.ntp.status=restart" API.
Allowed users admin, operator
Interpretation Acquire the unit of interval for accessing the NTP server. "min", "hour" or "day" is returned.
Allowed users admin, operator, user
Example of Response
network.ntp.unit&202 Accepted(network.ntp.status=restart)
Interpretation Change the unit of interval for accessing the NTP server. Specify "min", "hour" or "day". To
validate the change, use "network.ntp.status=restart" API.
Allowed users admin, operator
Getting Time
Format /api/param?system.date
Example of Response system.date=20050614171537&200 OK
Interpretation Acquire the time from the built-in clock of the camera. Time is arranged in the order of year, month,
day, hour, minute and second. Year is denoted in a 4-digit decimal number, and month, day, hour, minute and
83
second are denoted in 2-digit decimal numbers.
Allowed users admin, operator, user
Setting Time
Format /api/param?system.date=data
Example /api/param?system.date=20050614171537
Getting Timezone
Format /api/param?system.timezone
Example of Response system.timezone=Pacific&200 OK
Interpretation Acquire the timezone from the camera. Character strings in the following table will be returned.
84
Paris Same timezone as GMT+1.
CET Same timezone as GMT+1.
GMT+2 Timezone that is 2 hours later than the Greenwich Mean Time.
EET Same timezone as GMT+2
GMT+3 Timezone that is 3 hours later than the Greenwich Mean Time.
GMT+3:30 Timezone that is 3 hours and 30 minutes later than the Greenwich Mean Time.
GMT+4 Timezone that is 4 hours later than the Greenwich Mean Time.
GMT+4:30 Timezone that is 4 hours and 30 minutes later than the Greenwich Mean Time.
GMT+5 Timezone that is 5 hours later than the Greenwich Mean Time.
GMT+5:30 Timezone that is 5 hours and 30 minutes later than the Greenwich Mean Time.
Calcutta Same timezone as GMT+5:30
GMT+5:45 Timezone that is 5 hours and 45 minutes later than the Greenwich Mean Time.
GMT+6 Timezone that is 6 hours later than the Greenwich Mean Time.
GMT+6:30 Timezone that is 6 hours and 30 minutes later than the Greenwich Mean Time.
GMT+7 Timezone that is 7 hours later than the Greenwich Mean Time.
GMT+8 Timezone that is 8 hours later than the Greenwich Mean Time.
GMT+8:45 Timezone that is 8 hours and 45 minutes later than the Greenwich Mean Time.
GMT+9 Timezone that is 9 hours later than the Greenwich Mean Time.
GMT+9:30 Timezone that is 9 hours and 30 minutes later than the Greenwich Mean Time.
Japan Same timezone as GMT+9.
GMT+10 Timezone that is 10 hours later than the Greenwich Mean Time.
GMT+10:30 Timezone that is 10 hours and 30 minutes later than the Greenwich Mean Time.
GMT+11 Timezone that is 11 hours later than the Greenwich Mean Time.
GMT+11:30 Timezone that is 11 hours and 30 minutes later than the Greenwich Mean Time.
GMT+12 Timezone that is 12 hours later than the Greenwich Mean Time.
GMT+12:45 Timezone that is 12 hours and 45 minutes later than the Greenwich Mean Time.
Allowed users admin, operator, user
Setting Timezone
Format /api/param?system.timezone=data
Example /api/param?system.timezone=Pacific
85
Interpretation Change the password of admin(0), admin(1), admin(2) or admin(3). Set a password between 4 to
16 characters.
between 4 to 16 characters.
There is no API for Getting passwords.
Allowed user admin
characters.
There is no API for Getting passwords.
Delete Acount
Format
/api/param?system.password.admin(num).status=initialize
/api/param?system.password.operator(num).status=initialize
/api/param?system.password.user(num).status=initialize
Example /api/param?system.password.admin(1)=initialize
Example of Response system.password. admin(1)=unregistered&200 OK
Interpretation Delete specified account. admin(0), operator(0) and user(0) can not be deleted.
Allowed user admin
86
WEB setting page. Refer to the instruction manual for details on the Maintenance page.
Initialization
Format /api/param?system.status=initialize
Firmware Update
Version upgrading is not possible using API. To do so, use the Version Upgrade feature on the Maintenance page
of the WEB setting page.
Example of Response
camera.stealth&202 Accepted(camera.status=save)
87
Interpretation Change LED setting. Specify "on" or "off". If "on" is set, LED becomes off after restarting. To
validate the change, use "camera.status=save" API.
Example of Response
camera.identify&202 Accepted(camera.status=save)
Interpretation Change LED blinking setting. Specify "on" or "off". If "on" is set, LED starts blinking. To validate
the change, use "camera.status=save" API.
system.session.total_bitrate=388k&200 OK
88
system.session.sending_count=2&200 OK
system.session.sending_max=5&200 OK
system.session.sending(01).bitrate=326k&200 OK
system.session.sending(01).to.ip=10.0.0.100&200 OK
system.session.sending(01).to.port=1536&200 OK
system.session.sending(01).to.protocol=tcp_passive&200 OK
system.session.sending(01).to.session=http&200 OK
system.session.sending(01).from.encode=jpeg&200 OK
system.session.sending(01).from.framerate=1&200 OK
system.session.sending(01).from.framesize=vga&200 OK
Interpretation Acquire the sending status of the camera. Starting and stopping stream can be occurred in
random order, so it can happen that sending(01) is vacant though sending(02) has information.
Getting Log
Format /api/param?system.log
Response Return the following information. These information will be initialized upon turning off the power of the
camera.
Dec 19 14:35:32 vn-h37 user.info evman: Motion Detect <----- Motion detect
Dec 19 14:36:03 vn-h37 user.info evman: Alarm Detect (m1) <----- Alarm input 1ch (make)
Dec 19 14:36:04 vn-h37 user.info evman: Alarm Detect (b2) <----- Alarm input 2ch (break)
Dec 19 14:35:18 vn-h37 user.info evman: Motion Detect <----- Motion detect
Interpretation Acquire the the camera log. Maximum size is 10KB.
Allowed user admin
89
Allowed users admin, operator, user
Getting Software ID
Format /api/param?system.software.programid
active mode: Standard mode of FTP server. Also called PORT mode. TCP connection for data is established
from 20 port of FTP server to 10020 port of the camera.
passive mode: TCP connection for data is established from the camera to FTP server. Port number depends on
FTP server.
Allowed users admin, operator, user
90
Setting Mode of FTP Server
Format /api/param?application.ftp.mode=data
Example /api/param?application.ftp.mode=active
Example of Response application.ftp.mode&200 OK
Interpretation Change the mode of FTP server that is used by alarm action. Set active or passive. Default is
active.
active mode: Standard mode of FTP server. Also called PORT mode. TCP connection for data is established
from 20 port of FTP server to 10020 port of the camera.
passive mode: TCP connection for data is established from the camera to FTP server. Port number depends on
FTP server.
Allowed user admin, operator
number for data plus one is the port number for control.
Allowed user admin, operator
91
Example /api/param?network.rtsp.port=554
Example of Response network.rtsp.port&202 Accepted(network.rtsp(configuration).status=restart)
Example
GET /api/audio?lowdelay=1 HTTP/1.1<CRLF>
Host: 192.168.0.2<CRLF><CRLF>
Example
HTTP/1.1 200 OK<CRLF>
Connection: close<CRLF>
Content-type: audio/ulaw<CRLF>
x-vnh57_response: encode=ulaw&lowdelay=1&assured=1<CRLF><CRLF>
4) The camera sends out audio data after returning HTTP response.
Audio data with 12 bytes header will be sent out continuously after HTTP response. HTTP Response and audio
data sent out by the camera are as follows.
HTTP Response
header (12 bytes)
92
,,,
Structure of 12 bytes header is as below. First 4 bytes is payload type for u-Law.
0x00000080
Volume of payload (512 for u-Law)
Time stamp in 8kHz
5) When the client wants to stop current audio transmission, the client disconnects TCP80.
The camera does not accept further API via current TCP that is used for audio transmission. To change parameter,
dsconnect current TCP to stop the audio transmission, connect new TCP, and send API with new parameter.
Unlike APIs for getting/setting parameters, Accept line is not required. Basic authentication is also not necessary.
Example
GET /api/audio?assured=1&lowdelay=1 HTTP/1.1<CRLF>
Host: 192.168.0.2<CRLF><CRLF>
Parameter value is indicated using =. Do not insert space before and after =.
Example assured=1
Parameters are segmented using &. Do not insert space before and after &.
Example assured=1&lowdelay=0
There is no need to specify all parameters. Default values will be used for parameters that are not specified.
Parameter Description
assured Recent audio data is stored in internal buffer of the camera. Specify as assured=0 to request for the
newest data in the buffer and assured=1 to request for the oldest data in the buffer. Specify as assured=0 to
93
shorten the audio delay time. To enable stable playback in a network where jitter occurs, it is recommended that
this be specified as assured=1. Default value is 1.
lowdelay Specifying as lowdelay=1 disables the Nagle algorithm of TCP, and audio delay time will be shortened.
When lowdelay=0 is specified, the Nagle algorithm is enabled and audio delay time will be prolonged. However,
transmission overhead will be enhanced. Default value is 1.
29.3. Response
When API is successfully received
The camera will return 200 OK. There is no Content-length field in the HTTP response. The x-vnh57_response
line indicates actual parameter.
Example
HTTP/1.1 200 OK<CRLF>
Connection: close<CRLF>
Content-type: audio/ulaw<CRLF>
x-vnh57_response: encode=ulaw&lowdelay=1&assured=1<CRLF><CRLF>
29.4. Restrictions
Access restriction
The camera has access restriction feature that enables to deny access from a specific IP address. If audio is
requested from the IP address of access restriction, the camera disconnects the TCP connection after API is sent.
Number of clients
The maximum number of audio stream is 2, 2 TCP streams or 1 TCP stream and 1 multicast stream. When 2
streams are sent from the camera, new request for audio is disconnected.
94
30.1. Procedures
1) The client establishes a TCP connection to port number 80.
/api/receive?from=network&from.ip=data1&from.protocol=tcp_passive&from.ip_translate=on&to=audio
Example
/api/receive?from=network&from.ip=10.0.0.100&from.protocol=tcp_passive&from.ip_translate=on&to=audio
Specify the client IP address for from.ip=. When from.ip_translate is set to off, the camera will standby to receive
audio data from the IP address specified at from.ip. When from.ip_translate is set to on, the camera will ignore
from.ip and standby to receive audio data from the source IP address of this API.
Content-type: text/plain<CRLF>
Date: Fri, 13 MAY 2005 07:33:12 GMT<CRLF>
Server: VN-H57 Network Camera/1.0.0<CRLF>
x-vnh57_response:
from=network&from.ip=10.0.0.100&from.protocol=tcp_passive&from.ip_translate=on&to=audio<CRLF><CRLF>
200 OK<CRLF>
95
4) The client continues to send 512 bytes of u-Law data with a 12-byte header.
0x00000080
30.2. Restrictions
Restrictions on Number of Clients
Only 1 client is allowed to send audio data to the camera. the camera will return an error for this API and TCP will
be disconnected when this function is currently in use by another client.
96
31.3. Example of message sequence
C->S DESCRIBE rtsp://192.168.0.20/PSIA/Streaming/tracks RTSP/1.0
CSeq: 1
S->C RTSP/1.0 200 OK
CSeq: 1
Content-Base: rtsp://192.168.0.20/PSIA/Streaming/tracks/
Content-Type: application/sdp
Content-Length: 267
v=0
o=- 401875008 1 IN IP4 0.0.0.0
s=Media Presentation
m=video 0 RTP/AVP 96
a=control:video
a=rtpmap:96 H264/90000
a=fmtp:96
packetization-mode=1;profile-level-id=640028;sprop-parameter-sets=Z2QAKKzSAeAIn5cBbgwMDIA
AAAMAgAAACkeEQjUA,aO48MAD=
CSeq: 2
Transport: RTP/AVP;unicast;client_port=6970-6971
Connection: Keep-Alive
Session: 401875008
97
S->C RTSP/1.0 200 OK
CSeq: 3
Session: 401875008
Status: pause
CSeq: 4
Range: clock=20120518T135717Z
Session: 401875008
CSeq: 5
Connection: Keep-Alive
Session: 401875008
Session: 401875008
Status: play
Example of response
14<CRLF>
200 OK,(Completed)<CRLF>
<CRLF>
1f<CRLF>
98
200 OK,count=1&t_size=7731371<CRLF>
<CRLF>
0<CRLF>
<CRLF>
0<CRLF>
Interpretation Acquire total number of files and file size. Specify start time and end time, then CHUNKED HTTP
response will be returned. The value of count is total number of files. The value of t_size is file size.
Allowed users admin, operator
c<CRLF>
200 OK,(0)<CRLF>
<CRLF>
14<CRLF>
200 OK,(Completed)<CRLF>
<CRLF>
99
C800<CRLF> Data(2) size of file1
data(2) of file1 (50 kB)
...
C800<CRLF> Data(1) size of file2
data(1) of file2 (50 kB)
C800<CRLF> Data(2) size of file2
100
- Audio Sending Client It can send audio from PC to the camera.
http://192.168.0.2/IntegratedViewer.cab
ii) Download dialog box is showed. Please click save button and copy to some folder in the PC.
101
WindowsVista : Documents
Windows7 : Documents
Default: In case of VN-H37: VN-H37
In case of VN-H137: VN-H137
In case of VN-H237: VN-H237
In case of VN-H237VP: VN-H237VP
In case of VN-H57: VN-H57
In case of VN-H157WP: VN-H157
In case of VN-H257: VN-H257
In case of VN-H257VP: VN-H257VP
OpPassword Operator Password of the camera
102
34.3. Method of ActiveX Control
JPEG /H.264 Viewer
Method Meaning
Play() Start playback
Stop() Stop playback
Capture() Save still image of JPEG
*JPEG only (Saved folder is specified by “Folder Name” of property)
103
JPEG/H.264 Viewer
<OBJECT ID="Viewer"
WIDTH = 1920
HEIGHT= 1080
CLASSID="CLSID:C0795FC0-14E7-4A78-A928-88C3FBD2A1D0"
CODEBASE="./IntegratedViewer.cab#version=1,0,1, 37"
</OBJECT>
Audio Monitor
<OBJECT ID="AudioMonitor"
WIDTH =1
HEIGHT= 1
CLASSID="CLSID:EEF1E8CA-D887-4530-97F9-4C79ABCAE520"
CODEBASE="./IntegratedViewer.cab #version=1,0,0,0"
</OBJECT>
Sample code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.0 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html;charset=euc-jp">
<TITLE>Sample Client</TITLE>
</HEAD>
<SCRIPT LANGUAGE=JAVASCRIPT>
104
// *************** Viewer ***************
function play_click(play_btn, ip, http_port)
{
if(play_btn.value == "Play"){
InitViewer(ip, http_port);
Viewer.Play();
play_btn.value = "Stop";
}
else{
Viewer.Stop();
play_btn.value = "Play";
}
}
function capture_click()
{
Viewer.Capture();
}
105
function InitSender(ip, http_port)
{
AudioSender.Password = "jvc";
AudioSender.IP = ip.value;
AudioSender.Port = http_port.value;
}
PTZCtrl.ManualCtrl(num);
}
function ZoomControl(num){
if (f_init == 0)
InitPTZCtrl();
PTZCtrl.ZoomCtrl(num);
}
function InitPTZCtrl(){
PTZCtrl.OpPassword = "jvc";
PTZCtrl.IP = myForm.IP.value;
PTZCtrl.HttpPort = myForm.HTTP_PORT.value;
PTZCtrl.Initialize();
f_init = 1;
}
function mouse_up(){
PTZCtrl.Stop();
}
function close_window(){
AudioSender.Destroy();
PTZCtrl.Destroy();
}
</SCRIPT>
106
</OBJECT>
<FORM NAME="myForm">
<table>
<tr>
<td>
VN-H37 IP Address
<INPUT TYPE="TEXT" NAME="IP" VALUE="192.168.0.2">
HTTP Port
<INPUT TYPE="TEXT" NAME="HTTP_PORT" VALUE="80">
</td>
</tr>
<tr>
<td>
Viewer
<INPUT TYPE="BUTTON" NAME="PLAY_BTN" style="width:70px"
VALUE="Play" onclick="play_click(PLAY_BTN, IP,
HTTP_PORT)">
<INPUT TYPE="BUTTON" NAME="CAPTURE_BTN" style="width:70px"
VALUE="Capture" onclick="capture_click()">
</td>
</tr>
</table>
</FORM>
</BODY>
</HTML>
34.6 Notes
- Enable the JPEG/H.264 frame size that you want in “Basic Settings2” or “Encoding” page of the camera.
- Start Multicast stream on the camera Web page to use Multicast. The ActiveX control does not send request to
the camera for starting Multicast stream.
107
- Set unique Multicast address and port number to each Multicast stream if multiple multicast streams are required
in the system.
35. PSIA
- PSIA Account
Default User Name: psia
Default Password: jvc
- RTSP URI
See Chapter 4.
36. FAQ
(1) Low Frame rate due to long delay of network
- Causes of Low Frame Rate
During transmission via TCP, the camera sends out the following data by receiving the Ack of TCP. When network
delay is long, reception of Ack will be delayed and sending rate will drop. This therefore leads to a drop in the
frame rate.
- Countermeasure
This problem can be avoided by receiving via multicast. Multicast uses UDP and Ack does not exist. As such, the
sender will be able to continue sending without being affected by network delays.
108