ဗီဒီယို ကုဒ်ပြောင်းဘုတ် TCP JSON ပရိုတိုကော RTSP API လမ်းညွှန်

မာတိကာ

RTSP အချိန်နှင့်တစ်ပြေးညီ အသံနှင့် ဗီဒီယိုစီးကြောင်းလိပ်စာ:

  • format: rtsp://ip:ဆိပ်ကမ်း/စီးကြောင်း နံပါတ်
  • ပုံသေ ဆိပ်ကမ်း: 554
  • ထုတ်လွှင့်မှု ID: 0 (ပင်မစီးကြောင်း), 1 (အလယ်တန်းစီးကြောင်း)
  • ဥပမာ, စက်ပစ္စည်းလိပ်စာမှ substream ကိုပြန်လည်ရယူရန် 192.168.1.188, URL သည်:
  • rtsp://192.168.1.1 8 8 :554 / 1

အမှုသည် (မိုဘိုင်းအက်ပ်) TCP ပရိုတိုကောမှတဆင့် ကင်မရာဘောင်များကို ရယူပြီး သတ်မှတ်ပေးသည်။;

ကင်မရာသည် TCP ဆာဗာအဖြစ် လုပ်ဆောင်သည်။, ပုံသေ TCP port ဖြစ်ခြင်း။ 8866.

TCP ဆက်သွယ်ရေးဒေတာဖော်မတ်:

JSON ကြိုးစင်

ကင်မရာ အခြေအနေကို ရယူပါ။:

ဒေတာဖွဲ့စည်းပုံ:

              typedef struct

              {

                     char s8DevId[64]; // စက် ID, ID မသတ်မှတ်ထားပါက IP ကို ​​ပုံသေသတ်မှတ်သည်။.

                     u32 u32TfRecord; // TF ကတ်၏ အခြေအနေကို မှတ်တမ်းတင်ခြင်း။, 0: မှတ်တမ်းတင်ခြင်းမရှိပါ။; 1: ရိုက်ကူးနေဆဲဖြစ်သည်။

              }JSON_DEV_STATUS_INFO_S;

Command အက္ခရာများ:

              #JS_CMD _ GET_DEV_STATUS ကို သတ်မှတ်ပါ။ “GetDevStatus”

စက်၏ IP လိပ်စာဟု ယူဆပါသည်။ 192.168.1.188, client သည် အောက်ပါ JSON ဒေတာကို ပေးပို့သည်။:

{

         ” GetDevStatus “: {       }

}

ကင်မရာက ဒေတာကို အောင်မြင်စွာ လက်ခံရရှိပြီးနောက်, ၎င်းသည် အောက်ပါ JSON ဒေတာကို ပြန်ပေးသည်။:

{

         ” GetDevStatus “: {

         ” s8DevId ” : ” 192.168.1.188 ” ,

         “u32TfRecord” : 0

         }

}

ဗီဒီယို ကုဒ်နံပါတ် ကန့်သတ်ချက် ရယူခြင်း/ဆက်တင်:

ဒေတာဖွဲ့စည်းပုံ:

              typedef struct

              {

u8 u8VideoEncChn;        //0 : ပင်မစီးကြောင်း; 1: အလယ်တန်းစီးကြောင်း;

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

u16 u16 ဗီဒီယို အကျယ်;              // ဗီဒီယို အကျယ်

u16 u16 ဗီဒီယိုအမြင့်;       // ဗီဒီယို အမြင့်

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

u16 u8IframeInterval;      // ငါ- frame ကြားကာလ အရွယ်အစား (1-100)

u8 u8BitrateControlMode; //ဘစ်နှုန်းထိန်းချုပ်မှုမုဒ်: 0: CBR 1: VBR

u16 u16BitRateKps;         // Bitrate အရွယ်အစား

char s8VideoSizeName[256]; // ပံ့ပိုးထားသော ဆုံးဖြတ်ချက်များစာရင်း }JSON_VIDEO_ENC_PARAM_S;

Command အက္ခရာများ:

              ဘောင်များကို ရယူပါ။:

              #JS_CMD_GET_VIDEO_ENC_PARAM ကို သတ်မှတ်ပါ။ “getVideoEncParam”

              သတ်မှတ်ချက်များ:

              #JS_CMD_SET_VIDEO_ENC_PARAM ကို သတ်မှတ်ပါ။ “သတ်မှတ်VideoEncParam”

ဥပမာ:

ကင်မရာ၏ ပင်မဘစ်စီးကြောင်း၏ ကုဒ်သွင်းခြင်းဆိုင်ရာ ကန့်သတ်ဘောင်များပါရှိသော အောက်ပါ JSON ဒေတာကို သုံးစွဲသူမှ ထုတ်ယူသည်:

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0

         }

}

ကင်မရာမှပြန်ပေးသော JSON ဒေတာမှာ အောက်ပါအတိုင်းဖြစ်သည်။;

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0,

         “u8VideoCodec အမျိုးအစား” : 1,

         “u16 ဗီဒီယို အကျယ်” : 3840,

       ” u16ဗီဒီယိုအမြင့် ” : 1080,

       “u8FrameRate” : 30,

         ” u8Iframe ကြားကာလ ” : 60,

         ” u8BitrateControlMode ” : 0,

         “u16BitRateKps” : 4096,

       ” s8ဗီဒီယိုအရွယ်အစားအမည် ” : ” 3840×1080,1920×540 “

         }

}

ကလိုင်းယင့်သည် ကင်မရာ၏ ဒုတိယထုတ်လွှင့်မှုဘောင်နှုန်းကို သတ်မှတ်သည်။ 15 နှင့် JSON ဖော်မတ်တွင် 1024K သို့ ဘစ်နှုန်း, ဖော်ပြပါအတိုင်း:

{

         ” သတ်မှတ်VideoEncParam “: {

         ” u8VideoEncChn “: 1,

         ” u8FrameRate “: 15,

         ” u16BitRateKps “: 1024

         }

}

စနစ်ထည့်သွင်းမှု အောင်မြင်ပြီးနောက်, ကင်မရာသည် TRUE ပြန်လာသည်။.

အသံ ကုဒ်ပြောင်းခြင်း ကန့်သတ်ချက် ရယူခြင်း/ဆက်တင်:

ဒေတာဖွဲ့စည်းပုံ:

              typedef struct

              {

       u8 u8Enable;             //0: ပိတ်ထား; 1: စွမ်းဆောင်နိုင်စေ;

       u32 u32ChnNum; // 1 : မိုနို; 2: စတီရီယို

   u8 u8EncodeType; //6 : AAC; 8: G711A; 9: G711U;                        u32 u32SampleRate; // နမူနာနှုန်း: 8000, 16000, 24000, 32000, 48000

       u8 u8AoutVolume; // ထုထည်အရွယ်အစား: [0–100]                    }JSON_VIDEO_ENC_PARAM_S;

Command အက္ခရာများ:

              ဘောင်များကို ရယူပါ။:

              #JS_CMD_GET_AUDIO_PARAM ကို သတ်မှတ်ပါ။ “getAudioParam”

              သတ်မှတ်ချက်များ:

              #JS_CMD_SET_AUDIO_PARAM ကို သတ်မှတ်ပါ။ “setAudioParam”

ဥပမာ:

ဖောက်သည်သည် ကင်မရာအသံကုဒ်သွင်းခြင်းဆိုင်ရာ ကန့်သတ်ချက်များ၏ အောက်ပါ JSON ဒေတာကို ထုတ်ယူသည်။:

{

         ” getAudioParam “: { }

}

ကင်မရာမှပြန်ပေးသော JSON ဒေတာမှာ အောက်ပါအတိုင်းဖြစ်သည်။;

{

         ” getAudioParam “: {

         ” u8 ကိုဖွင့်ပါ။ “: 1,

         “u32ChnNum” : 1,

         “u8 ကုဒ်အမျိုးအစား” : 8,

       “u32 နမူနာနှုန်း” : 8000,

       “u8AoutVolume” : 80,

                  }

}

ကင်မရာအသံကုဒ်ပြောင်းခြင်းအတွက် client-side ဆက်တင်များသည် AAC ဖြစ်သည်။, စတီရီယို, နှင့် နမူနာနှုန်း 48kHz. JSON ဒေတာမှာ အောက်ပါအတိုင်းဖြစ်သည်။:

{

         ” setAudioParam “: {

         “u32ChnNum” : 2,

         “u8 ကုဒ်အမျိုးအစား” : 6,

       “u32 နမူနာနှုန်း” : 48000

                  }

}

စနစ်ထည့်သွင်းမှု အောင်မြင်ပြီးနောက်, ကင်မရာသည် TRUE ပြန်လာသည်။.

ဗီဒီယို ရုပ်ပုံ ကန့်သတ်ချက် ရယူခြင်း/ဆက်တင်:

ဒေတာဖွဲ့စည်းပုံ:

typedef struct

{

u8 u8VideoIspChn;           //ISP ချန်နယ်; [0-4]

u8 u8တောက်ပမှု;              // brightness: [0~ 100]

u8 u8 ဆန့်ကျင်ဘက်;                 // contrast ratio ကို: [0~ 100]

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

u8 u8Saturation;              // ရွှဲအဆင့်: [0~ 100]

u8 u8 ပြတ်သားမှု;                     // ပြတ်သားမှု: [0~ 100]

}JSON_IMAGE_PARAM_S;

Command အက္ခရာများ:

              ဘောင်များကို ရယူပါ။:

              #JS_CMD_GET_IMAGE_PARAM ကို သတ်မှတ်ပါ။ “getImageParam”

              သတ်မှတ်ချက်များ:

              #JS_CMD_SET_IMAGE_PARAM ကို သတ်မှတ်ပါ။ “setImageParam”

ဥပမာ:

client သည် ချန်နယ်အတွက် ပုံပါရာမီတာများ၏ အောက်ပါ JSON ဒေတာကို ထုတ်ယူသည်။ 0 ကင်မရာ၏ ISP ၏:

{

         ” getImageParam “: {

                   “u8VideoIspChn” : 0

         }

}

ကင်မရာမှပြန်ပေးသော JSON ဒေတာမှာ အောက်ပါအတိုင်းဖြစ်သည်။;

{

         ” getImageParam “: {

         ” u8VideoIspChn “: 0,

         "u8 တောက်ပမှု" : 50,

         “u8 ဆန့်ကျင်ဘက်” : 50,

       “u8Hue” : 50,

       “u8Saturation” : 50,

         "u8 ထက်မြက်မှု" : 50

                  }

}

ကင်မရာ၏တောက်ပမှုအတွက် client-side JSON ဒေတာဆက်တင်သည် 53, ဆန့်ကျင်ဘက်ဖြစ်ပါ သည်။ 60, နှင့် saturation 56 အောက်ပါအတိုင်းဖြစ်သည်:

{

         ” setImageParam “: {

         “u8VideoIspChn” : 0,

         "u8 တောက်ပမှု" : 53,

       “u8 ဆန့်ကျင်ဘက်” : 60,

       “u8Saturation” : 56

                  }

}

စနစ်ထည့်သွင်းမှု အောင်မြင်ပြီးနောက်, ကင်မရာသည် TRUE ပြန်လာသည်။.

TF ကတ် အချက်အလက် ထုတ်ယူခြင်း။;

ဒေတာဖွဲ့စည်းပုံ:

typedef struct

{

      u32 u32 စုစုပေါင်းအရွယ်အစား;             // စုစုပေါင်းအရွယ်အစား MB

      u32 u32UsedSize;             // အသုံးပြုထားသော စွမ်းရည်ယူနစ် (ကို MB)

      u32 u32AvailableSize;             // MB ဖြင့် ရရှိနိုင်သော ပမာဏ

}JSON_SD_CARD_INFO_S;

ဘောင်များကို ရယူပါ။:

#JS_CMD_GET_SD_CARD_INFO ကို သတ်မှတ်ပါ။ “getSdCardInfo”

ဥပမာ:

ကလိုင်းယင့်သည် ကင်မရာ၏ TF ကတ်အချက်အလက်နှင့်ပတ်သက်သည့် အောက်ပါ JSON ဒေတာကို ထုတ်ယူသည်။:

{

         ” getSdCardInfo “: { }

}

ကင်မရာမှပြန်ပေးသော JSON ဒေတာမှာ အောက်ပါအတိုင်းဖြစ်သည်။;

{

         ” getSdCardInfo “: {

         ” u32 စုစုပေါင်းအရွယ်အစား “: 31254,

         “u32UsedSize” : 20000,

         ” u32 ရရှိနိုင်သောအရွယ်အစား ” : 11254

                  }

}

TF ကတ် အသံသွင်းစနစ်:

ဒေတာဖွဲ့စည်းပုံ:

typedef struct

{

       u8 u8AutoRecordEnable;        //1: အသံသွင်းခြင်းကို ဖွင့်ပါ။; 0: အသံသွင်းခြင်းကို ပိတ်ပါ။

      u8 u8RecordStrChn;                // ထုတ်လွှင့်မှုရွေးချယ်မှုကို မှတ်တမ်းတင်ခြင်း။: 0: မူလစီးကြောင်း; 1: အလယ်တန်းစီးကြောင်း

   u8 u8Pre RecordSeconds;               // ကြိုတင်ရိုက်ကူးချိန် [0-10] စက္ကန့်ပိုင်းအတွင်း

   u16 u16RecordSecondsPerFile; // မှတ်တမ်းတင်ဖိုင်တစ်ခု၏ကြာချိန် [10-1000] စက္ကန့်

}JSON_RECORD_CONTROL_PARAM_S;

ဘောင်များကို ရယူပါ။:

#JS_CMD_GET_RECORD_CONTROL_PARAM ကို သတ်မှတ်ပါ။ “getRecordControlParam”

သတ်မှတ်ချက်များ:

#JS_CMD_SET_RECORD_CONTROL_PARAM ကို သတ်မှတ်ပါ။ “setRecordControlParam”

ဥပမာ:

ကလိုင်းယင့်သည် ကင်မရာ၏ TF ကတ် ရိုက်ကူးမှုပုံစံနှင့် ပတ်သက်သည့် အောက်ပါ JSON ဒေတာကို ထုတ်ယူသည်။:

{

         ” getRecordControlParam “: { }

}

ကင်မရာမှပြန်ပေးသော JSON ဒေတာမှာ အောက်ပါအတိုင်းဖြစ်သည်။;

{

         ” getRecordControlParam “: {

                   ” u8Auto RecordEnable “: 1,

                   “u8RecordStrChn” : 0,

                   ” u8PrecordSeconds ” : 0,

              ” u16RecordSecondsPerFile ” : 300

                  }

}

ကြိုးတပ်ကွန်ရက် IP ဖွဲ့စည်းမှု:

ဒေတာဖွဲ့စည်းပုံ:

typedef struct

{                                               

u8 u8DhcpEnable;                  // 0: တည်ငြိမ်သော IP; 1: DHCP;

char s8IP[16];                          //IP လိပ်စာ

char s8SubMask[16];              // subnet မျက်နှာဖုံး

char s8GateWay[16];              // ဂိတ်ဝေး IP

char s8Dns[16];                //DNS လိပ်စာ

}JSON_NET_PARAM_S;

ဘောင်များကို ရယူပါ။:

#JS_CMD_GET_NET_IP_PARAM ကို သတ်မှတ်ပါ။ “getNetIpParam”

သတ်မှတ်ချက်များ:

#JS_CMD_SET_NET_IP_PARAM ကို သတ်မှတ်ပါ။ “setNetIpParam”

ဥပမာ:

ဖောက်သည်သည် JSON ဒေတာကို အသုံးပြု၍ ကင်မရာ၏ IP အချက်အလက်ကို အောက်ပါအတိုင်း ထုတ်ယူသည်။:

{

         ” getNetIpParam “: { }

}

ကင်မရာမှပြန်ပေးသော JSON ဒေတာမှာ အောက်ပါအတိုင်းဖြစ်သည်။;

{

         ” getNetIpParam “: {

                   ” u8Dhcp ကိုဖွင့်ပါ။ “: 0,

                   ” s8IP ” : ” 192.168.1.188 ” ,

                   ” s8SubMask ” : ” 255.255.255.0 ” ,

              ” s8GateWay ” : ” 192.168.1.1 ” ,

              ” s8Dns ” : ” 192.168.1.1 “

         }

}

ကလိုင်းယင့်ကို ကင်မရာ၏ IP လိပ်စာအဖြစ် သတ်မှတ်ပေးထားသည်။ 192.168.3.10, gateway အဖြစ် 192.168.3.1, နှင့် DNS အဖြစ် 192.168.3.1. JSON ဒေတာမှာ အောက်ပါအတိုင်းဖြစ်သည်။:

{

         ” setNetIpParam “: {

                   ” s8IP ” : ” 192.168.3.10 ” ,

              ” s8GateWay ” : ” 192.168.3.1 ” ,

              ” s8Dns ” : ” 192.168.3.1 “

         }

}

စနစ်ထည့်သွင်းမှု အောင်မြင်ပြီးနောက်, ကင်မရာသည် မည်သည့်ဒေတာမှ ပြန်မလာပါ။, နှင့် client သည် IP လိပ်စာအသစ်ဖြင့် စက်သို့ ပြန်လည်ချိတ်ဆက်ရန် လိုအပ်သည်။.

WiFi ကန့်သတ်ချက်ဖွဲ့စည်းမှု:

client/app သည် စက်မှတွေ့ရှိသော router များ၏ SSIDs စာရင်းကို ထုတ်ယူသည်။.

                  {

                            “getAPSsidList” :{ }

                  }

                  စက်ပစ္စည်းသည် SSID စာရင်းကို ပြန်ပေးလိမ့်မည်။: ချိတ်ဆက်ရန် စာရင်းမှ SSID လမ်းကြောင်းကို ရွေးပါ။.

                  STA မုဒ်တွင် အလုပ်လုပ်ရန် သင့်စက်ပစ္စည်း၏ Wi-Fi ကို စီစဉ်သတ်မှတ်ပါ။:

         {

                  “setWifiSsidParam”:{

                           “u8မုဒ်”: 0,

                           “s8Ss”: ” yrsx8888 “,

                            “s8PassWd”: “987545598400

                  }

    }

              ဟော့စပေါ့ AP မုဒ်တွင် အလုပ်လုပ်ရန် စက်ပစ္စည်း၏ Wi-Fi ကို စီစဉ်သတ်မှတ်ပါ။:

                  {

                            “setWifiSsidParam”:{

                                    “u8မုဒ်”: 1

                            }

                  }

                  စက်ပစ္စည်း၏ Wi-Fi အခြေအနေကို ရယူပါ။:

                  {

                            “getWifiSsidParam” : { }

                  }

အချိန်ထပ်တူပြုခြင်း။:

ဒေတာဖွဲ့စည်းပုံ:    

                  typedef struct

                  {

                            u8 u8TimeZone;                        // စံတော်ချိန်တန်ဖိုး RT_TIMEZONE_E

                            char s8DateTime[64];              // အချိန်ပုံစံ: “2019-06-12_၁၂:56:59_၃”    

                  }JSON_DATE_TIME_INFO_S;

                  အချိန်ဇုန်တန်ဖိုး၏အဓိပ္ပာယ်ဖွင့်ဆိုချက်:

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_Guaddlajara မက္ကဆီကိုမြို့တော်Monterrey = 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 (Cape Verde သမ္မတနိုင်ငံ၊) */

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

RT_TIMEZONE_GreenwichMeanTimeDublinEdinburghLisbonLondon = 27, /* ကမ္ဘာတစ်လွှားကိုသြဒိနိတ်အချိန်-0:00 */

RT_TIMEZONE_Casablanca = 28, /* ကမ္ဘာတစ်လွှားကိုသြဒိနိတ်အချိန်-0:00 */

RT_TIMEZONE_Monrovia = 29, /* ကမ္ဘာတစ်လွှားကိုသြဒိနိတ်အချိန်-0:00 */

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

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

RT_TIMEZONE_Brussels ကိုပင်ဟေဂင်MadridParis = 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_ဂျေရုဆလင် = 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_ChennaiKolkata မွမ်ဘိုင်းနယူးဒေလီ = 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_တိုင်ပေ = 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_Canberra MelbourneSydney = 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;

ဘောင်များကို ရယူပါ။:

#JS_CMD_GET_DEV_DATE_TIME ဟု သတ်မှတ်သည်။ “GetDevDateTime”

သတ်မှတ်ချက်များ:

#JS_CMD_SET_DEV_DATE_TIME ကို သတ်မှတ်သည်။ “သတ်မှတ်DevDateTime”

စက်ပစ္စည်းအချိန် JSON ဒေတာကို ရယူပါ။ :

                  {

                            ” GetDevDateTime ” : {}

                  }

စက်ပစ္စည်းသည် JSON ဒေတာကို ပြန်ပေးသည်။:

                  {

                            ” GetDevDateTime ” : {

                            “u8TimeZone” : 60,

                            “s8DateTime” : “2020-03-06_၁၂:56:59_၃”

                            }

                  }

JSON ဒေတာသည် စက်ပစ္စည်းကို ကြာသပတေးနေ့အဖြစ် သတ်မှတ်သည်။, မတ်လ 12, 2020, တွင် 3:38:30 ညနေ:

                  {

                            ” သတ်မှတ်DevDateTime ” : {

                                     “s8DateTime” : “2020-03-12_၁၅:38:30_၄”

                            }

                  }

စနစ်ထည့်သွင်းမှု အောင်မြင်ပြီးနောက် စက်ပစ္စည်းသည် TRUE ပြန်လာခဲ့သည်။.

စက်ပစ္စည်းစီမံခန့်ခွဲမှု:

စက်ပစ္စည်းကို ပြန်လည်စတင်ရန်အတွက် JSON ဒေတာ:

                            {

                                     ” setSysControlParam ” : {

                                               “u8 ပြန်လည်စတင်ပါ” : 1               

                                     }

                            }

စက်ရုံဆက်တင်များကို ပြန်လည်ရယူရန်အတွက် JSON ဒေတာ:

                            {

                                     ” setSysControlParam ” : {

                                               “u8ResetDefault” : 1              

                                     }

                            }

SD ကတ် JSON ဒေတာကို ဖော်မတ်လုပ်ခြင်း။:

                            {

                                     ” setSysControlParam ” : {

                                               “u8FormatSdCard” : 1                              

                                     }

                            }

PTZ ထိန်းချုပ်မှု:

ဒေတာဖွဲ့စည်းပုံ:

typedef struct

{

       u8 u8Cmd;                        // ကွန်မန်းကုဒ် PTZ_CONTROL_CODE

u8 u8 မြန်နှုန်း;                     // အရှိန် (1-64)

u8 u8Data1;                            // လက်ဝယ်ရှိတယ်။; ၎င်းကို ကြိုတင်သတ်မှတ်ထားသည့်နေရာများအတွက် အသုံးပြုမည်ဖြစ်သည်။.

u8 u8Data2;                            // လက်ဝယ်ရှိတယ်။, ၎င်းကို အထူး PTZ အမိန့်များအတွက် အသုံးပြုပါမည်။.

}JSON_PTZ_CONTROL_S;

enum PTZ_CONTROL_CODE

{

              PTZ_STOP= 0, // ရပ်

              PTZ_UP=1,          // up ကို

              PTZ_DOWN=၂,          // ဆင်း

              PTZ_LEFT=3,              // လက်ဝဲ

              PTZ_RIGHT=၄,           // မှန်သော

              PTZ_LEFT_UP=5, // ဘယ်ဘက်ထိပ်

              PTZ_LEFT_DOWN=၆, // ဘယ်ဘက်အောက်

              PTZ_RIGHT_UP=7, // ညာဘက်အပေါ်

              PTZ_RIGHT_DOWN=၈, // 8 : အောက်ခြေညာဘက်

              PTZ_ZOOM_IN=၉, // 9 : ချဲ့ကြည့်ပါ။

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

              PTZ_FOCUS_NEAR=၁၁, // 11 : အနီးကို အာရုံစူးစိုက်ပြီး

              PTZ_FOCUS_FAR=၁၂, // 12 : အဝေးကိုအာရုံစိုက်ပါ။

              PTZ_IRIS_ADD=၁၃, // 13 : Aperture တိုးလာသည်။

              PTZ_IRIS_REDUCE=၁၄, // 14 : Aperture ကို လျှော့ချထားသည်။

              PTZ_GOTO_POINT = 15, // 15 : ကြိုခေါ်ပါ

              PTZ_CLEAR_POINT = 16, // 16 : ကြိုတင်သတ်မှတ်မှုနည်းနည်းရှင်းပါ။

              PTZ_PERSET_POINT = 17, // 17 : ကြိုတင်သတ်မှတ်သတ်မှတ်ပါ။

              PTZ_AUTO_RUN = 18, // 18 : အလျားလိုက် အလိုအလျောက် စကင်န်ဖတ်ခြင်း။

};

PTZ ထိန်းချုပ်မှု:

#JS_CMD_PTZ_CONTROL ဟု သတ်မှတ်သည်။ “PtzControlCmd”

Ptz မှ ထိန်းချုပ်ထားသော JSON ညွှန်ကြားချက်များ:

  • အရှိန်အဟုန်ဖြင့် အောက်သို့ရွေ့လျားသည်။ 30:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 2,

         ” u8 မြန်နှုန်း ” : 30

                  }

}

  • 1. ကြိုတင်သတ်မှတ်အနေအထားကို သတ်မှတ်ပါ။ 2:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 17,

         “u8 အရှိန်” : 30,   

         “u8Data1” : 2

                  }

}

