Guida API RTSP del protocollo TCP JSON della scheda codificatore video

Indirizzo del flusso audio e video in tempo reale RTSP:

  • Formato: rtsp://ip:numero di porta/flusso
  • Porta predefinita: 554
  • ID del flusso: 0 (corrente principale), 1 (flusso secondario)
  • Per esempio, per recuperare il flusso secondario dall'indirizzo del dispositivo 192.168.1.188, l'URL è:
  • rtsp://192.168.1.1 8 8 :554 / 1

Il cliente (App mobile) ottiene e imposta i parametri della fotocamera tramite il protocollo TCP;

La fotocamera funge da server TCP, con la porta TCP predefinita 8866.

Formato dei dati di comunicazione TCP:

stringa JSON pura

Ottieni lo stato della fotocamera:

Struttura dei dati:

              struttura typedef

              {

                     char s8DevId[64]; // ID del dispositivo, il valore predefinito è IP se non è impostato alcun ID.

                     u32 u32TfRegistra; // Stato di registrazione della scheda TF, 0: nessuna registrazione; 1: registrazione in corso

              }JSON_DEV_STATUS_INFO_S;

Caratteri di comando:

              #definire JS_CMD _ GET_DEV_STATUS “OttieniStatoDev”

Supponendo che l'indirizzo IP del dispositivo sia 192.168.1.188, il client invia i seguenti dati JSON:

{

         ” OttieniStatoDev “: {       }

}

Dopo che la fotocamera ha ricevuto con successo i dati, ha restituito i seguenti dati JSON:

{

         ” OttieniStatoDev “: {

         ” s8DevId ” : ” 192.168.1.188 ” ,

         “u32TfRegistra” : 0

         }

}

Acquisizione/impostazione parametri di codifica video:

Struttura dei dati:

              struttura typedef

              {

u8 u8VideoEncChn;        //0 : corrente principale; 1: flusso secondario;

u8 u8Tipo codec video;    // 1:H264 ; 2:p265

u16 u16Larghezza video;              // Larghezza del video

u16 u16Altezza video;       // Altezza del filmato

u16 u8FrameRate;           // Frequenza dei fotogrammi (1-30)

u16 u8IframeIntervallo;      // io- dimensione dell'intervallo dei fotogrammi (1-100)

u8 u8Modalità controllo bitrate; //Modalità di controllo del bitrate: 0: CBR 1: VBR

u16 u16BitRateKps;         // Dimensioni della velocità in bit

char s8NomeDimensioneVideo[256]; // Elenco delle risoluzioni supportate }JSON_VIDEO_ENC_PARAM_S;

Caratteri di comando:

              Ottieni parametri:

              #definire JS_CMD_GET_VIDEO_ENC_PARAM “getVideoEncParam”

              Impostazione dei parametri:

              #definire JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”

Per esempio:

Il client recupera i seguenti dati JSON contenenti i parametri di codifica del bitstream principale della telecamera:

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0

         }

}

I dati JSON restituiti dalla fotocamera sono i seguenti;

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0,

         “u8VideoCodecType” : 1,

         “u16Larghezza video” : 3840,

       ” u16Altezza video ” : 1080,

       “u8FrameRate” : 30,

         ” u8IframeIntervallo ” : 60,

         ” u8BitrateControlMode ” : 0,

         “u16BitRateKps” : 4096,

       ” s8VideoSizeNome ” : ” 3840×1080,1920×540 “

         }

}

Il client imposta la frequenza fotogrammi del flusso secondario della telecamera su 15 e il bitrate a 1024K in formato JSON, come segue:

{

         ” setVideoEncParam “: {

         ” u8VideoEncChn “: 1,

         ” u8FrameRate “: 15,

         ” u16BitRateKps “: 1024

         }

}

Dopo la configurazione riuscita, la fotocamera restituisce TRUE.

Acquisizione/impostazione parametri di codifica audio:

Struttura dei dati:

              struttura typedef

              {

       u8 u8Abilita;             //0: Disabilita; 1: Abilitare;

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

   u8 u8Tipocodifica; //6 : AAC; 8: G711A; 9: G711U;                        u32 u32Frequenza campione; // Tasso di campionamento: 8000, 16000, 24000, 32000, 48000

       u8 u8AoutVolume; // Dimensioni del volume: [0–100]                    }JSON_VIDEO_ENC_PARAM_S;

Caratteri di comando:

              Ottieni parametri:

              #definire JS_CMD_GET_AUDIO_PARAM “getParam.Audio”

              Impostazione dei parametri:

              #definire JS_CMD_SET_AUDIO_PARAM “setAudioParam”

Per esempio:

Il client recupera i seguenti dati JSON dei parametri di codifica audio della telecamera:

{

         ” getParam.Audio “: { }

}

I dati JSON restituiti dalla fotocamera sono i seguenti;

{

         ” getParam.Audio “: {

         ” u8Abilita “: 1,

         “u32ChnNum” : 1,

         “u8EncodeType” : 8,

       “ u32 Frequenza campione ” : 8000,

       “u8AOutVolume” : 80,

                  }

}

Le impostazioni lato client per la codifica audio della fotocamera sono AAC, stereo, e una frequenza di campionamento di 48kHz. I dati JSON sono i seguenti:

{

         ” setAudioParam “: {

         “u32ChnNum” : 2,

         “u8EncodeType” : 6,

       “ u32 Frequenza campione ” : 48000

                  }

}

Dopo la configurazione riuscita, la fotocamera restituisce TRUE.

Acquisizione/impostazione parametri immagine video:

Struttura dei dati:

struttura typedef

{

u8 u8VideoIspChn;           //Canale dell'ISP; [0-4]

u8 u8Luminosità;              // Luminosità: [0~100]

u8 u8Contrasto;                 // Rapporto di contrasto: [0~100]

u8 u8Tonalità;                        // Cromaticità: [0~100]

u8 u8Saturazione;              // Livello di saturazione: [0~100]

u8 u8Nitidezza;                     // Nitidezza: [0~100]

}JSON_IMAGE_PARAM_S;

Caratteri di comando:

              Ottieni parametri:

              #definire JS_CMD_GET_IMAGE_PARAM “getImageParam”

              Impostazione dei parametri:

              #definire JS_CMD_SET_IMAGE_PARAM “setImageParam”

Per esempio:

Il client recupera i seguenti dati JSON dei parametri dell'immagine per il canale 0 dell'ISP della fotocamera:

{

         ” getImageParam “: {

                   “u8VideoIspChn” : 0

         }

}

I dati JSON restituiti dalla fotocamera sono i seguenti;

{

         ” getImageParam “: {

         ” u8VideoIspChn “: 0,

         “u8Luminosità” : 50,

         “u8Contrasto” : 50,

       “u8Hue” : 50,

       “u8Saturazione” : 50,

         “u8Nitidezza” : 50

                  }

}

L'impostazione dei dati JSON lato client per la luminosità della fotocamera è 53, il contrasto è 60, e la saturazione lo è 56 è il seguente:

{

         ” setImageParam “: {

         “u8VideoIspChn” : 0,

         “u8Luminosità” : 53,

       “u8Contrasto” : 60,

       “u8Saturazione” : 56

                  }

}

Dopo la configurazione riuscita, la fotocamera restituisce TRUE.

Recupero delle informazioni sulla carta TF;

Struttura dei dati:

struttura typedef

{

      u32 u32Dimensione totale;             // Dimensione totale in MB

      u32 u32UsatoDimensione;             // Unità di capacità utilizzata (MB)

      u32 u32DisponibileTaglia;             // Capacità disponibile in MB

}JSON_SD_CARD_INFO_S;

Ottieni parametri:

#definire JS_CMD_GET_SD_CARD_INFO “getSdCardInfo”

Per esempio:

Il client recupera i seguenti dati JSON relativi alle informazioni sulla scheda TF della fotocamera:

{

         ” getSdCardInfo “: { }

}

I dati JSON restituiti dalla fotocamera sono i seguenti;

{

         ” getSdCardInfo “: {

         ” u32Dimensione totale “: 31254,

         “u32UsatoDimensione” : 20000,

         ” u32Dimensioni disponibili ” : 11254

                  }

}

Configurazione della registrazione della scheda TF:

Struttura dei dati:

struttura typedef

{

       u8 u8Abilita registrazione automatica;        //1: Abilita la registrazione; 0: Disabilita la registrazione

      u8 u8RecordStrChn;                // Selezione del flusso di registrazione: 0: flusso primario; 1: flusso secondario

   u8 u8PreRecordSeconds;               // Tempo di pre-registrazione [0-10] in pochi secondi

   u16 u16RegistraSecondiPerFile; // Durata di un singolo file di registrazione [10-1000] secondi

}JSON_RECORD_CONTROL_PARAM_S;

Ottieni parametri:

#definire JS_CMD_GET_RECORD_CONTROL_PARAM “getRecordControlParam”

Impostazione dei parametri:

#definire JS_CMD_SET_RECORD_CONTROL_PARAM “setRecordControlParam”

Per esempio:

Il client recupera i seguenti dati JSON relativi alla configurazione di registrazione della scheda TF della fotocamera:

{

         ” getRecordControlParam “: { }

}

I dati JSON restituiti dalla fotocamera sono i seguenti;

{

         ” getRecordControlParam “: {

                   ” u8Attiva registrazione automatica “: 1,

                   “u8RecordStrChn” : 0,

                   ” u8PrecordSecondi ” : 0,

              ” u16RecordSecondsPerFile ” : 300

                  }

}

Configurazione IP della rete cablata:

Struttura dei dati:

struttura typedef

{                                               

u8 u8DhcpAbilita;                  // 0: IP statico; 1: DHCP;

carattere s8IP[16];                          //indirizzo IP

char s8SubMask[16];              // Maschera di sottorete

char s8GateWay[16];              // IP del gateway

char s8Dns[16];                //Indirizzo DNS

}JSON_NET_PARAM_S;

Ottieni parametri:

#definire JS_CMD_GET_NET_IP_PARAM “getNetIpParam”

Impostazione dei parametri:

#definire JS_CMD_SET_NET_IP_PARAM “setNetIpParam”

Per esempio:

Il client recupera le informazioni IP della telecamera utilizzando i dati JSON come segue:

{

         ” getNetIpParam “: { }

}

I dati JSON restituiti dalla fotocamera sono i seguenti;

{

         ” getNetIpParam “: {

                   ” u8DhcpAbilita “: 0,

                   ” s8IP ” : ” 192.168.1.188 ” ,

                   ” s8SubMask ” : ” 255.255.255.0 ” ,

              ” s8GateWay ” : ” 192.168.1.1 ” ,

              ” s8DNS ” : ” 192.168.1.1 “

         }

}

Il client è configurato con l'indirizzo IP della telecamera come 192.168.3.10, gateway come 192.168.3.1, e DNS come 192.168.3.1. I dati JSON sono i seguenti:

{

         ” setNetIpParam “: {

                   ” s8IP ” : ” 192.168.3.10 ” ,

              ” s8GateWay ” : ” 192.168.3.1 ” ,

              ” s8DNS ” : ” 192.168.3.1 “

         }

}

Dopo la configurazione riuscita, la fotocamera non restituisce alcun dato, e il client deve riconnettersi al dispositivo con il nuovo indirizzo IP.

Configurazione dei parametri WiFi:

Il client/app recupera un elenco di SSID dei router trovati dal dispositivo.

                  {

                            “getAPSidList” :{ }

                  }

                  Il dispositivo restituirà un elenco di SSID: Selezionare un SSID del percorso dall'elenco a cui connettersi.

                  Configura il Wi-Fi del tuo dispositivo per funzionare in modalità STA:

         {

                  “setWifiSsidParam”:{

                           “Modalità u8”: 0,

                           “s8Ss”: ” yrsx8888 “,

                            “s8PassWd”: “987545598400

                  }

    }

              Configura il Wi-Fi del dispositivo per funzionare in modalità AP hotspot:

                  {

                            “setWifiSsidParam”:{

                                    “Modalità u8”: 1

                            }

                  }

                  Ottieni lo stato Wi-Fi del dispositivo:

                  {

                            “getWifiSsidParam” : { }

                  }

Sincronizzazione dell'ora:

Struttura dei dati:    

                  struttura typedef

                  {

                            u8 u8Fuso orario;                        // Valore del fuso orario RT_TIMEZONE_E

                            char s8DateTime[64];              // Formato ora: “2019-06-12_12:56:59_3”    

                  }JSON_DATE_TIME_INFO_S;

                  Definizione del valore del fuso orario:

enumerazione typedef

{

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_TijuanaCaliforniano = 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_GuaddlajaraMessicoCityMonterrey = 10, /* UTC-6:00 */

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

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

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

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

RT_TIMEZONE_IndianaEst = 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_Groenlandia = 23, /* UTC-3:00 */

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

RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (Repubblica di Capo Verde) */

RT_TIMEZONE_Azzorre = 26, /* UTC-1:00 (Azzorre) */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RT_TIMEZONE_MoscaSanPietroburgoVolgograd = 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_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_Krasnoyarsk = 58, /* UTC+7:00 */

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

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

RT_TIMEZONE_KualaLumpurSingapore = 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_Seul = 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;

Ottieni parametri:

#definire JS_CMD_GET_DEV_DATE_TIME “OttieniDevDateTime”

Impostazione dei parametri:

#definire JS_CMD_SET_DEV_DATE_TIME “setDevDateTime”

Ottieni i dati JSON sull'ora del dispositivo :

                  {

                            ” OttieniDevDateTime ” : {}

                  }

Il dispositivo restituisce dati JSON:

                  {

                            ” OttieniDevDateTime ” : {

                            “u8fuso orario” : 60,

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

                            }

                  }

I dati JSON impostano l'ora del dispositivo su giovedì, marzo 12, 2020, a 3:38:30 PM:

                  {

                            ” setDevDateTime ” : {

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

                            }

                  }

Il dispositivo ha restituito TRUE al termine della configurazione.

Gestione delle attrezzature:

Dati JSON per riavviare il dispositivo:

                            {

                                     ” setSysControlParam ” : {

                                               “u8Riavvia” : 1               

                                     }

                            }

Dati JSON per ripristinare le impostazioni di fabbrica:

                            {

                                     ” setSysControlParam ” : {

                                               “u8ReimpostaDefault” : 1              

                                     }

                            }

Formattazione dei dati JSON della scheda SD:

                            {

                                     ” setSysControlParam ” : {

                                               “u8FormatSdCard” : 1                              

                                     }

                            }

Controllo PTZ:

Struttura dei dati:

struttura typedef

{

       u8 u8Cmd;                        // Codice comando PTZ_CONTROL_CODE

u8 u8Velocità;                     // Velocità (1-64)

u8 u8Dati1;                            // Prenotato; questo verrà utilizzato per le posizioni preimpostate.

u8 u8Dati2;                            // Prenotato, questo verrà utilizzato per comandi PTZ speciali.

}JSON_PTZ_CONTROL_S;

enum PTZ_CONTROL_CODE

{

              PTZ_STOP = 0, // Fermare

              PTZ_UP=1,          // Su

              PTZ_GIÙ=2,          // giù

              PTZ_SINISTRA=3,              // Sinistra

              PTZ_DESTRA=4,           // destra

              PTZ_SINISTRA_UP=5, // in alto a sinistra

              PTZ_SINISTRA_GIÙ=6, // in basso a sinistra

              PTZ_RIGHT_UP=7, // in alto a destra

              PTZ_DESTRA_GIÙ=8, // 8 : in basso a destra

              PTZ_ZOOM_IN=9, // 9 : Ingrandisci

              PTZ_ZOOM_OUT=10, // 10: ZOOM OUT=10, // 10 : ZOOM OUT=10

              PTZ_FOCUS_NEAR=11, // 11 : Concentrarsi sul vicino

              PTZ_FOCUS_FAR=12, // 12 : Concentrati su lontano

              PTZ_IRIS_ADD=13, // 13 : Aumento dell'apertura

              PTZ_IRIS_REDUCE=14, // 14 : Apertura ridotta

              PTZ_GOTO_POINT = 15, // 15 : Chiama il bit preimpostato

              PTZ_CLEAR_POINT = 16, // 16 : Cancella bit preimpostato

              PTZ_PERSET_POINT = 17, // 17 : Imposta il bit preimpostato

              PTZ_AUTO_RUN = 18, // 18 : Scansione automatica orizzontale

};

Controllo PTZ:

#definire JS_CMD_PTZ_CONTROL “PtzControlCmd”

Comandi JSON controllati da Ptz:

  • Muoversi verso il basso ad una velocità di 30:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 2,

         ” u8Velocità ” : 30

                  }

}

  • 1. Imposta la posizione preimpostata 2:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 17,

         “u8Velocità” : 30,   

         “u8Dati1” : 2

                  }

}

