Carte d'encodeur vidéo Protocole TCP JSON Guide de l'API RTSP

Adresse du flux audio et vidéo RTSP en temps réel:

  • Format: rtsp://adresse IP:numéro de port/flux
  • Port par défaut: 554
  • ID de flux: 0 (grand public), 1 (flux secondaire)
  • Par exemple, pour récupérer le sous-flux à partir de l'adresse de l'appareil 192.168.1.188, l'URL est:
  • rtsp://192.168.1.1 8 8 :554 / 1

Le client (application mobile) obtient et définit les paramètres de la caméra via le protocole TCP;

La caméra agit comme un serveur TCP, avec le port TCP par défaut étant 8866.

Format des données de communication TCP:

chaîne JSON pure

Obtenir l'état de la caméra:

Structure des données:

              structure typedef

              {

                     char s8DevId[64]; // ID de l'appareil, la valeur par défaut est IP si aucun ID n'est défini.

                     u32 u32TfEnregistrement; // Statut d'enregistrement de la carte TF, 0: pas d'enregistrement; 1: enregistrement en cours

              }JSON_DEV_STATUS_INFO_S;

Caractères de commande:

              #définir JS_CMD _ GET_DEV_STATUS “ObtenirDevStatus”

En supposant que l'adresse IP de l'appareil est 192.168.1.188, le client envoie les données JSON suivantes:

{

         ” ObtenirDevStatus “: {       }

}

Une fois que la caméra a reçu les données avec succès, il a renvoyé les données JSON suivantes:

{

         ” ObtenirDevStatus “: {

         ” s8DevId ” : ” 192.168.1.188 ” ,

         « u32TfEnregistrement » : 0

         }

}

Acquisition/réglage des paramètres d'encodage vidéo:

Structure des données:

              structure typedef

              {

u8 u8VidéoEncChn;        //0 : grand public; 1: flux secondaire;

u8 u8VidéoCodecType;    // 1:h264 ; 2:p265

u16 u16VidéoLargeur;              // Largeur de la vidéo

u16 u16VidéoHauteur;       // Hauteur de la vidéo

u16 u8FrameRate;           // Frame rate (1-30)

u16 u8IframeIntervalle;      // je- taille de l'intervalle de trame (1-100)

u8 u8BitrateControlMode; //Mode de contrôle du débit: 0: RBC 1: VBR

u16 u16BitRateKps;         // Taille du débit

char s8VideoSizeName[256]; // Liste des résolutions prises en charge }JSON_VIDEO_ENC_PARAM_S;

Caractères de commande:

              Obtenir les paramètres:

              #définir JS_CMD_GET_VIDEO_ENC_PARAM “getVideoEncParam”

              Paramètres de réglage:

              #définir JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”

Par exemple:

Le client récupère les données JSON suivantes contenant les paramètres d'encodage du flux binaire principal de la caméra:

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0

         }

}

Les données JSON renvoyées par la caméra sont les suivantes;

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0,

         « u8VideoCodecType » : 1,

         « u16LargeurVidéo » : 3840,

       ” u16VidéoHauteur ” : 1080,

       « u8FrameRate » : 30,

         ” u8IframeIntervalle ” : 60,

         ” u8BitrateControlMode ” : 0,

         « u16BitRateKps » : 4096,

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

         }

}

Le client définit la fréquence d’images du flux secondaire de la caméra sur 15 et le débit à 1024K au format JSON, comme suit:

{

         ” setVideoEncParam “: {

         ” u8VideoEncChn “: 1,

         ” u8FrameRate “: 15,

         ” u16BitRateKps “: 1024

         }

}

Après une configuration réussie, la caméra renvoie VRAI.

Acquisition/réglage des paramètres d'encodage audio:

Structure des données:

              structure typedef

              {

       u8 u8Activer;             //0: Désactiver; 1: Activer;

       u32 u32ChnNum; // 1 : Mono; 2: Stéréo

   u8 u8EncodeType; //6 : AAC; 8: G711A; 9: G711U;                        u32 u32Taux d'échantillonnage; // Taux d'échantillonnage: 8000, 16000, 24000, 32000, 48000

       u8 u8AoutVolume; // Taille du volume: [0–100]                    }JSON_VIDEO_ENC_PARAM_S;

Caractères de commande:

              Obtenir les paramètres:

              #définir JS_CMD_GET_AUDIO_PARAM “getAudioParam”

              Paramètres de réglage:

              #définir JS_CMD_SET_AUDIO_PARAM “setAudioParam”

Par exemple:

Le client récupère les données JSON suivantes des paramètres d'encodage audio de la caméra:

{

         ” getAudioParam “: { }

}

Les données JSON renvoyées par la caméra sont les suivantes;

{

         ” getAudioParam “: {

         ” u8Activer “: 1,

         « u32ChnNum » : 1,

         « u8EncodeType » : 8,

       « u32SampleRate » : 8000,

       « u8AoutVolume » : 80,

                  }

}

Les paramètres côté client pour l'encodage audio de la caméra sont AAC, stéréo, et un taux d'échantillonnage de 48 kHz. Les données JSON sont les suivantes:

{

         ” setAudioParam “: {

         « u32ChnNum » : 2,

         « u8EncodeType » : 6,

       « u32SampleRate » : 48000

                  }

}

Après une configuration réussie, la caméra renvoie VRAI.

Acquisition/réglage des paramètres d'image vidéo:

Structure des données:

structure typedef

{

u8 u8VidéoIspChn;           //Canal FAI; [0-4]

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

u8 u8Contraste;                 // Rapport de contraste: [0~100]

u8 u8Hue;                        // Chromaticité: [0~100]

u8 u8Saturation;              // Niveau de saturation: [0~100]

u8 u8Netteté;                     // Acuité: [0~100]

}JSON_IMAGE_PARAM_S;

Caractères de commande:

              Obtenir les paramètres:

              #définir JS_CMD_GET_IMAGE_PARAM “getImageParam”

              Paramètres de réglage:

              #définir JS_CMD_SET_IMAGE_PARAM “setImageParam”

Par exemple:

Le client récupère les données JSON suivantes des paramètres d'image pour le canal 0 du FAI de la caméra:

{

         ” getImageParam “: {

                   « u8VideoIspChn » : 0

         }

}

Les données JSON renvoyées par la caméra sont les suivantes;

{

         ” getImageParam “: {

         ” u8VideoIspChn “: 0,

         « u8Luminosité » : 50,

         « u8Contraste » : 50,

       "u8Hue" : 50,

       « u8Saturation » : 50,

         « u8Netteté » : 50

                  }

}

Le paramètre de données JSON côté client pour la luminosité de la caméra est 53, le contraste est 60, et la saturation est 56 est le suivant:

{

         ” setImageParam “: {

         « u8VideoIspChn » : 0,

         « u8Luminosité » : 53,

       « u8Contraste » : 60,

       « u8Saturation » : 56

                  }

}

Après une configuration réussie, la caméra renvoie VRAI.

Récupération d'informations sur la carte TF;

Structure des données:

structure typedef

{

      u32 u32TailleTotale;             // Taille totale en Mo

      u32 u32UtiliséTaille;             // Unité de capacité utilisée (MB)

      u32 u32Taille disponible;             // Capacité disponible en Mo

}JSON_SD_CARD_INFO_S;

Obtenir les paramètres:

#définir JS_CMD_GET_SD_CARD_INFO “getSdCardInfo”

Par exemple:

Le client récupère les données JSON suivantes concernant les informations de la carte TF de la caméra:

{

         ” getSdCardInfo “: { }

}

Les données JSON renvoyées par la caméra sont les suivantes;

{

         ” getSdCardInfo “: {

         ” u32TailleTotale “: 31254,

         « u32TailleUtilisée » : 20000,

         ” u32Taille disponible ” : 11254

                  }

}

Configuration d'enregistrement sur carte TF:

Structure des données:

structure typedef

{

       u8 u8AutoRecordEnable;        //1: Activer l'enregistrement; 0: Désactiver l'enregistrement

      u8 u8RecordStrChn;                // Sélection du flux d'enregistrement: 0: flux principal; 1: flux secondaire

   u8 u8PreRecordSeconds;               // Temps de pré-enregistrement [0-10] en secondes

   u16 u16EnregistrementSecondsParFichier; // Durée d'un seul fichier d'enregistrement [10-1000] secondes

}JSON_RECORD_CONTROL_PARAM_S;

Obtenir les paramètres:

#définir JS_CMD_GET_RECORD_CONTROL_PARAM “getRecordControlParam”

Paramètres de réglage:

#définir JS_CMD_SET_RECORD_CONTROL_PARAM “setRecordControlParam”

Par exemple:

Le client récupère les données JSON suivantes concernant la configuration d'enregistrement de la carte TF de la caméra:

{

         ” getRecordControlParam “: { }

}

Les données JSON renvoyées par la caméra sont les suivantes;

{

         ” getRecordControlParam “: {

                   ” u8AutoRecordEnable “: 1,

                   «u8RecordStrChn» : 0,

                   ” u8PrecordSeconds ” : 0,

              ” u16EnregistrementSecondsParFichier ” : 300

                  }

}

Configuration IP du réseau filaire:

Structure des données:

structure typedef

{                                               

u8 u8DhcpActiver;                  // 0: I.P statique; 1: DHCP;

char s8IP[16];                          //adresse IP

char s8SubMask[16];              // Masque de sous-réseau

char s8GateWay[16];              // IP de la passerelle

char s8Dns[16];                //Adresse DNS

}JSON_NET_PARAM_S;

Obtenir les paramètres:

#définir JS_CMD_GET_NET_IP_PARAM “getNetIpParam”

Paramètres de réglage:

#définir JS_CMD_SET_NET_IP_PARAM “setNetIpParam”

Par exemple:

Le client récupère les informations IP de la caméra à l'aide des données JSON comme suit:

{

         ” getNetIpParam “: { }

}

Les données JSON renvoyées par la caméra sont les suivantes;

{

         ” getNetIpParam “: {

                   ” u8DhcpActiver “: 0,

                   ” s8IP ” : ” 192.168.1.188 ” ,

                   ” s8Sous-Masque ” : ” 255.255.255.0 ” ,

              ” s8GateWay ” : ” 192.168.1.1 ” ,

              ” s8Dns ” : ” 192.168.1.1 “

         }

}

Le client est configuré avec l'adresse IP de la caméra comme 192.168.3.10, passerelle comme 192.168.3.1, et DNS comme 192.168.3.1. Les données JSON sont les suivantes:

{

         ” setNetIpParam “: {

                   ” s8IP ” : ” 192.168.3.10 ” ,

              ” s8GateWay ” : ” 192.168.3.1 ” ,

              ” s8Dns ” : ” 192.168.3.1 “

         }

}

Après une configuration réussie, la caméra ne renvoie aucune donnée, et le client doit se reconnecter à l'appareil avec la nouvelle adresse IP.

Configuration des paramètres Wi-Fi:

Le client/application récupère une liste des SSID des routeurs trouvés par l'appareil.

                  {

                            “getAPSsidList” :{ }

                  }

                  L'appareil renverra une liste de SSID: Sélectionnez un SSID d'itinéraire dans la liste auquel vous connecter.

                  Configurez le Wi-Fi de votre appareil pour qu'il fonctionne en mode STA:

         {

                  “setWifiSsidParam”:{

                           “Mode u8”: 0,

                           “s8Ss”: ” ansx8888 “,

                            “s8PassWd”: “987545598400

                  }

    }

              Configurez le Wi-Fi de l'appareil pour qu'il fonctionne en mode hotspot AP:

                  {

                            “setWifiSsidParam”:{

                                    “Mode u8”: 1

                            }

                  }

                  Obtenez l'état Wi-Fi de l'appareil:

                  {

                            “getWifiSsidParam” : { }

                  }

Synchronisation de l'heure:

Structure des données:    

                  structure typedef

                  {

                            u8 u8TimeZone;                        // Valeur du fuseau horaire RT_TIMEZONE_E

                            char s8DateTime[64];              // Format de l'heure: “2019-06-12_12:56:59_3”    

                  }JSON_DATE_TIME_INFO_S;

                  Définition de la valeur du fuseau horaire:

énumération typedef

{

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

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

RT_TIMEZONE_Hawaï = 2, /* UTC-10:00 */

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

RT_TIMEZONE_TijuanaCalifornien = 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_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_Groenland = 23, /* UTC-3:00 */

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

RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (République du Cap-Vert) */

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

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

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

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

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

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

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

RT_TIMEZONE_SarajevoSkopjeVarsovieZagreb = 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_Caire = 37, /* UTC+2:00 */

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

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

RT_TIMEZONE_Jérusalem = 40, /* UTC+2:00 */

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

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

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

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

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

RT_TIMEZONE_Téhéran = 46, /* UTC+3:30 */

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

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

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

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

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

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

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

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

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

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

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

RT_TIMEZONE_Krasnoïarsk = 58, /* UTC+7:00 */

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

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

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

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

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

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

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

RT_TIMEZONE_Séoul = 66, /* UTC+9:00 */

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

RT_TIMEZONE_Adélaïde = 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;

Obtenir les paramètres:

#définir JS_CMD_GET_DEV_DATE_TIME “GetDevDateTime”

Paramètres de réglage:

#définir JS_CMD_SET_DEV_DATE_TIME “setDevDateTime”

Obtenir les données JSON de l'heure de l'appareil :

                  {

                            ” GetDevDateTime ” : {}

                  }

L'appareil renvoie des données JSON:

                  {

                            ” GetDevDateTime ” : {

                            "u8TimeZone" : 60,

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

                            }

                  }

Les données JSON définissent l'heure de l'appareil sur jeudi, Mars 12, 2020, à 3:38:30 PM:

                  {

                            ” setDevDateTime ” : {

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

                            }

                  }

L'appareil a renvoyé TRUE une fois la configuration réussie.

Gestion des équipements:

Données JSON pour redémarrer l'appareil:

                            {

                                     ” setSysControlParam ” : {

                                               "u8Redémarrer" : 1               

                                     }

                            }

Données JSON pour restaurer les paramètres d'usine:

                            {

                                     ” setSysControlParam ” : {

                                               "u8ResetDefault" : 1              

                                     }

                            }

Formatage des données JSON de la carte SD:

                            {

                                     ” setSysControlParam ” : {

                                               "u8FormatCarte SD" : 1                              

                                     }

                            }

Contrôle PTZ:

Structure des données:

structure typedef

{

       u8 u8Cmd;                        // Code de commande PTZ_CONTROL_CODE

u8 u8Vitesse;                     // La vitesse (1-64)

u8 u8Données1;                            // Réservé; ceci sera utilisé pour les positions prédéfinies.

u8 u8Données2;                            // Réservé, ceci sera utilisé pour les commandes PTZ spéciales.

}JSON_PTZ_CONTROL_S;

énumération PTZ_CONTROL_CODE

{

              PTZ_STOP = 0, // Arrêtez

              PTZ_UP=1,          // en haut

              PTZ_BAS=2,          // vers le bas

              PTZ_LEFT=3,              // La gauche

              PTZ_RIGHT=4,           // droite

              PTZ_LEFT_UP=5, // en haut à gauche

              PTZ_LEFT_DOWN=6, // en bas à gauche

              PTZ_RIGHT_UP=7, // en haut à droite

              PTZ_RIGHT_DOWN=8, // 8 : en bas à droite

              PTZ_ZOOM_IN=9, // 9 : Zoomer

              PTZ_ZOOM_OUT=10, // 10: ZOOM ARRIÈRE=10, // 10 : ZOOM ARRIÈRE=10

              PTZ_FOCUS_NEAR=11, // 11 : Se concentrer sur près

              PTZ_FOCUS_FAR=12, // 12 : Concentrez-vous sur loin

              PTZ_IRIS_ADD=13, // 13 : Augmentation de l'ouverture

              PTZ_IRIS_REDUCE=14, // 14 : Ouverture réduite

              PTZ_GOTO_POINT = 15, // 15 : Appeler le bit prédéfini

              PTZ_CLEAR_POINT = 16, // 16 : Effacer le bit prédéfini

              PTZ_PERSET_POINT = 17, // 17 : Définir le bit prédéfini

              PTZ_AUTO_RUN = 18, // 18 : Balayage automatique horizontal

};

Contrôle PTZ:

#définir JS_CMD_PTZ_CONTROL “PtzControlCmd”

Commandes JSON contrôlées par Ptz:

  • Descendre à une vitesse de 30:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 2,

         ” u8Vitesse ” : 30

                  }

}

  • 1. Définir la position prédéfinie 2:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 17,

         « u8Speed » : 30,   

         « u8Données1 » : 2

                  }

}