TF ကတ်ဖိုင်ရှာဖွေမှု:

( 1) တစ်ရက်တည်းတွင် သတ်မှတ်ထားသော အချိန်ကာလတစ်ခုအတွင်း ဗီဒီယိုဖိုင်အားလုံးကို ရှာဖွေရန် အမိန့်ပေးသည်။:

{

                  “ရှာဖွေမှတ်တမ်းဖိုင်စာရင်း”:{

                            “u32နှစ်”:2020, // တစ်နှစ်

                            “u8လ”:7,                             // လ

                            “u8Day”:14,                       // နေ့

                            “u8 စတင်ချိန်”:0,              // စတင်ချိန်နာရီ

                            “u8StartMinute”:0,                   // မိနစ်ပိုင်းအတွင်း စတင်ချိန်

                            “u8 EndHour”:23,             // ကုန်ဆုံးချိန်နာရီ

                            “u8EndMinute”:59,                  // မိနစ်ပိုင်းအတွင်း ပြီးဆုံးချိန်

                            “u8EncChn”:0,                           // 0 ပုံမှန်တန်ဖိုးဖြစ်ပါတယ်.

                            “u8RecordTye”:0, // ဖိုင်အမျိုးအစား: 0: ဖိုင်အားလုံး, 1: ရိုက်ကူးရန်စီစဉ်ထားသည်။; 2: နှိုးစက် မှတ်တမ်းတင်ခြင်း။; 3: ပုံများ;

                            “u32StartIdx”:0,               // စတင်သည့်ဖိုင်၏ နံပါတ်စဉ်

                            “u32မျှော်လင့်ထားသောအရေအတွက်”: 10                 // တောင်းဆိုချက်ဖြင့် ပြန်ပေးသည့် ဖိုင်အရေအတွက်, လက်ရှိတွင် အမြင့်ဆုံးတန်ဖိုးဖြစ်သည်။ 32.

                  }

}

