Video Encoder Board TCP JSON Protocol RTSP API Guide

RTSP real-time na audio at video stream address:

  • Format: rtsp://ip:numero ng port/stream
  • Default na port: 554
  • Stream id: 0 (pangunahing batis), 1 (pangalawang batis)
  • Halimbawa, upang kunin ang substream mula sa address ng device 192.168.1.188, ang URL ay:
  • rtsp://192.168.1.1 8 8 :554 / 1

Ang kliyente (mobile app) nakakakuha at nagtatakda ng mga parameter ng camera sa pamamagitan ng TCP protocol;

Ang camera ay gumaganap bilang isang TCP server, na ang default na TCP port ay 8866.

Format ng data ng komunikasyon ng TCP:

purong JSON string

Kunin ang katayuan ng camera:

Istraktura ng data:

              typedef struct

              {

                     char s8DevId[64]; // Device ID, default sa IP kung walang nakatakdang ID.

                     u32 u32TfRecord; // Pagre-record ng katayuan ng TF card, 0: walang recording; 1: kasalukuyang nagre-record

              }JSON_DEV_STATUS_INFO_S;

Mga character ng command:

              #tukuyin ang JS_CMD _ GET_DEV_STATUS “GetDevStatus”

Ipagpalagay na ang IP address ng device ay 192.168.1.188, ipinapadala ng kliyente ang sumusunod na data ng JSON:

{

         ” GetDevStatus “: {       }

}

Matapos matagumpay na natanggap ng camera ang data, ibinalik nito ang sumusunod na data ng JSON:

{

         ” GetDevStatus “: {

         ” s8DevId ” : ” 192.168.1.188 ” ,

         “ u32TfRecord ” : 0

         }

}

Video encoding parameter acquisition/setting:

Istraktura ng data:

              typedef struct

              {

u8 u8VideoEncChn;        //0 : pangunahing batis; 1: pangalawang batis;

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

u16 u16Lapad ng Video;              // Lapad ng video

u16 u16Taas ng Video;       // Taas ng video

u16 u8FrameRate;           // Rate ng frame (1-30)

u16 u8IframeInterval;      // Ako- laki ng pagitan ng frame (1-100)

u8 u8BitrateControlMode; //Bitrate control mode: 0: CBR 1: VBR

u16 u16BitRateKps;         // Laki ng bitrate

char s8VideoSizeName[256]; // Listahan ng mga suportadong resolusyon }JSON_VIDEO_ENC_PARAM_S;

Mga character ng command:

              Kumuha ng mga parameter:

              #tukuyin ang JS_CMD_GET_VIDEO_ENC_PARAM “getVideoEncParam”

              Pagtatakda ng mga parameter:

              #tukuyin ang JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”

Halimbawa:

Kinukuha ng kliyente ang sumusunod na data ng JSON na naglalaman ng mga parameter ng pag-encode ng pangunahing bitstream ng camera:

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0

         }

}

Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0,

         “ u8VideoCodecType ” : 1,

         “ u16VideoWidth ” : 3840,

       ” u16VideoHeight ” : 1080,

       “ u8FrameRate ” : 30,

         ” u8IframeInterval ” : 60,

         ” u8BitrateControlMode ” : 0,

         “ u16BitRateKps ” : 4096,

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

         }

}

Itatakda ng kliyente ang pangalawang stream frame rate ng camera sa 15 at ang bitrate sa 1024K sa JSON na format, gaya ng mga sumusunod:

{

         ” setVideoEncParam “: {

         ” u8VideoEncChn “: 1,

         ” u8FrameRate “: 15,

         ” u16BitRateKps “: 1024

         }

}

Pagkatapos ng matagumpay na pag-setup, ang camera ay nagbabalik ng TOTOO.

Audio encoding parameter acquisition/setting:

