Płyta kodera wideo TCP JSON Protokół RTSP Przewodnik API

Adres strumienia audio i wideo w czasie rzeczywistym RTSP:

  • Format: rtsp://ip:numer portu/strumienia
  • Domyślny port: 554
  • Identyfikator strumienia: 0 (główny strumień), 1 (strumień wtórny)
  • Na przykład, aby pobrać podstrumień z adresu urządzenia 192.168.1.188, adres URL jest:
  • rtsp://192.168.1.1 8 8 :554 / 1

Klient (Aplikacja mobilna) pobiera i ustawia parametry kamery poprzez protokół TCP;

Kamera pełni funkcję serwera TCP, z domyślnym portem TCP 8866.

Format danych komunikacyjnych TCP:

czysty ciąg JSON

Uzyskaj status kamery:

Struktura danych:

              struktura typedef

              {

                     char s8DevId[64]; // Identyfikator urządzenia, domyślnie ustawiony jest adres IP, jeżeli nie ustawiono żadnego identyfikatora.

                     u32 u32TfNagraj; // Stan nagrywania karty TF, 0: brak nagrania; 1: nagrywanie w toku

              }JSON_DEV_STATUS_INFO_S;

Znaki poleceń:

              #zdefiniuj JS_CMD _ GET_DEV_STATUS “PobierzDevStatus”

Zakładając, że adres IP urządzenia to 192.168.1.188, klient wysyła następujące dane JSON:

{

         ” PobierzDevStatus “: {       }

}

Po pomyślnym odebraniu danych przez aparat, zwrócił następujące dane JSON:

{

         ” PobierzDevStatus “: {

         ” s8DevId ” : ” 192.168.1.188 ” ,

         „u32TfRekord” : 0

         }

}

Pozyskiwanie/ustawianie parametrów kodowania wideo:

Struktura danych:

              struktura typedef

              {

u8 u8VideoEncChn;        //0 : główny strumień; 1: strumień wtórny;

u8 u8Typ kodeka wideo;    // 1:h264 ; 2:p265

u16 u16Szerokość wideo;              // Szerokość wideo

u16 u16Wysokość wideo;       // Wysokość wideo

u16 u8 Szybkość klatek;           // Częstotliwość wyświetlania klatek (1-30)

u16 u8IframeInterwał;      // ja- rozmiar interwału ramki (1-100)

u8 u8Tryb kontroli bitrate; //Tryb kontroli szybkości transmisji: 0: CBR 1: VBR

u16 u16BitRateKps;         // Rozmiar bitrate

char s8Nazwarozmiaruwideo[256]; // Lista obsługiwanych rozdzielczości }JSON_VIDEO_ENC_PARAM_S;

Znaki poleceń:

              Uzyskaj parametry:

              #zdefiniuj JS_CMD_GET_VIDEO_ENC_PARAM “pobierzVideoEncParam”

              Ustawianie parametrów:

              #zdefiniuj JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”

Na przykład:

Klient pobiera następujące dane JSON zawierające parametry kodowania głównego strumienia bitów kamery:

{

         ” pobierzVideoEncParam “: {

         ” u8VideoEncChn “: 0

         }

}

Dane JSON zwrócone przez kamerę są następujące;

{

         ” pobierzVideoEncParam “: {

         ” u8VideoEncChn “: 0,

         „Typ u8VideoCodec” : 1,

         „u16Szerokość wideo” : 3840,

       ” u16Wysokość wideo ” : 1080,

       „u8Frame Rate” : 30,

         ” u8IframeInterwał ” : 60,

         ” u8BitrateControlMode ” : 0,

         „u16BitRateKps” : 4096,

       ” Nazwa rozmiaru wideo s8 ” : ” 3840×1080,1920×540 “

         }

}

Klient ustawia częstotliwość klatek dodatkowego strumienia kamery na 15 i bitrate do 1024K w formacie JSON, następująco:

{

         ” setVideoEncParam “: {

         ” u8VideoEncChn “: 1,

         ” u8 Szybkość klatek “: 15,

         ” u16BitRateKps “: 1024

         }

}

Po udanej konfiguracji, kamera zwraca wartość TRUE.

Pozyskiwanie/ustawianie parametrów kodowania audio:

Struktura danych:

              struktura typedef

              {

       u8 u8Włącz;             //0: Wyłączyć; 1: Włączać;

       u32 u32ChnNum; // 1 : Mononukleoza; 2: Stereofoniczny

   u8 u8Typ kodowania; //6 : AAC; 8: G711A; 9: G711U;                        u32 u32Próbka; // Częstotliwość próbkowania: 8000, 16000, 24000, 32000, 48000

       u8 u8AoutVolumen; // Rozmiar objętości: [0–100]                    }JSON_VIDEO_ENC_PARAM_S;

Znaki poleceń:

              Uzyskaj parametry:

              #zdefiniuj JS_CMD_GET_AUDIO_PARAM “pobierz Parametr Audio”

              Ustawianie parametrów:

              #zdefiniuj JS_CMD_SET_AUDIO_PARAM “ustawParamAudio”

Na przykład:

Klient pobiera następujące dane JSON dotyczące parametrów kodowania dźwięku kamery:

{

         ” pobierz Parametr Audio “: { }

}

Dane JSON zwrócone przez kamerę są następujące;

{

         ” pobierz Parametr Audio “: {

         ” u8Włącz “: 1,

         „u32ChnNum” : 1,

         „Typ u8Encode” : 8,

       „u32Przykładowa częstotliwość” : 8000,

       „u8AoutVolume” : 80,

                  }

}

Ustawienia po stronie klienta dotyczące kodowania dźwięku kamery to AAC, stereofoniczny, i częstotliwość próbkowania 48 kHz. Dane JSON są następujące:

{

         ” ustawParamAudio “: {

         „u32ChnNum” : 2,

         „Typ u8Encode” : 6,

       „u32Przykładowa częstotliwość” : 48000

                  }

}

Po udanej konfiguracji, kamera zwraca wartość TRUE.

Pozyskiwanie/ustawianie parametrów obrazu wideo:

Struktura danych:

struktura typedef

{

u8 u8VideoIspChn;           //Kanał dostawcy usług internetowych; [0-4]

u8 u8Jasność;              // Jasność: [0~100]

u8 u8Kontrast;                 // Współczynnik kontrastu: [0~100]

u8 u8Odcień;                        // Chromatyczność: [0~100]

u8 u8Nasycenie;              // Poziom nasycenia: [0~100]

u8 u8Ostrość;                     // Ostrość: [0~100]

}JSON_IMAGE_PARAM_S;

Znaki poleceń:

              Uzyskaj parametry:

              #zdefiniuj JS_CMD_GET_IMAGE_PARAM “pobierzImageParam”

              Ustawianie parametrów:

              #zdefiniuj JS_CMD_SET_IMAGE_PARAM “ustawParamObrazu”

Na przykład:

Klient pobiera następujące dane JSON dotyczące parametrów obrazu dla kanału 0 dostawcy usług internetowych kamery:

{

         ” pobierzImageParam “: {

                   „u8VideoIspChn” : 0

         }

}

Dane JSON zwrócone przez kamerę są następujące;

{

         ” pobierzImageParam “: {

         ” u8VideoIspChn “: 0,

         „u8Jasność” : 50,

         „u8Kontrast” : 50,

       „u8Hue” : 50,

       „u8Nasycenie” : 50,

         „u8Ostrość” : 50

                  }

}

Ustawienie danych JSON po stronie klienta dotyczące jasności kamery to 53, kontrast jest 60, i nasycenie jest 56 jest następująco:

{

         ” ustawParamObrazu “: {

         „u8VideoIspChn” : 0,

         „u8Jasność” : 53,

       „u8Kontrast” : 60,

       „u8Nasycenie” : 56

                  }

}

Po udanej konfiguracji, kamera zwraca wartość TRUE.

Pobieranie informacji o karcie TF;

Struktura danych:

struktura typedef

{

      u32 u32Rozmiar całkowity;             // Całkowity rozmiar w MB

      u32 u32UżywanyRozmiar;             // Używana jednostka pojemności (MB)

      u32 u32Dostępny rozmiar;             // Dostępna pojemność w MB

}JSON_SD_CARD_INFO_S;

Uzyskaj parametry:

#zdefiniuj JS_CMD_GET_SD_CARD_INFO “pobierz informacje o karcie SD”

Na przykład:

Klient pobiera następujące dane JSON dotyczące informacji o karcie TF aparatu:

{

         ” pobierz informacje o karcie SD “: { }

}

Dane JSON zwrócone przez kamerę są następujące;

{

         ” pobierz informacje o karcie SD “: {

         ” u32Rozmiar całkowity “: 31254,

         „u32UsedRozmiar” : 20000,

         ” u32Dostępny rozmiar ” : 11254

                  }

}

Konfiguracja nagrywania na karcie TF:

Struktura danych:

struktura typedef

{

       u8 u8Włącz automatyczne nagrywanie;        //1: Włącz nagrywanie; 0: Wyłącz nagrywanie

      u8 u8RekordStrChn;                // Wybór strumienia nagrywania: 0: strumień pierwotny; 1: strumień wtórny

   u8 u8PreRecordSeconds;               // Czas wstępnego nagrywania [0-10] w kilka sekund

   u16 u16Nagraj sekundy na plik; // Czas trwania pojedynczego pliku nagrania [10-1000] sekundy

}JSON_RECORD_Control_PARAM_S;

Uzyskaj parametry:

#zdefiniuj JS_CMD_GET_RECORD_Control_PARAM “getRecordControlParam”

Ustawianie parametrów:

#zdefiniuj JS_CMD_SET_RECORD_Control_PARAM “setRecordControlParam”

Na przykład:

Klient pobiera następujące dane JSON dotyczące konfiguracji nagrywania na karcie TF kamery:

{

         ” getRecordControlParam “: { }

}

Dane JSON zwrócone przez kamerę są następujące;

{

         ” getRecordControlParam “: {

                   ” u8Włącz automatyczne nagrywanie “: 1,

                   „u8RecordStrChn” : 0,

                   ” u8PrecordSekund ” : 0,

              ” u16Rekord sekund na plik ” : 300

                  }

}

Konfiguracja IP sieci przewodowej:

Struktura danych:

struktura typedef

{                                               

u8 u8DhcpWłącz;                  // 0: Stałe IP; 1: DHCP;

znak s8IP[16];                          //Adres IP

char s8SubMaska[16];              // Maska podsieci

char s8GateWay[16];              // Adres IP bramy

char s8Dns[16];                //Adres DNS

}JSON_NET_PARAM_S;

Uzyskaj parametry:

#zdefiniuj JS_CMD_GET_NET_IP_PARAM “pobierzNetIpParam”

Ustawianie parametrów:

#zdefiniuj JS_CMD_SET_NET_IP_PARAM “ustawNetIpParam”

Na przykład:

Klient pobiera informacje o adresie IP kamery przy użyciu danych JSON w następujący sposób:

{

         ” pobierzNetIpParam “: { }

}

Dane JSON zwrócone przez kamerę są następujące;

{

         ” pobierzNetIpParam “: {

                   ” u8DhcpWłącz “: 0,

                   ” s8IP ” : ” 192.168.1.188 ” ,

                   ” s8Podmaska ” : ” 255.255.255.0 ” ,

              ” s8GateWay ” : ” 192.168.1.1 ” ,

              ” s8Dns ” : ” 192.168.1.1 “

         }

}

Klient jest skonfigurowany z adresem IP kamery jako 192.168.3.10, bramka jako 192.168.3.1, i DNS jako 192.168.3.1. Dane JSON są następujące:

{

         ” ustawNetIpParam “: {

                   ” s8IP ” : ” 192.168.3.10 ” ,

              ” s8GateWay ” : ” 192.168.3.1 ” ,

              ” s8Dns ” : ” 192.168.3.1 “

         }

}

Po udanej konfiguracji, kamera nie zwraca żadnych danych, a klient musi ponownie połączyć się z urządzeniem z nowym adresem IP.

Konfiguracja parametrów WiFi:

Klient/aplikacja pobiera listę identyfikatorów SSID routerów znalezionych przez urządzenie.

                  {

                            “pobierzAPSsidList” :{ }

                  }

                  Urządzenie zwróci listę identyfikatorów SSID: Wybierz z listy identyfikator SSID trasy, z którą chcesz się połączyć.

                  Skonfiguruj Wi-Fi swojego urządzenia do pracy w trybie STA:

         {

                  “setWifiSsidParam”:{

                           “u8Tryb”: 0,

                           “s8S”: ” yrsx8888 “,

                            “s8PassWd”: “987545598400

                  }

    }

              Skonfiguruj Wi-Fi urządzenia do pracy w trybie hotspot AP:

                  {

                            “setWifiSsidParam”:{

                                    “u8Tryb”: 1

                            }

                  }

                  Uzyskaj status Wi-Fi urządzenia:

                  {

                            “pobierzWifiSsidParam” : { }

                  }

Synchronizacja czasu:

Struktura danych:    

                  struktura typedef

                  {

                            u8 u8Strefa czasowa;                        // Wartość strefy czasowej RT_TIMEZONE_E

                            znak s8Data/godzina[64];              // Format czasu: “2019-06-12_12:56:59_3”    

                  }JSON_DATE_TIME_INFO_S;

                  Definicja wartości strefy czasowej:

wyliczenie typedef

{

RT_TIMEZONE_InternationalDateLineWest = 0, /* UTC-12:00 */

RT_TIMEZONE_MidwayIslandSamoa = 1, /* UTC-11:00 */

RT_TIMEZONE_Hawaje = 2, /* UTC-10:00 */

RT_TIMEZONE_Alaska = 3, /* UTC-9:00 */

RT_TIMEZONE_TijuanaKalifornia = 4, /* UTC-8:00 */

RT_TIMEZONE_PacificTimeUSKanada = 5, /* UTC-8:00 */

RT_TIMEZONE_MountainTimeUSKanada = 6, /* UTC-7:00 */

RT_TIMEZONE_ChihuahuaLapazMazatlan = 7, /* UTC-7:00 */

RT_TIMEZONE_Arizona = 8, /* UTC-7:00 */

RT_TIMEZONE_Saskatchewan = 9, /* UTC-7:00 */

RT_TIMEZONE_GuaddlajaraMexicoCityMonterrey = 10, /* UTC-6:00 */

RT_TIMEZONE_CentralTimeUSKanada = 11, /* UTC-6:00 */

RT_TIMEZONE_Ameryka Środkowa = 12, /* UTC-6:00 */

RT_TIMEZONE_BogotaLimaQuito = 13, /* UTC-5:00 */

RT_TIMEZONE_EasternTimeUSKanada = 14, /* UTC-5:00 */

RT_TIMEZONE_IndianaWschód = 15, /* UTC-5:00 */

RT_TIMEZONE_Caracas = 16, /* UTC-4:30 */

RT_TIMEZONE_AtlanticTimeCanada = 17, /* UTC-4:00 */

RT_TIMEZONE_GeorgetownLapazSanJuan = 18, /* UTC-4:00 */

RT_TIMEZONE_Santiago = 19, /* UTC-4:00 */

RT_TIMEZONE_NenfoundLand = 20, /* UTC-3:30 */

RT_TIMEZONE_Brazylia = 21, /* UTC-3:00 */

RT_TIMEZONE_BuenosAiresGeorgentown = 22, /* UTC-3:00 */

RT_TIMEZONE_Grenlandia = 23, /* UTC-3:00 */

RT_TIMEZONE_MidAtlantic = 24, /* UTC-2:00 */

RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (Republika Zielonego Przylądka) */

RT_TIMEZONE_Azory = 26, /* UTC-1:00 (Azory) */

RT_TIMEZONE_GreenwichMeanTimeDublinEdinburghLisbonLondyn = 27, /* UTC-0:00 */

RT_TIMEZONE_Casablanca = 28, /* UTC-0:00 */

RT_TIMEZONE_Monrowia = 29, /* UTC-0:00 */

RT_TIMEZONE_AmsterdamBerlinBernRomeStockholmWiedeń = 30, /* UTC+1:00 */

RT_TIMEZONE_BelgradBratysławaBudapesztLubljanaPraga = 31, /* UTC+1:00 */

RT_TIMEZONE_BrusselsKopenhagaMadrytParyż = 32, /* UTC+1:00 */

RT_TIMEZONE_SarajewoSkopjeWarszawaZagrzeb = 33, /* UTC+1:00 */

RT_TIMEZONE_WestCentralAfrica = 34, /* UTC+1:00 */

RT_TIMEZONE_RarePretoria = 35, /* UTC+2:00 */

RT_TIMEZONE_HelsinkiKijówRygaSofiaTallinnWilno = 36, /* UTC+2:00 */

RT_TIMEZONE_Kair = 37, /* UTC+2:00 */

RT_TIMEZONE_Mińsk = 38, /* UTC+2:00 */

RT_TIMEZONE_AtenyBukaresztStambuł = 39, /* UTC+2:00 */

RT_TIMEZONE_Jerozolima = 40, /* UTC+2:00 */

RT_TIMEZONE_Baghdad = 41, /* UTC+3:00 */

RT_TIMEZONE_Tbilisi = 42, /* UTC+3:00 */

RT_TIMEZONE_KuwejtRiyad = 43, /* UTC+3:00 */

RT_TIMEZONE_MoscowStPetersburgWołgograd = 44, /* UTC+3:00 */

RT_TIMEZONE_Nairobi = 45, /* UTC+3:00 */

RT_TIMEZONE_Teheran = 46, /* UTC+3:30 */

RT_TIMEZONE_AbuDhabiMuscat = 47, /* UTC+4:00 */

RT_TIMEZONE_BakuErywań = 48, /* UTC+4:00 */

RT_TIMEZONE_Kabul = 49, /* UTC+4:30 */

RT_TIMEZONE_Tashkent = 50, /* UTC+5:00 */

RT_TIMEZONE_Jekaterynburg = 51, /* UTC+5:00 */

RT_TIMEZONE_IslamabadKarachi = 52, /* UTC+5:00 */

RT_TIMEZONE_ChennaiKolkataMumbaiNewDelhi = 53, /* UTC+5:30 */

RT_TIMEZONE_Katmandu = 54, /* UTC+5:45 */

RT_TIMEZONE_AlmatyNowosybirsk = 55, /* UTC+6:00 */

RT_TIMEZONE_AstanaDhaka = 56, /* UTC+6:00 */

RT_TIMEZONE_Rangoon = 57, /* UTC+6:30 */

RT_TIMEZONE_Krasnojarsk = 58, /* UTC+7:00 */

RT_TIMEZONE_BangkokHanoiJakarta = 59, /* UTC+7:00 */

RT_TIMEZONE_BeijingChongqingHongKongUrumqi = 60, /* UTC+8:00 */

RT_TIMEZONE_KualaLumpurSingapur = 61, /* UTC+8:00 */

RT_TIMEZONE_Perth = 62, /* UTC+8:00 */

RT_TIMEZONE_Tajpej = 63, /* UTC+8:00 */

RT_TIMEZONE_IrkuckUłanBataar = 64, /* UTC+8:00 */

RT_TIMEZONE_OsakaSapporoTokio = 65, /* UTC+9:00 */

RT_TIMEZONE_Seul = 66, /* UTC+9:00 */

RT_TIMEZONE_Jakuck = 67, /* UTC+9:00 */

RT_TIMEZONE_Adelajda = 68, /* UTC+9:30 */

RT_TIMEZONE_Brisbane = 69, /* UTC+10:00 */

RT_TIMEZONE_Władywostok = 70, /* UTC+10:00 */

RT_TIMEZONE_GuamMoresby = 71, /* UTC+10:00 */

RT_TIMEZONE_Hobart = 72, /* UTC+10:00 */

RT_TIMEZONE_CanberraMelbourneSydney = 73, /* UTC+10:00 */

RT_TIMEZONE_MagadanSolomonNowaKaledonia = 74, /* UTC+11:00 */

RT_TIMEZONE_AucklandWellington = 75, /* UTC+12:00 */

RT_TIMEZONE_FidżiKamczatkaMarshallIs = 76, /* UTC+12:00 */

RT_TIMEZONE_Nukualofa = 77, /* UTC+13:00 */

RT_TIMEZONE_BUTT

}RT_TIMEZONE_E;

Uzyskaj parametry:

#zdefiniuj JS_CMD_GET_DEV_DATE_TIME “PobierzDevDateTime”

Ustawianie parametrów:

#zdefiniuj JS_CMD_SET_DEV_DATE_TIME “setDevDateTime”

Uzyskaj dane JSON dotyczące czasu urządzenia :

                  {

                            ” PobierzDevDateTime ” : {}

                  }

Urządzenie zwraca dane JSON:

                  {

                            ” PobierzDevDateTime ” : {

                            „u8Strefa czasowa” : 60,

                            “s8DataGodzina” : “2020-03-06_12:56:59_3”

                            }

                  }

Dane JSON ustawiają czas urządzenia na czwartek, Marsz 12, 2020, w 3:38:30 PO POŁUDNIU:

                  {

                            ” setDevDateTime ” : {

                                     “s8DataGodzina” : “2020-03-12_15:38:30_4”

                            }

                  }

Urządzenie zwróciło wartość TRUE po pomyślnej konfiguracji.

Zarządzanie sprzętem:

Dane JSON do ponownego uruchomienia urządzenia:

                            {

                                     ” setSysControlParam ” : {

                                               „U8Uruchom ponownie” : 1               

                                     }

                            }

Dane JSON do przywracania ustawień fabrycznych:

                            {

                                     ” setSysControlParam ” : {

                                               „u8ResetDomyślny” : 1              

                                     }

                            }

Formatowanie danych JSON na karcie SD:

                            {

                                     ” setSysControlParam ” : {

                                               „u8Format karty SD” : 1                              

                                     }

                            }

Kontrola PTZ:

Struktura danych:

struktura typedef

{

       u8 u8Cmd;                        // Kod polecenia PTZ_Control_CODE

u8 u8Prędkość;                     // Prędkość (1-64)

u8 u8Dane1;                            // Skryty; będzie to używane dla zaprogramowanych pozycji.

u8 u8Dane2;                            // Skryty, będzie to używane do specjalnych poleceń PTZ.

}JSON_PTZ_Control_S;

wyliczenie PTZ_Control_CODE

{

              PTZ_STOP = 0, // Zatrzymać

              PTZ_UP=1,          // W górę

              PTZ_DÓŁ=2,          // w dół

              PTZ_LEFT=3,              // Lewo

              PTZ_PRAWY=4,           // dobrze

              PTZ_LEFT_UP=5, // lewy górny róg

              PTZ_LEFT_DÓŁ=6, // lewy dolny róg

              PTZ_RIGHT_UP=7, // prawy górny róg

              PTZ_RIGHT_DOWN=8, // 8 : prawy dolny róg

              PTZ_ZOOM_IN=9, // 9 : Powiększ

              PTZ_ZOOM_OUT=10, // 10: POMNIEJSZENIE=10, // 10 : POMNIEJSZENIE=10

              PTZ_FOCUS_NEAR=11, // 11 : Skupiając się na blisko

              PTZ_FOCUS_FAR=12, // 12 : Skup się na oddali

              PTZ_IRIS_ADD=13, // 13 : Zwiększenie przysłony

              PTZ_IRIS_REDUCE=14, // 14 : Przysłona zmniejszona

              PTZ_GOTO_POINT = 15, // 15 : Wywołaj ustawiony bit

              PTZ_CLEAR_POINT = 16, // 16 : Wyczyść ustawiony bit

              PTZ_PERSET_POINT = 17, // 17 : Ustaw wstępnie ustawiony bit

              PTZ_AUTO_RUN = 18, // 18 : Automatyczne skanowanie w poziomie

};

Kontrola PTZ:

#zdefiniuj JS_CMD_PTZ_Control “PtzControlCmd”

Polecenia JSON kontrolowane przez Ptz:

  • Poruszanie się w dół z prędkością ok 30:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 2,

         ” u8Prędkość ” : 30

                  }

}

  • 1. Ustaw zaprogramowaną pozycję 2:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 17,

         „u8Speed” : 30,   

         „u8Dane1” : 2

                  }

}