Recherche de fichiers de carte TF:

( 1) Commande pour rechercher tous les fichiers vidéo dans une période de temps spécifique le même jour:

{

                  “rechercheRecordFileList”:{

                            “u32Année”:2020, // année

                            “u8Mois”:7,                             // Mois

                            “u8Jour”:14,                       // Jour

                            “u8HeureDébut”:0,              // Heure de début en heures

                            “u8DébutMinute”:0,                   // Heure de début en minutes

                            “u8FinHeure”:23,             // Heure de fin en heures

                            “u8FinMinute”:59,                  // Heure de fin en minutes

                            “u8EncChn”:0,                           // 0 est la valeur par défaut.

                            “u8RecordTye”:0, // Type de fichier: 0: Tous les fichiers, 1: Enregistrement programmé; 2: Enregistrement d'alarme; 3: Images;

                            “u32DébutIdx”:0,               // Le numéro de séquence du fichier de départ

                            “u32Nombre attendu”: 10                 // Nombre de fichiers renvoyés par la requête, actuellement, la valeur maximale est 32.

                  }

}

Données renvoyées par l'appareil:

{

“rechercheRecordFileList”: {

“u32RecordFileTotalCount”: 7,                // Nombre total de fichiers recherchés au cours de cette période

“stRecordFileList”: [        // Nom de fichier avec chemin, taille du fichier]

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

]

}

}