Ricerca file della scheda TF:

( 1) Comando per cercare tutti i file video entro un periodo di tempo specifico nello stesso giorno:

{

                  “searchRecordFileList”:{

                            “u32Anno”:2020, // anno

                            “u8mese”:7,                             // Mese

                            “u8Giorno”:14,                       // Giorno

                            “u8Orainizio”:0,              // Ora di inizio in ore

                            “u8MinutoInizio”:0,                   // Ora di inizio in minuti

                            “u8OraFine”:23,             // Ora di fine in ore

                            “u8FineMinuto”:59,                  // Ora di fine in minuti

                            “u8EncChn”:0,                           // 0 è il valore predefinito.

                            “u8Registra”:0, // Tipo di file: 0: Tutti i file, 1: Registrazione programmata; 2: Registrazione degli allarmi; 3: Immagini;

                            “u32StartIdx”:0,               // Il numero di sequenza del file iniziale

                            “u32Conteggio previsto”: 10                 // Numero di file restituiti dalla richiesta, attualmente il valore massimo è 32.

                  }

}

Dati restituiti dal dispositivo:

{

“searchRecordFileList”: {

“u32Conteggio totale file record”: 7,                // Numero totale di file cercati in questo periodo di tempo

“stRecordFileList”: [        // Nome file con percorso, dimensione del file]

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

]

}

}

