မာတိကာ
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”:အမှန်
}
CVBS HDMI IP encoder သို့
CVBS HDMI IP encoder သို့
CVBS HDMI IP encoder သို့
CVBS AT Analog Get analog သို့ IP Ethernet ဗီဒီယို encoder Wi-Fi module
TX RX မော်ဂျူး

မေးခွန်းတစ်ခုမေး
သင့်စာကို ပို့ပြီးပါပြီ။