לוח מקודד וידאו TCP JSON Protocol RTSP API Guide

כתובת RTSP בזמן אמת של אודיו ווידאו:

  • פוּרמָט: rtsp://IP:מספר יציאה/זרם
  • יציאת ברירת מחדל: 554
  • מזהה זרם: 0 (זרם מרכזי), 1 (זרם משני)
  • לדוגמה, כדי לאחזר את המשנה מכתובת המכשיר 192.168.1.188, כתובת האתר היא:
  • rtsp://192.168.1.1 8 8 :554 / 1

הלקוח (אפליקציה סלולרית) משיג ומגדיר פרמטרים של מצלמה באמצעות פרוטוקול TCP;

המצלמה פועלת כשרת TCP, כאשר יציאת ברירת המחדל של TCP היא 8866.

פורמט נתוני תקשורת TCP:

מחרוזת JSON טהורה

קבל סטטוס מצלמה:

מבנה נתונים:

              מבנה typedef

              {

                     char s8DevId[64]; // מזהה מכשיר, ברירת המחדל היא IP אם לא מוגדר מזהה.

                     u32 u32TfRecord; // מצב הקלטה של ​​כרטיס TF, 0: ללא הקלטה; 1: ההקלטה בעיצומה

              }JSON_DEV_STATUS_INFO_S;

תווי פקודה:

              #הגדר JS_CMD _ GET_DEV_STATUS “GetDevStatus”

בהנחה שכתובת ה-IP של המכשיר היא 192.168.1.188, הלקוח שולח את נתוני ה-JSON הבאים:

{

         ” GetDevStatus “: {       }

}

לאחר שהמצלמה קיבלה את הנתונים בהצלחה, זה החזיר את נתוני ה-JSON הבאים:

{

         ” GetDevStatus “: {

         ” s8DevId ” : ” 192.168.1.188 ” ,

         " u32TfRecord " : 0

         }

}

רכישה/הגדרה של פרמטרים של קידוד וידאו:

מבנה נתונים:

              מבנה typedef

              {

u8 u8VideoEncChn;        //0 : זרם מרכזי; 1: זרם משני;

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

u16 u16VideoWidth;              // רוחב וידאו

u16 u16VideoHeight;       // גובה וידאו

u16 u8FrameRate;           // קצב פריימים (1-30)

u16 u8IframeInterval;      // אני- גודל מרווח מסגרת (1-100)

u8 u8BitrateControlMode; //מצב בקרת קצב סיביות: 0: CBR 1: VBR

u16 u16BitRateKps;         // גודל Bitrate

char s8VideoSizeName[256]; // רשימת רזולוציות נתמכות }JSON_VIDEO_ENC_PARAM_S;

תווי פקודה:

              קבל פרמטרים:

              #הגדר JS_CMD_GET_VIDEO_ENC_PARAM “getVideoEncParam”

              הגדרת פרמטרים:

              #הגדר JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”

לדוגמה:

הלקוח מאחזר את נתוני ה-JSON הבאים המכילים את פרמטרי הקידוד של זרם הסיביות הראשי של המצלמה:

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0

         }

}

נתוני ה-JSON המוחזרים על ידי המצלמה הם כדלקמן;

{

         ” getVideoEncParam “: {

         ” u8VideoEncChn “: 0,

         " u8VideoCodecType " : 1,

         " u16VideoWidth " : 3840,

       ” u16VideoHeight ” : 1080,

       " u8FrameRate " : 30,

         ” u8IframeInterval ” : 60,

         ” u8BitrateControlMode ” : 0,

         " u16BitRateKps " : 4096,

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

         }

}

הלקוח מגדיר את קצב הפריימים המשני של המצלמה ל 15 וקצב הסיביות ל-1024K בפורמט JSON, כְּדִלקַמָן:

{

         ” setVideoEncParam “: {

         ” u8VideoEncChn “: 1,

         ” u8FrameRate “: 15,

         ” u16BitRateKps “: 1024

         }

}

לאחר התקנה מוצלחת, המצלמה מחזירה TRUE.

רכישה/הגדרה של פרמטרים של קידוד אודיו:

מבנה נתונים:

              מבנה typedef

              {

       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;

תווי פקודה:

              קבל פרמטרים:

              #הגדר JS_CMD_GET_AUDIO_PARAM “getAudioParam”

              הגדרת פרמטרים:

              #הגדר JS_CMD_SET_AUDIO_PARAM “setAudioParam”

לדוגמה:

הלקוח מאחזר את נתוני ה-JSON הבאים של פרמטרי קידוד האודיו של המצלמה:

{

         ” getAudioParam “: { }

}

נתוני ה-JSON המוחזרים על ידי המצלמה הם כדלקמן;

{

         ” getAudioParam “: {

         ” u8Enable “: 1,

         " u32ChnNum " : 1,

         " u8EncodeType " : 8,

       " u32SampleRate " : 8000,

       " u8AoutVolume " : 80,

                  }

}

הגדרות צד הלקוח עבור קידוד אודיו של המצלמה הן AAC, סטריאו, וקצב דגימה של 48kHz. נתוני JSON הם כדלקמן:

{

         ” setAudioParam “: {

         " u32ChnNum " : 2,

         " u8EncodeType " : 6,

       " u32SampleRate " : 48000

                  }

}

לאחר התקנה מוצלחת, המצלמה מחזירה TRUE.

רכישה/הגדרה של פרמטרים של תמונת וידאו:

מבנה נתונים:

מבנה typedef

{

u8 u8VideoIspChn;           //ערוץ ISP; [0-4]

u8 u8 בהירות;              // בְּהִירוּת: [0~100]

u8 u8 ניגודיות;                 // יחס ניגודיות: [0~100]

u8 u8Hue;                        // כרומטיות: [0~100]

u8 u8 רוויה;              // רמת הרוויה: [0~100]

u8 u8 חדות;                     // חַדוּת: [0~100]

}JSON_IMAGE_PARAM_S;

תווי פקודה:

              קבל פרמטרים:

              #הגדר JS_CMD_GET_IMAGE_PARAM “getImageParam”

              הגדרת פרמטרים:

              #הגדר JS_CMD_SET_IMAGE_PARAM “setImageParam”

לדוגמה:

הלקוח מאחזר את נתוני ה-JSON הבאים של פרמטרי התמונה עבור הערוץ 0 של ספק האינטרנט של המצלמה:

{

         ” getImageParam “: {

                   " u8VideoIspChn " : 0

         }

}

נתוני ה-JSON המוחזרים על ידי המצלמה הם כדלקמן;

{

         ” getImageParam “: {

         ” u8VideoIspChn “: 0,

         " בהירות u8 " : 50,

         " u8 Contrast " : 50,

       "u8Hue" : 50,

       " u8Saturation " : 50,

         "חדות u8" : 50

                  }

}

הגדרת נתוני JSON בצד הלקוח עבור בהירות המצלמה היא 53, ניגוד הוא 60, ורוויה היא 56 הוא כדלקמן:

{

         ” setImageParam “: {

         " u8VideoIspChn " : 0,

         " בהירות u8 " : 53,

       " u8 Contrast " : 60,

       " u8Saturation " : 56

                  }

}

לאחר התקנה מוצלחת, המצלמה מחזירה TRUE.

אחזור מידע על כרטיס TF;

מבנה נתונים:

מבנה typedef

{

      u32 u32TotalSize;             // גודל כולל ב-MB

      u32 u32UsedSize;             // יחידת קיבולת משומשת (MB)

      u32 u32AvailableSize;             // קיבולת זמינה ב-MB

}JSON_SD_CARD_INFO_S;

קבל פרמטרים:

#הגדר JS_CMD_GET_SD_CARD_INFO “getSdCardInfo”

לדוגמה:

הלקוח מאחזר את נתוני ה-JSON הבאים לגבי מידע כרטיס ה-TF של המצלמה:

{

         ” getSdCardInfo “: { }

}

נתוני ה-JSON המוחזרים על ידי המצלמה הם כדלקמן;

{

         ” getSdCardInfo “: {

         ” u32TotalSize “: 31254,

         " u32UsedSize " : 20000,

         ” u32AvailableSize ” : 11254

                  }

}

תצורת הקלטת כרטיס TF:

מבנה נתונים:

מבנה typedef

{

       u8 u8AutoRecordEnable;        //1: אפשר הקלטה; 0: השבת את ההקלטה

      u8 u8RecordStrChn;                // בחירת זרם הקלטה: 0: זרם ראשי; 1: זרם משני

   u8 u8PreRecordSeconds;               // זמן הקלטה מראש [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”

לדוגמה:

הלקוח מאחזר את נתוני ה-JSON הבאים לגבי תצורת ההקלטה של ​​כרטיס TF של המצלמה:

{

         ” getRecordControlParam “: { }

}

נתוני ה-JSON המוחזרים על ידי המצלמה הם כדלקמן;

{

         ” getRecordControlParam “: {

                   ” u8AutoRecordEnable “: 1,

                   " u8RecordStrChn " : 0,

                   ” u8PrecordSeconds ” : 0,

              ” u16RecordSecondsPerFile ” : 300

                  }

}

תצורת IP של רשת קווית:

מבנה נתונים:

מבנה typedef

{                                               

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

char s8IP[16];                          //כתובת ה - IP

char s8SubMask[16];              // מסכת רשת משנה

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”

לדוגמה:

הלקוח מאחזר את פרטי ה-IP של המצלמה באמצעות נתוני JSON באופן הבא:

{

         ” getNetIpParam “: { }

}

נתוני ה-JSON המוחזרים על ידי המצלמה הם כדלקמן;

{

         ” getNetIpParam “: {

                   ” u8DhcpEnable “: 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, שער כמו 192.168.3.1, ו-DNS as 192.168.3.1. נתוני JSON הם כדלקמן:

{

         ” setNetIpParam “: {

                   ” s8IP ” : ” 192.168.3.10 ” ,

              ” s8GateWay ” : ” 192.168.3.1 ” ,

              ” s8Dns ” : ” 192.168.3.1 “

         }

}

לאחר התקנה מוצלחת, המצלמה אינה מחזירה נתונים, והלקוח צריך להתחבר מחדש למכשיר עם כתובת ה-IP החדשה.

תצורת פרמטר WiFi:

הלקוח/האפליקציה מאחזרת רשימה של SSIDs של הנתבים שנמצאו על ידי המכשיר.

                  {

                            “getAPSsidList” :{ }

                  }

                  המכשיר יחזיר רשימה של SSIDs: בחר SSID של נתיב מהרשימה שאליו להתחבר.

                  הגדר את ה-Wi-Fi של המכשיר שלך לעבוד במצב STA:

         {

                  “setWifiSsidParam”:{

                           “u8Mode”: 0,

                           “s8Ss”: ” yrsx8888 “,

                            “s8PassWd”: “987545598400

                  }

    }

              הגדר את ה-Wi-Fi של המכשיר לעבוד במצב נקודת גישה חמה:

                  {

                            “setWifiSsidParam”:{

                                    “u8Mode”: 1

                            }

                  }

                  קבל את סטטוס ה-Wi-Fi של המכשיר:

                  {

                            “getWifiSsidParam” : { }

                  }

סנכרון זמן:

מבנה נתונים:    

                  מבנה typedef

                  {

                            u8 u8TimeZone;                        // ערך אזור זמן RT_TIMEZONE_E

                            char s8DateTime[64];              // פורמט זמן: “2019-06-12_12:56:59_3”    

                  }JSON_DATE_TIME_INFO_S;

                  הגדרה של ערך אזור זמן:

typedef enum

{

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

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

RT_TIMEZONE_Hawai = 2, /* UTC-10:00 */

RT_TIMEZONE_אלסקה = 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_ססקצ'ואן = 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_בואנוס איירס ג'ורג'טאון = 22, /* UTC-3:00 */

RT_TIMEZONE_גרינלנד = 23, /* UTC-3:00 */

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

RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (הרפובליקה של כף ורדה) */

RT_TIMEZONE_Azores = 26, /* UTC-1:00 (האיים האזוריים) */

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

RT_TIMEZONE_קזבלנקה = 28, /* UTC-0:00 */

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

RT_TIMEZONE_Amsterdam ברלין ברן רומא שטוקהולם וינה = 30, /* UTC+1:00 */

RT_TIMEZONE_בלגרד ברטיסלבה בודפשט לובליאנהפראג = 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_אתונה בוקרשט איסטנבול = 39, /* UTC+2:00 */

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

RT_TIMEZONE_בגדד = 41, /* UTC+3:00 */

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

RT_TIMEZONE_כווית ריאד = 43, /* UTC+3:00 */

RT_TIMEZONE_MoscowSt Petersburg וולגוגרד = 44, /* UTC+3:00 */

RT_TIMEZONE_ניירובי = 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_קאבול = 49, /* UTC+4:30 */

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

RT_TIMEZONE_יקטרינבורג = 51, /* UTC+5:00 */

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

RT_TIMEZONE_Chennai קולקטה מומבאי ניו דלהי = 53, /* UTC+5:30 */

RT_TIMEZONE_קטמנדו = 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_BangkokHanoi Jakarta = 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_סיאול = 66, /* UTC+9:00 */

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

RT_TIMEZONE_אדלייד = 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_MagadanSolomon ניו קלדוניה = 74, /* UTC+11:00 */

RT_TIMEZONE_אוקלנד וולינגטון = 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 “setDevDateTime”

קבל את נתוני זמן ה-JSON של המכשיר :

                  {

                            ” GetDevDateTime ” : {}

                  }

המכשיר מחזיר נתוני JSON:

                  {

                            ” GetDevDateTime ” : {

                            "u8TimeZone" : 60,

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

                            }

                  }

נתוני ה-JSON מגדירים את זמן המכשיר ליום חמישי, מרץ 12, 2020, בְּ- 3:38:30 אחר הצהריים:

                  {

                            ” setDevDateTime ” : {

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

                            }

                  }

המכשיר החזיר TRUE לאחר ההתקנה המוצלחת.

ניהול ציוד:

נתוני JSON להפעלה מחדש של המכשיר:

                            {

                                     ” setSysControlParam ” : {

                                               "u8Restart" : 1               

                                     }

                            }

נתוני JSON לשחזור הגדרות היצרן:

                            {

                                     ” setSysControlParam ” : {

                                               "u8ResetDefault" : 1              

                                     }

                            }

פורמט נתוני JSON של כרטיס SD:

                            {

                                     ” setSysControlParam ” : {

                                               "u8FormatSdCard" : 1                              

                                     }

                            }

בקרת PTZ:

מבנה נתונים:

מבנה typedef

{

       u8 u8Cmd;                        // קוד פקודה PTZ_CONTROL_CODE

u8 u8Speed;                     // מְהִירוּת (1-64)

u8 u8Data1;                            // שָׁמוּר; זה ישמש עבור מיקומים מוגדרים מראש.

u8 u8Data2;                            // שָׁמוּר, זה ישמש עבור פקודות PTZ מיוחדות.

}JSON_PTZ_CONTROL_S;

enum PTZ_CONTROL_CODE

{

              PTZ_STOP = 0, // תפסיק

              PTZ_UP=1,          // לְמַעלָה

              PTZ_DOWN=2,          // מטה

              PTZ_LEFT=3,              // שמאלה

              PTZ_RIGHT=4,           // ימין

              PTZ_LEFT_UP=5, // שמאל למעלה

              PTZ_LEFT_DOWN=6, // שמאל למטה

              PTZ_RIGHT_UP=7, // למעלה מימין

              PTZ_RIGHT_DOWN=8, // 8 : ימין למטה

              PTZ_ZOOM_IN=9, // 9 : לְהִתְמַקֵד

              PTZ_ZOOM_OUT=10, // 10: זום OUT=10, // 10 : זום OUT=10

              PTZ_FOCUS_NEAR=11, // 11 : התמקדות ליד

              PTZ_FOCUS_FAR=12, // 12 : התמקדו ברחוק

              PTZ_IRIS_ADD=13, // 13 : הגדלת צמצם

              PTZ_IRIS_REDUCE=14, // 14 : צמצם מופחת

              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”

פקודות JSON נשלטות על ידי Ptz:

  • נע כלפי מטה במהירות של 30:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 2,

         ” u8Speed ” : 30

                  }

}

  • 1. הגדר מיקום מוגדר מראש 2:

{

         ” PtzControlCmd “: {

         ” u8Cmd “: 17,

         "u8Speed" : 30,   

         " u8Data1 " : 2

                  }

}

חיפוש קבצי כרטיס TF:

( 1) פקודה לחיפוש כל קבצי הווידאו בפרק זמן מסוים באותו היום:

{

                  “searchRecordFileList”:{

                            “u32 שנה”:2020, // שָׁנָה

                            “u8 חודש”:7,                             // חוֹדֶשׁ

                            “u8Day”:14,                       // יְוֹם

                            “u8StartHour”:0,              // שעת התחלה בשעות

                            “u8StartMinute”:0,                   // זמן התחלה בדקות

                            “u8EndHour”:23,             // שעת סיום בשעות

                            “u8EndMinute”:59,                  // שעת סיום בדקות

                            “u8EncChn”:0,                           // 0 הוא ערך ברירת המחדל.

                            “u8RecordTye”:0, // סוג קובץ: 0: כל הקבצים, 1: הקלטה מתוזמנת; 2: הקלטת אזעקה; 3: תמונות;

                            “u32StartIdx”:0,               // מספר הרצף של קובץ ההתחלה

                            “u32ExpectedCount”: 10                 // מספר הקבצים שהוחזרו על ידי הבקשה, כרגע הערך המקסימלי הוא 32.

                  }

}

נתונים שהוחזרו על ידי המכשיר:

{

“searchRecordFileList”: {

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

              שלח את הפקודה הבאה למכשיר.

              {

                            “ManualSnapJpg”:{

                            }

                  }

הוחזר בהצלחה:

                  {

                  “ManualSnapJpg”: נָכוֹן

                   }

בקרת PWM מתאימה את בהירות LED:

קבל את ערך ה-PWM הנוכחי:

{

“getPwmParam”:{

          “u32PwmChn”: 0

}

}

הוחזר בהצלחה:

{

“getPwmParam”:{

          “u32PwmChn”:0,

          “u8Enable”:1,

          “u8DutyValue”:20

}

}

  • הגדר את ערך PWM:

{

“setPwmParam”:{

          “u32PwmChn”: 0,

          “u8Enable”: 1,

          “u8DutyValue”: 60

}

}

הוחזר בהצלחה:

{

“setPwmParam”:נָכוֹן

}

הערה : ברירת המחדל של u32PwmChn היא 0 ואין לשנותו באופן שרירותי. ל-u8Enable יש ערך של 0/1, איפה 0 משבית את פלט PWM ו 1 מאפשר פלט PWM. ל-u8DutyValue יש טווח ערכים של 0-100.

17. רכישת/הגדרה של טקסט ב-OSD:

(1)   השג את ערוץ הווידאו שצוין, פרמטרי טקסט OSD:

{“getVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1

}}

הוחזר בהצלחה:

{

“getVideoOsdTextInfo”:{

          “u8IspChn”:0, // ערוץ וידאו 0, לְמַלֵא 0 עבור מצלמה אחת

          “u8TextIdx”:1, // המספר של תיבת הטקסט ב-OSD, תמיכה במספר תיבות טקסט.

          “u8Enable”:0, // לְאַפשֵׁר, 0: לא להציג; 1: לְהַצִיג

          “u16XRatioBase50000”:40000, // קואורדינטות יחסיות של המיקום האופקי, עם ערך מקסימלי של 50000.

          “u16YRatioBase50000”:1600, // קואורדינטות יחסיות של המיקום האנכי, עם ערך מקסימלי של 50000.

          “u8Fg שקיפות”:10, // שקיפות בחזית [0-255]

          “u8BgTransparency”:255, // ערך שקיפות רקע [0-255]

          “u8SizeType”:1, // גודל טקסט, טווח ערך [0-3]

          “u32TextColor_BGRA8888”:4294967295, // ערך צבע טקסט ARGB888

          “aszText”:”” // תיבת טקסט מציגה את מחרוזת התוכן

}

}

(2)   הגדר את ערוץ הווידאו שצוין, פרמטרי טקסט OSD:

{

“setVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1,

          “u8Enable”:1,

          “u16XRatioBase50000”:40000,

          “u16YRatioBase50000”:1600,

          “u8Fg שקיפות”:10,

          “u8BgTransparency”:255,

          “u8SizeType”:1,

          “u32TextColor_BGRA8888”:4294967295,

          “aszText”:”בדיקה 11111222233334444″

}

}

הוחזר בהצלחה:

{

“setVideoOsdTextInfo”:נָכוֹן

}

טווח מחירים: $118.00 בְּאֶמצָעוּת $178.00
טווח מחירים: $98.00 בְּאֶמצָעוּת $158.00

CVBS HDMI ל- IP מקודד

CVB

המחיר המקורי היה: $199.00.המחיר הנוכחי הוא: $130.00.

מודול TX RX

COMPOSTE

טווח מחירים: $118.00 בְּאֶמצָעוּת $178.00

שאל שאלה

→ חזרה

תודה רבה ששלחת את התשובה! ✨