Cattura manualmente un'immagine JPG:

              Invia il seguente comando al dispositivo.

              {

                            “ManualSnapJpg”:{

                            }

                  }

Restituito con successo:

                  {

                  “ManualSnapJpg”: VERO

                   }

Il controllo PWM regola la luminosità del LED:

Ottieni il valore PWM corrente:

{

“getPwmParam”:{

          “u32PwmChn”: 0

}

}

Restituito con successo:

{

“getPwmParam”:{

          “u32PwmChn”:0,

          “u8Abilita”:1,

          “u8Valore Dazio”:20

}

}

  • Imposta il valore PWM:

{

“setPwmParam”:{

          “u32PwmChn”: 0,

          “u8Abilita”: 1,

          “u8Valore Dazio”: 60

}

}

Restituito con successo:

{

“setPwmParam”:VERO

}

Nota : Il valore predefinito è u32PwmChn 0 e non dovrebbe essere modificato arbitrariamente. u8Enable ha un valore di 0/1, dove 0 disabilita l'uscita PWM e 1 abilita l'uscita PWM. u8DutyValue ha un intervallo di valori di 0-100.

17. Acquisizione/impostazione testo OSD:

(1)   Ottieni il canale video specificato, Parametri del testo OSD:

{“getVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1

}}

Restituito con successo:

{

“getVideoOsdTextInfo”:{

          “u8IspChn”:0, // Canale video 0, riempire 0 per una fotocamera

          “u8TextIdx”:1, // Il numero della casella di testo OSD, supporto di più caselle di testo.

          “u8Abilita”:0, // Abilitare, 0: non visualizzare; 1: Schermo

          “u16XRatioBase50000”:40000, // Coordinate relative della posizione orizzontale, con un valore massimo di 50000.

          “u16YRapportoBase50000”:1600, // Coordinate relative della posizione verticale, con un valore massimo di 50000.

          “u8FgTrasparenza”:10, // Trasparenza in primo piano [0-255]

          “u8BgTrasparenza”:255, // Valore di trasparenza dello sfondo [0-255]

          “u8Tipodimensione”:1, // Dimensione del testo, intervallo di valori [0-3]

          “u32TextColor_BGRA8888”:4294967295, // Valore ARGB888 del colore del testo

          “aszText”:”” // La casella di testo visualizza la stringa del contenuto

}

}

(2)   Imposta il canale video specificato, Parametri del testo OSD:

{

“setVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1,

          “u8Abilita”:1,

          “u16XRatioBase50000”:40000,

          “u16YRapportoBase50000”:1600,

          “u8FgTrasparenza”:10,

          “u8BgTrasparenza”:255,

          “u8Tipodimensione”:1,

          “u32TextColor_BGRA8888”:4294967295,

          “aszText”:”prova 11111222233334444″

}

}

Restituito con successo:

{

“setVideoOsdTextInfo”:VERO

}

Fascia di prezzo: $118.00 Attraverso $178.00
Fascia di prezzo: $98.00 Attraverso $158.00
Il prezzo originale era: $199.00.Il prezzo attuale è: $130.00.
Fascia di prezzo: $118.00 Attraverso $178.00

Fai una domanda

← Precedente

Grazie per la risposta. ✨