Istraktura ng data:

              typedef struct

              {

       u8 u8Paganahin;             //0: Huwag paganahin ang; 1: Paganahin ang;

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

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

       u8 u8AoutVolume; // Laki ng volume: [0–100]                    }JSON_VIDEO_ENC_PARAM_S;

Mga character ng command:

              Kumuha ng mga parameter:

              #tukuyin ang JS_CMD_GET_AUDIO_PARAM “getAudioParam”

              Pagtatakda ng mga parameter:

              #tukuyin ang JS_CMD_SET_AUDIO_PARAM “setAudioParam”

Halimbawa:

Kinukuha ng kliyente ang sumusunod na data ng JSON ng mga parameter ng audio encoding ng camera:

{

         ” getAudioParam “: { }

}

Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;

{

         ” getAudioParam “: {

         ” u8Paganahin “: 1,

         “ u32ChnNum ” : 1,

         “ u8EncodeType ” : 8,

       “ u32SampleRate ” : 8000,

       “ u8AoutVolume ” : 80,

                  }

}

Ang mga setting ng client-side para sa camera audio encoding ay AAC, stereo, at isang sampling rate na 48kHz. Ang data ng JSON ay ang mga sumusunod:

{

         ” setAudioParam “: {

         “ u32ChnNum ” : 2,

         “ u8EncodeType ” : 6,

       “ u32SampleRate ” : 48000

                  }

}

Pagkatapos ng matagumpay na pag-setup, ang camera ay nagbabalik ng TOTOO.

Pagkuha/setting ng parameter ng larawan ng video:

Istraktura ng data:

typedef struct

{

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

u8 u8Liwanag;              // Kaliwanagan: [0~ 100]

u8 u8Contrast;                 // Kaibahan ng ratio: [0~ 100]

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

u8 u8Saturation;              // Antas ng saturation: [0~ 100]

u8 u8Talas;                     // Matalim na pag-aaral: [0~ 100]

}JSON_IMAGE_PARAM_S;

Mga character ng command:

              Kumuha ng mga parameter:

              #tukuyin ang JS_CMD_GET_IMAGE_PARAM “getImageParam”

              Pagtatakda ng mga parameter:

              #tukuyin ang JS_CMD_SET_IMAGE_PARAM “setImageParam”

Halimbawa:

Kinukuha ng kliyente ang sumusunod na data ng JSON ng mga parameter ng larawan para sa channel 0 ng ISP ng camera:

{

         ” getImageParam “: {

                   “ u8VideoIspChn ” : 0

         }

}

Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;

{

         ” getImageParam “: {

         ” u8VideoIspChn “: 0,

         “u8Brightness” : 50,

         “u8Contrast” : 50,

       “u8Hue” : 50,

       “u8Saturation” : 50,

         “u8Sharpness” : 50

                  }

}

Ang setting ng data ng JSON sa panig ng kliyente para sa liwanag ng camera ay 53, ang kaibahan ay 60, at ang saturation ay 56 ay ang mga sumusunod:

{

         ” setImageParam “: {

         “ u8VideoIspChn ” : 0,

         “u8Brightness” : 53,

       “u8Contrast” : 60,

       “u8Saturation” : 56

                  }

}

Pagkatapos ng matagumpay na pag-setup, ang camera ay nagbabalik ng TOTOO.

Pagkuha ng impormasyon ng TF card;

Istraktura ng data:

typedef struct

{

      u32 u32Kabuuang Sukat;             // Kabuuang laki sa MB

      u32 u32UsedSize;             // Ginagamit na yunit ng kapasidad (MB)

      u32 u32AvailableSize;             // Magagamit na kapasidad sa MB

}JSON_SD_CARD_INFO_S;

Kumuha ng mga parameter:

#tukuyin ang JS_CMD_GET_SD_CARD_INFO “getSdCardInfo”

Halimbawa:

Kinukuha ng kliyente ang sumusunod na data ng JSON tungkol sa impormasyon ng TF card ng camera:

{

         ” getSdCardInfo “: { }

}

Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;

{

         ” getSdCardInfo “: {

         ” u32Kabuuang Sukat “: 31254,

         “u32UsedSize” : 20000,

         ” u32AvailableSize ” : 11254

                  }

}

Configuration ng pag-record ng TF card:

Istraktura ng data:

typedef struct

{

       u8 u8AutoRecordEnable;        //1: Paganahin ang pagre-record; 0: Huwag paganahin ang pagre-record

      u8 u8RecordStrChn;                // Pagre-record ng pagpili ng stream: 0: pangunahing stream; 1: pangalawang batis

   u8 u8PreRecordSeconds;               // Oras ng pre-recording [0-10] sa mga segundo

   u16 u16RecordSecondsPerFile; // Tagal ng iisang recording file [10-1000] segundo

}JSON_RECORD_CONTROL_PARAM_S;

Kumuha ng mga parameter:

#tukuyin ang JS_CMD_GET_RECORD_CONTROL_PARAM “getRecordControlParam”

Pagtatakda ng mga parameter:

#tukuyin ang JS_CMD_SET_RECORD_CONTROL_PARAM “setRecordControlParam”

Halimbawa:

Kinukuha ng kliyente ang sumusunod na data ng JSON tungkol sa configuration ng recording ng TF card ng camera:

{

         ” getRecordControlParam “: { }

}

Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;

{

         ” getRecordControlParam “: {

                   ” u8AutoRecordEnable “: 1,

                   “ u8RecordStrChn ” : 0,

                   ” u8PrecordSeconds ” : 0,

              ” u16RecordSecondsPerFile ” : 300

                  }

}

Wired network IP configuration:

Istraktura ng data:

typedef struct

{                                               

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

char s8IP[16];                          //IP address

char s8SubMask[16];              // Subnet mask

char s8GateWay[16];              // Gateway IP

char s8Dns[16];                //DNS address

}JSON_NET_PARAM_S;

Kumuha ng mga parameter:

#tukuyin ang JS_CMD_GET_NET_IP_PARAM “getNetIpParam”

Pagtatakda ng mga parameter:

#tukuyin ang JS_CMD_SET_NET_IP_PARAM “setNetIpParam”

Halimbawa:

Kinukuha ng kliyente ang impormasyon ng IP ng camera gamit ang data ng JSON tulad ng sumusunod:

{

         ” getNetIpParam “: { }

}

Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;

{

         ” getNetIpParam “: {

                   ” u8DhcpEnable “: 0,

                   ” s8IP ” : ” 192.168.1.188 ” ,

                   ” s8SubMask ” : ” 255.255.255.0 ” ,

              ” s8GateWay ” : ” 192.168.1.1 ” ,

              ” s8Dns ” : ” 192.168.1.1 “

         }

}

Ang kliyente ay na-configure gamit ang IP address ng camera bilang 192.168.3.10, gateway bilang 192.168.3.1, at DNS bilang 192.168.3.1. Ang data ng JSON ay ang mga sumusunod:

{

         ” setNetIpParam “: {

                   ” s8IP ” : ” 192.168.3.10 ” ,

              ” s8GateWay ” : ” 192.168.3.1 ” ,

              ” s8Dns ” : ” 192.168.3.1 “

         }

}

Pagkatapos ng matagumpay na pag-setup, ang camera ay hindi nagbabalik ng anumang data, at kailangang muling kumonekta ang kliyente sa device gamit ang bagong IP address.

Pag-configure ng parameter ng WiFi:

Kinukuha ng kliyente/app ang isang listahan ng mga SSID ng mga router na natagpuan ng device.

                  {

                            “getAPSsidList” :{ }

                  }

                  Magbabalik ang device ng listahan ng mga SSID: Pumili ng ruta SSID mula sa listahan kung saan ikokonekta.

                  I-configure ang Wi-Fi ng iyong device upang gumana sa STA mode:

         {

                  “setWifiSsidParam”:{

                           “u8Mode”: 0,

                           “s8Ss”: ” yrsx8888 “,

                            “s8PassWd”: “987545598400

                  }

    }

              I-configure ang Wi-Fi ng device para gumana sa hotspot AP mode:

                  {

                            “setWifiSsidParam”:{

                                    “u8Mode”: 1

                            }

                  }

                  Kunin ang status ng Wi-Fi ng device:

                  {

                            “getWifiSsidParam” : { }

                  }

Pag-synchronize ng oras:

Istraktura ng data:    

                  typedef struct

                  {

                            u8 u8TimeZone;                        // Halaga ng time zone RT_TIMEZONE_E

                            char s8DateTime[64];              // Format ng oras: “2019-06-12_12:56:59_3”    

                  }JSON_DATE_TIME_INFO_S;

                  Kahulugan ng halaga ng time zone:

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 (Republika ng Cape Verde) */

RT_TIMEZONE_Azores = 26, /* UTC-1:00 (Azores) */

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

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

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

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

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

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

RT_TIMEZONE_SarajevoSkopjeWarsawZagreb = 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_AthensBucharestIstanbul = 39, /* UTC+2:00 */

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

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

RT_TIMEZONE_Tbilisi = 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_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_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_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;

Kumuha ng mga parameter:

#tukuyin ang JS_CMD_GET_DEV_DATE_TIME “GetDevDateTime”

Pagtatakda ng mga parameter:

#tukuyin ang JS_CMD_SET_DEV_DATE_TIME “setDevDateTime”

Kunin ang data ng JSON sa oras ng device :

                  {

                            ” GetDevDateTime ” : {}

                  }

Ibinabalik ng device ang data ng JSON:

                  {

                            ” GetDevDateTime ” : {

                            “u8TimeZone” : 60,

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

                            }

                  }

Itinatakda ng data ng JSON ang oras ng device sa Huwebes, Marso 12, 2020, sa 3:38:30 PM:

                  {

                            ” setDevDateTime ” : {

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

                            }

                  }

Ibinalik ng device ang TRUE sa matagumpay na pag-setup.

Pamamahala ng Kagamitan:

JSON data para sa pag-restart ng device:

                            {

                                     ” setSysControlParam ” : {

                                               “u8Restart” : 1               

                                     }

                            }

JSON data para sa pagpapanumbalik ng mga factory setting:

                            {

                                     ” setSysControlParam ” : {

                                               “u8ResetDefault” : 1              

                                     }

                            }

Pag-format ng data ng JSON ng SD card:

                            {

                                     ” setSysControlParam ” : {

                                               “u8FormatSdCard” : 1                              

                                     }

                            }

Kontrol ng PTZ:

Istraktura ng data:

typedef struct

{

       u8 u8Cmd;                        // Command code na PTZ_CONTROL_CODE

u8 u8Bilis;                     // Bilis (1-64)

u8 u8Data1;                            // Nakalaan; ito ay gagamitin para sa mga preset na posisyon.

u8 u8Data2;                            // Nakalaan, ito ay gagamitin para sa mga espesyal na utos ng PTZ.

}JSON_PTZ_CONTROL_S;

enum PTZ_CONTROL_CODE

{

              PTZ_STOP = 0, // Tigilan mo na

              PTZ_UP=1,          // Up

              PTZ_DOWN=2,          // down

              PTZ_LEFT=3,              // Kaliwa

              PTZ_RIGHT=4,           // kanan

              PTZ_LEFT_UP=5, // kaliwang itaas

              PTZ_LEFT_DOWN=6, // Kaliwa sa ibaba

              PTZ_RIGHT_UP=7, // kanang itaas

              PTZ_RIGHT_DOWN=8, // 8 : kanang ibaba

              PTZ_ZOOM_IN=9, // 9 : Mag-zoom in

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

              PTZ_FOCUS_NEAR=11, // 11 : Nakatuon sa malapit

              PTZ_FOCUS_FAR=12, // 12 : Focus sa malayo

              PTZ_IRIS_ADD=13, // 13 : Pagtaas ng aperture

              PTZ_IRIS_REDUCE=14, // 14 : Nabawasan ang aperture

              PTZ_GOTO_POINT = 15, // 15 : Tumawag ng preset bit

              PTZ_CLEAR_POINT = 16, // 16 : I-clear ang preset bit

              PTZ_PERSET_POINT = 17, // 17 : Itakda ang preset bit

              PTZ_AUTO_RUN = 18, // 18 : Pahalang na auto-scan

};

Kontrol ng PTZ:

#tukuyin ang JS_CMD_PTZ_CONTROL “PtzControlCmd”

Ang mga utos ng JSON na kinokontrol ng Ptz:

  • Paglipat pababa sa bilis ng 30:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 2,

         ” u8Bilis ” : 30

                  }

}

  • 1. Itakda ang preset na posisyon 2:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 17,

         “u8Speed” : 30,   

         “u8Data1” : 2

                  }

}

