Instrukcja użytkownika dostępu HTTP do AIDA Imaging

Logo AIDA Imaging1

Przewodnik po dostępie HTTP do obrazowania AIDA
Tylko dla kamer wideo IP

Rewizja PAŹDZIERNIK 2024

Ten przewodnik miał pomóc użytkownikom pisać i tworzyć własne programy do bezpośredniego łączenia się z naszymi kamerami. Ta elastyczność pomaga zwiększyć kreatywność i skręcenie w sterowaniu kamerą!

Nie musisz korzystać z tego przewodnika, aby używać aparatu. Nie wszystkie ustawienia w tym dokumencie dotyczą każdego modelu, tylko jeśli model ma daną funkcję, dostęp do tych funkcji będzie działał.

Lista produktów objętych zamówieniem:

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® jest zarejestrowanym znakiem towarowym VIZRT AB

1.1 Pierwsze kroki

Przy korzystaniu z tego dokumentu należy wykazać się pewną wiedzą i znajomością protokołu HTTP oraz jego metody żądania POST.

1.2 Przepisy gramatyczne

HTTP to standard żądań i odpowiedzi pomiędzy klientem a serwerem. Używając web przeglądarka, web crawler lub inne narzędzie, klient inicjuje żądanie HTTP do określonego portu na serwerze (domyślny port to 80). Klient jest ogólnie nazywany programem agenta użytkownika. Serwer odpowiada na żądanie klienta i przechowuje pewne zasoby na serwerze, takie jak HTML files i obrazy. Ten typ serwera jest ogólnie określany jako Web serwer.

Żądania HTTP muszą spełniać następujące dyrektywy

Wszystkie żądania parametrów mają być przesyłane w sposób „post”, z dwoma różnymi sposobami rozróżniania między pobieraniem i ustawianiem za pomocą funkcji

Ustaw interfejs parametrów

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

Pobierz interfejs parametrów

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

1.3 Żądanie i odpowiedź proste przykładoweample

Zakładając, że adres IP naszej kamery to 192.168.1.180, składnia zgodnie z 1.2 stanowi

Pobierz interfejs parametrów.

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

Ustaw interfejs

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

**Żądanie logowania jako byłyamp**le**

To żądanie jest metodą get, więc żądanie ustawia interfejs urli przesyła parametry zawartości w formacie json

Zawartość parametrów

„`

{

"system":

{

„login”:”użytkownik:hasło”,

}

}

„`

System ciągów JSON reprezentuje wywołanie funkcji głównej, login reprezentuje wywołanie parametru. user:password reprezentuje parametry przychodzące.

Na przykładampjeśli obecne konto kamery i hasło to admin, ostateczny format transmisji to

„`

{

"system":

{

„logowanie”:”admin:admin”,

}

}

„`

Zawartość zwracana jest zwracana po żądaniu, a zawartość zwracana zwraca różne parametry w zależności od metody użytej do wywołania funkcji. Metoda login zwraca następującą zawartość json

Sukces powraca

„`

{

„status”:prawda

"system":

{

„logowanie”:int

}

}

„`

Nie udało się powrócić

„`

{

„status”:fałsz

"system":

{

„logowanie”:fałsz

}

}

„`

gdzie status to stan wywołania funkcji, true w przypadku powodzenia i false w przypadku niepowodzenia.

Format zwrotu jest zgodny z formatem żądania, system to wywołanie funkcji głównej, logowanie to wywołanie w celu zwrotu klucza

Uwaga: Oprócz logowania, każda inna interakcja polecenia musi otrzymać klucz, składnia jest następująca: „klucz”:int, a wartość int dołączona do „klucza” jest wartością zwróconą przez operację „login”, która zwraca wartość

**Weźmy interfejs sieciowy jako przykładamp**le**

Istnieją dwa interfejsy parametrów sieciowych, które są get network interface parameters i set network interface parameters. Z powyższego przykładuampno widać że

Pobierz interfejs parametrów.

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

Ustaw interfejs

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

**Pobierz parametry sieciowe**

„`

{

„klucz”: „Wartość odpowiadająca polu logowania w interfejsie logowania”,

„ethernet”:{„eth0”:prawda}

}

„`

To żądanie oznacza: Chcę wywołać funkcję, aby pobrać wszystkie parametry eth0 sieci ethernet.

Zwrot normalny:

„`

{

„status”:prawda,

„ethernet”:

{

„eth0”:{

„dhcp”:int, //0 ręczny 1 automatyczny

„ip”:”192.168.1.155″,

„maska ​​sieci”: „192.168.1.1”,

„brama”: „192.168.1.1”,

„dns”: „192.168.1.1”,

„Port http”:int,

„webPort”:int,

„rtspPort”:int,

„rtmpPort”:int

}

}

„`

Gdy interfejs jest normalny, tj. gdy stan jest prawidłowy, pobierane są wszystkie parametry interfejsu sieci.

**Ustawianie parametrów sieciowych**

