AIDA Imaging HTTP Access User Guide

AIDA Imaging logo1

AIDA Imaging HTTP Access Guide
For IP Video Cameras Only

OCT 2024 Revision

This guide was intended to help users write and make their own programs to directly connect to our cameras. This flexibility helps add to your creativeness and twist to controlling the camera!

You do not have to use this guide to use the camera. Not all settings in this document pertain to each model, only if the model has that certain feature will the access to those features work.

Applicable Product List:

POV: HD-NDI-200, HD3G-NDI-200l, HD-NDI-X20, HD-NDI-CUBE, HD-NDI-IP67, HD-NDI-MINI, HD-NDI-VF, HD-NDI-TF, HD-NDI3-120, HD-NDI3-IP67, UHD-NDI3-300, UHD-NDI3-IP67, UHD-NDI3-X30

PTZ: PTZ-X12-IP, PTZ-X20-IP, PTZ-NDI-X12, PTZ-NDI-X18, PTZ-NDI-X20, PTZ-NDI3-X20, PTZ4K-NDI-X12, PTZ4K-NDI-X30, PTZ4K12G-FNDI-X30

*NDI® is a registered trademark to VIZRT AB

1.1 Getting Started

When using this document should have a certain understanding and mastery of the http protocol and its POST request method.

1.2 Grammatical regulations

HTTP is a standard for requests and responses between the client and server side. Using a web browser, web crawler, or other tool, the client initiates an HTTP request to a specified port on the server (the default port is 80). The client is generally referred to as a user agent program. The server responds to the client request and stores some resources on the server, such as HTML files and images. This type of server is generally referred to as a Web server.

HTTP Request requests need to follow the following directives

All parameter requests to go “post” way, with two different ways to distinguish between getting get and setting set via func

Set parameter interface

http://cgi-bin/web.fcgi?func=set

Get parameter interface

http://cgi-bin/web.fcgi?func=get

1.3 Request and Response simple example

Assuming our camera ip is 192.168.1.180, the syntax according to 1.2 states

Get parameter interface.

http://192.168.1.180/cgi-bin/web.fcgi?func=get

Set the interface

http://192.168.1.180/cgi-bin/web.fcgi?func=set

**Login request as an example**

This request is a get method, so the request sets the interface url, and transmits the content parameters in json format

Parameter content

“`

{

“system”:

{

“login”:”user:password”,

}

}

“`

The json string system represents the call to the main function, login represents the call to the parameter. user:password represents the incoming parameters.

For example, if the current camera account and password are both admin, the final transmission format is

“`

{

“system”:

{

“login”:”admin:admin”,

}

}

“`

The return content is returned after the request, and the return content returns different parameters depending on the method used to call the function. The login method returns the following json content

Success to return

“`

{

“status”:true

“system”:

{

“login”:int

}

}

“`

Fail to return

“`

{

“status”:false

“system”:

{

“login”:false

}

}

“`

where status is the status of the function call , true for success and false for failure.

The return format is in accordance with the request format, system is the call to the main function, login is the call to return the key

Note: In addition to login, any other command interaction must be passed a key, the syntax is “key”:int, and the value of int attached to “key” is the value returned by the “login ” operation returns the value

**Take the network interface as an example**

There are two network parameter interfaces, which are get network interface parameters and set network interface parameters. From the above example, it can be seen that

Get parameter interface.

http://192.168.1.180/cgi-bin/web.fcgi?func=get

Set interface

http://192.168.1.180/cgi-bin/web.fcgi?func=set

**Get network parameters**

“`

{

“key”: “The value corresponding to the login field in the login interface”,

“ethernet”:{“eth0”:true}

}

“`

This request means: I want to call to get all parameters under eth0 of the ethernet.

Normal return:

“`

{

“status”:true,

“ethernet”:

{

“eth0”:{

“dhcp”:int,      //0 manual 1 auto

“ip”:”192.168.1.155″,

“netmask”:”192.168.1.1″,

“gateway”:”192.168.1.1″,

“dns”:”192.168.1.1″,

“httpPort”:int,

“webPort”:int,

“rtspPort”:int,

“rtmpPort”:int

}

}

“`

When the interface is normal, i.e., when status is ture, all interface parameters of the network are obtained

**Setting network parameters**

“`

{

“key”: “The value corresponding to the login field in the login interface”,

“ethernet”:

{

“eth0”:{

“dhcp”:int      //0 manual 1auto

“ip”:”192.168.1.155″,

“netmask”:”192.168.1.1″,

“gateway”:”192.168.1.1″,

“dns”:”192.168.1.1″,

“mac”:”01:23:45:67:89:ab”,

“httpPort”:int,

“webPort”:int,

“rtspPort”:int,

“rtmpPort”:int

}

}

}

“`

When set successfully, the json string is returned

