IP Camera API GUIDE 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.
Updates Version Date Updates 1.00 2012/1/31 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.
Version 2.01 Date Updates 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.
Preface This document is for VMS to support JVC new cameras, VN-H37/137/237. If VMS supports only streaming, i.e. VMS does not have camera setting pages, the chapter "Streaming Protocol" provides how to get stream from a camera. If VMS have setting page of the camera, focusing on necessary functionalities is recommended. Typical necessary functionalities are Image settings and Encode settings. Supporting all functionalities of camera will not pay.
Content 1. Streaming Protocol.................................................................................................................................................... 7 2. JVC Protocol: JPEG Streaming ......................................................................................................................... 7 3. JVC Protocol: H.264 Streaming ....................................................................................................................... 11 4.
35. PSIA ............................................................................................................................................................................108 36. FAQ .............................................................................................................................................................................
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. 2. JVC Protocol: JPEG Streaming 2.1.
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. 2.2. API Format Structure GET space API space HTTP/1.1 Host: space IP Address of Camera 0x0D 0x0A 0x0D 0x0A 0x0D 0x0A Unlike APIs for getting/setting parameters, Accept line is not required.
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 Content-Type: multipart/x-mixed-replace;boundary=foo Date: Tue, 06 Mar 2012 13:32:57 GMT Server: JVC VN-H137 Network Camera x-vnh37_response: encode=jpeg&framerate=5.
Refer the instruction manual for detailed infomation. 2.5. JPEG File Format Sent Out by the camera JPEG file from the camera is JFIF compliant and consist of the following. Start Code Application Segment Comment Segment 1 Comment Segment 2 (reserved) DHT Huffman Table DQT Quantization Table DRI Restart Interval SOF Frame Information Data Start Segment End Code FFD8 FFE0 FFFE FFFE FFC4 FFDB FFDD FFC0 FFDA FFD9 The following information is stored in the comment segment 1. Each item has a fixed length.
Example: When width=640, the 13-byte area will be written as follows. w i d t h = 6 4 0 0x00 0x00 3. JVC Protocol: H.264 Streaming 3.1. Basic Procedures 1) The client establishes a TCP connection to port number 80. 2) The client sends out API. Example to get H.264 high profile stream encoded by first channel of the camera GET /api/video?encode=h264(1) HTTP/1.1 Host: 192.168.0.2 Note denotes the line feed code (0x0D, 0x0A). 3) The camera returns HTTP response and H.
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 GET /api/video?encode=h264(1) HTTP/1.1 Host: 192.168.0.2 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.
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. Example of H.264 Stream HTTP response Sequence Parameter Set Picture Parameter Set 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.
Pan position Tilt position Zoom position Preset Posision Number 16 17 17 15 digipan = 123 digitilt = 123 digizoom = 1.23 position = 19 Indicates pan position in pixels from 0 to 1278. Indicates tilt position in pixels from 0 to 958. Indicates zoom value from 1.00 to 8.00. Indicates preset position number after moving to preset position. In other cases, position = NA. 4. JVC Protocol: MPEG-4 Streaming 4.1. Basic Procedures 1) The client establishes a TCP connection to port number 80.
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 Host: 192.168.0.2 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.
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. Example of MPEG-4 Stream HTTP response P-VOP P-VOP P-VOP VOL I-VOP P-VOP ~ There are VOL, Userdata1, GOV and Userdata2 before each I-VOP.
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 1 2 3 URI of RTSP rtsp://ipaddress/PSIA/Streaming/channels/0 rtsp://ipaddress/PSIA/Streaming/channels/1 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.
waits 0-0.7 second before sending response to avoid too many responses are sent in short period from many cameras. Response Example system.id=VN-H37(192.168.0.2/24)&200 OK 7. Using API that Requires Basic Authentication Basic authentication is required for JVC API explained in Section 7 or later. This section provides general explanation of those APIs. 7.1. Procedure 1) The client establishes a TCP connection to port number 80. 2) The client sends API. API has following structure.
admin:jvc Base64 encoding of this string yields YWRtaW46anZj. Enter this in the Authorization line. Default password for each username is jvc. 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.
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 ParamA.ParamB.ParamD&200 OK 7.3. Setting Parameter Specify API in GET line according to the format below when setting a parameter for the camera. /api/param?ParamA.ParamB.
Format /api/param?camera.id Example of response camera.id=VN-H37&200 OK Response example when setting field is left blank camera.id=&200 OK Interpretation Acquire Camera ID comment. This comment is stored in comment segment of JPEG. The 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". Example of response camera.id=Camera01&200 OK Sender Camera01
Allowed users admin, operator, user Getting Preset Data of Scene File Format /api/param?camera.scene(number).status Example of getting scene file 0 /api/param?camera.scene(0).status Example of response 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.
Getting Auto Exposure Reference of a Scene File Format /api/param?camera.scene(number).auto_exposure.reference Example of response camera.scene(0).auto_exposure.reference=0&200 OK Interpretation Acquire auto exposure reference. A number from -5 to 5 is returned. When the number is bigger, image becomes brighter. Allowed users admin, operator, user Setting Auto Exposure Reference of a Scene File Format /api/param?camera.scene(number).auto_exposure.reference=data Example /api/param?camera.scene(0).
Getting Enhance of a Scene File Format /api/param?camera.scene(number).image.enhance Example of response camera.scene(0).image.enhance=50&200 OK Interpretation Acquire enhance setting. The enhance is equal to sharpness of image. Range of enhance is between 0 to 100, and it is mapped to 14 internal levels. The larger the value, the sharper will be the image. Allowed users admin, operator, user Setting Enhance of a Scene File Format /api/param?camera.scene(number).image.
Interpretation Acquire white balance setting. "autoW", "autoN", or "manual" is returned. Allowed users admin, operator, user Setting White Balance of a Scene File Format /api/param?camera.scene(number).image.white_balance=data Example /api/param?camera.scene(0).image.white_balance=auto Example of response camera.scene(0).image.white_balance&202 Accepted(camera.scene.status=save) Interpretation Change white balance setting. Specify "autoW", "autoN", or "manual".
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.
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, camera.scene(0).status=save. If the change is not saved, the setting is restored by reboot. Allowed users admin, operator Getting ALC priority of Scene File Format /api/param?camera.scene(number).auto_exposure.priority Example of response camera.scene(0).auto_exposure.
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.
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 Back Light Compensation of a Scene File Format /api/param?camera.scene(number).image.blc Example of response camera.scene(0).image.blc=off&200 OK Interpretation Acquire Back Light Compensation setting. "off", "a", "b", "c" or "d" is returned.
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. Refer the Encode page of the camera to see those limitations.
Interpretation Acquire resolution of the encode channel. Encode channel is from encode(1) to encode(3). Allowed users admin, operator, user Setting Resolution (Frame Size) Format /api/param?encode(number).framesize=data Example /api/param?encode(1).framesize=1920x1080 Example of response encode(1).type&202 Accepted(encode.status=save) Interpretation Change resolution of the encode channel. Set "1920x1080", "quadvga", "1280x720", "vga", "qvga" or "640x360".
Getting H.264 or MPEG-4 bitrate Format /api/param?encode(number).bitrate Example of response encode(1).bitrate=4000000&200 OK Interpretation Acquire the bitrate setting of H.264 or MPEG-4. This API is valid when compression format is h264high, h264baseline or mpeg4. If the response is 4000000 for example, the setting is 4Mbps. Allowed users admin, operator, user Setting H.264 or MPEG-4 bitrate Format /api/param?encode(number).bitrate=Data Example /api/param?encode(1).
Allowed users admin, operator, user Setting H.264 or MPEG-4 I-Frame Interval Format /api/param?encode(number).iframeinterval=data Example /api/param?encode(1).iframeinterval=15 Example of response encode(1).iframeinterval&202 Accepted(encode.status=save) 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.
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. Allowed users admin, operator 10. JVC API for Audio (VN-H57/157WP/257/257VP) These APIs are related to audio settings. Same functions are shown on the Audio page of the WEB setting page. Refer to the instruction manual for details on the Audio page. Getting Audio Duplex Mode Format /api/param?audio.input(1).halfduplex Example of response audio.
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 Setting Mike Power Supply Format /api/param?audio.input(1).powersupply.status=data Example /api/param?audio.input(1).powersupply.status=32 Example of response audio.input(1).powersupply.status&200 OK Interpretation Change mike power supply setting.
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.
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 When preset position is specified, position number will be returned. Example of Response when position number is 2 application.event(1).action=camera.position(2).
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).
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 characters, specify by hexadecimal number after %. space & / < > # % " { } | \ ^ [ ] ` For example, specify 3 characters %20 when inserting a space in the character string. For example, to send the character string "This is alarm.", specify as "This%20is%20alarm.".
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. Setting Example /api/param?application.event(7).
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.
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 Getting Alarm Filter Type Format /api/param?application.event(Number).filter(WeekOfDay).
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.
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.
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. Allowed users admin, operator, user Setting SMTP Server Address Format /api/param?application.smtp.host=data Example /api/param?application.smtp.host=192.168.0.200 Example of Response application.smtp.
Allowed users admin, operator, user Setting Sender Mail Address Format /api/param?application.smtp.mailfrom=data Example /api/param?application.smtp.mailfrom=somebody@somecompany.com Example of Response application.smtp.mailfrom&200 OK 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.
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 field blank as follows. /api/param?application.pop.
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 as follows when this is to be left blank. /api/param?application.pop.user=%00 The user name is used as local part of sender mail address when sender mail address setting is blank. When the user name is blank, the local-part is set to "vn_h37".
Allowed users admin, operator Getting FTP Server Path Setting Format /api/param?application.ftp.path Example of Response application.ftp.path=subdir1&200 OK Response example when setting field is left blank application.ftp.path=&200 OK Interpretation Acquire the FTP server directory setting used for FTP transmission via alarm. Allowed users admin, operator, user Setting FTP Server Path Format /api/param?application.ftp.path=data Example /api/param?application.ftp.
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.
/api/param?application.ftp.naming_option. File Name Example Camera.jpg Allowed users admin, operator Getting User Define Name of File Naming Format /api/param?application.ftp.naming_option Example of Response application.ftp.naming_option=abc&200 OK Interpretation Acquire 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, and "***" can be gotten by this API.
For Pre Duration /api/param?application.object(7).prerec=2&200 OK For Post Duration /api/param?application.object(7).postrec=2&200 OK For Encoder No. /api/param?application.object(7).source=encode(1)&200 OK Interpretation Acquire parameters for PrePost. Allowed users admin, operator, user Setting Parameters of Pre/Post Recording for FTP Format To set Frame Rate /api/param?application.object(7).framerate=5 To set Pre Duration /api/param?application.object(7).
read_only on Use Use LOCK switch is enabled LOCK switch is disabled Allowed users admin, operator, user Setting SD Card to Use/Disable Format /api/param?storage.disk(1).status=data Example of Response storage.disk(1).status&200 OK 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 Getting Status of SD Card formatting Format /api/param?storage.disk(1).
Allowed users admin, operator Getting SD Card Capacity Format /api/param?storage.disk(1).size Example of Response storage.disk(1).size=30543M&200 OK Interpretation Acquire the capacity of SD card in megabytes. Allowed users admin, operator Getting SD Card Recording Status Format /api/param?storage.disk(1).rec Example of Response storage.disk(1).rec=on&200 OK Interpretation Acquire the status of SD card recording. “on” or “off”will be returned. In case of “on”, SD card recording is in progress.
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).
Allowed users admin, operator Getting Timeout of Auto Return Format /api/param?camera.motion.auto_return.timeout Example of response camera.motion.auto_return.timeout=60&200 OK Interpretation Acquire timeout of Auto Return in seconds. Allowed users admin, operator, user Setting Timeout of Auto Return Format /api/param?camera.motion.auto_return.timeout=data Example of Response camera.motion.auto_return.timeout&202 Accepted(camera.status=save) Interpretation Change timeout of Auto Return in seconds.
Setting Speed of Going to Preset Position Format /api/param?camera.motion.position.speed=data Example to set horizontal /api/param?camera.motion.position.speed=100 Example of Response camera.motion.position.speed&202 Accepted(camera.status=save) Interpretation Set speed of going to preset position. Specify from 0 to 100. 5 is horizontal. 100 is fastest. The speed is 4 steps internally. The speed is applied also to preset position of auto patrol. The change is saved by the API, camera.status=save.
Example of Response camera.motion.pan.mode&200 OK Interpretation Set direction of pan operation. Specify left or right. Allowed users admin, operator Setting Speed of Pan Operation Format /api/param?camera.motion.pan.speed=data Example to set maximum speed /api/param?camera.motion.pan.speed=100 Example of Response camera.motion.pan.speed&200 OK Interpretation Set speed of pan operation. Specify 0 to 100. The speed is 8 steps internally.
Example of Response camera.motion.tilt.status&200 OK Interpretation Start or stop tilt operation. Specify start or stop. Allowed users admin, operator Setting Direction of Tilt Operation Format /api/param?camera.motion.tilt.mode=data Example to set to up /api/param?camera.motion.tilt.mode=up Example of Response camera.motion.tilt.mode&200 OK Interpretation Set direction of tilt operation. Specify up or down. Allowed users admin, operator Setting Speed of Tilt Operation Format /api/param?camera.motion.
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.
Example to move (958, 534) to center (pixel) /api/param?camera.motion.clickoncenter=s958-s534 Example to move (958, 534) to center (percentage) /api/param?camera.motion.clickoncenter=50.00-50.00 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 (3) Preset Position Getting Current Preset Position Format /api/param?camera.
home position and it is registered with default settings when initilized. Other positions are unregistered by initializing. Allowed users admin, operator Moving to Preset Position Format /api/param?camera.position(number).status=goto Example of Response camera.position(3).status&200 OK Interpretation Move to specified preset position. Specify from 0 to 19 as position number. Allowed users admin, operator Getting Title of Preset Position Format /api/param?camera.position(number).
Example of response camera.motion.auto_patrol(0).status=moving&200 OK Interpretation Acquire current status of auto patrol. "moving" or "stop" is returned. Allowed users admin, operator, user Getting Preset Postion Number of Auto Patrol Format /api/param?camera.motion.auto_patrol(0).position(number) Example to get preset position number of patrol nuber 3 /api/param?camera.motion.auto_patrol(0).position(3) Example of response camera.motion.auto_patrol(0).
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. Allowed users admin, operator Getting Speed of Auto Patrol Format /api/param?camera.motion.auto_patrol(0).position(number).speed Example to get speed of patrol nuber 3 /api/param?camera.motion.auto_patrol(0).position(3).speed Example of response camera.motion.auto_patrol(0).position(3).speed=30.
Format /api/param?camera.private_mask.status Example of response camera.private_mask.status=on&200 OK Interpretation Acquire the on/off status of privacy masking. Allowed users admin, operator, user Setting Privacy Masking to On/Off Format /api/param?camera.private_mask.status=data Example of Response camera.private_mask.status&202 Accepted(camera.status=save) Interpretation Change the on/off status of privacy masking. The change is saved by the API, camera.status=save.
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.
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 setting is restored by reboot. Allowed users admin, operator Getting Motion Detect Mask Format /api/param?camera.detection.area Example of response camera.detection.area=00010203040506070809,,,&200 OK Interpretation Acquire the mask of motion detect.
page. Getting Tampering Detect On/Off Status Format /api/param?camera.detection(tampering).status Example of response camera.detection(tampering).status=on&200 OK Interpretation Acquire the on/off status of tampering detect. Allowed users admin, operator, user Setting Tampering Detect to On/Off Format /api/param?camera.detection(tampering).status=data Example of Response camera.detection(tampering).status&202 Accepted(camera.status=save) Interpretation Change the on/off status of tampering detect.
Setting Tampering Detect Sensitivity Format /api/param?camera.detection(tampering).temporal=data Example of response camera.detection(tampering).temporal&202 Accepted(camera.status=save) Interpretation Change the tampering detect time. Specify a value between 0 to 120. 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 19. JVC API for Network Basics The APIs below are related to the basics of networks.
Getting IP Address Format /api/param?network.interface.ip Example of Response network.interface.ip=192.168.0.2&200 OK Interpretation Acquire the current IP address. Allowed users admin, operator, user 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.
Interpretation Acquire the current default gateway. Specify ipv4 or ipv6. Allowed users admin, operator, user Setting Default Gateway Format /api/param?network.gateway(ipv4)=data Example /api/param?network.gateway(ipv4)=192.168.0.254 Example of Response network.gateway&200 OK Interpretation Change the default gateway. To set static default gateway, disable DHCP. Default gateway can not be changed when DHCP is enabled. Specify IP address in same segment with the camera. Specify 0.0.0.
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 Getting DNS Server IP Address Format /api/param?network.dns.ip Example of Response network.dns.ip=10.0.0.150&200 OK Interpretation Acquire IP address of DNS server.
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.ipv6.link_local(1)=fe80::280:88ff:fe41:400c&200 OK Interpretation Acquire the link local address of IPv6. Specify from 1 to 8 for Number, and get addresses from 1 till vacant address is returned. There is no API for setting link local address of IPv6.
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 Setting Unicast TTL Format /api/param?network.interface.ttl.unicast=data Example /api/param?network.interface.ttl.unicast=56 Example of Response network.interface.ttl.unicast&202 Accepted(network.interface.status=restart) Interpretation Change TTL of unicast.
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 Getting Network Negotiation Setting Format /api/param?network.interface.negotiation Example of Response network.interface.
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. Allowed users admin, operator Getting Status of AMX Discovery Protocol Format /api/param?network.amx.beacon.status Example of Response network.amx.
Getting Status of ONVIF Protocol Format /api/param?network.onvif.status Example of Response network.onvif.status=on&200 OK Interpretation Acquire status of ONVIF Protocol in the camera. "on" or "off" is returned. Allowed users admin, operator, user Setting Status of ONVIF Protocol Format /api/param?network.onvif.status=data Example /api/param?network.onvif.status=on Example of Response network.onvif.status&200 OK Interpretation Change status of ONVIF protocol in the camera. Specify "on" or “off”.
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 Setting Multicast Address Format /api/param?network.destination(num).host=data Example /api/param?network.destination(1).host=225.0.1.1 Example of Response network.destination(1).host&202 Accepted(network.destination(1).
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. Allowed users admin, operator Setting Frame Rate of JPEG Multicast Format /api/param?network.destination(num).framerate=data Example /api/param?network.destination(1).framerate=30 Example of Response network.destination(1).framerate&202 Accepted(network.destination(1).
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.
restrictions are applied to getting video stream and bi-directional Audio. Allowed users admin, operator Setting Client Restriction to Deny/Allow Format /api/param?network.access_control(stream_out).logic=data Example /api/param?network.access_control(stream_out).logic=deny Example of Response network.access_control(stream_out).logic&200 OK Interpretation Change the deny/allow setting of client restrictions. Specify as deny or allow.
Example /api/param?network.access_control(stream_out).host(1)=%00 Allowed user admin 23. JVC API for Time The APIs below are related to time. These are equivalent to the features on the Time page of the WEB setting page. Refer to the instruction manual for details on the Time page. Getting On/Off of SNTP Client Format /api/param?network.ntp.status Example of Response network.ntp.status=off&200 OK Interpretation Acquire the on/off status of SNTP client. Either on or off will be returned.
Getting Access Interval to NTP Server Format /api/param?network.ntp.interval Example of Response network.ntp.interval=10&200 OK Interpretation Acquire the interval for accessing the NTP server. Unit can be gotten by "network.ntp.unit" API. Allowed users admin, operator, user Setting Access Interval to NTP Server Format /api/param?network.ntp.interval=data Example /api/param?network.ntp.interval=60 Example of Response network.ntp.interval&202 Accepted(network.ntp.
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 Example of Response system.date&200 OK Interpretation Change the time of the built-in clock in the camera. Specify in the order of year, month, day, hour, minute and second. Specify year in a 4-digit decimal number, and month, day, hour, minute and second in 2-digit decimal numbers.
Paris CET GMT+2 EET GMT+3 GMT+3:30 GMT+4 GMT+4:30 GMT+5 GMT+5:30 Calcutta GMT+5:45 GMT+6 GMT+6:30 GMT+7 GMT+8 GMT+8:45 GMT+9 GMT+9:30 Japan GMT+10 GMT+10:30 GMT+11 GMT+11:30 GMT+12 GMT+12:45 Same timezone as GMT+1. Same timezone as GMT+1. Timezone that is 2 hours later than the Greenwich Mean Time. Same timezone as GMT+2 Timezone that is 3 hours later than the Greenwich Mean Time. Timezone that is 3 hours and 30 minutes later than the Greenwich Mean Time.
Interpretation Change the password of admin(0), admin(1), admin(2) or admin(3). Set a password between 4 to 16 characters. There is no API for Getting passwords. Allowed user admin Setting Password of operator Format /api/param?system.password.operator(num)=data2 Example /api/param?system.password.operator(0)=someword Example of Response system.password. operator(0)&200 OK Interpretation Change the password of operator(0), operator(1), operator(2) or operator(3). Set a password between 4 to 16 characters.
WEB setting page. Refer to the instruction manual for details on the Maintenance page. Restart the Camera Format /api/param?system.status=restart Example of Response system.status&200 OK Interpretation Restarts the camera. Allowed users admin Initialization Format /api/param?system.status=initialize Example of Response system.status&200 OK Interpretation Restore all the camera settings to factory defaults. Upon doing so, all transmission services that are in progress will be terminated.
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. Allowed users admin, operator Getting LED blinking mode Format /api/param?camera.identify Example of Response camera.identify=off&200 OK Interpretation Acquire LED blinking setting. "on" or "off" is returned. If thie is "on", LED is blinking. Allowed users admin, operator, user Setting LED blinking mode Format /api/param?camera.
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 In case of H.264, system.
Allowed users admin, operator, user Getting Firmware Revisions Format /api/param?system.software.revision Example of Response system.software.revision=1.00&200 OK Interpretation Acquire revisions of the firmware. Allowed users admin, operator, user Getting Software ID Format /api/param?system.software.programid Response Return software ID. Response examples system.software.programid=SPL0123&200 OK Interpretation Acquire the software ID. Allowed user admin 28.
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.
Example /api/param?network.rtsp.port=554 Example of Response network.rtsp.port&202 Accepted(network.rtsp(configuration).status=restart) Interpretation Change port number of RTSP server. Default is 554. Allowed user admin, operator 29. Getting Audio from the Camera via HTTP (VN-H57/157WP/257/257VP) 29.1. Basic Procedures 1) The client establishes a TCP connection to port number 80. 2) The client sends out API. Example GET /api/audio?lowdelay=1 HTTP/1.1 Host: 192.168.0.
,,, 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. 29.2.
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.
30.1. Procedures 1) The client establishes a TCP connection to port number 80. 2) The client sends out API. API has following structure. GET space Accept: space Host: space Authorization: Basic API Characters space HTTP/1.1 0x0D 0x0A text/plain (or text/html) 0x0D 0x0A IP Address of the camera 0x0D 0x0A space Encoded User Name and Password 0x0D 0x0A 0x0D 0x0A Refer to Section 5 on details of the Accept and Authorization lines. The API characters are as follows. /api/receive?from=network&from.
4) The client continues to send 512 bytes of u-Law data with a 12-byte header. 0x00000080 Volume of payload (512 for u-Law) Time stamp in 8kHz u-Law data (512 bytes) 5) To end, disconnect TCP49298. 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.
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 c=IN IP4 0.0.0.
S->C RTSP/1.0 200 OK CSeq: 3 Session: 401875008 Status: pause C->S PLAY rtsp://192.168.0.20/PSIA/Streaming/tracks RTSP/1.0 CSeq: 4 Range: clock=20120518T135717Z Session: 401875008 S->C RTSP/1.0 200 OK CSeq: 4 Session: 401875008 C->S GET_PARAMETER rtsp://192.168.0.20/PSIA/Streaming/tracks RTSP/1.0 CSeq: 5 Connection: Keep-Alive Session: 401875008 S->C RTSP/1.0 200 OK CSeq: 5 Session: 401875008 Status: play 32. Exporting H.
200 OK,count=1&t_size=7731371 0 0 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 Exporting SD Card Data as a File Format /api/copy?pseudo=off&from.date.start=YYYYMMDDhhmmss&from.date.
Data(2) size of file1 C800 data(2) of file1 (50 kB) ... Data(1) size of file2 C800 data(1) of file2 (50 kB) Data(2) size of file2 C800 data(2) of file2 (50 kB) ... End of file 0 Interpretation Specify start time and end time, then CHUNKED HTTP response and H.264 elementary stream data will be returned. Allowed users admin, operator 33. List of Protocols and Port Numbers Used The camera uses the following protocols and port numbers.
- Audio Sending Client It can send audio from PC to the camera. How to download ActiveX controls: i) Please input URL below in Internet Explorer’s url form. http://(IP Address)/ IntegratedViewer.cab Ex.) When IP address of the camera is “192.168.0.2”: 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. 34.2. Properties of ActiveX JPEG /H.
OpPassword 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 Operator Password of the camera PTZ Control Client Property IP HttpPort DispLang OpPassword PanTiltSpeed FocusZoomSpeed BlackAndWhiteMode WhiteBalance BLC AutoFunctionStatus PositionTitle(n) FocusAssistMode Meanin
34.3. Method of ActiveX Control JPEG /H.
JPEG/H.264 Viewer
function InitSender(ip, http_port) { AudioSender.Password = "jvc"; AudioSender.IP = ip.value; AudioSender.Port = http_port.value; } // *************** PTZ Control *************** var f_init = 0; function PTControl(num){ if (f_init == 0) InitPTZCtrl(); 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.