راهنمای صفحه رمزگذار ویدئو پروتکل TCP JSON RTSP API

آدرس جریان صوتی و تصویری بلادرنگ RTSP:

  • قالب: rtsp://آی پی:شماره پورت/جریان
  • پورت پیش فرض: 554
  • شناسه جریان: 0 (جریان اصلی), 1 (جریان ثانویه)
  • مثلا, برای بازیابی جریان فرعی از آدرس دستگاه 192.168.1.188, URL است:
  • 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;         // اندازه بیت ریت

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 u8 فعال کردن;             //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 “: {

         ” u8 فعال کنید “: 1,

         “u32ChnNum” : 1,

         “u8EncodeType” : 8,

       “u32SampleRate” : 8000,

       "u8AoutVolume" : 80,

                  }

}

تنظیمات سمت سرویس گیرنده برای رمزگذاری صدای دوربین AAC هستند, استریو, و نرخ نمونه برداری 48 کیلوهرتز. داده های 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 از ISP دوربین:

{

         ” getImageParam “: {

                   “u8VideoIspChn” : 0

         }

}

داده های JSON که توسط دوربین برگردانده شده است به شرح زیر است;

{

         ” getImageParam “: {

         ” u8VideoIspChn “: 0,

         “U8Brightness” : 50,

         “u8Contrast” : 50,

       “u8Hue” : 50,

       “U8Saturation” : 50,

         “U8Sharpness” : 50

                  }

}

تنظیم داده JSON سمت مشتری برای روشنایی دوربین است 53, کنتراست است 60, و اشباع است 56 به شرح زیر است:

{

         ” setImageParam “: {

         “u8VideoIspChn” : 0,

         “U8Brightness” : 53,

       “u8Contrast” : 60,

       “U8Saturation” : 56

                  }

}

پس از راه اندازی موفقیت آمیز, دوربین TRUE را برمی گرداند.

بازیابی اطلاعات کارت TF;

ساختار داده:

ساختار typedef

{

      u32 u32TotalSize;             // حجم کل به مگابایت

      u32 u32UsedSize;             // واحد ظرفیت استفاده شده (MB)

      u32 u32AvailableSize;             // ظرفیت موجود در مگابایت

}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: IP استاتیک; 1: DHCP;

char s8IP[16];                          //آدرس آی پی

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 به عنوان 192.168.3.1. داده های JSON به شرح زیر است:

{

         ” setNetIpParam “: {

                   ” s8IP ” : ” 192.168.3.10 ” ,

              ” s8GateWay ” : ” 192.168.3.1 ” ,

              ” s8Dns ” : ” 192.168.3.1 “

         }

}

پس از راه اندازی موفقیت آمیز, دوربین هیچ داده ای را بر نمی گرداند, و مشتری باید دوباره به دستگاه با آدرس IP جدید متصل شود.

پیکربندی پارامتر WiFi:

کلاینت/برنامه فهرستی از SSID روترهایی را که دستگاه پیدا کرده است بازیابی می کند.

                  {

                            “getAPSsidList” :{ }

                  }

                  دستگاه لیستی از SSID ها را برمی گرداند: یک مسیر SSID را از لیست برای اتصال انتخاب کنید.

                  Wi-Fi دستگاه خود را برای کار در حالت STA پیکربندی کنید:

         {

                  “setWifiSsidParam”:{

                           “حالت u8”: 0,

                           “s8Ss”: ” yrsx8888 “,

                            “s8PassWd”: “987545598400

                  }

    }

              Wi-Fi دستگاه را برای کار در حالت نقطه اتصال AP پیکربندی کنید:

                  {

                            “setWifiSsidParam”:{

                                    “حالت u8”: 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_Midway IslandsSamoa = 1, /* UTC-11:00 */

RT_TIMEZONE_هاوایی = 2, /* UTC-10:00 */

RT_TIMEZONE_آلاسکا = 3, /* UTC-9:00 */

RT_TIMEZONE_Tijuana کالیفرنیایی = 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_کاراکاس = 16, /* UTC-4:30 */

RT_TIMEZONE_AtlanticTimeCanada = 17, /* UTC-4:00 */

RT_TIMEZONE_Georgetown LapazSanJuan = 18, /* UTC-4:00 */

RT_TIMEZONE_Santiago = 19, /* UTC-4:00 */

RT_TIMEZONE_NenfoundLand = 20, /* UTC-3:30 */

RT_TIMEZONE_برازیلیا = 21, /* UTC-3:00 */

RT_TIMEZONE_BuenosAiresGeorgentown = 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_BrusselsCopenhagenMadrid Paris = 32, /* UTC+1:00 */

RT_TIMEZONE_SarajevoSkopje Warsaw Zagreb = 33, /* UTC+1:00 */

RT_TIMEZONE_WestCentralAfrica = 34, /* UTC+1:00 */

RT_TIMEZONE_RarePretoria = 35, /* UTC+2:00 */

RT_TIMEZONE_Helsinki کیو ریگا صوفیه تالین ویلنیوس = 36, /* UTC+2:00 */

RT_TIMEZONE_قاهره = 37, /* UTC+2:00 */

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

RT_TIMEZONE_Athensبخارست استانبول = 39, /* UTC+2:00 */

RT_TIMEZONE_اورشلیم = 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 Volgograd = 44, /* UTC+3:00 */

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

RT_TIMEZONE_تهران = 46, /* UTC+3:30 */

RT_TIMEZONE_AbuDhabi Muscat = 47, /* UTC+4:00 */

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

RT_TIMEZONE_کابل = 49, /* UTC+4:30 */

RT_TIMEZONE_تاشکند = 50, /* UTC+5:00 */

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

RT_TIMEZONE_اسلام آباد کراچی = 52, /* UTC+5:00 */

RT_TIMEZONE_ChennaiKolkataMumbaiNewDelhi = 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_Bangkok هانوی جاکارتا = 59, /* UTC+7:00 */

RT_TIMEZONE_BeijingChongqingHongKong Urumqi = 60, /* UTC+8:00 */

RT_TIMEZONE_KualaLumpur سنگاپور = 61, /* UTC+8:00 */

RT_TIMEZONE_پرت = 62, /* UTC+8:00 */

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

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

RT_TIMEZONE_OsakaSapporo توکیو = 65, /* UTC+9:00 */

RT_TIMEZONE_سئول = 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_GamMoresby = 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_Auckland Wellington = 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 PM:

                  {

                            ” 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;

تعداد 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: بزرگنمایی = 10, // 10 : بزرگنمایی = 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”:{

                            “u32Year”: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,

          “u8 فعال کنید”:1,

          “u8DutyValue”:20

}

}

  • مقدار PWM را تنظیم کنید:

{

“setPwmParam”:{

          “u32PwmChn”: 0,

          “u8 فعال کنید”: 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, پشتیبانی از جعبه های متنی متعدد.

          “u8 فعال کنید”:0, // فعال کردن, 0: نمایش داده نشود; 1: نمایش دادن

          “u16XRatioBase50000”:40000, // مختصات نسبی موقعیت افقی, با حداکثر مقدار 50000.

          “u16YRatioBase50000”:1600, // مختصات نسبی موقعیت عمودی, با حداکثر مقدار 50000.

          “u8FgTransparency”:10, // شفافیت پیش زمینه [0-255]

          “u8BgTransparency”:255, // مقدار شفافیت پس زمینه [0-255]

          “u8SizeType”:1, // اندازه متن, دامنه ارزش [0-3]

          “u32TextColor_BGRA8888”:4294967295, // مقدار رنگ متن ARGB888

          “aszText”:”” // جعبه متن رشته محتوا را نمایش می دهد

}

}

(2)   کانال ویدیویی مشخص شده را تنظیم کنید, پارامترهای متن OSD:

{

“setVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1,

          “u8 فعال کنید”:1,

          “u16XRatioBase50000”:40000,

          “u16YRatioBase50000”:1600,

          “u8FgTransparency”:10,

          “u8BgTransparency”:255,

          “u8SizeType”:1,

          “u32TextColor_BGRA8888”:4294967295,

          “aszText”:”تست 11111222233334444″

}

}

با موفقیت بازگشت:

{

“setVideoOsdTextInfo”:درست است

}

دامنه قیمت: $118.00 از طریق $178.00
قیمت اصلی بود: $199.00.قیمت فعلی است: $130.00.
دامنه قیمت: $118.00 از طریق $178.00

سوال بپرسید

← برگشت

از پاسخ شما سپاسگزاریم. ✨