“`
{

“status”:true,

“ethernet”:

{

“eth0”:{

“dhcp”:int      //0 manual 1 auto

“ip”:”192.168.1.155″,

“netmask”:”192.168.1.1″,

“gateway”:”192.168.1.1″,

“dns”:”192.168.1.1″,

“mac”:”01:23:45:67:89:ab”

“httpPort”:int,

“webPort”:int,

“mainStreamPort”:int,

“subStreamPort”:int

“rtspPort”:int

“rtmpPort”:int

}

}

“`

1.4 Test Description

A postman can be downloaded for protocol testing (https://www.getpostman.com/downloads/).

The use of the software can be found in the accompanying video instructions.

2 Video Encode Settings
2.1 Coding parameter setting

Set

Request

{

“key”:int,

“venc”:{

“main”:{

“enable”:int,

“mode”:”h264″,      //”h264″、”h265″、”mjpeg”

“col”:3840,      //int

“line”:2160,       //int

“bitrate”:115200,     //int

“frmrate”:30,      //int

“rcmode”:”cbr”,      //”cbr”、”vbr”

“profile”:”MP”,      //”baseline”、”MP”、”HP”

“interval”:30      //int

},

“sub”:{

“enable”:int,

“mode”:”h264″,

“col”:1280,

“line”:720,

“bitrate”:4096,

“frmrate”:30,

“rcmode”:”cbr”,

“profile”:”MP”,      //”baseline”、”MP”、”HP”

“interval”:30

}

}

}

Response

Set up successfully, return the latest encoding parameters

{

“status”:true

“venc”:{

“main”:{

“enable”:int,

“mode”:”h264″,

“col”:3840,

“line”:2160,

“bitrate”:115200,

“frmrate”:30,

“rcmode”:”cbr”,

“profile”:”MP”,

“interval”:30

},

“sub”:{

“enable”:int,

“mode”:”h264″,

“col”:1280,

“line”:720,

“bitrate”:4096,

“frmrate”:30,

“rcmode”:”cbr”,

“profile”:”MP”,

“interval”:30

}

}

}

Encoding configuration not supported

{

“status”:false

“venc”:false

}

No support for primary or sub streams

{

“status”:false

“venc”:{“main”:false,sub”:false}

}

Parameter error

{

“status”:false

“venc”:{“main”:false}

}

2.2 Encoding parameter acquisition

Get

Request

{

“key”:int,

“venc”:{“main”:true,”sub”:true}

}

Or

{

“key”:int,

“venc”:{

“main”:{

“enable”:true,

“mode”:true,

“col”:true,

“line”:true,

“bitrate”:true,

“frmrate”:true,

“rcmode”:true,

“profile”:true,

“interval”:true,

“rtspUrl”:true

“rtmpUrl”:true

},

“sub”:{

“enable”:true,

“mode”:true,

“col”:true,

“line”:true,

“bitrate”:true,

“frmrate”:true,

“rcmode”:true,

“profile”:true,

“interval”:true,

“rtspUrl”:true

“rtmpUrl”:true

}

}

}

Response

{

“status”:true,

“venc”:{

“main”:{

“enable”:int,

“mode”:”h264″,

“col”:3840,

“line”:2160,

“bitrate”:115200,

“frmrate”:30,

“rcmode”:”cbr”,

“profile”:”MP”,

“interval”:30,

“rtspUrl”:”rtsp://192.168.1.155:554/stream/main”

“rtmpUrl”:”rtmp://192.168.1.155:1935/app/rtmpstream0″

},

“sub”:{

“enable”:int,

“mode”:”h264″,

“col”:1280,

“line”:720,

“bitrate”:4096,

“frmrate”:30,

“rcmode”:”cbr”,

“profile”:”MP”,

“interval”:30,

“rtspUrl”:”rtsp://192.168.1.155:554/stream/sub”

“rtmpUrl”:”rtmp://192.168.1.155:1935/app/rtmpstream1″

}

}

}

Encoding configuration not supported

{

“status”:false,

“venc”:false,

}

No support for primary or sub streams

{

“status”:false,

“venc”:{“main”:false}

}

3 Audio Encoding
3.1 Audio encoding settings

Set

Request

{

“key”:int,

“audio”:{

“enable”:int,

“samplerate”:int,

“bitwidth”:int,

“soundMode”:”Mono”,     //”Mono”、”Stereo”

“encMode”:”G711A”,
//”G711A”、”G711U”、”ADPCMA”、”G726″、”LPCM”、”AAC”

“bitrate”:int      //Bps
8000、16000、22000、24000、32000、48000、64000、96000、128000、256000、320000

}

}

Response

Set successfully, return the latest audio encoding parameters

{

“status”:true,

“audio”:{

“enable”:int,

“samplerate”:int,

“bitwidth”:int,

“soundMode”:”Mono”,

“encMode”:”G711A”,

“bitrate”:int

}

}

No support for encoding configuration or parameter errors

{

“status”:false,

“audio”:false

}

3.2 Audio encoding parameter acquisition

Get

Request

{

“key”:int,

“audio”:true

}

Or

{

“key”:int,

“audio”:{

“enable”:true,

“samplerate”:true,

“bitwidth”:true,

“soundMode”:true,

“encMode”:true,

“bitrate”:true

}

}

Set successfully, return the latest audio encoding parameters

{

“status”:true,

“audio”:{

“enable”:int,

“samplerate”:int,

“bitwidth”:int,

“soundMode”:”Mono”,

“encMode”:”G711A”,

“bitrate”:int

}

}

Failed to get or did not support change command

{

“status”:false,

“audio”:false

}

4 Network Settings
4.1 Network parameter setting

Set

Request

{

“key”:int,

“ethernet”:

{

“eth0”:{

“dhcp”:int      //0 manual 1 auto

“ip”:”192.168.1.155″,

“netmask”:”192.168.1.1″,

“gateway”:”192.168.1.1″,

“dns”:”192.168.1.1″,

“mac”:”01:23:45:67:89:ab”

“httpPort”:int,

“rtspPort”:int

“rtmpPort”:int

}

}

}

Network settings are not supported

{

“status”:false,

“ethernet”:false,

}

eth0 does not exist or does not support the configuration.

{

“status”:false,

“ethernet”:{“eth0”:false}

}

Some network parameters failed to be set.

{

“status”:false,

“ethernet”:

{

“eth0”:{

“dhcp”:int      //0 manual 1 auto

“ip”:false,

“netmask”:”192.168.1.1″,

“gateway”:false,

“dns”:”192.168.1.1″,

“mac”:”01:23:45:67:89:ab”,

“httpPort”:int,

“rtspPort”:int,

“rtmpPort”:int

}

}

}

Set up successfully

{

“status”:true,

“ethernet”:

{

“eth0”:{

“dhcp”:int       //0 manual 1auto

“ip”:”192.168.1.155″,

“netmask”:”192.168.1.1″,

“gateway”:”192.168.1.1″,

“dns”:”192.168.1.1″,

“mac”:”01:23:45:67:89:ab”

“httpPort”:int,

“rtspPort”:int,

“rtmpPort”:int

}

}

4.2 Network parameter acquisition

Get

Request:

{

“key”:int,

“ethernet”:{“eth0”:true}

}

or

{

“key”:int,

“ethernet”:

{

“eth0”:{

“dhcp”:true,

“ip”:true,

“netmask”:true,

“gateway”:true,

“dns”:true,

“mac”:true,

“httpPort”:true,

“rtspPort”:true

“rtmpPort”:true

}

}

}

Response

{

“status”:true,

“ethernet”:

{

“eth0”:{

“dhcp”:int      // 0 manual 1 auto

“ip”:”192.168.1.155″,

“netmask”:”192.168.1.1″,

“gateway”:”192.168.1.1″,

“dns”:”192.168.1.1″,

“httpPort”:int,

“rtspPort”:int

“rtmpPort”:int

}

}

Network parameter acquisition is not supported

{

“status”:false,

“ethernet”:false,

}

eth0 does not exist or does not support the configuration.

{

“status”:false,

“ethernet”:{“eth0”:false}

}

Some network parameters failed to be obtained.

{

“status”:false,

“ethernet”:

{

“eth0”:{

“dhcp”:int      // 0 manual 1 auto

“ip”:false,

“netmask”:”192.168.1.1″,

“gateway”:false,

“dns”:”192.168.1.1″,

“httpPort”:int,

“rtspPort”:int

“rtmpPort”:int

}

}

}

5 Image Control
5.1 Image parameter settings

Set:

Request

{

“key”:int,

“image”:

{

“focus_mode”:”auto”,      //”auto”,”manual”

“focus_distance”:”1.5m”,      //”1.5m”,”2m”,”3m”,”6m”,”10m”

“exposure_mode”:”auto”,      //”auto”,”manual”,”iris priority”,”shutter priority”,”brightness priority”

“shutter”:int      //60/30bpf 5:1/30 6:1/60 7:1/90 8:1/100 9:1/125 10:1/180 11:1/250 12:1/350 13:1/500 14:1/725 15:1/1000 16:1/1500 17:1/2000 18:1/3000 19:1/4000 20:1/6000 21:1/10000

//50/25bpf 5:1/25 6:1/50 7:1/75 8:1/100 9:1/120 10:1/150 11:1/215 12:1/300 13:1/425 14:1/600 15:1/1000 16:1/1250 17:1/1750 18:1/2500 19:1/3500 20:1/6000 21:1/10000

“anti_flicker”:int,      //0: 1:50Hz 2:60Hz

“exposure_brightness”:int,      //0~27

“iris”:int,     //0~13

“gain”:int,      //0~15

“WB_mode”:”auto”      //”auto”,”indoor”,”outdoor”,”one push”,”auto tracking”,”manual”

“R_gain”:int,      //0~255

“B_gain”:int,      //0~255

“mirror”:int

“flip”:int,

“backlight_compensation”:int,

“gamma”:int,      //0~4

“digital_zoom_enable”:int,

“WDR_enable”:int,

“WDR_level”:int,      //1~6

“brightness”:int,      //0~15

“sharpness”:int,      //0~15

“contrast”:int,      //0~15

“saturation”:int,      //0~15

“DC_iris”:int,      //0: close 1: open

“noise_reduction_2D”:int,

“noise_reduction_3D”:int,      //0 auto 1:level1 2:level2 3:level3 4:level4 5:disable

“vo_resolution”:”1920X1080P@60Hz”

“image_reset”:int

“zoom”:[type,speed]      //type 0 zoom stop 1 zoom in 2 zoom out speed:0~7

“focus”:[type,speed]      //type 0 focus stop 1 focus near 2 focus far speed:0~7

“ptz”:[type,speed]      //type 0 ptz stop 1 up 2 down 3 left 4 right 5 home 6 reset 7 up+left 8 down+left 9 up+right 10 down+right speed:0~0x18

“preset”:{“add”:int,”del”:int,”call”:int,”check”:int}

“snap”:int      // Image capture; =1 enable, successful capture returns true, failure returns false

“abs ctrl”:

{

“zoom”:int,

“focus”:int,

“pan”:int,

“tilt”:int

}

}

}

Response

{

“status”:true

“image”:

{

“focus_mode”:”auto”,      //”auto”,”manual”

“focus_distance”:”1.5m”,      //”1.5m”,”2m”,”3m”,”6m”,”10m”

“exposure_mode”:”auto”,      //”auto”,”manual”,”iris priority”,”shutter priority”,”brightness priority”

“shutter”:int      //60/30bpf 5:1/30 6:1/60 7:1/90 8:1/100 9:1/125 10:1/180 11:1/250 12:1/350 13:1/500 14:1/725 15:1/1000 16:1/1500 17:1/2000 18:1/3000 19:1/4000 20:1/6000 21:1/10000

//50/25bpf 5:1/25 6:1/50 7:1/75 8:1/100 9:1/120 10:1/150 11:1/215 12:1/300 13:1/425 14:1/600 15:1/1000 16:1/1250 17:1/1750 18:1/2500 19:1/3500 20:1/6000 21:1/10000

“anti_flicker”:int,      //0:close 1:50Hz 2:60Hz

“exposure_brightness”:int,      //0~27

“iris”:int,       //0~13

“gain”:int,       //0~15

“WB_mode”:”auto”      //”auto”,”indoor”,”outdoor”,”one push”,”auto tracking”,”manual”

“R-gain”:int,      //0~255

“B-gain”:int,      //0~255

“mirror”:int

“flip”:int,

“backlight_compensation”:int,

“gamma”:int,      //int

“digital_zoom_enable”:int,

“WDR_enable”:int,

“WDR_level”:int,      //1~6

“brightness”:int,      //0~15

“sharpness”:int,      //0~15

“contrast”:int,      //0~15

“saturation”:int,       //0~15

“DC_iris”:int,      // 0: close 1: open

“noise_reduction_2D”:int,

“noise_reduction_3D”:int,      //0 auto 1:level1 2:level2 3:level3 4:level4 5:disable

“vo_resolution”:”1920X1080P@60Hz”

“image reset”:true

“zoom”:true

“focus”:true

“ptz”:true

“preset”:true

“snap”:true

“abs ctrl”:true

}

}

If it fails, the corresponding subparagraph is set to false, for example

{

“status”:false

“image”:

{

“focus_mode”:”auto”,      //”auto”,”manual”

“focus_distance”:false,

“exposure_mode”:”auto”,      //”auto”,”manual”,”iris priority”,”shutter priority”,”brightness priority”

“shutter”:int      //60/30bpf 5:1/30 6:1/60 7:1/90 8:1/100 9:1/125 10:1/180 11:1/250 12:1/350 13:1/500 14:1/725 15:1/1000 16:1/1500 17:1/2000 18:1/3000 19:1/4000 20:1/6000 21:1/10000

//50/25bpf 5:1/25 6:1/50 7:1/75 8:1/100 9:1/120 10:1/150 11:1/215 12:1/300 13:1/425 14:1/600 15:1/1000 16:1/1250 17:1/1750 18:1/2500 19:1/3500 20:1/6000 21:1/10000

“anti_flicker”:int,      //0:close 1:50Hz 2:60Hz

“exposure_brightness”:false,

“iris”:int, //0~13

“gain”:int, //0~15

“WB_mode”:”auto”      //”auto”,”indoor”,”outdoor”,”one push”,”auto tracking”,”manual”

“R-gain”:int,      //0~255

“B-gain”:int,      //0~255

“mirror”:false,

“flip”:int,

“backlight_compensation”:int,

“gamma”:int,      //int

“digital_zoom_enable”:int,

“WDR_enable”:int,

“WDR_level”:int,      //1~6

“brightness”:int,      //0~15

“sharpness”:int,      //0~15

“contrast”:int,      //0~15

“saturation”:int,     //0~15

“noise_reduction_2D”:int,

“noise_reduction_3D”:int,      //0 auto 1:level1 2:level2 3:level3 4:level4 5:disable

“vo_resolution”:”1920X1080P@60Hz”

“image reset”:true,

“zoom”:true,

“focus”:true,

“ptz”:true,

“preset”:false,

“snap”:false

“abs ctrl”:false

}

}

5.2 Image parameter acquisition

Get

Request

{

“key”:int,

“image”:{

“focus_mode”:true,

“focus_distance”:true,

“exposure_mode”:true,

“shutter”:true,

“anti_flicker”:true,

“exposure_brightness”:true,

“iris”:true,

“gain”:true,

“WB_mode”:true,

“R_gain”:true,

“B_gain”:true,

“mirror”:true,

“flip”:true,

“backlight_compensation”:true,

“gamma”:true,

“digital_zoom_enable”:true,

“WDR_enable”:true,

“WDR_level”:true,

“brightness”:true,

“sharpness”:true,

“contrast”:true,

“saturation”:true,

“DC_iris”:true,

“noise_reduction_2D”:true,

“noise_reduction_3D”:true,

“vo_resolution”:true,

“vo_support”:true,

“frame_rate”:true,

“preset”:int

“zoom”:true,

“focus”:true,

“pan”:true,

“tilt”:true

}

}

Response

Get success, return relative value

{

“status”:true

“image”:

{

“focus_mode”:”auto”,     //”auto”,”manual”

“focus_distance”:”1.5m”,      //”1.5m”,”2m”,”3m”,”6m”,”10m”

“exposure_mode”:”auto”,      //”auto”,”manual”,”iris priority”,”shutter priority”,”brightness priority”

“shutter”:int      //60/30bpf 5:1/30 6:1/60 7:1/90 8:1/100 9:1/125 10:1/180 11:1/250 12:1/350 13:1/500 14:1/725 15:1/1000 16:1/1500 17:1/2000 18:1/3000 19:1/4000 20:1/6000 21:1/10000

//50/25bpf 5:1/25 6:1/50 7:1/75 8:1/100 9:1/120 10:1/150 11:1/215 12:1/300 13:1/425 14:1/600 15:1/1000 16:1/1250 17:1/1750 18:1/2500 19:1/3500 20:1/6000 21:1/10000

“anti_flicker”:int,      //0:close 1:50Hz 2:60Hz

“exposure_brightness”:int,      //0~27

“iris”:int, //0~13

“gain”:int, //0~15

“WB_mode”:”auto”     //”auto”,”indoor”,”outdoor”,”one push”,”auto_tracking”,”manual”,”sodium”,”fluorescent”

“R_gain”:int,      //0~255

“B_gain”:int,      //0~255

“mirror”:int

“flip”:int,

“backlight_compensation”:int,

“gamma”:int,      //int

“digital_zoom_enable”:int,

“WDR_enable”:int,

“WDR_level”:int,      //1~6

“brightness”:int,      //0~15

“sharpness”:int,      //0~15

“contrast”:int,      //0~15

“saturation”:int,      //0~15

“DC_iris”:int,      // 0: close 1: open

“noise_reduction_2D”:int,

“noise_reduction_3D”:int,       //0 auto 1:level1 2:level2 3:level3 4:level4 5:disable

“vo_resolution”:”1920X1080P@60Hz”

“vo_support”:int      //bit[0]1920X1080P@25Hz bit[1]1920X1080P@50Hz bit[2]1920X1080P@30Hz bit[3]1920X1080P@60Hz bit[4]1280x720P@25Hz bit[5]1280x720P@50Hz bit[6]1280x720P@30Hz bit[7]1280x720P@60Hz

//bit[8]3840X2160P@25Hz bit[9]3840X2160P@30Hz bit[10]1920X1080I@50Hz bit[11]1920X1080I@60Hz bit[12]1920X1080P@59.94Hz bit[13]1920X1080P@29.97Hz bit[15]1280x720P@59.94Hz  bit[16]1280x720P@29.97Hz

“frame_rate”:int

“preset”:int      //0 exist 1 non-exist

“zoom”:0,

“focus”:4000,

“pan”:0,

“tilt”:0

}

}

If failed, set to false relative to the Sub-items, eg:

{

“status”:false

“image”:

{

“focus_mode”:”auto”,      //”auto”,”manual”

“focus_distance”:”1.5m”,      //”1.5m”,”2m”,”3m”,”6m”,”10m”

“exposure_mode”:”auto”,     //”auto”,”manual”,”iris priority”,”shutter priority”,”brightness priority”

“shutter”:int //60/30bpf 5:1/30 6:1/60 7:1/90 8:1/100 9:1/125 10:1/180 11:1/250 12:1/350 13:1/500 14:1/725 15:1/1000 16:1/1500 17:1/2000 18:1/3000 19:1/4000 20:1/6000 21:1/10000

//50/25bpf 5:1/25 6:1/50 7:1/75 8:1/100 9:1/120 10:1/150 11:1/215 12:1/300 13:1/425 14:1/600 15:1/1000 16:1/1250 17:1/1750 18:1/2500 19:1/3500 20:1/6000 21:1/10000

“anti_flicker”:int,      //0:close 1:50Hz 2:60Hz

“exposure_brightness”:int,      //0~27

“iris”:int,      //0~13

“gain”:int,      //0~15

“WB_mode”:false,

“R_gain”:false,

“B_gain”:false,

“mirror”:false,

“flip”:int,

“backlight_compensation”:int,

“gamma”:int,      //int

“digital_zoom_enable”:int,

“WDR_enable”:int,

“WDR_level”:int,      //1~6

“brightness”:int,      //0~15

“sharpness”:int,      //0~15

“contrast”:int,       //0~15

“saturation”:int,       //0~15

“noise_reduction_2D”:int,

“noise_reduction_3D”:int,      //0 auto 1:level1 2:level2 3:level3 4:level4 5:disable

“vo_resolution”:”1920X1080P@60Hz”

“vo_support”:int      //bit[0]1920X1080P@25Hz bit[1]1920X1080P@50Hz bit[2]1920X1080P@30Hz bit[3]1920X1080P@60Hz bit[4]1280x720P@25Hz bit[5]1280x720P@50Hz bit[6]1280x720P@30Hz bit[7]1280x720P@60Hz

//bit[8]3840X2160P@25Hz bit[9]3840X2160P@30Hz bit[10]1920X1080I@50Hz bit[11]1920X1080I@60Hz bit[12]1920X1080P@59.94Hz bit[13]1920X1080P@29.97Hz bit[15]1280x720P@59.94Hz bit[16]1280x720P@29.97Hz

“frame_rate”:int

“preset”:false

}

}

6 RTMP Streaming
6.1 RTMP Streaming parameter setting

Set

Request

{

“key”:int,

“rtmp”:{

“main”:{

“enable”:int,

“url”:”rtmp://192.168.1.118:1935/app/rtmpstream2″,

},

“sub”:{

“enable”:int,

“url”:”rtmp://192.168.1.118:1935/app/rtmpstream3″,

}

}

}

Response

Set up successfully, return the latest encoding parameters

{

“status”:true

“rtmp”:{

“main”:{

“enable”:int,

“url”:”rtmp://192.168.1.118:1935/app/rtmpstream2″,

“status”:int,      //0 streaming failure 1 streaming success

},

“sub”:{

“enable”:int,

“url”:”rtmp://192.168.1.118:1935/app/rtmpstream3″,

“status”:int,      //0 streaming failure 1 streaming success

}

}

}

RTMP streaming configuration is not supported

{

“status”:false

“rtmp”:false

}

Not support primary or sub stream configuration

{

“status”:false,

“rtmp”:{“main”:false,sub”:false}

}

Parameter error

{

“status”:false,

“rtmp”:{“main”:false}

}

6.2 RTMP Streaming parameter acquisition

Get

Request

{

“key”:int,

“rtmp”:{“main”:true,”sub”:true}

}

or

{

“key”:int,

“rtmp”:{

“main”:{

“enable”:true,

“url”:true,

},

“sub”:{

“enable”:true,

“url”:true,

},

}

}

Response

{

“status”:true,

“rtmp”:{

“main”:{

“enable”:int,

“url”:”rtmp://192.168.1.118:1935/app/rtmpstream2″,

“status”:int,      //0 streaming failure 1 streaming success

},

“sub”:{

“enable”:int,

“url”:”rtmp://192.168.1.118:1935/app/rtmpstream3″,

“status”:int,      //0 streaming failure 1 streaming success

}

}

}

RTMP streaming configuration is not supported

{

“status”:false

“rtmp”:false

}

Not support primary or sub stream configuration

{

“status”:false,

“rtmp”:{“main”:false,sub”:false}

}

Parameter error

{

“status”:false,

“rtmp”:{“main”:false}

}

7 System Control
7.1 System control settings

Set

Request:

{

“key”:int,

“system”:

{

“system_control”:”image reset”,//”image_reset” Image parameter reset, “factory_reset” Factory reset, “system_reboot” System reboot

“login”:”user:password”,

}

}

Response:

Set up successfully

Request:

{

“status”:true

“system”:

{

“system_control”:true

“login”:int      // Return a key value, all json interactions must include the “key”:int item, otherwise the command will not respond

}

}

Setup failed

{

“status”:false

“system”:

{

“system_control”:false

“login”:false

}

}

7.2 System control acquisition

Get:

Request:

{

“key”:int,

“system”:

{

“device_name”:true,

“serial_number”:true,

“bootloader_version”:true,

“system_version”:true,

“app_version”:true,

“hardware_version”:true

“login”:”user:password”

}

}

Response:

Acquisition Success

{

“status”:true

“system”:

{

“device_name”:”FHD Video Conference Camera”,

“serial_number”:”123456789″,

“bootloader_version”:”V1.0.0″,

“system_version”:”V1.0.0″,

“app_version”:”V1.0.0″

“hardware_version”:”V1.0.0″

“login”:int      // Return a key value, all json interactions must include the “key”:int item, otherwise the command will not respond

}

}

Acquisition Failed

{

“status”:false

“system”:

{

“device_name”:false,

“serial_number”:”123456789″,

“bootloader_version”:”V1.0.0″,

“system_version”:”V1.0.0″,

“app_version”:”V1.0.0″

}

}

7.3 Browser control

Support browser address bar side control and query camera parameters, the syntax is the same as the above syntax, the difference is that no login authentication, that is, no key or login that action directly according to the command set control can be.

Example 1: Query version number

http://192.168.1.189/cgi-bin/web.fcgi?func=get{“system”:{“app_version”:true}}

AIDA Imaging HTTP Access - a1

Example 2: Set zoom absolute position

http://192.168.1.189/cgi-bin/web.fcgi?func=set{“image”:{“abs ctrl”:{“zoom”:0}}}

AIDA Imaging HTTP Access - a2

Example 3: query ptz position

http://192.168.2.141/cgi-bin/web.fcgi?func=get{“image”:{“zoom”:true,”focus”:true,”pan”:true,”tilt”:true}}

AIDA Imaging HTTP Access - a3

8. Auto-Tracking (if available)
8.1 Auto-Tracking Parameter Acquisition

Get:

Request

{

“ai”:true

}

or

{

“ai”:{

“enable”: true,

“peoplePos”: true,

“peopleRation”: true,

“switchTime”: true,

“boardDetectEn”: true,

“highLightTarget”:true,

“zoomLock”:true,

“PTLimit”:true

}

}

Get successfully, back to latest parameters

{

“ai”: {

“enable”: 1,

“peoplePos”: 2,

“peopleRation”: 6,

“switchTime”: 20,

“boardDetectEn”: 1,

“highLightTarget”: 0,

“zoomLock”: 1,

“PTLimit”: 1

},

“status”: true

}

Doesn’t support or abnormal paramters

{

“status”:false,

“ai”:false

}

Special preset position definition:

Preset no.255: home position;

Preset no.254: right-down limit position;

Preset no.253: left-up limit position;

Preset no.252: blackboard position

9 NDI Settings
9.1 NDI Parameter Settings

Request

{

“NDI”:{

“enable”:int,

“device name”:”HX”,

“channe name”:”Channel1″,

“groups”:”public”,

“multicast”: {

“enable”: 0,

“IP”: “239.255.0.0”,

“Mask”: “255.255.0.0”,

“TTL”: 1

},

“discovery server”:”192.168.1.42″

}

}

Response

Setting is successful, and NDI parameters are changed.

{

“NDI”:{

“enable”:1,

“device name”:”HX”,

“channe name”:”Channel1″,

“groups”:”public”,

“multicast”: {

“enable”: 0,

“IP”: “239.255.0.0”,

“Mask”: “255.255.0.0”,

“TTL”: 1

},

“discovery server”:”192.168.1.42″

},

“status”: true

}

NDI configuration is not supported

{

“status”:false

“NTP”:false

}

Parameter Error

{

“NDI”:{

“enable”:1,

“device name”:”HX”,

“channe name”:”Channel1″,

“groups”:”public”,

“multicast”: {

“enable”: 0,

“IP”: “239.255.0.0”,

“Mask”: “255.255.0.0”,

“TTL”: 1

},

“discovery server”:false

},

“status”: false

}

9.2 NDI Parameter Acquisition

Request

{

“NDI”:{

“enable”:true,

“device name”:true,

“channe name”:true,

“groups”:true,

“multicast”:true,

“discovery server”:true

}

}

{

“NDI”: true

}

Response

{

“NDI”:{

“enable”:1,

“device name”:”HX”,

“channe name”:”Channel1″,

“groups”:”public”

“multicast”: {

“enable”: 0,

“IP”: “239.255.0.0”,

“Mask”: “255.255.0.0”,

“TTL”: 1

},

“discovery server”:”192.168.1.42″,

},

“status”: true

}

Doesn’t Support NDI

{

“status”:false

“NDI”:false

}

10 SRT Settings
10.1 SRT Parameters

Request

{

“SRT”:{

“mode”:”listen”,      //”listen”、”caller”、”rendezvous”

“listen”:

{

“enable”:int,

“port”:int,

“latency”:int,      // Milliseconds

“encryption”: int,

“key length”: int,      //32、24、16

“key”: “012345678”,

}

}

}

or

{

“SRT”:{

“mode”:”caller”,      //”listen”、”caller”、”rendezvous”

“main caller”:

{

“enable”:int,

“ip”:”192.168.1.158″,

“port”:int,

“latency”:int,      //milliseconds

“encryption”: int,

“key length”: int,      //32、24、16

“key”: “012345678eee”,

“streamid”:”r=0″

},

“sub caller”:

{

“enable”:int,

“ip”:”192.168.1.158″,

“port”:int,

“latency”:int,      // millisecond

“streamid”:”r=0″

“encryption”: int,

“key length”: int,      //32、24、16

“key”: “012345678eee”,

“streamid”:”r=1″

}

}

}

or

{

“SRT”:{

“mode”:”rendezvous”,      //”listen”、”caller”、”rendezvous”

“main rendezvous”:

{

“enable”:int,

“ip”:”192.168.1.158″,

“port”:int,

“latency”:int,      //mililsecond

“encryption”: int,

“key length”: int,      //32、24、16

“key”: “012345678eee”,

“streamid”:”r=0″

},

“sub rendezvous”:

{

“enable”:int,

“ip”:”192.168.1.158″,

“port”:int,

“latency”:int,      //millisecond

“streamid”:”r=0″

“encryption”: int,

“key length”: int,       //32、24、16

“key”: “012345678eee”,

“streamid”:”r=1″

}

}

}

Response

Setting successful, SRT parameters changed

{

“SRT”:{

“mode”:”listen”,

“listen”:

{

“enable”:1,

“port”:1600,

“latency”:120,

“encryption”: 1,

“key length”: 32,

“key”: “012345678eee”,

“main url”:”srt://192.168.1.158:1600?streamid=r=0″,

“sub url”:”srt://192.168.1.158:1600?streamid=r=1″,

}

},

“status”: true

}

or

{

“SRT”:{

“mode”:”caller”,

“main caller”:

{

“enable”:1,

“ip”:”192.168.1.158″,

“port”:1600,

“latency”:120,

“encryption”: 1,

“key length”: 32,

“key”: “012345678eee”,

“streamid”:”r=0″

},

“sub caller”:

{

“enable”:1,

“ip”:”192.168.1.158″,

“port”:1600,

“latency”:120,

“encryption”: 1,

“key length”: 32,

“key”: “012345678eee”,

“streamid”:”r=1″

}

},

“status”: true

}

SRT is not supported / Parameter error

{

“status”:false

“SRT”:false

}

10.2 SRT Parameter Acquisition

Request

{

“SRT”:true

}

Response

{

“SRT”:{

“mode”:”listen”,

“listen”:

{

“enable”:1,

“port”:1600,

“latency”:120,

“encryption”: 1,

“key length”: 32,

“key”: “012345678eee”,

“main url”:”srt://192.168.1.158:1600?streamid=r=0″,

“sub url”:”srt://192.168.1.158:1600?streamid=r=1″,

}

},

“status”: true

}

or

{

“SRT”:{

“mode”:”caller”,

“main caller”:

{

“enable”:1,

“ip”:”192.168.1.158″,

“port”:1600,

“latency”:120,

“encryption”: 1,

“key length”: 32,

“key”: “012345678eee”,

“streamid”:”r=0″

},

“sub caller”:

{

“enable”:1,

“ip”:”192.168.1.158″,

“port”:1600,

“latency”:120,

“encryption”: 1,

“key length”: 32,

“key”: “012345678eee”,

“streamid”:”r=1″

}

},

“status”: true

}

or

{

“SRT”:{

“mode”:”rendezvous”,

“main rendezvous”:

{

“enable”:1,

“ip”:”192.168.1.158″,

“port”:1600,

“latency”:120,

“encryption”: 1,

“key length”: 32,

“key”: “012345678eee”,

“streamid”:”r=0″

},

“sub rendezvousr”:

{

“enable”:1,

“ip”:”192.168.1.158″,

“port”:1600,

“latency”:120,

“encryption”: 1,

“key length”: 32,

“key”: “012345678eee”,

“streamid”:”r=1″

}

},

“status”: true

}

SRT not supported

{

“status”:false

“SRT”:false

}

Documents / Resources

AIDA Imaging HTTP Access [pdf] User Guide
HD-NDI-200, HD3G-NDI-200l, HD-NDI-X20, HD-NDI-CUBE, HD-NDI-IP67, HD-NDI-MINI, HD-NDI-VF, HDNDI-TF, HD-NDI3-120, HD-NDI3-IP67, UHD-NDI3-300, UHD-NDI3-IP67, UHD-NDI3-X30, PTZ-X12-IP, PTZ-X20-IP, PTZ-NDI-X12, PTZ-NDI-X18, PTZ-NDI-X20, PTZ-NDI3-X20, PTZ4K-NDI-X12, PTZ4KNDI-X30, PTZ4K12G-FNDI-X30., Imaging HTTP Access, HTTP Access, Access

References

Leave a comment

Your email address will not be published. Required fields are marked *