Guia da API RTSP do protocolo TCP JSON da placa do codificador de vídeo

Endereço de fluxo de áudio e vídeo RTSP em tempo real:

  • Formato: rtsp://IP:número da porta/fluxo
  • Porta padrão: 554
  • ID do fluxo: 0 (convencional), 1 (fluxo secundário)
  • Por exemplo, para recuperar o substream do endereço do dispositivo 192.168.1.188, o URL é:
  • rtsp://192.168.1.1 8 8 :554 / 1

O cliente (aplicativo móvel) obtém e define parâmetros da câmera através do protocolo TCP;

A câmera atua como um servidor TCP, com a porta TCP padrão sendo 8866.

Formato de dados de comunicação TCP:

string JSON pura

Obtenha o status da câmera:

Estrutura de dados:

              estrutura typedef

              {

                     char s8DevId[64]; // ID do dispositivo, o padrão é IP se nenhum ID for definido.

                     u32 u32TfRecord; // Status de gravação do cartão TF, 0: sem gravação; 1: gravação em andamento

              }JSON_DEV_STATUS_INFO_S;

Caracteres de comando:

              #definir JS_CMD_GET_DEV_STATUS “ObterDevStatus”

Supondo que o endereço IP do dispositivo seja 192.168.1.188, o cliente envia os seguintes dados JSON:

{

         ” ObterDevStatus “: {       }

}

Depois que a câmera recebeu os dados com sucesso, ele retornou os seguintes dados JSON:

{

         ” ObterDevStatus “: {

         ” s8DevId ” : ” 192.168.1.188 ” ,

         “u32TfRecord” : 0

         }

}

Aquisição/configuração de parâmetros de codificação de vídeo:

Estrutura de dados:

              estrutura typedef

              {

u8 u8VideoEncChn;        //0 : convencional; 1: fluxo secundário;

u8 u8VideoCodecType;    // 1:h264 ; 2:p265

u16 u16Largura do vídeo;              // Largura do vídeo

u16 u16VideoHeight;       // Altura do vídeo

u16 u8FrameRate;           // Taxa de quadros (1-30)

u16 u8IframeInterval;      // Eu- tamanho do intervalo do quadro (1-100)

u8 u8BitrateControlMode; //Modo de controle de taxa de bits: 0: CBR 1: VBR

u16 u16BitRateKps;         // Tamanho da taxa de bits

char s8VideoSizeName[256]; // Lista de resoluções suportadas }JSON_VIDEO_ENC_PARAM_S;

Caracteres de comando:

              Obtenha parâmetros:

              #definir JS_CMD_GET_VIDEO_ENC_PARAM “getVideoEncParam”

              Configurando parâmetros:

              #definir JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”

Por exemplo:

O cliente recupera os seguintes dados JSON contendo os parâmetros de codificação do fluxo de bits principal da câmera:

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0

         }

}

Os dados JSON retornados pela câmera são os seguintes;

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0,

         “u8VideoCodecType” : 1,

         “ u16VideoWidth ” : 3840,

       ” u16VideoHeight ” : 1080,

       “u8FrameRate” : 30,

         ” u8IframeInterval ” : 60,

         ” u8BitrateControlMode ” : 0,

         “ u16BitRateKps ” : 4096,

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

         }

}

O cliente define a taxa de quadros do fluxo secundário da câmera como 15 e a taxa de bits para 1024K no formato JSON, do seguinte modo:

{

         ” setVideoEncParam “: {

         ” u8VideoEncChn “: 1,

         ” u8FrameRate “: 15,

         ” u16BitRateKps “: 1024

         }

}

Após configuração bem-sucedida, a câmera retorna TRUE.

Aquisição/configuração de parâmetros de codificação de áudio:

Estrutura de dados:

              estrutura typedef

              {

       u8 u8Ativar;             //0: Desativar; 1: Habilitar;

       u32 u32ChnNum; // 1 : mono; 2: Estéreo

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

       u8 u8AoutVolume; // Tamanho do volume: [0–100]                    }JSON_VIDEO_ENC_PARAM_S;

Caracteres de comando:

              Obtenha parâmetros:

              #definir JS_CMD_GET_AUDIO_PARAM “getAudioParam”

              Configurando parâmetros:

              #definir JS_CMD_SET_AUDIO_PARAM “setAudioParam”

Por exemplo:

O cliente recupera os seguintes dados JSON dos parâmetros de codificação de áudio da câmera:

{

         ” getAudioParam “: { }

}

Os dados JSON retornados pela câmera são os seguintes;

{

         ” getAudioParam “: {

         ” u8Ativar “: 1,

         “u32ChnNum” : 1,

         “u8EncodeType” : 8,

       “ u32SampleRate ” : 8000,

       “u8AoutVolume” : 80,

                  }

}

As configurações do lado do cliente para codificação de áudio da câmera são AAC, estéreo, e uma taxa de amostragem de 48kHz. Os dados JSON são os seguintes:

{

         ” setAudioParam “: {

         “u32ChnNum” : 2,

         “u8EncodeType” : 6,

       “ u32SampleRate ” : 48000

                  }

}

Após configuração bem-sucedida, a câmera retorna TRUE.

Aquisição/configuração de parâmetros de imagem de vídeo:

Estrutura de dados:

estrutura typedef

{

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

u8 u8Brilho;              // Brilho: [0~100]

u8 u8Contraste;                 // relação de contraste: [0~100]

u8 u8Hue;                        // Cromaticidade: [0~100]

u8 u8Saturação;              // Nível de saturação: [0~100]

u8 u8Nitidez;                     // Nitidez: [0~100]

}JSON_IMAGE_PARAM_S;

Caracteres de comando:

              Obtenha parâmetros:

              #definir JS_CMD_GET_IMAGE_PARAM “getImageParam”

              Configurando parâmetros:

              #definir JS_CMD_SET_IMAGE_PARAM “setImageParam”

Por exemplo:

O cliente recupera os seguintes dados JSON dos parâmetros de imagem do canal 0 do ISP da câmera:

{

         ” getImageParam “: {

                   “u8VideoIspChn” : 0

         }

}

Os dados JSON retornados pela câmera são os seguintes;

{

         ” getImageParam “: {

         ” u8VideoIspChn “: 0,

         “u8Brilho” : 50,

         “ u8Contraste ” : 50,

       “u8Hue” : 50,

       “u8Saturação” : 50,

         “u8Nitidez” : 50

                  }

}

A configuração de dados JSON do lado do cliente para o brilho da câmera é 53, contraste é 60, e a saturação é 56 é o seguinte:

{

         ” setImageParam “: {

         “u8VideoIspChn” : 0,

         “u8Brilho” : 53,

       “ u8Contraste ” : 60,

       “u8Saturação” : 56

                  }

}

Após configuração bem-sucedida, a câmera retorna TRUE.

Recuperação de informações do cartão TF;

Estrutura de dados:

estrutura typedef

{

      u32 u32TotalSize;             // Tamanho total em MB

      u32 u32UsadoTamanho;             // Unidade de capacidade usada (MB)

      u32 u32Tamanho disponível;             // Capacidade disponível em MB

}JSON_SD_CARD_INFO_S;

Obtenha parâmetros:

#definir JS_CMD_GET_SD_CARD_INFO “getSdCardInfo”

Por exemplo:

O cliente recupera os seguintes dados JSON relativos às informações do cartão TF da câmera:

{

         ” getSdCardInfo “: { }

}

Os dados JSON retornados pela câmera são os seguintes;

{

         ” getSdCardInfo “: {

         ” u32Tamanho total “: 31254,

         “ u32TamanhoUsado ” : 20000,

         ” u32Tamanho disponível ” : 11254

                  }

}

Configuração de gravação do cartão TF:

Estrutura de dados:

estrutura typedef

{

       u8 u8AutoRecordEnable;        //1: Habilitar gravação; 0: Desativar gravação

      u8 u8RecordStrChn;                // Seleção de fluxo de gravação: 0: fluxo primário; 1: fluxo secundário

   u8 u8PreRecordSeconds;               // Tempo de pré-gravação [0-10] em segundos

   u16 u16RecordSecondsPerFile; // Duração de um único arquivo de gravação [10-1000] segundos

}JSON_RECORD_CONTROL_PARAM_S;

Obtenha parâmetros:

#definir JS_CMD_GET_RECORD_CONTROL_PARAM “getRecordControlParam”

Configurando parâmetros:

#definir JS_CMD_SET_RECORD_CONTROL_PARAM “setRecordControlParam”

Por exemplo:

O cliente recupera os seguintes dados JSON relativos à configuração de gravação do cartão TF da câmera:

{

         ” getRecordControlParam “: { }

}

Os dados JSON retornados pela câmera são os seguintes;

{

         ” getRecordControlParam “: {

                   ” u8AutoRecordEnable “: 1,

                   “ u8RecordStrChn ” : 0,

                   ” u8PrecordSeconds ” : 0,

              ” u16RecordSecondsPerFile ” : 300

                  }

}

Configuração de IP de rede com fio:

Estrutura de dados:

estrutura typedef

{                                               

u8 u8DhcpAtivar;                  // 0: I.P. estático; 1: DHCP;

caractere s8IP[16];                          //endereço de IP

char s8SubMask[16];              // Máscara de sub-rede

char s8GateWay[16];              // IP do gateway

char s8Dns[16];                //Endereço DNS

}JSON_NET_PARAM_S;

Obtenha parâmetros:

#definir JS_CMD_GET_NET_IP_PARAM “getNetIpParam”

Configurando parâmetros:

#definir JS_CMD_SET_NET_IP_PARAM “setNetIpParam”

Por exemplo:

O cliente recupera as informações IP da câmera usando dados JSON da seguinte maneira:

{

         ” getNetIpParam “: { }

}

Os dados JSON retornados pela câmera são os seguintes;

{

         ” getNetIpParam “: {

                   ” u8DhcpEnable “: 0,

                   ” s8IP ” : ” 192.168.1.188 ” ,

                   ” s8SubMask ” : ” 255.255.255.0 ” ,

              ” s8GateWay ” : ” 192.168.1.1 ” ,

              ” s8Dns ” : ” 192.168.1.1 “

         }

}

O cliente está configurado com o endereço IP da câmera como 192.168.3.10, porta de entrada como 192.168.3.1, e DNS como 192.168.3.1. Os dados JSON são os seguintes:

{

         ” setNetIpParam “: {

                   ” s8IP ” : ” 192.168.3.10 ” ,

              ” s8GateWay ” : ” 192.168.3.1 ” ,

              ” s8Dns ” : ” 192.168.3.1 “

         }

}

Após configuração bem-sucedida, a câmera não retorna nenhum dado, e o cliente precisa se reconectar ao dispositivo com o novo endereço IP.

Configuração de parâmetros WiFi:

O cliente/aplicativo recupera uma lista de SSIDs dos roteadores encontrados pelo dispositivo.

                  {

                            “getAPSsidList” :{ }

                  }

                  O dispositivo retornará uma lista de SSIDs: Selecione um SSID de rota na lista para se conectar.

                  Configure o Wi-Fi do seu dispositivo para funcionar no modo STA:

         {

                  “setWifiSsidParam”:{

                           “u8Modo”: 0,

                           “s8Ss”: ” yrsx8888 “,

                            “s8PassWd”: “987545598400

                  }

    }

              Configure o Wi-Fi do dispositivo para funcionar no modo hotspot AP:

                  {

                            “setWifiSsidParam”:{

                                    “u8Modo”: 1

                            }

                  }

                  Obtenha o status do Wi-Fi do dispositivo:

                  {

                            “getWifiSsidParam” : { }

                  }

Sincronização de tempo:

Estrutura de dados:    

                  estrutura typedef

                  {

                            u8 u8TimeZone;                        // Valor do fuso horário RT_TIMEZONE_E

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

                  }JSON_DATE_TIME_INFO_S;

                  Definição do valor do fuso horário:

enumeração typedef

{

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

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

RT_TIMEZONE_Havaí = 2, /* UTC-10:00 */

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

RT_TIMEZONE_TijuanaCalifórnia = 4, /* UTC-8:00 */

RT_TIMEZONE_PacificTimeUSCanadá = 5, /* UTC-8:00 */

RT_TIMEZONE_MountainTimeUSCanadá = 6, /* UTC-7:00 */

RT_TIMEZONE_ChihuahuaLapazMazatlán = 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_CentralTimeUSCanadá = 11, /* UTC-6:00 */

RT_TIMEZONE_América Central = 12, /* UTC-6:00 */

RT_TIMEZONE_BogotáLimaQuito = 13, /* UTC-5:00 */

RT_TIMEZONE_EasternTimeUSCanadá = 14, /* UTC-5:00 */

RT_TIMEZONE_IndianaLeste = 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_Brasília = 21, /* UTC-3:00 */

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

RT_TIMEZONE_Groenlândia = 23, /* UTC-3:00 */

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

RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (República de Cabo Verde) */

RT_TIMEZONE_Açores = 26, /* UTC-1:00 (Açores) */

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

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

RT_TIMEZONE_Monróvia = 29, /* UTC-0:00 */

RT_TIMEZONE_AmsterdãBerlimBernaRomaEstocolmoViena = 30, /* UTC+1:00 */

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

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

RT_TIMEZONE_SarajevoSkopjeVarsóviaZagreb = 33, /* UTC+1:00 */

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

RT_TIMEZONE_RarePretória = 35, /* UTC+2:00 */

RT_TIMEZONE_HelsínquiaKyivRigaSofiaTallinnVilnius = 36, /* UTC+2:00 */

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

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

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

RT_TIMEZONE_Jerusalém = 40, /* UTC+2:00 */

RT_TIMEZONE_Bagdá = 41, /* UTC+3:00 */

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

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

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

RT_TIMEZONE_Nairóbi = 45, /* UTC+3:00 */

RT_TIMEZONE_Teerã = 46, /* UTC+3:30 */

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

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

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

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

RT_TIMEZONE_Ecaterimburgo = 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_AlmatyNovosibirsk = 55, /* UTC+6:00 */

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

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

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

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

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

RT_TIMEZONE_KualaLumpurSingapura = 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_OsakaSapporoTóquio = 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_MagadanSolomonNova Caledônia = 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;

Obtenha parâmetros:

#definir JS_CMD_GET_DEV_DATE_TIME “GetDevDateTime”

Configurando parâmetros:

#definir JS_CMD_SET_DEV_DATE_TIME “setDevDateTime”

Obtenha os dados JSON da hora do dispositivo :

                  {

                            ” GetDevDateTime ” : {}

                  }

O dispositivo retorna dados JSON:

                  {

                            ” GetDevDateTime ” : {

                            “u8TimeZone” : 60,

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

                            }

                  }

Os dados JSON definem o horário do dispositivo para quinta-feira, marcha 12, 2020, em 3:38:30 PM:

                  {

                            ” setDevDateTime ” : {

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

                            }

                  }

O dispositivo retornou TRUE após a configuração bem-sucedida.

Gestão de Equipamentos:

Dados JSON para reiniciar o dispositivo:

                            {

                                     ” setSysControlParam ” : {

                                               “u8Reiniciar” : 1               

                                     }

                            }

Dados JSON para restaurar as configurações de fábrica:

                            {

                                     ” setSysControlParam ” : {

                                               “u8ResetDefault” : 1              

                                     }

                            }

Formatando dados JSON do cartão SD:

                            {

                                     ” setSysControlParam ” : {

                                               “u8FormatSdCard” : 1                              

                                     }

                            }

Controle PTZ:

Estrutura de dados:

estrutura typedef

{

       u8 u8Cmd;                        // Código de comando PTZ_CONTROL_CODE

u8 u8Velocidade;                     // Rapidez (1-64)

u8 u8Dados1;                            // Reservado; isso será usado para posições predefinidas.

u8 u8Data2;                            // Reservado, isso será usado para comandos PTZ especiais.

}JSON_PTZ_CONTROL_S;

enumeração PTZ_CONTROL_CODE

{

              PTZ_STOP = 0, // Pare

              PTZ_UP=1,          // Acima

              PTZ_DOWN=2,          // baixa

              PTZ_ESQUERDA=3,              // Esquerda

              PTZ_RIGHT=4,           // certo

              PTZ_LEFT_UP=5, // canto superior esquerdo

              PTZ_LEFT_DOWN=6, // canto inferior esquerdo

              PTZ_RIGHT_UP=7, // canto superior direito

              PTZ_RIGHT_DOWN=8, // 8 : canto inferior direito

              PTZ_ZOOM_IN=9, // 9 : Ampliar

              PTZ_ZOOM_OUT=10, // 10: MENOS ZOOM=10, // 10 : MENOS ZOOM=10

              PTZ_FOCUS_NEAR=11, // 11 : Focando no próximo

              PTZ_FOCUS_FAR=12, // 12 : Concentre-se no longe

              PTZ_IRIS_ADD=13, // 13 : Aumento de abertura

              PTZ_IRIS_REDUCE=14, // 14 : Abertura reduzida

              PTZ_GOTO_POINT = 15, // 15 : Chamar bit predefinido

              PTZ_CLEAR_POINT = 16, // 16 : Limpar bit predefinido

              PTZ_PERSET_POINT = 17, // 17 : Definir bit predefinido

              PTZ_AUTO_RUN = 18, // 18 : Verificação automática horizontal

};

Controle PTZ:

#definir JS_CMD_PTZ_CONTROL “PtzControlCmd”

Comandos JSON controlados por Ptz:

  • Movendo-se para baixo a uma velocidade de 30:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 2,

         ” u8Speed ” : 30

                  }

}

  • 1. Definir posição predefinida 2:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 17,

         “u8Speed” : 30,   

         “u8Data1” : 2

                  }

}