Capturer manuellement une image JPG:

              Envoyez la commande suivante à l'appareil.

              {

                            “ManuelSnapJpg”:{

                            }

                  }

Retourné avec succès:

                  {

                  “ManuelSnapJpg”: vrai

                   }

Le contrôle PWM ajuste la luminosité des LED:

Obtenez la valeur PWM actuelle:

{

“getPwmParam”:{

          “u32PwmChn”: 0

}

}

Retourné avec succès:

{

“getPwmParam”:{

          “u32PwmChn”:0,

          “u8Activer”:1,

          “u8DutyValeur”:20

}

}

  • Définir la valeur PWM:

{

“setPwmParam”:{

          “u32PwmChn”: 0,

          “u8Activer”: 1,

          “u8DutyValeur”: 60

}

}

Retourné avec succès:

{

“setPwmParam”:vrai

}

Remarque : u32PwmChn est par défaut 0 et ne doit pas être modifié arbitrairement. u8Enable a une valeur de 0/1, où 0 désactive la sortie PWM et 1 active la sortie PWM. u8DutyValue a une plage de valeurs de 0-100.

17. Acquisition/réglage de texte OSD:

(1)   Obtenir le canal vidéo spécifié, Paramètres de texte OSD:

{“getVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TexteIdx”:1

}}

