Video-Encoder-Board TCP-JSON-Protokoll-RTSP-API-Leitfaden

RTSP-Echtzeit-Audio- und Video-Stream-Adresse:

  • Format: rtsp://IP:Port-/Stream-Nummer
  • Standardport: 554
  • Stream ID: 0 (Hauptstrom), 1 (Sekundärstrom)
  • Beispielsweise, um den Substream von der Geräteadresse abzurufen 192.168.1.188, Die URL lautet:
  • rtsp://192.168.1.1 8 8 :554 / 1

Der Kunde (Mobile App) Erhält und stellt Kameraparameter über das TCP-Protokoll ein;

Die Kamera fungiert als TCP-Server, mit dem Standard-TCP-Port 8866.

TCP-Kommunikationsdatenformat:

reine JSON-Zeichenfolge

Kamerastatus abrufen:

Datenstruktur:

              Typedef-Struktur

              {

                     char s8DevId[64]; // Geräte-ID, Der Standardwert ist IP, wenn keine ID festgelegt ist.

                     u32 u32TfRecord; // Aufnahmestatus der TF-Karte, 0: keine Aufnahme; 1: Aufnahme läuft

              }JSON_DEV_STATUS_INFO_S;

Befehlszeichen:

              #Definieren Sie JS_CMD _ GET_DEV_STATUS „GetDevStatus“

Vorausgesetzt, die IP-Adresse des Geräts lautet 192.168.1.188, Der Client sendet die folgenden JSON-Daten:

{

         “ GetDevStatus „: {       }

}

Nachdem die Kamera die Daten erfolgreich empfangen hat, Es wurden die folgenden JSON-Daten zurückgegeben:

{

         “ GetDevStatus „: {

         “ s8DevId “ : “ 192.168.1.188 “ ,

         „u32TfRecord“ : 0

         }

}

Erfassung/Einstellung der Videokodierungsparameter:

Datenstruktur:

              Typedef-Struktur

              {

u8 u8VideoEncChn;        //0 : Hauptstrom; 1: Sekundärstrom;

u8 u8VideoCodecType;    // 1:h264 ; 2:S. 265

u16 u16VideoWidth;              // Videobreite

u16 u16VideoHeight;       // Videohöhe

u16 u8FrameRate;           // Bildrate (1-30)

u16 u8IframeInterval;      // ich- Frame-Intervallgröße (1-100)

u8 u8BitrateControlMode; //Bitraten-Kontrollmodus: 0: CBR 1: VBR

u16 u16BitRateKps;         // Bitratengröße

char s8VideoSizeName[256]; // Liste der unterstützten Auflösungen }JSON_VIDEO_ENC_PARAM_S;

Befehlszeichen:

              Parameter abrufen:

              #Definieren Sie JS_CMD_GET_VIDEO_ENC_PARAM „getVideoEncParam“

              Parameter einstellen:

              #Definieren Sie JS_CMD_SET_VIDEO_ENC_PARAM „setVideoEncParam“

Beispielsweise:

Der Client ruft die folgenden JSON-Daten ab, die die Kodierungsparameter des Hauptbitstroms der Kamera enthalten:

{

         “ getVideoEncParam „: {

         “ u8VideoEncChn „: 0

         }

}

Die von der Kamera zurückgegebenen JSON-Daten lauten wie folgt;

{

         “ getVideoEncParam „: {

         “ u8VideoEncChn „: 0,

         „u8VideoCodecType“ : 1,

         „u16VideoWidth“ : 3840,

       “ u16VideoHeight “ : 1080,

       „u8FrameRate“ : 30,

         “ u8IframeInterval “ : 60,

         “ u8BitrateControlMode “ : 0,

         „u16BitRateKps“ : 4096,

       “ s8VideoSizeName “ : “ 3840×1080,1920×540 „

         }

}

Der Client stellt die Bildrate des sekundären Streams der Kamera auf ein 15 und die Bitrate auf 1024K im JSON-Format, wie folgt:

{

         “ setVideoEncParam „: {

         “ u8VideoEncChn „: 1,

         “ u8FrameRate „: 15,

         “ u16BitRateKps „: 1024

         }

}

Nach erfolgreicher Einrichtung, Die Kamera gibt TRUE zurück.

Erfassung/Einstellung der Audiokodierungsparameter:

Datenstruktur:

              Typedef-Struktur

              {

       u8 u8Aktivieren;             //0: Deaktivieren; 1: Aktivieren;

       u32 u32ChnNum; // 1 : Mono; 2: Stereo

   u8 u8EncodeType; //6 : AAC; 8: G711A; 9: G711U;                        u32 u32SampleRate; // Abtastrate: 8000, 16000, 24000, 32000, 48000

       u8 u8AoutVolume; // Volumengröße: [0–100]                    }JSON_VIDEO_ENC_PARAM_S;

Befehlszeichen:

              Parameter abrufen:

              #Definieren Sie JS_CMD_GET_AUDIO_PARAM „getAudioParam“

              Parameter einstellen:

              #Definieren Sie JS_CMD_SET_AUDIO_PARAM „setAudioParam“

Beispielsweise:

Der Client ruft die folgenden JSON-Daten der Audiokodierungsparameter der Kamera ab:

{

         “ getAudioParam „: { }

}

Die von der Kamera zurückgegebenen JSON-Daten lauten wie folgt;

{

         “ getAudioParam „: {

         “ u8Aktivieren „: 1,

         „u32ChnNum“ : 1,

         „u8EncodeType“ : 8,

       „u32SampleRate“ : 8000,

       „u8AoutVolume“ : 80,

                  }

}

Die clientseitigen Einstellungen für die Audiokodierung der Kamera sind AAC, Stereo, und einer Abtastrate von 48 kHz. Die JSON-Daten lauten wie folgt:

{

         “ setAudioParam „: {

         „u32ChnNum“ : 2,

         „u8EncodeType“ : 6,

       „u32SampleRate“ : 48000

                  }

}

Nach erfolgreicher Einrichtung, Die Kamera gibt TRUE zurück.

Erfassung/Einstellung der Videobildparameter:

Datenstruktur:

Typedef-Struktur

{

u8 u8VideoIspChn;           //ISP-Kanal; [0-4]

u8 u8Helligkeit;              // Helligkeit: [0~100]

u8 u8Kontrast;                 // Kontrastverhältnis: [0~100]

u8 u8Hue;                        // Chromatizität: [0~100]

u8 u8Sättigung;              // Sättigungsgrad: [0~100]

u8 u8Schärfe;                     // Schärfe: [0~100]

}JSON_IMAGE_PARAM_S;

Befehlszeichen:

              Parameter abrufen:

              #Definieren Sie JS_CMD_GET_IMAGE_PARAM „getImageParam“

              Parameter einstellen:

              #Definieren Sie JS_CMD_SET_IMAGE_PARAM „setImageParam“

Beispielsweise:

Der Client ruft die folgenden JSON-Daten der Bildparameter für den Kanal ab 0 des ISP der Kamera:

{

         “ getImageParam „: {

                   „u8VideoIspChn“ : 0

         }

}

Die von der Kamera zurückgegebenen JSON-Daten lauten wie folgt;

{

         “ getImageParam „: {

         “ u8VideoIspChn „: 0,

         „u8Brightness“ : 50,

         „u8Contrast“ : 50,

       „u8Hue“ : 50,

       „u8Sättigung“ : 50,

         „u8Schärfe“ : 50

                  }

}

Die clientseitige JSON-Dateneinstellung für die Helligkeit der Kamera lautet 53, Kontrast ist 60, und Sättigung ist 56 ist wie folgt:

{

         “ setImageParam „: {

         „u8VideoIspChn“ : 0,

         „u8Brightness“ : 53,

       „u8Contrast“ : 60,

       „u8Sättigung“ : 56

                  }

}

Nach erfolgreicher Einrichtung, Die Kamera gibt TRUE zurück.

Abrufen von TF-Karteninformationen;

Datenstruktur:

Typedef-Struktur

{

      u32 u32TotalSize;             // Gesamtgröße in MB

      u32 u32UsedSize;             // Verwendete Kapazitätseinheit (MB)

      u32 u32AvailableSize;             // Verfügbare Kapazität in MB

}JSON_SD_CARD_INFO_S;

Parameter abrufen:

#Definieren Sie JS_CMD_GET_SD_CARD_INFO „getSdCardInfo“

Beispielsweise:

Der Client ruft die folgenden JSON-Daten bezüglich der TF-Karteninformationen der Kamera ab:

{

         “ getSdCardInfo „: { }

}

Die von der Kamera zurückgegebenen JSON-Daten lauten wie folgt;

{

         “ getSdCardInfo „: {

         “ u32TotalSize „: 31254,

         „u32UsedSize“ : 20000,

         “ u32AvailableSize “ : 11254

                  }

}

Konfiguration der TF-Kartenaufzeichnung:

Datenstruktur:

Typedef-Struktur

{

       u8 u8AutoRecordEnable;        //1: Aufnahme aktivieren; 0: Aufnahme deaktivieren

      u8 u8RecordStrChn;                // Auswahl des Aufnahme-Streams: 0: Primärstrom; 1: Sekundärstrom

   u8 u8PreRecordSeconds;               // Voraufnahmezeit [0-10] in Sekunden

   u16 u16RecordSecondsPerFile; // Dauer einer einzelnen Aufnahmedatei [10-1000] Sekunden

}JSON_RECORD_CONTROL_PARAM_S;

Parameter abrufen:

#Definieren Sie JS_CMD_GET_RECORD_CONTROL_PARAM „getRecordControlParam“

Parameter einstellen:

#Definieren Sie JS_CMD_SET_RECORD_CONTROL_PARAM „setRecordControlParam“

Beispielsweise:

Der Client ruft die folgenden JSON-Daten zur Aufzeichnungskonfiguration der TF-Karte der Kamera ab:

{

         “ getRecordControlParam „: { }

}

Die von der Kamera zurückgegebenen JSON-Daten lauten wie folgt;

{

         “ getRecordControlParam „: {

                   “ u8AutoRecordEnable „: 1,

                   „u8RecordStrChn“ : 0,

                   “ u8PrecordSeconds “ : 0,

              “ u16RecordSecondsPerFile “ : 300

                  }

}

IP-Konfiguration für kabelgebundenes Netzwerk:

Datenstruktur:

Typedef-Struktur

{                                               

u8 u8DhcpEnable;                  // 0: Statische IP; 1: DHCP;

char s8IP[16];                          //IP Adresse

char s8SubMask[16];              // Subnetzmaske

char s8GateWay[16];              // Gateway-IP

char s8Dns[16];                //DNS-Adresse

}JSON_NET_PARAM_S;

Parameter abrufen:

#Definieren Sie JS_CMD_GET_NET_IP_PARAM „getNetIpParam“

Parameter einstellen:

#Definieren Sie JS_CMD_SET_NET_IP_PARAM „setNetIpParam“

Beispielsweise:

Der Client ruft die IP-Informationen der Kamera mithilfe von JSON-Daten wie folgt ab:

{

         “ getNetIpParam „: { }

}

Die von der Kamera zurückgegebenen JSON-Daten lauten wie folgt;

{

         “ getNetIpParam „: {

                   “ u8DhcpEnable „: 0,

                   “ s8IP “ : “ 192.168.1.188 “ ,

                   “ s8SubMask “ : “ 255.255.255.0 “ ,

              “ s8GateWay “ : “ 192.168.1.1 “ ,

              “ s8Dns “ : “ 192.168.1.1 „

         }

}

Der Client ist mit der IP-Adresse der Kamera konfiguriert 192.168.3.10, Gateway als 192.168.3.1, und DNS als 192.168.3.1. Die JSON-Daten lauten wie folgt:

{

         “ setNetIpParam „: {

                   “ s8IP “ : “ 192.168.3.10 “ ,

              “ s8GateWay “ : “ 192.168.3.1 “ ,

              “ s8Dns “ : “ 192.168.3.1 „

         }

}

Nach erfolgreicher Einrichtung, Die Kamera gibt keine Daten zurück, und der Client muss sich mit der neuen IP-Adresse erneut mit dem Gerät verbinden.

Konfiguration der WLAN-Parameter:

Der Client/die App ruft eine Liste der SSIDs der vom Gerät gefundenen Router ab.

                  {

                            „getAPSsidList“ :{ }

                  }

                  Das Gerät gibt eine Liste der SSIDs zurück: Wählen Sie eine Routen-SSID aus der Liste aus, mit der Sie eine Verbindung herstellen möchten.

                  Konfigurieren Sie das WLAN Ihres Geräts so, dass es im STA-Modus funktioniert:

         {

                  „setWifiSsidParam“:{

                           „u8Mode“: 0,

                           „s8Ss“: “ yrsx8888 „,

                            „s8PassWd“: „987545598400

                  }

    }

              Konfigurieren Sie das WLAN des Geräts so, dass es im Hotspot-AP-Modus funktioniert:

                  {

                            „setWifiSsidParam“:{

                                    „u8Mode“: 1

                            }

                  }

                  Rufen Sie den WLAN-Status des Geräts ab:

                  {

                            „getWifiSsidParam“ : { }

                  }

Zeitsynchronisation:

Datenstruktur:    

                  Typedef-Struktur

                  {

                            u8 u8TimeZone;                        // Zeitzonenwert RT_TIMEZONE_E

                            char s8DateTime[64];              // Zeitformat: „2019-06-12_12:56:59_3“    

                  }JSON_DATE_TIME_INFO_S;

                  Definition des Zeitzonenwerts:

typedef enum

{

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

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

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

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

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

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

RT_TIMEZONE_MountainTimeUSCanada = 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_CentralTimeUSCanada = 11, /* UTC-6:00 */

RT_TIMEZONE_CentralAmerica = 12, /* UTC-6:00 */

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

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

RT_TIMEZONE_IndianaEast = 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_Brasilia = 21, /* UTC-3:00 */

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

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

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

RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (Republik Kap Verde) */

RT_TIMEZONE_Azoren = 26, /* UTC-1:00 (Azoren) */

RT_TIMEZONE_GreenwichMeanTimeDublinEdinburghLisbonLondon = 27, /* koordinierte Weltzeit-0:00 */

RT_TIMEZONE_Casablanca = 28, /* koordinierte Weltzeit-0:00 */

RT_TIMEZONE_Monrovia = 29, /* koordinierte Weltzeit-0:00 */

RT_TIMEZONE_AmsterdamBerlinBernRomStockholmWien = 30, /* UTC+1:00 */

RT_TIMEZONE_BelgradeBratislavaBudapestLjubljanaPrag = 31, /* UTC+1:00 */

RT_TIMEZONE_BrusselsKopenhagenMadridParis = 32, /* UTC+1:00 */

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

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

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

RT_TIMEZONE_HelsinkiKyivRigaSofiaTallinnVilnius = 36, /* UTC+2:00 */

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

RT_TIMEZONE_Minsk = 38, /* UTC+2:00 */

RT_TIMEZONE_AthenBukarestIstanbul = 39, /* UTC+2:00 */

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

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

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

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

RT_TIMEZONE_MoscowStPetersburgWolgograd = 44, /* UTC+3:00 */

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

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

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

RT_TIMEZONE_BakuYerevan = 48, /* UTC+4:00 */

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

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

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

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

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

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

RT_TIMEZONE_AlmatyNovosibirsk = 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_Taipei = 63, /* UTC+8:00 */

RT_TIMEZONE_IrkutskUlaanBataar = 64, /* UTC+8:00 */

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

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

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

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

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

RT_TIMEZONE_Vladivostok = 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_MagadanSolomonNewCaledonia = 74, /* UTC+11:00 */

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

RT_TIMEZONE_FijiKamchatkaMarshallIs = 76, /* UTC+12:00 */

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

RT_TIMEZONE_BUTT

}RT_TIMEZONE_E;

Parameter abrufen:

#Definieren Sie JS_CMD_GET_DEV_DATE_TIME „GetDevDateTime“

Parameter einstellen:

#Definieren Sie JS_CMD_SET_DEV_DATE_TIME „setDevDateTime“

Rufen Sie die JSON-Daten zur Gerätezeit ab :

                  {

                            “ GetDevDateTime “ : {}

                  }

Das Gerät gibt JSON-Daten zurück:

                  {

                            “ GetDevDateTime “ : {

                            „u8TimeZone“ : 60,

                            „s8DateTime“ : „2020-03-06_12:56:59_3“

                            }

                  }

Die JSON-Daten legen die Gerätezeit auf Donnerstag fest, März 12, 2020, beim 3:38:30 PM:

                  {

                            “ setDevDateTime “ : {

                                     „s8DateTime“ : „2020-03-12_15:38:30_4“

                            }

                  }

Das Gerät hat nach erfolgreicher Einrichtung TRUE zurückgegeben.

Gerätemanagement:

JSON-Daten zum Neustart des Geräts:

                            {

                                     “ setSysControlParam “ : {

                                               „u8Restart“ : 1               

                                     }

                            }

JSON-Daten zum Wiederherstellen der Werkseinstellungen:

                            {

                                     “ setSysControlParam “ : {

                                               „u8ResetDefault“ : 1              

                                     }

                            }

JSON-Daten der SD-Karte formatieren:

                            {

                                     “ setSysControlParam “ : {

                                               „u8FormatSdCard“ : 1                              

                                     }

                            }

PTZ -Kontrolle:

Datenstruktur:

Typedef-Struktur

{

       u8 u8Cmd;                        // Befehlscode PTZ_CONTROL_CODE

u8 u8Geschwindigkeit;                     // Geschwindigkeit (1-64)

u8 u8Data1;                            // Reserviert; Dies wird für voreingestellte Positionen verwendet.

u8 u8Data2;                            // Reserviert, Dies wird für spezielle PTZ-Befehle verwendet.

}JSON_PTZ_CONTROL_S;

Aufzählung PTZ_CONTROL_CODE

{

              PTZ_STOP = 0, // Halt

              PTZ_UP=1,          // Oben

              PTZ_DOWN=2,          // Nieder

              PTZ_LEFT=3,              // Links

              PTZ_RIGHT=4,           // Recht

              PTZ_LEFT_UP=5, // oben links

              PTZ_LEFT_DOWN=6, // unten links

              PTZ_RIGHT_UP=7, // oben rechts

              PTZ_RIGHT_DOWN=8, // 8 : unten rechts

              PTZ_ZOOM_IN=9, // 9 : Vergrößern

              PTZ_ZOOM_OUT=10, // 10: AUSZOOMEN=10, // 10 : AUSZOOMEN=10

              PTZ_FOCUS_NEAR=11, // 11 : Fokussierung auf die Nähe

              PTZ_FOCUS_FAR=12, // 12 : Konzentrieren Sie sich auf die Ferne

              PTZ_IRIS_ADD=13, // 13 : Blendenvergrößerung

              PTZ_IRIS_REDUCE=14, // 14 : Blende reduziert

              PTZ_GOTO_POINT = 15, // 15 : Preset-Bit aufrufen

              PTZ_CLEAR_POINT = 16, // 16 : Preset-Bit löschen

              PTZ_PERSET_POINT = 17, // 17 : Preset-Bit setzen

              PTZ_AUTO_RUN = 18, // 18 : Horizontaler automatischer Scan

};

PTZ -Kontrolle:

#Definieren Sie JS_CMD_PTZ_CONTROL „PtzControlCmd“

Von Ptz gesteuerte JSON-Befehle:

  • Abwärtsbewegung mit einer Geschwindigkeit von 30:

{

         “ PtzControlCmd „: {

         “ u8Cmd „: 2,

         “ u8Geschwindigkeit “ : 30

                  }

}

  • 1. Voreingestellte Position einstellen 2:

{

         “ PtzControlCmd „: {

         “ u8Cmd „: 17,

         „u8Speed“ : 30,   

         „u8Data1“ : 2

                  }

}

Suche nach TF-Kartendateien:

( 1) Befehl zum Suchen nach allen Videodateien innerhalb eines bestimmten Zeitraums am selben Tag:

{

                  „searchRecordFileList“:{

                            „u32Jahr“:2020, // Jahr

                            „u8Monat“:7,                             // Monat

                            „u8Day“:14,                       // Tag

                            „u8StartStunde“:0,              // Startzeit in Stunden

                            „u8StartMinute“:0,                   // Startzeit in Minuten

                            „u8EndHour“:23,             // Endzeit in Stunden

                            „u8EndMinute“:59,                  // Endzeit in Minuten

                            „u8EncChn“:0,                           // 0 ist der Standardwert.

                            „u8RecordTye“:0, // Dateityp: 0: Alle Dateien, 1: Geplante Aufnahme; 2: Alarmaufzeichnung; 3: Bilder;

                            „u32StartIdx“:0,               // Die Sequenznummer der Startdatei

                            „u32ExpectedCount“: 10                 // Anzahl der von der Anfrage zurückgegebenen Dateien, derzeit liegt der Maximalwert bei 32.

                  }

}

Vom Gerät zurückgegebene Daten:

{

„searchRecordFileList“: {

„u32RecordFileTotalCount“: 7,                // Gesamtzahl der in diesem Zeitraum durchsuchten Dateien

„stRecordFileList“: [        // Dateiname mit Pfad, Dateigröße]

„/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

]

}

}

Nehmen Sie manuell ein JPG-Bild auf:

              Senden Sie den folgenden Befehl an das Gerät.

              {

                            „ManualSnapJpg“:{

                            }

                  }

Erfolgreich zurückgegeben:

                  {

                  „ManualSnapJpg“: WAHR

                   }

Die PWM-Steuerung passt die LED-Helligkeit an:

Ermitteln Sie den aktuellen PWM-Wert:

{

„getPwmParam“:{

          „u32PwmChn“: 0

}

}

Erfolgreich zurückgegeben:

{

„getPwmParam“:{

          „u32PwmChn“:0,

          „u8Aktivieren“:1,

          „u8DutyValue“:20

}

}

  • Stellen Sie den PWM-Wert ein:

{

„setPwmParam“:{

          „u32PwmChn“: 0,

          „u8Aktivieren“: 1,

          „u8DutyValue“: 60

}

}

Erfolgreich zurückgegeben:

{

„setPwmParam“:WAHR

}

Hinweis : u32PwmChn ist standardmäßig auf 0 und sollte nicht willkürlich verändert werden. u8Enable hat einen Wert von 0/1, woher 0 deaktiviert den PWM-Ausgang und 1 ermöglicht die PWM-Ausgabe. u8DutyValue hat einen Wertebereich von 0-100.

17. OSD-Texterfassung/-Einstellung:

(1)   Rufen Sie den angegebenen Videokanal ab, OSD-Textparameter:

{„getVideoOsdTextInfo“:{

          „u8IspChn“:0,

          „u8TextIdx“:1

}}

Erfolgreich zurückgegeben:

{

„getVideoOsdTextInfo“:{

          „u8IspChn“:0, // Videokanal 0, ausfüllen 0 für eine Kamera

          „u8TextIdx“:1, // Die Nummer des OSD-Textfelds, Unterstützung mehrerer Textfelder.

          „u8Aktivieren“:0, // Aktivieren, 0: nicht anzeigen; 1: Anzeige

          „u16XRatioBase50000“:40000, // Relative Koordinaten der horizontalen Position, mit einem Maximalwert von 50000.

          „u16YRatioBase50000“:1600, // Relative Koordinaten der vertikalen Position, mit einem Maximalwert von 50000.

          „u8FgTransparenz“:10, // Vordergrundtransparenz [0-255]

          „u8BgTransparenz“:255, // Wert der Hintergrundtransparenz [0-255]

          „u8SizeType“:1, // Textgröße, Wertebereich [0-3]

          „u32TextColor_BGRA8888“:4294967295, // Textfarbe ARGB888-Wert

          „aszText“:““ // Das Textfeld zeigt die Inhaltszeichenfolge an

}

}

(2)   Legen Sie den angegebenen Videokanal fest, OSD-Textparameter:

{

„setVideoOsdTextInfo“:{

          „u8IspChn“:0,

          „u8TextIdx“:1,

          „u8Aktivieren“:1,

          „u16XRatioBase50000“:40000,

          „u16YRatioBase50000“:1600,

          „u8FgTransparenz“:10,

          „u8BgTransparenz“:255,

          „u8SizeType“:1,

          „u32TextColor_BGRA8888“:4294967295,

          „aszText“:“Test 11111222233334444″

}

}

Erfolgreich zurückgegeben:

{

„setVideoOsdTextInfo“:WAHR

}

Preisspanne: $118.00 bis $178.00
Ursprünglicher Preis war: $199.00Aktueller Preis ist: $130.00.
Preisspanne: $118.00 bis $178.00

Stelle eine Frage

← Zurück

Vielen Dank für deine Antwort. ✨