IPCAM CGI SDK 2.1
Contents
summary
The CGI APIs is based on http protocal.
Different CGI with different Permissions:visitor、operator and Administrator. In this article cgi only support get and post method. upgrade_firmware.cgi and upgrade_htmls.cgi only support post method,otherscgi only support get method.
next_url:an option param. If you don’t want only return a simple “OK” when set succeed,you can add a param in the end——next_url.The param is the next file it jump to when set succeed.The param must be a Relative path.
Get: (Example)
<form action=”/set_mail.cgi”>
<input name=”svr”>
<input name=”user”>
<input name=”pwd”>
<input name=”sender”>
<input name=”receiver1”>
<input name=”receiver2”>
<input name=”receiver3”>
<input name=”receiver4”>
<input type=hidden name=”next_url” value=”index.htm”>
<input type=submit value=”ok”>
</form>
Post : (Example)
<form action=”upgrade_firmware.cgi?next_url=index.htm” method=”post”
enctype=”multipart/form-data”>
<input type=”file” name=”file” size=”20”>
</form>
snapshot.cgi
description |
To obtain the snapshot |
Permission |
visitor |
Syntax |
/snapshot.cgi[?user=&pwd=&next_url=] |
Parameters |
user:username pwd:password next_url:the name of snapshot |
Note |
1 If not use the parameter “next_url”, the snapshot name is:device id(Alias)_ Current time.jpg 2 Use “next_url” (for example:next_url=1 the name of photo:1.jpg) 3 support 2 Authentication Metheds: http Basic64 encode and use username/password in the param directly. |
videostream.cgi
description |
Use server push mode to send videostream to Client APP |
Permission |
visitor |
Syntax |
/videostream.cgi[?user=&pwd=&resolution=] |
Parameters |
user:username pwd:password |
Note |
Resolution: 8:320*240 32:640*480 |
videostream.asf
description |
Ipcam send videostream of asf format, only support vlc player and mplayer |
Permission |
visitor |
Syntax |
/videostream.asf[?user=&pwd=&resolution=] |
Parameters |
user:username pwd:password |
Note |
Resolution: 8:320*240 32:640*480 |
get_status.cgi
description |
To obtain the Device status info. |
Permission |
everyone |
Syntax |
/get_status.cgi |
return |
now:The count of seconds form 1970-1-1 0:0:0 to now alarm_status: 0:no alarm 1:motion alarm 2:input alarm ddns_status:DDNS status(details see below) upnp_status:UPNP status(details see below) |
Note |
support 2 Authentication Metheds: http Basic64 encode and use username/password in the param directly. |
ddns_status
Return |
description |
0 |
No Action |
1 |
It’s connecting… |
2 |
Can’t connect to the Server |
3 |
Dyndns Succeed |
4 |
DynDns Failed: Dyndns.org Server Error |
5 |
DynDns Failed: Incorrect User or Password |
6 |
DynDns Failed: Need Credited User |
7 |
DynDns Failed: Illegal Host Format |
8 |
DynDns Failed: The Host Does not Exist |
9 |
DynDns Failed: The Host Does not Belong to You |
10 |
DynDns Failed: Too Many or Too Few Hosts |
11 |
DynDns Failed: The Host is Blocked for Abusing |
12 |
DynDns Failed: Bad Reply from Server |
13 |
DynDns Failed: Bad Reply from Server |
14 |
Oray Failed: Bad Reply from Server |
15 |
Oray Failed: Incorrect User or Password |
16 |
Oray Failed: Incorrect Hostname |
17 |
Oray Succeed |
18 |
Reserved |
19 |
Reserved |
20 |
Reserved |
21 |
Reserved |
upnp_status
Return |
description |
0 |
No Action |
1 |
Succeed |
2 |
Device System Error |
3 |
Errors in Network Communication |
4 |
Errors in Chat with UPnP Device |
5 |
Rejected by UPnP Device, Maybe Port Conflict |
get_camera_params.cgi
description |
obtain camera params |
Permission |
visitor |
Syntax |
/get_camera_params.cgi[?user=&pwd=] |
Parameters |
user:username pwd:password |
Note |
Return: Resolution: 8: 320*240 32: 640*480 Brightness: 0-255 Contrast: 0-6 Mode: 0: 50hz 1: 60hz 2 outdoor format Flip: 0: initial 1: vertical rotate 2: horizontal rotate 3: vertical + horizontal rotate |
decoder_control.cgi
description |
Decoder control |
Permission |
operator |
Syntax |
/decoder_control.cgi?command=[&next_url=] |
Parameters |
value description 0 up 1 Stop up 2 down 3 Stop down 4 left 5 Stop left 6 right 7 Stop right … Reserved 25 center 26 Vertical patrol 27 Stop vertical patrol 28 Horizon patrol 29 Stop horizon patrol … Reserved 94 IO output high 95 IO output low
|
camera_control.cgi
description |
To control camera sensor Parameters |
Permission |
operator |
Syntax |
/camera_control.cgi?param=&value=[&next_url=] |
Parameters |
param value (see below) |
param |
value |
0 Resolution |
8: 320*240 32:640*480 |
1 Brightness |
0~255 |
2 Contrast |
0~6 |
3 mode |
0: 50Hz 1: 60Hz 2: Outdoor |
5 Flip&mirror |
0: default 1: flip 2: mirror 3: flip + mirror |
reboot.cgi
description |
Reboot device |
Permission |
Administrator |
Syntax |
/reboot.cgi[?next_url=] |
restore_factory.cgi
description |
Restore factory settings |
Permission |
Administrator |
Syntax |
/restore_factory.cgi[?next_url=] |
get_params.cgi
description |
To obtain the device settings info. |
Permission |
Administrator |
Syntax |
/get_params.cgi |
Return:
id |
Device ID |
sys_ver |
Firmware version number |
app_ver |
Web UI version number |
alias |
alias |
now |
The count of seconds form 1970-1-1 0:0:0 to now |
tz |
The current time zone settings contrast with the standard time zone GMT (Unit: Seconds) |
ntp_enable |
0:disable ntp Calibration time 1:enable |
ntp_svr |
Ntp Server |
user1_name |
User1 name |
user1_pwd |
User1 password |
user1_pri |
User1 permission |
… |
… |
user8_name |
User8 name |
user8_pwd |
User8 password |
user8_pri |
User8 permission |
dev2_alias |
The 2nd Device alias |
dev2_host |
The 2nd Device host(IP or Domain name) |
dev2_port |
The 2nd Device port |
dev2_user |
The 2nd Device user name |
dev2_pwd |
The 2nd Device password |
… |
… |
dev9_alias |
The 9th Device alias |
dev9_host |
The 9th Device host(IP or Domain name) |
dev9_port |
The 9th Device port |
dev9_user |
The 9th Device user name |
dev9_pwd |
The 9th Device password |
ip |
IP address |
mask |
mask |
gateway |
gateway |
dns |
Dns server |
port |
port |
wifi_enable |
0:disable 1:enable |
wifi_ssid |
WIFI SSID |
wifi_encrypt |
0:disable 1:web 2:wpa tkip 3:wpa aes 4:wpa2 aes 5:wpa2 tkip+aes |
wifi_defkey |
Wep Default TX Key |
wifi_key1 |
Key1 |
wifi_key2 |
Key2 |
wifi_key3 |
Key3 |
wifi_key4 |
Key4 |
wifi_authtype |
Authetication type 0:open 1:share |
wifi_keyformat |
Keyformat 0:Hex 1:ASCII |
wifi_key1_bits |
0:64 bits 1:128 bits |
wifi_key2_bits |
0:64 bits 1:128 bits |
wifi_key3_bits |
0:64 bits 1:128 bits |
wifi_key4_bits |
0:64 bits 1:128 bits |
wifi_channel |
Channel (default 5) |
wifi_mode |
Mode (default 0) |
wifi_wpa_psk |
wpa_psk |
pppoe_enable |
0:disable 1:enable |
pppoe_user |
pppoe user |
pppoe_pwd |
pppoe password |
upnp_enable |
0:disable 1:enable |
ddns_service |
0:disable DDNS 1:oray.cn 2:Dyndns.org(dyndns) 3:Dyndns.org(statdns) 4:Dyndns.org(custom) 5: Reserved 6: Reserved 7: Reserved 8:3322.org(dyndns) 9:3322.org(statdns) |
ddns_user |
Ddns user |
ddns_pwd |
Ddns password |
ddns_host |
Ddns host |
ddns_proxy_svr |
Proxy server (only used in china ) |
ddns_proxy_port |
Proxy port |
mail_svr |
Mailbox server |
mail_port |
Mailbox server port |
mail_user |
Mail user name |
mail_pwd |
Mail password |
mail_sender |
The sender mailbox |
mail_receiver1 |
The receiver1 mailbox |
mail_receiver2 |
The receiver2 mailbox |
mail_receiver3 |
The receiver3 mailbox |
mail_receiver4 |
The receiver4 mailbox |
mail_inet_ip |
Mail send internet IP 0:disable 1:enable |
ftp_svr |
FTP server |
ftp_port |
FTP server port |
ftp_user |
User name |
ftp_pwd |
password |
ftp_dir |
catalogue |
ftp_mode |
0:post 1:pasv |
ftp_upload_interval |
Upload interval (Seconds) 0:disable |
alarm_motion_armed |
0:motion disable 1:enable |
alarm_motion_sensitivity |
Sensitivity 0:high 1:medium 2:low 3:ultra low |
alarm_input_armed |
0:input detect disable 1:enable |
alarm_iolinkage |
0:when alarm disable IO linkage 1:enable |
alarm_mail |
0:when alarm disable mail send 1:enable |
alarm_upload_interval |
Upload interval (Seconds) 0:disable |
upgrade_firmware.cgi
description |
Upgrade firmware |
Permission |
Administrator |
Syntax |
/upgrade_firmware.cgi[?next_url=] |
Note |
Must use POST method. |
upgrade_htmls.cgi
description |
Upgrade Web UI firmware |
Permission |
Administrator |
Syntax |
/upgrade_htmls.cgi[?next_url=] |
Note |
Must use POST method. |
set_alias.cgi
description |
Set device alias |
Permission |
Administrator |
Syntax |
/set_alias.cgi?alias=[&next_url=] |
Parameters |
Alias:length <=20 |
set_datetime.cgi
description |
Set device data time |
Permission |
Administrator |
Syntax |
/set_datetime.cgi?tz=&ntp_enable=&ntp_svr=[&now=&next_url=] |
Parameters |
now: The count of seconds form 1970-1-1 0:0:0 to now;if use, the device will calibration time depend on it. tz:set time zone. The current time zone settings contrast with the standard time zone GMT (Unit: Seconds) ntp_enable:0:disable 1:enable ntp_svr:ntp server length <= 64 |
set_users.cgi
description |
Set device user settings |
Permission |
Administrator |
Syntax |
/set_users.cgi?user1=&pwd1=&pri1=&user2=&pwd2=&pri2=&user3=&pwd3=&pri3=&user4=&pwd4=&pri4=&user5=&pwd5=&pri5=&user6=&pwd6=&pri6=&user7=&pwd7=&pri7=&user8=&pwd8=&pri8=[&next_url=] |
Parameters |
user1: user1 name length <= 12 pwd1: user1 password length <= 12 pri1: user1 Permission 0:visitor 1:operator 2: administrator … user8: user1 name length <= 12 pwd8: user1 password length <= 12 pri8: user1 Permission 0:visitor 1:operator 2: administrator |
set_devices.cgi
description |
Set muilt device |
Permission |
Administrator |
Syntax |
/set_devices.cgi?dev2_alias=&dev2_host=&dev2_port=&dev2_user=&dev2_pwd=&dev3_alias=&dev3_host=&dev3_port=&dev3_user=&dev3_pwd=&dev4_alias=&dev4_host=&dev4_port=&dev4_user=&dev4_pwd=&dev5_alias=&dev5_host=&dev5_port=&dev5_user=&dev5_pwd=&dev6_alias=&dev6_host=&dev6_port=&dev6_user=&dev6_pwd=&dev7_alias=&dev7_host=&dev7_port=&dev7_user=&dev7_pwd=&dev8_alias=&dev8_host=&dev8_port=&dev8_user=&dev8_pwd=&dev9_alias=&dev9_host=&dev9_port=&dev9_user=&dev9_pwd=[&next_url=] |
Parameters |
dev2_alias:The 2nd Device alias dev2_host:The 2nd Device host(IP or Domain name) dev2_port:The 2nd Device port dev2_user:The 2nd Device user name dev2_pwd:The 2nd Device password … … dev9_alias:The 9th Device alias dev9_host:The 9th Device host(IP or Domain name) dev9_port:The 9th Device port dev9_user:The 9th Device user name dev9_pwd:The 9th Device password |
set_network.cgi
description |
Set device basic net settings |
Permission |
Administrator |
Syntax |
/set_network.cgi?ip=&mask=&gateway=&dns=&port=[&next_url=] |
Parameters |
Ip:ip address; if ip set null,The device will DHCP Ip mask: mask gateway: gateway dns: dns server port: port number |
set_wifi.cgi
description |
Set device wireless settings (wifi) |
Permission |
Administrator |
Syntax |
/set_wifi.cgi?enable=&ssid=&encrypt=&defkey=&key1=&key2=&key3=&key4=&authtype=&keyformat=&key1_bits=&key2_bits=&key3_bits=&key4_bits=&channel=&mode=&wpa_psk=[&next_url=] |
Parameters |
enable: 0:disable 1:enable ssid: wifi SSID encrypt: 0:disable encrypt 1:web 2:wpa tkip 3:wpa aes 4:wpa2 aes 5:wpa2 tkip+aes defkey: 0~3(web encrypt) key1:wep key1 … key4:wep key4 authtype: Authetication type 0:open 1:share keyformat: Keyformat 0:Hex 1:ASCII key1_bits: 0:64 bits 1:128 bits … key4_bits: 0:64 bits 1:128 bits channel: Channel (default 5) mode: Mode (default 0) wpa_psk: wpa_psk length <= 64;if not use,set null. |
set_pppoe.cgi
description |
Set device pppoe settings |
Permission |
Administrator |
Syntax |
/set_pppoe.cgi?enable=&user=&pwd= [&next_url=] |
Parameters |
enable: 0:disable pppoe 1:enable user: user name length <=40 pwd: password length <=20 |
set_upnp.cgi
description |
Set UPNP settings |
Permission |
Administrator |
Syntax |
/set_upnp.cgi?enable=[&next_url=] |
Parameters |
enable: 0:disable UPNP 1:enable |
set_ddns.cgi
description |
Set device DDNS settings |
Permission |
Administrator |
Syntax |
/set_ddns.cgi?service=&user=&pwd=&host=&proxy_svr=&proxy_port=[&next_url=] |
Parameters |
service : 0:disable DDNS; 1:oray.cn; 2: DynDns.org(dyndns); 3: DynDns.org(statdns); 4: DynDns.org(custom) 5: Reserved 6: Reserved 7: Reserved 8:3322.org(dyndns) 9:3322.org(statdns) user: user name length <=20 pwd: password length <=20 host:DDNS domain name length <=40 proxy_svr: Proxy server length <=20 (only used in china Mainland or HongKong ) proxy_port : Proxy port |
set_ftp.cgi
description |
Set device FTP settings |
Permission |
Administrator |
Syntax |
/set_ftp.cgi?svr=&port=&user=&pwd=&mode=&dir=&upload_interval=[&next_url=] |
Parameters |
svr: FTP server length <=64 port: FTP server port user: User name pwd: password dir: FTP upload catalogue mode: 0:post 1:pasv upload_interval: Upload interval (Seconds) 0:disable (range:0-65535) |
set_mail.cgi
description |
Set device mail settings |
Permission |
Administrator |
Syntax |
/set_mail.cgi?svr=&port=&user=&pwd=&sender=&receiver1=&receiver2=&receiver3=&receiver4=&mail_inet_ip=[&next_url=] |
Parameters |
svr: mail server length <=64 port: Mailbox server port user: User name length <=20 pwd: password length <=20 sender: The sender mailbox length <=40 receiver1: The receiver1 mailbox length <=40 receiver2: The receiver2 mailbox length <=40 receiver3: The receiver3 mailbox length <=40 receiver4: The receiver4 mailbox length <=40 mail_inet_ip: 0:disable 1:enable |
set_alarm.cgi
description |
Set device alarm settings |
Permission |
Administrator |
Syntax |
/set_alarm.cgi?motion_armed=&motion_sensitivity=&input_armed=&iolinkage=&mail=&upload_interval=[&next_url=] |
Parameters |
motion_armed: 0:motion disable 1:enable motion_sensitivity: Sensitivity 0:high 1:medium 2:low 3:ultra low input_armed: 0:input detect disable 1:enable iolinkage: 0:when alarm disable IO linkage 1:enable mail: 0:when alarm disable mail send 1:enable upload_interval: Upload interval (Seconds) 0:disable (range:0-65535) |
Comm_write.cgi
description |
Sending data through camera serial port. Only support few model |
Permission |
Operator |
Syntax |
/comm_write.cgi?port=&baud=&bytes=&data=[&next_url=] |
Parameters |
Port: 0-3 Baud: 9: B1200 11: B2400 12: B4800 13: B9600 14: B19200 15: B38400 4097: B57600 4098: B115200 Bytes: < 256 Data: use url code |
Set_forbidden.cgi
description |
Setting the forbidden for checking video/audio |
Permission |
administrator |
Syntax |
/set_forbidden.cgi?schedule_enable=&schedule_sun_0=&schedule_sun_1=&schedule_sun_2=&schedule_mon_o=&schedule_mon_1=&schedule_mon_2=&schedule_tue_0=&schedule_tue_1=&schedule_tue_2=&schedule_wed_0=&schedule_wed_1=&schedule_web_2=&schedule_thu_0=&schedule_thu_1=&schedule_thu_2=&schedule_fri_0=&schedule_fri_1=&schedule_fri_2=&schedule_sat_0=&schedule_sat_1=&schedule_sat_2=[&next_url=] |
Parameters |
Schedule_enable Plan to forbidding for audio/video Schedule_sun_0 Sunday plan. 24hours/day. Divided 24hours to 96 time district, each district for 15 munites. Bit0-95: 0: not forbid, 1: forbid Schedule_sun_1 Schedule_sun_2 Schedule_mon_0
Schedule_mon_1 Schedule_mon_2 Schedule_tue_0
Schedule_tue_1 Schedule_tue_2 Schedule_wed_0
Schedule_wed_1 Schedule_wed_2 Schedule_thu_0
Schedule_thu_1 Schedule_thu_2 Schedule_fri_0
Schedule_fri_1 Schedule_fri_2 Schedule_sat_0
Schedule_sat_1 Schedule_sat_2
|
get_forbidden.cgi
description |
Access the forbidding for checking audio/video |
Permission |
Administrator |
Syntax |
/get_forbidden.cgi |
return |
See set_forbidden.cgi |
Set_misc.cgi
description |
Set rotational Parameters of camera |
Permission |
Administrator |
Syntax |
/set_misc.cgi? [led_mode=&ptz_center_onstart=&ptz_auto_patrol_interval=&ptz_auto_patrol_type=&ptz_patrol_h_rounds=&ptz_patrol_v_rounds=&next_url=] |
Parameters |
Led_mode: 0:mode1 1:model2 2:shut off the led Ptz_center_onstart: =1 Ptz_auto_patrol_interval, =0: no auto rotating Ptz_auto_patrol_type: 0:no rotate 1:horizontal 2: vertical 3: horizontal + vertical Ptz_patrol_h_round: 0: Infinite Ptz_patrol_v_round: 0: Infinite Ptz_patrol_rate: 0-100, 0: the fastest Ptz_patrol_up_rate: 0-100, 0: the slowest Ptz_patrol down_rate 0-100, 0: the slowest Ptz_patrol left_rate: 0-100, 0: the slowest Ptz_patrol right_rate: 0-100, 0: the slowest |
get_misc.cgi
description |
Obtain rotational Parameters of camera |
Permission |
Administrator |
Syntax |
/get_misc.cgi? |
Parameters |
See get_misc.cgi |
set_decoder.cgi
description |
Set the parameter for decoder |
Permission |
Administrator |
Syntax |
/set_decoder.cgi?baud=[&next_url=] |
Parameters |
Baud: 9:B1200 11: B2400 12: B4800 13: B9600 14: B19200 15: B38400 4097: B57600 4098: B115200 |