Pesquisa de arquivo de cartão TF:

( 1) Comando para pesquisar todos os arquivos de vídeo dentro de um período específico no mesmo dia:

{

                  “searchRecordFileList”:{

                            “u32Ano”:2020, // ano

                            “u8 mês”:7,                             // Mês

                            “u8Dia”:14,                       // Dia

                            “u8StartHour”:0,              // Hora de início em horas

                            “u8StartMinute”:0,                   // Hora de início em minutos

                            “u8EndHour”:23,             // Hora de término em horas

                            “u8EndMinute”:59,                  // Hora de término em minutos

                            “u8EncChn”:0,                           // 0 é o valor padrão.

                            “u8RecordTye”:0, // Tipo de arquivo: 0: Todos os arquivos, 1: Gravação agendada; 2: Gravação de alarme; 3: Imagens;

                            “u32StartIdx”:0,               // O número de sequência do arquivo inicial

                            “u32Contagem esperada”: 10                 // Número de arquivos retornados pela solicitação, atualmente o valor máximo é 32.

                  }

}

Dados retornados pelo dispositivo:

{

“searchRecordFileList”: {

“u32RecordFileTotalCount”: 7,                // Número total de arquivos pesquisados ​​neste período

“stRecordFileList”: [        // Nome do arquivo com caminho, tamanho do arquivo]

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

]

}

}