„`

{

„klucz”: „Wartość odpowiadająca polu logowania w interfejsie logowania”,

„ethernet”:

{

„eth0”:{

„dhcp”:int //0 ręczny 1auto

„ip”:”192.168.1.155″,

„maska ​​sieci”: „192.168.1.1”,

„brama”: „192.168.1.1”,

„dns”: „192.168.1.1”,

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

„Port http”:int,

„webPort”:int,

„rtspPort”:int,

„rtmpPort”:int

}

}

}

„`

Po pomyślnym ustawieniu zwracany jest ciąg JSON

„`
{

„status”:prawda,

„ethernet”:

{

„eth0”:{

„dhcp”:int //0 ręczny 1 automatyczny

„ip”:”192.168.1.155″,

„maska ​​sieci”: „192.168.1.1”,

„brama”: „192.168.1.1”,

„dns”: „192.168.1.1”,

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

„Port http”:int,

„webPort”:int,

„Główny NatężenieamPort”:int,

„podstrefaamPort”:int

„rtspPort”:int

„rtmpPort”:int

}

}

„`

1.4 Opis testu

Można pobrać listonosza w celu przetestowania protokołu (https://www.getpostman.com/downloads/).

Instrukcję użytkowania oprogramowania znajdziesz w załączonej instrukcji wideo.

2 Ustawienia kodowania wideo
2.1 Ustawianie parametrów kodowania

Ustawić

Wniosek

{

„klucz”:int,

„venc”:{

"główny":{

„włącz”:int,

„tryb”:”h264″, //”h264″、”h265″、”mjpeg”

„kolumna”:3840, //int

„linia”:2160, //int

„szybkość transmisji”: 115200, //int

„prędkość”:30, //int

„rcmode”: „cbr”, //”cbr”, „vbr”

"zawodowiecfile”:”MP”, //”linia bazowa”、”MP”、”HP”

„interwał”:30 //int

},

"zastąpić":{

„włącz”:int,

„tryb”:”h264″,

„kolumna”:1280,

„linia”:720,

„szybkość transmisji”: 4096,

„tempo”:30,

„rcmode”:”cbr”,

"zawodowiecfile”:”MP”, //”linia bazowa”、”MP”、”HP”

„interwał”:30

}

}

}

Odpowiedź

Skonfigurowano pomyślnie, zwróć najnowsze parametry kodowania

{

„status”:prawda

„venc”:{

"główny":{

„włącz”:int,

„tryb”:”h264″,

„kolumna”:3840,

„linia”:2160,

„szybkość transmisji”: 115200,

„tempo”:30,

„rcmode”:”cbr”,

"zawodowiecfile”:”Poseł”,

„interwał”:30

},

"zastąpić":{

„włącz”:int,

„tryb”:”h264″,

„kolumna”:1280,

„linia”:720,

„szybkość transmisji”: 4096,

„tempo”:30,

„rcmode”:”cbr”,

"zawodowiecfile”:”Poseł”,

„interwał”:30

}

}

}

Konfiguracja kodowania nie jest obsługiwana

{

„status”:fałsz

„venc”:fałsz

}

Brak wsparcia dla strumieni podstawowych i podrzędnych

{

„status”:fałsz

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

}

Błąd parametru

{

„status”:fałsz

„venc”:{„main”:false}

}

2.2 Kodowanie akwizycji parametrów

Dostawać

Wniosek

{

„klucz”:int,

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

}

Or

{

„klucz”:int,

„venc”:{

"główny":{

„włącz”:prawda,

„tryb”:prawda,

„col”:prawda,

„linia”:prawda,

„szybkość transmisji”:prawda,

„frmrate”:prawda,

„rcmode”:prawda,

"zawodowiecfile":PRAWDA,

„interwał”:prawda,

„rtspUrl":PRAWDA

„rtmp”Url":PRAWDA

},

"zastąpić":{

„włącz”:prawda,

„tryb”:prawda,

„col”:prawda,

„linia”:prawda,

„szybkość transmisji”:prawda,

„frmrate”:prawda,

„rcmode”:prawda,

"zawodowiecfile":PRAWDA,

„interwał”:prawda,

„rtspUrl":PRAWDA

„rtmp”Url":PRAWDA

}

}

}

Odpowiedź

{

„status”:prawda,

„venc”:{

"główny":{

„włącz”:int,

„tryb”:”h264″,

„kolumna”:3840,

„linia”:2160,

„szybkość transmisji”: 115200,

„tempo”:30,

„rcmode”:”cbr”,

"zawodowiecfile”:”Poseł”,

„interwał”:30,

„rtspUrl”:”rtsp://192.168.1.155:554/strumień/główny”

„rtmp”Url”:”rtmp://192.168.1.155:1935/app/rtmpstream0″

},

"zastąpić":{

„włącz”:int,

„tryb”:”h264″,

„kolumna”:1280,

„linia”:720,

„szybkość transmisji”: 4096,

„tempo”:30,

„rcmode”:”cbr”,

"zawodowiecfile”:”Poseł”,

„interwał”:30,

„rtspUrl”:”rtsp://192.168.1.155:554/strumień/sub”

„rtmp”Url”:”rtmp://192.168.1.155:1935/app/rtmpstream1″

}

}

}

Konfiguracja kodowania nie jest obsługiwana

{

„status”:fałsz,

„venc”:fałsz,

}

Brak wsparcia dla strumieni podstawowych i podrzędnych

{

„status”:fałsz,

„venc”:{„main”:false}

}

3 Kodowanie dźwięku
3.1 Ustawienia kodowania dźwięku

Ustawić

Wniosek

{

„klucz”:int,

"audio":{

„włącz”:int,

"Samp„Czytaj”:int,

„szerokość bitowa”: int,

„tryb dźwięku”: „mono”, //”mono”, „stereo”

„tryb_zamknięcia”:”G711A”,
//”G711A”,”G711U”,”ADPCMA”,”G726”,”LPCM”,”AAC”

„szybkość transmisji”: int //Bps
8000、16000、22000、24000、32000、48000、64000、96000、128000、256000、320000

}

}

Odpowiedź

Ustawiono pomyślnie, zwróć najnowsze parametry kodowania audio

{

„status”:prawda,

"audio":{

„włącz”:int,

"Samp„Czytaj”:int,

„szerokość bitowa”: int,

„tryb dźwięku”: „mono”,

„tryb_zamknięcia”:”G711A”,

„szybkość transmisji”: int

}

}

Brak obsługi błędów konfiguracji kodowania lub parametrów

{

„status”:fałsz,

„audio”:fałsz

}

3.2 Pozyskiwanie parametrów kodowania dźwięku

Dostawać

Wniosek

{

„klucz”:int,

„audio”:prawda

}

Or

{

„klucz”:int,

"audio":{

„włącz”:prawda,

"Sampczytaj”:prawda,

„szerokość bitowa”:prawda,

„trybdźwięku”:prawda,

„encMode”:prawda,

„szybkość transmisji”:prawda

}

}

Ustawiono pomyślnie, zwróć najnowsze parametry kodowania audio

{

„status”:prawda,

"audio":{

„włącz”:int,

"Samp„Czytaj”:int,

„szerokość bitowa”: int,

„tryb dźwięku”: „mono”,

„tryb_zamknięcia”:”G711A”,

„szybkość transmisji”: int

}

}

Nie udało się pobrać lub nie obsłużono polecenia zmiany

{

„status”:fałsz,

„audio”:fałsz

}

4 Ustawienia sieciowe
4.1 Ustawienia parametrów sieciowych

Ustawić

Wniosek

{

„klucz”:int,

„ethernet”:

{

„eth0”:{

„dhcp”:int //0 ręczny 1 automatyczny

„ip”:”192.168.1.155″,

„maska ​​sieci”: „192.168.1.1”,

„brama”: „192.168.1.1”,

„dns”: „192.168.1.1”,

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

„Port http”:int,

„rtspPort”:int

„rtmpPort”:int

}

}

}

Ustawienia sieciowe nie są obsługiwane

{

„status”:fałsz,

„ethernet”:fałsz,

}

eth0 nie istnieje lub nie obsługuje konfiguracji.

{

„status”:fałsz,

„ethernet”:{„eth0”:fałsz}

}

Nie udało się ustawić niektórych parametrów sieciowych.

{

„status”:fałsz,

„ethernet”:

{

„eth0”:{

„dhcp”:int //0 ręczny 1 automatyczny

„ip”:fałsz,

„maska ​​sieci”: „192.168.1.1”,

„brama”:fałsz,

„dns”: „192.168.1.1”,

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

„Port http”:int,

„rtspPort”:int,

„rtmpPort”:int

}

}

}

Skonfigurowano pomyślnie

{

„status”:prawda,

„ethernet”:

{

„eth0”:{

„dhcp”:int //0 ręczny 1auto

„ip”:”192.168.1.155″,

„maska ​​sieci”: „192.168.1.1”,

„brama”: „192.168.1.1”,

„dns”: „192.168.1.1”,

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

„Port http”:int,

„rtspPort”:int,

„rtmpPort”:int

}

}

4.2 Pozyskiwanie parametrów sieciowych

Dostawać

Wniosek:

{

„klucz”:int,

„ethernet”:{„eth0”:prawda}

}

or

{

„klucz”:int,

„ethernet”:

{

„eth0”:{

„dhcp”:prawda,

„ip”:prawda,

„maska ​​sieciowa”:prawda,

„brama”:prawda,

„dns”:prawda,

„mac”:prawda,

„httpPort”:prawda,

„rtspPort”:prawda

„rtmpPort”:prawda

}

}

}

Odpowiedź

{

„status”:prawda,

„ethernet”:

{

„eth0”:{

„dhcp”:int // 0 ręczny 1 automatyczny

„ip”:”192.168.1.155″,

„maska ​​sieci”: „192.168.1.1”,

„brama”: „192.168.1.1”,

„dns”: „192.168.1.1”,

„Port http”:int,

„rtspPort”:int

„rtmpPort”:int

}

}

Pozyskiwanie parametrów sieciowych nie jest obsługiwane

{

„status”:fałsz,

„ethernet”:fałsz,

}

eth0 nie istnieje lub nie obsługuje konfiguracji.

{

„status”:fałsz,

„ethernet”:{„eth0”:fałsz}

}

Nie udało się uzyskać niektórych parametrów sieciowych.

{

„status”:fałsz,

„ethernet”:

{

„eth0”:{

„dhcp”:int // 0 ręczny 1 automatyczny

„ip”:fałsz,

„maska ​​sieci”: „192.168.1.1”,

„brama”:fałsz,

„dns”: „192.168.1.1”,

„Port http”:int,

„rtspPort”:int

„rtmpPort”:int

}

}

}

5 Kontrola obrazu
5.1 Ustawienia parametrów obrazu

Ustawić:

Wniosek

{

„klucz”:int,

"obraz":

{

„tryb_fokusa”:”auto”, //”auto”,”ręczny”

„odległość_ogniskowa”: „1.5 m”, //”1.5 m”,”2 m”,”3 m”,”6 m”,”10 m”

„exposure_mode”:”auto”, //”auto”,”manual”,”priorytet przysłony”,”priorytet migawki”,”priorytet jasności”

“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

„anty_migotanie”:int, //0: 1:50Hz 2:60Hz

„jasność_ekspozycji”:int, //0~27

„tęczówka”: int, //0~13

„zysk”: int, //0~15

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

„R_gain”: int, //0~255

„B_gain”: int, //0~255

„lustro”:int

„odwróć”:int,

„kompensacja_podświetlenia”:int,

„gamma”: int, //0~4

„włącz_zoom_cyfrowy”:int,

„WDR_włącz”:int,

„poziom_WDR”: int, //1~6

„jasność”:int, //0~15

„ostrość”:int, //0~15

„kontrast”: int, //0~15

„nasycenie”: int, //0~15

„DC_iris”:int, //0: zamknij 1: otwórz

„redukcja_szumu_2D”:int,

„redukcja_szumu_3D”:int, //0 auto 1:poziom1 2:poziom2 3:poziom3 4:poziom4 5:wyłącz

„vo_resolution”:”1920X1080P@60Hz”

„reset_obrazu”:int

„zoom”:[typ, prędkość] //typ 0 zatrzymanie powiększenia 1 powiększenie 2 pomniejszenie prędkość:0~7

„focus”:[typ, prędkość] //typ 0 zatrzymanie ostrości 1 ostrość blisko 2 ostrość daleko prędkość:0~7

„ptz”:[typ, prędkość] //typ 0 ptz stop 1 w górę 2 w dół 3 w lewo 4 w prawo 5 home 6 reset 7 w górę+w lewo 8 w dół+w lewo 9 w górę+w prawo 10 w dół+w prawo prędkość: 0~0x18

„ustawienie wstępne”:{„dodaj”:int,”usuń”:int,”wywołaj”:int,”sprawdź”:int}

“snap”:int // Przechwytywanie obrazu; =1 włącz, pomyślne przechwycenie zwraca wartość true, niepowodzenie zwraca wartość false

„abs ctrl”:

{

„powiększenie”:int,

„fokus”:int,

„pan”:int,

„pochylenie”:int

}

}

}

Odpowiedź

{

„status”:prawda

"obraz":

{

„tryb_fokusa”:”auto”, //”auto”,”ręczny”

„odległość_ogniskowa”: „1.5 m”, //”1.5 m”,”2 m”,”3 m”,”6 m”,”10 m”

„exposure_mode”:”auto”, //”auto”,”manual”,”priorytet przysłony”,”priorytet migawki”,”priorytet jasności”

“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:zamknij 1:50Hz 2:60Hz

„jasność_ekspozycji”:int, //0~27

„tęczówka”: int, //0~13

„zysk”: int, //0~15

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

„Wzmocnienie R”: int, //0~255

„Wzmocnienie B”: int, //0~255

„lustro”:int

„odwróć”:int,

„kompensacja_podświetlenia”:int,

„gamma”:int, //int

„włącz_zoom_cyfrowy”:int,

„WDR_włącz”:int,

„poziom_WDR”: int, //1~6

„jasność”:int, //0~15

„ostrość”:int, //0~15

„kontrast”: int, //0~15

„nasycenie”: int, //0~15

„DC_iris”:int, // 0: zamknij 1: otwórz

„redukcja_szumu_2D”:int,

„redukcja_szumu_3D”:int, //0 auto 1:poziom1 2:poziom2 3:poziom3 4:poziom4 5:wyłącz

„vo_resolution”:”1920X1080P@60Hz”

„resetowanie obrazu”:prawda

„zoom”:prawda

„skupić się”:prawda

„ptz”:prawda

„ustawienie wstępne”: prawda

„pstryknięcie”:prawda

„abs ctrl”:prawda

}

}

W przypadku niepowodzenia odpowiedni podpunkt zostaje ustawiony na fałsz, np.ample

{

„status”:fałsz

"obraz":

{

„tryb_fokusa”:”auto”, //”auto”,”ręczny”

„odległość_ostrości”:fałsz,

„exposure_mode”:”auto”, //”auto”,”manual”,”priorytet przysłony”,”priorytet migawki”,”priorytet jasności”

“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:zamknij 1:50Hz 2:60Hz

„jasność_ekspozycji”:fałsz,

„tęczówka”: int, //0~13

„zysk”: int, //0~15

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

„Wzmocnienie R”: int, //0~255

„Wzmocnienie B”: int, //0~255

„lustro”:fałsz,

„odwróć”:int,

„kompensacja_podświetlenia”:int,

„gamma”:int, //int

„włącz_zoom_cyfrowy”:int,

„WDR_włącz”:int,

„poziom_WDR”: int, //1~6

„jasność”:int, //0~15

„ostrość”:int, //0~15

„kontrast”: int, //0~15

„nasycenie”: int, //0~15

„redukcja_szumu_2D”:int,

„redukcja_szumu_3D”:int, //0 auto 1:poziom1 2:poziom2 3:poziom3 4:poziom4 5:wyłącz

„vo_resolution”:”1920X1080P@60Hz”

„resetowanie obrazu”:prawda,

„zoom”:prawda,

„skupić się”:prawda,

„ptz”:prawda,

„ustawienie wstępne”:fałsz,

„pstryknięcie”:fałsz

„abs ctrl”:fałsz

}

}

5.2 Pozyskiwanie parametrów obrazu

Dostawać

Wniosek

{

„klucz”:int,

"obraz":{

„tryb_fokusa”:prawda,

„odległość_ogniska”:prawda,

„tryb_ekspozycji”:prawda,

„migawka”:prawda,

„anti_flicker”:prawda,

„jasność_ekspozycji”:prawda,

„iris”:prawda,

„zysk”:prawda,

„WB_mode”:prawda,

„R_gain”:prawda,

„B_gain”:prawda,

„lustro”:prawda,

„odwrócić”:prawda,

„kompensacja_podświetlenia”:prawda,

„gamma”:prawda,

„digital_zoom_enable”:prawda,

„WDR_enable”:prawda,

„poziom_WDR”:prawda,

„jasność”:prawda,

„ostrość”:prawda,

„kontrast”:prawda,

„nasycenie”:prawda,

„DC_iris”:prawda,

„redukcja_szumu_2D”:prawda,

„redukcja_szumu_3D”:prawda,

„vo_resolution”:prawda,

„vo_support”:prawda,

„liczba_klatek”:prawda,

„ustawienie wstępne”:int

„zoom”:prawda,

„skupić się”:prawda,

„pan”:prawda,

„pochylenie”:prawda

}

}

Odpowiedź

Osiągnij sukces, zwróć względną wartość

{

„status”:prawda

"obraz":

{

„tryb_fokusa”:”auto”, //”auto”,”ręczny”

„odległość_ogniskowa”: „1.5 m”, //”1.5 m”,”2 m”,”3 m”,”6 m”,”10 m”

„exposure_mode”:”auto”, //”auto”,”manual”,”priorytet przysłony”,”priorytet migawki”,”priorytet jasności”

“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:zamknij 1:50Hz 2:60Hz

„jasność_ekspozycji”:int, //0~27

„tęczówka”: int, //0~13

„zysk”: 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

„lustro”:int

„odwróć”:int,

„kompensacja_podświetlenia”:int,

„gamma”:int, //int

„włącz_zoom_cyfrowy”:int,

„WDR_włącz”:int,

„poziom_WDR”: int, //1~6

„jasność”:int, //0~15

„ostrość”:int, //0~15

„kontrast”: int, //0~15

„nasycenie”: int, //0~15

„DC_iris”:int, // 0: zamknij 1: otwórz

„redukcja_szumu_2D”:int,

„redukcja_szumu_3D”:int, //0 auto 1:poziom1 2:poziom2 3:poziom3 4:poziom4 5:wyłącz

„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

„liczba_klatek”: int

„preset”:int //0 istnieje 1 nie istnieje

„powiększenie”:0,

„skupienie”:4000,

„patelnia”:0,

„pochylenie”:0

}

}

W razie niepowodzenia ustaw na fałsz w odniesieniu do elementów podrzędnych, np.:

{

„status”:fałsz

"obraz":

{

„tryb_fokusa”:”auto”, //”auto”,”ręczny”

„odległość_ogniskowa”: „1.5 m”, //”1.5 m”,”2 m”,”3 m”,”6 m”,”10 m”

„exposure_mode”:”auto”, //”auto”,”manual”,”priorytet przysłony”,”priorytet migawki”,”priorytet jasności”

“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:zamknij 1:50Hz 2:60Hz

„jasność_ekspozycji”:int, //0~27

„tęczówka”: int, //0~13

„zysk”: int, //0~15

„WB_mode”:fałsz,

„R_gain”:fałsz,

„B_gain”:fałsz,

„lustro”:fałsz,

„odwróć”:int,

„kompensacja_podświetlenia”:int,

„gamma”:int, //int

„włącz_zoom_cyfrowy”:int,

„WDR_włącz”:int,

„poziom_WDR”: int, //1~6

„jasność”:int, //0~15

„ostrość”:int, //0~15

„kontrast”: int, //0~15

„nasycenie”: int, //0~15

„redukcja_szumu_2D”:int,

„redukcja_szumu_3D”:int, //0 auto 1:poziom1 2:poziom2 3:poziom3 4:poziom4 5:wyłącz

„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

„liczba_klatek”: int

„ustawienie wstępne”:fałsz

}

}

6 Przesyłanie strumieniowe RTMP
6.1 Ustawienia parametrów przesyłania strumieniowego RTMP

Ustawić

Wniosek

{

„klucz”:int,

„rtmp”:{

"główny":{

„włącz”:int,

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

},

"zastąpić":{

„włącz”:int,

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

}

}

}

Odpowiedź

Skonfigurowano pomyślnie, zwróć najnowsze parametry kodowania

{

„status”:prawda

„rtmp”:{

"główny":{

„włącz”:int,

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

„status”:int, //0 niepowodzenie przesyłania strumieniowego 1 powodzenie przesyłania strumieniowego

},

"zastąpić":{

„włącz”:int,

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

„status”:int, //0 niepowodzenie przesyłania strumieniowego 1 powodzenie przesyłania strumieniowego

}

}

}

Konfiguracja przesyłania strumieniowego RTMP nie jest obsługiwana

{

„status”:fałsz

„rtmp”:fałsz

}

Brak obsługi konfiguracji strumienia głównego lub podrzędnego

{

„status”:fałsz,

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

}

Błąd parametru

{

„status”:fałsz,

„rtmp”:{„główny”:fałsz}

}

6.2 Pozyskiwanie parametrów przesyłania strumieniowego RTMP

Dostawać

Wniosek

{

„klucz”:int,

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

}

or

{

„klucz”:int,

„rtmp”:{

"główny":{

„włącz”:prawda,

„url":PRAWDA,

},

"zastąpić":{

„włącz”:prawda,

„url":PRAWDA,

},

}

}

Odpowiedź

{

„status”:prawda,

„rtmp”:{

"główny":{

„włącz”:int,

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

„status”:int, //0 niepowodzenie przesyłania strumieniowego 1 powodzenie przesyłania strumieniowego

},

"zastąpić":{

„włącz”:int,

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

„status”:int, //0 niepowodzenie przesyłania strumieniowego 1 powodzenie przesyłania strumieniowego

}

}

}

Konfiguracja przesyłania strumieniowego RTMP nie jest obsługiwana

{

„status”:fałsz

„rtmp”:fałsz

}

Brak obsługi konfiguracji strumienia głównego lub podrzędnego

{

„status”:fałsz,

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

}

Błąd parametru

{

„status”:fałsz,

„rtmp”:{„główny”:fałsz}

}

7 Kontrola systemu
7.1 Ustawienia sterowania systemem

Ustawić

Wniosek:

{

„klucz”:int,

"system":

{

„system_control”:”image reset”,//”image_reset” Resetowanie parametrów obrazu, „factory_reset” Przywracanie ustawień fabrycznych, „system_reboot” Ponowne uruchomienie systemu

„login”:”użytkownik:hasło”,

}

}

Odpowiedź:

Skonfigurowano pomyślnie

Wniosek:

{

„status”:prawda

"system":

{

„system_control”:prawda

„login”:int // Zwróć wartość klucza, wszystkie interakcje JSON muszą zawierać element „key”:int, w przeciwnym razie polecenie nie odpowie

}

}

Konfiguracja nie powiodła się

{

„status”:fałsz

"system":

{

„kontrola_systemu”:fałsz

„logowanie”:fałsz

}

}

7.2 Nabycie sterowania systemem

Dostawać:

Wniosek:

{

„klucz”:int,

"system":

{

„nazwa_urządzenia”:prawda,

„numer_seryjny”:prawda,

„wersja_bootloadera”:prawda,

„wersja_systemu”:prawda,

„wersja_aplikacji”:prawda,

„wersja_sprzętu”:prawda

„login”:”użytkownik:hasło”

}

}

Odpowiedź:

Sukces w przejęciu

{

„status”:prawda

"system":

{

„device_name”:”Kamera do wideokonferencji FHD”,

„numer_seryjny”:”123456789″,

„wersja_bootloadera”: „V1.0.0”,

„wersja_systemu”: „V1.0.0”,

„wersja_aplikacji”: „V1.0.0”

„wersja_sprzętu”: „V1.0.0”

„login”:int // Zwróć wartość klucza, wszystkie interakcje JSON muszą zawierać element „key”:int, w przeciwnym razie polecenie nie odpowie

}

}

Akwizycja nie powiodła się

{

„status”:fałsz

"system":

{

„nazwa_urządzenia”:fałsz,

„numer_seryjny”:”123456789″,

„wersja_bootloadera”: „V1.0.0”,

„wersja_systemu”: „V1.0.0”,

„wersja_aplikacji”: „V1.0.0”

}

}

7.3 Kontrola przeglądarki

Obsługa sterowania z poziomu paska adresu przeglądarki i zapytań o parametry kamery. Składnia jest taka sama jak powyżej, różnica polega na tym, że nie ma uwierzytelniania logowania, czyli żadnego klucza lub loginu, który mógłby wykonać działanie bezpośrednio zgodnie ze sterowaniem zestawem poleceń.

Example 1: Zapytaj o numer wersji

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

Dostęp HTTP do obrazowania AIDA - a1

Example 2: Ustaw pozycję bezwzględną powiększenia

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

Dostęp HTTP do obrazowania AIDA - a2

Example 3: zapytanie o pozycję PTZ

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

Dostęp HTTP do obrazowania AIDA - a3

8. Automatyczne śledzenie (jeśli dostępne)
8.1 Automatyczne śledzenie parametrów pozyskiwania

Dostawać:

Wniosek

{

„ai”:prawda

}

or

{

„ai”:{

„włącz”: prawda,

„peoplePos”: prawda,

„peopleRation”: prawda,

„switchTime”: prawda,

„boardDetectEn”: prawda,

„highLightTarget”:prawda,

„zoomLock”:prawda,

„PTLimit”:prawda

}

}

Pomyślnie uzyskaj powrót do najnowszych parametrów

{

„ai”: {

„włączyć”: 1,

„ludziePoz”: 2,

„ludzieRation”: 6,

„czas przełączania”: 20,

„boardDetectEn”: 1,

„wysokiCel”: 0,

„blokada zoomu”: 1,

„PTLimit”: 1

},

„status”: prawda

}

Nie obsługuje lub ma nieprawidłowe parametry

{

„status”:fałsz,

„ai”:fałsz

}

Definicja specjalnej pozycji predefiniowanej:

Ustawienie wstępne nr 255: pozycja domowa;

Ustawienie wstępne nr 254: pozycja skrajna prawa w dół;

Ustawienie wstępne nr 253: górna pozycja graniczna w lewo;

Ustawienie wstępne nr 252: pozycja tablicy

9 Ustawienia NDI
9.1 Ustawienia parametrów NDI

Wniosek

{

„NDI”:{

„włącz”:int,

„nazwa urządzenia”:”HX”,

„nazwa kanału”:”Kanał1″,

„grupy”:”publiczne”,

„multicast”: {

„włączyć”: 0,

„IP”: „239.255.0.0”,

„Maska”: „255.255.0.0”,

„Czas trwania”: 1

},

„serwer odkrywczy”:”192.168.1.42″

}

}

Odpowiedź

Ustawienie zostało wykonane pomyślnie, a parametry NDI zostały zmienione.

{

„NDI”:{

„włącz”:1,

„nazwa urządzenia”:”HX”,

„nazwa kanału”:”Kanał1″,

„grupy”:”publiczne”,

„multicast”: {

„włączyć”: 0,

„IP”: „239.255.0.0”,

„Maska”: „255.255.0.0”,

„Czas trwania”: 1

},

„serwer odkrywczy”:”192.168.1.42″

},

„status”: prawda

}

Konfiguracja NDI nie jest obsługiwana

{

„status”:fałsz

„NTP”:fałsz

}

Błąd parametru

{

„NDI”:{

„włącz”:1,

„nazwa urządzenia”:”HX”,

„nazwa kanału”:”Kanał1″,

„grupy”:”publiczne”,

„multicast”: {

„włączyć”: 0,

„IP”: „239.255.0.0”,

„Maska”: „255.255.0.0”,

„Czas trwania”: 1

},

„serwer odkrywczy”:fałsz

},

„status”: fałsz

}

9.2 Akwizycja parametrów NDI

Wniosek

{

„NDI”:{

„włącz”:prawda,

„nazwa urządzenia”:prawda,

„nazwa kanału”:prawda,

„grupy”:prawda,

„multicast”:prawda,

„serwer odkrywczy”:prawda

}

}

{

„NDI”: prawda

}

Odpowiedź

{

„NDI”:{

„włącz”:1,

„nazwa urządzenia”:”HX”,

„nazwa kanału”:”Kanał1″,

„grupy”:”publiczne”

„multicast”: {

„włączyć”: 0,

„IP”: „239.255.0.0”,

„Maska”: „255.255.0.0”,

„Czas trwania”: 1

},

„serwer odkrywczy”:”192.168.1.42″,

},

„status”: prawda

}

Nie obsługuje NDI

{

„status”:fałsz

„NDI”:fałsz

}

10 ustawień SRT
10.1 Parametry SRT

Wniosek

{

„SRT”:{

„tryb”: „słuchaj”, // „słuchaj”, „dzwoniący”, „spotkanie”

"Słuchać":

{

„włącz”:int,

„port”:int,

„opóźnienie”: int, // milisekundy

„szyfrowanie”: int,

„długość klucza”: int, //32、24、16

„klucz”: „012345678”,

}

}

}

or

{

„SRT”:{

„tryb”: „dzwoniący”, // „słuchaj”, „dzwoniący”, „spotkanie”

„główny rozmówca”:

{

„włącz”:int,

„ip”:”192.168.1.158″,

„port”:int,

„opóźnienie”: int, //milisekundy

„szyfrowanie”: int,

„długość klucza”: int, //32、24、16

„klucz”: „012345678eee”,

„id strumienia”: „r=0”

},

„podmiot wywołujący”:

{

„włącz”:int,

„ip”:”192.168.1.158″,

„port”:int,

„opóźnienie”: int, // milisekunda

„id strumienia”: „r=0”

„szyfrowanie”: int,

„długość klucza”: int, //32、24、16

„klucz”: „012345678eee”,

„id strumienia”: „r=1”

}

}

}

or

{

„SRT”:{

„tryb”: „spotkanie”, // „słuchaj”, „dzwoniący”, „spotkanie”

„główne spotkanie”:

{

„włącz”:int,

„ip”:”192.168.1.158″,

„port”:int,

„opóźnienie”: int, //milisekunda

„szyfrowanie”: int,

„długość klucza”: int, //32、24、16

„klucz”: „012345678eee”,

„id strumienia”: „r=0”

},

„spotkanie podwodne”:

{

„włącz”:int,

„ip”:”192.168.1.158″,

„port”:int,

„opóźnienie”: int, //milisekunda

„id strumienia”: „r=0”

„szyfrowanie”: int,

„długość klucza”: int, //32、24、16

„klucz”: „012345678eee”,

„id strumienia”: „r=1”

}

}

}

Odpowiedź

Ustawienie pomyślne, parametry SRT zmienione

{

„SRT”:{

„tryb”: „słuchaj”,

"Słuchać":

{

„włącz”:1,

„port”:1600,

„opóźnienie”:120,

„szyfrowanie”: 1,

„długość klucza”: 32,

„klucz”: „012345678eee”,

"główny url”:”srt://192.168.1.158:1600?streamid=r=0″,

"zastąpić url”:”srt://192.168.1.158:1600?streamid=r=1″,

}

},

„status”: prawda

}

or

{

„SRT”:{

„tryb”: „dzwoniący”,

„główny rozmówca”:

{

„włącz”:1,

„ip”:”192.168.1.158″,

„port”:1600,

„opóźnienie”:120,

„szyfrowanie”: 1,

„długość klucza”: 32,

„klucz”: „012345678eee”,

„id strumienia”: „r=0”

},

„podmiot wywołujący”:

{

„włącz”:1,

„ip”:”192.168.1.158″,

„port”:1600,

„opóźnienie”:120,

„szyfrowanie”: 1,

„długość klucza”: 32,

„klucz”: „012345678eee”,

„id strumienia”: „r=1”

}

},

„status”: prawda

}

SRT nie jest obsługiwany / Błąd parametru

{

„status”:fałsz

„SRT”:fałsz

}

10.2 Akwizycja parametrów SRT

Wniosek

{

„SRT”:prawda

}

Odpowiedź

{

„SRT”:{

„tryb”: „słuchaj”,

"Słuchać":

{

„włącz”:1,

„port”:1600,

„opóźnienie”:120,

„szyfrowanie”: 1,

„długość klucza”: 32,

„klucz”: „012345678eee”,

"główny url”:”srt://192.168.1.158:1600?streamid=r=0″,

"zastąpić url”:”srt://192.168.1.158:1600?streamid=r=1″,

}

},

„status”: prawda

}

or

{

„SRT”:{

„tryb”: „dzwoniący”,

„główny rozmówca”:

{

„włącz”:1,

„ip”:”192.168.1.158″,

„port”:1600,

„opóźnienie”:120,

„szyfrowanie”: 1,

„długość klucza”: 32,

„klucz”: „012345678eee”,

„id strumienia”: „r=0”

},

„podmiot wywołujący”:

{

„włącz”:1,

„ip”:”192.168.1.158″,

„port”:1600,

„opóźnienie”:120,

„szyfrowanie”: 1,

„długość klucza”: 32,

„klucz”: „012345678eee”,

„id strumienia”: „r=1”

}

},

„status”: prawda

}

or

{

„SRT”:{

„tryb”: „spotkanie”,

„główne spotkanie”:

{

„włącz”:1,

„ip”:”192.168.1.158″,

„port”:1600,

„opóźnienie”: 120,

„szyfrowanie”: 1,

„długość klucza”: 32,

„klucz”: „012345678eee”,

„id strumienia”: „r=0”

},

„spotkanie podrzędne”:

{

„włącz”:1,

„ip”:”192.168.1.158″,

„port”:1600,

„opóźnienie”:120,

„szyfrowanie”: 1,

„długość klucza”: 32,

„klucz”: „012345678eee”,

„id strumienia”: „r=1”

}

},

„status”: prawda

}

SRT nie jest obsługiwany

{

„status”:fałsz

„SRT”:fałsz

}

Dokumenty / Zasoby

Dostęp HTTP do obrazowania AIDA [plik PDF] Instrukcja użytkownika
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., Dostęp do obrazowania HTTP, Dostęp HTTP, Dostęp

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *