Змест
Адрас патоку аўдыё і відэа 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]; // Ідэнтыфікатар прылады, па змаўчанні IP, калі не ўстаноўлены ID.
u32 u32TfЗапіс; // Статус запісу карты 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 u16Шырыня відэа; // Шырыня відэа
u16 u16VideoHeight; // Вышыня відэа
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 u32TotalSize; // Агульны памер у МБ
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 u8Аўтазапіс; //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 “: {
” u8Аўтазапіс “: 1,
« u8RecordStrChn » : 0,
” u8PrecordSeconds ” : 0,
” u16RecordSecondsPerFile ” : 300
}
}
Канфігурацыя IP правадной сеткі:
Структура дадзеных:
typedef struct
{
u8 u8DhcpУключыць; // 0: Статычны IP; 1: DHCP;
знак s8IP[16]; //IP-адрас
char s8SubMask[16]; // Маска падсеткі
char s8GateWay[16]; // IP-шлюз
знак 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 “: {
” 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, шлюз як 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 пералік
{
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_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_ДжорджтаўнЛапасСанХуан = 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_Сярэдняя Атлантыка = 24, /* UTC-2:00 */
RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (Рэспубліка Каба-Вэрдэ) */
RT_TIMEZONE_Азорскія выспы = 26, /* UTC-1:00 (Азорскія выспы) */
RT_TIMEZONE_GreenwichMeanTimeDublinEdinburghLisbonLondon = 27, /* UTC-0:00 */
RT_TIMEZONE_Касабланка = 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_Заходняя Цэнтральная Афрыка = 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_АбуДабіМаскат = 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,
“s8ДатаЧас” : “2020-03-06_12:56:59_3”
}
}
Даныя JSON усталёўваюць час прылады на чацвер, сакавік 12, 2020, у 3:38:30 PM:
{
” setDevDateTime ” : {
“s8ДатаЧас” : “2020-03-12_15:38:30_4”
}
}
Прылада вярнула TRUE пасля паспяховай наладкі.
Кіраванне абсталяваннем:
Даныя JSON для перазапуску прылады:
{
” setSysControlParam ” : {
«u8Restart» : 1
}
}
Даныя JSON для аднаўлення заводскіх налад:
{
” setSysControlParam ” : {
«u8ResetDefault» : 1
}
}
Фарматаванне дадзеных JSON SD-карты:
{
” setSysControlParam ” : {
«u8FormatSdCard» : 1
}
}
PTZ Control:
Структура дадзеных:
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 Control:
#вызначыць 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 дазваляе выхад ШІМ. u8DutyValue мае дыяпазон значэнняў 0-100.
17. Атрыманне/налада тэксту экраннага меню:
(1) Атрымаць паказаны відэаканал, Тэкставыя параметры экраннага меню:
{“getVideoOsdTextInfo”:{
“у8ІспЧн”:0,
“u8TextIdx”:1
}}
Паспяхова вярнуўся:
{
“getVideoOsdTextInfo”:{
“у8ІспЧн”: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”:{
“у8ІспЧн”:0,
“u8TextIdx”:1,
“u8Уключыць”:1,
“u16XRatioBase50000”:40000,
“u16YRatioBase50000”:1600,
“u8FgПразрыстасць”:10,
“u8BgПразрыстасць”:255,
“u8SizeType”:1,
“u32TextColor_BGRA8888”:4294967295,
“aszText”:”тэст 11111222233334444″
}
}
Паспяхова вярнуўся:
{
“setVideoOsdTextInfo”:праўда
}
CVBS HDMI да IP -энкодера
IP-кадавальнік CVBS у Ethernet стабільны пры слабым сігнале, Блакаванне нізкага сігналу
CVBS HDMI да IP -энкодера
CVBS HDMI да IP -энкодера

задаваць пытанне
Ваша паведамленне адпраўлена