Capturar manualmente uma imagem JPG:

              Envie o seguinte comando para o dispositivo.

              {

                            “ManualSnapJpg”:{

                            }

                  }

Retornado com sucesso:

                  {

                  “ManualSnapJpg”: verdadeiro

                   }

O controle PWM ajusta o brilho do LED:

Obtenha o valor PWM atual:

{

“getPwmParam”:{

          “u32PwmChn”: 0

}

}

Retornado com sucesso:

{

“getPwmParam”:{

          “u32PwmChn”:0,

          “u8Ativar”:1,

          “u8DutyValor”:20

}

}

  • Defina o valor PWM:

{

“setPwmParam”:{

          “u32PwmChn”: 0,

          “u8Ativar”: 1,

          “u8DutyValor”: 60

}

}

Retornado com sucesso:

{

“setPwmParam”:verdadeiro

}

Nota : u32PwmChn tem como padrão 0 e não deve ser alterado arbitrariamente. u8Enable tem um valor de 0/1, Onde 0 desativa a saída PWM e 1 permite saída PWM. u8DutyValue tem um intervalo de valores de 0-100.

17. Aquisição/configuração de texto OSD:

(1)   Obtenha o canal de vídeo especificado, Parâmetros de texto OSD:

{“getVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1

}}

Retornado com sucesso:

{

“getVideoOsdTextInfo”:{

          “u8IspChn”:0, // Canal de vídeo 0, Preencha 0 para uma câmera

          “u8TextIdx”:1, // O número da caixa de texto OSD, suportando múltiplas caixas de texto.

          “u8Ativar”:0, // Habilitar, 0: não exibir; 1: exibição

          “u16XRatioBase50000”:40000, // Coordenadas relativas da posição horizontal, com valor máximo de 50000.

          “u16YRatioBase50000”:1600, // Coordenadas relativas da posição vertical, com valor máximo de 50000.

          “u8FgTransparência”:10, // Transparência em primeiro plano [0-255]

          “u8BgTransparência”:255, // Valor de transparência de fundo [0-255]

          “u8SizeType”:1, // Tamanho do texto, faixa de valor [0-3]

          “u32TextColor_BGRA8888”:4294967295, // Valor ARGB888 da cor do texto

          “aszTexto”:”” // A caixa de texto exibe a sequência de conteúdo

}

}

(2)   Defina o canal de vídeo especificado, Parâmetros de texto OSD:

{

“setVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1,

          “u8Ativar”:1,

          “u16XRatioBase50000”:40000,

          “u16YRatioBase50000”:1600,

          “u8FgTransparência”:10,

          “u8BgTransparência”:255,

          “u8SizeType”:1,

          “u32TextColor_BGRA8888”:4294967295,

          “aszTexto”:”teste 11111222233334444″

}

}

Retornado com sucesso:

{

“setVideoOsdTextInfo”:verdadeiro

}

Faixa de preço: $118.00 através $178.00
Faixa de preço: $98.00 através $158.00
O preço original era: $199.00.O preço atual é: $130.00.
Faixa de preço: $118.00 através $178.00

Faça uma pergunta

← Voltar

Sua mensagem foi enviada