Wyszukiwanie plików karty TF:

( 1) Polecenie wyszukiwania wszystkich plików wideo w określonym przedziale czasu tego samego dnia:

{

                  “wyszukaj listę plików nagrań”:{

                            “u32Rok”:2020, // rok

                            “u8Miesiąc”:7,                             // Miesiąc

                            “u8Dzień”:14,                       // Dzień

                            “u8Godzina początkowa”:0,              // Czas rozpoczęcia w godzinach

                            “u8Start Minuta”:0,                   // Czas rozpoczęcia w minutach

                            “u8Godzina końcowa”:23,             // Godzina zakończenia w godzinach

                            “u8Minuta końcowa”:59,                  // Czas zakończenia w minutach

                            “u8EncChn”:0,                           // 0 jest wartością domyślną.

                            “u8RecordTye”:0, // Typ pliku: 0: Wszystkie pliki, 1: Zaplanowane nagranie; 2: Nagranie alarmowe; 3: Obrazy;

                            “u32StartIdx”:0,               // Numer kolejny pliku początkowego

                            “u32Oczekiwana liczba”: 10                 // Liczba plików zwróconych przez żądanie, obecnie maksymalna wartość wynosi 32.

                  }

}

Dane zwrócone przez urządzenie:

{

“wyszukaj listę plików nagrań”: {

“u32RecordFileTotalCount”: 7,                // Całkowita liczba plików przeszukanych w tym okresie

“stRecordFileList”: [        // Nazwa pliku ze ścieżką, rozmiar pliku]

“/dev/disk/0/part0/rec-pic/20200714/0/000_180149_0_0300_2.mp4”, 251649649, “/dev/disk/0/part0/rec-pic/20200714/0/001_180644_0_0169_256.mp4”, 144935215, “/dev/disk/0/part0/rec-pic/20200714/0/002_181001_0_0300_2.mp4”, 251650689, “/dev/disk/0/part0/rec-pic/20200714/0/003_181458_0_0300_2.mp4”, 251657016, “/dev/disk/0/part0/rec-pic/20200714/0/004_181958_0_0300_2.mp4”, 301449467, “/dev/disk/0/part0/rec-pic/20200714/0/005_182458_0_0000_256.mp4”, 37801991, “/dev/disk/0/part0/rec-pic/20200714/0/006_182642_0_0244_256.mp4”, 200069913

]

}

}