Paghahanap ng file ng TF card:

( 1) Utos na hanapin ang lahat ng mga video file sa loob ng isang partikular na yugto ng panahon sa parehong araw:

{

                  “searchRecordFileList”:{

                            “u32Taon”:2020, // taon

                            “u8Buwan”:7,                             // Buwan

                            “u8Day”:14,                       // Araw araw

                            “u8StartHour”:0,              // Oras ng pagsisimula sa mga oras

                            “u8StartMinute”:0,                   // Oras ng pagsisimula sa ilang minuto

                            “u8EndHour”:23,             // Oras ng pagtatapos sa mga oras

                            “u8EndMinute”:59,                  // Oras ng pagtatapos sa ilang minuto

                            “u8EncChn”:0,                           // 0 ay ang default na halaga.

                            “u8RecordTye”:0, // Uri ng file: 0: Lahat ng mga file, 1: Nakaiskedyul na recording; 2: Pag-record ng alarm; 3: Mga imahe;

                            “u32StartIdx”:0,               // Ang sequence number ng panimulang file

                            “u32ExpectedCount”: 10                 // Bilang ng mga file na ibinalik ng kahilingan, sa kasalukuyan ang pinakamataas na halaga ay 32.

                  }

}

Ang data na ibinalik ng device:

{

“searchRecordFileList”: {

“u32RecordFileTotalCount”: 7,                // Kabuuang bilang ng mga file na hinanap sa loob ng panahong ito

“stRecordFileList”: [        // Filename na may path, laki ng 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

]

}

}

