Плата відеокодувальника TCP JSON протокол RTSP API Посібник

Адреса потоку аудіо та відео в реальному часі RTSP:

  • формат: rtsp://ip:номер порту/потоку
  • Порт за замовчуванням: 554
  • Ідентифікатор потоку: 0 (основний потік), 1 (вторинний потік)
  • Наприклад, щоб отримати підпотік з адреси пристрою 192.168.1.188, URL є:
  • rtsp://192.168.1.1 8 8 :554 / 1

Клієнт (мобільний додаток) отримує та встановлює параметри камери через протокол TCP;

Камера працює як TCP-сервер, з портом TCP за замовчуванням 8866.

Формат даних зв'язку TCP:

чистий рядок JSON

Отримати статус камери:

Структура даних:

              typedef struct

              {

                     char s8DevId[64]; // ID пристрою, за замовчуванням 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 struct

              {

u8 u8VideoEncChn;        //0 : основний потік; 1: вторинний потік;

u8 u8VideoCodecType;    // 1:h264 ; 2:стор.265

u16 u16VideoWidth;              // Ширина відео

u16 u16ВідеоВисота;       // Висота відео

u16 u8FrameRate;           // Частота кадрів (1-30)

u16 u8IframeInterval;      // Я- розмір інтервалу кадру (1-100)

u8 u8BitrateControlMode; //Режим керування бітрейтом: 0: ЦБР 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 struct

              {

       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 struct

{

u8 u8VideoIspChn;           //Канал провайдера; [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,

         “u8Contrast” : 50,

       «u8Hue» : 50,

       “u8Насиченість” : 50,

         “u8Sharpness” : 50

                  }

}

Налаштування даних JSON на стороні клієнта для яскравості камери є 53, контраст є 60, і насиченість є 56 є таким:

{

         ” setImageParam “: {

         “ u8VideoIspChn ” : 0,

         “u8Яскравість” : 53,

       “u8Contrast” : 60,

       “u8Насиченість” : 56

                  }

}

Після успішного налаштування, камера повертає TRUE.

Отримання інформації з картки TF;

Структура даних:

typedef struct

{

      u32 u32Загальний розмір;             // Загальний розмір у Мб

      u32 u32UsedSize;             // Використана одиниця потужності (мегабайт)

      u32 u32Доступний розмір;             // Доступна ємність у Мб

}JSON_SD_CARD_INFO_S;

Отримати параметри:

#визначте JS_CMD_GET_SD_CARD_INFO “getSdCardInfo”

Наприклад:

Клієнт отримує наведені нижче дані JSON щодо інформації про TF-карту камери:

{

         ” getSdCardInfo “: { }

}

Дані JSON, які повертає камера, є такими;

{

         ” getSdCardInfo “: {

         ” u32TotalSize “: 31254,

         “ u32UsedSize ” : 20000,

         ” u32Доступний розмір ” : 11254

                  }

}

Конфігурація запису на карту TF:

Структура даних:

typedef struct

{

       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 struct

{                                               

u8 u8DhcpEnable;                  // 0: статичний 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 як 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”:{

                           “u8Mode”: 0,

                           “s8Ss”: ” yrsx8888 “,

                            “s8PassWd”: “987545598400

                  }

    }

              Налаштуйте Wi-Fi пристрою для роботи в режимі точки доступу:

                  {

                            “setWifiSsidParam”:{

                                    “u8Mode”: 1

                            }

                  }

                  Отримайте статус Wi-Fi пристрою:

                  {

                            “getWifiSsidParam” : { }

                  }

Синхронізація часу:

Структура даних:    

                  typedef struct

                  {

                            u8 u8Часовий пояс;                        // Значення часового поясу 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_Гаваї = 2, /* UTC-10:00 */

RT_TIMEZONE_Аляска = 3, /* UTC-9:00 */

RT_TIMEZONE_Тіхуана, Каліфорнія = 4, /* UTC-8:00 */

RT_TIMEZONE_PacificTimeUSCanada = 5, /* UTC-8:00 */

RT_TIMEZONE_MountainTimeUSCanada = 6, /* UTC-7:00 */

RT_TIMEZONE_ЧіуауаЛапазМазатлан ​​= 7, /* UTC-7:00 */

RT_TIMEZONE_Аризона = 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_Центральна Америка = 12, /* UTC-6:00 */

RT_TIMEZONE_БоготаЛімаКіто = 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_ДжорджтаунЛапасСанХуан = 18, /* UTC-4:00 */

RT_TIMEZONE_Сантьяго = 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_Азорські острови = 26, /* UTC-1:00 (Азорські острови) */

RT_TIMEZONE_GreenwichMeanTimeДублінЕдінбургЛісабонЛондон = 27, /* UTC-0:00 */

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

RT_TIMEZONE_Монровія = 29, /* UTC-0:00 */

RT_TIMEZONE_АмстердамБерлінБернРимСтокгольмВідень = 30, /* UTC+1:00 */

RT_TIMEZONE_БелградБратиславаБудапештЛюблянаПрага = 31, /* UTC+1:00 */

RT_TIMEZONE_БрюссельКопенгагенМадридПариж = 32, /* UTC+1:00 */

RT_TIMEZONE_СараєвоСкоп'єВаршаваЗагреб = 33, /* UTC+1:00 */

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

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

RT_TIMEZONE_ГельсінкіКиївРигаСофіяТалліннВільнюс = 36, /* UTC+2:00 */

RT_TIMEZONE_Cairo = 37, /* UTC+2:00 */

RT_TIMEZONE_Мінськ = 38, /* UTC+2:00 */

RT_TIMEZONE_АфіниБухарестСтамбул = 39, /* UTC+2:00 */

RT_TIMEZONE_Єрусалим = 40, /* UTC+2:00 */

RT_TIMEZONE_Багдад = 41, /* UTC+3:00 */

RT_TIMEZONE_Тбілісі = 42, /* UTC+3:00 */

RT_TIMEZONE_КувейтРіяд = 43, /* UTC+3:00 */

RT_TIMEZONE_МоскваСанкт-ПетербургВолгоград = 44, /* UTC+3:00 */

RT_TIMEZONE_Найробі = 45, /* UTC+3:00 */

RT_TIMEZONE_Тегеран = 46, /* UTC+3:30 */

RT_TIMEZONE_AbuDhabiMuscat = 47, /* UTC+4:00 */

RT_TIMEZONE_БакуЄреван = 48, /* UTC+4:00 */

RT_TIMEZONE_Кабул = 49, /* UTC+4:30 */

RT_TIMEZONE_Ташкент = 50, /* UTC+5:00 */

RT_TIMEZONE_Єкатеринбург = 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_АлматиНовосибірськ = 55, /* UTC+6:00 */

RT_TIMEZONE_АстанаДака = 56, /* UTC+6:00 */

RT_TIMEZONE_Рангун = 57, /* UTC+6:30 */

RT_TIMEZONE_Krasnoyarsk = 58, /* UTC+7:00 */

RT_TIMEZONE_БангкокХанойДжакарта = 59, /* UTC+7:00 */

RT_TIMEZONE_BeijingChongqingHongKongUrumqi = 60, /* UTC+8:00 */

RT_TIMEZONE_КуалаЛумпурСінгапур = 61, /* UTC+8:00 */

RT_TIMEZONE_Перт = 62, /* UTC+8:00 */

RT_TIMEZONE_Тайбей = 63, /* UTC+8:00 */

RT_TIMEZONE_ІркутськУлан-Батаар = 64, /* UTC+8:00 */

RT_TIMEZONE_ОсакаСаппороТокіо = 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_Брісбен = 69, /* UTC+10:00 */

RT_TIMEZONE_Владивосток = 70, /* UTC+10:00 */

RT_TIMEZONE_GuamMoresby = 71, /* UTC+10:00 */

RT_TIMEZONE_Хобарт = 72, /* UTC+10:00 */

RT_TIMEZONE_КанберраМельбурнСідней = 73, /* UTC+10:00 */

RT_TIMEZONE_МагаданСоломонНоваКаледонія = 74, /* UTC+11:00 */

RT_TIMEZONE_ОклендВеллінгтон = 75, /* UTC+12:00 */

RT_TIMEZONE_FijiKamchatkaMarshallIs = 76, /* UTC+12:00 */

RT_TIMEZONE_Нукуалофа = 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 struct

{

       u8 u8Cmd;                        // Код команди PTZ_CONTROL_CODE

u8 u8Швидкість;                     // швидкість (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, // рік

                            “u8Month”: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”: правда

                   }

ШІМ-регулятор регулює яскравість світлодіода:

Отримайте поточне значення ШІМ:

{

“getPwmParam”:{

          “u32PwmChn”: 0

}

}

Успішно повернуто:

{

“getPwmParam”:{

          “u32PwmChn”:0,

          “u8 Увімкнути”:1,

          “u8DutyValue”:20

}

}

  • Встановіть значення ШІМ:

{

“setPwmParam”:{

          “u32PwmChn”: 0,

          “u8 Увімкнути”: 1,

          “u8DutyValue”: 60

}

}

Успішно повернуто:

{

“setPwmParam”:правда

}

Примітка : u32PwmChn за замовчуванням 0 і не слід змінювати довільно. u8Enable має значення 0/1, де 0 вимикає вихід ШІМ і 1 дозволяє вихід PWM. u8DutyValue має діапазон значень 0-100.

17. Отримання/налаштування тексту екранного меню:

(1)   Отримати вказаний відеоканал, Текстові параметри екранного меню:

{“getVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1

}}

Успішно повернуто:

{

“getVideoOsdTextInfo”:{

          “u8IspChn”:0, // Відеоканал 0, заповнити 0 за одну камеру

          “u8TextIdx”:1, // Номер текстового поля екранного меню, підтримка кількох текстових полів.

          “u8 Увімкнути”:0, // Ввімкнути, 0: не відображати; 1: дисплей

          “u16XRatioBase50000”:40000, // Відносні координати горизонтального положення, з максимальним значенням 50000.

          “u16YRatioBase50000”:1600, // Відносні координати вертикального положення, з максимальним значенням 50000.

          “u8FgПрозорість”:10, // Прозорість переднього плану [0-255]

          “u8BgПрозорість”:255, // Значення прозорості фону [0-255]

          “u8SizeType”:1, // Розмір тексту, діапазон значень [0-3]

          “u32TextColor_BGRA8888”:4294967295, // Значення кольору тексту ARGB888

          “aszText”:”” // Текстове поле відображає рядок вмісту

}

}

(2)   Встановіть вказаний відеоканал, Текстові параметри екранного меню:

{

“setVideoOsdTextInfo”:{

          “u8IspChn”:0,

          “u8TextIdx”:1,

          “u8 Увімкнути”:1,

          “u16XRatioBase50000”:40000,

          “u16YRatioBase50000”:1600,

          “u8FgПрозорість”:10,

          “u8BgПрозорість”:255,

          “u8SizeType”:1,

          “u32TextColor_BGRA8888”:4294967295,

          “aszText”:”тест 11111222233334444″

}

}

Успішно повернуто:

{

“setVideoOsdTextInfo”:правда

}

Ціновий діапазон: $118.00 через $178.00
Ціновий діапазон: $98.00 через $158.00
Оригінальна ціна була: $199.00.Поточна ціна: $130.00.
Ціновий діапазон: $118.00 через $178.00

задавати питання

← Назад

Дякуємо за вашу відповідь. ✨