Ręczne przechwytywanie obrazu JPG:

              Wyślij następujące polecenie do urządzenia.

              {

                            “Instrukcja SnapJpg”:{

                            }

                  }

Pomyślnie zwrócone:

                  {

                  “Instrukcja SnapJpg”: PRAWDA

                   }

Sterowanie PWM reguluje jasność diody LED:

Uzyskaj aktualną wartość PWM:

{

“pobierzPwmParam”:{

          “u32PwmChn”: 0

}

}

Pomyślnie zwrócone:

{

“pobierzPwmParam”:{

          “u32PwmChn”:0,

          “u8Włącz”:1,

          “u8Wartość obowiązkowa”:20

}

}

  • Ustaw wartość PWM:

{

“ustawPwmParam”:{

          “u32PwmChn”: 0,

          “u8Włącz”: 1,

          “u8Wartość obowiązkowa”: 60

}

}

Pomyślnie zwrócone:

{

“ustawPwmParam”:PRAWDA

}

Uwaga : u32PwmChn domyślnie 0 i nie należy ich dowolnie zmieniać. u8Enable ma wartość 0/1, gdzie 0 wyłącza wyjście PWM i 1 umożliwia wyjście PWM. u8DutyValue ma zakres wartości 0-100.

17. Pobieranie/ustawianie tekstu OSD:

(1)   Uzyskaj określony kanał wideo, Parametry tekstowe OSD:

{“pobierzVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1

}}

Pomyślnie zwrócone:

{

“pobierzVideoOsdTextInfo”:{

          “u8IspChn”:0, // Kanał wideo 0, wpisać 0 na jeden aparat

          “u8TextIdx”:1, // Numer pola tekstowego OSD, obsługa wielu pól tekstowych.

          “u8Włącz”:0, // Włączać, 0: nie wyświetlaj; 1: wyświetlacz

          “u16XRatioBase50000”:40000, // Współrzędne względne położenia poziomego, o maksymalnej wartości 50000.

          “u16YRatioBase50000”:1600, // Względne współrzędne położenia pionowego, o maksymalnej wartości 50000.

          “u8FgPrzezroczystość”:10, // Przezroczystość pierwszego planu [0-255]

          “u8BgPrzejrzystość”:255, // Wartość przezroczystości tła [0-255]

          “u8RozmiarTyp”:1, // Rozmiar tekstu, zakres wartości [0-3]

          “u32TextColor_BGRA8888”:4294967295, // Kolor tekstu Wartość ARGB888

          “aszTekst”:”” // Pole tekstowe wyświetla ciąg treści

}

}

(2)   Ustaw określony kanał wideo, Parametry tekstowe OSD:

{

“setVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1,

          “u8Włącz”:1,

          “u16XRatioBase50000”:40000,

          “u16YRatioBase50000”:1600,

          “u8FgPrzezroczystość”:10,

          “u8BgPrzejrzystość”:255,

          “u8RozmiarTyp”:1,

          “u32TextColor_BGRA8888”:4294967295,

          “aszTekst”:”test 11111222233334444″

}

}

Pomyślnie zwrócone:

{

“setVideoOsdTextInfo”:PRAWDA

}

Zakres cen: $118.00 Poprzez $178.00
Zakres cen: $98.00 Poprzez $158.00
Oryginalna cena była: $199.00.Obecna cena to: $130.00.
Zakres cen: $118.00 Poprzez $178.00

Zadać pytanie

← Wstecz

Twoja wiadomość została wysłana