Manu-manong kumuha ng JPG na imahe:

              Ipadala ang sumusunod na command sa device.

              {

                            “ManualSnapJpg”:{

                            }

                  }

Matagumpay na nakabalik:

                  {

                  “ManualSnapJpg”: totoo

                   }

Inaayos ng kontrol ng PWM ang liwanag ng LED:

Kunin ang kasalukuyang halaga ng PWM:

{

“getPwmParam”:{

          “u32PwmChn”: 0

}

}

Matagumpay na nakabalik:

{

“getPwmParam”:{

          “u32PwmChn”:0,

          “u8Paganahin”:1,

          “u8DutyValue”:20

}

}

  • Itakda ang halaga ng PWM:

{

“setPwmParam”:{

          “u32PwmChn”: 0,

          “u8Paganahin”: 1,

          “u8DutyValue”: 60

}

}

Matagumpay na nakabalik:

{

“setPwmParam”:totoo

}

Tala : Nagde-default ang u32PwmChn sa 0 at hindi dapat baguhin nang basta-basta. Ang u8Enable ay may halaga na 0/1, kung saan 0 hindi pinapagana ang output ng PWM at 1 nagbibigay-daan sa output ng PWM. Ang u8DutyValue ay may hanay ng halaga ng 0-100.

17. OSD Text Acquisition/Setting:

(1)   Kunin ang tinukoy na channel ng video, Mga parameter ng teksto ng OSD:

{“getVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1

}}

Matagumpay na nakabalik:

{

“getVideoOsdTextInfo”:{

          “u8IspChn”:0, // Channel ng video 0, punan 0 para sa isang camera

          “u8TextIdx”:1, // Ang numero ng OSD text box, sumusuporta sa maramihang mga text box.

          “u8Paganahin”:0, // Paganahin ang, 0: huwag ipakita; 1: displey

          “u16XRatioBase50000”:40000, // Mga kamag-anak na coordinate ng pahalang na posisyon, na may pinakamataas na halaga ng 50000.

          “u16YRatioBase50000”:1600, // Mga kamag-anak na coordinate ng patayong posisyon, na may pinakamataas na halaga ng 50000.

          “u8FgTransparency”:10, // Transparency sa harapan [0-255]

          “u8BgTransparency”:255, // Halaga ng transparency sa background [0-255]

          “u8SizeType”:1, // Laki ng text, saklaw ng halaga [0-3]

          “u32TextColor_BGRA8888”:4294967295, // Kulay ng teksto ARGB888 halaga

          “aszText”:”” // Ipinapakita ng text box ang string ng nilalaman

}

}

(2)   Itakda ang tinukoy na channel ng video, Mga parameter ng teksto ng OSD:

{

“setVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1,

          “u8Paganahin”:1,

          “u16XRatioBase50000”:40000,

          “u16YRatioBase50000”:1600,

          “u8FgTransparency”:10,

          “u8BgTransparency”:255,

          “u8SizeType”:1,

          “u32TextColor_BGRA8888”:4294967295,

          “aszText”:”pagsubok 11111222233334444″

}

}

Matagumpay na nakabalik:

{

“setVideoOsdTextInfo”:totoo

}

Saklaw ng presyo: $118.00 sa pamamagitan ng $178.00
Saklaw ng presyo: $98.00 sa pamamagitan ng $158.00
Orihinal na presyo ay: $199.00.Ang kasalukuyang presyo ay: $130.00.
Saklaw ng presyo: $118.00 sa pamamagitan ng $178.00

Magtanong ng isang katanungan

← Bumalik

Ipinadala ang iyong mensahe