ဒေတာကို စက်မှ ပြန်ပေးသည်။:

{

“ရှာဖွေမှတ်တမ်းဖိုင်စာရင်း”: {

“u32RecordFileTotalCount”: 7,                // ဤအချိန်ကာလအတွင်း ရှာဖွေခဲ့သော ဖိုင်စုစုပေါင်းအရေအတွက်

“stRecordFileList”: [        // လမ်းကြောင်းနှင့်အတူ ဖိုင်အမည်, ဖိုင်အရွယ်အစား]

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

]

}

}

JPG ပုံတစ်ပုံကို ကိုယ်တိုင်ရိုက်ယူပါ။:

              စက်သို့ အောက်ပါ command ကို ပို့ပါ။.

              {

                            “ManualSnapJpg”:{

                            }

                  }

အောင်မြင်စွာ ပြန်လာခဲ့သည်။:

                  {

                  “ManualSnapJpg”: အမှန်

                   }

PWM ထိန်းချုပ်မှုသည် LED တောက်ပမှုကိုချိန်ညှိသည်။:

လက်ရှိ PWM တန်ဖိုးကို ရယူပါ။:

{

“getPwmParam”:{

          “u32PwmChn”: 0

}

}

အောင်မြင်စွာ ပြန်လာခဲ့သည်။:

{

“getPwmParam”:{

          “u32PwmChn”:0,

          “u8 ကိုဖွင့်ပါ။”:1,

          “u8DutyValue”:20

}

}

  • PWM တန်ဖိုးကို သတ်မှတ်ပါ။:

{

“setPwmParam”:{

          “u32PwmChn”: 0,

          “u8 ကိုဖွင့်ပါ။”: 1,

          “u8DutyValue”: 60

}

}

အောင်မြင်စွာ ပြန်လာခဲ့သည်။:

{

“setPwmParam”:အမှန်

}

မှတ်စု : u32PwmChn သည် မူရင်းအတိုင်းဖြစ်သည်။ 0 နိုင်ထက်စီးနင်း မပြောင်းလဲသင့်ပါ။. u8Enable တွင် တန်ဖိုးတစ်ခုရှိသည်။ 0/1, ဘယ်မှာ 0 PWM output နှင့် disable လုပ်ပါ။ 1 PWM အထွက်ကို ဖွင့်ပေးသည်။. u8DutyValue တွင် တန်ဖိုးအတိုင်းအတာတစ်ခုရှိသည်။ 0-100.

17. OSD စာသားရယူမှု/ဆက်တင်:

(1)   သတ်မှတ်ထားသော ဗီဒီယိုချန်နယ်ကို ရယူပါ။, OSD စာသားဘောင်များ:

{“getVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1

}}

အောင်မြင်စွာ ပြန်လာခဲ့သည်။:

{

“getVideoOsdTextInfo”:{

          “u8IspChn”:0, // ဗီဒီယိုချန်နယ် 0, ဖြည့်သွင်းပါ 0 ကင်မရာတစ်လုံးအတွက်

          “u8TextIdx”:1, // OSD စာသားအကွက် အရေအတွက်, မျိုးစုံသော စာသားသေတ္တာများကို ပံ့ပိုးပေးသည်။.

          “u8 ကိုဖွင့်ပါ။”:0, // စွမ်းဆောင်နိုင်စေ, 0: မဖော်ပြပါနှင့်; 1: မျက်နှာပြင်

          “u16XRatioBase50000”:40000, // အလျားလိုက် အနေအထား၏ နှိုင်းရ သြဒိနိတ်များ, အများဆုံးတန်ဖိုးနှင့်အတူ 50000.

          “u16YRatioBase50000”:1600, // ဒေါင်လိုက် အနေအထား၏ နှိုင်းရ သြဒိနိတ်များ, အများဆုံးတန်ဖိုးနှင့်အတူ 50000.

          “u8FgTransparency”:10, // ရှေ့မျက်နှာစာ [0-255]

          “u8BgTransparency”:255, // နောက်ခံပွင့်လင်းမြင်သာမှုတန်ဖိုး [0-255]

          “u8Size အမျိုးအစား”:1, // စာသားအရွယ်အစား, တန်ဖိုးအပိုင်းအခြား [0-3]

          “u32TextColor_BGRA8888”:4294967295, // စာသားအရောင် ARGB888 တန်ဖိုး

          “aszText”:”” // စာသားဘောက်စ်တွင် အကြောင်းအရာ စာကြောင်းကို ပြသသည်။

}

}

(2)   သတ်မှတ်ထားသော ဗီဒီယိုချန်နယ်ကို သတ်မှတ်ပါ။, OSD စာသားဘောင်များ:

{

“သတ်မှတ်VideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1,

          “u8 ကိုဖွင့်ပါ။”:1,

          “u16XRatioBase50000”:40000,

          “u16YRatioBase50000”:1600,

          “u8FgTransparency”:10,

          “u8BgTransparency”:255,

          “u8Size အမျိုးအစား”:1,

          “u32TextColor_BGRA8888”:4294967295,

          “aszText”:”စမ်းသပ်မှု 11111222233334444″

}

}

အောင်မြင်စွာ ပြန်လာခဲ့သည်။:

{

“သတ်မှတ်VideoOsdTextInfo”:အမှန်

}

စျေးနှုန်း: $98.00 ဖြတ်. $158.00
မူရင်းဈေး: $199.00.လက်ရှိပေါက်ဈေးကတော့: $130.00.
စျေးနှုန်း: $118.00 ဖြတ်. $178.00

မေးခွန်းတစ်ခုမေး

← နောက်

သင့်စာကို ပို့ပြီးပါပြီ။