Talahanayan ng nilalaman
RTSP real-time na audio at video stream address:
- Format: rtsp://ip:numero ng port/stream
- Default na port: 554
- Stream id: 0 (pangunahing batis), 1 (pangalawang batis)
- Halimbawa, upang kunin ang substream mula sa address ng device 192.168.1.188, ang URL ay:
- rtsp://192.168.1.1 8 8 :554 / 1
Ang kliyente (mobile app) nakakakuha at nagtatakda ng mga parameter ng camera sa pamamagitan ng TCP protocol;
Ang camera ay gumaganap bilang isang TCP server, na ang default na TCP port ay 8866.
Format ng data ng komunikasyon ng TCP:
purong JSON string
Kunin ang katayuan ng camera:
Istraktura ng data:
typedef struct
{
char s8DevId[64]; // Device ID, default sa IP kung walang nakatakdang ID.
u32 u32TfRecord; // Pagre-record ng katayuan ng TF card, 0: walang recording; 1: kasalukuyang nagre-record
}JSON_DEV_STATUS_INFO_S;
Mga character ng command:
#tukuyin ang JS_CMD _ GET_DEV_STATUS “GetDevStatus”
Ipagpalagay na ang IP address ng device ay 192.168.1.188, ipinapadala ng kliyente ang sumusunod na data ng JSON:
{
” GetDevStatus “: { }
}
Matapos matagumpay na natanggap ng camera ang data, ibinalik nito ang sumusunod na data ng JSON:
{
” GetDevStatus “: {
” s8DevId ” : ” 192.168.1.188 ” ,
“ u32TfRecord ” : 0
}
}
Video encoding parameter acquisition/setting:
Istraktura ng data:
typedef struct
{
u8 u8VideoEncChn; //0 : pangunahing batis; 1: pangalawang batis;
u8 u8VideoCodecType; // 1:H264 ; 2:p265
u16 u16Lapad ng Video; // Lapad ng video
u16 u16Taas ng Video; // Taas ng video
u16 u8FrameRate; // Rate ng frame (1-30)
u16 u8IframeInterval; // Ako- laki ng pagitan ng frame (1-100)
u8 u8BitrateControlMode; //Bitrate control mode: 0: CBR 1: VBR
u16 u16BitRateKps; // Laki ng bitrate
char s8VideoSizeName[256]; // Listahan ng mga suportadong resolusyon }JSON_VIDEO_ENC_PARAM_S;
Mga character ng command:
Kumuha ng mga parameter:
#tukuyin ang JS_CMD_GET_VIDEO_ENC_PARAM “getVideoEncParam”
Pagtatakda ng mga parameter:
#tukuyin ang JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”
Halimbawa:
Kinukuha ng kliyente ang sumusunod na data ng JSON na naglalaman ng mga parameter ng pag-encode ng pangunahing bitstream ng camera:
{
” getVideoEncParam “: {
” u8VideoEncChn “: 0
}
}
Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;
{
” getVideoEncParam “: {
” u8VideoEncChn “: 0,
“ u8VideoCodecType ” : 1,
“ u16VideoWidth ” : 3840,
” u16VideoHeight ” : 1080,
“ u8FrameRate ” : 30,
” u8IframeInterval ” : 60,
” u8BitrateControlMode ” : 0,
“ u16BitRateKps ” : 4096,
” s8VideoSizeName ” : ” 3840×1080,1920×540 “
}
}
Itatakda ng kliyente ang pangalawang stream frame rate ng camera sa 15 at ang bitrate sa 1024K sa JSON na format, gaya ng mga sumusunod:
{
” setVideoEncParam “: {
” u8VideoEncChn “: 1,
” u8FrameRate “: 15,
” u16BitRateKps “: 1024
}
}
Pagkatapos ng matagumpay na pag-setup, ang camera ay nagbabalik ng TOTOO.
Audio encoding parameter acquisition/setting:
Istraktura ng data:
typedef struct
{
u8 u8Paganahin; //0: Huwag paganahin ang; 1: Paganahin ang;
u32 u32ChnNum; // 1 : Mono; 2: Stereo
u8 u8EncodeType; //6 : AAC; 8: G711A; 9: G711U; u32 u32SampleRate; // Rate ng sampling: 8000, 16000, 24000, 32000, 48000
u8 u8AoutVolume; // Laki ng volume: [0–100] }JSON_VIDEO_ENC_PARAM_S;
Mga character ng command:
Kumuha ng mga parameter:
#tukuyin ang JS_CMD_GET_AUDIO_PARAM “getAudioParam”
Pagtatakda ng mga parameter:
#tukuyin ang JS_CMD_SET_AUDIO_PARAM “setAudioParam”
Halimbawa:
Kinukuha ng kliyente ang sumusunod na data ng JSON ng mga parameter ng audio encoding ng camera:
{
” getAudioParam “: { }
}
Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;
{
” getAudioParam “: {
” u8Paganahin “: 1,
“ u32ChnNum ” : 1,
“ u8EncodeType ” : 8,
“ u32SampleRate ” : 8000,
“ u8AoutVolume ” : 80,
}
}
Ang mga setting ng client-side para sa camera audio encoding ay AAC, stereo, at isang sampling rate na 48kHz. Ang data ng JSON ay ang mga sumusunod:
{
” setAudioParam “: {
“ u32ChnNum ” : 2,
“ u8EncodeType ” : 6,
“ u32SampleRate ” : 48000
}
}
Pagkatapos ng matagumpay na pag-setup, ang camera ay nagbabalik ng TOTOO.
Pagkuha/setting ng parameter ng larawan ng video:
Istraktura ng data:
typedef struct
{
u8 u8VideoIspChn; //ISP channel; [0-4]
u8 u8Liwanag; // Kaliwanagan: [0~ 100]
u8 u8Contrast; // Kaibahan ng ratio: [0~ 100]
u8 u8Hue; // Chromaticity: [0~ 100]
u8 u8Saturation; // Antas ng saturation: [0~ 100]
u8 u8Talas; // Matalim na pag-aaral: [0~ 100]
}JSON_IMAGE_PARAM_S;
Mga character ng command:
Kumuha ng mga parameter:
#tukuyin ang JS_CMD_GET_IMAGE_PARAM “getImageParam”
Pagtatakda ng mga parameter:
#tukuyin ang JS_CMD_SET_IMAGE_PARAM “setImageParam”
Halimbawa:
Kinukuha ng kliyente ang sumusunod na data ng JSON ng mga parameter ng larawan para sa channel 0 ng ISP ng camera:
{
” getImageParam “: {
“ u8VideoIspChn ” : 0
}
}
Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;
{
” getImageParam “: {
” u8VideoIspChn “: 0,
“u8Brightness” : 50,
“u8Contrast” : 50,
“u8Hue” : 50,
“u8Saturation” : 50,
“u8Sharpness” : 50
}
}
Ang setting ng data ng JSON sa panig ng kliyente para sa liwanag ng camera ay 53, ang kaibahan ay 60, at ang saturation ay 56 ay ang mga sumusunod:
{
” setImageParam “: {
“ u8VideoIspChn ” : 0,
“u8Brightness” : 53,
“u8Contrast” : 60,
“u8Saturation” : 56
}
}
Pagkatapos ng matagumpay na pag-setup, ang camera ay nagbabalik ng TOTOO.
Pagkuha ng impormasyon ng TF card;
Istraktura ng data:
typedef struct
{
u32 u32Kabuuang Sukat; // Kabuuang laki sa MB
u32 u32UsedSize; // Ginagamit na yunit ng kapasidad (MB)
u32 u32AvailableSize; // Magagamit na kapasidad sa MB
}JSON_SD_CARD_INFO_S;
Kumuha ng mga parameter:
#tukuyin ang JS_CMD_GET_SD_CARD_INFO “getSdCardInfo”
Halimbawa:
Kinukuha ng kliyente ang sumusunod na data ng JSON tungkol sa impormasyon ng TF card ng camera:
{
” getSdCardInfo “: { }
}
Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;
{
” getSdCardInfo “: {
” u32Kabuuang Sukat “: 31254,
“u32UsedSize” : 20000,
” u32AvailableSize ” : 11254
}
}
Configuration ng pag-record ng TF card:
Istraktura ng data:
typedef struct
{
u8 u8AutoRecordEnable; //1: Paganahin ang pagre-record; 0: Huwag paganahin ang pagre-record
u8 u8RecordStrChn; // Pagre-record ng pagpili ng stream: 0: pangunahing stream; 1: pangalawang batis
u8 u8PreRecordSeconds; // Oras ng pre-recording [0-10] sa mga segundo
u16 u16RecordSecondsPerFile; // Tagal ng iisang recording file [10-1000] segundo
}JSON_RECORD_CONTROL_PARAM_S;
Kumuha ng mga parameter:
#tukuyin ang JS_CMD_GET_RECORD_CONTROL_PARAM “getRecordControlParam”
Pagtatakda ng mga parameter:
#tukuyin ang JS_CMD_SET_RECORD_CONTROL_PARAM “setRecordControlParam”
Halimbawa:
Kinukuha ng kliyente ang sumusunod na data ng JSON tungkol sa configuration ng recording ng TF card ng camera:
{
” getRecordControlParam “: { }
}
Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;
{
” getRecordControlParam “: {
” u8AutoRecordEnable “: 1,
“ u8RecordStrChn ” : 0,
” u8PrecordSeconds ” : 0,
” u16RecordSecondsPerFile ” : 300
}
}
Wired network IP configuration:
Istraktura ng data:
typedef struct
{
u8 u8DhcpEnable; // 0: Static IP; 1: DHCP;
char s8IP[16]; //IP address
char s8SubMask[16]; // Subnet mask
char s8GateWay[16]; // Gateway IP
char s8Dns[16]; //DNS address
}JSON_NET_PARAM_S;
Kumuha ng mga parameter:
#tukuyin ang JS_CMD_GET_NET_IP_PARAM “getNetIpParam”
Pagtatakda ng mga parameter:
#tukuyin ang JS_CMD_SET_NET_IP_PARAM “setNetIpParam”
Halimbawa:
Kinukuha ng kliyente ang impormasyon ng IP ng camera gamit ang data ng JSON tulad ng sumusunod:
{
” getNetIpParam “: { }
}
Ang data ng JSON na ibinalik ng camera ay ang mga sumusunod;
{
” getNetIpParam “: {
” u8DhcpEnable “: 0,
” s8IP ” : ” 192.168.1.188 ” ,
” s8SubMask ” : ” 255.255.255.0 ” ,
” s8GateWay ” : ” 192.168.1.1 ” ,
” s8Dns ” : ” 192.168.1.1 “
}
}
Ang kliyente ay na-configure gamit ang IP address ng camera bilang 192.168.3.10, gateway bilang 192.168.3.1, at DNS bilang 192.168.3.1. Ang data ng JSON ay ang mga sumusunod:
{
” setNetIpParam “: {
” s8IP ” : ” 192.168.3.10 ” ,
” s8GateWay ” : ” 192.168.3.1 ” ,
” s8Dns ” : ” 192.168.3.1 “
}
}
Pagkatapos ng matagumpay na pag-setup, ang camera ay hindi nagbabalik ng anumang data, at kailangang muling kumonekta ang kliyente sa device gamit ang bagong IP address.
Pag-configure ng parameter ng WiFi:
Kinukuha ng kliyente/app ang isang listahan ng mga SSID ng mga router na natagpuan ng device.
{
“getAPSsidList” :{ }
}
Magbabalik ang device ng listahan ng mga SSID: Pumili ng ruta SSID mula sa listahan kung saan ikokonekta.
I-configure ang Wi-Fi ng iyong device upang gumana sa STA mode:
{
“setWifiSsidParam”:{
“u8Mode”: 0,
“s8Ss”: ” yrsx8888 “,
“s8PassWd”: “987545598400
}
}
I-configure ang Wi-Fi ng device para gumana sa hotspot AP mode:
{
“setWifiSsidParam”:{
“u8Mode”: 1
}
}
Kunin ang status ng Wi-Fi ng device:
{
“getWifiSsidParam” : { }
}
Pag-synchronize ng oras:
Istraktura ng data:
typedef struct
{
u8 u8TimeZone; // Halaga ng time zone RT_TIMEZONE_E
char s8DateTime[64]; // Format ng oras: “2019-06-12_12:56:59_3”
}JSON_DATE_TIME_INFO_S;
Kahulugan ng halaga ng time zone:
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_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_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 (Republika ng Cape Verde) */
RT_TIMEZONE_Azores = 26, /* UTC-1:00 (Azores) */
RT_TIMEZONE_GreenwichMeanTimeDublinEdinburghLisbonLondon = 27, /* UTC-0:00 */
RT_TIMEZONE_Casablanca = 28, /* UTC-0:00 */
RT_TIMEZONE_Monrovia = 29, /* UTC-0:00 */
RT_TIMEZONE_AmsterdamBerlinBernRomeStockholmVienna = 30, /* UTC+1:00 */
RT_TIMEZONE_BelgradeBratislavaBudapestLjubljanaPrague = 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_AthensBucharestIstanbul = 39, /* UTC+2:00 */
RT_TIMEZONE_Jerusalem = 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_ChennaiKolkataMumbaiNewDelhi = 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_Taipei = 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_CanberraMelbourneSydney = 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;
Kumuha ng mga parameter:
#tukuyin ang JS_CMD_GET_DEV_DATE_TIME “GetDevDateTime”
Pagtatakda ng mga parameter:
#tukuyin ang JS_CMD_SET_DEV_DATE_TIME “setDevDateTime”
Kunin ang data ng JSON sa oras ng device :
{
” GetDevDateTime ” : {}
}
Ibinabalik ng device ang data ng JSON:
{
” GetDevDateTime ” : {
“u8TimeZone” : 60,
“s8PetsaOras” : “2020-03-06_12:56:59_3”
}
}
Itinatakda ng data ng JSON ang oras ng device sa Huwebes, Marso 12, 2020, sa 3:38:30 PM:
{
” setDevDateTime ” : {
“s8PetsaOras” : “2020-03-12_15:38:30_4”
}
}
Ibinalik ng device ang TRUE sa matagumpay na pag-setup.
Pamamahala ng Kagamitan:
JSON data para sa pag-restart ng device:
{
” setSysControlParam ” : {
“u8Restart” : 1
}
}
JSON data para sa pagpapanumbalik ng mga factory setting:
{
” setSysControlParam ” : {
“u8ResetDefault” : 1
}
}
Pag-format ng data ng JSON ng SD card:
{
” setSysControlParam ” : {
“u8FormatSdCard” : 1
}
}
Kontrol ng PTZ:
Istraktura ng data:
typedef struct
{
u8 u8Cmd; // Command code na PTZ_CONTROL_CODE
u8 u8Bilis; // Bilis (1-64)
u8 u8Data1; // Nakalaan; ito ay gagamitin para sa mga preset na posisyon.
u8 u8Data2; // Nakalaan, ito ay gagamitin para sa mga espesyal na utos ng PTZ.
}JSON_PTZ_CONTROL_S;
enum PTZ_CONTROL_CODE
{
PTZ_STOP = 0, // Tigilan mo na
PTZ_UP=1, // Up
PTZ_DOWN=2, // down
PTZ_LEFT=3, // Kaliwa
PTZ_RIGHT=4, // kanan
PTZ_LEFT_UP=5, // kaliwang itaas
PTZ_LEFT_DOWN=6, // Kaliwa sa ibaba
PTZ_RIGHT_UP=7, // kanang itaas
PTZ_RIGHT_DOWN=8, // 8 : kanang ibaba
PTZ_ZOOM_IN=9, // 9 : Mag-zoom in
PTZ_ZOOM_OUT=10, // 10: ZOOM OUT=10, // 10 : ZOOM OUT=10
PTZ_FOCUS_NEAR=11, // 11 : Nakatuon sa malapit
PTZ_FOCUS_FAR=12, // 12 : Focus sa malayo
PTZ_IRIS_ADD=13, // 13 : Pagtaas ng aperture
PTZ_IRIS_REDUCE=14, // 14 : Nabawasan ang aperture
PTZ_GOTO_POINT = 15, // 15 : Tumawag ng preset bit
PTZ_CLEAR_POINT = 16, // 16 : I-clear ang preset bit
PTZ_PERSET_POINT = 17, // 17 : Itakda ang preset bit
PTZ_AUTO_RUN = 18, // 18 : Pahalang na auto-scan
};
Kontrol ng PTZ:
#tukuyin ang JS_CMD_PTZ_CONTROL “PtzControlCmd”
Ang mga utos ng JSON na kinokontrol ng Ptz:
- Paglipat pababa sa bilis ng 30:
{
” PtzControlCmd “: {
” u8Cmd “: 2,
” u8Bilis ” : 30
}
}
- 1. Itakda ang preset na posisyon 2:
{
” PtzControlCmd “: {
” u8Cmd “: 17,
“u8Speed” : 30,
“u8Data1” : 2
}
}
Paghahanap ng file ng TF card:
( 1) Utos na hanapin ang lahat ng mga video file sa loob ng isang partikular na yugto ng panahon sa parehong araw:
{
“searchRecordFileList”:{
“u32Taon”:2020, // taon
“u8Buwan”:7, // Buwan
“u8Day”:14, // Araw araw
“u8StartHour”:0, // Oras ng pagsisimula sa mga oras
“u8StartMinute”:0, // Oras ng pagsisimula sa ilang minuto
“u8EndHour”:23, // Oras ng pagtatapos sa mga oras
“u8EndMinute”:59, // Oras ng pagtatapos sa ilang minuto
“u8EncChn”:0, // 0 ay ang default na halaga.
“u8RecordTye”:0, // Uri ng file: 0: Lahat ng mga file, 1: Nakaiskedyul na recording; 2: Pag-record ng alarm; 3: Mga imahe;
“u32StartIdx”:0, // Ang sequence number ng panimulang file
“u32ExpectedCount”: 10 // Bilang ng mga file na ibinalik ng kahilingan, sa kasalukuyan ang pinakamataas na halaga ay 32.
}
}
Ang data na ibinalik ng device:
{
“searchRecordFileList”: {
“u32RecordFileTotalCount”: 7, // Kabuuang bilang ng mga file na hinanap sa loob ng panahong ito
“stRecordFileList”: [ // Filename na may path, laki ng file]
“/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
]
}
}
Manu-manong kumuha ng JPG na imahe:
Ipadala ang sumusunod na command sa device.
{
“ManualSnapJpg”:{
}
}
Matagumpay na nakabalik:
{
“ManualSnapJpg”: totoo
}
Inaayos ng kontrol ng PWM ang liwanag ng LED:
Kunin ang kasalukuyang halaga ng PWM:
{
“getPwmParam”:{
“u32PwmChn”: 0
}
}
Matagumpay na nakabalik:
{
“getPwmParam”:{
“u32PwmChn”:0,
“u8Paganahin”:1,
“u8DutyValue”:20
}
}
- Itakda ang halaga ng PWM:
{
“setPwmParam”:{
“u32PwmChn”: 0,
“u8Paganahin”: 1,
“u8DutyValue”: 60
}
}
Matagumpay na nakabalik:
{
“setPwmParam”:totoo
}
Tala : Nagde-default ang u32PwmChn sa 0 at hindi dapat baguhin nang basta-basta. Ang u8Enable ay may halaga na 0/1, kung saan 0 hindi pinapagana ang output ng PWM at 1 nagbibigay-daan sa output ng PWM. Ang u8DutyValue ay may hanay ng halaga ng 0-100.
17. OSD Text Acquisition/Setting:
(1) Kunin ang tinukoy na channel ng video, Mga parameter ng teksto ng OSD:
{“getVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1
}}
Matagumpay na nakabalik:
{
“getVideoOsdTextInfo”:{
“u8IspChn”:0, // Channel ng video 0, punan 0 para sa isang camera
“u8TextIdx”:1, // Ang numero ng OSD text box, sumusuporta sa maramihang mga text box.
“u8Paganahin”:0, // Paganahin ang, 0: huwag ipakita; 1: displey
“u16XRatioBase50000”:40000, // Mga kamag-anak na coordinate ng pahalang na posisyon, na may pinakamataas na halaga ng 50000.
“u16YRatioBase50000”:1600, // Mga kamag-anak na coordinate ng patayong posisyon, na may pinakamataas na halaga ng 50000.
“u8FgTransparency”:10, // Transparency sa harapan [0-255]
“u8BgTransparency”:255, // Halaga ng transparency sa background [0-255]
“u8SizeType”:1, // Laki ng text, saklaw ng halaga [0-3]
“u32TextColor_BGRA8888”:4294967295, // Kulay ng teksto ARGB888 halaga
“aszText”:”” // Ipinapakita ng text box ang string ng nilalaman
}
}
(2) Itakda ang tinukoy na channel ng video, Mga parameter ng teksto ng OSD:
{
“setVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1,
“u8Paganahin”:1,
“u16XRatioBase50000”:40000,
“u16YRatioBase50000”:1600,
“u8FgTransparency”:10,
“u8BgTransparency”:255,
“u8SizeType”:1,
“u32TextColor_BGRA8888”:4294967295,
“aszText”:”pagsubok 11111222233334444″
}
}
Matagumpay na nakabalik:
{
“setVideoOsdTextInfo”:totoo
}
CVBS HDMI sa IP Encoder
CVBS to Ethernet IP Encoder stable sa mahinang Signal proof, Mababang Signal lock
CVBS HDMI sa IP Encoder
CVBS HDMI sa IP Encoder

Magtanong ng isang katanungan
Ipinadala ang iyong mensahe