Retourné avec succès:

{

“getVideoOsdTextInfo”:{

          “u8IspChn”:0, // Chaîne vidéo 0, remplir 0 pour une caméra

          “u8TexteIdx”:1, // Le numéro de la zone de texte OSD, prise en charge de plusieurs zones de texte.

          “u8Activer”:0, // Activer, 0: ne pas afficher; 1: affichage

          “u16XRatioBase50000”:40000, // Coordonnées relatives de la position horizontale, avec une valeur maximale de 50000.

          “u16 ansRatioBase50000”:1600, // Coordonnées relatives de la position verticale, avec une valeur maximale de 50000.

          “u8FgTransparence”:10, // Transparence au premier plan [0-255]

          “u8BgTransparence”:255, // Valeur de transparence de l'arrière-plan [0-255]

          “u8TailleType”:1, // Taille du texte, plage de valeurs [0-3]

          “u32TextColor_BGRA8888”:4294967295, // Couleur du texte, valeur ARGB888

          “aszTexte”:”” // La zone de texte affiche la chaîne de contenu

}

}

(2)   Définir le canal vidéo spécifié, Paramètres de texte OSD:

{

“setVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TexteIdx”:1,

          “u8Activer”:1,

          “u16XRatioBase50000”:40000,

          “u16 ansRatioBase50000”:1600,

          “u8FgTransparence”:10,

          “u8BgTransparence”:255,

          “u8TailleType”:1,

          “u32TextColor_BGRA8888”:4294967295,

          “aszTexte”:”tester 11111222233334444″

}

}

Retourné avec succès:

{

“setVideoOsdTextInfo”:vrai

}

Fourchette: $118.00 à travers $178.00
Le prix d'origine était: $199.00.Le prix actuel est: $130.00.
Fourchette: $118.00 à travers $178.00

Poser une question

← Retour

Merci pour votre réponse. ✨