Preface

Thank you for purchasing our product. If there is any question or request, please feel free to contact us.

This manual may contain several technically incorrect places or printing errors, and the content is subject to change without notice. The updates will be added into the new version of this manual, and we will readily improve or update the product or procedure described in the manual.


Overview

The device network SDK is developed based on private network communication protocol, and it is designed for the remote connection and configuration of embedded DVR, Encoder, IPC and the other IP devices.

The functions supported by the SDK

  • 1. Live view, playback, remote file download, PTZ control, arm/disarm, voice talk, log query, decoding card function, etc.
  • 2. Remote upgrade, remotely reboot, remotely shut down, remotely format hard disk, and device configuration (system configuration, channel configuration, serial port configuration, alarm configuration, users configuration), etc.

    • The SDK is used as client. The client connects to the device actively, and then does operation about the device, live view, remote playback and download, PTZ control, voice talk and so on. It applies to, but are not limited to the following product model:

    1. Encoders or decoders

    NVR: DS-9600, DS-9500, DS-7700, DS-7600 series;
    HDVR: DS-9000, DS-8000-ST, DS-7600 series;
    DVR: DS-9100, DS-8100, DS-8000-S, DS-8800, DS-7800, DS-7300, DS-7200, DS-7100, DS-7000 series;
    Encoder: DS-6600, DS-6500(-JX), DS-6100, DS-6401HFH, DS-6000 series;
    Decoder: DS-6300D(-JX), DS-6400HD(-JX/-T), DS-6500D series
    Remarks: including the model of -ST, -SH, -SE, -SN, -RT, -RH, -XT

    2. IP cameras or IP speed domes

    IPC: standard definition, high definition, the infrared, the thermal, e.g. DS-2CD7xx, DS-2CD71xx, DS-2CD72xx, DS-2CD8xx, DS-2CD81xx, DS-2CD82xx, DS-2CD84xx, DS-2CD83xx, DS-2CD20xx, DS-2CD21xx, DS-2CD22xx, DS-2CD23xx, DS-2CD26xx, DS-2CD30xx, DS-2CD31xx, DS-2CD32xx, DS-2CD33xx, DS-2CD40xx, DS-2CD41xx, DS-2CD42xx, DS-2CD62xx, and so on
    IPD: standard definition, high definition, the infrared, e.g. DS-2DE71xx, DS-2DM72xx, DS-2DF72xx, DS-2DF1-7xx, DS-2DF1-6xx, DS-2DE51xx, DS-2DM52xx, DS-2DF52xx, DS-2DF1-5xx, DS-2DF1-4xx, DS-2DM1-7xx, DS-2DM1-6xx, DS-2DM1-5xx, and so on
    Zoom camera: DS-2DZ216MF, DS-2DZ2116, DS-2ZCN2006, DS-2ZCN2007, DS-2ZMN2007, DS-2ZMN2006, and so on
    Intelligent traffic camera (capture camera): (i)DS-2CD93xx, DS-2CD92xx, (i)DS-2CD91xx, DS-2CD9xx, DS-TCG225, DS-TCG113 and so on

    3. Intelligent devices

    Behavior analysis, ATM protection, automatic tracking, passenger flow counting, face recognition, intelligent traffic event, and so on

    4. Other IP devices

    CVR, Alarm host, Multi-screen controller , IP module, and so on

    Device network SDK includes components such as network communication library, Player SDK. Both Windows and Linux version of SDK are available, their components are listed below:
    Network Communication Library | External Interface | HCNetSDK.h | Header File |
 |  | HCNetSDK.lib | LIB library file |
 |  | HCNetSDK.dll | DLL library file |
 | Core component | HCCore.lib | LIB library file |
 |  | HCCore.dll | DLL library file |
Component Library | Device configuration core component | HCCoreDevCfg.dll | DLL library file | HCNetSDKCom folder
 | Live view component | HCPreview.lib | LIB library file | HCNetSDKCom folder
 |  | HCPreview.dll | DLL library file | HCNetSDKCom folder
 | Playback component | HCPlayBack.dll | DLL library file | HCNetSDKCom folder
 | Voice component | HCVoiceTalk.dll | DLL library file | HCNetSDKCom folder
 | Alarm component | HCAlarm.lib | LIB library file | HCNetSDKCom folder
 |  | HCAlarm.dll | DLL library file | HCNetSDKCom folder
 | Display component | HCDisplay.dll | DLL library file | HCNetSDKCom folder
 | Industrial application management configuration component | HCIndustry.dll | DLL library file | HCNetSDKCom folder
 | Maintenance management configuration component | HCGeneralCfgMgr.lib | LIB library file | HCNetSDKCom folder
 |  | HCGeneralCfgMgr.dll | DLL library file | HCNetSDKCom folder
RTSP communication library |  | StreamTransClient.dll | DLL library file | HCNetSDKCom folder
Encapsulation transformation library |  | SystemTransform.dll | DLL library file | HCNetSDKCom folder
Character transcoding library |  | libiconv2.dll | DLL library file | HCNetSDKCom folder
Analog capability set |  | LocalXml.zip | XML file package |
Frame analysis library |  | AnalyzeData.dll | DLL library file | HCNetSDKCom folder
Voice intercom library |  | AudioIntercom.dll | DLL library file | HCNetSDKCom folder
 |  | OpenAL32.dll | DLL library file | HCNetSDKCom folder
Player SDK | Core library file | PlayM4.h, WindowsPlayM4.h | Header File |
 |  | PlayCtrl.lib | LIB library file |
 |  | PlayCtrl.dll | DLL library file |
 | Video rendering library | SuperRender.dll | DLL library file |
 | Audio rendering library | AudioRender.dll | DLL library file |
 | Panoramic camera library | EagleEyeRender.dll | DLL library file |
 | GPU hardware decoding library | HWDecode.dll | DLL library file |
 | Fisheye camera library | MP_Render.dll | DLL library file |
 | Video post-processing library | MP_VIE.dll | DLL library file |
 | Temperature measurement information capture library | YUVProcess.dll | DLL library file |
 | DirectX component library | D3DCompiler_43.dll | DLL library file |
 |  | D3DX9_43.dll | DLL library file |
    Linux Device Network SDK library:
    Network communication library | External Interface | HCNetSDK.h | Header File |
 |  | libhcnetsdk.so | SO library file |
 | Core component | libHCCore.so | SO library file |
Component library | Device configuration core component | libHCCoreDevCfg.so | SO library file | HCNetSDKCom folder
 | Live view component | libHCPreview.so | SO library file | HCNetSDKCom folder
 | Playback component | libHCPlayBack.so | SO library file | HCNetSDKCom folder
 | Voice component | libHCVoiceTalk.so | SO library file | HCNetSDKCom folder
 | Alarm component | libHCAlarm.so | SO library file | HCNetSDKCom folder
 | Display component | libHCDisplay.so | SO library file | HCNetSDKCom folder
 | Industrial application management configuration component | libHCIndustry.so | SO library file | HCNetSDKCom folder
 | Maintenance management configuration component | libHCGeneralCfgMgr.so | SO library file | HCNetSDKCom folder
hpr library |  | libhpr.so | SO library file |
RTSP communication library |  | libStreamTransClient.so | SO library file | HCNetSDKCom folder
Encapsulation transformation library |  | libSystemTransform.so | SO library file | HCNetSDKCom folder
Character transcoding library |  | libiconv2.so | SO library file | HCNetSDKCom folder
Frame analysis library |  | libanalyzedata.so | SO library file | HCNetSDKCom folder
Player SDK | Core library file | PlayM4.h, LinuxPlayM4.h | Header File |
 |  | libPlayCtrl.so | Header File |
 | Video rendering library | libSuperRender.so | SO library file |
 | Audio rendering library | libAudioRender.so | SO library file |

    HCNetSDK.dll(libhcnetsdk.so) and HCCore.dll(libHCCore.so) are required to be loaded for client development ,and the other '.dll' files are optional components.

    • The Network Communication Library is the main functional part of the Device Network SDK. It is used for communication between the client and stand alone devices, including remote control & configuration, video stream acquiring and handling, etc; and Network Communication Library will dynamically loading RTSP Communication Library, Software Decoding Library, Hardware Decoding Library, etc. Network Communication Library combines a lot of functions from the Software Decoding Library and Hardware Decoding Library to facilitate the programming work. However, it is suggested the users to get video stream from 'HCNetSDK.dll', and call relative APIs in the Software Decoding Library or Hardware Decoding Library directly if you want to build a system with more complete functions, or in a more flexible way. All of the components of HCNetSDK.dll(libhcnetsdk.so),HCCore.dll(libHCCore.so) and HCNetSDKCom files must be reloaded while updating the SDK.And the file name of HCNetSDKCom shouldn't be modified.
    • hpr library is the dependent library of network communication library, loaded with network communication library in Linux when using SDK.
    • RTSP Communication Library supports to get stream from the device by RTSP protocol. Users must load this component for stream of the devices that use RTSP protocol.
    • Encapsulation transformation library function can be divided into two pieces: one is converting standard stream data to private encapsulation format stream data. When users need to capture private format stream data from products supporting RTSP protocol(that is setting callback function of NET_DVR_RealPlay_V40 interface for capturing data or callNET_DVR_SetRealDataCallBack interface to capture data), must load this component. Another is converting standard stream data to other package format, such as 3GPP,PS and so on. For example, when users need to capture specific package format real-time stream data from products supporting RTSP protocol(corresponding SDK interface is NET_DVR_SaveRealData), must load this component.
    • Character transcoding library: when the character set does not match with that of the device, it requires transcoding within the SDK, libiconv library is used by default. To use other encoding libraries, call NET_DVR_SetSDKLocalCfg(type: NET_SDK_LOCAL_CFG_TYPE_BYTE_ENCODE) to set trancoding callback function, inform SDK your own character encoding interface, and SDK uses the interface to process the character string.
    • Analog capability set: to get the device capability set (NET_DVR_GetDeviceAbility), call NET_DVR_SetSDKLocalCfg to enable analog capability set, and LocalXml.zip should be loaded (place under the same directory of network communication library).
    • Voice intercom library: used in voice intercom for collecting data through sound card, and encodes stream or decodes and plays audio stream data based on encoding format (stream data without encapsulation format). V4.2.2.5 and earlier versions all realize API using Windows, later versions use voice intercom by default. Choose earlier Windows API mode through interface NET_DVR_SetSDKLocalCfg. OpenAL32.dll is the dependent library, and must be loaded in voice intercom mode. Audio encoding/decoding is now only supported in Win32 SDK. Voice intercom, voice broadcast and audio encoding/decoding are not supported in Linux, only voice forwarding interface is supported.
    • Frame analysis library: used for analysis of video and audio frame data, must be loaded when calling NET_DVR_SetESRealPlayCallBack, NET_DVR_SetPlayBackESCallBack to set raw stream callback function.
    • Player SDK: used to decode and display real-time stream (live view) and decode and play back recordings. The component must be loaded if you need to play and display real-time stream and recording stream within SDK (which means when the play handle of the second structure of NET_DVR_RealPlay_V40 is set to valid); or it is not necessary to load the component if you need to use tje network communication library to capture data and process externally. External decoding is more flexible, for details see Play SDK Programming Manual.


System Supported by SDK

Device Network SDK for Windows 32bit:
  • Windows8/Windows7/vista/xp/2000 and Windows Server 2012/2008/2003
    Device Network SDK for Windows 64bit:
  • Windows10/Windows8Windows8/Windows7 and Windows Server 2012/2008

    Device Network SDK for Linux 32 bit:
  • The version is requested to be gcc 4.1.2 or above
  • The supported OS:CentOS 5.4, Redhat AS5.4,ubuntu 9.10, Fedora12 or above

    Device Network SDK for Linux 64 bit:
  • The version is requested to be gcc 4.1.2 or above
  • The supported OS: CentOS 5.4, Redhat AS5.4, SUSE10 or above


Version New Content

Device Network SDK Programming Manual

Version Update Content

Update Date | Version | New device types | New content
2016.12.19 V5.2.7.1
build20161116 		Linux32 & Linux64 Baseline Version 1. Added components and dependent library loading path configuration function (API: NET_DVR_SetSDKInitCfg):
Parameter type: NET_SDK_INIT_CFG_SDK_PATH.
2. Added setting recording file size restriction function (API: NET_DVR_GetSDKLocalCfg and NET_DVR_SetSDKLocalCfg):
Configuration type: NET_DVR_LOCAL_CFG_TYPE_GENERAL.
3. Added playback blocking capture interface: NET_DVR_CapturePlaybackPictureBlock_New, NET_DVR_SetCapturePictureMode added support of setting playback capture to JPEG or BMP mode.
4. Added live view blocking capture interface: NET_DVR_CapturePictureBlock_New.
5. Added live view raw stream callback function interface: NET_DVR_SetESRealPlayCallBack. Open playback raw stream playback callback function interface: NET_DVR_SetPlayBackESCallBack.
6. Added interface of sending notice to player SDK when changes happen in live view window: NET_DVR_ChangeWndResolution.
7. Added interface of sending notice to player SDK when changes happen in playback window (API: NET_DVR_PlayBackControl_V40):
Command: NET_DVR_CHANGEWNDRESOLUTION.
8. For Linux 64 version, added player SDK decoding function for live view and playback, which means to input valid window handle to directly start live view.
2016.12.01 V5.2.7.1
build20161201 		Panic Alarm Station V1.1.0
DS_PEAXX Series 		1. Device system total capability DeviceCap added panic alarm station node isSupportPEA.(API: NET_DVR_STDXMLConfig)
2. Emergency alarm product capability set EmergencyAlarmProductCap added capability node: audioInOutCfg, nearInfraredInductionCfg, getAudioFileListByType, deleteAudioFile.
(API: NET_DVR_GetSTDAbility, capability type: NET_DVR_GET_EMERGENCE_ALARM_PRODUCT_CAP)
3. Added CID alarm sub0type enumeration list, see NET_DVR_ALARMHOST_CID_MINOR_TYPE
4. Event trigger linkage configuration capability EventTriggerCap extension, added node <AlarmInCap> <EmergencyCallhelpCap> <ConsultCap>
(API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES)
5. Added getting/setting security control panel arming region linkage configuration function, API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig
Command: NET_DVR_GET_ALARMIN_TRIGGER, NET_DVR_SET_ALARMIN_TRIGGER.
6. Added getting/setting security control panel emergency linkage configuration function, API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig
Command: NET_DVR_GET_EMERGENCY_CALL_HELP_TRIGGER, NET_DVR_SET_EMERGENCY_CALL_HELP_TRIGGER.
7. Added getting/setting security control panel service inquiry linkage configuration function, API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig
Command: NET_DVR_GET_CONSULT_TRIGGER, NET_DVR_SET_CONSULT_TRIGGER.
8. Getting security control panel other status function extension V50.(API: NET_DVR_GetDVRConfig)
Command: NET_DVR_GET_ALARMHOST_OTHER_STATUS_V50.
9. Arming region parameter configuration extension V50, API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig
Command: NET_DVR_GET_ALARMIN_PARAM_V50, NET_DVR_SET_ALARMIN_PARAM_V50.
10. byRecordType of All day recording parameter structure NET_DVR_RECORDDAY_V40 and time period recording parameter structureNET_DVR_RECORDSCHED_V40 added value: 40- arming region alarm, 41- emergency, 42- service inquiry
11. Added audio inoput and output configuration function (API: NET_DVR_STDXMLConfig):
Capability Set: GET /ISAPI/SecurityCP/BasicParam/audioInOutCfg/capabilities\r\n
Get: GET /ISAPI/SecurityCP/BasicParam/audioInOutCfg\r\n
Set: PUT /ISAPI/SecurityCP/BasicParam/audioInOutCfg\r\n
12. Upload file interface NET_DVR_UploadFile extension, added upload audio file, file type: UPLOAD_AUDIO_FILE.
13. Get file upload progress and status interface NET_DVR_GetUploadState added return value: 10- number of files exceeded upper limit, 11- oversized file, 12- file type error (wav files supported by device).
14. Added audio file list function (API: NET_DVR_STDXMLConfig):
Capability Set: GET /ISAPI/SecurityCP/BasicParam/audioFileList/capabilities\r\n
Get: GET /ISAPI/SecurityCP/BasicParam/audioFileList/type=?\r\n
Delete: DELETE /ISAPI/SecurityCP/Control/audioFile/name=?\r\n
15. dwFileType of video search condition structure NET_DVR_FILECOND_V40 added value: 44- arming region alarm, 45- emergency,46- service inquiry.
byFileType of file search result structureNET_DVR_FINDDATA_V40 added value: 44- arming region alarm, 45- emergency, 46- service inquiry.
16. Emergency alarm processing control parameter structureNET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG added byType (processing type): 0- emergency alarm, 1- service inquiry.
API: NET_DVR_STDControl, Command: NET_DVR_EMERGENCE_ALARM_RESPONSE_CTRL
17. Security control panel capability set structureNET_DVR_ALARMHOST_ABILITY added byAlarmLampNum- number of sirens (API: NET_DVR_GetDeviceAbility)
Capability set type: ALARMHOST_ABILITY.
18. Auxiliary function control extension, dwType added: 5- alarm lamp.(API: NET_DVR_AlarmHostAssistantControl)
19. Audio prompt configuration capability set VoicePromptionCfg extension, added capability node callWaitting, consultWaitting(API: NET_DVR_GetSTDAbility):
Capability set type: NET_DVR_GET_VOICE_PROMPTION_CFG_CAP.
20. Audio prompt configuration structure NET_DVR_VOICE_PROMPTION_CFG extension, added byCallWaittingFile, byConsultWaittingFile, API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig
Command: NET_DVR_GET_VOICE_PROMPTION_CFG, NET_DVR_SET_VOICE_PROMPTION_CFG.
21. Security control panel log type extension, alarm type added value: MINOR_ALARMHOST_CONSULTING_ALARM, MINOR_ALARMHOST_CONSULTING_ALARM_RESTORE.
Operation type added value: MINOR_ALARMHOST_READ_CARD, MINOR_ALARMHOST_START_BROADCAST, MINOR_ALARMHOST_STOP_BROADCAST, see structure: NET_DVR_ALARMHOST_SEARCH_LOG_PARAM.
22. Security control panel XML capability set AlarmHostAbility added capability node: associateLampOut, emergencyCallZone, consultZone, auxiliary control node assistantControl added alarm lamp: alarmLamp.
API: NET_DVR_GetDeviceAbility, capability type: DEVICE_ABILITY_INFO
23. Access control capability set AcsAbility extension, cardType added value: mastercard,staffcard,normalopencard,cleancard,standbycard, added capability node: employeeNo, name, departmentNo, schedulePlanNo, schedulePlanType, lockID, roomCode, cardRight.
API: NET_DVR_GetDeviceAbility, capability type: ACS_ABILITY
24. IP video intercom capability set IpViewDevAbility extension, added capability node: serverSipPort, isNotSupportLocalPort.
API: NET_DVR_GetDeviceAbility, capability type: IP_VIEW_DEV_ABILITY
25. Device network application parameter capability NetAppAbility extension, added capability node: isNotSupportPassword.
API: NET_DVR_GetDeviceAbility, capability type: DEVICE_NETAPP_ABILITY
26. Device channel input capability ChannelInputAbility extension, RecordPlan and RecordQuery added value: alarmInAlarm, emergencyCallhelpAlarm, consultAlarm.
API: NET_DVR_GetDeviceAbility, capability type: DEVICE_ABILITY_INFO
27. Added error code (API: NET_DVR_GetLastError and NET_DVR_GetErrorMsg): 1224, 1357, 1358.
2016.11.02 V5.2.5.40
build20161102 		Trial DVR V3.4.0
DS-8116THFHL-F4 		1. Added group audio mix configuration (API: NET_DVR_STDXMLConfig):
Get audio configuration capability set (extension): GET /ISAPI/System/Audio/capabilities;
Get group audio mix configuration capability set: GET /ISAPI/System/Audio/Mixing/capabilities;
Get single channel group audio mix configuration: GET /ISAPI/System/Audio/Mixing/<ID>;
Set single channel group audio mix configuration: PUT /ISAPI/System/Audio/Mixing/<ID>;
Batch get group audio mix configuration: GET /ISAPI/System/Audio/Mixing;
Batch set group audio mix configuration: PUT /ISAPI/System/Audio/Mixing.
2. Added support of serial port parameter XML transparent transmission configuration function (API: NET_DVR_STDXMLConfig):
Get device serial port capability set: GET /ISAPI/System/Serial/capabilities;
Get single serial port parameter capability set: GET /ISAPI/System/Serial/ports/<ID>;
Set single serial port parameter: PUT /ISAPI/System/Serial/ports/<ID>; Batch get serial port parameter: GET /ISAPI/System/Serial/ports.
3. NET_DVR_CASE_INFO (case information) extension, byCaseType (case type) added value: 3- custom, uses 32 bytes of added parameter: sCaseTypeCustom[NET_SDK_CASETYPE_LEN] (custom case type).
4. byResolution (resolution) of NET_DVR_VIDEOOUT_RESOLUTION_CFG (video output resolution configuration) added value: 5-3840*2160.
5. wDevType (device type) of NET_DVR_DEVICECFG_V40 (device parameter) and NET_DVR_DEVICEINFO_V30 (device information) added value: DS_8116THFHL_F4 (trial DVR).
2016.11.02 V5.2.5.40
build20161102 		Network Camera V5.4.4 1. Added software service capability set (API: NET_DVR_GetSTDAbility):
Capability set type: NET_DVR_GET_SOFTWARE_SERVICE_CAPABILITIES.
>2. Added software service configuration function (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SOFTWARE_SERVICE, NET_DVR_SET_SOFTWARE_SERVICE.
3. byResolution (resolution) of NET_DVR_COMPRESSION_INFO_V30 (stream compression parameters) added value:150-8208*3072, 151-4096*1536, 152-6912*2800, 153-3456*1400.
4. byCaptureModeN, byCaptureModeP (video input mode) of NET_DVR_CAMERAPARAMCFG_EX (camera parameter configuration) added value:141-2688*1520@12.5fps.
5. Camera parameter capability set (IPC_FRONT_PARAMETER_V20, API:NET_DVR_GetDeviceAbility, capability set type: IPC_FRONT_PARAMETER_V20) extension, <captureModePWithIndex> and <captureModeNWithIndex>(video input mode) added value: 141-2688*1520@12.5fps.
6. Device software and hardware capability set (BasicCapability, API:NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY) extension, <NeedReboot>(whether to restart) added sub node: <ThirdStream>(whether to restart after enabling third stream).
2016.11.02 V5.2.5.40
build20161102 		Bi-spectrum Network Stable Positioning System V1.1.0
DS-2TD8135 Series
DS-2TD8166 Series 		1. Thermal imaging capability set ThermalCap extension,added node: <isSupportPower>, <isSupportRealtimeTempHumi>, <manualThermRuleNum>, <isSupportManualThermBasic>, <isSupportFireShieldMask>, <isSupportsmokeShieldMask>.
API: NET_DVR_GetSTDAbility.
2. Event trigger capability set EventTriggersCap extension, added node: <FireDetectionCap>.
API: NET_DVR_GetSTDAbility.
3. Fire and smoke detection capability FireDetection extension, added node: <detectionMode>, <fireFocusMode>, <FireZoom>, <zoomMode>, <zoomLevel>, <AlarmStrategy>, <strategyType>, <SmokeDetection>, <smokeFireEnabled>.
API: NET_DVR_GetSTDAbility.
4. PTZ channel control capability PTZChanelCap extension, added node: <isSupportAbsoluteEx>, <isSupportCruise>, <isSupportAreaScan>.
API: NET_DVR_GetSTDAbility.
5. Added high accuracy PTZ absolute location extension capability, capability type: NET_DVR_GET_PTZABSOLUTEEX_CAPABILITIES, description PTZAbsoluteEx.
API: NET_DVR_GetSTDAbility.
6. Added device patrol mode capability, capability type: NET_DVR_GET_CRUISE_CAPABILITIES, description Cruise.
API: NET_DVR_GetSTDAbility.
7. Added fire and smoke detection arming time capability, capability type: NET_DVR_GET_FIREDETECTION_SCHEDULE_CAPABILITIES, description Schedule.
API: NET_DVR_GetSTDAbility.
8. Added power configuration capability, capability type: NET_DVR_GET_THERMALPOWER_CAPABILITIES, description Power.
API: NET_DVR_GetSTDAbility.
9. Added getting device real-time temperature and humidity capability, capability type: NET_DVR_GET_ TEMP_HUMI_CAPABILITIES, description TempHumi.
API: NET_DVR_GetSTDAbility.
10. Added getting real-time manual temperature measurement data capability, capability type: NET_DVR_GET_MANUALTHERM_CAPABILITIES, description ManualThermometry.
API: NET_DVR_GetSTDAbility.
11. Added manual temperature measurement basic parameter configuration capability, capability type: NET_DVR_GET_MANUALTHERM_BASIC_CAPABILITIES, description ManualThermBasic.
API: NET_DVR_GetSTDAbility.
12. Added fire source region blocking capability, capability type: NET_DVR_GET_FIRESHIELDMASK_CAPABILITIES, description FireShieldMask.
API: NET_DVR_GetSTDAbility.
13. Added smoke region blocking capability, capability type: NET_DVR_GET_SMOKESHIELDMASK_CAPABILITIES, description SmokeShieldMask.
API: NET_DVR_GetSTDAbility.
14. Added region scanning capability, capability type: NET_DVR_GET_AREASCAN_CAPABILITIES, description AreaScan.
API: NET_DVR_GetSTDAbility.
15. Added camera power configuration, (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig)
Command: NET_DVR_GET_THERMALPOWER, NET_DVR_SET_THERMALPOWER.
Structure: NET_DVR_THERMALPOWER_PARAM.
16. Added high accuracy PTZ absolute location configuration extension, (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig)
Command: NET_DVR_GET_PTZABSOLUTEEX, NET_DVR_SET_PTZABSOLUTEEX.
17. Added manual temperature measurement basic parameter configuration,(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig)
Command: NET_DVR_GET_MANUALTHERM_BASICPARAM, NET_DVR_SET_MANUALTHERM_BASICPARAM.
18. Added fire source region blocking configuration, (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig)
Command: NET_DVR_GET_FIRESHIELDMASK_CFG, NET_DVR_SET_FIRESHIELDMASK_CFG.
19. Added smoke region blocking configuration, (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig)
Command: NET_DVR_GET_SMOKESHIELDMASK_CFG, NET_DVR_SET_SMOKESHIELDMASK_CFG.
20. Added smoke detection arming time configuration, (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig)
Command: NET_DVR_GET_FIREDETECTION_SCHEDULE, NET_DVR_SET_FIREDETECTION_SCHEDULE.
21. Added getting device patrol mode, API: NET_DVR_GetSTDConfig (command: NET_DVR_GET_CRUISE_INFO).
Structure: NET_DVR_CRUISE_PARAM.
The interface is exclusive for internal forest fire prevention, and is used to get whether device patrol mode is preset or non-preset mode, currently unavailable to public.
22. Added getting real-time environment temperature and humidity, API: NET_DVR_GetSTDConfig (command: NET_DVR_GET_TEMP_HUMI_INFO).
Structure: NET_DVR_TEMP_HUMI_INFO.
23. Added getting region scanning status, API: NET_DVR_GetSTDConfig (command: NET_DVR_GET_AREASCAN_CFG).
Structure: NET_SDK_AREASCAN_CFG.
24. Added manual temperature measurement data configuration, API: NET_DVR_SetSTDConfig (command: NET_DVR_SET_MANUALTHERM).
Structure: NET_SDK_MANUAL_THERMOMETRY.
25. Added gettinge patrol path parameter (V50 extension): NET_DVR_GetDeviceConfig (command: NET_GET_CRUISEPOINT_V50).
Structure: NET_DVR_CRUISEPOINT_V50.
26. Fire and smoke detection configuration structureNET_DVR_FIREDETECTION_CFG extension, added byDetectionMode- fire source detection mode, byFireFocusMode- fire source focus mode, byFireZoomMode- fire source optical zoom mode, byFirezoomLevel- fire source zoom ratio, bySmokeFireEnabled- enable fire and smoke detection.
Added alarm strategy structureNET_DVR_ALARMSTRATEGY_PARAM, smoke detection configuration structureNET_DVR_SMOKEDETECTION_CFG.
27. Fire source detection alarm information structure NET_DVR_FIREDETECTION_ALARM extension, added byStrategyType- strategy type, byAlarmSubType- alarm sub type, byPTZPosExEnable- enable PTZ coordinate extension, struPtzPosEx- PTZ coordinate extension information, dwVisiblePicLen- length of visible light picture, pVisiblePicBuf- pointer to visible light picture data, pSmokeBuf- pointer to smoke detection alarm data.
28. Device GIS information structureNET_DVR_GIS_INFO extension, added byPTZPosExEnable- enable PTZ coordinate extension, struPtzPosEx- PTZ coordinate extension information, fMinHorizontalValue- min. angle of view, fMaxHorizontalValue- max. angle of view, fMinVerticalValue- min. tilt angle of view, fMaxVerticalValue- max. tilt angle of view.
29. Camera parameter configuration structure NET_DVR_CAMERAPARAMCFG_EX extension, byDigitalZoom added: 3- ×8, 4- ×16, 5- ×32; byPaletteMode added: 21- dark blue.
30. PTZ park parameter structureNET_DVR_PTZ_PARKACTION_CFG extension, added byOneTouchSwitch- one-touch switch, wActionType- task type added 8- region scan.
31. PTZ schedule task structureNET_DVR_SCHEDTASK extension, wAction- task type added 12- region scan.
32. Added deleting scan region, entering scan region configuration, confirm executing region scan configuration, stopping region scan configuration, scan zoom ratio configuration, gettinge scan zoom ratio, API: NET_DVR_STDControl.
Command: NET_DVR_DEL_AREASCAN_CFG, NET_DVR_AREASCAN_INIT_CTRL, NET_DVR_AREASCAN_CONFIRM_CTRL, NET_DVR_AREASCAN_STOP_CTRL, NET_DVR_SAVE_SCANZOOM_CTRL, NET_DVR_GET_SCANZOOM_CTRL.
33. Added deleting fire source blocking region, deleting smoke blocking region, API: NET_DVR_STDControl.
Command: NET_DVR_DEL_FIRESHIELDMASK_CTRL, NET_DVR_DEL_SMOKESHIELDMASK_CTRL.
34. Added getting real-time manual temperature measurement, API: NET_DVR_StartRemoteConfig.
Command: NET_DVR_GET_MANUALTHERM_INFO.
35. Added error code: 3002, 3004. (API: NET_DVR_GetLastError).
2016.11.02 V5.2.5.40
build20161102 		Inquest DVR/NVR V1.1.1 DS-8100SHW(L)-ST, DS-8100SHFH(L)-ST-DX, DS-8600SN(L)-SP 1. Added CD driver configuration function (API: NET_DVR_STDXMLConfig):
Capability Set:GET /ISAPI/ContentMgmt/Trial/TrayConfiguration/capabilities;
Get:GET /ISAPI/ContentMgmt/Trial/TrayConfiguration/<ID>;
Set:PUT /ISAPI/ContentMgmt/Trial/TrayConfiguration/<ID>.
2. Added inquest DVR/NVR total capability set (API: NET_DVR_STDXMLConfig):
capability set:GET /ISAPI/Trial/capabilities.
3. Added inquest DVR/NVR alarm information upload function (API: NET_DVR_SetDVRMessageCallBack_V31 and NET_DVR_StartListen_V30):
alarm information type:COMM_INQUEST_ALARM.
4. NET_DVR_INQUEST_ROOM_INFO (inquest room information) uses 1 reserved byte of newly added parameters: byAutoOpenTray(whether auto-open tray).
5. NET_DVR_ALARMINCFG_V40 and NET_DVR_ALARMINCFG_V30 (alarm input parameters) use 1 reserved byte of newly added parameters: byInputType (input type).
6. NET_DVR_ALRAM_FIXED_HEADER(fixed parameters of alarm information) and dwAlarmType (alarm information type) of NET_DVR_ALARMINFO_V30 (alarm information ) added: 23- pulse alarm.
7. NET_DVR_PlayBackControl_V40 (playback control) extension, in which input parameter corresponding to control command NET_DVR_SET_TRANS_TYPE added transcode type: 5- MP4, only supported in playback and download by file.
8. The output parameter pState (current backup progress) of NET_DVR_GetBackupProgress(get backup progress) added : BACKUP_CHANGE_DISK (changing CD).
9. Inquest DVR/NVR capability set(InquestAbility, API:NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO) extension, added node: <CDWConfig > (whether to support auto-open tray when burning starts).
10. Event capability set (EventAbility, API:NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO) extension, <AlarmIn>(alarm input capability) added sub node: <inputType> (alarm input type).
11. Node dwMinorType of NET_DVR_FindDVRLog_V30 (log search) and NET_DVR_LOG_V30(log search result) added operation log sub type: MINOR_REMOTE_INQUEST_DEL_FILE (remote delete file), MINOR_LOCAL_UNLOAD_HDISK (local unmount HDD), MINOR_LOCAL_AUDIO_MIX(local configuration of audio mix parameters), MINOR_REMOTE_AUDIO_MIX (remote configuration of audio mix parameters), MINOR_LOCAL_TRIAL_PAUSE (local pause inquest), MINOR_LOCAL_TRIAL_RESUME (local resume inquest), MINOR_REMOTE_TRIAL_PAUSE (remote pause inquest), MINOR_REMOTE_TRIAL_RESUME (remote resume inquest).
2016.10.24 V5.2.5.35
build20161024 		Network camera V5.4.30 1. Added firmware version information function (API: NET_DVR_GetSTDConfig):
Command: NET_DVR_GET_FIRMWARE_VERSION.
2. Device system total capability set(DeviceCap, API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_SYSTEM_CAPABILITIES) extension, added node: <isSupportFirmwareVersionInfo>(whether to support getting firmware version information).
3. NET_VCA_FACESNAPCFG(face capture rule parameter) uses 12 reserved bytes of added parameters: dwFaceFilteringTime (face stay time filtering).
4. VCA capability set(VcaChanAbility, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO) extension, <FaceSnap>(face capture capability) added sub node: <faceFilteringTime>(face stay time filtering).
5. byFileType(picture type) of NET_DVR_FIND_PICTURE_PARAM(picture search condition) and NET_DVR_FIND_PICTURE_V40 (picture search result) added value: 0x25- face capture.
6. JPEG capture capability set(JpegCaptureAbility, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_JPEG_CAP_ABILITY) extension, <supportFileType>(supported picture type) added value: faceSnap(face capture).
7. NET_ITC_POST_MPR_PARAM(checkpoint multi-frame detection trigger parameter) and NET_IPC_POST_HVT_PARAM (IP camera mixed traffic checkpoint trigger parameters) use 16 reserved bytes of added parameters: struSnapLine(capture line).
8. Event capability set(EventAbility, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO) extension:
1) <PostMPR>(checkpoint multi-frame detection trigger parameter) of <VehicleDetection>-><TriggerCfg>-> <TriggerParam> added sub node: <SnapLine>(capture line).
2) <PostIPCHVT>(checkpoint multi-frame detection trigger parameter) of <HVTVehicleDetection>-><TriggerCfg>-> <TriggerParam> added sub node: <SnapLine>(capture line).
9. NET_DVR_ANR_ARMING_HOST(ANR host information) uses 1 reserved byte of added parameters: byConfirmMechanismEnabled(whether to enable confirm mode arming connection).
10. bySupport of NET_DVR_SETUPALARM_PARAM(alarm arming parameters) added value: Bit1 means whether to enable ANR confirm mode.
11. NET_DVR_PDC_ALRAM_INFO(people counting result parameter) and NET_DVR_HEATMAP_RESULT(heat map upload result) use 1 reserved byte of added parameters: byBrokenNetHttp(ANR flag bit).
12. Device software and hardware capability set(BasicCapability, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY) extension, added node: <isSupportConfirmMechanism>(ANR confirm mode).
2016.10.24 V5.2.5.35
build20161024 		DS-19D2000-S Video Power Supply Monitoring System V1.0 1. NET_DVR_ALARM_RS485CFG (Security control panel RS-485 parameters) added: bySerialType (serial port type).
2. RS-232 and RS-485 serial port capacity (SerialAbility, API:NET_DVR_GetDeviceAbility, capability set type: DEVICE_SERIAL_ABILITY) extension, <RS485Entry> of <RS485>(RS-485 parameter capability) added sub node: <serialType>(serial port type).
3. Node wDevType of NET_DVR_DEVICEINFO_V30 and NET_DVR_DEVICECFG_V40 (device parameters) added device type: DS_19DXX_S (video power supply monitoring system).
4. DS-19D2000-S supports function interfaces of both DS-19Dxx series power supply monitoring system and NVR.
2016.10.09 V5.2.5.30
build20161009 		CVR V2.3.2-5 1. Added one-key configuration CVR V50 extension command (API: NET_DVR_StartRemoteConfig):
Alarm information type: NET_DVR_ONE_KEY_CONFIG_V50.
2. Status value returned from NET_DVR_GetRemoteConfigState corresponding to CVR one-key configuration added: 1101(too many hot spare disks), 1102(failed to create picture volume)
3. Added getting video thumbnail function(API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_THUMBNAILS, NET_DVR_GET_FIGURE.
4. CVR device capability set(CVRAbility, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO) extension, added node: <OneKeyConfigCVRV50>(one-key CVR configuration V50 extension).
5. Device software and hardware capability set(BasicCapability, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY) extension, added node: <isSupportGetFigure>(whether to support getting thumbnail by time point), <isSupportGetThumbnails>(whether to support getting thumbnail by time period).
2016.09.28 V4.3.1.4
build20160928 		Education and Justice HD Dome Camera V5.2.6 1. NET_VCA_ONE_RULE_V41(alarm rule parameter) added parameter struSizeFilter(size filter), corresponding to size filter parameter structureNET_VCA_SIZE_FILTER.
2. VCA_RULE_EVENT_TYPE_EX(behavior analysis event type enumeration) added type: 26- teaching(culture and education), 27- answering questions(culture and education).
3. NET_VCA_EVENT_UNION(alarm event parameter) added parameter: struLecture- teaching event, struAnswer- answering event
Teaching parameter structureNET_VCA_LECTURE added parameter: byTrackingMode- tracking mode, byZoomMode- zoom mode
4. Added alarm type COMM_ALARM_TARGET_LEFT_REGION: teacher leaving podium, corresponding to alarm information structure: NET_DVR_TARGET_LEFT_REGION_ALARM.
5. Device PTZ capability set (PTZAbility, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO) extension:
Added capability set node: <PositionLimitAngle>.
6. Intelligent channel analysis capability set (VcaChanAbility, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO) extension:
Added capability set node: <Lecture>, <Answer>.
2016.09.23 V5.2.5.25
build20160923 		96000N-I Series NVR V3.6.1 1. Alarm structure extension:
NET_VCA_RULE_ALARM(behavior analysis),
NET_DVR_PDC_ALRAM_INFO(people counting),
NET_VCA_FACESNAP_RESULT(face capture result),
NET_DVR_FACE_DETECTION(face detection),
NET_DVR_AUDIOEXCEPTION_ALARM(audio),
NET_DVR_DEFOCUS_ALARM(defocus),
NET_DVR_SCENECHANGE_DETECTION_RESULT(scene change),
NET_DVR_HEATMAP_RESULT(heat map),
NET_DVR_SHIPSDETECTION_ALARM(ship detection), the byIvmsChannel extension protocol corresponding to NET_VCA_DEV_INFO of the above strucutres is 4 bytes, corresponding to wDevInfoIvmsChannelEx of the above structures
NET_ITS_PLATE_RESULT(plate detection result) added byChanIndexEx, indicating channel No. together with byChanIndex.
2. NET_DVR_SINGLE_HD(HDD management parameters) byHDType added index 6-minSAS. Corresponding to device capability Set(BasicCapability, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY) extension, added node: <isSupportMinSAS>(whether to support miniSAS HDD).
3. Multi-NIC configuration extension, API:NET_DVR_GetDVRConfig, NET_DVR_SetDVRConfig, Added command: NET_DVR_GET_NETCFG_MULTI_V50 and NET_DVR_SET_NETCFG_MULTI_V50, compatible with NET_DVR_GET_NETCFG_MULTI and NET_DVR_SET_NETCFG_MULTI.
2016.09.23 V5.2.5.25
build20160923 		Dual-lens People Counting Camera V5.4.30 1. Added calibration verification function (API: NET_DVR_GetSTDConfig):
Command: NET_DVR_POST_SETUP_CALIB.
2. NET_DVR_PDC_RULE_CFG_V42(people counting rule configuration) extension:
1) Use 186 reserved bytes of newly added parameters: byHeightFilterEnable (whether to enable height filtering), fHeightFilter (filtering height), byCalibrateType (calibration type), fTiltAngle (tilt angle), fHeelAngle (heel angle), fHeight (height), struCountPolygon (counting area), struAutoCalibPolygon (calibration area).
2) byOSDEnable (whether to enable OSD display) added value: 4- people passed.
3. NET_DVR_PDC_ALRAM_INFO(people counting result) uses 5 bytes of newly added parameters: dwPassingNum (people passed).
4. People counting data search function extension:
1) NET_DVR_PDC_QUERY_COND(search condition) uses 5 reserved bytes of newly added parameters: byEnableProgramStatistics (whether to count according to program), dwPlayScheduleNo (schedule No. linked when counting according to program).
2) NET_DVR_PDC_RESULT(search result) uses 56 reserved bytes of newly added parameters: dwPeoplePassing (people passed).
5. byResolution of NET_DVR_COMPRESSION_INFO_V30(stream compression parameters) added resolution type: 113-640*960.
6. byCaptureModeN and byCaptureModeP (video inout mode) of NET_DVR_CAMERAPARAMCFG_EX(camera parameter configuration) added value: 136-640*960@25fps, 137-640*960@24fps.
7. Device software and hardware capability set(BasicCapability, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY) extension, newly added: <isSupportCountBinocular>(whether to be dual-lens people counting camera).
8. Smart channel analysis capability set(VcaChanAbility, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO), <PDC>(people counting capability ) extension:
1) <OSD>(OSD capability) sub node <OSDType>(display type) added value: peoplePassing (people passed).
2) Newly added sub node: <CountingCalibrate>(calibration verification), <isSupportCalibrate>(whether to support calibration), <isSupportSearchPeoplePassing>(whether to support searching people passed).
9. Device camera parameter capability set(IPC_FRONT_PARAMETER_V20, API: NET_DVR_GetDeviceAbility, capability set type: IPC_FRONT_PARAMETER_V20) extension, <captureModeP> and <captureModeN>(video input mode) added value: 640*960@25fps, 640*960@24fps.
10. NET_DVR_DEVICEINFO_V30 and NET_DVR_DEVICECFG_V40 wDevType in (device parameters) added device type value: IDS_2CD6812F_C.
11. Added error code: 839, 840.
2016.09.06 V5.2.5.15
build20160906 		I, K, E Series NVR V3.4.90 1. Added channel properties (panoramic camera, fisheye, thermal imaging) data function (API: NET_DVR_STDXMLConfig):
Get single: GET /ISAPI/AUXInfo/attributes/Channels/<ID>;
Get in batch: GET /ISAPI/AUXInfo/attributes/Channels.
2. Added device security capability set (API: NET_DVR_STDXMLConfig):
Command: GET /ISAPI/Security/capabilities.
3. Added function of getting online login user information (API: NET_DVR_STDXMLConfig):
Command: GET /ISAPI/Security/onlineUser.
4. Added function of exporting GUID file:
1) Added upload type (API: NET_DVR_StartDownload): NET_SDK_DOWNLOAD_GUID_FILE.
2) Added getting status information interface: NET_DVR_GetDownloadStateInfo.
5. Added device security question configuration (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SECURITY_QUESTION_CFG, NET_DVR_SET_SECURITY_QUESTION_CFG.
6. Added function of 3D positioning (requires support by dome camera), API: NET_DVR_PTZSelZoomIn_EX.
7. Added error codes (API: NET_DVR_GetLastError and NET_DVR_GetErrorMsg): 2107, 2109.
8. dwMinorType of NET_DVR_FindDVRLog_V30 (log search) and NET_DVR_LOG_V30 (log search result) added alarm log sub-type: MINOR_LOCAL_RESET_LOGIN_PASSWORD (reset admin login password locally), MINOR_REMOTE_RESET_LOGIN_PASSWORD (reset admin login password locally).
2016.09.06 V5.2.5.15
build20160906 		90/80/81/73/72HQH(HGH)-SH V3.4.80 1. Newly added function of getting information of mutually exclusive functions (API: NET_DVR_STDXMLConfig):
Get: GET /ISAPI/System/mutexFunctionErrorMsg.
2. Total capability set of device system(DeviceCap, API: NET_DVR_STDXMLConfig) extension, newly added node: <isSupportGetmutexFuncErrMsg>(whether to support getting information of mutually exclusive functions).
3. Newly added error codes (API: NET_DVR_GetLastError and NET_DVR_GetErrorMsg): 2108.
2016.08.17 V5.2.5.10
build20160817 		Distributed 3-Layer Structure Access Control ProductV1.0
DS_K2700 Distributed 3-Layer Structure Master Controller; DS_K270X Distributed 3-Layer Structure Access Controller 		1. Remote upgrade interface extension, supporting the upgrade of the distributed access controller that is connected to the master controller:NET_DVR_Upgrade_V40, pInbuffer stands for 4-byte device number, 10001 means distributed access controller 1, 10002 means distributed access controller 2, and so forth.
2. Device protocol access capability set AccessProtocolAbility added <zoneInfo> <alarmoutInfo> node.
Network alarm host XML capability set AlarmHostAbility added the node of whether to support the configuration of arming region linked trigger <noZoneRelatedTrigger>;
zoneType node value added doorEmergencyOpenProtectionZone, doorEmergencyShutdownProtectionZone; ModuleType value added 1DoorController, 2DoorsController, 4DoorsController; (API: NET_DVR_GetDeviceAbility, type: DEVICE_ABILITY_INFO.)
3. Arming region parameter structureNET_DVR_ALARMIN_PARAM byType(region type) added: 10-emergency open door arming region, 11-emergency close door arming region;
byModuleType (module type) added: 7- 1-door distributed access controller, 8- 2-door distributed access controller, 9- 4-door distributed access controller.
4. Access control alarm COMM_ALARM_ACS added sub types, for details, see:NET_DVR_ACS_ALARM_INFO
Added sub type 0x415 to 0x417 under main type Alarm; added sub type 0x413 to 0x41a under main type Exception; added sub type 0x410 to 0x416 under main type Operation; added sub type 0x51 to 0x5e under main type Event.
Alarm host event information structure NET_DVR_ACS_EVENT_INFOextension: added distributed access controller number field wLocalControllerID, port ID field byInternetAccess, and arming region type field byType.
5. Added management for distributed access controller (API:NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/AccessControl/localController/capabilities;
Add: PUT /ISAPI/AccessControl/localController/addDevice;
Get: GET /ISAPI/AccessControl/localController/localControllerID/<ID>;
Set: PUT /ISAPI/AccessControl/localController/localControllerID/<ID>;
Delete single: DELETE /ISAPI/AccessControl/localController/localControllerID/<ID>;
Delete all: DELETE /ISAPI/AccessControl/localController.
6. Door parameter configuration structure:NET_DVR_DOOR_CFGextension, uses 12 reserved bytes of added fields byLeaderCardMode, byUseLocalController, wLocalControllerID, wLocalControllerDoorNumber, wLocalControllerStatus, byLockInputCheck, byLockInputType, byDoorTerminalMode, byOpenButton.
7. Card reader parameter configuration structure:NET_DVR_CARD_READER_CFGextension, uses 8 bytes of added parameter byUseLocalController, byRes1, wLocalControllerID, wLocalControllerReaderID, wCardReaderChannel.
8. Added controlling of distributed access controller (API:NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/AccessControl/localController/control/capabilities;
Set: PUT /ISAPI/AccessControl/localController/control/localControllerID/<ID>.
9. Added searching online distributed access controller and getting its status (APINET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_ONLINE_LOCAL_CONTROLLER, NET_DVR_GET_LOCAL_CONTROLLER_STATUS.
10. Added USB device management (APINET_DVR_STDXMLConfig):
Get USB device status: GET /ISAPI/AccessControl/USBStatus/USBNumber/<ID>;
Get USB device status capabilities: GET /ISAPI/AccessControl/USBStatus/capabilities;
USB control: PUT /ISAPI/AccessControl/USBControl/USBNumber/<ID>;
Get USB control capability: GET /ISAPI/AccessControl/USBControl/capabilities;
Get USB control progress: GET /ISAPI/AccessControl/USBControlProgress/USBNumber/<ID>;
Get USB control progress capability: GET /ISAPI/AccessControl/USBControlProgress/capabilities.
11. Added V50 card parameter configuration command: NET_DVR_GET_CARD_CFG_V50, NET_DVR_SET_CARD_CFG_V50
API:NET_DVR_StartRemoteConfig, NET_DVR_SendRemoteConfig
12. Added getting access control host operating status V50 command: NET_DVR_GET_ACS_WORK_STATUS_V50
API:NET_DVR_GetDVRConfig
13. Added getting network configuration V50 command, supporting dual-listening: NET_DVR_GET_NETCFG_V50, NET_DVR_SET_NETCFG_V50
API:NET_DVR_GetDVRConfig, NET_DVR_SetDVRConfig
14. Added event and card No. linkage parameter configuration (V50), card permission week plan parameter configuration (V50), card permission holiday plan parameter configuration (V50), card permission holiday group parameter configuration (V50), card permission plan template parameter configuration (V50) interface
Get command: NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V50, NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50, NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN_V50, NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP_V50, NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE_V50
Set command: NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V50, NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50, NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN_V50, NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP_V50, NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50
API:NET_DVR_GetDeviceConfig, NET_DVR_SetDeviceConfig
15. Arming region parameter structureNET_DVR_ALARMIN_PARAMextension, byType added new value: 10- emergency open door region, 11- emergency close door region; byModuleType added new value: 7- 1-door distributed access controller, 8- 2-door distributed access controller, 9- 4-door distributed access controller
Trigger parameter structureNET_DVR_ALARMOUT_PARAMextension, byModuleType added new value: 6- 1-door distributed access controller, 7- 2-door distributed access controller, 8- 4-door distributed access controller.
API for getting sub system arming region, trigger, search/register external module:
NET_DVR_StartRemoteConfig, NET_DVR_GetNextRemoteConfig, NET_DVR_StopRemoteConfig
16. Added error codes (API:NET_DVR_GetLastError):1910 to 1919.
2016.08.05 V5.2.5.5
build20160805 		Panoramic Camera V5.3.16
 1. Added device capture extension interface: NET_DVR_CapturePicture_V50, supporting capturing auto-calibrated reference scene picture.
2. Added upload panoramic view configuration file function(API: NET_DVR_UploadFile_V40):
Upload file type: UPLOAD_PANORAMIC_STITCH.
3. Added sensor parameter configuration capability set(API: NET_DVR_GetSTDAbility):
Capability set type: NET_DVR_GET_SENSOR_ADJUSTMENT_CAPABILITIES.
4. Added getting sensor parameter function(API: NET_DVR_GetSTDConfig):
Command: NET_DVR_GET_SENSOR_ADJUSTMENT_INFO.
5. Added sensor parameter control function(API: NET_DVR_STDControl):
Command: NET_DVR_SENSOR_ADJUSTMENT.
6. Added sensor reset function(API: NET_DVR_STDControl):
Command: NET_DVR_SENSOR_RESET_CTRL.
7. Added extension from camera calibration configuration(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SLAVECAMERA_CALIB_V51, NET_DVR_GET_SLAVECAMERA_CALIB_V51, compatible with NET_DVR_GET_SLAVECAMERA_CALIB_V50, NET_DVR_SET_SLAVECAMERA_CALIB_V50.
8. Added function of controlling camera to turn specified scene(API: NET_DVR_STDControl):
Command: NET_DVR_SET_GOTOSCENE.
9. Added panoramic view linkage to event upload(API: NET_DVR_SetDVRMessageCallBack_V31 and NET_DVR_StartListen_V30):
Alarm information type: COMM_PANORAMIC_LINKAGE_ALARM.
10. Added resolution mode switch capability set(API: NET_DVR_GetSTDAbility):
Capability set type: NET_DVR_GET_RESOLUTION_SWITCH_CAPABILITIES.
11. Added resolution mode switch configuration function(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_RESOLUTION_SWITCH, NET_DVR_SET_RESOLUTION_SWITCH.
12. byResolution of NET_DVR_COMPRESSION_INFO_V30(stream compression parameter) added resolution type: 137-4096*1200, 138-3840*1080, 139-2720*800, 140-512*232, 141-704*200, 142-512*152, 143-2048*896, 144-2048*600, 145-1280*376.
13. wDevTypeAdded of NET_DVR_DEVICEINFO_V30 and NET_DVR_DEVICECFG_V40(device parameter) added device type: DS_2DP_Z(panoramic camera).
14. Added error code(API: NET_DVR_GetLastError and NET_DVR_GetErrorMsg): 838.
15. Device software and hardware capability set (BasicCapability, API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY) extension, Added node: <isSupportPanoramicStitch>(whether to suuport uploading panoramic view configuration file).
16. JPEG capture capability set(JpegCaptureAbility, API: NET_DVR_GetDeviceAbility, Capability set type: DEVICE_JPEG_CAP_ABILITY) extension, added node: <CapturePicture>(capture capability).
2016.08.05 V5.2.5.5
build20160805 		Traffic Dome Camera V5.4.13
iDS-2VS225, iDS-2VS325, iDS-TCS215 Series 		1. NET_DVR_TPS_INFO_V41 (lane statistics parameters) uses 4 reserved bytes of newly added parameters: dwSceneID (scene ID).
2. NET_DVR_TFS_ALARM (lane statistics parameters) uses 32 reserved bytes of newly added parameters: byIllegalCode[ILLEGAL_LEN] (violation code extension).
3. Function note: traffic data statistics information upload, traffic enforcement alarm information upload, and alarm arming and alarm listening are supported as well. Newly added eagle vision focus functions.
2016.08.05 V5.2.5.5
build20160805 		Network Camera V5.4.2
FF License Plate Recognition(LPR) 		1. Added vehicle information search result capability set (API:NET_DVR_GetSTDAbility):
capability set type: NET_DVR_GET_VEHICLLE_RESULT_CAPABILITIES.
2. Added vehicle information search function (API:NET_DVR_StartRemoteConfig):
capability set: NET_DVR_GET_VEHICLE_INFORMATION.
3. byRoadType(road mode) of NET_ITC_POST_MPR_PARAM(checkpoint multi-frame detection trigger parameter)added new value:3- alarm input.
4. COUNTRY_INDEX(country index) added type: 48 to 253.
5. Event capability set(EventAbility, API:NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO), in which <VehicleDetection>(vehicle detection capability) extended:
1) sub node <RodeType>(road type) of <PostMPR>(checkpoint multi-frame detection trigger parameter) added new value: alarmInput(alarm input).
2) sub node <itemType>(character type) of <OverlapCfg>(Text overlay configuration parameter capability) added new value: vehicleDirection(vehicle direction).
6. Device software and hardware capability set(BasicCapability, API:NET_DVR_GetDeviceAbility, capability set type:DEVICE_SOFTHARDWARE_ABILITY)extension, added new node: <isSupportDownloadVehicleInfo >(whether vehicle information search is supported).
7. Added error codes (API:NET_DVR_GetLastError and NET_DVR_GetErrorMsg ): 845.
2016.08.05 V5.2.5.5
build20160805 		Education Sharing System V2.1.0
1. Added education sharing system parameter configuration capability (API: NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/ContentMgmt/RecordingHost/hostParam/capabilities.
2. Added classroom big data statistics configuration (API: NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/ContentMgmt/RecordingHost/ClassDataControl/capabilities;
Get: GET /ISAPI/ContentMgmt/RecordingHost/ClassDataControl;
Set: PUT /ISAPI/ContentMgmt/RecordingHost/ClassDataControl.
3. Added getting statistics data list (API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_STATISTIC_DATA_LIST.
4. Added getting statistics data list capability (API: NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/ContentMgmt/ Trial/TrayConfiguration/capabilities.
5. Added directed mode advanced parameter configuration (API: NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/ContentMgmt/RecordingHost/DirectedAdvanceCfg/commandID//capabilities;
Get: GET /ISAPI/ContentMgmt/RecordingHost/DirectedAdvanceCfg/commandID/<ID>;
Set: PUT /ISAPI/ContentMgmt/RecordingHost/DirectedAdvanceCfg/commandID/<ID>.
6. Added video switching configuration (API: NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/ContentMgmt/RecordingHost/VideoSwitchConfiguration/capabilities;
Get: GET /ISAPI/ContentMgmt/RecordingHost/VideoSwitchConfiguration;
Set: PUT /ISAPI/ContentMgmt/RecordingHost/VideoSwitchConfiguration.
7. Added video opening configuration (API: NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/ContentMgmt/RecordingHost/VideoTitleConfiguration/capabilities;
Get: GET /ISAPI/ContentMgmt/RecordingHost/VideoTitleConfiguration;
Set: PUT /ISAPI/ContentMgmt/RecordingHost/VideoTitleConfiguration.
8. Added video ending configuration (API: NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/ContentMgmt/RecordingHost/VideoTrailerConfiguration/capabilities;
Get: GET /ISAPI/ContentMgmt/RecordingHost/VideoTrailerConfiguration;
Set: PUT /ISAPI/ContentMgmt/RecordingHost/VideoTrailerConfiguration.
9. Added education sharing system connection configuration (API: NET_DVR_STDXMLConfig):
Capability set: GET /ISAPI/ContentMgmt/RecordingHost/EducationServerConfiguration/capabilities;
Get: GET /ISAPI/ContentMgmt/RecordingHost/EducationServerConfiguration;
Set: PUT /ISAPI/ContentMgmt/RecordingHost/EducationServerConfiguration.
10. Extended structure NET_DVR_TERMINAL_CALL_INFO changed MAX_URL_LEN length to 128;
Added dwCallRate: calling rate, range: 32 to 6144, unit: Kbps (connection rate).
11. Extended capability set ControlParam added node: callRate.
12. Extended capability set RecordHostCap added node:isSupportVideoSwitchConfiguration, isSupportVideoTitleConfiguration, isSupportVideoTrailerConfiguration, EducationServerConfiguration.
13. Extended capability set VCSCap added node:isSupportTerminalControl, isSupportTerminalConferenceStatus.
2016.07.22 V5.2.3.20
build20160722 		CVR V2.3.2-4 1. Added RACM storage capability set(API:NET_DVR_GetSTDAbility):
Capability Set:NET_DVR_GET_RACM_CAP.
2. Added pass back basic configuration capability set(API:NET_DVR_GetSTDAbility):
Capability Set:NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG_CAP.
3. Added pass back function basic configuration(API:NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG, NET_DVR_SET_RECORD_PASSBACK_BASIC_CFG.
4. Added manual video passback task function that returns task ID(API:NET_DVR_SetDeviceConfigEx):
Command: NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL_V50.
5. Added pass back history video schedule capability set(API:NET_DVR_GetSTDAbility):
Capability Set: NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG_CAP.
6. Added pass back history video schdule configuration(API:NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG, NET_DVR_SET_RECORD_PASSBACK_HISTORY_PLAN_CFG.
7. NET_DVR_RECORD_PASSBACK_MANUAL_COND(Manual video pass back task search parameter)extended, uses 21 bytes of added parameter: byTimeSegmentQuety(Whether to enable time range search), struBeginTime(Search start time), struEndTime(Search end time), dwTaskID(Task ID), parameter byType(search method) added value: 4-get task according to task ID.
8. CVR device capability set(CVRAbility, API:NET_DVR_GetDeviceAbility, Capability Set:DEVICE_ABILITY_INFO)extended:
<GetAllRecordPassBackManulTask>(Get all manual video passback task capability) added sub node: <timeSegmentQuety>(Whether to enable time range search), sub node<type>(Search method) added value:4-get task according to task ID.
2016.07.22 V5.2.3.20
build20160722 		DS-TCGX25 V4.2.1 1. Added function of uploading voice talk file(API: NET_DVR_UploadFile_V40):
UPLOAD_AUDIO_FILE.
2. Voice talk configuration capability set(TMEVoiceConfiguration, API:: NET_DVR_GetSTDAbility, Capability Set Type: NET_DVR_GET_TMEVOICE_CAPABILITIES)extended, add node: <voiceFileName>(Voice talk file name).
3. NET_DVR_TMEVOICE_CFG(Voice talk settings)uses 64 bits of parameters: sFileName[MAX_TMEVOICE_LEN](Voice talk file name).
4. NET_DVR_BARRIERGATE_CFG(Checkpoint control parameters)Added unlock operation, uses 1 byte of parameters: byUnlock(Enable unlock function), byBarrierGateCtrl(Control parameters)adds new value: 4- Unlock checkpoint.
5. Video detection triggering mode settings:
1) NET_ITC_POST_PRS_PARAM(Video detection triggering parameters)uses 2 bytes of parameters:: byNoPlatCarCap(Whether to enable non-plate capture), bySceneMode(Scene mode).
2) NET_ITC_LANE_PRS_PARAM(Video detection triggering mode vehicle lane parameters)adds 24 bytes of parameters: struTrigLine(Triggering line).
6. NET_ITC_IOOUT_PARAM(IO Output settings)adds 5 bytes of parameters: byIncrBrightEnable(Whether to enable brighten mode), byIncrBrightPercent(Percentage), wIncrBrightTime(Brightening duration), byBrightness(Whether to enable brighten mode).
7. NET_DVR_DECODERCFG_V40(RS485 parameters)-byWorkMode(working mode)adds value: 12-LED display, 13-Triggering capture data transmission.
8. RS232 and RS485 serial port capability set(SerialAbility, API:: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_SERIAL_ABILITY)extended, <RS485>(RS485 parameters caoability)-<workMode>adds value: Led,CaptureTrigger(LED display, triggering capture data transmission).
2016.06.22 V5.2.3.5
build20160622 		Thermal Network Bullet Camera
DS-2TD2166-XX
V1.0 		1. Added manual deicing function capability set(API: NET_DVR_GetSTDAbility):
capability Set: NET_DVR_GET_MANUALDEICING_CAPABILITIES.
2. Added manual deicing settings function (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_MANUALDEICING, NET_DVR_SET_MANUALDEICING.
3. Added error code(API: NET_DVR_GetLastError): 3001.
2016.06.22 V5.2.3.5
build20160622 		Thermometric Bi-spectrum Network Positioning System
DS-2TD6135(T),
DS-2TD6161(T) and so on
V5.3.5 		1. Thermal Imagery Capability Set(ThermalCap) added new node:<isSupportRealtimeThermometry>(Whether to support real time temperature measurement), <isSupportThermIntell>(Whether to support smart mutual exclusion function).
2.Added temperature measurement settings capability set(API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_THERMOMETRY_BASICPARAM_CAPABILITIES.
3. Added temperature measurement settings function(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_THERMOMETRY_BASICPARAM, NET_DVR_SET_THERMOMETRY_BASICPARAM.
4. Get temperature measurement preset linkage settings capability set(API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_THERMOMETRY_SCENE_CAPABILITIES.
5. Added temperature measurement preset linkage settings (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_THERMOMETRY_PRESETINFO, NET_DVR_SET_THERMOMETRY_PRESETINFO.
6. Get temperature measurement alarm mode settings capability set(API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_THERMOMETRY_ALARMRULE_CAPABILITIES.
7. Added temperature measurement alarm rule settings(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_THERMOMETRY_ALARMRULE, NET_DVR_SET_THERMOMETRY_ALARMRULE.
8. Added temperature difference rule settings(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_THERMOMETRY_DIFFCOMPARISON, NET_DVR_SET_THERMOMETRY_DIFFCOMPARISON.
9. Added temperature measurement linkage settings(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_THERMOMETRY_TRIGGER, NET_DVR_SET_THERMOMETRY_TRIGGER.
10. Added real time temperature measurement query function(API: NET_DVR_StartRemoteConfig):
Alarm information type: COMM_THERMOMETRY_ALARM, COMM_THERMOMETRY_DIFF_ALARM. Command: NET_DVR_GET_REALTIME_THERMOMETRY.
12. Added temperature measurement calibration file uploading/downloading function(API: NET_DVR_UploadFile_V40 and NET_DVR_StartDownload):
Uploading type: UPLOAD_THERMOMETRIC_FILE, NET_SDK_DOWNLOAD_THERMOMETRIC_FILE. Command: NET_DVR_GET_REALTIME_THERMOMETRY.
13. Added ship detection linkage settings(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SHIPSDETECTION_EVENT_TRIGGER, NET_DVR_SET_SHIPSDETECTION_EVENT_TRIGGER. Command: NET_DVR_GET_REALTIME_THERMOMETRY.
14. Get ship detection arming schedule capability set(API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_SHIPSDETECTION_SCHEDULE_CAPABILITIES.
15. Added ship detection arming schedule settings(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SHIPSDETECTION_SCHEDULE, NET_DVR_SET_SHIPSDETECTION_SCHEDULE.
16. Added ship detection settings capability set(API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_SHIPSDETECTION_CAPABILITIES.
17. Added ship detection settings function(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SHIPSDETECTION_CFG, NET_DVR_SET_SHIPSDETECTION_CFG.
18. Added function of getting ship counting information(API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_SHIPSDETECTION_COUNT.
19. Added function of clearing ship counting information (API: NET_DVR_STDControl):
Command: NET_DVR_SHIPSCOUNT_DELETE_CTRL.
20. Added ship detection alarm uploading function(API: NET_DVR_SetDVRMessageCallBack_V31):
Alarm information type: COMM_ALARM_SHIPSDETECTION.
21. Get thermal imagery raw data overlap capability Set(API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_BAREDATAOVERLAY_CAPABILITIES.
22. Added dead pixel correction control function(API: NET_DVR_RemoteControl):
Command: NET_DVR_DPC_CTRL.
23. Added thermal imagery smart mutual exclusion capability set(API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_THERMINTELL_CAPABILITIES.
24. Added thermal imagery mutual exclusion settings function(API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_THERMINTELL, NET_DVR_SET_THERMINTELL.
25. NET_DVR_FILECOND_V40(Video file query condition) and NET_DVR_FINDDATA_V40(Video file query result)-dwFileType(File type)Added value: 36-Ship detection, 37- temperature measurement early warning, 38- temperature measurement alarm, 42-Temperature difference alarm.
26. NET_DVR_RECORDSCHED_V40( Scheduled recording parameters) and NET_DVR_RECORDDAY_V40(Allday recording parameters)-byRecordType(Video type) Added value: 35-Ship detection, 36- temperature measurement early warning, 37- temperature measurement alarm, 38-Temperature difference alarm.
27. NET_DVR_FIND_PICTURE_PARAM(Picture query condition) and NET_DVR_FIND_PICTURE_V40(Picture query result)-byFileType(Picture type)Added value: 0x20-Ship detection, 0x21- temperature measurement early warning, 0x22- temperature measurement alarm, 0x23 Temperature difference alarm.
28. NET_DVR_PREVIEWINFO(Live view parameters) added 1 byte of parameters: byVideoCodingType(Stream data encoding//decoding type).
29. Event triggering capability set(EventTriggersCap, API:: NET_DVR_GetSTDAbility, Capability Set Type: NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES)Added node: <ThermometryCap>(Thermal imagery temperature measurement Alarm), <ShipsDetectionTriggerCap>( Ship detection alarm).
30. SmartCapability Set(SmartCap, API:: NET_DVR_GetSTDAbility, Capability Set Type: NET_DVR_GET_SMART_CAPABILITIES)Added node: <isSupportShipsDetection>(Ship detection).
31. Video stream Capability Set(StreamingChannel, API:: NET_DVR_GetSTDAbility, Capability Set Type: NET_DVR_GET_STREAMING_CAPABILITIES), Added node: <isSupportBareDataOverlay>(whether supports thermal imagery raw data overlap).
32. Device front-end parameters capability set(IPC_FRONT_PARAMETER_V20, API:: NET_DVR_GetDeviceAbility, Capability Set Type: IPC_FRONT_PARAMETER_V20)extended, Added node: <DPCParam>(Dead Pixel Correction).
34. PTZCapability Set(PTZAbility, API: NET_DVR_GetDeviceAbility, Capability Set Type: (DEVICE_ABILITY_INFO)extended, <Preset>(preset capability) Added node: <maxThermometryPresetNum>(supported temperature measurement preset number).
35. Device channel input capability set(ChannelInputAbility, API:: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO) extended, <RecordPlan> and <supportRecordType>-<supportRecordType>(supported video type)Added value: shipsDetection,thermEarlyWarning,thermAlarm,thermDiffAlarm(ship detection, temperature measurement early warning, temperature measurement alarm, temperature difference alarm).
36. JPEG capture capability set(JpegCaptureAbility, API:: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_JPEG_CAP_ABILITY)extended, <supportFileType>(supported picture type)Added value: shipsDetection,thermEarlyWarning,thermAlarm,thermDiffAlarm(ship detection, temperature measurement early warning, temperature measurement alarm, temperature difference alarm).
37. Added Log type(API:: NET_DVR_FindDVRLog_V30):
Alarm log sub type: 0x5a~0x60.
2016.06.02 V5.2.1.15
build20160608 		NVR
DS-96000N-I Series V3.6.0 		1. Added the function of getting the accessories board information capability(APINET_DVR_GetSTDAbility):
Capability type:NET_DVR_GET_ACCESSORY_CARD_INFO_CAPABILITIES.
2. Added Getting accessories board information function(APINET_DVR_GetSTDConfig):
Command: NET_DVR_GET_ACCESSORY_CARD_INFO.
3. NET_DVR_FindDVRLog_V30(Log query) and NET_DVR_LOG_V30(Log query result)-dwMinorType added additional information log sub type: MINOR_ACCESSORIES_MESSAGE(accessories board), added exception log sub type:: MINOR_ACCESSORIES_PLATE(accessories board exception).
4. Added error code: 975/976/984~987.
5. Added device type:DS-96000N-I series(DS-96128N-I16/DS-96128N-I24/DS-96256N-I16/DS-96256N-I24).
2016.06.02 V5.2.1.5
build20160506 		Fingerprint Access Control Terminal V1.1 1. Added wiegand configuration function(API: NET_DVR_STDXMLConfig):
Wiegand configuration capability set: GET /ISAPI/AccessControl/WiegandCfg/capabilities
Wiegand Configuration: GET /ISAPI/AccessControl/WiegandCfg/wiegandNo/<ID>
PUT /ISAPI/AccessControl/WiegandCfg/wiegandNo/<ID>.
2. Added function of getting security control unit status(API: NET_DVR_STDXMLConfig):
Security control unit status capability Set: GET /ISAPI/AccessControl/DoorSecurityModule/moduleStatus/capabilities
Get security control unit status: GET /ISAPI/AccessControl/DoorSecurityModule/moduleStatus.
3. Added function of getting triggering capture parameters(API: NET_DVR_STDXMLConfig):
Triggering capture parameters capability set: GET /ISAPI/AccessControl/SnapConfig/capabilities
Get triggering capture parameters: GET /ISAPI/AccessControl/SnapConfig.
4. Added access control capability set function(API: NET_DVR_STDXMLConfig):
GET /ISAPI/AccessControl/capabilities.
5. Access control event information extension:
1) NET_DVR_ACS_ALARM_INFO(Access controller alarm information)-dwMinor(Sub type), added alarm sub type: MINOR_SECURITY_MODULE_DESMANTLE_ALARM(Access control unit tamper-proof alarm), MINOR_SECURITY_MODULE_DESMANTLE_RESUME(Security control unit tamper-proof resumed), Added exception sub type:MINOR_SECURITY_MODULE_OFF(Security control unit offline), MINOR_SECURITY_MODULE_RESUME(Security control unit network connection recovered).
2) NET_DVR_EVENT_LINKAGE_INFO(Event linkage parameters)-wSubEventType(Event sub type) added door event type: EVENT_ACS_SECURITY_MODULE_DESMANTLE_ALARM(Security control unit tamper-proof alarm).
6. NET_DVR_ALARM_RS485CFG(Security control panel RS-485 parameters)uses 2 bytes of new parameters: bySerialType(Serial port type), byMode(Connection mode).
7. NET_DVR_SNAPCFG(Triggering parameters)uses 4 bytes of new parameters: struJpegPara(Capture image parameters).
8. Access Controller Capability Set(AcsAbility)extension:
1) <EventLinkage>(Event and card No. linkage capability)-<EventList>(Event list)-DoorEvent-<SubEventNameList>(Event sub type list)added type: SecurityMoudleDesmantleAlarm(Security control unit tamper-proof alarm)
2) <ContinuousShootCfg>(Triggering capture capability) added new node:<JpegParam>(Captured image parameters).
9. RS232 and RS485 serial port capability(SerialAbility), API:: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_SERIAL_ABILITY) extension, <RS485>(RS-485 capability)-<RS485Entry>added new node:<mode>(Connection mode).
2016.06.02 V5.2.3.2
build20160602 win64 		Baseline Win64 Device Network SDK 1. Win64 version enable voice talk, voice broadcast, voice encoding/decoding API.
2. SupportNET_DVR_SaveRealData_V30, PS packaging and 3GP packaging can be selected.
3. Added SDK supporting capability settings( API: NET_DVR_SetSDKInitCfg):
Input parameters: NET_SDK_INIT_CFG_ABILITY.
4. NET_DVR_DEVICECFG_V40(Device parameters) uses 2 buyes of new parameters: wDevClass(Device type).
2016.04.01 V5.1.6.21
build20160401 		Network Camera V5.4.0 1. Added get ANR host information function( API: NET_DVR_GetSTDConfig):
Command: NET_DVR_GET_ANR_ARMING_HOST.
2. Added function of clear front-end device parameters( API: NET_DVR_RemoteControl):
Command: NET_DVR_CLEAR_IPC_PARAM.
3. NET_DVR_STORAGE_DETECTION_ALARM(Storage smart detection alarm information)uses 1 byte of new parameter: fResidualLife(SD card residual life).
4. Device encoding capability set(AudioVideoCompressInfo)Extended, API: NET_DVR_GetDeviceAbility, Capability Set type: DEVICE_ENCODE_ALL_ABILITY_V20, <SmartCodecCap>(Hign performance decoding capability) added new node: <H265>(Smart265 capability), <supportCodeType> added new value: H.265.
5. Device Capability Set(API: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO)-Frontend device parameters dynanmic capability set input information(CameraParaDynamicAbility)Extended: <VbrAverageCapDynamicLinkTo>(average code rate dynamic getting)-<codeType>added new value: smart265.
6. Added error code:791
2016.05.25 V5.1.6.21
build20160401 		Smart Capture Camera V4.2.0 1. Added alarm control configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_ALARMCTRL_CFG, NET_DVR_SET_ALARMCTRL_CFG.
2. Added alarm controlCapability Set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_ALARMCTRL_CAPABILITIESG.
3. Added alarm sub brabd file uploading function( API: NET_DVR_UploadFile_V40):
UPLOAD_SUBBRAND_FILE.
4. NET_ITS_PICTURE_INFO(Capture picture information)uses 5 bytes of new parameters: dwUTCTime(UTC time), byCompatibleAblity(compatible ability filed).
5. NET_ITS_PLATE_RESULT(recognition result)uses 5 bytes of new parameters: byIllegalFromatType(violation information Type), pIllegalInfoBuf(violation code character information).
6. NET_DVR_MANUALSNAP(Manual capture parameters)uses 1 byte of new parameter:byLaneNo(Vehicle lane No.).
7. ITS_OVERLAP_ITEM_TYPE(Text overlap Type)added new enumeration type: OVERLAP_ITEM_CAR_SUBBRAND(Vehicle sub brand).
8. NET_DVR_SNAP_CAMERAPARAMCFG(CCD parameters)added 8 bytes of new parameter: byMCEEnabled(MCE enabling), byMCELevel(MCE strengh), byAutoContrastEnabled(Auto contrast enabling), byAutoContrastLevel(Auto contrast level), byLSEDetailEnabled(Details enhancing enabling), byLSEDetailLevel(Details enhancing level), byLPDEEnabled(License plate enhancing enabling), byLPDELevel(License plate enhancing level).
9. NET_ITC_ICR_AOTOSWITCH_PARAM(ICR auto switch parameters)added 1 byte of new parameters:byICRAutoSwitch(ICR auto switch added threshold option).
10. Triggering parrameters configuration extended:
1) ITC_TRIGGERMODE_TYPE(Trigger mode)added enumeration type: ITC_REDLIGHT_PEDESTRIAN_TYPE(Pedestrian red light), ITC_NOCOMITY_PEDESTRIAN_TYPE(Not yield in crosswalks).
2) NET_ITC_TRIGGER_PARAM_UNION(Triggering parameters union) added: NET_ITC_REDLIGHT_PEDESTRIAN_PARAM(Pedestrian red light), NET_ITC_NOCOMITY_PEDESTRIAN_PARAM(Not yield in crosswalks).
3) NET_ITC_PLATE_RECOG_PARAM(Plate recognition parameters)-dwRecogMode(recognition Type)added value: bit18-Embassy vehicle, bit19-Vehicle sub plate recognition.
4) NET_ITC_SINGLE_IOSPEED_PARAM(Single IO speed measurement parameters), NET_ITC_LANE_PARAM(Checkpoint RS485 triggering mode vehicle lane parameters), NET_ITC_SINGLEIO_PARAM(single IO parameters)added 1 byte of new parameters: byEmergencyCapEn(Whether to enable emergency lane capture) .
11. Video electronic police triggering parameters extended:
1) NET_ITC_VIOLATION_DETECT_PARAM(Violation detection parameters)added 1 byte of new parameters: byPostSnapTimes(Check point captured picture number).
2) NET_ITC_LANE_VIDEO_EPOLICE_PARAM(Vehicle parameters)added 20 bytes of new parameters:struInterval(Capture interval).
12. Device Capability Set(API:: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO), Smart traffic device capability(ITDeviceAbility)extended:
1) <ITSAbility>-<triggerMode>added new value: postNoComityPed(Not yield in crosswalks), postRedLightPed(Pedestrian red light).
2) <ITSAbility>-<ManualSnap>added sub node: <laneNo>(Vehicle lane No.).
13. Add Error Code: 1605~1620.
2016.05.25 V5.1.6.20
build20160322 		E Series of Network Smart speed dome V5.3.14 1. Device Image Parameters Capability Set(VideoPicAbility)Extended, <OSD>(OSD Capability)added sub node:<OSDCharactersNum>(OSD field overlap length limit), <ChannelNumOverlySize>(Channel name length limit).
2016.05.25 V5.1.6.17
build20160318 		Video Meeting MCU and Terminal
DS-65VM/DS-65VT V1.0.1 		1. Added Terminal registering GK parameters settings function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_TERMINAL_GK_CFG, NET_DVR_SET_TERMINAL_GK_CFG.
2. Added terminal registering GKCapability Set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_TERMINAL_GK_CFG_CAP.
3. MCUCapability Set(VCSCap)Extended, <TerminalCap>(Terminal Capability Set)added new node: <isSupportTerminalGkCfg>(Whether to support terminal registering GK parameters settings).
2016.05.25 V5.1.6.17
build20160318 		NVR V3.4.6 1. NET_DVR_VEHICLE_CONTROL_ALARM(Vehicle alarm information)Uses 13 bytes of new parameter:: dwChannel(Device channel No.), dwPicDataLen(image data size), byPicType(image type), pPicData(Image data buffer).
2016.03.02 V5.1.6.15
build20160302 		Thermal+Optical Bi-spectrum Network Positioning SystemV1.0 1. Added low power consumption configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_LOWPOWER, NET_DVR_SET_LOWPOWER.
2. Added zooming linkage configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_ZOOMLINKAGE, NET_DVR_SET_ZOOMLINKAGE.
3. Added manual ranging function( API: NET_DVR_SetSTDConfig):
Command: NET_DVR_SET_MANUALRANGING.
4. Added fire point light lens zooming function( API: NET_DVR_STDControl):
Command: NET_DVR_FIRE_FOCUSZOOM_CTRL.
5. Added low power consumption capability set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_LOWPOWER_CAPABILITIES.
6. Added zooming linkage configuration capability set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_ZOOMLINKAGE_CAPABILITIES.
7. Added manual ranging capability set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_MANUALRANGING_CAPABILITIES.
8. NET_DVR_FIND_PICTURE_PARAM(Image query condition) and NET_DVR_FIND_PICTURE_V40(Image query result)-byFileType(Image Type) added new value: 0x1e-Fire point detection
9. NET_DVR_FILECOND_V40(Video file query condition) and NET_DVR_FINDDATA_V40(Video file query result)-dwFileType(File Type)added new value:34-Fire point detection.
10. NET_DVR_RECORDSCHED_V40(Schedule recording parameters) and NET_DVR_RECORDDAY_V40(All day recording parameters)-byRecordType(Recording Type)added new value: 30-Fire point detection.
11. NET_DVR_CAMERAPARAMCFG_EX(Front-end settings) uses 8 bytes of new parameters: struOpticalDehaze(Optical defog parameters).
12. NET_DVR_LASER_PARAM_CFG(Laser settings)uses 3 bytes of new parameters:byEnabled(manual laser lamp control), byIllumination(laser laser strength, byLightAngle(supplementary lighting angle).
13. NET_DVR_DEVSERVER_CFG(Module server configuration)uses 1 byte of new parameter: byEnableDeicing(Deicing Capability).
14. Fire Point Detection SettingsCapability Set(FireDetection)Added new node:<fireFrameDis>(Fire point frame display), <fireMaxTemp>(Hignest temperature), <fireMaxTempPosition>(Highest temperature position display), <fireDistance>(Hignest temperature distance).
15. Thermal imagery Capability Set(ThermalCap)Added node: <isFireFocusZoomSupport>(Whether to support fire point light lens zooming).
16. JPEG Capture Capability Set(JpegCaptureAbility)extended, <supportFileType>(Support Image Type)added new value: fireDetection(Fire point detection).
17. Device Capability Set(DEVICE_ABILITY_INFO), channel input capability(ChannelInputAbility)extended:<RecordPlan> and <supportRecordType>sub node-<supportRecordType>(spport recordingType)added nnew value:fireDetection(Fire point detction).
18. Device front-end parameters(IPC_FRONT_PARAMETER_V20)extended, added new node:<OpticalDehaze>(Optical defog capability), <LaserConfig>(Laser parameters Setings Capablity)added new node:<enable>(Enable), <illumination>(laser strenth configuration), <lightAngle>(supplementary lighting).
19. Device Software/HardwareCapability Set(BasicCapability)extended, node<DevModuleServerCfg>(Module server configuration capability)added new node:<deicing >(Deicing capability).
2016.03.02 V5.1.6.15
build20160302 		GIS Network Dome
(DS-2DF8223I-A,
DS-2DF6223I-A)
V5.3.4 		1.Added centralized cotrol parameters settings function ( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_CENTRALIZEDCTRL, NET_DVR_SET_CENTRALIZEDCTRL.
2. Added tamper-proof alarm parameters settings function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_VANDALPROOFALARM, NET_DVR_SET_VANDALPROOFALARM.
3. Added the function of getting currenT GIS data( API: NET_DVR_GetSTDConfig):
Command: NET_DVR_GET_GISINFO.
4. Added positioning and timing settings function( API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_SATELLITETIME, NET_DVR_SET_SATELLITETIME.
5. Added electronic compass correction control function( API: NET_DVR_STDControl):
Command: NET_DVR_COMPASS_CALIBRATE_CTRL.
6. Added electronic compass (pointing at north) cotrol function( API: NET_DVR_STDControl):
Command: NET_DVR_COMPASS_NORTH_CTRL.
7. Added GIS information function( API: NET_DVR_SetDVRMessageCallBack_V31):
Command: COMM_GISINFO_UPLOAD.
8. Added the function of uploading tamper-proof alarm information( API: NET_DVR_SetDVRMessageCallBack_V31):
Command: COMM_VANDALPROOF_ALARM.
9. Added Capability Set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_CENTRALIZEDCTRL_CAPABILITIES(Centralized control capability),
NET_DVR_GET_COMPASS_CAPABILITIES(electronic compass capability).
10. NET_DVR_PICCFG_V30 and NET_DVR_PICCFG_V40(cahnnel image parameters), uses 1 byte of new parameter byAlignment(aligning mode), byFontSize(Font size)added value: 4- 24*24(CH)/12*24(EN).
11. Device Image Parameters Capability Set(DEVICE_VIDEOPIC_ABILITY) extended, <OSD>added sub node:<alignment>.
12. Device network application paramters capability(DEVICE_NETAPP_ABILITY)extended, added node: <SatelliteTiming>(Satellite positioning time control).
2016.04.07 V5.2.1.2
build20160407 		Baseline Win32 Device Network SDK 1. Added SDK parameters settings function(API:NET_DVR_SetSDKLocalCfg):
Configuration Type: NET_DVR_LOCAL_CFG_TYPE_LOG.
2. Added multiple-channel alarm callback settings API: NET_DVR_SetDVRMessageCallBack_V50.
2016.01.25 V5.1.6.7
build20160125 		Master-slave tracking system V5.3.13
DS-2CD4026FWD-A(LF),
DS-2CD4826FWD-IZH(LF),
DS-2DF8223I-A( LF) 		1.Added master and slave tracking Capability Set( API: NET_DVR_GetSTDAbility):
Command: NET_DVR_GET_MASTERSLAVEtracking_CAPABILITIES.
2. Added the Capability Set of getting camera IP information ( API: NET_DVR_GetSTDAbility):
Command: NET_DVR_GET_SLAVECAMERA_CAPABILITIES.
3. Added the function of getting slave camera IP information ( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SLAVECAMERA, NET_DVR_SET_SLAVECAMERA.
4. Added the function of getting the connection status of the slave camera( API: NET_DVR_GetSTDConfig):
Command: NET_DVR_GET_SLAVECAMERA_STATUS.
5. Added the function of tracking zoom ratio( API: NET_DVR_STDControl):
Command: NET_DVR_SET_trackingRATIO.
6. Added slave camera calibration configuration Capability Set( API: NET_DVR_GetSTDAbility):
Command: NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES.
7. Added slave camera calibration configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SLAVECAMERA_CALIB, NET_DVR_SET_SLAVECAMERA_CALIB.
8. Added the Extended function of slave camera calibration configuration( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SLAVECAMERA_CALIB_V50, NET_DVR_SET_SLAVECAMERA_CALIB_V50.
9. Added the Capability Set of tracking configuration of master-slave camera( API: NET_DVR_GetSTDAbility):
Command: NET_DVR_GET_tracking_CAPABILITIES.
10. Added the fucntion of tracking configuration of master-slave camera( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_tracking, NET_DVR_SET_tracking.
11. Added the function of setting slave camera initial tracking position( API: NET_DVR_STDControl):
Command: NET_DVR_SET_TRACK_INITPOSTION.
12. Added the function of manual tracking zoom ratio configuration of the slave camera( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_trackingRATIO_MANUAL, NET_DVR_SET_trackingRATIO_MANUAL.
13. Added PTZ dome control Capability Set( API: NET_DVR_GetSTDAbility):
Command: NET_DVR_GET_PTZ_CAPABILITIES.
14. NET_DVR_PTZ_TRACK_PARAM(PTZ tracking parameters)uses 2 bytes of parameters: byLinkageTarget(linkage target), byAutoTrackEnable(enabling tracking).
15. NET_VCA_ONE_RULE_V42(Behaviour analysis rule parameters)uses 1 byte of reserved parameters: byEventPriority(event Priority).
16. Device Capability Set(API:: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO)-EventAbility(event capability set)Extended, <Track>(VCA tracking)-<ManualTrace>(manual tracking)added new node: linkageTrack(linked tracking).
17. Device Capability Set(API:: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO)- VCA channel analysis Capability Set(VcaChanAbility)Extended, <Behavior>(Behaviour analysis capability)-line crossing, region entering, region exiting, intrusion, loitering, parking, people gathering Capability Set added new node <EventType>(event type) added new node: <eventPriority>(event priority).
2016.01.25 V5.1.6.5
build20160113 		CVR V2.3.2-3 1. Added video integrity checking function( API: NET_DVR_StartRemoteConfig and NET_DVR_GetNextRemoteConfig):
Command: NET_DVR_RECORD_CHECK.
2. Added the function pf getting total video size( API: NET_DVR_StartRemoteConfig and NET_DVR_GetNextRemoteConfig):
Command: NET_DVR_GET_RECORD_SEGMENT_CFG.
3.Added function of adding video passback task manually( API: NET_DVR_SetDeviceConfig):
Command: NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL.
4. Added function of deleting video passback task function( API: NET_DVR_SetDeviceConfig):
Command: NET_DVR_DEL_RECORD_PASSBACK_TASK_MANUAL.
5. Added function of getting all manual task of video passback( API: NET_DVR_StartRemoteConfig and NET_DVR_GetNextRemoteConfig):
Command: NET_DVR_GET_ALL_RECORD_PASSBACK_TASK_MANUAL.
6. Added function of controlling video passback manual task( API: NET_DVR_RemoteControl):
Command: NET_DVR_RECORD_PASSBACK_TASK_MANUAL_CTRL.
7. Added video passback schedule configuration function( API: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command: NET_DVR_GET_RECORD_PASSBACK_PLAN_CFG, NET_DVR_SET_RECORD_PASSBACK_PLAN_CFG.
8. Added getting device storage information function( API: NET_DVR_GetDVRConfig):
Command: NET_DVR_GET_DEV_STORAGE_CFG.
9.Added getting on-line user information function ( API: NET_DVR_GetDVRConfig):
Command: NET_DVR_GET_ONLINE_USER_CFG.
10. NET_DVR_DEVICE_RUN_STATUS(Device working status )uses 4 bytes of new parameters: fNetworkFlow( Network Flow).
11. Device Capability Set(API:: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO)-CVR Capability Set(CVRAbility)Extended, added new nodes: <RecordCheck>(Whether to support video detection), <AddRecordPassBackManul>(Whether to support manualy adding video passback task), <GetAllRecordPassBackManulTask>(Whether to support getting all video passback task), <RecordPassBackManulTaskCtrl>(Whether to support video passback task), <RecordPassBackManulTaskDel>(Whether to support deleting video passback manual task), <RecordPassBackPlanConfig>(Whether to support video passback schedule configuration), <GetSegmentRecordtotalSize>(Whether to support getting video total size), <DeviceStorageStatus>(Whether to support getting device storage information), <OnlineUser>(Whether to support getting on-line user).
2016.01.25 V5.1.6.7
build20160125 		Network Camera V5.3.8
FF Vehicle License Plate Recognition 		1. Added FTP upload information correction parameters configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_FTPUPLOAD_CFG, NET_DVR_SET_FTPUPLOAD_CFG.
2. Added FTP Upload Capability Set( API: NET_DVR_GetSTDAbility):
Command: NET_DVR_GET_FTP_CAPABILITIES.
3. Added blacklist arming schedule configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_VEHICLE_BLACKLST_SCHEDULE, NET_DVR_SET_VEHICLE_BLACKLST_SCHEDULE.
4. Added blacklist arming linkage configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_VEHICLE_BLACKLIST_EVENT_TRIGGER, NET_DVR_SET_VEHICLE_BLACKLIST_EVENT_TRIGGER.
5. Added whitelist arming schedule configuation fucntion( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_VEHICLE_WHITELST_SCHEDULE, NET_DVR_SET_VEHICLE_WHITELST_SCHEDULE.
6. Added whitelist arming linkage configuration fucntion( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_VEHICLE_WHITELIST_EVENT_TRIGGER, NET_DVR_SET_VEHICLE_WHITELIST_EVENT_TRIGGER.
7. Added function of importing blacklist/whitelist configuration file ( API: NET_DVR_UploadFile_V40):
File Type: UPLOAD_VEHICLE_BLACKWHITELST_FILE.
8. Added function of exporting blacklist/whitelist configuration file( API: NET_DVR_StartDownload):
File Type: NET_SDK_DOWNLOAD_VEHICLE_BLACKWHITELST_FILE.
9. NET_ITC_POST_MPR_PARAM(Checkpoint multi-frame detection(MPR) uses 3 bytes parameters: byRoadType(road mode), wCustomDelayTime(custom capture delay time).
10. NET_DVR_DAYNIGHT(Day/night switch function)- byDayNightFilterType(day/night switch mode) added new bvalue: 5- Auto mode 2(no photosensitivity) .
11. Event Triggering Capability Set(EventTriggersCap) added node: <BlackListTriggerCap>(blacklist event triggering capability), <WhiteListTriggerCap>(whitelist event triggering capability).
12. Device Capability Set(DEVICE_ABILITY_INFO), EventAbility(Event Capability Set)Extended, <TriggerCfg>(triggering parameters configuration capability)-node <PostMPR>(checkpoint multi-frame detection)added nre node: RodeType( road type).
13. Device front-end parameters Capability Set(CAMERAPARA)Extended, <DayNightFilter>(day/night switch)-<DayNightFilterType>(day/night switch mode) sub node:<Range>(value range)Added new value: 5-5- Auto mode 2(no photosensitivity) .
14. Added new error code: 180, 181.
2016.01.25 V5.1.6.5
build20160113 		Intelligent Analyzer
iVMS-6200(B/J)
V3.0.0 		1. VCA_RULE_EVENT_TYPE_EX(Behaviour Analysis Event Type) added enumeration type: ENUM_VCA_EVENT_HIGH_DENSITY_STATUS(People gathering status in ara).
2. NET_VCA_EVENT_UNION(Event Rule Union) added new Structure: NET_VCA_HIGH_DENSITY_STATUS(People Gathering Status).
3. Device Capability Set(API: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO)-VCA channel analysis capability set(VcaChanAbility)expending, <Behavior>(Behaviour analysis capability)-node<EventType>(event type)added new node: <HighDensityStatus>(People gathering status capability).
2015.11.25 V5.1.5.10
build20151210 		64 series Covert Camera
DS-2CD6416C1-GLT V5.3.4 		1. Added timing function ( API: NET_DVR_SetDVRConfig):
Command: NET_DVR_SET_TIMECORRECT.
2. Added Wi-Fi hotspot configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_WIRELESSSERVER, NET_DVR_SET_WIRELESSSERVER.
3. Added function of getting Wi-Fi hotspot connected device list information( API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_CONNECT_LIST.
4. Added OSD battery voltage display function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_OSD_BATTERY_POWER_CFG, NET_DVR_SET_OSD_BATTERY_POWER_CFG.
5. Added capability set of getting hotspot connected device list information( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_CONNECT_LIST_CAPABILITIES.
6. Added OSD battery voltage display parameters capability set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_OSD_BATTERY_POWER_CFG_CAPABILITIES.
7. NET_DVR_WIFIETHERNET(Wirelessnetwork interface parameters)uses 1 byte of parameter: byCloseWifi(whether to close the wifi connection).
8. Wifi/hotspot configuration capability set(WirelessServer) added node: <isMutexWithWireless>(Exclusion capability).
9. Device software/hardware capability set(BasicCapability)Extended, added node<isSupportTimeCorrect>(whether to support NET_DVR_SET_TIMECORRECT timing operation).
10. Device wireless device network capability set(NetworkSetting)Extended, <WirelessSetting >(Wireless network configuration) added node added nodez:<closeWifi >Whether to close wifi), <mutexAbility >( wifi and hotspot are exclusive).
2015.12.10 V5.1.5.10
build20151210 		Education Sharing System
DS-8104LHFH-E2 V1.2.2 		1. Added getting course list information function (API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_COURSE_LIST.
NET_DVR_COURSE_LIST_COND uses 1 reserved byte of added parameters: byInstructorName (teacher name).
2. Added querying current status of education sharing system (including recording status and download status) function (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_RECORD_STATUS (query current status of education sharing system (including recording status and download status)), NET_DVR_RECORDING_PUBLISH_FILE (file publishing).
3. Added manual course recording control function (API: NET_DVR_STDControl):
Command: NET_DVR_MANUAL_CURRICULUM_CONTROL:
NET_DVR_MANUAL_CURRICULUM_CFG, uses 1 reserved byte of added parameter: byInstructorName (teacher).
4. Getting capability set (API: NET_DVR_GetSTDAbility:
Command: manual course recording capability set: NET_DVR_MANUAL_CURRICULUM_CONTROL_CAP(ManualCurriculumCap), file publishing capability set: NET_DVR_GET_RECORDING_PUBLISH_FILE_CAP(PublishFile).
5. Added image differential detection configuration (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_IMAGE_DIFF_DETECTION_CFG and NET_DVR_SET_IMAGE_DIFF_DETECTION_CFG.
6. Added image differential detection capability set (API: NET_DVR_GetSTDAbility):
Capability set type: NET_DVR_GET_IMAGE_DIFF_DETECTION_CFG_CAP(ImageDiffDetectionCfg).
7. Modified searching background picture file (API: NET_DVR_GetSTDConfig:
Command: NET_DVR_GET_BACKGROUND_PIC_CFG (search background picture file).NET_DVR_BACKGROUND_PIC_CFG uses 1 reserved byte of added parameter: byPicName (picture name).
8. Added configuration publishing file information parameter (API: NET_DVR_GetSTDConfig and: NET_DVR_SetSTDConfig
Command: NET_DVR_GET_RECORDING_PUBLISH_FILE_INFO(get publishing file information parameter ) and NET_DVR_SET_RECORDING_PUBLISH_FILE_INFO(set publishing file information parameter). Added structure:NET_DVR_RECORDING_PUBLISH_FILE_COND.
9. Added getting publishing file information configuration capability set (API: NET_DVR_GetSTDAbility_RECORD, capability set type: NET_DVR_GET_RECORDING_PUBLISH_FILE_INFO_CAP(PublishFileCfg).
10. Modified getting education sharing system total capability set (RecordHostCap) extended node: <isSupportPublishFileCfg >(whether to support publishing file information), <isSupportSearchCourse >(whether to support searching course list information), <isSupportCurriculumControl >(whether to support manual recording control), <isSupportUploadBackPic >(whether to support uploading background picture), <isSupportGetRecordStatus >(whether to support searching current status of education sharing system), <isSupportImageDiffDetection >(whether to support image differential detection).
2015.11.25 V5.1.5.7
build20151125 		Network Camera V5.3.6 1. Added internal light supplement lamp configuration fucntion( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_SUPPLEMENTLIGHT, NET_DVR_SET_SUPPLEMENTLIGHT.
2. Added function of getting user online information( API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_ONLINEUSER_INFO.
3. Added storage health Status checking linked configuration( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_STORAGEDETECTION_EVENT_TRIGGER, NET_DVR_SET_STORAGEDETECTION_EVENT_TRIGGER.
4. Added storage health Status checking arming schedule configuration( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_STORAGEDETECTION_SCHEDULE, NET_DVR_SET_STORAGEDETECTION_SCHEDULE.
5. Added storage health Status query function ( API: NET_DVR_GetSTDConfig):
Command: NET_DVR_GET_STORAGEDETECTION_STATE.
6. Added storage detecting reading/writing lock configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_STORAGEDETECTION_RWLOCK, NET_DVR_SET_STORAGEDETECTION_RWLOCK.
7. Added storage detecting unlocking configuration function( API: NET_DVR_SetSTDConfig):
Command: NET_DVR_SET_STORAGEDETECTION_UNLOCK.
8. Added internal light supplement lamp configuration capability set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_SUPPLEMENTLIGHT_CAPABILITIES.
9. Added storage health Status checking arming schedule capability set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_STORAGEDETECTION_SCHEDULE_CAPABILITIES .
10. Added storage detecting reading/writting lock configuration capability set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_STORAGEDETECTION_RWLOCK_CAPABILITIES .
11. Added storage detecting unlocking configuration capability set( API: NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_STORAGEDETECTION_UNLOCK_CAPABILITIES .
12. Added storage detection alarm ipload function( API: NET_DVR_SetDVRMessageCallBack_V31 and NET_DVR_StartListen_V30):
COMM_ALARM_STORAGE_DETECTION.
13. NET_DVR_FindDVRLog_V30(Log query) and NET_DVR_LOG_V30(Log query result)-dwMinorType added exception log sub type: MINOR_SDCARD_ABNORMAL(SD card is not healthy), MINOR_SDCARD_DAMAGE(SD card is damaged).
14. Added function of supporting wifi hotspot connected device query( API: NET_DVR_StartRemoteConfig and NET_DVR_GetNextRemoteConfig):
Command: NET_DVR_GET_WIFI_CLIENT_LIST_INFO.
16. NET_DVR_JPEG_CAPTURE_CFG and NET_DVR_JPEG_CAPTURE_CFG_V40(Devide capture configuration) uses 1 byte of added parameter: byStreamType(Capture stream typ).
17. FTP parameters configruation expoending
1) NET_DVR_FTPCFG(FTP upload parameter) uses 1 byte of added parameter:byPicArchivingInterval(Picture saving interval).
2) NET_DVR_FTPCFG_V40(FTP Upload parameters expending) uses 2 bytes of added parameters: byPicArchivingInterval(Picture saving interval), byPicNameRuleType(Picture naming rule type).
2015.11.25 V5.1.5.7
build20151125 		Video Intercom V1.3.0 1. Added video intercom alarm event parameters configuration function( API NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_VIDEO_INTERCOM_ALARM_CFG, NET_DVR_SET_VIDEO_INTERCOM_ALARM_CFG.
2. NET_DVR_VIDEOINTERCOM_STREAM(Video intercom stream channel parameters)-bySourceType(Video source type) added value: 5- Double-check device.
3. NET_DVR_CARD_CFG(Card parameters)uses 4 bytes of parameters: wRoomNumber(Room No.), wFloorNumber(Floor number).
4. Video intercom Capability Set(IP_VIEW_DEV_ABILITY), <VideoIntercom>(Video intercom capability) Extended:
1) Added new node: <VideoIntercomStream>(video source capability), <UploadAlarmCfg>( video intercom alarm event configuration capability).
2) <DeviceID>(device No. capability)Added new node: <AgainDevice>(double-checking device).
3) <OperationTime>(operation time capability)Added new node: <callForwardingTime>(forwarding timeout).
4) <RelateDevice>(related device capability)Added new node:
<notSupportAgainUnitIP >(If it is not supporting double-checking device IP configuration), <againUnitIP>(double-checking device IP address ), <notSupportOutDoorType>(If it is not supporting master door station type configuration),<outDoorType>(Master door station type).
5. Access Controller Capability Set(ACS_ABILITY)Extended, <Card>(card configuration capability)Added new node: <roomNumber>(room No.), <floorNumber>(floor number).
2016.01.12 V5.1.5.5
build20151111 		CVR V2.3.2 1. Added the function of getting re-positioning information under the N+0 mode (API: NET_DVR_GetDeviceConfig):
Command: NET_DVR_GET_RELOCATE_INFO.
2. Added capability set( API: NET_DVR_GetDeviceAbility, corresponded capability set type: DEVICE_ABILITY_INFO):
CVR device capability setCVRAbility.
3. NET_DVR_SEARCH_EVENT_PARAM_V40(Event video query condition) and NET_DVR_SEARCH_EVENT_RET_V40(Event video query result)-wMinorType added main type: EVENT_STREAM_INFO(Stream ID information), corresponded sub type: 9~32.
4. Added error code: 824, and 825.
2015.11.02 V5.1.5.2
build20151027 win64 		win64 Baseline 1.Newly added interface for ISAP protocol transparent transmission:NET_DVR_STDXMLConfig
2015.11.02 V5.1.3.25
build20150916 		90/80/81/73/72HQH(HGH)-SH V3.3.1 1. Added device supporting DDNS Capability Set( API NET_DVR_GetSTDAbility):
Capability Set type: NET_DVR_GET_DDNS_COUNTRY_ABILITY.
2. Recording configuration and query added supported stream type:
1) NET_DVR_RECORD_V40(Camera record parameters): byStreamType(stream type)added new value: 2- Main stream & sub stream.
2) NET_DVR_FILECOND_V40(File query condition) and NET_DVR_FINDDATA_V40(File query condition), byStreamType(stream type) added new value: 0xff- All
3) NET_DVR_MRD_SEARCH_PARAM(Monthly video query condition)uses 1 byte of added parameter: byStreamType(Stream type)
3. In NET_DVR_COMPRESSION_INFO_V30(Stream compression parameters), byResolution added resolution: 111-960*1080(1080p Lite), and 112-640*720(half 720p).
4. Device common Capability Set(DEVICE_ABILITY_INFO), device channel input capability(ChannelInputAbility)Extended, node<recordStreamType> added value: 2-main_and_sub(main stream & sub stream).
5. Device Common Capability Set(DEVICE_ABILITY_INFO), Video recoding related capability(RecordAbility)Extended, added new node: <MDRCondStreamType>(Monthly query condition supported stream type).
2015.9.30 V5.1.3.25
build20150916 		iDS-TCC225 Intelligent Positionning System V5.1.10 1.Added traffic trigger mode
Union NET_ITC_TRIGGER_PARAM_UNION newly adds: NET_ITC_POST_MOBILE_PARAM,
ITC_TRIGGERMODE_TYPE newly adds enumeration type: ITC_POST_MOBILE_TYPE
2.Added function for configuring Wi-Fi hot spot (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_WIRELESSSERVER_FULLVERSION_CFG, NET_DVR_SET_WIRELESSSERVER_FULLVERSION_CFG
3.Added capability set of hot spot configuration (API: NET_DVR_GetSTDAbility):
Capability set type: NET_DVR_GET_WIRELESSSERVER_CAPABILITIES
4.Added device type: TRAFFIC_YTDOME, TRAFFIC_RDDOME
2015.09.30 V5.1.3.25
build20150916 		Hundure Access Control Device
RAC-6X00 V1.0.0 		1. NET_DVR_ACS_WORK_STATUS(Access controller working status) uses 1 byte of added parameter: byIndicatorLightStatus( Indicator status).
2. InNET_DVR_CARD_READER_CFG(Card reader parameters) byCardReaderType(Card reader type)added value: 33-DS-K1T200EF/EF-C/MF-MF-C/CF/CF-C, and 34-DS-K1T300EF/EF-C/MF-MF-C/CF/CF-C.
3. Fingerprint management Extended:
1) NET_DVR_FINGER_PRINT_INFO_COND(Finger print parameters configuratio condition) uses 1 byte of new value: byCallbackMode(Device callback mode).
2) NET_DVR_FINGER_PRINT_STATUS(Finger print status) uses 1 byte of new parameter: byTotalStatus(Total status). 4. In NET_DVR_ACS_ALARM_INFO, dwMinor(Alarm sub type)added exception type: MINOR_INDICATOR_LIGHT_OFF, MINOR_INDICATOR_LIGHT_RESUME. 5. Access controller capability set(ACS_ABILITY)Extended:
1) <AcsWorkStatus>(Working status capability) added new node: <indicatorLightStatus>(indicator status).
2) In <CardReaderCfg>(Card reader parameters capability), <cardReaderType>(Card reader type) added new value: DS-K1T200EF/EF-C/MF-MF-C/CF/CF-C,and DS-K1T300EF/EF-C/MF-MF-C/CF/CF-C.
6. Added new device type: RAC_6X00(Hundure access control terminal).
2015.9.23 V5.1.3.25
build20150916 		Network Camera V5.3.4 FF Vehicle Recognition 1. Added all vehicle detection list arming linkage configuration function( API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_VEHICLE_ALLLIST_EVENT_TRIGGER, NET_DVR_SET_VEHICLE_ALLLIST_EVENT_TRIGGER
2.Added other vehicle detection list arming linkage configuration function( API:NET_DVR_GetSTDConfigand NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_VEHICLE_OTHERLIST_EVENT_TRIGGER, NET_DVR_SET_VEHICLE_OTHERLIST_EVENT_TRIGGER
2015.9.23 V5.1.3.20
build20150831 		Network Camera V5.3.5 1.Added function of getting recommended passenger flow statistic value (API:　NET_DVR_GetSTDConfig):
Command: NET_DVR_GET_PDC_RECOMMEND
2.Added passenger data clearing function(API:　NET_DVR_STDControl):
Command: NET_DVR_REMOVE_FLASHSTORAGE
3.Added capability (API:　NET_DVR_GetSTDAbility):
Capability type:NET_DVR_GET_COUNTING_CAPABILITIES(passenger statistic capability)
4.Added error code:179
2015.9.15 V5.1.3.16
build20150826 		NVR V3.4.0 1.Added function for sychronize IPC password with NVR (API: NET_DVR_STDControl):
Command: NET_DVR_SYNC_IPC_PASSWD
2.Added callback function for configuring strings encoding (API: NET_DVR_SetSDKLocalCfg):
Configuration type: NET_SDK_LOCAL_CFG_TYPE_CHAR_ENCODE
3. Added online ugrade function( API NET_DVR_STDControl):
Command: NET_DVR_SET_ONLINE_UPGRADE.
4. Added online upgrade related information, status query function( API NET_DVR_GetSTDConfig):
Command: NET_DVR_GET_ONLINEUPGRADE_PROGRESS(Online upgrade progress),
NET_DVR_GET_FIRMWARECODE( Get the identification code),
NET_DVR_GET_ONLINEUPGRADE_SERVER(Get upgrade server status),
NET_DVR_GET_ONLINEUPGRADE_VERSION(Get new version information),
NET_DVR_GET_RECOMMEN_VERSION(Check whether to upgrade to this version).
!--> 5.Added capability set (API: NET_DVR_GetSTDAbility):
Capability set type: NET_DVR_GET_TRAFFIC_CAP(capture-related capability set)
6.Added minor type of exception log: MINOR_SYNC_IPC_PASSWD, MINOR_EZVIZ_OFFLINE
2015.9.10 V5.1.3.16
build20150826 		Storage System V1.1 1.Added status of long connection configuration (API:　NET_DVR_GetRemoteConfigState):
NET_SDK_OKC_CREATING_ARRAY
NET_SDK_OKC_CREATING_STORAGE-POOL
NET_SDK_OKC_CREATING_LUN_VOL
NET_SDK_OKC_CREATING_ISCSI
NET_SDK_OKC_ERR_HOT_SPRARE_CONFICT
NET_SDK_OKC_ERR_STORAGE_POOL_CONFICT
2.In NET_DVR_DEVICEINFO_V30, bySupport1 added ability:bySupport1 & 0x80 (whether to support the new type of alarm information for intelligent traffic camera).
3.In NET_DVR_DEVICEINFO_V40, byPasswordLevel added password level: 3- high-risk password.
4.Device common capability(DEVICE_ABILITY_INFO), cvr capability(CVRAbility) expending:<oneKeyConfigSAN>(whether to support one-touch SAN configuration)
2015.09.10 V5.1.3.13
build20150812 		Network Speed Dome V5.3.10
DF8523IW, DF8223IW,
DE3204SW-D 		1. Added temperature and humidity configuration capability Set( API NET_DVR_GetSTDAbility):
Capability Set type: NET_DVR_GET_THSCREEN_CAPABILITIES.
2. Added temperature and humidity configuration function ( API NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_THSCREEN, NET_DVR_SET_THSCREEN.
3.Added temperature and humidity screen timing function( API NET_DVR_STDControl):
Command: NET_DVR_THSCREEN_TIMING.
4.Added GPS longitude and latitude correction Capability Set( API NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_REVISE_GPS_CAPABILITIES.
5. Added GPS longitude and latitude correction configuration function( API NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Capability Set Type: NET_DVR_GET_REVISE_GPS, NET_DVR_SET_REVISE_GPS. 6. l(eMail configuration parameters): byStartTLS(Whether to enable StartTLS).
7. NET_DVR_PICCFG_V30 and NET_DVR_PICCFG_V40(Channel image parameters)Extended, byFontSize(Font size)added value: 4-24*24(CN)/12*24(EN), byAlignment(Alignment mode) added value: 2-Left alignment.
8. NET_DVR_AUXILIARY_DEV_UPGRADE_PARAM(Auxiliary device upgrade condition), byDevType(Upgrade device type)added value: 1- Camera drive.
9. Devide image parameters capability set(DEVICE_VIDEOPIC_ABILITY) Extended, <FontSize>(Font size)node added new value: 24*24, <alignment >(Alignment mode) added value: alignLeft.
10. Devide network application parameters capability(DEVICE_NETAPP_ABILITY)Extended, <Email>added sub node: <enableStartTLS>(email supports enabling TSL).
11. Device encoding capability set(DEVICE_ENCODE_ALL_ABILITY_V20)Extended, <DynamicAbility>-<dynamicAbilityLinkTo>added value: vbrAverageCap(Video average code rate).
2015.9.15 V5.1.3.13
build20150812 		Intelligent Face Analysis Server
IVMS-6200FA V2.2.0 		1.Added function for configuring parameters of alarm handle (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_ALARM_PROCESS_CFG, NET_DVR_SET_ALARM_PROCESS_CFG
2.Added function for searching the alarm track of white/black list (API: NET_DVR_GetSTDConfig):
Command: NET_DVR_GET_BLACKLIST_ALARM_INFO
3.Added function for deleting list alarm record (API: NET_DVR_STDControl):
Command: NET_DVR_DEL_BLACKLIST_ALARM_RECORD
4.Added function for configuring storage resource (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
NET_DVR_GET_STORAGE_RESOURCE_CFG, NET_DVR_SET_STORAGE_RESOURCE_CFG
5.Added function for searching, adding, modifying, and deleting group list (API: NET_DVR_GetSTDConfig, NET_DVR_SetSTDConfig and NET_DVR_STDControl):
NET_DVR_GET_BLACKLIST_GROUP_INFO, NET_DVR_SET_BLACKLIST_GROUP_INFO, NET_DVR_DEL_BLACKLIST_GROUP_INFO
6.Added function for searching, adding, modifying, and deleting group record (API: NET_DVR_GetSTDConfig, NET_DVR_SetSTDConfig and NET_DVR_STDControl): NET_DVR_GET_BLACKLIST_GROUP_RECORD_CFG, NET_DVR_SET_BLACKLIST_GROUP_RECORD_CFG, NET_DVR_DEL_BLACKLIST_GROUP_RECORD_CFG
7.Added function for searching, adding, modifying, and deleting camera in a region (API: NET_DVR_GetSTDConfig, NET_DVR_SetSTDConfig and NET_DVR_STDControl):
NET_DVR_GET_AREA_MONITOR_CFG, NET_DVR_SET_AREA_MONITOR_CFG, NET_DVR_DEL_AREA_MONITOR_CFG
8.Added function for searching capture library (API: NET_DVR_GetSTDConfig):
NET_DVR_RETRIEVAL_SNAP_RECORD
9.Added function for searching white/black list alarm list (API: NET_DVR_GetSTDConfig):
NET_DVR_GET_ALARMLIST
10.Added function for detecting single picture (API: NET_DVR_GetSTDConfig):
NET_DVR_DETECT_IMAGE
11.Added function for searching and deleting capture record (API: NET_DVR_GetSTDConfig and NET_DVR_STDControl):
NET_DVR_GET_SNAP_RECORD, NET_DVR_DEL_SNAP_RECORD
12.Added function for searching, adding, modifying, and deleting face record (API: NET_DVR_GetSTDConfig, NET_DVR_SetSTDConfig and NET_DVR_STDControl):
NET_DVR_GET_FACE_RECORD, NET_DVR_SET_FACE_RECORD, NET_DVR_DEL_FACE_RECORD
13.Added function for searching, adding, modifying, and deleting face library (API: NET_DVR_GetSTDConfig, NET_DVR_SetSTDConfig and NET_DVR_STDControl):
NET_DVR_GET_FACE_DATABASE, NET_DVR_SET_FACE_DATABASE, NET_DVR_DEL_FACE_DATABASE
14.Added function for detecting face library (API: NET_DVR_GetSTDConfig):
NET_DVR_RETRIEVAL_FACE_DATABASE
15.Added function for adding, modifying, and deleting list group linked with device (API: NET_DVR_SetSTDConfig and NET_DVR_STDControl):
NET_DVR_SET_BLACKLIST_REL_DEV_CFG, NET_DVR_DEL_BLACKLIST_REL_DEV
2015.10.15 V5.1.3.10
build20150720 		Network Camera V5.3.4 1.Added external device configuration function ( API NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
Command: NET_DVR_GET_EXTERNALDEVICE, NET_DVR_SET_EXTERNALDEVICE.
2. Added external device configuration capability Set( API NET_DVR_GetSTDAbility):
Capability Set Type: NET_DVR_GET_EXTERNALDEVICE_CAPABILITIES.
3. NET_DVR_CAMERAPARAMCFG_EX(Front-end device configuration) Extended, byIrisMode(iris mode) added new value:6-HIK 11-40mm F1.7 (HV1140P-8MPIR), 7-HIK 2.7-12mm F1.2( TV2712P-MPIR)
4. NET_DVR_UNATTENDED_BAGGAGE_REGION(Unattended baggage detection configuration) uses 3 bytes of added parameters: wTimeThreshold(Time threshold), byTimeThresholdMode(Time threshold field type).
5. NET_DVR_ATTENDED_BAGGAGE_REGION(Baggage removing detection configuration)uses 3 bytes of added parameters: wTimeThreshold(Time threshold), byTimeThresholdMode(Time threshold field type).
6. Device front-end parameters capability(IPC_FRONT_PARAMETER_V20)Extended::
1) <ExposureSet>(Exposure time)<Range>(Value range) added new value:21-1/75, 22-1/125, 23-1/175, 24-1/225, 25-1/300, and 26-1/400.
2) <IrisMode>(Iris mode)<Range>: 6-HIK 11-40mm F1.7 (HV1140P-8MPIR), 7-HIK 2.7-12mm F1.2( TV2712P-MPIRZ).
3) <Piris>(Piris) added new node:<Piris6>, <Piris7>.
2015.9.12 V5.1.3.10
build20150720 		Access Control Terminal
DS-K1TXXX V1.0 		1. Added card No. related user data configruation function(API: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command: NET_DVR_GET_CARD_USERINFO_CFG, NET_DVR_SET_CARD_USERINFO_CFG
2015.9.7 V5.1.3.10
build20150720 		32-inch & 42-inch Decoding Monitor
DS_D50XX V1.0 		1.Added screen audio parameters configuration function(API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_LCD_AUDIO_CFG, NET_DVR_SET_LCD_AUDIO_CFG
2.Added screen start-up LOGO display parameters configuration function (API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_BOOT_LOGO_CFG, NET_DVR_SET_BOOT_LOGO_CFG
3.Added function of getting screen working status (API: NET_DVR_GetDVRConfig):
Command: NET_DVR_GET_LCD_WORK_STATE
2015.07.03 V5.1.3.5
build20150701 		DS-6400HD-T V3.5.0 1. Added window roaming mode configuration function( APINET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_WIN_ROAM_SWITCH_CFG, NET_DVR_SET_WIN_ROAM_SWITCH_CFG
bbbbbbbbb
2015.07.03 V5.1.1.21
build20150616 		Network Camera V5.3.3 1.Added smart rule related color configuration function (API: NET_DVR_SetDVRConfig):
Command: NET_DVR_SET_VCA_RULE_COLOR_CFG
2.Added smart rule related color query function(API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_VCA_RULE_COLOR_CFG
3.Added people counting query function(API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_FACECAPTURE_STATISTICS
4.Added people counting alarm upload function(APdI: NET_DVR_SetDVRMessageCallBack_V31):
COMM_FACECAPTURE_STATISTICS_RESULT
2015.06.10 V5.1.1.21
build20150616 		Access Control V1.1 1. Added mobile phone linking to door permission configuration(API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig);
Command: NET_DVR_GET_PHONE_DOOR_RIGHT_CFG, NET_DVR_SET_PHONE_DOOR_RIGHT_CFG
2.Added event/card No. linkage configuration (API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig);
Command: NET_DVR_GET_EVENT_CARD_LINKAGE_CFG, NET_DVR_SET_EVENT_CARD_LINKAGE_CFG
3.Added controller parameters configuration (API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig);
Command: NET_DVR_GET_ACS_CFG, NET_DVR_SET_ACS_CFG
4.Added fingerprint management function(API: NET_DVR_StartRemoteConfig and NET_DVR_SendRemoteConfig);
Command: NET_DVR_GET_FINGERPRINT_CFG, NET_DVR_SET_FINGERPRINT_CFG
5.Added function of deleting fingerprint parameters(API: NET_DVR_RemoteControl);
Command: NET_DVR_DEL_FINGERPRINT_CFG
6.Added function of card password opening door configuration the (API: NET_DVR_StartRemoteConfig and NET_DVR_SendRemoteConfig);
Command: NET_DVR_GET_CARD_PASSWD_CFG, NET_DVR_SET_CARD_PASSWD_CFG
2015.06.10 V5.1.1.19
build20150605 		DS-KV8XX2-XX Series Villa Door Station V1.1 1.Newly added expanded configuration for elevator controlling parameters (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_ELEVATORCONTROL_CFG_V40, NET_DVR_SET_ELEVATORCONTROL_CFG_V40
2.Newly added configuration for calling residents by pressing button (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_CALL_ROOM_CFG, NET_DVR_SET_CALL_ROOM_CFG
3.Newly added signaling interaction function in video intercom (Corresponding interface NET_DVR_StartRemoteConfig, and NET_DVR_SendRemoteCon fig):
Command: NET_DVR_VIDEO_CALL_SIGNAL_PROCESS
4.Newly added function for supporting getting alarm by alarm arming (Corresponding interface NET_DVR_SetDVRMessageCallBack_V31):
COMM_UPLOAD_VIDEO_INTERCOM_EVENT,
COMM_ALARM_VIDEO_INTERCOM
5.Newly added device model: DS_KVXXXX_XX (villa door station)
2015.05.20 V5.1.1.10
build20150429 		ATM Room Control DS-1H02-A V1.0 1.Addede ATM room status query function (API: NET_DVR_GetDVRConfig):
Command: NET_DVR_GET_SAFETYCABIN_STATE
2.Added RS485 cascading device configruation (API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_RS485_CASCADE_CFG, NET_DVR_SET_RS485_CASCADE_CFG
2015.5.13 V5.1.1.10
build20150429 		Network Security Control Panel V2.1.0 1. Newly added upgrade function of auxiliary devices (Corresponding interface NET_DVR_Upgrade_V40):
Upgrade type: ENUM_UPGRADE_AUXILIARY_DEV
2. Newly added configuration for single scheduled output rule parameters (Corresponding interface NET_DVR_GetDVRConfig, NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_ONE_OUTPUT_SCH_RULECFG_V40, NET_DVR_SET_ONE_OUTPUT_SCH_RULECFG_V40
2015.5.12 V5.1.1.10
build20150429 		Video Security Control Panel V2.0.0 1. Newly added configuration for delay live view parameters (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_PREVIEW_DELAY_CFG, NET_DVR_SET_PREVIEW_DELAY_CFG
2. Newly added keyboard parameters configuration (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_KEYBOARD_ALARM_CFG, NET_DVR_SET_KEYBOARD_ALARM_CFG
3. Newly added linked video channel configuration in alarm zone (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_ZONE_CHANNEL_LINKAGE_CFG, NET_DVR_SET_ZONE_CHANNEL_LINKAGE_CFG
4. Newly added alarm center server configuration (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_CENTER_SERVER_CFG, NET_DVR_SET_CENTER_SERVER_CFG
5. Newly added function for searching the wireless service (Corresponding interface NET_DVR_GetDeviceConfig):
Command: NET_DVR_GET_ALARMHOST_WIRELESS_BUSINNESS_INFO
6. Newly added function for getting all remote controllers (Corresponding interface NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_ALL_REMOTECONTROLLER_LIST
2015.5.11 V5.1.1.10
build20150429 		Video Security Control Panel V1.3.0 1. Newly added function for getting main status expansion (Corresponding interface NET_DVR_GetDVRConfig):
Command: NET_DVR_GET_ALARMHOST_MAIN_STATUS_V40
2. Newly added expanded configuration of scheduled output parameters (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_OUTPUT_SCHEDULE_RULECFG_V40, NET_DVR_SET_OUTPUT_SCHEDULE_RULECFG_V40
3. Newly added alarm capture picture configuration (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_ALARM_CAPTRUE_CFG, NET_DVR_SET_ALARM_CAPTRUE_CFG
4. Newly added functions of scheduled arming/disarming in subsystem and of priority schedule configuration (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_SUBSYSTEM_ALARM, NET_DVR_SET_SUBSYSTEM_ALARM,
NET_DVR_GET_PRIOR_ALARM, NET_DVR_SET_PRIOR_ALARM
5. Newly added white list configuration (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_WHITELIST_ALARM, NET_DVR_SET_WHITELIST_ALARM
6. Newly added configuration for tamper parameters (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_TAMPER_ALARMIN_PARAM, NET_DVR_GET_TAMPER_ALARMIN_PARAM
7. Newly added configuration for remote controller permission (Corresponding interface NET_DVR_GetDVRConfig, and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_REMOTECONTROLLER_PERMISION_CFG, NET_DVR_SET_REMOTECONTROLLER_PERMISION_CFG
8. Newly added function for getting all modules information (Corresponding interface NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_ALARMHOST_MODULE_LIST
9.Newly added minor type of security control panel log(Corresponding interface NET_DVR_FindAlarmHostLog):
1) Minor type of alarm log: 0x2e, 0x2f;
2) Minor type of exception log: 0x2c, 0x2d, 0x2e;
3) Minor type of operation log: 0x4d~0x56;
4) Minor type of event log: 0x06~0x0e
2015.5.8 V5.1.1.10
build20150429 		TS-5004-A V4.0.4 1. Newly added function for searching traffic data (Corresponding interface NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_TRAFFIC_DATA
2. Newly added function for searching traffic flow (Corresponding interface NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_TRAFFIC_FLOW
2015.05.05 V5.1.1.10
build20150429 		Network Camera V5.3.2 1.Added stream getting forced refreshing frame function (API; NET_DVR_STDControl):
Command; NET_DVR_STREAMING_REFRESH_FRAME
2.Added video stream capability(API; NET_DVR_GetSTDAbility):
Capability type: NET_DVR_GET_STREAMING_CAPABILITIES
3.Added refreshing frame capability(APINET_DVR_GetSTDAbility):
Capability type:NET_DVR_GET_REFRESHFRAME_CAPABILITIES
2015.05.05 V5.1.1.3
build20150318 		1.Upgrading V40 Login Expanding Interface:
NET_DVR_Login_V40
2.Added device activating interface:
NET_DVR_ActivateDevice
3.Added the function of activating front-end device through NVR(Interface:NET_DVR_SetSTDConfig):
Command:NET_DVR_SET_IPDEVICE_ACTIVATED
4.Add the function of getting security status of the analog channel corresponded device. (Interface:NET_DVR_GetDVRConfig):
Command:NET_DVR_GET_DIGITAL_CHAN_SECURITY_STATUS
5.Added the capability of activating the front-end device by the NVR (Interface:NET_DVR_GetSTDAbility)
Capability Type: NET_DVR_GET_ACTIVATE_IPC_ABILITY
6.Added the error code of activating the device: 250,251, and 252.
2015.03.19 V5.0.3.17
build20150210 		Network Camera V5.3.0
Network Speed Dome V5.3.0 		1.Added physical ratio coordinate configuration function(API:NET_DVR_GetDVRConfig):
Command: NET_DVR_GET_PHY_RATIO, NET_DVR_SET_PHY_RATIO
2015.03.06 V5.0.3.15
build20150129 		Intelligent Traffic Camera V4.0.0 1.Added Text Overlay Settings Expension(API:NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command:: NET_ITS_GET_OVERLAP_CFG_V50, NET_ITS_SET_OVERLAP_CFG_V50
2. Added function of uploading voilation dictionary file(API:NET_DVR_UploadFile_V40)
Uploaded file type:UPLOAD_VIOLATION_FILE
3.Added Radar Alarm Upload Function(API:NET_DVR_SetDVRMessageCallBack_V31):
COMM_ITS_RADARINFOF
2015.02.12 V5.0.3.15
build20150129 		Building Video Intercom V1.0.1 1.Newly added function for searching the registration information of door station (Corresponding interface NET_DVR_StartRemoteConfig, and NET_DVR_GetNextRemoteConfig):
Command: NET_DVR_GET_VIS_REGISTER_INFO
2015.1.30 V5.0.3.15
build20150129 		LCD Slicing Screen V1.3 1. Added screen alarm uploading type: (API:NET_DVR_SetDVRMessageCallBack_V31 and NET_DVR_StartListen_V30):
COMM_ALARM_LCD
2015.1.20 V5.0.3.10
build20150112 		iDS-TP6200-HP V4.0.2 1. Added vehicle dual-recognition task uploading function (API: NET_DVR_SetDeviceConfig):
Command: NET_DVR_SET_VEHICLE_RECOG_TASK
2. Added vehicle dual-recognition task getting function (API: NET_DVR_StartRemoteConfig and NET_DVR_GetNextRemoteConfig):
Command: NET_DVR_GET_VEHICLE_RECOG_TASK
3.Added vehicle dual-recognition uploading data type: (API: NET_DVR_SetDVRMessageCallBack_V31 and NET_DVR_StartListen_V30):
COMM_VEHICLE_RECOG_RESULT
4.Added vehicle dual-recognition detection capability (API:NET_DVR_GetDeviceAbility, corresponded capability: DEVICE_ABILITY_INFO)
VehicleRecogAbility
2014.12.26 V5.0.2.15
build20141212 		IPC V5.2.6
IPD V5.2.8 		1.Added camera information configuration(API:NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command: NET_DVR_GET_MONITOR_LOCATION_INFO, NET_DVR_SET_MONITOR_LOCATION_INFO
2.Added capture picture parameters Extended configuration(API: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command: NET_DVR_GET_SNAPINFO_CFG_V40, NET_DVR_SET_SNAPINFO_CFG_V40
3.Added test function (API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_CLOUDSTORAGE_SERVER_TEST(Cloud storage server test), and NET_DVR_PHONE_NUM_TEST(Telephone No. test)
4.Added function of getting wireless arming status(API: NET_DVR_GetDeviceStatus):
Command: NET_DVR_GET_REMOTECONTROL_STATUS
5.Added function of getting light storageAPI: NET_DVR_GetSTDAbility):
Command: NET_DVR_GET_LITESTORAGE_CAPABILITIES
6.Added light storage configuration (API: NET_DVR_GetSTDConfig and NET_DVR_SetSTDConfig):
NET_DVR_GET_LITESTORAGE, NET_DVR_SET_LITESTORAGE
7.Added function of vehicle detection calibration(API: NET_DVR_GetSTDAbility):
Command: NET_DVR_GET_VEHICLE_CAPABILITIES
8.Added function of getting vehicle detection calibration(API: NET_DVR_GetSTDConfig):
NET_DVR_GET_VEHICLE_CALIBRATION
9.Added error code:175, 176, and 177
2014.12.14 V5.0.2.10
build20141113 		DS-6400HD-T V3.0.0 1.Added decoder smart alarm configuration function(API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
Command: NET_DVR_GET_DEC_VCA_CFG, NET_DVR_SET_DEC_VCA_CFG
2.Added smart decoding alarm information upload function (API: NET_DVR_SetDVRMessageCallBack_V31 and NET_DVR_StartListen_V30):
Type: COMM_ALARM_DEC_VCA
2014.7.20 V4.3.1.4
build20140928 		Access Controller V1.0 1.Upgrade Interface Expansion:
NET_DVR_Upgrade_V40
2.New Added Weekly Schedule Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_WEEK_PLAN_CFG, NET_DVR_SET_WEEK_PLAN_CFG,
NET_DVR_GET_VERIFY_WEEK_PLAN, NET_DVR_SET_VERIFY_WEEK_PLAN,
NET_DVR_GET_CARD_RIGHT_WEEK_PLAN, NET_DVR_SET_CARD_RIGHT_WEEK_PLAN
3.New Added Holiday Schedule Configuration Function (the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_DOOR_STATUS_HOLIDAY_PLAN, NET_DVR_SET_DOOR_STATUS_HOLIDAY_PLAN,
NET_DVR_GET_VERIFY_HOLIDAY_PLAN, NET_DVR_SET_VERIFY_HOLIDAY_PLAN,
NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN, NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN
4.New Added Holiday Group Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_DOOR_STATUS_HOLIDAY_GROUP, NET_DVR_SET_DOOR_STATUS_HOLIDAY_GROUP,
NET_DVR_GET_VERIFY_HOLIDAY_GROUP, NET_DVR_SET_VERIFY_HOLIDAY_GROUP,
NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP, NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP
5.New Added Schedule Template Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_DOOR_STATUS_PLAN_TEMPLATE, NET_DVR_SET_DOOR_STATUS_PLAN_TEMPLATE,
NET_DVR_GET_VERIFY_PLAN_TEMPLATE, NET_DVR_SET_VERIFY_PLAN_TEMPLATE,
NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE, NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE
6.New Added Door Parameters Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_DOOR_CFG, NET_DVR_SET_DOOR_CFG
7.New Added Door Status Schedule Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_DOOR_STATUS_PLAN, NET_DVR_SET_DOOR_STATUS_PLAN
8.New Added Card Reader Authentication Schedule Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_CARD_READER_PLAN, NET_DVR_SET_CARD_READER_PLAN
9.New Added Group Parameters Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_GROUP_CFG, NET_DVR_SET_GROUP_CFG
10.New Added Multiple Authentication Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_MULTI_CARD_CFG, NET_DVR_SET_MULTI_CARD_CFG
11.New Added Anti-passback Parameters Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_SNEAK_CFG, NET_DVR_SET_SNEAK_CFG,
NET_DVR_GET_CARD_READER_ANTI_SNEAK_CFG, NET_DVR_SET_CARD_READER_ANTI_SNEAK_CFG
12.New Added Multi-door Interlocking Parameters Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_MULTI_DOOR_INTERLOCK_CFG, NET_DVR_SET_MULTI_DOOR_INTERLOCK_CFG
13.New Added Card Reader Parameters Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_CARD_READER_CFG, NET_DVR_SET_CARD_READER_CFG
14.New Added Function of Getting Access Controller Working Status(the corresponding API isNET_DVR_GetDVRConfig):
command:NET_DVR_GET_ACS_WORK_STATUS
15.New Added Event Alarm Input Parameters Configuration Function(the corresponding API isNET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
command:NET_DVR_GET_CASE_SENSOR_CFG, NET_DVR_SET_CASE_SENSOR_CFG
16.New Added Card Parameters Configuration Function(the corresponding API isNET_DVR_StartRemoteConfigandNET_DVR_SendRemoteConfig):
command:NET_DVR_GET_CARD_CFG, NET_DVR_SET_CARD_CFG
17.New Added Function of Clearing Access Controller Parameters (the corresponding API isNET_DVR_RemoteControl):
command:NET_DVR_CLEAR_ACS_PARAM
18.New Added Access Control Alarm Information Type(the corresponding API is(New Addeded)andNET_DVR_StartListen_V30):
COMM_ALARM_ACS
19.New Added Access Control Capacity(the corresponding API isNET_DVR_GetDeviceAbility)
ACS_ABILITY
21.New New Addeded Device Type:DS_K260X
22.New New Addeded Error Code: 1900~1908
2015.7.23 V4.3.0.6
build20140722 		Network Speed Dome V5.2.0 1. Added PTZ configuration function(API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_PTZ_BASICPARAMCFG(PTZ basic parameters),
NET_DVR_PTZ_OSDCFG(PTZ OSD configuration),
NET_DVR_PTZ_POWEROFFMEMCFG(Power off memory mode configuration),
NET_DVR_PTZ_PRIORITIZECFG(Prioritize PTZ configuration),
NET_DVR_SMARTTRACKCFG(Smasrt tracking configuration),
NET_DVR_PTZ_LOCKCFG(PTZ locking configuration),
NET_DVR_PRIVACY_MASKS_ENABLECFG(PTZ privacy mask enabling configuration)
2.Added limitation parameters configuration (API: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command: NET_DVR_GET_LIMITCFG, NET_DVR_SET_LIMITCFG
3.Added function of getting patrol path (API: NET_DVR_GetDeviceConfig):
Command: NET_GET_CRUISEPOINT_V40
4.Added PTZ privacy mask parameters configuration (API: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command: NET_DVR_GET_PRIVACY_MASKSCFG, NET_DVR_SET_PRIVACY_MASKSCFG
5.Added PTZ locking remaining time getting function(API: NET_DVR_StartRemoteConfig):
Command: NET_DVR_GET_PTZLOCKINFO
6.Added PTZ remote control function(API: NET_DVR_RemoteControl):
Command:
NET_DVR_PTZLIMIT_CTRL(limit parameters configuration),
NET_DVR_PTZ_CLEARCTRL(clearing configuration information),
NET_DVR_PTZ_INITIALPOSITIONCTRL(initial position control),
NET_DVR_PTZ_ZOOMRATIOCTRL(Tracking zooming control)
2015.7.12 4.3.0.4
build20140610 		DS-6400HD-T V2.4.0 1.Added functions of getting decoding status(API: NET_DVR_GetDeviceStatus):
NET_DVR_GET_DEC_CHAN_STATUS(get decoding channel status),
NET_DVR_GET_DISP_CHAN_STATUS(get display channel status)
2.Added status getting function(API: NET_DVR_GetDeviceStatus):
NET_DVR_GET_ALARMIN_STATUS(get alarm input status),
NET_DVR_GET_ALARMOUT_STATUS(get alarm output status),
NET_DVR_GET_AUDIO_CHAN_STATUS(get voice talk status)
2015.6.31 V4.3.0.6
build20140722 		Intelligent Traffic Camera V3.8.0 1 New added GPS parameters configuration function(corresponding interface NET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
NET_DVR_GPS_DATACFG
2.New added vehicle black list/white list information synchronization function (corresponding interface NET_DVR_StartRemoteConfigandNET_DVR_SendRemoteConfig):
Command:NET_DVR_VEHICLELIST_CTRL_START
2015.6.21 V4.3.0.6
build20140722 		CVR V2.3.1 1.Stream source configuration expanding,(Corresponding interfaceNET_DVR_GetDeviceConfigandNET_DVR_SetDeviceConfig):
Command:NET_DVR_GET_STREAM_SRC_INFO_V40,
NET_DVR_SET_STREAM_SRC_INFO_V40
2.New added frame extracting playback function(Corresponding interfaceNET_DVR_PlayBackControl_V40):
Command:NET_DVR_START_DRAWFRAME,
NET_DVR_STOP_DRAWFRAME
3.New added CVR device alarm information expanding Corresponding interfaceNET_DVR_SetDVRMessageCallBack_V30andNET_DVR_StartListen_V30):
COMM_ALARM_DEVICE_V40
2015.6.11 4.3.0.3
build20140520 		DS-2CD63xx Fisheye IPC V5.0.9 build140612 1. Added parameters configuration function(Interface:NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_TRACK_DEV_PARAM(Device Tracking Configuration),
NET_DVR_PTZ_TRACK_PARAM(PTZ Tracking Configuration)
2014.1.092.09 4.3.0.3
build20140520 		IPC V5.1.7 Add new security autehtication configuration (the corresponding API isNET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_SECURITY_CFG
Add new PDC batching configuration function(the corresponding API isNET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
command:NET_DVR_GET_PDC_RULECFG_V42, NET_DVR_SET_PDC_RULECFG_V42
Add new PDC data query function(the corresponding API isNET_DVR_StartRemoteConfig):
command:NET_DVR_GET_PDC_RESULT
Add new hear map parameter batching configuration fucntion (the corresponding API isNET_DVR_GetDeviceConfigand NET_DVR_SetDeviceConfig):
command: NET_DVR_GET_HEATMAP_CFG, NET_DVR_SET_HEATMAP_CFG
Add new heat map data query function (the corresponding API isNET_DVR_StartRemoteConfig):
command: NET_DVR_GET_HEATMAP_RESULT
Add new heart map result uploading (the corresponding API isNET_DVR_SetDVRMessageCallBack_V30 and NET_DVR_StartListen_V30):
NET_DVR_HEATMAP_RESULT
Add new ability (the corresponding API isNET_DVR_GetDeviceAbility, the corresponding ability type: DEVICE_ABILITY_INFO)
SecurityAbilitySecurityAbility
CameraMountAbilityCameraMountAbility
Add new error codes:153 and 1101
2015.4.15 V4.2.8.7
build20140408 		Network Speed Dome V5.1.8 1.Added scheduled smart tracking settings function(APINET_DVR_GetDVRConfigandNET_DVR_SetDVRConfig):
NET_DVR_SCHEDULE_AUTO_TRACK_CFG
2.Added forced I frame function, support multi-stream (APINET_DVR_RemoteControl):
Command: NET_DVR_MAKE_I_FRAME
2015.3.27 V4.2.8.5
build20140317 		Intelligent Traffic Camera V3.7.0 1.New added cloud storage function (corresponding interface)NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command:NET_DVR_GET_CLOUDSTORAGE_CFG,NET_DVR_SET_CLOUDSTORAGE_CFG
2.New added founction of getting device current triggering mode (corresponding interfaceNET_DVR_GetDVRConfig):
NET_DVR_CURTRIGGERMODE
3.New added (MPR) multi-frame detection triggering mode: new addedNET_ITC_POST_MPR_PARAMin union NET_ITC_TRIGGER_PARAM_UNION,new added the enumeration type of ITC_POST_MPR_TYPE in ITC_TRIGGERMODE_TYPE
4.New added the function of getting signal lamp status (corresponding interfaceNET_DVR_GetDeviceStatus):
NET_DVR_EXDEVDET_CFG,
5.New added the function of alarm information upload(corresponding interface)NET_DVR_SetDVRMessageCallBack_V30andNET_DVR_StartListen_V30):
NET_DVR_SIGNALLAMP_DETCFG(Signal lamp exception alarm information)
6.New added error code:1414~1499,1600, and 1601
2014.12.16 V4.2.8.3
build20140213 		Mobile Devices MVA V3.0 1.Add new mobile devices configuration functions (the corresponding API isNET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_MOBILE_CAPTUREPIC_CFG(Capture configuration),
NET_DVR_MOBILE_PLATE_RECOGCFG(LPR configuration),
NET_DVR_MOBILE_RADAR_CFG(Radar configuration),
NET_DVR_MOBILE_LOCALPLATECHK_CFG(Local blacklist comparison configuration)
2.Add new data backhaul function of blacklist check (the corresponding API isNET_DVR_StartRemoteConfig):
command: NET_DVR_VEHICLE_CHECK_START
2014.5.19 V4.2.8.3
build20140213 		DS-2CD63xx series (second generation)fisheye IPC V5.0.9 Remote configure the login parameters of devices(the corresponding API isNET_DVR_RemoteControl):
Command:NET_DVR_REMOTECONTROL_DEV_PARAM
Add PTZ coordinates configuration function(the corresponding API is NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
Command:NET_DVR_GET_PTZ_POINT,NET_DVR_SET_PTZ_POINT
New added remote control configuration of fisheye cameras(the corresponding API is NET_DVR_StartRemoteConfig):
Command:NET_DVR_FISHEYE_CFG
New added PTZ drag fucntion of fisheye cameras(the corresponding API is NET_DVR_SendRemoteConfig):
Command:DRAG_PTZ
New added getting stream status function of fisheye cameras(the corresponding API is NET_DVR_GetDeviceStatus):
NET_DVR_FISHEYE_STREAM_STATUS;
New added device type: IPCAM_FISHEYE(fisheye cameras)
2014.03.30 V4.2.8.6 build20140401 IPC V5.1.6 New API for setting supplyment light:NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig
structure: NET_DVR_GET_IOOUT_CFG, NET_DVR_SET_IOOUT_CFG
New API for setting parameters: NET_DVR_GetDVRConfig, NET_DVR_SetDVRConfig.
structure: NET_DVR_SIGNAL_SYNCCFG, NET_DVR_EZVIZ_ACCESS_CFG
2014.1.27 V4.2.8.1
build20140115 		Hign Performance NVR(256-ch NVR) V3.0.2 1. Alarm input configuration expension (API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_ALARMINCFG_V40
2. User Parameters Configuration Expension (API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_USER_V40
3.Fault Parameters Configuration Expension ( API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_EXCEPTION_V40
4.HDD Group Management expension ( API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_HDGROUP_CFG_V40
5.IP Alarm Input/Output Configuration expension (API: NET_DVR_GetDVRConfig):
NET_DVR_IPALARMINCFG_V40,
NET_DVR_IPALARMOUTCFG_V40
6.Added funciton for getting device working status (API: NET_DVR_GetDeviceConfig):
Command: NET_DVR_GET_WORK_STATUS
7.Added device capture configuration (API: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command: NET_DVR_GET_JPEG_CAPTURE_CFG_V40,
NET_DVR_SET_JPEG_CAPTURE_CFG_V40
8.Added funciton for uploading alarm message (API: NET_DVR_SetDVRMessageCallBack_V30 and NET_DVR_StartListen_V30):
NET_DVR_ALARMINFO_V40 (motion detection, video loss detection, video tampering detection, I/O alarm, the alarm data has a variable length)
9.Added new minor type of exception log: 0x46, 0x47
10.Added device type: DS_96XXX_N_E (high-performance NVR)
2013.12.27 V4.2.7.6
build20131231 		Intelligent traffic camera V3.6.0 New parameter configuration function(corresponding APINET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_ITC_ICRCFG
NET_ITC_EXCEPTION
New patching parameter configuration function(corresponding APINET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
Command:
NET_ITC_GET_RS485_ACCESSINFO
NET_ITC_SET_RS485_ACCESSINFO
NET_ITC_GET_FTPCFG
NET_ITC_SET_FTPCFG
New error code number: 1413
2013.12.4 V4.2.6.8build20131113 IPC V5.1.0 New(Expand) channel image parameter function (corresponding API:NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_PICCFG_V40
New advanced parameters configuration function(corresponding API::NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_DEVSERVER_CFG
NET_DVR_GBT28181_ACCESS_CFG
NET_DVR_ISP_CAMERAPARAMCFG
New GB/T28181 channel configuration function (cooresponding API: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
commands:
NET_DVR_GET_GBT28181_CHANINFO_CFG
NET_DVR_SET_GBT28181_CHANINFO_CFG
NET_DVR_GET_GBT28181_ALARMINCFG
NET_DVR_SET_GBT28181_ALARMINCFG
New capability set(cooresponding APINET_DVR_GetDeviceAbility, cooresponding capability type: DEVICE_ABILITY_INFO)
Video Dynamic Capability
Recording Tiggered by Alarm Capability
GB/T28181 Capability
2013.12.1 V4.2.7.2
build20131118 		Windows 64 bit SDK New sdk local parameters (port binding,memory pool,timeout,capability set resolver library and voice talk mode, the corresponding APIs NET_DVR_GetSDKLocalCfg
NET_DVR_SetSDKLocalCfg
New playback/download control command (the corresponding API NET_DVR_PlayBackControl_V40):
NET_DVR_SET_TRANS_TYPE
New error code: 326-346,815-820
2013.11.25 V4.2.6.7
build20131031 		Decoder DS64XXHD_T, DS63XXD_T V2.3.0 New remote playback and decoding by file control(corresponding API NET_DVR_RemoteControl):
control command:NET_DVR_DEC_PLAY_REMOTE_FILE,compat NET_DVR_MatrixSetRemotePlay
NET_DVR_DEC_STREAM_MODE stream getting configuration union:
NET_DVR_DEC_STREAM_DEV expands asNET_DVR_DEC_STREAM_DEV_EX
New zero-channel strean getting and get stream form front-end devices through stream ID
New structureNET_DVR_DEC_DDNS_DEV supports DDNS
2013.9.12 V4.2.6.4build20130829 IP Dome V5.1.0 New remote control function(corresponding API:NET_DVR_GetDVRConfig
and NET_DVR_SetDVRConfig):
NET_DVR_PRESET_NAME
NET_DVR_TIME_TASK
New batch configuration functions(corresponding API:NET_DVR_GetDeviceConfig
and NET_DVR_SetDeviceConfig):
NET_DVR_AUDIO_NAME
NET_DVR_VCA_CTRLINFO_CFG
2013.8.15 V4.2.5.6 bulid20130808 Intelligent Traffic Camera New remote control function(corresponding API:NET_DVR_GetDVRConfig
and NET_DVR_SetDVRConfig):
NET_DVR_CABINET_CFG
NET_DVR_CALIBRATE_TIME
NET_DVR_CAMERAPARAMCFG_EX
New APIs of traffic light state inspection: NET_ITC_TRAFFIC_LIGHT_COLOR
NET_ITC_TRAFFIC_LIGHT_TURN
2013.7.17 V4.2.5.3 New APIs: NET_DVR_GetSDKLocalConfig
NET_DVR_SetSDKLocalConfig
New error codes: 100, 101, 600~613, 619, 1500~1504
Voice talk library: AudioIntercom.dll
2013.7.21 V4.2.2.6
build20130618 		CVR V2.2.0 1.Added the configuration of the N+11 mode of standby device number (InterfaceNET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_MACHINE_MAX_NUM_CFG
2.Added the N+1 device information query function(InterfaceNET_DVR_StartRemoteConfig):
Command:NET_DVR_GET_N_PLUS_ONE_DEVICE_INFO
3.Added the function of adding/deleting the N+1 device(InterfaceNET_DVR_RemoteControl):
Command:: NET_DVR_ADD_DEVICE,
NET_DVR_DEL_DEVICE
4.Added the function of configuraing the data moving-back status. (InterfaceNET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_DATA_CALLBACK_CFG
5.Added the function of user permission configuration(InterfaceNET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
NET_DVR_USER_RIGHT_CFG
6.Add CVR one touch configuration function (InterfaceNET_DVR_StartRemoteConfig):
Command: NET_DVR_ONE_KEY_CONFIG
7.Added the function of restarting CVR server. (InterfaceNET_DVR_RemoteControl):
Command: NET_DVR_RESTART_SERVICE
8.Added the uploading alarm information(InterfaceNET_DVR_SetDVRMessageCallBack_V30 and NET_DVR_StartListen_V30):
NET_DVR_CVR_ALARM
2013.1.11 4.2.1.7 Inteligent Traffic Camera ITC_VIOLATION_DETECT_TYPE add the enumeration types for snaping of vehicles occupy the non-motorized road capture and illegal lane changing:ITC_VIOLATION_NONDRIVEWAY, ITC_VIOLATION_ CHANGELANE
NET_ITC_VIOLATION_DETECT_PARAM:
NET_ITC_VIOLATION_DETECT_PARAM using 6 bytes reserved for add parameter:byDriveLineSnapTimes, byReverseSnapTimes, wStayTime and wStopLineDis
NET_ITC_VIOLATION_DETECT_PARAM
ITC_LANE_USEAGE_TYPE add the enumeration type prohibited truck Lane:ITC_LANE_BAN_TRUCKS
ITC_LANE_USEAGE_TYPE
NET_ITC_LIGHT_ACCESSPARAM_UNION added video parameters of light detection signal:NET_ITC_VIDEO_DETECT_LIGHT_PARAM
NET_ITC_LIGHT_ACCESSPARAM_UNION
The parameter bySource of NET_ITC_TRAFFIC_LIGHT_PARAM add type:2- video detectors
NET_ITC_TRAFFIC_LIGHT_PARAM
NET_ITC_LANE_VIDEO_EPOLICE_PARAM using 6 bytes reserved for add parameter:bySensitivity and byRecordEnable, byRecordType, byPreRecordTime, byRecordDelayTime, byRecordTimeOut
NET_ITC_LANE_VIDEO_EPOLICE_PARAM
ITC_SERIAL_PROTOCOL add the type enumeration of snap for red light violations:ITC_DOUBLE_COIL_PROTOCOL_MODE4, ITC_DOUBLE_COIL_PROTOCOL_MODE5, ITC_DOUBLE_COIL_PROTOCOL_MODE6 and ITC_SINGLE_COIL_PROTOCOL1
ITC_SERIAL_PROTOCOL
NET_ITC_SERIAL_INFO using 3 bytes reserved for add parameter:byNormalPassProtocol, byInverseProtocol and bySpeedProtocol
NET_ITC_SERIAL_INFO
NET_DVR_SNAP_ABILITY using 1 bytes reserved for new capacity parameter:bySupport
NET_DVR_SNAP_ABILITY
NET_DVR_VIDEOEFFECT using 3 bytes reserved for additional parameters:byEnableFunc, byLightInhibitLevel and byGrayLevel
NET_DVR_VIDEOEFFECT
The parameter of NET_DVR_WHITEBALANCE byWhiteBalanceMode add type:3-Lock the white balance, 4-ncandescent lamp, 5-Warm light, 6- natural light , 7-fluorescent
NET_DVR_WHITEBALANCE
NET_DVR_DAYNIGHT using 5 bytes reserved for additional parameters:byBeginTimeMin, byBeginTimeSec, byEndTimeMin, byEndTimeSec and byAlarmTrigState
NET_DVR_DAYNIGHT
NET_ITC_LANE_PARAM using 3 bytes reserved for additional parameters:byOverlayDriveWay, byCartSignSpeed and byCartSpeedLimit
NET_ITC_LANE_PARAM
NET_ITC_EPOLICE_LANE_PARAM using 2 bytes reserved for additional parameters:byOverlayDriveWay, bySerialType
NET_ITC_EPOLICE_LANE_PARAM
NET_ITC_POST_RS485_PARAM using 2 bytes reserved for additional parameters:byTriggerSpareMode, byFaultToleranceTime
NET_ITC_POST_RS485_PARAM
NET_ITC_IOOUT_PARAM using 1 bytes reserved for additional parameters:byMode
NET_ITC_IOOUT_PARAM
The parameter byIllegal type of NET_DVR_VEHICLE_INFO add illegal type:7-Intersection retention, 8-Motor vehicles accounted for non-motorized Road, 9-Illegal lane change
NET_DVR_VEHICLE_INFO
NET_DVR_PLATE_RESULT using 2 bytes reserved for additional parameters:wAlarmRecordID, the parameter byResultType add type:2-long record(support query)
NET_DVR_PLATE_RESULT
NET_DVR_SINGLE_HD using 12 bytes reserved for additional parameters:dwStorageType, dwPictureCapacity and dwFreePictureSpace
NET_DVR_SINGLE_HD
NET_DVR_DISK_QUOTA using 1 bytes reserved for additional parameters:byQuotaRatio
NET_DVR_DISK_QUOTA
Add error code for inteligent traffic camera:1400~1499
NET_DVR_GetLastError
2012.12.26 4.2.1.6 DS-72xxHF-SV, DS-72xxHW-SV New configuration function(corresponding APIs: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_WD1_CFG
New configuration function(corresponding APIs: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
NET_DVR_FTPCFG_V40
New remote control function(corresponding API: NET_DVR_RemoteControl):
NET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA
New APIs of long connection configuration:
NET_DVR_StartRemoteConfig
NET_DVR_GetNextRemoteConfig
NET_DVR_GetRemoteConfigState
NET_DVR_StopRemoteConfig
New APIs to search the file directory of IPSAN:
NET_DVR_FindIpSanDirectory
NET_DVR_FindNextDirectory
NET_DVR_FindDirectoryClose
New log types:
MINOR_RUN_STATUS_INFO,
MINOR_REMOTE_DELETE_HDISK,
MINOR_REMOTE_LOAD_HDISK,
MINOR_REMOTE_UNLOAD_HDISK,
MINOR_LOCAL_OPERATE_LOCK,
MINOR_LOCAL_OPERATE_UNLOCK
2012.12.25 4.2.1.6 DS-67xxHF, DS-67xxHF-SATA, DS-67xxHW, DS-67xxHW New configuration function(corresponding APIs: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_BONJOUR_CFG
NET_DVR_SOCKS_CFG
NET_DVR_QOS_CFG
NET_DVR_HTTPS_CFG
Function related to certificate(corresponding APIs: NET_DVR_RemoteControl and NET_DVR_GetDeviceConfig):
NET_DVR_CERT_INFO
NET_DVR_CERT_PARAM
New APIs to download files such as certificate:
NET_DVR_StartDownload
NET_DVR_GetDownloadState
NET_DVR_StopDownload
NET_DVR_UPNP_CFG and NET_DVR_UPNP_PORT are multiplexed as:
NET_DVR_NAT_CFG
NET_DVR_NAT_PORT
2012.12.18 4.2.1.4 Simulate capability set "LocalXml.zip" and configuration of the simulate capability set
NET_DVR_GetSDKLocalConfig
NET_DVR_SetSDKLocalConfig
2012.12.17 4.2.1.4 Fisheye IP camera New configuration function (corresponding API: NET_DVR_GetDeviceConfig)
NET_DVR_PRESETCFG
NET_DVR_PTZCRUISECFG
New configuration function (corresponding APIs: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig)
NET_DVR_PREVIEW_DISPLAYCFG
NET_DVR_PRESET_INFO
NET_DVR_PTZCRUISE_INFO
NET_DVR_MOTION_TRACK_CFG
New remote control function(corresponding API: NET_DVR_RemoteControl)
NET_DVR_PRESET_POINT_PARAM
NET_DVR_PTZ_CRUISE_PARAM
New capability set (corresponding APIs: NET_DVR_GetDeviceAbility):
FISHEYE_ABILITY
2012.12.10 4.2.1.4 63T/64T/65D V2.0.0 New extended APIs of multi-channel decoder
NET_DVR_MatrixStartDynamic_V41
NET_DVR_MatrixGetLoopDecChanInfo_V41
NET_DVR_MatrixSetLoopDecChanInfo_V41
NET_DVR_MatrixGetDecChanInfo_V41
2012.12.10 4.2.1.3 Speed dome V4.2.2 New configuration function (corresponding APIs: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig):
NET_DVR_LOW_LIGHT_CFG
NET_DVR_FOCUSMODE_CFG
NET_DVR_INFRARE_CFG
NET_DVR_AEMODECFG
New remote control command (corresponding API: NET_DVR_RemoteControl):
NET_DVR_CONTROL_RESTART_SUPPORT, NET_DVR_CONTROL_RESTORE_SUPPORT
2012.12.10 4.2.1.3 ITS(Intelligent Terminal Server): TRAFFIC_TS_SERVER, TRAFFIC_VAR, TRAFFIC_ECT New configuration(corresponding API: NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig)
NET_ITS_BASEINFO
NET_ITS_IMGMERGE_CFG
NET_ITS_UPLOAD_CFG
NET_ITS_IPC_CHAN_CFG
NET_ITS_ROADINFO
New function to get the status of terminal(corresponding API: NET_DVR_GetDeviceStatus)
NET_ITS_WORKSTATE
New alarm type of listening(corresponding API: NET_DVR_StartListen_V30)
NET_ITS_PLATE_RESULT
NET_ITS_TRAFFIC_COLLECT
NET_ITS_ROADINFO
New batch configuration(corresponding API: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig):
NET_ITS_OVERLAP_CFG
New capability set(corresponding API: NET_DVR_GetDeviceAbility):
DEVICE_ABILITY_INFO
2012.12.10 4.2.1.3 Intelligent traffic camera V3.2.2 New type of alarm message(corresponding API: NET_DVR_SetDVRMessageCallBack_V30)
NET_ITS_PLATE_RESULT
2012.10.31 V4.1.10.2 DS-64xxHD-S New configuration function of screens in the TV wall:
NET_DVR_SINGLEWALLPARAM
New configuration function of windows in the TV wall:
NET_DVR_WALLWINCFG
New configuration function of scenes in the TV wall:
NET_DVR_WALLSCENECFG
New APIs to control scene switch and get scene status:
NET_DVR_MatrixSceneControl
NET_DVR_MatrixGetCurrentSceneMode
New APIs to get decoding status of windows
NET_DVR_GetDeviceStatus
New type of capability set: WALL_ABILITY (value: 0x212)
2012.10.30 V4.1.9.3 ST series NVR V2.2.2 New remote control function:(corresponding API: NET_DVR_RemoteControl)
NET_DVR_VIDEOPARA_V40
NET_DVR_INVALID_DISK_PARAM
NET_DVR_MOUNT_DISK_PARAM
New log types:
MINOR_RECORD_OVERFLOW, MINOR_LOCAL_LOAD_HDISK, MINOR_LOCAL_DELETE_HDISK
2012.10.30 V4.1.9.3 IPC V4.0.3 In wifi configuration, it adds new parameters of WPA-personal/WPA2-personal:
NET_DVR_WIFI_CFG_EX
New remote control command(corresponding API: NET_DVR_RemoteControl)
NET_DVR_UPDATE_PIN, NET_DVR_WPS_CONNECT
New configuration function:
NET_DVR_WPS_PARAM
NET_DVR_PIN_PARAM
New APIs to upload a file to the device:
NET_DVR_UploadFile
NET_DVR_GetUploadState
NET_DVR_UploadClose
New added configuration and alarm upload of calling for help (new added structure in NET_IPC_AUX_ALARMCFG_UNION and NET_IPC_AUXALARM_UPLOAD_UNION):
NET_IPC_CALLHELP_ALARMCFG
2012.10.12 V4.1.8.4 DS-65xxD New configuration function to set auto reboot
NET_DVR_AUTO_REBOOT_CFG
2012.9.28 V4.1.8 Intelligent traffic camera V3.1 New configuration function of trigger mode for video electronic police
NET_DVR_GetDeviceConfig
NET_DVR_SetDeviceConfig
2012.8.27 V4.1.7 Buffet bank alarm host V2.0 New configuration function:
NET_DVR_LED_SCREEN_CFG
NET_DVR_LED_CONTENT_CFG
NET_DVR_LED_SWITCH_TIME
NET_DVR_LED_BRIGHTNESS_STEP
NET_DVR_LED_STATUS
NET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM
New APIs to uplaod or download the audio data:
NET_DVR_StartUploadFile
NET_DVR_GetUploadFileProgress
NET_DVR_GetUploadFileState
NET_DVR_StopUploadFile
NET_DVR_StartDownloadFile
NET_DVR_GetDownloadFileProgress
NET_DVR_GetDownloadFileState
NET_DVR_StopDownloadFile
New remote control function:(corresponding API: NET_DVR_RemoteControl)
Open LED screen: NET_DVR_TURNON_LED
Close LED screen: NET_DVR_TURNOFF_LED
Set the brightness of LED screen manually: NET_DVR_SET_LED_BRIGHTNESSD
2012.8.9 V4.1.7 New APIs about multi-NIC:
NET_DVR_GetLocalIP
NET_DVR_SetValidIP
New API to set audio data callback when start voice talk or voice forwarding
NET_DVR_SetVoiceDataCallBack
2012.8.8 V4.1.7 Centralized multi-screen controller V2.0 New API to get signal source list:
NET_DVR_GetInputSignalList
New API to get large size display status:
NET_DVR_GetScreenInputStatus
New APIs to manage plan:
NET_DVR_GetPlanList
NET_DVR_RemoteControl
New API to get device running status:
NET_DVR_GetDeviceStatus
New configuration function:
NET_DVR_PLAN_CFG
NET_DVR_SERIAL_CONTROL
NET_DVR_SCREEN_SCREENINFO
2012.8.3 V4.1.7 DS-76xxN-SE Get the defualt value of input video effect parameter:
NET_DVR_GET_DEFAULT_VIDEO_EFFECT
2012.7.18 V4.1.6 Distributed multi-screen controller, sub-device types: DS_C10N_BI, DS_C10N_DI, DS_C10N_SI, DS_C10N_DO, DS_C10N_SERVER New API to get the sub-device information list:
NET_DVR_GetDevList
New APIs to configure display unit:
NET_DVR_GetScreenList
NET_DVR_SetScreenRelation
NET_DVR_TextShowCtrl
New API to upgrade the device remotely:
NET_DVR_StartUpgrade
NET_DVR_StopUpgrade
New API to add the network signal source:
NET_DVR_AddNetSignal
New APIs to callback picture of push mode:
NET_DVR_SetPicViewResponseCallBack
NET_DVR_PicViewRequest
NET_DVR_SetPicViewDataCallBack
NET_DVR_StartPicPreview
New API to get the status of base map uploading:
NET_DVR_GetPicUploadState
New type of uploaded alarm messge
NET_DVR_DVCS_STATE_ALARM
New configuration function:(corresponding APi: NET_DVR_GetDeviceConfig and NET_DVR_SetDeviceConfig)
NET_DVR_DEV_BASE_INFO
NET_DVR_NETPARAM
NET_DVR_PIC_ADJUST
Other configuration commands: NET_DVR_RESTORE_V40, NET_DVR_REBOOT_V40
New configuration function:(corresponding APi: NET_DVR_GetDVRConfig)
NET_DVR_SERIAL_CONTROL
New added error code: 901~910
2012.6.28 V4.1.6 DS90XXHW_ST, DS72XXHX_SH, DS_92XX_HF_ST, DS_91XX_HF_XT, DS_90XX_HF_XT, DS_77XXN_ST, DS_95XX_N_ST, DS_85XX_N_ST, DS_96XX_N_XT New APIs to reversely playback video:
NET_DVR_PlayBackReverseByName
NET_DVR_PlayBackReverseByTime_V40
New APIs to get the record starting time and stopping time of the channel:
NET_DVR_InquiryRecordTimeSpan
New API to instantly refresh the record index:
NET_DVR_UpdateRecordIndex
New extended API to search the record files
NET_DVR_FindFile_V40
New API to query UPNP port mapping state:
NET_DVR_GetUpnpNatState
New API to backup log information
NET_DVR_Backup
New configuration function
NET_DVR_DRAWFRAME_DISK_QUOTA_CFG
NET_DVR_UPNP_CFG
NET_DVR_UPNP_NAT_STATE
NET_DVR_POE_CFG
NET_DVR_CUSTOM_PROTOCAL
NET_DVR_STREAM_CABAC
NET_DVR_POE_CHANNEL_ADD_MODE
NET_DVR_DIGITAL_CHANNEL_STATE
NET_DVR_ESATA_MINISAS_USAGE
New API of encryption configuration:
NET_DVR_InquestStreamEncrypt
NET_DVR_InquestGetEncryptState
New configuration command: DVR_GET_FTPCFG_SECOND, DVR_SET_FTPCFG_SECOND, NET_DVR_GET_HDCFG_V40, NET_DVR_SET_HDCFG_V40
New minor types of operation log:
MINOR_LOCAL_TAG_OPT,
MINOR_LOCAL_VOUT_SWITCH,
MINOR_STREAM_CABAC
2012.5.9 V4.1.5 TII_IPCAM (thermal network camera) New API to set manual shutter compensation of thermal network camera
NET_DVR_ShutterCompensation
New API to correct dead pixel of thermal network camera
NET_DVR_CorrectDeadPixel
New API to control focus assist
NET_DVR_FocusOnePush
New API to reset lens motor default location
NET_DVR_ResetLens
New configuration function
NET_DVR_AUDIO_INPUT_PARAM
NET_DVR_CAMERA_DEHAZE_CFG
NET_IPC_AUX_ALARMCFG
New API of remote control
NET_DVR_RemoteControl
New alarm uploaded meassage type
NET_IPC_AUXALARM_RESULT
Device alarm capability set
Device Alarm Capability XML Description
New minor log type of operation log:
MINOR_WIRELESS_ALARM_START,
MINOR_WIRELESS_ALARM_STOP,
MINOR_PIR_ALARM_START,
MINOR_PIR_ALARM_STOP,
MINOR_CALLHELP_ALARM_START,
MINOR_CALLHELP_ALARM_STOP
2012.4.23 V4.1.4 CVR New APIs to lock or unlock record file by time
NET_DVR_LockFileByTime
NET_DVR_UnLockFileByTime
New APIs to lock or unlock record file by stream ID
NET_DVR_LockStreamFileByTime
NET_DVR_UnlockStreamFileByTime
New configuration function
NET_DVR_CHAN_GROUP_RECORD_STATUS
NET_DVR_IPPARACFG_V40
New APIs to configure the device(batch) by stream ID
NET_DVR_GetDeviceConfig
NET_DVR_SetDeviceConfig
New batch configuration function by stream ID
NET_DVR_STREAM_RECORD_STATUS
NET_DVR_STREAM_SRC_INFO
NET_DVR_STREAM_RECORD_INFO
New API to playback by stream ID and time
NET_DVR_PlayBackByTime_V40
New APIs to start or stop manual record
NET_DVR_StartManualRecord
NET_DVR_StopManualRecord
New function to search record files by stream ID
NET_DVR_SEARCH_EVENT_PARAM
NET_DVR_SEARCH_EVENT_RET
2012.4.20 V4.1.4 New function to get the capability set of the intelligent IPC(V3.1 or later version)
NET_ITC_TRIGGERMODE_ABILITY
New configuration function
NET_ITC_IOOUT_PARAM
NET_ITC_TRIGGERCFG
NET_ITC_SINGLE_TRIGGERCFG
NET_DVR_STATUS_DETECTCFG
New function to upload the status detection result
NET_ITC_STATUS_DETECT_RESULT
Extended APT of alarm arming
NET_DVR_SetupAlarmChan_V41
New minor log type of operation log
MINOR_SET_TRIGGERMODE_CFG, MINOR_GET_TRIGGERMODE_CFG,
MINOR_SET_IOOUT_CFG, MINOR_GET_IOOUT_CFG,
MINOR_GET_TRIGGERMODE_DEFAULT, MINOR_GET_ITCSTATUS,
MINOR_SET_STATUS_DETECT_CFG, MINOR_GET_STATUS_DETECT_CFG,
MINOR_GET_VIDEO_TRIGGERMODE_CFG,
MINOR_SET_VIDEO_TRIGGERMODE_CFG
2012.4.5 V4.1.4 New APIs to encode and decode G726 audio data
NET_DVR_InitG726Encoder
NET_DVR_EncodeG726Frame
NET_DVR_ReleaseG726Encoder
NET_DVR_InitG726Decoder
NET_DVR_DecodeG726Frame
NET_DVR_ReleaseG726Decoder
2012.3.30 V4.1.0 DS_C10H New function of OSD configuration
NET_DVR_OSDCFG
New APIs to upload picture to the multi-screen controller
NET_DVR_PicUpload
NET_DVR_GetPicUploadProgress
NET_DVR_CloseUploadHandle
New API of picture display control
NET_DVR_PicControl
New APIs to adjust the image display position
NET_DVR_MatrixPicAdjust
New APIs to callback the display picture
NET_DVR_StartScreenPic
NET_DVR_StopScreenPic
New API to control the screens
NET_DVR_ScreenCtrl
New minor types of exception log
MINOR_SCREEN_SUBSYSTEM_ABNORMALINSERT, MINOR_SCREEN_SUBSYSTEM_ABNORMALPULLOUT, MINOR_SCREEN_ABNARMALTEMPERATURE
2012.3.19 V4.1.0 DS_1Hxx New added voice uploading and downloding function:
NET_DVR_StartUploadAudio
NET_DVR_StartDownloadAudio
NET_DVR_GetAudioProgress
NET_DVR_StopAudioOperate
NET_DVR_AudioCtrl
New added alarm information uploading type:
NET_DVR_ALARMHOST_SAFETYCABINSTATE
NET_DVR_ALARMHOST_ALARMOUTSTATUS
New added alarm host log type:
MINOR_URGENCYBTN_ON, MINOR_URGENCYBTN_OFF
2012.2.22 V4.1.0 DS-19AXX New added subsystem configuration function
NET_DVR_ALARMSUBSYSTEMPARAM
New added APIs for alarm input subsystem to arm, disarm, or clear alarm
NET_DVR_AlramHostSubSystemSetupAlarmChan
NET_DVR_AlramHostSubSystemCloseAlarmChan
NET_DVR_AlramHostClearAlarm
New APIs to set alarm input to array bypass or resume array bypass
NET_DVR_AlramHostArrayBypass
NET_DVR_AlramHostArrayBypassResume
New function of alarm host GPRS configuration
NET_DVR_ALARMHOST_GPRS_CFG
New function of alarm host network configuration
NET_DVR_ALARMHOST_NETCFG
New APIs to configure alarm uploading type
NET_DVR_AlarmHostSetReportMode
NET_DVR_AlarmHostGetReportMode
2012.1.18 V4.1.0 DS_19CXX New configuration functions
NET_DVR_ALARMHOSTDIALCFG
NET_DVR_ALARMHOSTDIALSETUPMODE
2012.1.16 V4.1.0 DS_C10H multi-screen controller New APIs
NET_DVR_GetAllValidWinInfo
NET_DVR_ScreenWinCtrl
New configuration functions
NET_DVR_SCREEN_WINCFG
NET_DVR_LAYOUT_LIST
NET_DVR_INPUTSTREAMCFG
NET_DVR_OUTPUTCFG
Layout control command: NET_DVR_LAYOUTCTRL
New capability set
NET_DVR_SCREENCONTROL_ABILITY
New uploaded alarm type
NET_DVR_SCREENALARMCFG
New log type
MINOR_SCREEN_SUBSYSTEM_ABNORMALREBOOT
MINOR_SCREEN_SET_INPUT
MINOR_SCREEN_SET_OUTPUT
MINOR_SCREEN_SET_OSD
MINOR_SCREEN_SET_LOGO
MINOR_SCREEN_SET_LAYOUT
2012.1.12 V4.1.0 DS-64XX-T Add extended decoder capability set: NET_DVR_MATRIX_ABILITY_V41
Add extended display channel configuration function: NET_DVR_MatrixGetDisplayCfg_V41
NET_DVR_MatrixSetDisplayCfg_V41
Add extended function to get decoder status: NET_DVR_MatrixGetDeviceStatus_V41
Add new parameter to set decoding delay: NET_DVR_MATRIX_DECCHAN_CONTROL
Add screen splicing configuration: NET_DVR_BIGSCREENCFG
2011.12.20 V4.1.0 DS-9664N-RH Add the IP channel access configuration function (extended): NET_DVR_IPPARACFG_V40
Add the funtion to pull disk out safely and scan the RAID: NET_DVR_RaidPullDiskStart
NET_DVR_ScanRaidStart
NET_DVR_CloseLongCfgHandle
Add new log types: MINOR_LOCAL_STOP_RAID, MINOR_REMOTE_STOP_RAID, MINOR_RAID_ERROR
2011.9.20 V4.0.9 DS-660X
DS-72XXHV_GX 		Push Mode
New APIs
NET_DVR_StartServer
NET_DVR_StopServer
NET_DVR_PreviewRequest
NET_DVR_PlaybackRequest
NET_DVR_VoiceRequest
NET_DVR_AlarmSetupRequest
NET_DVR_SetPushModeParam
NET_DVR_SpringJPEGPicture
NET_DVR_SetPreviewResponseCallBack
NET_DVR_SetPlaybackResponseCallBack
NET_DVR_SetVoiceResponseCallBack
New configuration functions
NET_DVR_CMSPARAM
NET_DVR_DIALSTATUS
NET_DVR_SMSRELATIVEPARAM
NET_DVR_PINSTATUS
NET_DVR_MB_POWERCTRLPARA
NET_DVR_MB_AUTOBACKUPPARA
NET_DVR_MB_GPSPARA
NET_DVR_MB_SENSORINPARA
NET_DVR_GSENSORPARA
NET_DVR_MB_DOWNLOADSVRPARA
NET_DVR_PLATERECOG_PARA
NET_DVR_ENFORCESYS_PARA
New uploaded alarm type
NET_DVR_PUSHALARMINFO
NET_DVR_PUSHALARMINFO_V30
NET_DVR_GPSALARMINFO
2011.9.1 V4.0.9 DS-96XXN_ST,
DS-86XXN_ST,
DS-80XXHF_ST,
DS-90XXHF_ST,
DS-76XXN_ST 		Add the configuration function that whether to synchronize front-end IPC parameter: NET_DVR_SYNCHRONOUS_IPC
Add IPC user name and password configuration function:NET_DVR_IPC_PASSWD
Add the function to get device current network resource usage: NET_DVR_DEVICE_NET_USING_INFO
Add IPC network configuration function: NET_DVR_IPC_NETCFG
2011.8.18 V4.0.7 DS_19DXX New API to get alarm host ability: NET_DVR_GetDeviceAbility
New APIs to get alarm host user configuration: NET_DVR_GetAlarmDeviceUser, NET_DVR_SetAlarmDeviceUser, NET_DVR_GetKeyboardUser, NET_DVR_SetKeyboardUser, NET_DVR_GetOperateUser, NET_DVR_SetOperateUser
New API to get RS-485 front-end device ability list: NET_DVR_GetDeviceTypeList
New API to get protocol list supported by RS-485 front-end device: NET_DVR_GetDeviceProtoList
New API to contol aircondition: NET_DVR_SetAirCondition
New APIs of alarm host transparent channel function: NET_DVR_AlarmHostSerialStart, NET_DVR_AlarmHostSerialSend, NET_DVR_AlarmHostSerialStop
New APIs to set alarm input parameter: NET_DVR_AlarmHostSetupAlarmChan, NET_DVR_AlarmHostCloseAlarmChan, NET_DVR_BypassAlarmChan, NET_DVR_UnBypassAlarmChan
New APIs to query alarm host log: NET_DVR_FindAlarmHostLog, NET_DVR_FindNextAlarmHostLog, NET_DVR_FindAlarmHostLogClose
New API to control alarm output of alarm host: NET_DVR_SetAlarmHostOut
New API to control auxiliary function of alarm host: NET_DVR_AlarmHostAssistantControl
New API to get battery voltage: NET_DVR_GetBatteryVoltage
Add alarm host configuration function: NET_DVR_ALARM_RS485CFG, NET_DVR_ALARMIN_PARAM, NET_DVR_ALARMOUT_PARAM, NET_DVR_SIREN_PARAM, NET_DVR_ALARMHOST_ENABLECFG, NET_DVR_SENSOR_INFO, NET_DVR_ALARMHOST_MAIN_STATUS, NET_DVR_ALARMHOST_OTHER_STATUS
Add alarm upload function: NET_DVR_SENSOR_ALARM, NET_DVR_SWITCH_ALARM, NET_DVR_ALARMHOST_EXCEPTION_ALARM, NET_DVR_ALARMHOST_ALARMINFO
2011.8.8 V4.0.7 Inquest DVR:
81SNL, 81SH, 81SFH 		New API to upload inquest file: NET_DVR_InquestUploadFile_V30
New API to search inquest file: NET_DVR_InquestFindFile_V30
New API to delete inquest file: NET_DVR_InquestDeleteFile_V30
Add picture in picture status configuration function: NET_DVR_InquestGetPIPStatus_V30, NET_DVR_InquestSetPIPStatus_V30
Add system information configuration function: NET_DVR_InquestGetSystemInfo, NET_DVR_InquestSetSystemInfo
New API to send key marker message: NET_DVR_InquestSendMessage
New API to control CDW during inquesting: NET_DVR_InquestStartCDW_V30, NET_DVR_InquestStopCDW_V30
New API to get CDW status: NET_DVR_InquestGetCDWState_V30
New APIs to resume inquest event: NET_DVR_InquestResumeEvent, NET_DVR_InquestGetResumeProgress, NET_DVR_InquestStopResume
New API to get device version information: NET_DVR_InquestGetDeviceVersion
2011.8.4 V4.0.7 Add intelligent traffic event configuration function: NET_DVR_REGION_LIST, NET_DVR_AID_RULECFG, NET_DVR_TPS_RULECFG, NET_DVR_LANE_CFG;
Add scene mode configuration function:NET_DVR_GetSceneMode, NET_DVR_SetSceneMode;
Add traffic event alarm uploading function: NET_DVR_AID_ALARM, NET_DVR_TPS_ALARM;
Add calibration configuration function: NET_DVR_CALIBRATION_CFG;
Add traffic ability: NET_DVR_ITS_ABILITY
2011.7.29 V4.0.7 iDS-65XX Add the API to search or clear historical data: NET_DVR_GetHistoricDataInfo, NET_DVR_GetHistoricData, NET_DVR_ClearHistoricData
2011.7.18 V4.0.7 DS81XXHW_S,
DS81XXHW_ST,
DS91XXHW_ST 		Get picture resolution ability: PIC_CAPTURE_ABILITY
2011.6.13 V4.0.5 DS-91XXHF-ST Add holiday configuration function: NET_DVR_HOLIDAY_PARAM_CFG, NET_DVR_HOLIDAY_HANDLE, NET_DVR_HOLIDAY_RECORD;
Add multi network card and BONDING network card configuration function: NET_DVR_NETCFG_MULTI, NET_DVR_NETWORK_BONDING;
Add network flow detection function: NET_DVR_StartNetworkFlowTest, NET_DVR_StopNetworkFlowTest;
Add record label function: NET_DVR_InsertRecordLabel, NET_DVR_DelRecordLabel, NET_DVR_FindRecordLabel, NET_DVR_FindNextLabel, NET_DVR_StopFindLabel;
Capture configuration, picture playback and backup: NET_DVR_JPEG_CAPTURE_CFG, NET_DVR_SCHED_CAPTURECFG, NET_DVR_FTPCFG, NET_DVR_FindPicture, NET_DVR_FindNextPicture, NET_DVR_CloseFindPicture, NET_DVR_GetPicture_V30, NET_DVR_BackupPicture;
Disk quota configuration: NET_DVR_DISK_QUOTA_CFG;
SNMP configuration: NET_DVR_SNMPCFG;
Add new funtion for channel: NET_DVR_LINK_STATUS, NET_DVR_VIDEO_INPUT_EFFECT)
2011.2.16 V4.0.2 iDS-2DF1-515,
iDS-2DF1-517,
iDS-2DF1-505,
iDS-2DF1-507,
iDS-2DF1-535,
iDS-2DF1-537 		Add scene tracking configuration: NET_DVR_POSITION_TRACK_CFG.
Add local menu rule configuration: NET_DVR_TRACK_PARAMCFG.
Add dome movement configuration: NET_DVR_DOME_MOVEMENT_PARAM.
Add scene position rule information configuration: NET_DVR_GetPositionRule, NET_DVR_SetPositionRule.
Add scene position limit operation configuration: NET_DVR_GetPositionLimitAngle, NET_DVR_SetPositionLimitAngle.
Add local scene PTZ position configuration: NET_DVR_GetPtzPosition, NET_DVR_SetPtzPosition.
Add scene cruise path configuration: NET_DVR_GetPatrolTrack, NET_DVR_SetPatrolTrack.
Add scene cruise track position limit configuration: NET_DVR_GetPatrolLimitAngle, NET_DVR_SetPatrolLimitAngle.
2010.12.30 V4.0.2 DS-2CD966,
DS-2CD976,
DS-2CD986C,
DS-2CD986A 		Add license plate brightness compensation configuration: NET_DVR_PLCCFG.
Add function to get device state: NET_DVR_DEVICESTATECFG.
Add flash light output configuration: NET_DVR_FLASH_OUTCFG.
Add poste police configuration: NET_DVR_POSTEPOLICECFG
2010.09.08 | V4.0.1 | Add intelligent traffic camera functions: license plate recognition configuration:NET_DVR_SPRCFG, get state information of intelligent traffic camera: NET_DVR_DEVICESTATECFG, Signal synchronization and image flip: NET_DVR_SNAPENABLECFG, manually triggered continuous shoot.
2010.09.08 V4.0.1 iDS6101_HF_A Add SDK error code of intelligent device, from NET_DVR_ID_ERROR(300) to NET_DVR_CALIBRATE_LINE_OUT_RECT(309).
Add object sticking and card scanner in event types and supports rule configuration and getting ability of the two types. See to NET_VCA_EVENT_UNION, NET_VCA_BEHAVIOR_ABILITY.
Add calibration function of ATM, see to NET_DVR_CALIBRATION_CFG.
2010.03.09 V4.0.0 iDS90XX,
iDS91XX,
DS95XX_HF_S,
DS96XX_HF_S,
DS90XX_HF_SH,
DS91XX_HF_SH 		New function interfaces(NET_DVR_StartEmailTest, NET_DVR_GetEmailTestProgress, NET_DVR_StopEmailTest, NET_DVR_GetIPCProtoList, NET_DVR_SmartSearch, NET_DVR_SearchNextInfo, NET_DVR_StopSearch, NET_DVR_ZeroStartPlay, NET_DVR_ZeroStopPlay, NET_DVR_ZeroTurnOver, NET_DVR_ZeroMakeKeyFrame, NET_DVR_PlayBackControl_V40, NET_DVR_BackupByName, NET_DVR_BackupByTime, NET_DVR_GetBackupProgress, NET_DVR_StopBackup, NET_DVR_GetDiskList);
New parameter configuration structures(NET_DVR_NET_DISKCFG, NET_DVR_ZEROCHANCFG, NET_DVR_PREVIEWCFG_V30, NET_DVR_ZERO_ZOOMCFG)

V3.5.0 Version New Content

Date | Version | New device types | New content
2010.02.09 | V3.5.0 |  | Multi-channel decoder model defines as DS630X_D; new function interfaces (NET_DVR_MatrixStartDynamic_V30, NET_DVR_MatrixSetLoopDecChanInfo_V30, NET_DVR_MatrixGetLoopDecChanInfo_V30, NET_DVR_MatrixGetDecChanInfo_V30, NET_DVR_MatrixSetTranInfo_V30, NET_DVR_MatrixGetTranInfo_V30, NET_DVR_MatrixGetDisplayCfg, NET_DVR_MatrixSetDisplayCfg, NET_DVR_MatrixStartPassiveDecode, NET_DVR_MatrixSendData, NET_DVR_MatrixStopPassiveDecode, NET_DVR_UploadLogo, NET_DVR_LogoSwitch, NET_DVR_MatrixGetDeviceStatus, NET_DVR_MatrixDiaplayControl, NET_DVR_MatrixGetDecChanCfg, NET_DVR_MatrixSetDecChanCfg, NET_DVR_MatrixGetPassiveDecodeStatus, NET_DVR_MatrixGetVideoStandard, NET_DVR_MatrixSetVideoStandard, NET_DVR_MatrixPassiveDecodeControl)
2010.02.09 | V3.5.0 |  | New device models(DS_65XXHC, DS_65XXHC_S, DS_65XXHF, DS_65XXHF_S)
2010.02.09 | V3.5.0 |  | New device models(DS76XX_H_S, DS76XX_N_S)

V3.1.1 Version New Content

Date | Version | New device types | New content
2009.11.10 | V3.1.1.5 |  | Capability type parameters MARCO definition of device capability interface , such as DEVICE_ALL_ABILITY
2009.11.10 | V3.1.1.5 |  | G711 audio codec interface(NET_DVR_EncodeG711Frame and NET_DVR_DecodeG711Frame)
2009.11.10 | V3.1.1.5 |  | A local recording function of several stream data package format, see specific information NET_DVR_SaveRealData_V30
2009.11.10 | V3.1.1.5 |  | Configuration of network hard disk access parameters (NET_DVR_NET_DISKCFG)
2009.11.10 | V3.1.1.5 |  | Finde file interfaces and structures by event, see specific information NET_DVR_FindFileByEvent, NET_DVR_FindNextEvent interface and NET_DVR_SEARCH_EVENT_PARAM, NET_DVR_SEARCH_EVENT_RET structure
2009.11.10 | V3.1.1.5 |  | Hybrid DVR's IP access parameter configuration (extension), to support domain configuration(NET_DVR_IPPARACFG_V31 structure )
2009.11.10 | V3.1.1.5 |  | Modify structure parameter(NET_DVR_EMAILCFG_V30) support SSL enable and configuration of SMTP port
2009.11.10 | V3.1.1.5 |  | Add recording exception type to Exception parameter structure, see the specific structure NET_DVR_EXCEPTION_V30
2009.11.10 | V3.1.1.5 |  | New type of primary and secondary logs, MINOR_VCA_ALARM_START, MINOR_VCA_ALARM_STOP, MINOR_IPC_IP_CONFLICT, MINOR_LOCAL_ADD_NAS, MINOR_LOCAL_DEL_NAS, MINOR_LOCAL_SET_NAS, MINOR_REBOOT_VCA_LIB, MINOR_REMOTE_ADD_NAS, MINOR_REMOTE_DEL_NAS, MINOR_REMOTE_SET_NAS, MINOR_LINK_START, MINOR_LINK_STOP and MINOR_NET_DISK_INFO
2009.11.10 | V3.1.1.5 |  | Add video signal abnormal and recording abnormal type to alarm upload structure parameters, see the specific structure NET_DVR_ALARMINFO_V30
2009.11.10 | V3.1.1.5 |  | Add alarm upload structure parameters and commands (COMM_IPCCFG_V31) when Hybird DVR's IP access changes, see the specific structure NET_DVR_IPALARMINFO_V31
2009.10.30 | V3.1.1.4 |  | Add ATM DVR function for getting list of protocols, settings and protocol parameter configuration, see specific information NET_DVR_GetAtmProtocol, NET_DVR_GetATMFrameFormat_V30, NET_DVR_SetATMFrameFormat_V30 interface and NET_DVR_ATM_PROTOCOL, NET_DVR_ATM_FRAMEFORMAT_V30 structures
2009.10.30 | V3.1.1.4 |  | WIFI parameters configuration(NET_DVR_AP_INFO_LIST, NET_DVR_WIFI_CFG, NET_DVR_WIFI_WORKMODE)

V3.1.0 Version New Content

Date | Version | New device types | New content
2009.8.20 | V3.1.0 | DS6001_HF_B, DS6101_HF_B |

V3.0.3 Version New Content

Date | Version | New device types | New content
2009.7.1 | V3.0.3 |  | The characters to show time format in image parameter, see specific information structure NET_DVR_PICCFG_EX
2009.7.1 | V3.0.3 |  | Domain name analyze system type of DDNS parameters, see sepecific information NET_DVR_DDNSPARA_EX structure
2009.7.1 | V3.0.3 |  | New local backup regarding four log types(MINOR_LOCAL_START_BACKUP; MINOR_LOCAL_STOP_BACKUP; MINOR_LOCAL_COPYFILE_START_TIME; MINOR_LOCAL_COPYFILE_END_TIME)

V3.0.2 Version New Content

Date | Version | New device types | New content
2009.5.20 | V3.0.2 |  | Speed dome device model(HD IP speed dome), the MARCO is MEGA_IPDOME
2009.5.20 | V3.0.2 |  | G711 audio codec of voice talk, refer to NET_DVR_COMPRESSION_AUDIO
2009.5.20 | V3.0.2 |  | Audio and video codec type of compressed parameters structure NET_DVR_COMPRESSION_INFO_V30 , mainly for HD IPC with multi-stream version

V3.0.0 Version New Content

Date | Version | New device types | New content
2009.2.20 | V3.0.0 |  | IP device connection resource parameter configuration, see specific information NET_DVR_IPPARACFG, NET_DVR_IPALARMINCFG and NET_DVR_IPALARMOUTCFG structure
2009.2.20 | V3.0.0 |  | Hard disk group management, NET_DVR_HDCFG interface and NET_DVR_HDGROUP_CFG structure
2009.2.20 | V3.0.0 |  | Remote file lock and unlock, see specific information NET_DVR_LockFileByName and NET_DVR_UnlockFileByName interface
2009.2.20 | V3.0.0 |  | Auto reconnect with new deployment, transparent channel can receive messages by interface NET_DVR_SetDVRMessage. Version lower than V3.0 only support preview reconnect
2009.2.20 | V3.0.0 |  | Support HTTP, user can use this commandNET_DVR_PLAYSTART NET_DVR_PlayBackControl to set HTTP file location
2009.2.20 | V3.0.0 |  | New error code type, include error code of player, such as NET_DVR_MAX_PLAYERPORT
2009.2.20 | V3.0.0 |  | New configure cruise path parameters, see specific information NET_DVR_GetDVRConfig, NET_DVR_CRUISE_PARA of NET_DVR_SetDVRConfig
2009.2.20 | V3.0.0 |  | New device model DS90XX_HF_S
2009.2.20 | V3.0.0 |  | New callback type value of information like alarm COMM_ALARM_V30, COMM_IPCCFG
2009.2.20 | V3.0.0 |  | New exception callback type value, such as EXCEPTION_ALARMRECONNECT
2009.2.20 | V3.0.0 |  | New PTZ decoder type get interface, see specific information NET_DVR_GetPTZProtocol
2009.2.20 | V3.0.0 |  | New device log type, such as MINOR_REC_ERROR
2009.2.20 | V3.0.0 |  | New interface to get SDK status see specific information NET_DVR_GetSDKState interface and structure NET_DVR_SDKSTATE;new SDK capability interface,see specific information NET_DVR_GetSDKAbility interface and structure NET_DVR_SDKABL
2009.2.20 | V3.0.0 |  | New alarm callback interface, see specific information NET_DVR_SetDVRMessageCallBack_V30
2009.2.20 | V3.0.0 |  | Extend interface like record files research, see specific information NET_DVR_FindFile_V30, NET_DVR_FindNextFile_V30, NET_DVR_FindClose_V30
2009.2.20 | V3.0.0 |  | New upgrade process obtain interface, see specific interface NET_DVR_GetUpgradeProgress
2009.2.20 | V3.0.0 |  | New upgrade network environment set interface, see specific interface NET_DVR_SetNetworkEnvironment
2009.2.20 | V3.0.0 |  | New SDK log file set interface, see specific information NET_DVR_SetLogToFile
2009.2.20 | V3.0.0 |  | New panel control key code: KEY_CODE_11~KEY_CODE_16
2009.2.20 | V3.0.0 |  | New panel lock and unlock interface, see specific information NET_DVR_LockPanel, NET_DVR_UnlockPanel
2009.2.20 | V3.0.0 |  | New alarm output status interface, see specific information NET_DVR_GetAlarmOut_V30 and structure NET_DVR_ALARMOUTSTATUS_V30
2009.2.20 | V3.0.0 |  | New exception callback interface, see specific information NET_DVR_SetExceptionCallBack_V30
2009.2.20 | V3.0.0 |  | New message listen interface like alarm, see specific information NET_DVR_StartListen_V30, NET_DVR_StopListen_V30
2009.2.20 | V3.0.0 |  | New preview interface, see specific information NET_DVR_RealPlay_V30
2009.2.20 | V3.0.0 |  | New alarm arm and disarm interface, see specific information NET_DVR_SetupAlarmChan_V30, NET_DVR_CloseAlarmChan_V30
2009.2.20 | V3.0.0 |  | New voice talk, voice forward and voice broadcast interfaces, see specific informaiton NET_DVR_StartVoiceCom_V30, NET_DVR_StartVoiceCom_MR_V30, NET_DVR_ClientAudioStart_V30, NET_DVR_AddDVR_V30, NET_DVR_DelDVR_V30
2009.2.20 | V3.0.0 |  | New serail port data send interface single way, see specific information NET_DVR_SendToSerialPort
2009.2.20 | V3.0.0 |  | New log research interface, see specific information NET_DVR_FindDVRLog_V30, NET_DVR_FindNextLog_V30, NET_DVR_FindLogClose_V30
2009.2.20 | V3.0.0 |  | New interfaces to get and set main and auxiliary ports zoom, see specific information NET_DVR_SetScaleCFG_V30, NET_DVR_GetScaleCFG_V30
2009.2.20 | V3.0.0 |  | New device status get interface, see specific information NET_DVR_GetDVRWorkState_V30
2009.2.20 | V3.0.0 |  | New configure file get interface, see specific information NET_DVR_GetConfigFile_V30
2009.2.20 | V3.0.0 |  | Extend cofigure network paremeter, NET_DVR_NETCFG_V30
2009.2.20 | V3.0.0 |  | Extend compress parameter, NET_DVR_COMPRESSIONCFG_V30
2009.2.20 | V3.0.0 |  | Extend image parameter, NET_DVR_PICCFG_V30
2009.2.20 | V3.0.0 |  | Extend record parameter, NET_DVR_RECORD_V30
2009.2.20 | V3.0.0 |  | Extend user parameter, NET_DVR_USER_V30
2009.2.20 | V3.0.0 |  | Extend DDNS parameter, NET_DVR_DDNSPARA_V30
2009.2.20 | V3.0.0 |  | Extend EMAIL parameter, NET_DVR_EMAILCFG_V30
2009.2.20 | V3.0.0 |  | Extend alarm input and output parameters NET_DVR_ALARMINCFG_V30 and NET_DVR_ALARMOUTCFG_V30
2009.2.20 | V3.0.0 |  | Extend video output parameter, NET_DVR_VIDEOOUT_V30
2009.2.20 | V3.0.0 |  | Extend OSD parameter, NET_DVR_SHOWSTRING_V30
2009.2.20 | V3.0.0 |  | Extend exception paramter, NET_DVR_EXCEPTION_V30
2009.2.20 | V3.0.0 |  | Extend RS232 parameter, NET_DVR_RS232CFG_V30
2009.2.20 | V3.0.0 |  | Extend decoder 485 parameter, NET_DVR_DECODERCFG_V30, need to use together with decoder type get interface
2009.2.20 | V3.0.0 |  | Extend preview parameters of local main and auxiliary port, NET_DVR_PREVIEWCFG_V30
2009.2.20 | V3.0.0 |  | Extend device status parameter, NET_DVR_WORKSTATE_V30


Update Record

Device Network SDK Programming Manual

Version Update

V5.1.3.25 build20150916
Device & Version: Intelligent Traffic Camera V4.1.1
1. NET_DVR_SNAPCFG(triggering parameters)added 4 bytes of new parameters: dwSnapVehicleNum(capturing matching No.).
V5.1.3.25 build20150916
V5.1.3.25 build20150916
Device & Version: Network Camera V5.3.4 FF License Plate Recognition
1. NET_DVR_FIND_PICTURE_PARAM(Picture query condition)， NET_ITC_PLATE_RECOG_PARAM(license plate recognition) and NET_DVR_PLATE_INFO(Traffic capture result) added new value :3-Europe and Russian (EU&CIS).
2. NET_DVR_GetUploadState(Get file uploading progress and status) added new returned value：19- Incorrect file format, 20- Incorrect file content
3. Event triggering capability set(EventTriggersCap) added new node：<AllVehicleListTriggerCap>(All vehicle detection list triggering capability)， <OtherVehicleListTriggerCap>(Other vehicle detection list triggering capability)。
4. JPEG capture capability (DEVICE_JPEG_CAP_ABILITY)expending，<FindPicInfo>(picture index)-node <region>(Country index) added new value: EU&CIS(Europe and Russian ).
5. Device common capability(DEVICE_ABILITY_INFO)，event capability(EventAbility) expending:
1) <VehicleDetection>(Vehicle detection capability)added new node:<autoBuildRecogArea>(Client interface generates recognition area automatically)， <brokenNetHttp>(Whether the vehicle detection supports automatic network replenishment)
2) <VehicleDetection>(Vehicle detection capability)-<PlateRecogParam>(License plate recognition)-sub node added new value:：EU&CIS(Europe and Russian).
V5.1.3.20 build20150831
Device & Version:：E Series Network Speed Dome V5.3.9
1. NET_DVR_PTZ_BASICPARAMCFG(PTZ basic parameters configuration)add 1 byte of new parameter:byPTZMotionTrack(enable motion track).
2. Device ability(DEVICE_ABILITY_INFO)，the PTZ capability (PTZAbility) expending，<BasicParamCfg>(PTZ basic parameters capability) added node：<PTZMotionTrack>(motion track capbility).
V5.1.3.16 build20150826
Device & Version: NVR V3.4.0
1. NET_DVR_PREVIEWINFO(Live view parameters)-dwLinkMode(connection mode) added new value:6- HRUDP(reliable UDP transmission).
2. NET_DVR_DEVICEINFO_V40(Device Parameters) added 1 byte of new parameter:byCharEncodeType(character code format).
3. NET_DVR_DIGITAL_CHANNEL_STATE(Device digital channel status) added new value：NET_SDK_DC_STATUS_POE_PORT_DETECTING(POE channel is in detection).
4. NET_DVR_VEHICLE_PARA(Vehicle detection information)added 1 byte of new parameter:byCountry(country index).
5. Event trigger capability (EventTriggersCap) added new node:<BlackListTriggerCap>(Black list event trigger capability), <WhiteListTriggerCap>(White list event trigger capability).
6. Device software and hardware capability(DEVICE_SOFTHARDWARE_ABILITY) added new node:<isSupportSyncIPCPassword>(whether to synchronize IPC password), <isSupportTransferIPC>(Whether to support IPC protocol unvarnished transmission), <supportPreviewHRUDP>(Whether to support HRUDP live view stream getting mode)
7. JPEG capture capability(DEVICE_JPEG_CAP_ABILITY) expending，<SmartPicSearchInfo>(Intelligent picture search)-node<VehicleCond>(vehicle search condition) added new node<country>(country index).
8. Device picture parameters capability(DEVICE_VIDEOPIC_ABILITY)expending，added new node：<Sensitivity>(Sensitivity node).
V5.1.3.10 build20150720
Device & Version: Access control terminal (DS-K1TXXX) V1.0
1. NET_DVR_SINGLE_PLAN_SEGMENT (schedule parameter) byVerifyMode (Verify Mode) Add Value: 5-fingerprint, 6-fingerprint+password, 7-fingerprint or swiping card, 8-fingerprint+swiping card, 9-fingerprint+swiping card+password (not ordered)
2. NET_DVR_EVENT_LINKAGE_INFO(Event linked parameter) wSubEventType(event sub type)Added Value:
1) Added device event sub type: EVENT_ACS_SD_CARD_FULL, EVENT_ACS_LINKAGE_CAPTURE_PIC.
2) Added door event sub type: EVENT_ACS_REMOTE_CAPTURE_PIC, EVENT_ACS_DOORBELL_RINGING.
3. NET_DVR_ACS_ALARM_INFO(access control panel alarm information)Expansion:
1) Use 8 reserved bytes to add parameter: dwPicDataLen(Picture Data Size), pPicData(Picture Data Buffer).
2) dwMinor(alarm information sub type)added value, alarm sub type: 0x40d, 0x40e, operation subtype: 0x40b, event sub type: 0x25~0x31.
4. Alarm control panel capacity set(ACS_ABILITY) expansion:
1) Added Node:<RealteUserInfo>(card No. linked user configuration capacity), <ContinuousShootCfg>(Network triggered continuous capture capacity), <PictureCfg>(base image capacity).
2) <CardReaderVerifyTypePlan>(card reader verification mode schedule capacity)中<verifyType>(Verification Mode)Added Value:fingerPrint, fingerPrintAndPasswd, fingerPrintor Card, fingerPrintAndCard, fingerPrintAndCardAndPasswd。
3) <AcsHostCfg>(Alarm control panel parameter configuration capacity)Added Sub Node: <showCapPic>(supports displaying captured picture on LCD screen or not), <showCardNo>(supports displaying card No. on LCD scrren or not), <showUserInfo>(Supports displaying user information on LCD screen or not), <overlayUserInfo>(Supports displaying user information on captured picture or not), <voicePrompt>(supports voice prompt or not), <uploadCapPic>(supports uploading picture after linked capturing or not), <saveCapPic>(supports storing captured picture or not).
4) <EventLinkage>(event and card No. linkage capacity) <SubEventNameList>(event subtypr) sub node <subEventName>(event name)Added Value:SDCardFull， LinkageCapturePic， RemoteCapturePic， DoorBellRing。
V5.1.3.10 build20150720
Device & Version:32 inch & 42 inch Decoding Monitor V1.0
1. NET_DVR_SIMULATE_SCREEN_REMOTE_CTRL(virtual remote control key control)expending：
1) byControlType(key type)add new value, 12- Alphanumeric key
2) Add 1 byte of new parameter: byControlParam (operation parameters).
2. NET_DVR_CAM_MODE (input resource type) added enumeration type：NET_DVR_CAM_SDI, NET_DVR_CAM_HDI, NET_DVR_CAM_DP, NET_DVR_CAM_HDTVI, NET_DVR_CAM_JOINT, NET_DVR_CAM_HDBASET.
3. LCD splicing capability (LCD_SCREEN_ABILITY)expending，<ScreenSignalCFG>sub node<signalSourceType>(signal resource type)added new value：8-SDI，9-DP，10-HDBASET.
V5.1.3.5 build20150701
Device & Version:DS-19D Power Supply Monitoring System V3.2.4
1. Added alarm control panel operation log sub type: 0xf0, 0xf1, 0xf2, 0xf3.
V5.1.3.5 build20150701
Device & Version: DS-6400HD-T V3.5.0
1. NET_DVR_MATRIX_DECCHAN_CONTROL(window parameter configuration) uses 5 reserved bytes to add parameter: byEnableVcaDec (enable smart decoding or not), dwAllCtrlType(all sub windows operated together type).
2. Device capacity set expansion (corresponding interface: NET_DVR_GetDeviceAbility)：
1) Video wall capacity set (WALL_ABILITY) Added Node:<VcaDecode>(supports smart decoding or not).
2) Decoder capacity set (DECODER_ABILITY) Added Node:<SupportWinRoamSwitch>(supports window floating or not).
3. LCD display unit capacity set(LCD_SCREEN_ABILITY)expansion, <ScreenSignalCFG> sub node <signalSourceType>(signal resource type)Added Value:8-SDI，9-DP，10-HDBASET。
V5.1.1.21 build20150616
Device & Version: Network camera V5.3.3
1. NET_VCA_FACESNAPCFG(Face detection configuration)uses 1 reserved byte to add parameter: byBackgroundPic(Enable uploading background picture).
2. Device common capacity set (DEVICE_ABILITY_INFO), and smart channel analysis capacity set (VcaChanAbility) expansion:
1) Added Node:<FaceCaptureStatistics>(People counting capacity), <ColorFilter> (Smart rule linked color configuration capacity).
2) <FaceSnap>(Face detection capacity) Added Sub Node: <backgroundPic>(Enable uploading background picture)。
V5.1.1.21 build20150616
Device & Version: Alarm control panel V1.1
1. NET_DVR_SINGLE_PLAN_SEGMENT(scheduled parameters)byVerifyMode(verification mode)Added Value:3-swiping card, 4-swiping card or password.
2. NET_DVR_ACS_WORK_STATUS(working status), byDoorStatus(door status) value is edited to: 1-sleeping, 2-normally open, 3-normally closed, 4-normal status, byCardReaderVerifyMode(current verification mode of card reader) value is edited to: 1-sleeping, 2-swiping card+password, 3-swiping card, 4-swiping card or password.
3. NET_DVR_ALARMHOST_NETPARAM(uploading central network parameters) expansion:
1) byReportProtocol(report protocol)Added Value:3- ehome.
2) byDevID[ACCOUNTNUM_LEN_V40] is expanded to byDevID[ACCOUNTNUM_LEN_32], and the length is expanded from 9 bytes to 32 bytes.
4. NET_DVR_PHONECFG(telephone configuration) byPhonePerssion (number permission) added type: 0x4 indicates door operation control.
5. NET_DVR_CARD_READER_CFG(card reader parameters configuration)expansion:
1) byCardReaderType(card reader type) Added Value:6~32.
2) Uses 1 reserved byte to add parameter: byFingerPrintCheckLevel(fingerprint recognition level).
6. NET_DVR_CARD_CFG(card parameter)byCardType(card type)Added Value:8 - dismissing card
7. NET_DVR_DOOR_CFG(door parameter)uses 8 reserved bytes to add parameter: byUnlockPassword[UNLOCK_PASSWORD_LEN](dismissing code)
8. NET_DVR_ACS_PARAM_TYPE(Delete alarm control panel parameters)dwParamType(parameter type)Added Value:ACS_PAPAM_EVENT_CARD_LINKAGE(event and card No. linked parameters), ACS_PAPAM_CARD_PASSWD_CFG(enable opening door with password parameter).
9. Alarm control panel uploading alarm expansion:
1) NET_DVR_ACS_EVENT_INFO(Alarm control panel event information) uses 2 reserved bytes toad parameter: byWhiteListNo(white list No.), byReportChannel(uploading report channel).
2) NET_DVR_ACS_ALARM_INFO(Alarm control panel event information)dwMinor added operation alarm sub type: 0x40c~0x40f。
10. Alarm control panel capacity set (ACS_ABILITY) expansion:
1) Added Node:<AcsHostCfg>(Alarm control panel parameter configuration capacity), <EventLinkage>(event and card No. linkage configuration capacity),<FingerPrint>(fingerprint parameter configuration capacity), <SMS>(mobile SMS capacity)。
2) <CardReaderVerifyTypePlan>(card reader verification mode schedule capacity) <verifyType>(verification mode) Added Value:swipecardorpasswd.
3) <Door>(door parameter capacity)Added Node:<unlockPassword> (unlocking password length).
4) <Card>(card parameter capacity)Added Node:<onlyPasswdOpen >(opening door with password capacity).
5) <CardReaderCfg>(card reader parameter capacity)<cardReaderType>(card reader type)Added Value:DS-K182AMF/ACF, wiegand or RS-485 is not online, DS-K1101M/MK,DS-K1101C/CK,DS-K1102M/MK/M-A,DS-K1102C/CK,DS-K1103M/MK,DS-K1103C/CK,DS-K1104M/MK,DS-K1104C/CK,DS-K1102S/SK/S-A,DS-K1102G/GK,DS-K1100S-B,DS-K1102EM/EMK,DS-K1102E/EK,DS-K1200EF,DS-K1200MF,DS-K1200CF,DS-K1300EF,DS-K1300MF,DS-K1300CF,DS-K1105E,DS-K1105M,DS-K1105C,DS-K182AMF,DS-K196AMF,DS-K194AMP。
6) <clearAcsParam>(Clear access control parameters capacity) Added Value:,eventandCardLinkage,cardPasswdOpendoor.
V5.1.1.19 build20150605
Device & Version: DS-KV8XX2-XX series door station V1.1
1. Added V-series door station type and doorphone type:
1) NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG(device serial No. configuration), NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG(Operation duration configuration )， NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG(linked network configuration)byUnitType(device type) adds Value:5-V-series door station, 6-doorphone.
2) NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION(device serial No. parameter joint) added structure parameter: struVillaOutdoorUnit(V-series door station)。
3) NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION(linked network device configuration joint) added structure parameter: struVillaUnit(V-series door station), struAgainUnit(doorphone).
2. NET_DVR_NOTICE_DATA(announcement issued data parameters)中byLevel(announcement level)Added Value:4- Announcement information.
3. NET_DVR_VIDEO_INTERCOM_ALARM(video intercom alarm information)byAlarmType(alarm type)Added Value:7- SOS(Emergency alarm).
4. Video intercom capacity set (IP_VIEW_DEV_ABILITY) <VideoIntercom>(video intercom capacity) expansion:
1) Added Node:<CallRoomConfig>(calling resident with button of V-series door station configuration), <VideoCall>(video intercom capacity).
2) <DeviceID>(device serial No.)Added Node:<VillaOutDoorDevice>(V-series door station).
3) <RelateDevice>(linked network device)Added Node:<centerIP>(central platform IP)， <centerPort>(central platform port).
4) <NoticeData>(announcement data)中<noticeLevel>(announcement level)Added Value:notification(announcement information).
5) <ElevatorControl>(elevator control parameter)Added Node:<serverIP>(elevator control server IP), <serverPort>(elevator server port).
6) <IOIn>(IO input capacity), <IOOut>(IO output capacity) Added Node:<NodeList>(IO input/output list)


Common Interface Introduction

Interface | Function | Products supported | Remark
NET_DVR_Init | Initialize SDK | All |
NET_DVR_Cleanup | Release SDK resource | All |
NET_DVR_SetConnectTime | Set timeout and attempt times of network connection for SDK | All |
NET_DVR_SetReconnect | Set SDK reconnection | All |
NET_DVR_GetDVRIPByResolveSvr | Get dynamic IP address of device through DNS | All |
NET_DVR_SetDVRMessage | Register handles of receiving exception, reconnection,etc | All |
NET_DVR_SetExceptionCallBack_V30 | Register handles or callback functions of receiving exception, reconnection,etc | All |
NET_DVR_GetSDKVersion | Get SDK version | All |
NET_DVR_GetSDKBuildVersion | Get SDK version and build information | All |
NET_DVR_GetSDKState | Get current state of SDK | All |
NET_DVR_GetSDKAbility | Get current function information of SDK | All |
NET_DVR_SetLogToFile | Enable SDK to write log file | All |
NET_DVR_GetLastError | Return error code of last operation | All |
NET_DVR_GetErrorMsg | Return error code information of last operation | All |
NET_DVR_Login_V30 | Register | All |
NET_DVR_Logout_V30 | Logout | All |


90xx91xx V1.0 Series Network DVR Function Interface Introduction

Besides 90xx91xx V1.0 Series Network DVR supports common interfaces,it also supports functions including preview,fetching video data,preview and configuration of zero-channel,retrieving video file,playback and download,lock and backup of video file,manual record,alarm uploading,voice talking,harddisk management and remote parameter configuration and etc.

Device Model | Function | Interface | Related Parameters
Related Function of Preview |  |  |
DS-90xx, DS-91xx Series Device | Set display mode of play | NET_DVR_SetShowMode |
DS-90xx, DS-91xx Series Device | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
DS-90xx, DS-91xx Series Device | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
DS-90xx, DS-91xx Series Device | Live preview | NET_DVR_RealPlay_V40 |
DS-90xx, DS-91xx Series Device | Stop preview | NET_DVR_StopRealPlay |
DS-90xx, DS-91xx Series Device | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
DS-90xx, DS-91xx Series Device | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
DS-90xx, DS-91xx Series Device | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
DS-90xx, DS-91xx Series Device | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
DS-90xx, DS-91xx Series Device | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
DS-90xx, DS-91xx Series Device | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
DS-90xx, DS-91xx Series Device | Set audio play mode | NET_DVR_SetAudioMode |
DS-90xx, DS-91xx Series Device | Open sound in exclusive audio-card mode | NET_DVR_OpenSound |
DS-90xx, DS-91xx Series Device | Close sound in exclusive audio-card mode | NET_DVR_CloseSound |
DS-90xx, DS-91xx Series Device | Open sound in shared audio-card mode | NET_DVR_OpenSoundShare |
DS-90xx, DS-91xx Series Device | Close sound in shared audio-card mode | NET_DVR_CloseSoundShare |
DS-90xx, DS-91xx Series Device | Adjust play volume | NET_DVR_Volume |
DS-90xx, DS-91xx Series Device | Initialize display device in system | NET_DVR_InitDDrawDevice |
DS-90xx, DS-91xx Series Device | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
DS-90xx, DS-91xx Series Device | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
DS-90xx, DS-91xx Series Device | Set video card used by play window | NET_DVR_SetDDrawDevice |
DS-90xx, DS-91xx Series Device | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
DS-90xx, DS-91xx Series Device | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
DS-90xx, DS-91xx Series Device | Capture data and store into appointed file | NET_DVR_SaveRealData |
DS-90xx, DS-91xx Series Device | Stop data capture | NET_DVR_StopSaveRealData |
DS-90xx, DS-91xx Series Device | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
DS-90xx, DS-91xx Series Device | Capture single-frame data and save as JPEG | NET_DVR_CaptureJPEGPicture |
DS-90xx, DS-91xx Series Device | Capture single-frame data,save as JPEG and store into appointed memory space | NET_DVR_CaptureJPEGPicture_NEW |
Related Function of Video File Operation |  |  |
DS-90xx, DS-91xx Series Device | Search video file by file type,time | NET_DVR_FindFile_V30 | NET_DVR_FILECOND(Not support searching by card number)
DS-90xx, DS-91xx Series Device | Get searched file one by one | NET_DVR_FindNextFile_V30 |
DS-90xx, DS-91xx Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
Playback Video File and Others Related |  |  |
DS-90xx, DS-91xx Series Device | Playback video file by file name | NET_DVR_PlayBackByName |
DS-90xx, DS-91xx Series Device | Playback video file by time | NET_DVR_PlayBackByTime |
DS-90xx, DS-91xx Series Device | Control state of video playback | NET_DVR_PlayBackControl |
DS-90xx, DS-91xx Series Device | Control state of video playback | NET_DVR_PlayBackControl_V40 | NET_DVR_PLAYSETTIME control unsupported NET_DVR_PLAYGETTOTALLEN control unsupported
DS-90xx, DS-91xx Series Device | Stop video playback | NET_DVR_StopPlayBack |
DS-90xx, DS-91xx Series Device | Capture video data for playback,and save as files | NET_DVR_PlayBackSaveData |
DS-90xx, DS-91xx Series Device | Stop saving video data | NET_DVR_StopPlayBackSave |
DS-90xx, DS-91xx Series Device | Register callback function,capture video data | NET_DVR_SetPlayDataCallBack |
DS-90xx, DS-91xx Series Device | Get OSD time at video playback | NET_DVR_GetPlayBackOsdTime |
DS-90xx, DS-91xx Series Device | Capture pictures at video playback,and store into files | NET_DVR_PlayBackCaptureFile |
DS-90xx, DS-91xx Series Device | Refresh playback window | NET_DVR_RefreshPlay |
DS-90xx, DS-91xx Series Device | Get play library handle used for decoding and playing at playback | NET_DVR_GetPlayBackPlayerIndex |
Video File Download and Others Related |  |  |
DS-90xx, DS-91xx Series Device | Download video files by name | NET_DVR_GetFileByName |
DS-90xx, DS-91xx Series Device | Download video files by time | NET_DVR_GetFileByTime |
DS-90xx, DS-91xx Series Device | Control state of video download | NET_DVR_PlayBackControl |
DS-90xx, DS-91xx Series Device | Stop downloading video files | NET_DVR_StopGetFile |
DS-90xx, DS-91xx Series Device | Get current download progress of video file | NET_DVR_GetDownloadPos |
Lock and Unlock Video Files |  |  |
DS-90xx, DS-91xx Series Device | Lock video file by name | NET_DVR_LockFileByName |
DS-90xx, DS-91xx Series Device | Unlock video file by name | NET_DVR_UnlockFileByName |
Manual Recording |  |  |
DS-90xx, DS-91xx Series Device | Start device recording manually and remotely | NET_DVR_StartDVRRecord |
DS-90xx, DS-91xx Series Device | Stop device recording manually and remotely | NET_DVR_StopDVRRecord |
Arm, Disarm and Monitor |  |  |
DS-90xx, DS-91xx Series Device | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 |
DS-90xx, DS-91xx Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
DS-90xx, DS-91xx Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
DS-90xx, DS-91xx Series Device | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
DS-90xx, DS-91xx Series Device | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
Remote Control Panel |  |  |
DS-90xx, DS-91xx Series Device | Button of remote control panel | NET_DVR_ClickKey |
DS-90xx, DS-91xx Series Device | Forbid local control panel of device | NET_DVR_LockPanel |
DS-90xx, DS-91xx Series Device | Restore local control panel of device | NET_DVR_UnLockPanel |
PTZ Control |  |  |
DS-90xx, DS-91xx Series Device | PTZ control operation(start preview first) | NET_DVR_PTZControl |
DS-90xx, DS-91xx Series Device | Start preview before PTZ control operation,and send command through preview connection(perfrom better than NET_DVR_PTZControl,while RTSP doesn't support this function at priview) | NET_DVR_PTZControl_EX |
DS-90xx, DS-91xx Series Device | PTZ control operation(preview isn't essential) | NET_DVR_PTZControl_Other |
DS-90xx, DS-91xx Series Device | PTZ control opertaion with speed(start preview first) | NET_DVR_PTZControlWithSpeed |
DS-90xx, DS-91xx Series Device | PTZ control opertaion with speed(preview isn't essential) | NET_DVR_PTZControlWithSpeed_Other |
DS-90xx, DS-91xx Series Device | PTZ preset point operation(start preview first) | NET_DVR_PTZPreset |
DS-90xx, DS-91xx Series Device | Start preview before PTZ preset point operation,and send command through preview connection(perform better than NET_DVR_PTZPreset,RTSP doesn't support this function at preview) | NET_DVR_PTZPreset_EX |
DS-90xx, DS-91xx Series Device | PTZ preset point operation | NET_DVR_PTZPreset_Other |
DS-90xx, DS-91xx Series Device | >Start preview before PTZ cruise operation | NET_DVR_PTZCruise |
DS-90xx, DS-91xx Series Device | Start preview before PTZ cruise operation,and send command through preview connection(perform better than NET_DVR_PTZCruise,RTSP doesn't support this function at preview) | NET_DVR_PTZCruise_EX |
DS-90xx, DS-91xx Series Device | PTZ cruise operation | NET_DVR_PTZCruise_Other |
DS-90xx, DS-91xx Series Device | Start preview first before PTZ track operation | NET_DVR_PTZTrack |
DS-90xx, DS-91xx Series Device | Start preview first before PTZ track operation,and send command through preview connection(perform better than NET_DVR_PTZTrack,RTSP doesn't support this function at preview) | NET_DVR_PTZTrack_EX |
DS-90xx, DS-91xx Series Device | PTZ track operation | NET_DVR_PTZTrack_Other |
DS-90xx, DS-91xx Series Device | Start preview first before transparent PTZ operation | NET_DVR_TransPTZ |
DS-90xx, DS-91xx Series Device | Start preview first before transparent PTZ operation,and send command through preview connection(perform better than NET_DVR_TransPTZ,RTSP doesn't support this function at preview) | NET_DVR_TransPTZ_EX |
DS-90xx, DS-91xx Series Device | Transparent PTZ operation | NET_DVR_TransPTZ_Other |
Voice Talking, Forward and Broadcast |  |  |
DS-90xx, DS-91xx Series Device | Start voice talking | NET_DVR_StartVoiceCom_V30 |
DS-90xx, DS-91xx Series Device | Set volume of voice talking in client | NET_DVR_SetVoiceComClientVolume |
DS-90xx, DS-91xx Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
DS-90xx, DS-91xx Series Device | Start voice talking,get encoded audio data | NET_DVR_StartVoiceCom_MR_V30 |
DS-90xx, DS-91xx Series Device | Forward audio data | NET_DVR_VoiceComSendData |
DS-90xx, DS-91xx Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
DS-90xx, DS-91xx Series Device | Start voice capture of voice broadcast in PC | NET_DVR_ClientAudioStart_V30 |
DS-90xx, DS-91xx Series Device | Add device channel to broadcast group receiving voice in PC | NET_DVR_AddDVR_V30 |
DS-90xx, DS-91xx Series Device | Delete voice channel of this device from broadcast group that can receive PC voice | NET_DVR_DelDVR_V30 |
DS-90xx, DS-91xx Series Device | Stop voice capture of voice broadcast in PC | NET_DVR_ClientAudioStop |
Transparent Channel |  |  |
DS-90xx, DS-91xx Series Device | Establish transparent channel | NET_DVR_SerialStart |
DS-90xx, DS-91xx Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
DS-90xx, DS-91xx Series Device | Disconnect transparent channel | NET_DVR_SerialStop |
Send Data to Serial Port |  |  |
DS-90xx, DS-91xx Series Device | Send data to serial port directly, it's not neccessary to build transparent channel here | NET_DVR_SendToSerialPort |
DS-90xx, DS-91xx Series Device | Send data to 232 serial port directly, it's not neccessary to build transparent channels here | NET_DVR_SendTo232Port |
Harddisk Management |  |  |
DS-90xx, DS-91xx Series Device | Format device harddisk remotely | NET_DVR_FormatDisk |
DS-90xx, DS-91xx Series Device | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
DS-90xx, DS-91xx Series Device | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
DS-90xx, DS-91xx Series Device | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
DS-90xx, DS-91xx Series Device | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
DS-90xx, DS-91xx Series Device | Remote upgrade | NET_DVR_Upgrade |
DS-90xx, DS-91xx Series Device | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
DS-90xx, DS-91xx Series Device | Get state of remote upgrade | NET_DVR_GetUpgradeState |
DS-90xx, DS-91xx Series Device | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
DS-90xx, DS-91xx Series Device | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
DS-90xx, DS-91xx Series Device | Get searched log one by one | NET_DVR_FindNextLog_V30 |
DS-90xx, DS-91xx Series Device | Release resource for searching log | NET_DVR_FindLogClose_V30 |
DS-90xx, DS-91xx Series Device | Restore default settings of device | NET_DVR_RestoreConfig |
DS-90xx, DS-91xx Series Device | Export configuration file and save in buffer | NET_DVR_GetConfigFile_V30 |
DS-90xx, DS-91xx Series Device | Export configuration file | NET_DVR_GetConfigFile_EX |
DS-90xx, DS-91xx Series Device | Export configuration file and save as a binary file | NET_DVR_GetConfigFile |
DS-90xx, DS-91xx Series Device | Import configuration file from buffer | NET_DVR_SetConfigFile_EX |
DS-90xx, DS-91xx Series Device | Import configuration file from a binary file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
DS-90xx, DS-91xx Series Device | Reboot device | NET_DVR_RebootDVR |
DS-90xx, DS-91xx Series Device | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
DS-90xx, DS-91xx Series Device | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
DS-90xx, DS-91xx Series Device | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
DS-90xx, DS-91xx Series Device | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
DS-90xx, DS-91xx Series Device | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
DS-90xx, DS-91xx Series Device | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
DS-90xx, DS-91xx Series Device | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
DS-90xx, DS-91xx Series Device | Get picture parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
DS-90xx, DS-91xx Series Device | Set picture parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
DS-90xx, DS-91xx Series Device | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
DS-90xx, DS-91xx Series Device | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
DS-90xx, DS-91xx Series Device | Get video parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
DS-90xx, DS-91xx Series Device | Set video parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
DS-90xx, DS-91xx Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
DS-90xx, DS-91xx Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
DS-90xx, DS-91xx Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
DS-90xx, DS-91xx Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
DS-90xx, DS-91xx Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
DS-90xx, DS-91xx Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
DS-90xx, DS-91xx Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
DS-90xx, DS-91xx Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
DS-90xx, DS-91xx Series Device | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-90xx, DS-91xx Series Device | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-90xx, DS-91xx Series Device | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-90xx, DS-91xx Series Device | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-90xx, DS-91xx Series Device | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
DS-90xx, DS-91xx Series Device | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
DS-90xx, DS-91xx Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
DS-90xx, DS-91xx Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
DS-90xx, DS-91xx Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
DS-90xx, DS-91xx Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
DS-90xx, DS-91xx Series Device | Get parameter of time zone and DST | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
DS-90xx, DS-91xx Series Device | Set parameter of time zone and DST | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
DS-90xx, DS-91xx Series Device | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
DS-90xx, DS-91xx Series Device | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
DS-90xx, DS-91xx Series Device | Get parameter of assistant output triggered by alarm | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
DS-90xx, DS-91xx Series Device | Set parameter of assistant output triggered by alarm | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
DS-90xx, DS-91xx Series Device | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
DS-90xx, DS-91xx Series Device | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
DS-90xx, DS-91xx Series Device | Get parameter of network application(NTP) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
DS-90xx, DS-91xx Series Device | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
DS-90xx, DS-91xx Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
DS-90xx, DS-91xx Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
DS-90xx, DS-91xx Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
DS-90xx, DS-91xx Series Device | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
DS-90xx, DS-91xx Series Device | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
DS-90xx Series Device | Get configuration parameter of IP access | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IPPARACFG_V31 DS-91xx Series Device unsupported
DS-90xx Series Device | Set configuration parameter of IP access | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IPPARACFG_V31 DS-91xx Series Device unsupported
DS-90xx Series Device | Get configuration parameter of IP alarm-input | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IPALARMINCFG DS-91xx Series Device unsupported
DS-90xx Series Device | Set configuration parameter of IP alarm-input | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IPALARMINCFG DS-91xx Series Device unsupported
DS-90xx Series Device | Get configuration parameter of IP access about alarm-output | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IPALARMOUTCFG DS-91xx Series Device unsupported
DS-90xx Series Device | Set configuration parameter of IP access about alarm-output | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IPALARMOUTCFG DS-91xx Series Device unsupported
DS-90xx, DS-91xx Series Device | Get parameter of harddisk management | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
DS-90xx, DS-91xx Series Device | Set parameter of harddisk management | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
DS-90xx, DS-91xx Series Device | Get parameter of diskpack management | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_HDGROUP_CFG
DS-90xx, DS-91xx Series Device | Set parameter of diskpack management | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_HDGROUP_CFG
DS-90xx, DS-91xx Series Device | Get audio parameter of voice talking | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
DS-90xx, DS-91xx Series Device | Set audio parameter of voice talking | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
DS-90xx, DS-91xx Series Device | Get access parameter of network harddisk | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
DS-90xx, DS-91xx Series Device | Set access parameter of network harddisk | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
DS-90xx, DS-91xx Series Device | Get alarm-output of device | NET_DVR_GetAlarmOut_V30 |
DS-90xx, DS-91xx Series Device | Set alarm-output of device | NET_DVR_SetAlarmOut |
DS-90xx, DS-91xx Series Device | Get PTZ protocol supported by deviceGet PTZ protocol supported by device | NET_DVR_GetPTZProtocol |
DS-90xx, DS-91xx Series Device | Get zoom information of video-output | NET_DVR_GetScaleCFG |
DS-90xx, DS-91xx Series Device | Get zoom information of video-output | NET_DVR_GetScaleCFG_V30 |
DS-90xx, DS-91xx Series Device | Set zoom information of video-output | NET_DVR_SetScaleCFG |
DS-90xx, DS-91xx Series Device | Set zoom information of video-output | NET_DVR_SetScaleCFG_V30 |

The table below gives the type of encoding and format of encapsulation, which are supported by device.
Device model | Format of encapsulation | Type of encoding | Remark
DS-90xx | PS | Analog channel：private Digtial channel：decided by front-end devices connected. |
DS-91xx | PS | Private |


90xx/91xx V1.1 Series Network DVR Function Interface Introduction

Besides 90xx/91xx V1.1 Series Network DVR supports all functions compatible with 90xx/91xx v1.0,it adds a function video file inquery by event.

Device Model | Function | Interface | Related Parameter
Related Functions of Video File Inquery by Event |  |  |
DS-90xx, DS-91xx Series Device V1.1(included)and Higher | Search video file by event | NET_DVR_FindFileByEvent |
DS-90xx, DS-91xx Series Device V1.1(included)and Higher | Get searched file one by one | NET_DVR_FindNextEvent |
DS-90xx, DS-91xx Series Device V1.1(included)and Higher | Close file inquery,release resource | NET_DVR_FindClose_V30 |

The table below gives the type of encoding and format of encapsulation, which are supported by device.

Device model | Format of encapsulation | Type of encoding | Remark
DS-90xx | PS | Analog channel：private Digtial channel：decided by front-end devices connected. |
DS-91xx | PS | Private |


90xx91xx V1.2 Series Network DVR Function Interface Introduction

Besides 90xx/91xx V1.2 Series Network DVR supports all functions compatible with 90xx/91xx v1.1,it adds interface functions,including zero-channel correlation,video file backup,fetching IPC protocol list,getting and modifying IPC information and mail test and etc.

Device Model | Function | Interface | Related Parameter
Intelligent Search of Regional Motion Detection |  |  |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Start intelligent search | NET_DVR_SmartSearch |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get next motion detection information within region | NET_DVR_SearchNextInfo |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Stop intelligent search | NET_DVR_StopSearch |
Related functions of Zero-channel |  |  |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get compression parameter of zero-channel | NET_DVR_GetDVRConfig | NET_DVR_ZEROCHANCFG
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Set compression parameter of zero-channel | NET_DVR_SetDVRConfig | NET_DVR_ZEROCHANCFG
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get local preview parameter of zero-channel | NET_DVR_GetDVRConfig | NET_DVR_PREVIEWCFG_V30
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Set local preview parameter of zero-channel | NET_DVR_SetDVRConfig | NET_DVR_PREVIEWCFG_V30
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get zoom parameter of zero-channel | NET_DVR_GetDVRConfig | NET_DVR_ZERO_ZOOMCFG
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Set zoom parameter of zero-channel | NET_DVR_SetDVRConfig | NET_DVR_ZERO_ZOOMCFG
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Open zero-channel preview | NET_DVR_ZeroStartPlay |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Stop zero-channel preview | NET_DVR_ZeroStopPlay |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Zero-channel generates a key frame | NET_DVR_ZeroMakeKeyFrame |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Turn over preview windows of zero-channel | NET_DVR_ZeroTurnOver |
Playback video file and others related |  |  |
DS-90xx, DS-91xx Series Device | Control state of video playback | NET_DVR_PlayBackControl_V40 | Besides some controls before 26,it also supports NET_DVR_PLAYSETTIME NET_DVR_PLAYGETTOTALLEN
Backup video file |  |  |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get disk list of device | NET_DVR_GetDiskList |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Backup video file by name | NET_DVR_BackupByName |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Backup video file by time | NET_DVR_BackupByTime |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get progress of file backup | NET_DVR_GetBackupProgress |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Stop file backup | NET_DVR_StopBackup |
Remote Parameter Configuration |  |  |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get device parameter(Extension) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Set device parameter(Extension) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get compression parameter of zero-channel | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZEROCHANCFG
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Set compression parameter of zero-channel | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZEROCHANCFG
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get local preview parameter of zero-channel | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Set local preview parameter of zero-channel | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get zoom parameter of zero-channel | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZERO_ZOOMCFG
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Set zoom parameter of zero-channel | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZERO_ZOOMCFG
Get Device Capability |  |  |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get device capability | NET_DVR_GetDeviceAbility | Capability types supported includes:COMPRESSIONCFG_ABILITY(Compression parameter)
Get IPC Protocol List |  |  |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get IPC protocol list supported by device | NET_DVR_GetIPCProtoList |
Mail Test |  |  |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Test whether configured Email can send or receive mails successfully | NET_DVR_StartEmailTest |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Get progress of mail test | NET_DVR_GetEmailTestProgress |
DS-90xx, DS-91xx Series Device V1.2(included)and Higher | Stop mail test | NET_DVR_StopEmailTest |

The table below gives the type of encoding and format of encapsulation, which are supported by device.

Device model | Format of encapsulation | Type of encoding | Remark
DS-90xx | PS | Analog channel：private Digtial channel：decided by front-end devices connected. |
DS-91xx | PS | Private |


81xx71xx72xx73xx Series DVR Function Interface Introduction

Besides 81xx/71xx/72xx/73xx Series DVR supports common interfaces,it also supports functions including preview,fetching video data,retrieving video file,playback and download,lock and backup of video file,manual record,alarm uploading,voice talking,harddisk management and remote parameter configuration and etc.

Device Model | Function | Interface | Related Parameters
Related Function of Preview |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set display mode of play | NET_DVR_SetShowMode |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub | DS-81xxHS-S, DS-81xxHL-S, DS-71xxH-S Series V3.1(included)and Higher supported
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Live preview | NET_DVR_RealPlay_V30 | DS-81xxHS-S, DS-81xxHL, DS-71xxH-S Series V3.1(included)and Higher,supporting preview with substream
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop preview | NET_DVR_StopRealPlay |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set audio play mode | NET_DVR_SetAudioMode | DS-81xxHS-S Series Device unsupported
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Open sound in exclusive audio-card mode | NET_DVR_OpenSound | DS-81xxHS-S Series Device unsupported
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Close sound in exclusive audio-card mode | NET_DVR_CloseSound | DS-81xxHS-S Series Device unsupported
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Open sound in shared audio-card mode | NET_DVR_OpenSoundShare | DS-81xxHS-S Series Device unsupported
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Close sound in shared audio-card mode | NET_DVR_CloseSoundShare | DS-81xxHS-S Series Device unsupported
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Adjust play volume | NET_DVR_Volume | DS-81xxHS-S Series Device unsupported
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Initialize display device in system | NET_DVR_InitDDrawDevice |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set video card used by play window | NET_DVR_SetDDrawDevice |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Capture data and store into appointed file | NET_DVR_SaveRealData |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop data capture | NET_DVR_StopSaveRealData |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Capture single-frame data and save as JPEG | NET_DVR_CaptureJPEGPicture |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Capture single-frame data,save as JPEG and store into appointed memory space | NET_DVR_CaptureJPEGPicture_NEW |
Related Function of Video File Operation |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Search video file by file type,time | NET_DVR_FindFile_V30 | NET_DVR_FILECOND(Not support searching by card number)
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get searched file one by one | NET_DVR_FindNextFile_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
Playback Video File and Others Related |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Playback video file by file name | NET_DVR_PlayBackByName |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Playback video file by time | NET_DVR_PlayBackByTime |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Control state of video playback | NET_DVR_PlayBackControl_V40 | NET_DVR_PLAYSETTIME control unsupported NET_DVR_PLAYGETTOTALLEN control unsupported
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop video playback | NET_DVR_StopPlayBack |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Capture video data for playback,and save as files | NET_DVR_PlayBackSaveData |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop saving video data | NET_DVR_StopPlayBackSave |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Register callback function,capture video data | NET_DVR_SetPlayDataCallBack |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get OSD time at video playback | NET_DVR_GetPlayBackOsdTime |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Capture pictures at video playback,and store into files | NET_DVR_PlayBackCaptureFile |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Refresh playback window | NET_DVR_RefreshPlay |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get play library handle used for decoding and playing at playback | NET_DVR_GetPlayBackPlayerIndex |
Video File Download and Others Related |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Download video files by name | NET_DVR_GetFileByName |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Download video files by time | NET_DVR_GetFileByTime |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Control state of video download | NET_DVR_PlayBackControl |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop downloading video files | NET_DVR_StopGetFile |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get current download progress of video file | NET_DVR_GetDownloadPos |
Lock and Unlock Video Files |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Lock video file by name | NET_DVR_LockFileByName |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Unlock video file by name | NET_DVR_UnlockFileByName |
Manual Recording |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start device recording manually and remotely | NET_DVR_StartDVRRecord |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop device recording manually and remotely | NET_DVR_StopDVRRecord |
Arm, Disarm and Monitor |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
Remote Control Panel |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Button of remote control panel | NET_DVR_ClickKey |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Forbid local control panel of device | NET_DVR_LockPanel |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Restore local control panel of device | NET_DVR_UnLockPanel |
PTZ Control |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | PTZ control operation(start preview first) | NET_DVR_PTZControl |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start preview before PTZ control operation,and send command through preview connection(perfrom better than NET_DVR_PTZControl,while RTSP doesn't support this function at priview) | NET_DVR_PTZControl_EX |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | PTZ control operation(preview isn't essential) | NET_DVR_PTZControl_Other |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | PTZ control opertaion with speed(start preview first) | NET_DVR_PTZControlWithSpeed |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | PTZ control opertaion with speed(preview isn't essential) | NET_DVR_PTZControlWithSpeed_Other |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | PTZ preset point operation(start preview first) | NET_DVR_PTZPreset |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start preview before PTZ preset point operation,and send command through preview connection(perform better than NET_DVR_PTZPreset,RTSP doesn't support this function at preview) | NET_DVR_PTZPreset_EX |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | PTZ preset point operation | NET_DVR_PTZPreset_Other |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start preview before PTZ cruise operation | NET_DVR_PTZCruise |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start preview before PTZ cruise operation,and send command through preview connection(perform better than NET_DVR_PTZCruise,RTSP doesn't support this function at preview) | NET_DVR_PTZCruise_EX |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | PTZ cruise operation | NET_DVR_PTZCruise_Other |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start preview first before PTZ track operation | NET_DVR_PTZTrack |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start preview first before PTZ track operation,and send command through preview connection(perform better than NET_DVR_PTZTrack,RTSP doesn't support this function at preview) | NET_DVR_PTZTrack_EX |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | PTZ track operation | NET_DVR_PTZTrack_Other |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start preview first before transparent PTZ operation | NET_DVR_TransPTZ |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start preview first before transparent PTZ operation,and send command through preview connection(perform better than NET_DVR_TransPTZ,RTSP doesn't support this function at preview) | NET_DVR_TransPTZ_EX |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Transparent PTZ operation | NET_DVR_TransPTZ_Other |
Voice Talking, Forward and Broadcast |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start voice talking | NET_DVR_StartVoiceCom_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set volume of voice talking in client | NET_DVR_SetVoiceComClientVolume |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start voice talking,get encoded audio data | NET_DVR_StartVoiceCom_MR_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Forward audio data | NET_DVR_VoiceComSendData |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Start voice capture of voice broadcast in PC | NET_DVR_ClientAudioStart_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Add device channel to broadcast group receiving voice in PC | NET_DVR_AddDVR_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Delete voice channel of this device from broadcast group that can receive PC voice | NET_DVR_DelDVR_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Stop voice capture of voice broadcast in PC | NET_DVR_ClientAudioStop |
Transparent Channel |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Establish transparent channel | NET_DVR_SerialStart |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Disconnect transparent channel | NET_DVR_SerialStop |
Send Data to Serial Port |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Send data to serial port directly, it's not neccessary to build transparent channel here | NET_DVR_SendToSerialPort |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Send data to 232 serial port directly, it's not neccessary to build transparent channels here | NET_DVR_SendTo232Port |
Harddisk Management |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Format device harddisk remotely | NET_DVR_FormatDisk |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Remote upgrade | NET_DVR_Upgrade |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get state of remote upgrade | NET_DVR_GetUpgradeState |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get searched log one by one | NET_DVR_FindNextLog_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Release resource for searching log | NET_DVR_FindLogClose_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Restore default settings of device | NET_DVR_RestoreConfig |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Export configuration file and save in buffer | NET_DVR_GetConfigFile_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Export configuration file | NET_DVR_GetConfigFile_EX |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Export configuration file and save as a binary file | NET_DVR_GetConfigFile |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Import configuration file from buffer | NET_DVR_SetConfigFile_EX |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Import configuration file from a binary file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Reboot device | NET_DVR_RebootDVR |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get picture parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set picture parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get video parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set video parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get parameter of time zone and DST | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set parameter of time zone and DST | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get parameter of assistant output triggered by alarm | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set parameter of assistant output triggered by alarm | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get parameter of network application(NTP | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get parameter of harddisk management | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set parameter of harddisk management | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get parameter of diskpack management | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_HDGROUP_CFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set parameter of diskpack management | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_HDGROUP_CFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get audio parameter of voice talking | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set audio parameter of voice talking | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get access parameter of network harddisk | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set access parameter of network harddisk | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get alarm-output of device | NET_DVR_GetAlarmOut_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set alarm-output of device | NET_DVR_SetAlarmOut |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get PTZ protocol supported by device | NET_DVR_GetPTZProtocol |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get zoom information of video-output | NET_DVR_GetScaleCFG_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Get zoom information of video-output | NET_DVR_GetScaleCFG |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set zoom information of video-output | NET_DVR_SetScaleCFG_V30 |
DS-81xx, DS-71xx, DS-72xx, DS-73xx Series Device | Set zoom information of video-output | NET_DVR_SetScaleCFG |

The table below gives the type of encoding and format of encapsulation, which are supported by device.

Device model | Format of encapsulation | Type of encoding | Remark
DS-71xx | PS | Standard H264 |
DS-81xx | PS | Standard H264 |


95 Series NVR Function Interface Introduction

Besides 95 Series NVR supports common interfaces,it also supports functions including preview,fetching video data,retrieving video file,playback and download,lock and backup of video file,manual recording,alarm uploading,voice talking,harddisk management and remote parameter configuration and etc.

Device Model | Function | Interface | Related Parameters
Related Function of Preview |  |  |
DS-95xxN-S Series Device | Set display mode of play | NET_DVR_SetShowMode |
DS-95xxN-S Series Device | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
DS-95xxN-S Series Device | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
DS-95xxN-S Series Device | Live preview | NET_DVR_RealPlay_V30 |
DS-95xxN-S Series Device | Stop preview | NET_DVR_StopRealPlay |
DS-95xxN-S Series Device | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
DS-95xxN-S Series Device | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
DS-95xxN-S Series Device | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
DS-95xxN-S Series Device | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
DS-95xxN-S Series Device | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
DS-95xxN-S Series Device | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
DS-95xxN-S Series Device | Set audio play mode | NET_DVR_SetAudioMode |
DS-95xxN-S Series Device | Open sound in exclusive audio-card mode | NET_DVR_OpenSound |
DS-95xxN-S Series Device | Close sound in exclusive audio-card mode | NET_DVR_CloseSound |
DS-95xxN-S Series Device | Open sound in shared audio-card mode | NET_DVR_OpenSoundShare |
DS-95xxN-S Series Device | Close sound in shared audio-card mode | NET_DVR_CloseSoundShare |
DS-95xxN-S Series Device | Adjust play volume | NET_DVR_Volume |
DS-95xxN-S Series Device | Initialize display device in system | NET_DVR_InitDDrawDevice |
DS-95xxN-S Series Device | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
DS-95xxN-S Series Device | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
DS-95xxN-S Series Device | Set video card used by play window | NET_DVR_SetDDrawDevice |
DS-95xxN-S Series Device | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
DS-95xxN-S Series Device | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
DS-95xxN-S Series Device | Capture data and store into appointed file | NET_DVR_SaveRealData |
DS-95xxN-S Series Device | Stop data capture | NET_DVR_StopSaveRealData |
DS-95xxN-S Series Device | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
Related Function of Video File Operation |  |  |
DS-95xxN-S Series Device | Search video file by file type,time | NET_DVR_FindFile_V30 | NET_DVR_FILECOND(Not support searching by card number)
DS-95xxN-S Series Device | Get searched file one by one | NET_DVR_FindNextFile_V30 |
DS-95xxN-S Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
Related Functions of Searching Video File by Event |  |  |
DS-95xxN-S Series Device | Search video file by event | NET_DVR_FindFileByEvent |
DS-95xxN-S Series Device | Get searched file one by one | NET_DVR_FindNextEvent |
DS-95xxN-S Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
Intelligent Search of Regional Motion Detection |  |  |
DS-95xxN-S Series Device | Start intelligent search | NET_DVR_SmartSearch |
DS-95xxN-S Series Device | Get next motion detection information within region | NET_DVR_SearchNextInfo |
DS-95xxN-S Series Device | Stop intelligent search | NET_DVR_StopSearch |
Playback Video File and Others Related |  |  |
DS-95xxN-S Series Device | Playback video file by file name | NET_DVR_PlayBackByName |
DS-95xxN-S Series Device | Playback video file by time | NET_DVR_PlayBackByTime |
DS-95xxN-S Series Device | Control state of video playback | NET_DVR_PlayBackControl |
DS-95xxN-S Series Device | Control state of video playback | NET_DVR_PlayBackControl_V40 |
DS-95xxN-S Series Device | Stop video playback | NET_DVR_StopPlayBack |
DS-95xxN-S Series Device | Capture video data for playback,and save as files | NET_DVR_PlayBackSaveData |
DS-95xxN-S Series Device | Stop saving video data | NET_DVR_StopPlayBackSave |
DS-95xxN-S Series Device | Register callback function,capture video data | NET_DVR_SetPlayDataCallBack |
DS-95xxN-S Series Device | Get OSD time at video playback | NET_DVR_GetPlayBackOsdTime |
DS-95xxN-S Series Device | Capture pictures at video playback,and store into files | NET_DVR_PlayBackCaptureFile |
DS-95xxN-S Series Device | Refresh playback window | NET_DVR_RefreshPlay |
DS-95xxN-S Series Device | Get play library handle used for decoding and playing at playback | NET_DVR_GetPlayBackPlayerIndex |
Video File Download and Others Related |  |  |
DS-95xxN-S Series Device | Download video files by name | NET_DVR_GetFileByName |
DS-95xxN-S Series Device | Download video files by time | NET_DVR_GetFileByTime |
DS-95xxN-S Series Device | Control state of video download | NET_DVR_PlayBackControl |
DS-95xxN-S Series Device | Stop downloading video files | NET_DVR_StopGetFile |
DS-95xxN-S Series Device | Get current download progress of video file | NET_DVR_GetDownloadPos |
Lock and Unlock Video Files |  |  |
DS-95xxN-S Series Device | Lock video file by name | NET_DVR_LockFileByName |
DS-95xxN-S Series Device | Unlock video file by name | NET_DVR_UnlockFileByName |
Video File Backup |  |  |
DS-95xxN-S Series Device | Get harddisk list of device | NET_DVR_GetDiskList |
DS-95xxN-S Series Device | Backup video file by name | NET_DVR_BackupByName |
DS-95xxN-S Series Device | Backup video file by time | NET_DVR_BackupByTime |
DS-95xxN-S Series Device | Get backup progress of files | NET_DVR_GetBackupProgress |
DS-95xxN-S Series Device | Stop file backup | NET_DVR_StopBackup |
Manual Recording |  |  |
DS-95xxN-S Series Device | Start device recording manually and remotely | NET_DVR_StartDVRRecord |
DS-95xxN-S Series Device | Stop device recording manually and remotely | NET_DVR_StopDVRRecord |
Arm, Disarm and Monitor |  |  |
DS-95xxN-S Series Device | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 |
DS-95xxN-S Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
DS-95xxN-S Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
DS-95xxN-S Series Device | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
DS-95xxN-S Series Device | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
Remote Control Panel |  |  |
DS-95xxN-S Series Device | Button of remote control panel | NET_DVR_ClickKey |
DS-95xxN-S Series Device | Forbid local control panel of device | NET_DVR_LockPanel |
DS-95xxN-S Series Device | Restore local control panel of device | NET_DVR_UnLockPanel |
PTZ Control |  |  |
DS-95xxN-S Series Device | PTZ control operation(start preview first) | NET_DVR_PTZControl |
DS-95xxN-S Series Device | Start preview before PTZ control operation,and send command through preview connection(perfrom better than NET_DVR_PTZControl,while RTSP doesn't support this function at priview) | NET_DVR_PTZControl_EX |
DS-95xxN-S Series Device | PTZ control operation(preview isn't essential) | NET_DVR_PTZControl_Other |
DS-95xxN-S Series Device | PTZ control opertaion with speed(start preview first) | NET_DVR_PTZControlWithSpeed |
DS-95xxN-S Series Device | PTZ control opertaion with speed(preview isn't essential) | NET_DVR_PTZControlWithSpeed_Other |
DS-95xxN-S Series Device | PTZ preset point operation(start preview first) | NET_DVR_PTZPreset |
DS-95xxN-S Series Device | Start preview before PTZ preset point operation,and send command through preview connection(perform better than NET_DVR_PTZPreset,RTSP doesn't support this function at preview) | NET_DVR_PTZPreset_EX |
DS-95xxN-S Series Device | PTZ preset point operation | NET_DVR_PTZPreset_Other |
DS-95xxN-S Series Device | Start preview before PTZ cruise operation | NET_DVR_PTZCruise |
DS-95xxN-S Series Device | Start preview before PTZ cruise operation,and send command through preview connection(perform better than NET_DVR_PTZCruise,RTSP doesn't support this function at preview) | NET_DVR_PTZCruise_EX |
DS-95xxN-S Series Device | PTZ cruise operation | NET_DVR_PTZCruise_Other |
DS-95xxN-S Series Device | Start preview first before PTZ track operation | NET_DVR_PTZTrack |
DS-95xxN-S Series Device | Start preview first before PTZ track operation,and send command through preview connection(perform better than NET_DVR_PTZTrack,RTSP doesn't support this function at preview) | NET_DVR_PTZTrack_EX |
DS-95xxN-S Series Device | PTZ track operation | NET_DVR_PTZTrack_Other |
DS-95xxN-S Series Device | Start preview first before transparent PTZ operation | NET_DVR_TransPTZ |
DS-95xxN-S Series Device | Start preview first before transparent PTZ operation,and send command through preview connection(perform better than NET_DVR_TransPTZ,RTSP doesn't support this function at preview) | NET_DVR_TransPTZ_EX |
DS-95xxN-S Series Device | Transparent PTZ operation | NET_DVR_TransPTZ_Other |
Transparent Channel |  |  |
DS-95xxN-S Series Device | Establish transparent channel | NET_DVR_SerialStart |
DS-95xxN-S Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
DS-95xxN-S Series Device | Disconnect transparent channel | NET_DVR_SerialStop |
Send Data to Serial Port |  |  |
DS-95xxN-S Series Device | Establish transparent channel | NET_DVR_SerialStart |
DS-95xxN-S Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
Harddisk Management |  |  |
DS-95xxN-S Series Device | Format device harddisk remotely | NET_DVR_FormatDisk |
DS-95xxN-S Series Device | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
DS-95xxN-S Series Device | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
DS-95xxN-S Series Device | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
DS-95xxN-S Series Device | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
DS-95xxN-S Series Device | Remote upgrade | NET_DVR_Upgrade |
DS-95xxN-S Series Device | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
DS-95xxN-S Series Device | Get state of remote upgrade | NET_DVR_GetUpgradeState |
DS-95xxN-S Series Device | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
DS-95xxN-S Series Device | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
DS-95xxN-S Series Device | Get searched log one by one | NET_DVR_FindNextLog_V30 |
DS-95xxN-S Series Device | Release resource for searching log | NET_DVR_FindLogClose_V30 |
DS-95xxN-S Series Device | Restore default settings of device | NET_DVR_RestoreConfig |
DS-95xxN-S Series Device | Export configuration file and save in buffer | NET_DVR_GetConfigFile_V30 |
DS-95xxN-S Series Device | Export configuration file | NET_DVR_GetConfigFile_EX |
DS-95xxN-S Series Device | Export configuration file and save as a binary file | NET_DVR_GetConfigFile |
DS-95xxN-S Series Device | Import configuration file from buffer | NET_DVR_SetConfigFile_EX |
DS-95xxN-S Series Device | Import configuration file from a binary file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
DS-95xxN-S Series Device | Reboot device | NET_DVR_RebootDVR |
DS-95xxN-S Series Device | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
DS-95xxN-S Series Device | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
DS-95xxN-S Series Device | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
DS-95xxN-S Series Device | Get device parameter(Extension) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40
DS-95xxN-S Series Device | Set device parameter(Extension) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40
DS-95xxN-S Series Device | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
DS-95xxN-S Series Device | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
DS-95xxN-S Series Device | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
DS-95xxN-S Series Device | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
DS-95xxN-S Series Device | Get picture parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
DS-95xxN-S Series Device | Set picture parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
DS-95xxN-S Series Device | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
DS-95xxN-S Series Device | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
DS-95xxN-S Series Device | Get video parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
DS-95xxN-S Series Device | Set video parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
DS-95xxN-S Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
DS-95xxN-S Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
DS-95xxN-S Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
DS-95xxN-S Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
DS-95xxN-S Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
DS-95xxN-S Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
DS-95xxN-S Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
DS-95xxN-S Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
DS-95xxN-S Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
DS-95xxN-S Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
DS-95xxN-S Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
DS-95xxN-S Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
DS-95xxN-S Series Device | Get parameter of time zone and DST | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
DS-95xxN-S Series Device | Set parameter of time zone and DST | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
DS-95xxN-S Series Device | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
DS-95xxN-S Series Device | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
DS-95xxN-S Series Device | Get parameter of assistant output triggered by alarm | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
DS-95xxN-S Series Device | Set parameter of assistant output triggered by alarm | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
DS-95xxN-S Series Device | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
DS-95xxN-S Series Device | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
DS-95xxN-S Series Device | Get parameter of network application(NTP) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
DS-95xxN-S Series Device | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
DS-95xxN-S Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
DS-95xxN-S Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
DS-95xxN-S Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
DS-95xxN-S Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
DS-95xxN-S Series Device | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
DS-95xxN-S Series Device | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
DS-95xxN-S Series Device | Get configuration parameter of IP access | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IPPARACFG_V31
DS-95xxN-S Series Device | Set configuration parameter of IP access | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IPPARACFG_V31
DS-95xxN-S Series Device | Get configuration parameter of IP alarm-input | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IPALARMINCFG
DS-95xxN-S Series Device | Set configuration parameter of IP alarm-input | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IPALARMINCFG
DS-95xxN-S Series Device | Get configuration parameter of IP access about alarm-output | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IPALARMOUTCFG
DS-95xxN-S Series Device | Set configuration parameter of IP access about alarm-output | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IPALARMOUTCFG
DS-95xxN-S Series Device | Get parameter of harddisk management | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
DS-95xxN-S Series Device | Set parameter of harddisk management | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
DS-95xxN-S Series Device | Get parameter of diskpack management | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_HDGROUP_CFG
DS-95xxN-S Series Device | Set parameter of diskpack management | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_HDGROUP_CFG
DS-95xxN-S Series Device | Get access parameter of network harddisk | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
DS-95xxN-S Series Device | Set access parameter of network harddisk | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
DS-95xxN-S Series Device | Get alarm-output of device | NET_DVR_GetAlarmOut_V30 |
DS-95xxN-S Series Device | Set alarm-output of device | NET_DVR_SetAlarmOut |
DS-95xxN-S Series Device | Get PTZ protocol supported by device | NET_DVR_GetPTZProtocol |
Get Device Capacity |  |  |
DS-95xxN-S Series Device | Get device capacity | NET_DVR_GetDeviceAbility | Capacity types supported: COMPRESSIONCFG_ABILITY(Capacity of parameter compression)
Get IPC Protocol List |  |  |
DS-95xxN-S Series Device | Get IPC protocol list supported by device | NET_DVR_GetIPCProtoList |
Remote Scanning and Modification of IPC Information |  |  |
DS-95xxN-S Series Device | Remote scanning to get IPC information list | NET_DVR_GetSadpInfoList |
DS-95xxN-S Series Device | Modify IPC inforamtion remotely | NET_DVR_UpdateSadpInfo |
Mail Test |  |  |
DS-95xxN-S Series Device | Test whether configured Email can send or receive mails successfully | NET_DVR_StartEmailTest |
DS-95xxN-S Series Device | Get progress of mail test | NET_DVR_GetEmailTestProgress |
DS-95xxN-S Series Device | Stop mail test | NET_DVR_StopEmailTest |
The table below gives the type of encoding and format of encapsulation, which are supported by device.
Device model | Format of encapsulation | Type of encoding | Remark
DS-95xx | PS | decided by front-end devices connected. |


96 Series NVR Function Interface Introduction

Besides 95 Series NVR supports common interfaces,it also supports functions including preview,fetching video data,preview and configuration of zero-channel,retrieving video file,playback and download,lock and backup of video file,manual record,alarm uploading,voice talking,harddisk management and remote parameter configuration and etc.

Device Model | Function | Interface | Related Parameters
Related Function of Preview |  |  |
DS-96xxN-SH Series Device | Set display mode of play | NET_DVR_SetShowMode |
DS-96xxN-SH Series Device | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
DS-96xxN-SH Series Device | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
DS-96xxN-SH Series Device | Live preview | NET_DVR_RealPlay_V30 |
DS-96xxN-SH Series Device | Stop preview | NET_DVR_StopRealPlay |
DS-96xxN-SH Series Device | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
DS-96xxN-SH Series Device | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
DS-96xxN-SH Series Device | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
DS-96xxN-SH Series Device | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
DS-96xxN-SH Series Device | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
DS-96xxN-SH Series Device | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
DS-96xxN-SH Series Device | Set audio play mode | NET_DVR_SetAudioMode |
DS-96xxN-SH Series Device | Open sound in exclusive audio-card mode | NET_DVR_OpenSound |
DS-96xxN-SH Series Device | Close sound in exclusive audio-card mode | NET_DVR_CloseSound |
DS-96xxN-SH Series Device | Open sound in shared audio-card mode | NET_DVR_OpenSoundShare |
DS-96xxN-SH Series Device | Close sound in shared audio-card mode | NET_DVR_CloseSoundShare |
DS-96xxN-SH Series Device | Adjust play volume | NET_DVR_Volume |
DS-96xxN-SH Series Device | Initialize display device in system | NET_DVR_InitDDrawDevice |
DS-96xxN-SH Series Device | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
DS-96xxN-SH Series Device | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
DS-96xxN-SH Series Device | Set video card used by play window | NET_DVR_SetDDrawDevice |
DS-96xxN-SH Series Device | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
DS-96xxN-SH Series Device | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
DS-96xxN-SH Series Device | Capture data and store into appointed file | NET_DVR_SaveRealData |
DS-96xxN-SH Series Device | Stop data capture | NET_DVR_StopSaveRealData |
DS-96xxN-SH Series Device | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
DS-96xxN-SH Series Device | Capture single-frame data and save as JPEG | NET_DVR_CaptureJPEGPicture |
DS-96xxN-SH Series Device | Capture single-frame data,save as JPEG and store into appointed memory space | NET_DVR_CaptureJPEGPicture_NEW |
Related functions of Zero-channel |  |  |
DS-96xxN-SH Series Device | Get compression parameter of zero-channel | NET_DVR_GetDVRConfig | NET_DVR_ZEROCHANCFG
DS-96xxN-SH Series Device | Set compression parameter of zero-channel | NET_DVR_SetDVRConfig | NET_DVR_ZEROCHANCFG
DS-96xxN-SH Series Device | Get local preview parameter of zero-channel | NET_DVR_GetDVRConfig | NET_DVR_PREVIEWCFG_V30
DS-96xxN-SH Series Device | Set local preview parameter of zero-channel | NET_DVR_SetDVRConfig | NET_DVR_PREVIEWCFG_V30
DS-96xxN-SH Series Device | Get zoom parameter of zero-channel | NET_DVR_GetDVRConfig | NET_DVR_ZERO_ZOOMCFG
DS-96xxN-SH Series Device | Set zoom parameter of zero-channel | NET_DVR_SetDVRConfig | NET_DVR_ZERO_ZOOMCFG
DS-96xxN-SH Series Device | Open zero-channel preview | NET_DVR_ZeroStartPlay |
DS-96xxN-SH Series Device | Stop zero-channel preview | NET_DVR_ZeroStopPlay |
DS-96xxN-SH Series Device | Zero-channel generates a key frame | NET_DVR_ZeroMakeKeyFrame |
DS-96xxN-SH Series Device | Turn over preview windows of zero-channel | NET_DVR_ZeroTurnOver |
Related Function of Video File Operation |  |  |
DS-96xxN-SH Series Device | Search video file by file type,time | NET_DVR_FindFile_V30 | NET_DVR_FILECOND(Not support searching by card number)
DS-96xxN-SH Series Device | Get searched file one by one | NET_DVR_FindNextFile_V30 |
DS-96xxN-SH Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
Related Functions of Video File Inquery by Event |  |  |
DS-96xxN-SH Series Device | Search video file by event | NET_DVR_FindFileByEvent |
DS-96xxN-SH Series Device | Get searched file one by one | NET_DVR_FindNextEvent |
DS-96xxN-SH Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
Intelligent Search of Regional Motion Detection |  |  |
DS-96xxN-SH Series Device | Start intelligent search | NET_DVR_SmartSearch |
DS-96xxN-SH Series Device | Get next motion detection information within region | NET_DVR_SearchNextInfo |
DS-96xxN-SH Series Device | Stop intelligent search | NET_DVR_StopSearch |
Playback Video File and Others Related |  |  |
DS-96xxN-SH Series Device | Playback video file by file name | NET_DVR_PlayBackByName |
DS-96xxN-SH Series Device | Playback video file by time | NET_DVR_PlayBackByTime |
DS-96xxN-SH Series Device | Control state of video playback | NET_DVR_PlayBackControl |
DS-96xxN-SH Series Device | Control state of video playback | NET_DVR_PlayBackControl_V40 |
DS-96xxN-SH Series Device | Stop video playback | NET_DVR_StopPlayBack |
DS-96xxN-SH Series Device | Capture video data for playback,and save as files | NET_DVR_PlayBackSaveData |
DS-96xxN-SH Series Device | Stop saving video data | NET_DVR_StopPlayBackSave |
DS-96xxN-SH Series Device | Register callback function,capture video data | NET_DVR_SetPlayDataCallBack |
DS-96xxN-SH Series Device | Get OSD time at video playback | NET_DVR_GetPlayBackOsdTime |
DS-96xxN-SH Series Device | Capture pictures at video playback,and store into files | NET_DVR_PlayBackCaptureFile |
DS-96xxN-SH Series Device | Refresh playback window | NET_DVR_RefreshPlay |
DS-96xxN-SH Series Device | Get play library handle used for decoding and playing at playback | NET_DVR_GetPlayBackPlayerIndex |
Video File Download and Others Related |  |  |
DS-96xxN-SH Series Device | Download video files by name | NET_DVR_GetFileByName |
DS-96xxN-SH Series Device | Download video files by time | NET_DVR_GetFileByTime |
DS-96xxN-SH Series Device | Control state of video download | NET_DVR_PlayBackControl |
DS-96xxN-SH Series Device | Stop downloading video files | NET_DVR_StopGetFile |
DS-96xxN-SH Series Device | Get current download progress of video file | NET_DVR_GetDownloadPos |
Lock and Unlock Video Files |  |  |
DS-96xxN-SH Series Device | Lock video file by name | NET_DVR_LockFileByName |
DS-96xxN-SH Series Device | Unlock video file by name | NET_DVR_UnlockFileByName |
Video File Backup |  |  |
DS-96xxN-SH Series Device | Get harddisk list of device | NET_DVR_GetDiskList |
DS-96xxN-SH Series Device | Backup video file by name | NET_DVR_BackupByName |
DS-96xxN-SH Series Device | Backup video file by time | NET_DVR_BackupByTime |
DS-96xxN-SH Series Device | Get backup progress of files | NET_DVR_GetBackupProgress |
DS-96xxN-SH Series Device | Stop file backup | NET_DVR_StopBackup |
Manual Recording |  |  |
DS-96xxN-SH Series Device | Start device recording manually and remotely | NET_DVR_StartDVRRecord |
DS-96xxN-SH Series Device | Stop device recording manually and remotely | NET_DVR_StopDVRRecord |
Arm, Disarm and Monitor |  |  |
DS-96xxN-SH Series Device | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 |
DS-96xxN-SH Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
DS-96xxN-SH Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
DS-96xxN-SH Series Device | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
DS-96xxN-SH Series Device | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
Remote Control Panel |  |  |
DS-96xxN-SH Series Device | Button of remote control panel | NET_DVR_ClickKey |
DS-96xxN-SH Series Device | Forbid local control panel of device | NET_DVR_LockPanel |
DS-96xxN-SH Series Device | Restore local control panel of device | NET_DVR_UnLockPanel |
PTZ Control |  |  |
DS-96xxN-SH Series Device | PTZ control operation(start preview first) | NET_DVR_PTZControl |
DS-96xxN-SH Series Device | Start preview before PTZ control operation,and send command through preview connection(perfrom better than NET_DVR_PTZControl,while RTSP doesn't support this function at priview) | NET_DVR_PTZControl_EX |
DS-96xxN-SH Series Device | PTZ control operation(preview isn't essential) | NET_DVR_PTZControl_Other |
DS-96xxN-SH Series Device | PTZ control opertaion with speed(start preview first) | NET_DVR_PTZControlWithSpeed |
DS-96xxN-SH Series Device | PTZ control opertaion with speed(preview isn't essential) | NET_DVR_PTZControlWithSpeed_Other |
DS-96xxN-SH Series Device | PTZ preset point operation(start preview first) | NET_DVR_PTZPreset |
DS-96xxN-SH Series Device | Start preview before PTZ preset point operation,and send command through preview connection(perform better than NET_DVR_PTZPreset,RTSP doesn't support this function at preview) | NET_DVR_PTZPreset_EX |
DS-96xxN-SH Series Device | PTZ preset point operation | NET_DVR_PTZPreset_Other |
DS-96xxN-SH Series Device | Start preview before PTZ cruise operation | NET_DVR_PTZCruise |
DS-96xxN-SH Series Device | Start preview before PTZ cruise operation,and send command through preview connection(perform better than NET_DVR_PTZCruise,RTSP doesn't support this function at preview) | NET_DVR_PTZCruise_EX |
DS-96xxN-SH Series Device | PTZ cruise operation | NET_DVR_PTZCruise_Other |
DS-96xxN-SH Series Device | Start preview first before PTZ track operation | NET_DVR_PTZTrack |
DS-96xxN-SH Series Device | Start preview first before PTZ track operation,and send command through preview connection(perform better than NET_DVR_PTZTrack,RTSP doesn't support this function at preview) | NET_DVR_PTZTrack_EX |
DS-96xxN-SH Series Device | PTZ track operation | NET_DVR_PTZTrack_Other |
DS-96xxN-SH Series Device | Start preview first before transparent PTZ operation | NET_DVR_TransPTZ |
DS-96xxN-SH Series Device | Start preview first before transparent PTZ operation,and send command through preview connection(perform better than NET_DVR_TransPTZ,RTSP doesn't support this function at preview) | NET_DVR_TransPTZ_EX |
DS-96xxN-SH Series Device | Transparent PTZ operation | NET_DVR_TransPTZ_Other |
Voice Talking, Forward and Broadcast |  |  |
DS-96xxN-SH Series Device | Start voice talking | NET_DVR_StartVoiceCom_V30 |
DS-96xxN-SH Series Device | Set volume of voice talking in client | NET_DVR_SetVoiceComClientVolume |
DS-96xxN-SH Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
DS-96xxN-SH Series Device | Start voice talking,get encoded audio data | NET_DVR_StartVoiceCom_MR_V30 |
DS-96xxN-SH Series Device | Forward audio data | NET_DVR_VoiceComSendData |
DS-96xxN-SH Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
DS-96xxN-SH Series Device | Start voice capture of voice broadcast in PC | NET_DVR_ClientAudioStart_V30 |
DS-96xxN-SH Series Device | Add device channel to broadcast group receiving voice in PC | NET_DVR_AddDVR_V30 |
DS-96xxN-SH Series Device | Delete voice channel of this device from broadcast group that can receive PC voice | NET_DVR_DelDVR_V30 |
DS-96xxN-SH Series Device | Stop voice capture of voice broadcast in PC | NET_DVR_ClientAudioStop |
Transparent Channel |  |  |
DS-96xxN-SH Series Device | Establish transparent channel | NET_DVR_SerialStart |
DS-96xxN-SH Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
DS-96xxN-SH Series Device | Disconnect transparent channel | NET_DVR_SerialStop |
Send Data to Serial Port |  |  |
DS-96xxN-SH Series Device | Establish transparent channel | NET_DVR_SerialStart |
DS-96xxN-SH Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
Harddisk Management |  |  |
DS-96xxN-SH Series Device | Format device harddisk remotely | NET_DVR_FormatDisk |
DS-96xxN-SH Series Device | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
DS-96xxN-SH Series Device | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
DS-96xxN-SH Series Device | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
DS-96xxN-SH Series Device | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
DS-96xxN-SH Series Device | Remote upgrade | NET_DVR_Upgrade |
DS-96xxN-SH Series Device | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
DS-96xxN-SH Series Device | Get state of remote upgrade | NET_DVR_GetUpgradeState |
DS-96xxN-SH Series Device | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
DS-96xxN-SH Series Device | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
DS-96xxN-SH Series Device | Get searched log one by one | NET_DVR_FindNextLog_V30 |
DS-96xxN-SH Series Device | Release resource for searching log | NET_DVR_FindLogClose_V30 |
DS-96xxN-SH Series Device | Restore default settings of device | NET_DVR_RestoreConfig |
DS-96xxN-SH Series Device | Export configuration file and save in buffer | NET_DVR_GetConfigFile_V30 |
DS-96xxN-SH Series Device | Export configuration file | NET_DVR_GetConfigFile_EX |
DS-96xxN-SH Series Device | Export configuration file and save as a binary file | NET_DVR_GetConfigFile |
DS-96xxN-SH Series Device | Import configuration file from buffer | NET_DVR_SetConfigFile_EX |
DS-96xxN-SH Series Device | Import configuration file from a binary file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
DS-96xxN-SH Series Device | Reboot device | NET_DVR_RebootDVR |
DS-96xxN-SH Series Device | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
DS-96xxN-SH Series Device | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
DS-96xxN-SH Series Device | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
DS-96xxN-SH Series Device | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
DS-96xxN-SH Series Device | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
DS-96xxN-SH Series Device | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
DS-96xxN-SH Series Device | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
DS-96xxN-SH Series Device | Get picture parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
DS-96xxN-SH Series Device | Set picture parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
DS-96xxN-SH Series Device | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
DS-96xxN-SH Series Device | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
DS-96xxN-SH Series Device | Get video parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
DS-96xxN-SH Series Device | Set video parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
DS-96xxN-SH Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
DS-96xxN-SH Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
DS-96xxN-SH Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
DS-96xxN-SH Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
DS-96xxN-SH Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
DS-96xxN-SH Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
DS-96xxN-SH Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
DS-96xxN-SH Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
DS-96xxN-SH Series Device | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-96xxN-SH Series Device | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-96xxN-SH Series Device | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-96xxN-SH Series Device | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-96xxN-SH Series Device | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
DS-96xxN-SH Series Device | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
DS-96xxN-SH Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
DS-96xxN-SH Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
DS-96xxN-SH Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
DS-96xxN-SH Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
DS-96xxN-SH Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
DS-96xxN-SH Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
DS-96xxN-SH Series Device | Get parameter of time zone and DST | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
DS-96xxN-SH Series Device | Set parameter of time zone and DST | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
DS-96xxN-SH Series Device | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
DS-96xxN-SH Series Device | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
DS-96xxN-SH Series Device | Get parameter of assistant output triggered by alarm | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
DS-96xxN-SH Series Device | Set parameter of assistant output triggered by alarm | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
DS-96xxN-SH Series Device | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
DS-96xxN-SH Series Device | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
DS-96xxN-SH Series Device | Get parameter of network application(NTP) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
DS-96xxN-SH Series Device | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
DS-96xxN-SH Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
DS-96xxN-SH Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
DS-96xxN-SH Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
DS-96xxN-SH Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
DS-96xxN-SH Series Device | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
DS-96xxN-SH Series Device | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
DS-96xxN-SH Series Device | Get configuration parameter of IP access | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IPPARACFG_V31
DS-96xxN-SH Series Device | Set configuration parameter of IP access | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IPPARACFG_V31
DS-96xxN-SH Series Device | Get configuration parameter of IP alarm-input | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IPALARMINCFG
DS-96xxN-SH Series Device | Set configuration parameter of IP alarm-input | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IPALARMINCFG
DS-96xxN-SH Series Device | Get configuration parameter of IP access about alarm-output | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IPALARMOUTCFG
DS-96xxN-SH Series Device | Set configuration parameter of IP access about alarm-output | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IPALARMOUTCFG
DS-96xxN-SH Series Device | Get parameter of harddisk management | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
DS-96xxN-SH Series Device | Set parameter of harddisk management | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
DS-96xxN-SH Series Device | Get parameter of diskpack management | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_HDGROUP_CFG
DS-96xxN-SH Series Device | Set parameter of diskpack management | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_HDGROUP_CFG
DS-96xxN-SH Series Device | Get audio parameter of voice talking | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
DS-96xxN-SH Series Device | Set audio parameter of voice talking | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
DS-96xxN-SH Series Device | Get access parameter of network harddisk | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
DS-96xxN-SH Series Device | Set access parameter of network harddisk | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
DS-96xxN-SH Series Device | Get device parameter(Extension) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40
DS-96xxN-SH Series Device | Set device parameter(Extension) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40
DS-96xxN-SH Series DeviceV1..2(included) and Higher | Get compression parameter of zero-channel | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZEROCHANCFG
DS-96xxN-SH Series DeviceV1..2(included) and Higher | Set compression parameter of zero-channel | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZEROCHANCFG
DS-96xxN-SH Series DeviceV1..2(included) and Higher | Get local preview parameter of zero-channel | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-96xxN-SH Series DeviceV1..2(included) and Higher | Set local preview parameter of zero-channel | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
DS-96xxN-SH Series DeviceV1..2(included) and Higher | Get zoom parameter of zero-channel | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZERO_ZOOMCFG
DS-96xxN-SH Series DeviceV1..2(included) and Higher | Set zoom parameter of zero-channel | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZERO_ZOOMCFG
DS-96xxN-SH Series Device | Get alarm-output of device | NET_DVR_GetAlarmOut_V30 |
DS-96xxN-SH Series Device | Set alarm-output of device | NET_DVR_SetAlarmOut |
DS-96xxN-SH Series Device | Get PTZ protocol supported by device | NET_DVR_GetPTZProtocol |
DS-96xxN-SH Series Device | Get zoom information of video output | NET_DVR_GetScaleCFG_V30 |
DS-96xxN-SH Series Device | Set zoom information of video output | NET_DVR_SetScaleCFG_V30 |
Get Device Capacity |  |  |
DS-96xxN-SH Series Device | Get device capacity | NET_DVR_GetDeviceAbility | Capacity types supported: COMPRESSIONCFG_ABILITY(Capacity of parameter compression)
Get IPC Protocol List |  |  |
DS-96xxN-SH Series Device | Get IPC protocol list supported by device | NET_DVR_GetIPCProtoList |
Remote Scanning and Modification of IPC Information |  |  |
DS-96xxN-SH Series Device | Remote scanning to get IPC information list | NET_DVR_GetSadpInfoList |
DS-96xxN-SH Series Device | Modify IPC inforamtion remotely | NET_DVR_UpdateSadpInfo |
Mail Test |  |  |
DS-96xxN-SH Series Device | Test whether configured Email can send or receive mails successfully | NET_DVR_StartEmailTest |
DS-96xxN-SH Series Device | Get progress of mail test | NET_DVR_GetEmailTestProgress |
DS-96xxN-SH Series Device | Stop mail test | NET_DVR_StopEmailTest |

The table below gives the type of encoding and format of encapsulation, which are supported by device.
Device model | Format of encapsulation | Type of encoding | Remark
DS-96xx | PS | decided by front-end devices connected. |


Network Camera(IPC Series Device) Function Interface Introduction

Besides network camera(IPC Series Device) supports common interface,it also supports functions including preview,fetching video data,retrieving video file,playback and download,manual recording,alarm uploading,voice talking and remote parameter configuration and etc.

The IPC supported contains:

DS-2CD802/812/892P(N)-IR1(IR3)(IR5), DS-2CD802/812/892PF(NF)(-E)(-W)(-D), DS-2CD832F(-E), DS-2CD833F-E(W), DS-2CD893PFWD(NFWD)-E,
DS-2CD8133F-E(W)(I), DS-2CD726F-PT/DS-2CD727/728PF-PT(W), DS-2CD702/712/792PF(NF)(-E), DS-2CD732F(-E), DS-2CD733F-E(I), DS-2CD793PFWD(NFWD)-E(I),
DS-2CD793PF(NF)-E(I), DS-2CD7133-E, DS-2CD762MF, DS-2CD763PF(NF)-E(I), DS-2CD862MF-E, DS-2CD863PF(NF)-E(W), DS-2CD7153-E, DS-2CD8153F-E(W)(I), DS-2CD754F-E(I),
DS-2CD876BF, DS-2CD877BF, DS-2CD854F-E(W), etc.

Device Model | Function | Interface | Related Parameters
Related Function of Preview |  |  |
IPC Series Device | Set display mode of play | NET_DVR_SetShowMode |
IPC Series Device | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
IPC Series Device | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
IPC Series Device | Live preview | NET_DVR_RealPlay_V30 |
IPC Series Device | Live preview | NET_DVR_RealPlay |
IPC Series Device | Stop preview | NET_DVR_StopRealPlay |
IPC Series Device | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
IPC Series Device | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
IPC Series Device | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
IPC Series Device | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
IPC Series Device | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
IPC Series Device | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
IPC Series Device | Set audio play mode | NET_DVR_SetAudioMode |
IPC Series Device | Open sound in exclusive audio-card mode | NET_DVR_OpenSound |
IPC Series Device | Close sound in exclusive audio-card mode | NET_DVR_CloseSound |
IPC Series Device | Open sound in shared audio-card mode | NET_DVR_OpenSoundShare |
IPC Series Device | Close sound in shared audio-card mode | NET_DVR_CloseSoundShare |
IPC Series Device | Adjust play volume | NET_DVR_Volume |
IPC Series Device | Initialize display device in system | NET_DVR_InitDDrawDevice |
IPC Series Device | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
IPC Series Device | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
IPC Series Device | Set video card used by play window | NET_DVR_SetDDrawDevice |
IPC Series Device | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
IPC Series Device | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
IPC Series Device | Capture data and store into appointed file | NET_DVR_SaveRealData |
IPC Series Device | Stop data capture | NET_DVR_StopSaveRealData |
IPC Series Device | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
IPC Series Device | Capture single-frame data and save as JPEG | NET_DVR_CaptureJPEGPicture |
IPC Series Device | Capture single-frame data,save as JPEG and store into appointed memory space | NET_DVR_CaptureJPEGPicture_NEW |
Related Function of Video File Operation |  |  |
IPC Series Device | Search video file by file type,time | NET_DVR_FindFile_V30 | NET_DVR_FILECOND Not support searching by card number and inquery of locked video file
IPC Series Device | Get searched file one by one | NET_DVR_FindNextFile_V30 | NET_DVR_FINDDATA_V30 Not support searching by card number and inquery of locked video file
IPC Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
Playback Video File and Others Related |  |  |
IPC Series Device | Playback video file by file name | NET_DVR_PlayBackByName |
IPC Series Device | Playback video file by time | NET_DVR_PlayBackByTime |
IPC Series Device | Control state of video playback | NET_DVR_PlayBackControl |
IPC Series Device | Control state of video playback | NET_DVR_PlayBackControl_V40 | Control command unsupported:NET_DVR_PLAYSETTIME, NET_DVR_PLAYGETTOTALLEN
IPC Series Device | Stop video playback | NET_DVR_StopPlayBack |
IPC Series Device | Capture video data for playback,and save as files | NET_DVR_PlayBackSaveData |
IPC Series Device | Stop saving video data | NET_DVR_StopPlayBackSave |
IPC Series Device | Register callback function,capture video data | NET_DVR_SetPlayDataCallBack |
IPC Series Device | Get OSD time at video playback | NET_DVR_GetPlayBackOsdTime |
IPC Series Device | Capture pictures at video playback,and store into files | NET_DVR_PlayBackCaptureFile |
IPC Series Device | Refresh playback window | NET_DVR_RefreshPlay |
IPC Series Device | Get play library handle used for decoding and playing at playback | NET_DVR_GetPlayBackPlayerIndex |
Video File Download and Others Related |  |  |
IPC Series Device | Download video files by name | NET_DVR_GetFileByName |
IPC Series Device | Download video files by time | NET_DVR_GetFileByTime |
IPC Series Device | Control state of video download | NET_DVR_PlayBackControl |
IPC Series Device | Stop downloading video files | NET_DVR_StopGetFile |
IPC Series Device | Get current download progress of video file | NET_DVR_GetDownloadPos |
Manual Recording |  |  |
IPC Series Device | Start device recording manually and remotely | NET_DVR_StartDVRRecord |
IPC Series Device | Stop device recording manually and remotely | NET_DVR_StopDVRRecord |
Arm, Disarm and Monitor |  |  |
IPC Series Device | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 | Only support COMM_ALARM: NET_DVR_ALARMINFO
IPC Series Device | Register callback function,receive device alarm and etc(callback IP address meanwhile,used to distinguish different devices) | NET_DVR_SetDVRMessCallBack | Only support COMM_ALARM: NET_DVR_ALARMINFO
IPC Series Device | Register callback function,receive device alarm and etc(callback login ID meanwhile,used to distinguish different devices) | NET_DVR_SetDVRMessCallBack_EX | Only support COMM_ALARM: NET_DVR_ALARMINFO
IPC Series Device | Register callback function,receive device alarm and etc(callback device IP address and port linking devices meanwhile,used to distinguish different devices) | NET_DVR_SetDVRMessCallBack_NEW | Only support COMM_ALARM: NET_DVR_ALARMINFO
IPC Series Device | Register callback function,receive device alarm and etc(callback device IP address and user data,used to distinguish different devices) | NET_DVR_SetDVRMessageCallBack | Only support COMM_ALARM: NET_DVR_ALARMINFO
IPC Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
IPC Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
IPC Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan |
IPC Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan |
IPC Series Device | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
IPC Series Device | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
IPC Series Device | Start monitoring,and receive alarm information uploaded by device automatically | NET_DVR_StartListen |
IPC Series Device | Stop monitoring | NET_DVR_StopListen |
PTZ Control |  |  |
IPC Series Device | PTZ control operation(start preview first) | NET_DVR_PTZControl |
IPC Series Device | Start preview before PTZ control operation,and send command through preview connection(perfrom better than NET_DVR_PTZControl,while RTSP doesn't support this function at priview) | NET_DVR_PTZControl_EX |
IPC Series Device | PTZ control operation(preview isn't essential) | NET_DVR_PTZControl_Other |
IPC Series Device | PTZ control opertaion with speed(start preview first) | NET_DVR_PTZControlWithSpeed |
IPC Series Device | PTZ control opertaion with speed(preview isn't essential) | NET_DVR_PTZControlWithSpeed_Other |
IPC Series Device | PTZ preset point operation(start preview first) | NET_DVR_PTZPreset |
IPC Series Device | Start preview before PTZ preset point operation,and send command through preview connection(perform better than NET_DVR_PTZPreset,RTSP doesn't support this function at preview) | NET_DVR_PTZPreset_EX |
IPC Series Device | PTZ preset point operation | NET_DVR_PTZPreset_Other |
IPC Series Device | Start preview before PTZ cruise operation | NET_DVR_PTZCruise |
IPC Series Device | Start preview before PTZ cruise operation,and send command through preview connection(perform better than NET_DVR_PTZCruise,RTSP doesn't support this function at preview) | NET_DVR_PTZCruise_EX |
IPC Series Device | PTZ cruise operation | NET_DVR_PTZCruise_Other |
IPC Series Device | Start preview first before PTZ track operation | NET_DVR_PTZTrack |
IPC Series Device | Start preview first before PTZ track operation,and send command through preview connection(perform better than NET_DVR_PTZTrack,RTSP doesn't support this function at preview) | NET_DVR_PTZTrack_EX |
IPC Series Device | PTZ track operation | NET_DVR_PTZTrack_Other |
IPC Series Device | Start preview first before transparent PTZ operation | NET_DVR_TransPTZ |
IPC Series Device | Start preview first before transparent PTZ operation,and send command through preview connection(perform better than NET_DVR_TransPTZ,RTSP doesn't support this function at preview) | NET_DVR_TransPTZ_EX |
IPC Series Device | Transparent PTZ operation | NET_DVR_TransPTZ_Other |
Voice Talking, Forward and Broadcast |  |  |
IPC Series Device | Start voice talking | NET_DVR_StartVoiceCom_V30 |
IPC Series Device | Start voice talking | NET_DVR_StartVoiceCom |
IPC Series Device | Set volume of voice talking in client | NET_DVR_SetVoiceComClientVolume |
IPC Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
IPC Series Device | Start voice talking,get encoded audio data | NET_DVR_StartVoiceCom_MR_V30 |
IPC Series Device | Start voice forwarding,get encoded audio data | NET_DVR_StartVoiceCom_MR |
IPC Series Device | Forward audio data | NET_DVR_VoiceComSendData |
IPC Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
IPC Series Device | Start voice capture of voice broadcast in PC | NET_DVR_ClientAudioStart_V30 |
IPC Series Device | Start voice capture of voice broadcast in PC | NET_DVR_ClientAudioStart |
IPC Series Device | Add device channel to broadcast group receiving voice in PC | NET_DVR_AddDVR_V30 |
IPC Series Device | Add device to broadcast group receiving voice in PC | NET_DVR_AddDVR |
IPC Series Device | Delete voice channel of this device from broadcast group that can receive PC voice | NET_DVR_DelDVR_V30 |
IPC Series Device | Delete device from broadcast group that can receive PC voice | NET_DVR_DelDVR |
IPC Series Device | Stop voice capture of voice broadcast in PC | NET_DVR_ClientAudioStop |
Transparent Channel |  |  |
IPC Series Device | Establish transparent channel | NET_DVR_SerialStart |
IPC Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
IPC Series Device | Disconnect transparent channel | NET_DVR_SerialStop |
Send Data to Serial Port |  |  |
IPC Series Device | Establish transparent channel | NET_DVR_SendToSerialPort |
IPC Series Device | Send data to serial port of device through transparent channel | NET_DVR_SendTo232Port |
Harddisk Management |  |  |
IPC Series Device | Format device harddisk remotely | NET_DVR_FormatDisk |
IPC Series Device | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
IPC Series Device | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
IPC Series Device | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
IPC Series Device | Get working state of device | NET_DVR_GetDVRWorkState |
IPC Series Device | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
IPC Series Device | Remote upgrade | NET_DVR_Upgrade |
IPC Series Device | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
IPC Series Device | Get state of remote upgrade | NET_DVR_GetUpgradeState |
IPC Series Device | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
IPC Series Device | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
IPC Series Device | Get searched log one by one | NET_DVR_FindNextLog_V30 |
IPC Series Device | Release resource for searching log | NET_DVR_FindLogClose_V30 |
IPC Series Device | Search device log information | NET_DVR_FindDVRLog |
IPC Series Device | Get searched log one by one | NET_DVR_FindNextLog |
IPC Series Device | Release resource for searching log | NET_DVR_FindLogClose |
IPC Series Device | Restore default settings of device | NET_DVR_RestoreConfig |
IPC Series Device | Export configuration file | NET_DVR_GetConfigFile_V30 |
IPC Series Device | Export configuration file | NET_DVR_GetConfigFile_EX |
IPC Series Device | Export configuration file | NET_DVR_GetConfigFile |
IPC Series Device | Import configuration file | NET_DVR_SetConfigFile_EX |
IPC Series Device | Import configuration file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
IPC Series Device | Reboot device | NET_DVR_RebootDVR |
IPC Series Device | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
IPC Series Device | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
IPC Series Device | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
IPC Series Device | Set device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40 Nonsupport:byZeroChanNum, bySupport, byEsataUseage, byIPCPlug, byRes
IPC Series Device | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40 NonsupportbyZeroChanNum, bySupport, byEsataUseage, byIPCPlug, byRes
IPC Series Device | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
IPC Series Device | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
IPC Series Device | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG
IPC Series Device | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG
IPC Series Device | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
IPC Series Device | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
IPC Series Device | Get picture parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PICCFG
IPC Series Device | Set picture parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PICCFG
IPC Series Device | Get picture parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_EX
IPC Series Device | Set picture parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_EX
IPC Series Device | Get picture parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
IPC Series Device | Set picture parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
IPC Series Device | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG
IPC Series Device | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG
IPC Series Device | Get video parameter triggered by event | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG
IPC Series Device | Set video parameter triggered by event | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG
IPC Series Device | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_EX
IPC Series Device | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_EX
IPC Series Device | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
IPC Series Device | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
IPC Series Device | Get video parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RECORD
IPC Series Device | Set video parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RECORD
IPC Series Device | Get video parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
IPC Series Device | Set video parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30 Video expired time and settings of redundant video unsupported
IPC Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG
IPC Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG
IPC Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
IPC Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
IPC Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG
IPC Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG
IPC Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
IPC Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
IPC Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG
IPC Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG
IPC Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
IPC Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
IPC Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG
IPC Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG
IPC Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
IPC Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
IPC Series Device | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
IPC Series Device | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
IPC Series Device | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
IPC Series Device | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30 byPreviewNumber, wSwitchTime, bySwitchSeqInvalid setting
IPC Series Device | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT Nonsupport:struVGAPara
IPC Series Device | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT Nonsupport:struVGAPara
IPC Series Device | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30 Nonsupport:struVGAPara, struMatrixPara
IPC Series Device | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30 Nonsupport:struVGAPara, struMatrixPara
IPC Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER
IPC Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER
IPC Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
IPC Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
IPC Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
IPC Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
IPC Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION
IPC Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION
IPC Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
IPC Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
IPC Series Device | Get parameter of time zone and DST | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
IPC Series Device | Set parameter of time zone and DST | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
IPC Series Device | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING
IPC Series Device | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING
IPC Series Device | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
IPC Series Device | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
IPC Series Device | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
IPC Series Device | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
IPC Series Device | Get parameter of network application(NTP) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
IPC Series Device | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
IPC Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA
IPC Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA
IPC Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_EX
IPC Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_EX
IPC Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
IPC Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
IPC Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG
IPC Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG
IPC Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
IPC Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
IPC Series Device | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
IPC Series Device | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
IPC Series Device | Get parameter of harddisk management | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
IPC Series Device | Set parameter of harddisk management | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_HDCFG
IPC Series Device | Get audio parameter of voice talking | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
IPC Series Device | Set audio parameter of voice talking | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
IPC Series Device | Get wireless parameter of IP monitor device | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_WIFI_CFG IPC Supporting WIFI
IPC Series Device | Set wireless parameter of IP monitor device | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_WIFI_CFG IPC Supporting WIFI
IPC Series Device | Get network interface parameter of IP monitoring device | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_WIFI_WORKMODE IPC Supporting WIFI
IPC Series Device | Set network interface parameter of IP monitoring device | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_WIFI_WORKMODE IPC Supporting WIFI
IPC Series Device | Get access parameter of network harddisk | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
IPC Series Device | Set access parameter of network harddisk | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NET_DISKCFG
IPC Series Device | Get CCD parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
IPC Series Device | Set CCD parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
IPC Series Device | Get alarm-output of device | NET_DVR_GetAlarmOut |
IPC Series Device | Get alarm-output of device | NET_DVR_GetAlarmOut_V30 |
IPC Series Device | Set alarm-output of device | NET_DVR_SetAlarmOut |
IPC Series Device | Get parameter of RTSP protocol | NET_DVR_GetRtspConfig |
IPC Series Device | Set parameter of RTSP protocol | NET_DVR_SetRtspConfig |
IPC Series Device | Get PTZ protocol supported by device | NET_DVR_GetPTZProtocol |
IPC Series Device | Get zoom information of video-output | NET_DVR_GetScaleCFG |
IPC Series Device | Get zoom information of video-output | NET_DVR_GetScaleCFG_V30 | Aux zoom unsupported: dwMinorScale
IPC Series Device | Set zoom information of video-output | NET_DVR_SetScaleCFG |
IPC Series Device | Set zoom information of video-output | NET_DVR_SetScaleCFG_V30 | Aux zoom unsupported: dwMinorScale
Get IPC Protocol List Supported by Device |  |  |
Get Device Capacity |  |  |
IPC Series Device | Get device capacity | NET_DVR_GetDeviceAbility | Capacity types supported:DEVICE_ALL_ABILITY, IPC_FRONT_PARAMETER, DEVICE_SOFTHARDWARE_ABILITY, DEVICE_NETWORK_ABILITY, DEVICE_ENCODE_ALL_ABILITY, DEVICE_ENCONE_CURRENT, Supporting IPC: 886, 876, 877, 976;754, 854, 883;863, 893, 833, 8153, 853, 763, 793, 733, 7153, 753 and etc.
The table below gives the type of encoding and format of encapsulation, which are supported by device.The table below gives the type of encoding and format of encapsulation, which are supported by device.
Device model | Format of encapsulation | Type of encoding | Remark
DS-2CD876 | RTP | Standard H264 or MJPEG | Type of encodeing decied by capbility of device
DS-2CD883 | RTP | Standard H264 or MJPEG | Type of encodeing decied by capbility of device


Intelligent Traffic Camera Function Interface Introduction

Besides intelligent traffic camera supports common interfaces,it also supports functions including preview,fetching video data,alarm uploading and remote configuration,etc.

Device Model | Function | Interface | Related Parameters
Related Function of Preview |  |  |
Intelligent Traffic Camera | Set display mode of play | NET_DVR_SetShowMode |
Intelligent Traffic Camera | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
Intelligent Traffic Camera | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
Intelligent Traffic Camera | Live preview | NET_DVR_RealPlay_V30 |
Intelligent Traffic Camera | Live preview | NET_DVR_RealPlay |
Intelligent Traffic Camera | Stop preview | NET_DVR_StopRealPlay |
Intelligent Traffic Camera | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
Intelligent Traffic Camera | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
Intelligent Traffic Camera | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
Intelligent Traffic Camera | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
Intelligent Traffic Camera | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
Intelligent Traffic Camera | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
Intelligent Traffic Camera | Initialize display device in system | NET_DVR_InitDDrawDevice |
Intelligent Traffic Camera | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
Intelligent Traffic Camera | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
Intelligent Traffic Camera | Set video card used by play window | NET_DVR_SetDDrawDevice |
Intelligent Traffic Camera | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
Intelligent Traffic Camera | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
Intelligent Traffic Camera | Capture data and store into appointed file | NET_DVR_SaveRealData |
Intelligent Traffic Camera | Stop data capture | NET_DVR_StopSaveRealData |
Intelligent Traffic Camera | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
Arm, Disarm and Monitor |  |  |
Intelligent Traffic Camera | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 | Only support COMM_UPLOAD_PLATE_RESULT: NET_DVR_PLATE_RESULT
Intelligent Traffic Camera | Establish alarm upload channel, get alarm information. | NET_DVR_SetupAlarmChan_V41 |
Intelligent Traffic Camera | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
Intelligent Traffic Camera | Start listen, receive device alarm(multi-thread) | NET_DVR_StartListen_V30 | COMM_ITC_STATUS_DETECT_RESULT： NET_ITC_STATUS_DETECT_RESULT
Intelligent Traffic Camera | Stop listen(multi-thread) | NET_DVR_StopListen_V30 |
Harddisk Management |  |  |
Intelligent Traffic Camera | Format device harddisk remotely | NET_DVR_FormatDisk |
Intelligent Traffic Camera | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
Intelligent Traffic Camera | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
Intelligent Traffic Camera | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
Intelligent Traffic Camera | Get working state of device | NET_DVR_GetDVRWorkState |
Intelligent Traffic Camera | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
Intelligent Traffic Camera | Remote upgrade | NET_DVR_Upgrade |
Intelligent Traffic Camera | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
Intelligent Traffic Camera | Get state of remote upgrade | NET_DVR_GetUpgradeState |
Intelligent Traffic Camera | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
Intelligent Traffic Camera | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
Intelligent Traffic Camera | Get searched log one by one | NET_DVR_FindNextLog_V30 |
Intelligent Traffic Camera | Release resource for searching log | NET_DVR_FindLogClose_V30 |
Intelligent Traffic Camera | Search device log information | NET_DVR_FindDVRLog |
Intelligent Traffic Camera | Get searched log one by one | NET_DVR_FindNextLog |
Intelligent Traffic Camera | Release resource for searching log | NET_DVR_FindLogClose |
Intelligent Traffic Camera | Restore default settings of device | NET_DVR_RestoreConfig |
Intelligent Traffic Camera | Export configuration file | NET_DVR_GetConfigFile_V30 |
Intelligent Traffic Camera | Export configuration file | NET_DVR_GetConfigFile_EX |
Intelligent Traffic Camera | Export configuration file | NET_DVR_GetConfigFile |
Intelligent Traffic Camera | Import configuration file | NET_DVR_SetConfigFile_EX |
Intelligent Traffic Camera | Import configuration file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
Intelligent Traffic Camera | Reboot device | NET_DVR_RebootDVR |
Intelligent Traffic Camera | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
Intelligent Traffic Camera | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
Intelligent Traffic Camera | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
Intelligent Traffic Camera | Set device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40 Not support byZeroChanNum, bySupport, byEsataUseage, byIPCPlug, byRes
Intelligent Traffic Camera | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40 Not support byZeroChanNum, bySupport, byEsataUseage, byIPCPlug, byRes
Intelligent Traffic Camera | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
Intelligent Traffic Camera | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
Intelligent Traffic Camera | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG
Intelligent Traffic Camera | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG
Intelligent Traffic Camera | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
Intelligent Traffic Camera | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
Intelligent Traffic Camera | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG
Intelligent Traffic Camera | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG
Intelligent Traffic Camera | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_EX
Intelligent Traffic Camera | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_EX
Intelligent Traffic Camera | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
Intelligent Traffic Camera | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
Intelligent Traffic Camera | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG
Intelligent Traffic Camera | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG
Intelligent Traffic Camera | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
Intelligent Traffic Camera | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
Intelligent Traffic Camera | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG
Intelligent Traffic Camera | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG
Intelligent Traffic Camera | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
Intelligent Traffic Camera | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
Intelligent Traffic Camera | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
Intelligent Traffic Camera | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
Intelligent Traffic Camera | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
Intelligent Traffic Camera | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30 byPreviewNumber, wSwitchTime, bySwitchSeqInvalid setting
Intelligent Traffic Camera | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT Not support struVGAPara
Intelligent Traffic Camera | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT Not support struVGAPara
Intelligent Traffic Camera | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30 Not support struVGAPara, struMatrixPara
Intelligent Traffic Camera | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30 Not support struVGAPara, struMatrixPara
Intelligent Traffic Camera | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER
Intelligent Traffic Camera | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER
Intelligent Traffic Camera | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
Intelligent Traffic Camera | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
Intelligent Traffic Camera | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
Intelligent Traffic Camera | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
Intelligent Traffic Camera | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION
Intelligent Traffic Camera | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION
Intelligent Traffic Camera | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
Intelligent Traffic Camera | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
Intelligent Traffic Camera | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING
Intelligent Traffic Camera | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING
Intelligent Traffic Camera | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
Intelligent Traffic Camera | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
Intelligent Traffic Camera | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
Intelligent Traffic Camera | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
Intelligent Traffic Camera | Get parameter of network application(NTP) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
Intelligent Traffic Camera | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
Intelligent Traffic Camera | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA
Intelligent Traffic Camera | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA
Intelligent Traffic Camera | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_EX
Intelligent Traffic Camera | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_EX
Intelligent Traffic Camera | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
Intelligent Traffic Camera | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
Intelligent Traffic Camera | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG
Intelligent Traffic Camera | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG
Intelligent Traffic Camera | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
Intelligent Traffic Camera | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
Intelligent Traffic Camera | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
Intelligent Traffic Camera | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
Intelligent Traffic Camera | Get CCD parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
Intelligent Traffic Camera | Set CCD parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
Intelligent Traffic Camera | Get uploading parameter of FTP | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_GET_FTPCFG
Intelligent Traffic Camera | Set uploading parameter of FTP | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_GET_FTPCFG
Intelligent Traffic Camera | Get CCD parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
Intelligent Traffic Camera | Set CCD parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
Intelligent Traffic Camera | Get input parameter of IO | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IO_INCFG
Intelligent Traffic Camera | Set input parameter of IO | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IO_INCFG
Intelligent Traffic Camera | Get output parameter of IO | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IO_OUTCFG
Intelligent Traffic Camera | Set output parameter of IO | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IO_OUTCFG
Intelligent Traffic Camera | Get parameter of flashlight | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_FLASH_OUTCFG
Intelligent Traffic Camera | Set parameter of flashlight | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_FLASH_OUTCFG
Intelligent Traffic Camera | Get function parameter of red-green light | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_LIGHTSNAPCFG
Intelligent Traffic Camera | Set function parameter of red-green light | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_LIGHTSNAPCFG
Intelligent Traffic Camera | Get function parameter of speed measure | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_MEASURESPEEDCFG
Intelligent Traffic Camera | Set function parameter of speed measure | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_MEASURESPEEDCFG
Intelligent Traffic Camera | Get picture overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IMAGEOVERLAYCFG
Intelligent Traffic Camera | Set picture overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IMAGEOVERLAYCFG
Intelligent Traffic Camera | Get function parameter of single IO trigger | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SNAPCFG
Intelligent Traffic Camera | Set function parameter of single IO trigger | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SNAPCFG
Intelligent Traffic Camera | Get parameter of virtual loops | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VTPARAM
Intelligent Traffic Camera | Set parameter of virtual loops | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VTPARAM
Intelligent Traffic Camera | Get enable parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SNAPENABLECFG
Intelligent Traffic Camera | Set enable parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SNAPENABLECFG
Intelligent Traffic Camera | Get parameter of post electronic police | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_POSTEPOLICECFG
Intelligent Traffic Camera | Set parameter of post electronic police | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_POSTEPOLICECFG
Intelligent Traffic Camera | Get JPEG parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_JPEGCFG_V30
Intelligent Traffic Camera | Set JPEG parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_JPEGCFG_V30
Intelligent Traffic Camera | Get parameter of license plate recognition | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SPRCFG
Intelligent Traffic Camera | Set parameter of license plate recognition | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SPRCFG
Intelligent Traffic Camera | Get light conpensation parameter of license plate | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PLCCFG
Intelligent Traffic Camera | Set light conpensation parameter of license plate | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PLCCFG
Intelligent Traffic Camera | Get state parameter of device | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICESTATECFG
Intelligent Traffic Camera | Set state parameter of device | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICESTATECFG
Intelligent Traffic Camera | Get zoom information of video output | NET_DVR_GetScaleCFG |
Intelligent Traffic Camera | Get zoom information of video output | NET_DVR_GetScaleCFG_V30 | Not support aux-zoom: dwMinorScale
Intelligent Traffic Camera | Set zoom information of video output | NET_DVR_SetScaleCFG |
Intelligent Traffic Camera | Set zoom information of video output | NET_DVR_SetScaleCFG_V30 | Not support aux-zoom: dwMinorScale
Snapshot |  |  |
Intelligent Traffic Camera | Snapshot which is triggered by net | NET_DVR_ContinuousShoot |
Get device capacity |  |  |
Intelligent Traffic Camera | Get device capacity | NET_DVR_GetDeviceAbility | Capacity types supported:DEVICE_ALL_ABILITY, DEVICE_SOFTHARDWARE_ABILITY, DEVICE_NETWORK_ABILITY, DEVICE_ENCODE_ALL_ABILITY, DEVICE_ENCONE_CURRENT, IPC_FRONT_PARAMETER, SNAPCAMERA_ABILITY


Intellectualized Behaviour Analysis Device Function Interface Introduction

Intellectualized behaviour analysis device not only supports common interfaces,but also interface functions,including preview,fetching video data,searching video file,playback and download,manual recording,alarm uploading,voice talking,remote parameter configuration and behaviour intelligence configuration and etc.

Device Type | Function | Interface | Related Parameter
Related Function of Preview |  |  |
iDS-6101HF Series Device | Set display mode of play | NET_DVR_SetShowMode |
iDS-6101HF Series Device | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
iDS-6101HF Series Device | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
iDS-6101HF Series Device | Live preview | NET_DVR_RealPlay_V30 |
iDS-6101HF Series Device | Stop preview | NET_DVR_StopRealPlay |
iDS-6101HF Series Device | Get player handles used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
iDS-6101HF Series Device | Get video parameter for displaying at preview | NET_DVR_ClientGetVideoEffect |
iDS-6101HF Series Device | Set video parameter for displaying at preview | NET_DVR_ClientSetVideoEffect |
iDS-6101HF Series Device | Overlap character and picture on preview frame | NET_DVR_RigisterDrawFun |
iDS-6101HF Series Device | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
iDS-6101HF Series Device | Set abandoned number of B frame during being decoded | NET_DVR_ThrowBFrame |
iDS-6101HF Series Device | Set voice play mode | NET_DVR_SetAudioMode |
iDS-6101HF Series Device | Open voice in exclusive audio-card mode | NET_DVR_OpenSound |
iDS-6101HF Series Device | Close voice in exclusive audio-card mode | NET_DVR_CloseSound |
iDS-6101HF Series Device | Open voice in shared audio-card mode | NET_DVR_OpenSoundShare |
iDS-6101HF Series Device | Close voice in shared audio-card mode | NET_DVR_CloseSoundShare |
iDS-6101HF Series Device | Adjust play volume | NET_DVR_Volume |
iDS-6101HF Series Device | Initialize display device in system | NET_DVR_InitDDrawDevice |
iDS-6101HF Series Device | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
iDS-6101HF Series Device | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
iDS-6101HF Series Device | Set video card used by play window | NET_DVR_SetDDrawDevice |
iDS-6101HF Series Device | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
iDS-6101HF Series Device | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
iDS-6101HF Series Device | Capture data and store into appointed file | NET_DVR_SaveRealData |
iDS-6101HF Series Device | Stop data capture | NET_DVR_StopSaveRealData |
iDS-6101HF Series Device | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
iDS-6101HF Series Device | Capture single-frame data and save as JPEG | NET_DVR_CaptureJPEGPicture |
iDS-6101HF Series Device | Capture single-frame data,save as JPEG and store into appointed memory space | NET_DVR_CaptureJPEGPicture_NEW |
Related Function of Video File Operation |  |  |
iDS-6101HF Series Device | Search video file by file type,time | NET_DVR_FindFile_V30 | NET_DVR_FILECOND(Not support searching by card number)
iDS-6101HF Series Device | Get searched file one by one | NET_DVR_FindNextFile_V30 |
iDS-6101HF Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
Playback Video File and Others Related |  |  |
iDS-6101HF Series Device | Playback video file by file name | NET_DVR_PlayBackByName |
iDS-6101HF Series Device | Playback video file by time | NET_DVR_PlayBackByTime |
iDS-6101HF Series Device | Control state of video playback | NET_DVR_PlayBackControl |
iDS-6101HF Series Device | Control state of video playback | NET_DVR_PlayBackControl_V40 | NET_DVR_PLAYSETTIME control nonsupport NET_DVR_PLAYGETTOTALLEN control nonsupport
iDS-6101HF Series Device | Stop video playback | NET_DVR_StopPlayBack |
iDS-6101HF Series Device | Capture video data for playback,and save as files | NET_DVR_PlayBackSaveData |
iDS-6101HF Series Device | Stop saving video data | NET_DVR_StopPlayBackSave |
iDS-6101HF Series Device | Register callback function,capture video data | NET_DVR_SetPlayDataCallBack |
iDS-6101HF Series Device | Get OSD time at video playback | NET_DVR_GetPlayBackOsdTime |
iDS-6101HF Series Device | >Capture pictures at video playback,and store into files | NET_DVR_PlayBackCaptureFile |
iDS-6101HF Series Device | Refresh playback window | NET_DVR_RefreshPlay |
iDS-6101HF Series Device | Get play library handle used for decoding and playing at playback | NET_DVR_GetPlayBackPlayerIndex |
Video File Download and Others Related |  |  |
iDS-6101HF Series Device | Download video files by name | NET_DVR_GetFileByName |
iDS-6101HF Series Device | Download video files by time | NET_DVR_GetFileByTime |
iDS-6101HF Series Device | Control state of video download | NET_DVR_PlayBackControl |
iDS-6101HF Series Device | Stop downloading video files | NET_DVR_StopGetFile |
iDS-6101HF Series Device | Get current download progress of video file | NET_DVR_GetDownloadPos |
Lock and Unlock Video Files |  |  |
iDS-6101HF Series Device | Lock video file by name | NET_DVR_LockFileByName |
iDS-6101HF Series Device | Unlock video file by name | NET_DVR_UnlockFileByName |
Manual Recording |  |  |
iDS-6101HF Series Device | Start device recording manually and remotely | NET_DVR_StartDVRRecord |
iDS-6101HF Series Device | Stop device recording manually and remotely | NET_DVR_StopDVRRecord |
Arm, Disarm and Monitor |  |  |
iDS-6101HF Series Device | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 |
iDS-6101HF Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
iDS-6101HF Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
iDS-6101HF Series Device | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
iDS-6101HF Series Device | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
Remote Control Panel |  |  |
iDS-6101HF Series Device | Button of remote control panel | NET_DVR_ClickKey |
iDS-6101HF Series Device | Forbid local control panel of device | NET_DVR_LockPanel |
iDS-6101HF Series Device | Restore local control panel of device | NET_DVR_UnLockPanel |
PTZ Control |  |  |
iDS-6101HF Series Device | PTZ control operation(start preview first) | NET_DVR_PTZControl |
iDS-6101HF Series Device | Start preview before PTZ control operation,and send command through preview connection(perfrom better than NET_DVR_PTZControl,while RTSP doesn't support this function at priview) | NET_DVR_PTZControl_EX |
iDS-6101HF Series Device | PTZ control operation(preview isn't essential) | NET_DVR_PTZControl_Other |
iDS-6101HF Series Device | PTZ control opertaion with speed(start preview first) | NET_DVR_PTZControlWithSpeed |
iDS-6101HF Series Device | PTZ control opertaion with speed(preview isn't essential) | NET_DVR_PTZControlWithSpeed_Other |
iDS-6101HF Series Device | PTZ preset point operation(start preview first) | NET_DVR_PTZPreset |
iDS-6101HF Series Device | Start preview before PTZ preset point operation,and send command through preview connection(perform better than NET_DVR_PTZPreset,RTSP doesn't support this function at preview) | NET_DVR_PTZPreset_EX |
iDS-6101HF Series Device | PTZ preset point operation | NET_DVR_PTZPreset_Other |
iDS-6101HF Series Device | Start preview before PTZ cruise operation | NET_DVR_PTZCruise |
iDS-6101HF Series Device | Start preview before PTZ cruise operation,and send command through preview connection(perform better than NET_DVR_PTZCruise,RTSP doesn't support this function at preview) | NET_DVR_PTZCruise_EX |
iDS-6101HF Series Device | PTZ cruise operation | NET_DVR_PTZCruise_Other |
iDS-6101HF Series Device | Start preview first before PTZ track operation | NET_DVR_PTZTrack |
iDS-6101HF Series Device | Start preview first before PTZ track operation,and send command through preview connection(perform better than NET_DVR_PTZTrack,RTSP doesn't support this function at preview) | NET_DVR_PTZTrack_EX |
iDS-6101HF Series Device | PTZ track operation | NET_DVR_PTZTrack_Other |
iDS-6101HF Series Device | Start preview first before transparent PTZ operation | NET_DVR_TransPTZ |
iDS-6101HF Series Device | Start preview first before transparent PTZ operation,and send command through preview connection(perform better than NET_DVR_TransPTZ,RTSP doesn't support this function at preview) | NET_DVR_TransPTZ_EX |
iDS-6101HF Series Device | Transparent PTZ operation | NET_DVR_TransPTZ_Other |
Voice Talking, Forward and Broadcast |  |  |
iDS-6101HF Series Device | Start voice talking | NET_DVR_StartVoiceCom_V30 |
iDS-6101HF Series Device | Set volume of voice talking in client | NET_DVR_SetVoiceComClientVolume |
iDS-6101HF Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
iDS-6101HF Series Device | Start voice talking,get encoded audio data | NET_DVR_StartVoiceCom_MR_V30 |
iDS-6101HF Series Device | Forward audio data | NET_DVR_VoiceComSendData |
iDS-6101HF Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
iDS-6101HF Series Device | Start voice capture of voice broadcast in PC | NET_DVR_ClientAudioStart_V30 |
iDS-6101HF Series Device | Add device channel to broadcast group receiving voice in PC | NET_DVR_AddDVR_V30 |
iDS-6101HF Series Device | Delete voice channel of this device from broadcast group that can receive PC voice | NET_DVR_DelDVR_V30 |
iDS-6101HF Series Device | Stop voice capture of voice broadcast in PC | NET_DVR_ClientAudioStop |
Transparent Channel |  |  |
iDS-6101HF Series Device | Establish transparent channel | NET_DVR_SerialStart |
iDS-6101HF Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
iDS-6101HF Series Device | Disconnect transparent channel | NET_DVR_SerialStop |
Send Data to Serial Port |  |  |
iDS-6101HF Series Device | Establish transparent channel | NET_DVR_SerialStart |
iDS-6101HF Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
Harddisk Management |  |  |
iDS-6101HF Series Device | Format device harddisk remotely | NET_DVR_FormatDisk |
iDS-6101HF Series Device | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
iDS-6101HF Series Device | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
iDS-6101HF Series Device | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
iDS-6101HF Series Device | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
iDS-6101HF Series Device | Remote upgrade | NET_DVR_Upgrade |
iDS-6101HF Series Device | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
iDS-6101HF Series Device | Get state of remote upgrade | NET_DVR_GetUpgradeState |
iDS-6101HF Series Device | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
iDS-6101HF Series Device | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
iDS-6101HF Series Device | Get searched log one by one | NET_DVR_FindNextLog_V30 |
iDS-6101HF Series Device | Release resource for searching log | NET_DVR_FindLogClose_V30 |
iDS-6101HF Series Device | Restore default settings of device | NET_DVR_RestoreConfig |
iDS-6101HF Series Device | Export configuration file and save in buffer | NET_DVR_GetConfigFile_V30 |
iDS-6101HF Series Device | Export configuration file | NET_DVR_GetConfigFile_EX |
iDS-6101HF Series Device | Export configuration file and save as a binary file | NET_DVR_GetConfigFile |
iDS-6101HF Series Device | Import configuration file from buffer | NET_DVR_SetConfigFile_EX |
iDS-6101HF Series Device | Import configuration file from a binary file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
iDS-6101HF Series Device | Reboot device | NET_DVR_RebootDVR |
iDS-6101HF Series Device | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
iDS-6101HF Series Device | Get alarm output of device | NET_DVR_GetAlarmOut_V30 |
iDS-6101HF Series Device | Set alarm output of device | NET_DVR_SetAlarmOut |
iDS-6101HF Series Device | Get zoom information of video output | NET_DVR_GetScaleCFG_V30 |
iDS-6101HF Series Device | Set zoom parameter of video output | NET_DVR_SetScaleCFG_V30 |
iDS-6101HF Series Device | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
iDS-6101HF Series Device | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
iDS-6101HF Series Device | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
iDS-6101HF Series Device | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
iDS-6101HF Series Device | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
iDS-6101HF Series Device | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
iDS-6101HF Series Device | Get picture parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
iDS-6101HF Series Device | Set picture parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
iDS-6101HF Series Device | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
iDS-6101HF Series Device | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
iDS-6101HF Series Device | Get video parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
iDS-6101HF Series Device | Set video parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
iDS-6101HF Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
iDS-6101HF Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
iDS-6101HF Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
iDS-6101HF Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
iDS-6101HF Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
iDS-6101HF Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
iDS-6101HF Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
iDS-6101HF Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
iDS-6101HF Series Device | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
iDS-6101HF Series Device | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
iDS-6101HF Series Device | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
iDS-6101HF Series Device | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
iDS-6101HF Series Device | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
iDS-6101HF Series Device | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
iDS-6101HF Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
iDS-6101HF Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
iDS-6101HF Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
iDS-6101HF Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
iDS-6101HF Series Device | Get parameter of time zone and DST | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
iDS-6101HF Series Device | Set parameter of time zone and DST | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
iDS-6101HF Series Device | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
iDS-6101HF Series Device | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
iDS-6101HF Series Device | Get parameter of assistant output triggered by alarm | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
iDS-6101HF Series Device | Set parameter of assistant output triggered by alarm | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
iDS-6101HF Series Device | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
iDS-6101HF Series Device | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
iDS-6101HF Series Device | Get parameter of network application(NTP) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
iDS-6101HF Series Device | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
iDS-6101HF Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
iDS-6101HF Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
iDS-6101HF Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
iDS-6101HF Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
iDS-6101HF Series Device | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
iDS-6101HF Series Device | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
iDS-6101HF Series Device | Get parameter of intellectualized control | NET_DVR_GetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iDS-6101HF Series Device | Set parameter of intellectualized control | NET_DVR_SetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iDS-6101HF Series Device | Get parameter of standardized information | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_CALIBRATION_CFG
iDS-6101HF Series Device | Set parameter of standardized information | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_CALIBRATION_CFG
iDS-6101HF Series Device | Get parameter of behaviour analysis | NET_DVR_GetDVRConfig | Configuration Parameter:NET_VCA_RULECFG
iDS-6101HF Series Device | Set parameter of behaviour analysis | NET_DVR_SetDVRConfig | Configuration Parameter:NET_VCA_RULECFG
iDS-6101HF Series Device | Get overlaping configuration parameter of intellectualized information DSP | NET_DVR_GetVCADrawMode |
iDS-6101HF Series Device | Set overlaping configuration parameter of intellectualized information DSP | NET_DVR_SetVCADrawMode |
iDS-6101HF Series Device | Get inner keyword parameter | NET_DVR_GetBehaviorParamKey |
iDS-6101HF Series Device | Set inner keyword parameter | NET_DVR_SetBehaviorParamKey |
Get Device Capability Group |  |  |
iDS-6101HF Series Device | Get device capability | NET_DVR_GetDeviceAbility | Capability types supported:VCA_DEV_ABILITY(intellectualized device capability), VCA_CHAN_ABILITY(intellectualized channel capability)
Standardized Verification |  |  |
iDS-6101HF Series Device | Standardized verification | NET_DVR_VerifyCalibration |
Reboot Intelligent Library |  |  |
iDS-6101HF Series Device | Reboot enable library | NET_VCA_RestartLib |


Intellectualized ATM Device Function Interface Introduction

Intellectualized ATM device not only supports common interfaces,but also supports functions,including preview,fetching video data,retrieving video file,playback,download,manual recording,alarm uploading,voice talking,remote parameter configuration and intellectualized parameter configuration,etc.

>
Device Model | Function | Interface | Related Parameters
Related Function of Preview |  |  |
iDS-6101HF/A Series Device | Set display mode of play | NET_DVR_SetShowMode |
iDS-6101HF/A Series Device | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
iDS-6101HF/A Series Device | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
iDS-6101HF/A Series Device | Live preview | NET_DVR_RealPlay_V30 |
iDS-6101HF/A Series Device | Stop preview | NET_DVR_StopRealPlay |
iDS-6101HF/A Series Device | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
iDS-6101HF/A Series Device | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
iDS-6101HF/A Series Device | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
iDS-6101HF/A Series Device | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
iDS-6101HF/A Series Device | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
iDS-6101HF/A Series Device | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
iDS-6101HF/A Series Device | Set audio play mode | NET_DVR_SetAudioMode |
iDS-6101HF/A Series Device | Open sound in exclusive audio-card mode | NET_DVR_OpenSound |
iDS-6101HF/A Series Device | Close sound in exclusive audio-card mode | NET_DVR_CloseSound |
iDS-6101HF/A Series Device | Open sound in shared audio-card mode | NET_DVR_OpenSoundShare |
iDS-6101HF/A Series Device | Close sound in shared audio-card mode | NET_DVR_CloseSoundShare |
iDS-6101HF/A Series Device | Adjust play volume | NET_DVR_Volume |
iDS-6101HF/A Series Device | Initialize display device in system | NET_DVR_InitDDrawDevice |
iDS-6101HF/A Series Device | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
iDS-6101HF/A Series Device | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
iDS-6101HF/A Series Device | Set video card used by play window | NET_DVR_SetDDrawDevice |
iDS-6101HF/A Series Device | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
iDS-6101HF/A Series Device | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
iDS-6101HF/A Series Device | Capture data and store into appointed file | NET_DVR_SaveRealData |
iDS-6101HF/A Series Device | Stop data capture | NET_DVR_StopSaveRealData |
iDS-6101HF/A Series Device | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
iDS-6101HF/A Series Device | Capture single-frame data and save as JPEG | NET_DVR_CaptureJPEGPicture |
iDS-6101HF/A Series Device | Capture single-frame data,save as JPEG and store into appointed memory space | NET_DVR_CaptureJPEGPicture_NEW |
Related Function of Video File Operation |  |  |
iDS-6101HF/A Series Device | Search video file by file type,time | NET_DVR_FindFile_V30 | NET_DVR_FILECOND(Not support searching by card number)
iDS-6101HF/A Series Device | Get searched file one by one | NET_DVR_FindNextFile_V30 |
iDS-6101HF/A Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
Playback Video File and Others Related |  |  |
iDS-6101HF/A Series Device | Playback video file by file name | NET_DVR_PlayBackByName |
iDS-6101HF/A Series Device | Playback video file by time | NET_DVR_PlayBackByTime |
iDS-6101HF/A Series Device | Control state of video playback | NET_DVR_PlayBackControl |
iDS-6101HF/A Series Device | Control state of video playback | NET_DVR_PlayBackControl_V40 | NET_DVR_PLAYSETTIME control nonsupport NET_DVR_PLAYGETTOTALLEN control nonsupport
iDS-6101HF/A Series Device | Stop video playback | NET_DVR_StopPlayBack |
iDS-6101HF/A Series Device | Capture video data for playback,and save as files | NET_DVR_PlayBackSaveData |
iDS-6101HF/A Series Device | Stop saving video data | NET_DVR_StopPlayBackSave |
iDS-6101HF/A Series Device | Register callback function,capture video data | NET_DVR_SetPlayDataCallBack |
iDS-6101HF/A Series Device | Get OSD time at video playback | NET_DVR_GetPlayBackOsdTime |
iDS-6101HF/A Series Device | Capture pictures at video playback,and store into files | NET_DVR_PlayBackCaptureFile |
iDS-6101HF/A Series Device | Refresh playback window | NET_DVR_RefreshPlay |
iDS-6101HF/A Series Device | Get play library handle used for decoding and playing at playback | NET_DVR_GetPlayBackPlayerIndex |
Video File Download and Others Related |  |  |
iDS-6101HF/A Series Device | Download video files by name | NET_DVR_GetFileByName |
iDS-6101HF/A Series Device | Download video files by time | NET_DVR_GetFileByTime |
iDS-6101HF/A Series Device | Control state of video download | NET_DVR_PlayBackControl |
iDS-6101HF/A Series Device | Stop downloading video files | NET_DVR_StopGetFile |
iDS-6101HF/A Series Device | Get current download progress of video file | NET_DVR_GetDownloadPos |
Lock and Unlock Video Files |  |  |
iDS-6101HF/A Series Device | Lock video file by name | NET_DVR_LockFileByName |
iDS-6101HF/A Series Device | Unlock video file by name | NET_DVR_UnlockFileByName |
Manual Recording |  |  |
iDS-6101HF/A Series Device | Start device recording manually and remotely | NET_DVR_StartDVRRecord |
iDS-6101HF/A Series Device | Stop device recording manually and remotely | NET_DVR_StopDVRRecord |
Arm, Disarm and Monitor |  |  |
iDS-6101HF/A Series Device | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 |
iDS-6101HF/A Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
iDS-6101HF/A Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
iDS-6101HF/A Series Device | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
iDS-6101HF/A Series Device | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
Remote Control Panel |  |  |
iDS-6101HF/A Series Device | Button of remote control panel | NET_DVR_ClickKey |
iDS-6101HF/A Series Device | Forbid local control panel of device | NET_DVR_LockPanel |
iDS-6101HF/A Series Device | Restore local control panel of device | NET_DVR_UnLockPanel |
PTZ Control |  |  |
iDS-6101HF/A Series Device | PTZ control operation(start preview first) | NET_DVR_PTZControl |
iDS-6101HF/A Series Device | Start preview before PTZ control operation,and send command through preview connection(perfrom better than NET_DVR_PTZControl,while RTSP doesn't support this function at priview) | NET_DVR_PTZControl_EX |
iDS-6101HF/A Series Device | PTZ control operation(preview isn't essential) | NET_DVR_PTZControl_Other |
iDS-6101HF/A Series Device | PTZ control opertaion with speed(start preview first) | NET_DVR_PTZControlWithSpeed |
iDS-6101HF/A Series Device | PTZ control opertaion with speed(preview isn't essential) | NET_DVR_PTZControlWithSpeed_Other |
iDS-6101HF/A Series Device | PTZ preset point operation(start preview first) | NET_DVR_PTZPreset |
iDS-6101HF/A Series Device | Start preview before PTZ preset point operation,and send command through preview connection(perform better than NET_DVR_PTZPreset,RTSP doesn't support this function at preview) | NET_DVR_PTZPreset_EX |
iDS-6101HF/A Series Device | PTZ preset point operation | NET_DVR_PTZPreset_Other |
iDS-6101HF/A Series Device | Start preview before PTZ cruise operation | NET_DVR_PTZCruise |
iDS-6101HF/A Series Device | Start preview before PTZ cruise operation,and send command through preview connection(perform better than NET_DVR_PTZCruise,RTSP doesn't support this function at preview) | NET_DVR_PTZCruise_EX |
iDS-6101HF/A Series Device | PTZ cruise operation | NET_DVR_PTZCruise_Other |
iDS-6101HF/A Series Device | Start preview first before PTZ track operation | NET_DVR_PTZTrack |
iDS-6101HF/A Series Device | Start preview first before PTZ track operation,and send command through preview connection(perform better than NET_DVR_PTZTrack,RTSP doesn't support this function at preview) | NET_DVR_PTZTrack_EX |
iDS-6101HF/A Series Device | PTZ track operation | NET_DVR_PTZTrack_Other |
iDS-6101HF/A Series Device | Start preview first before transparent PTZ operation | NET_DVR_TransPTZ |
iDS-6101HF/A Series Device | Start preview first before transparent PTZ operation,and send command through preview connection(perform better than NET_DVR_TransPTZ,RTSP doesn't support this function at preview) | NET_DVR_TransPTZ_EX |
iDS-6101HF/A Series Device | Transparent PTZ operation | NET_DVR_TransPTZ_Other |
Voice Talking, Forward and Broadcast |  |  |
iDS-6101HF/A Series Device | Start voice talking | NET_DVR_StartVoiceCom_V30 |
iDS-6101HF/A Series Device | Set volume of voice talking in client | NET_DVR_SetVoiceComClientVolume |
iDS-6101HF/A Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
iDS-6101HF/A Series Device | Start voice talking,get encoded audio data | NET_DVR_StartVoiceCom_MR_V30 |
iDS-6101HF/A Series Device | Forward audio data | NET_DVR_VoiceComSendData |
iDS-6101HF/A Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
iDS-6101HF/A Series Device | Start voice capture of voice broadcast in PC | NET_DVR_ClientAudioStart_V30 |
iDS-6101HF/A Series Device | Add device channel to broadcast group receiving voice in PC | NET_DVR_AddDVR_V30 |
iDS-6101HF/A Series Device | Delete voice channel of this device from broadcast group that can receive PC voice | NET_DVR_DelDVR_V30 |
iDS-6101HF/A Series Device | Stop voice capture of voice broadcast in PC | NET_DVR_ClientAudioStop |
Transparent Channel |  |  |
iDS-6101HF/A Series Device | Establish transparent channel | NET_DVR_SerialStart |
iDS-6101HF/A Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
iDS-6101HF/A Series Device | Disconnect transparent channel | NET_DVR_SerialStop |
Send Data to Serial Port |  |  |
iDS-6101HF/A Series Device | Establish transparent channel | NET_DVR_SerialStart |
iDS-6101HF/A Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
Harddisk Management |  |  |
iDS-6101HF/A Series Device | Format device harddisk remotely | NET_DVR_FormatDisk |
iDS-6101HF/A Series Device | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
iDS-6101HF/A Series Device | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
iDS-6101HF/A Series Device | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
iDS-6101HF/A Series Device | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
iDS-6101HF/A Series Device | Remote upgrade | NET_DVR_Upgrade |
iDS-6101HF/A Series Device | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
iDS-6101HF/A Series Device | Get state of remote upgrade | NET_DVR_GetUpgradeState |
iDS-6101HF/A Series Device | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
iDS-6101HF/A Series Device | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
iDS-6101HF/A Series Device | Get searched log one by one | NET_DVR_FindNextLog_V30 |
iDS-6101HF/A Series Device | Release resource for searching log | NET_DVR_FindLogClose_V30 |
iDS-6101HF/A Series Device | Restore default settings of device | NET_DVR_RestoreConfig |
iDS-6101HF/A Series Device | Export configuration file and save in buffer | NET_DVR_GetConfigFile_V30 |
iDS-6101HF/A Series Device | Export configuration file | NET_DVR_GetConfigFile_EX |
iDS-6101HF/A Series Device | Export configuration file and save as a binary file | NET_DVR_GetConfigFile |
iDS-6101HF/A Series Device | Import configuration file from buffer | NET_DVR_SetConfigFile_EX |
iDS-6101HF/A Series Device | Import configuration file from a binary file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
iDS-6101HF/A Series Device | Reboot device | NET_DVR_RebootDVR |
iDS-6101HF/A Series Device | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
iDS-6101HF/A Series Device | Get alarm output of device | NET_DVR_GetAlarmOut_V30 |
iDS-6101HF/A Series Device | Set alarm output of device | NET_DVR_SetAlarmOut |
iDS-6101HF/A Series Device | Get zoom information of video output | NET_DVR_GetScaleCFG_V30 |
iDS-6101HF/A Series Device | Set zoom parameter of video output | NET_DVR_SetScaleCFG_V30 |
iDS-6101HF/A Series Device | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
iDS-6101HF/A Series Device | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
iDS-6101HF/A Series Device | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
iDS-6101HF/A Series Device | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
iDS-6101HF/A Series Device | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
iDS-6101HF/A Series Device | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
iDS-6101HF/A Series Device | Get picture parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
iDS-6101HF/A Series Device | Set picture parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PICCFG_V30
iDS-6101HF/A Series Device | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
iDS-6101HF/A Series Device | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
iDS-6101HF/A Series Device | Get video parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
iDS-6101HF/A Series Device | Set video parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RECORD_V30
iDS-6101HF/A Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
iDS-6101HF/A Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
iDS-6101HF/A Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
iDS-6101HF/A Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
iDS-6101HF/A Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
iDS-6101HF/A Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
iDS-6101HF/A Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
iDS-6101HF/A Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
iDS-6101HF/A Series Device | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
iDS-6101HF/A Series Device | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
iDS-6101HF/A Series Device | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
iDS-6101HF/A Series Device | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
iDS-6101HF/A Series Device | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
iDS-6101HF/A Series Device | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
iDS-6101HF/A Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
iDS-6101HF/A Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
iDS-6101HF/A Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
iDS-6101HF/A Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
iDS-6101HF/A Series Device | Get parameter of time zone and DST | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
iDS-6101HF/A Series Device | Set parameter of time zone and DST | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ZONEANDDST
iDS-6101HF/A Series Device | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
iDS-6101HF/A Series Device | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
iDS-6101HF/A Series Device | Get parameter of assistant output triggered by alarm | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
iDS-6101HF/A Series Device | Set parameter of assistant output triggered by alarm | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
iDS-6101HF/A Series Device | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
iDS-6101HF/A Series Device | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
iDS-6101HF/A Series Device | Get parameter of network application(NTP) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
iDS-6101HF/A Series Device | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
iDS-6101HF/A Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
iDS-6101HF/A Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
iDS-6101HF/A Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
iDS-6101HF/A Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
iDS-6101HF/A Series Device | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
iDS-6101HF/A Series Device | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
iDS-6101HF/A Series Device | Get parameter of intellectualized control | NET_DVR_GetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iDS-6101HF/A Series Device | Set parameter of intellectualized control | NET_DVR_SetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iDS-6101HF/A Series Device | Get parameter of standardized information | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_CALIBRATION_CFG
iDS-6101HF/A Series Device | Set parameter of standardized information | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_CALIBRATION_CFG
iDS-6101HF/A Series Device | Get parameter of behaviour analysis | NET_DVR_GetDVRConfig | Configuration Parameter:NET_VCA_RULECFG
iDS-6101HF/A Series Device | Set parameter of behaviour analysis | NET_DVR_SetDVRConfig | Configuration Parameter:NET_VCA_RULECFG
iDS-6101HF/A Series Device | Get overlaping configuration parameter of intellectualized information DSP | NET_DVR_GetVCADrawMode |
iDS-6101HF/A Series Device | Set overlaping configuration parameter of intellectualized information DSP | NET_DVR_SetVCADrawMode |
iDS-6101HF/A Series Device | Get inner keyword parameter | NET_DVR_GetBehaviorParamKey |
iDS-6101HF/A Series Device | Set inner keyword parameter | NET_DVR_SetBehaviorParamKey |
Get Device Capability Group |  |  |
iDS-6101HF/A Series Device | Get device capability | NET_DVR_GetDeviceAbility | Capability types supported:VCA_DEV_ABILITY(intellectualized device capability), VCA_CHAN_ABILITY(intellectualized channel capability)
Standardized Verification |  |  |
iDS-6101HF/A Series Device | Standardized verification | NET_DVR_VerifyCalibration |
Reboot Intelligent Library |  |  |
iDS-6101HF/A Series Device | Reboot enable library | NET_VCA_RestartLib |


62Intellectualized Analysis (Behaviour) Device Function Interface Introduction

62Intellectualized analysis (behaviour) device supports not only common interfaces,but also supports functions as follows,including preview,fetching video data,alarm uploading,remote parameter configuration and intellectualized parameter configuration,etc.

Device Model | Function | Interface | Related Parameter
Related Function of Preview |  |  |
iVMS-6200-B | Set display mode of play | NET_DVR_SetShowMode |
iVMS-6200-B | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
iVMS-6200-B | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
iVMS-6200-B | Live preview | NET_DVR_RealPlay_V30 |
iVMS-6200-B | Stop preview | NET_DVR_StopRealPlay |
iVMS-6200-B | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
iVMS-6200-B | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
iVMS-6200-B | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
iVMS-6200-B | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
iVMS-6200-B | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
iVMS-6200-B | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
iVMS-6200-B | Set audio play mode | NET_DVR_SetAudioMode |
iVMS-6200-B | Open sound in exclusive audio-card mode | NET_DVR_OpenSound |
iVMS-6200-B | Close sound in exclusive audio-card mode | NET_DVR_CloseSound |
iVMS-6200-B | Open sound in shared audio-card mode | NET_DVR_OpenSoundShare |
iVMS-6200-B | Close sound in shared audio-card mode | NET_DVR_CloseSoundShare |
iVMS-6200-B | Adjust play volume | NET_DVR_Volume |
iVMS-6200-B | Initialize display device in system | NET_DVR_InitDDrawDevice |
iVMS-6200-B | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
iVMS-6200-B | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
iVMS-6200-B | Set video card used by play window | NET_DVR_SetDDrawDevice |
iVMS-6200-B | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
iVMS-6200-B | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
iVMS-6200-B | Capture data and store into appointed file | NET_DVR_SaveRealData |
iVMS-6200-B | Stop data capture | NET_DVR_StopSaveRealData |
iVMS-6200-B | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
Arm, Disarm and Monitor |  |  |
iVMS-6200-B | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 |
iVMS-6200-B | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
iVMS-6200-B | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
iVMS-6200-B | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
iVMS-6200-B | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
Harddisk Management |  |  |
iVMS-6200-B | Format device harddisk remotely | NET_DVR_FormatDisk |
iVMS-6200-B | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
iVMS-6200-B | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
iVMS-6200-B | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
iVMS-6200-B | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
iVMS-6200-B | Remote upgrade | NET_DVR_Upgrade |
iVMS-6200-B | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
iVMS-6200-B | Get state of remote upgrade | NET_DVR_GetUpgradeState |
iVMS-6200-B | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
iVMS-6200-B | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
iVMS-6200-B | Get searched log one by one | NET_DVR_FindNextLog_V30 |
iVMS-6200-B | Release resource for searching log | NET_DVR_FindLogClose_V30 |
iVMS-6200-B | Restore default settings of device | NET_DVR_RestoreConfig |
iVMS-6200-B | Export configuration file and save in buffer | NET_DVR_GetConfigFile_V30 |
iVMS-6200-B | Import configuration file | NET_DVR_GetConfigFile_EX |
iVMS-6200-B | Export configuration file and save as a binary file | NET_DVR_GetConfigFile |
iVMS-6200-B | Import configuration file from buffer | NET_DVR_SetConfigFile_EX |
iVMS-6200-B | Import configuration file from a binary file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
iVMS-6200-B | Reboot device | NET_DVR_RebootDVR |
iVMS-6200-B | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
iVMS-6200-B | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
iVMS-6200-B | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
iVMS-6200-B | Set device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
iVMS-6200-B | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
iVMS-6200-B | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
iVMS-6200-B | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
iVMS-6200-B | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
iVMS-6200-B | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
iVMS-6200-B | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
iVMS-6200-B | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
iVMS-6200-B | Get parameter of intellectualized control | NET_DVR_GetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iVMS-6200-B | Set parameter of intellectualized control | NET_DVR_SetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iVMS-6200-B | Get parameter of standardized information | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_CALIBRATION_CFG
iVMS-6200-B | Set parameter of standardized information | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_CALIBRATION_CFG
iVMS-6200-B | Get parameter of iVMS fetching stream | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PU_STREAM_CFG
iVMS-6200-B | Set parameter of iVMS fetching stream | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PU_STREAM_CFG
iVMS-6200-B | Get parameter of behaviour analysis | NET_DVR_GetDVRConfig | Configuration Parameter:NET_VCA_RULECFG
iVMS-6200-B | Set parameter of behaviour analysis | NET_DVR_SetDVRConfig | Configuration Parameter:NET_VCA_RULECFG
iVMS-6200-B | Get overlaping configuration parameter of intellectualized information DSP | NET_DVR_GetVCADrawMode |
iVMS-6200-B | Set overlaping configuration parameter of intellectualized information DSP | NET_DVR_SetVCADrawMode |
iVMS-6200-B | Get inner keyword parameter | NET_DVR_GetBehaviorParamKey |
iVMS-6200-B | Set inner keyword parameter | NET_DVR_SetBehaviorParamKey |
Get Device Capability Group |  |  |
iVMS-6200-B | Get device capability | NET_DVR_GetDeviceAbility | Capability types supported:VCA_DEV_ABILITY(intellectualized device capability), VCA_CHAN_ABILITY(intellectualized channel capability)
Standardized Verification |  |  |
iVMS-6200-B | Standardized verification | NET_DVR_VerifyCalibration |
Reboot Intelligent Library |  |  |
iVMS-6200-B | Reboot enable library | NET_VCA_RestartLib |


62Intellectualized Analysis (Pedestrian Flow) Device Function Interface Introduction

62Intellectualized analysis (pedestrian flow) device not only supports common interfaces ,but also supports functions as follows,including preview,fetching video data,alarm uploading,remote parameter configuration and intellectualized parameter configuration,etc.

Device Model | Function | Interface | Related Parameter
Related Function of Preview |  |  |
iVMS-6200-C | Set display mode of play | NET_DVR_SetShowMode |
iVMS-6200-C | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
iVMS-6200-C | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
iVMS-6200-C | Live preview | NET_DVR_RealPlay_V30 |
iVMS-6200-C | Stop preview | NET_DVR_StopRealPlay |
iVMS-6200-C | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
iVMS-6200-C | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
iVMS-6200-C | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
iVMS-6200-C | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
iVMS-6200-C | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
iVMS-6200-C | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
iVMS-6200-C | Set audio play mode | NET_DVR_SetAudioMode |
iVMS-6200-C | Open sound in exclusive audio-card mode | NET_DVR_OpenSound |
iVMS-6200-C | Close sound in exclusive audio-card mode | NET_DVR_CloseSound |
iVMS-6200-C | Open sound in shared audio-card mode | NET_DVR_OpenSoundShare |
iVMS-6200-C | Close sound in shared audio-card mode | NET_DVR_CloseSoundShare |
iVMS-6200-C | Adjust play volume | NET_DVR_Volume |
iVMS-6200-C | Initialize display device in system | NET_DVR_InitDDrawDevice |
iVMS-6200-C | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
iVMS-6200-C | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
iVMS-6200-C | Set video card used by play window | NET_DVR_SetDDrawDevice |
iVMS-6200-C | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
iVMS-6200-C | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
iVMS-6200-C | Capture data and store into appointed file | NET_DVR_SaveRealData |
iVMS-6200-C | Stop data capture | NET_DVR_StopSaveRealData |
iVMS-6200-C | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
Arm, Disarm and Monitor |  |  |
iVMS-6200-C | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 |
iVMS-6200-C | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
iVMS-6200-C | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
iVMS-6200-C | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
iVMS-6200-C | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
Harddisk Management |  |  |
iVMS-6200-C | Format device harddisk remotely | NET_DVR_FormatDisk |
iVMS-6200-C | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
iVMS-6200-C | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
iVMS-6200-C | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
iVMS-6200-C | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
iVMS-6200-C | Remote upgrade | NET_DVR_Upgrade |
iVMS-6200-C | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
iVMS-6200-C | Get state of remote upgrade | NET_DVR_GetUpgradeState |
iVMS-6200-C | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
iVMS-6200-C | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
iVMS-6200-C | Get searched log one by one | NET_DVR_FindNextLog_V30 |
iVMS-6200-C | Release resource for searching log | NET_DVR_FindLogClose_V30 |
iVMS-6200-C | Restore default settings of device | NET_DVR_RestoreConfig |
iVMS-6200-C | Export configuration file and save in buffer | NET_DVR_GetConfigFile_V30 |
iVMS-6200-C | Export configuration file | NET_DVR_GetConfigFile_EX |
iVMS-6200-C | Export configuration file and save as a binary file | NET_DVR_GetConfigFile |
iVMS-6200-C | Import configuration file from buffer | NET_DVR_SetConfigFile_EX |
iVMS-6200-C | Import configuration file from a binary file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
iVMS-6200-C | Reboot device | NET_DVR_RebootDVR |
iVMS-6200-C | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
iVMS-6200-C | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
iVMS-6200-C | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
iVMS-6200-C |  | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
iVMS-6200-C | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
iVMS-6200-C | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
iVMS-6200-C | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
iVMS-6200-C | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
iVMS-6200-C | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
iVMS-6200-C | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
iVMS-6200-C | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
iVMS-6200-C | Get parameter of intellectualized control | NET_DVR_GetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iVMS-6200-C | Set parameter of intellectualized control | NET_DVR_SetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iVMS-6200-C | Get parameter of standardized information | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_CALIBRATION_CFG
iVMS-6200-C | Set parameter of standardized information | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_CALIBRATION_CFG
iVMS-6200-C | Get parameter of iVMS fetching stream | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PU_STREAM_CFG
iVMS-6200-C | Set parameter of iVMS fetching stream | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PU_STREAM_CFG
iVMS-6200-C | Get configuration parameter of fetching pedestrian-flow rules | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PDC_RULE_CFG
iVMS-6200-C | Set configuration parameter of fetching pedestrian-flow rules | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PDC_RULE_CFG
iVMS-6200-C | Get overlaping configuration parameter of intellectualized information DSP | NET_DVR_GetVCADrawMode |
iVMS-6200-C | Set overlaping configuration parameter of intellectualized information DSP | NET_DVR_SetVCADrawMode |
iVMS-6200-C | Get inner keyword parameter | NET_DVR_GetBehaviorParamKey |
iVMS-6200-C | Set inner keyword parameter | NET_DVR_SetBehaviorParamKey |
Get Device Capability Group |  |  |
iVMS-6200-C | Get device capability | NET_DVR_GetDeviceAbility | Capability types supported:VCA_DEV_ABILITY(intellectualized device capability), VCA_CHAN_ABILITY(intellectualized channel capability)
Standardized Verification |  |  |
iVMS-6200-C | Standardized verification | NET_DVR_VerifyCalibration |
Pedestrian-flow Count Inquery |  |  |
iVMS-6200-C | Pedestrian-flow information inquery | NET_DVR_FindPDCInfo |
iVMS-6200-C | Get searched pedestrian-flow information one by one | NET_DVR_FindNextPDCInfo |
iVMS-6200-C | Close pedestrian-flow information inquery,release resources | NET_DVR_FindPDCClose |
Reset Pedestrian-flow Count |  |  |
iVMS-6200-C | Reset pedestrian-flow count | NET_DVR_ResetCounter |
Reboot Intelligent Library |  |  |
iVMS-6200-C | Reboot enable library | NET_VCA_RestartLib |


Intellectualized 90xx91xx Series Network DVR Function Interface Introduction

Device Network SDK Programming Manual

Intellectualized 90xx/91xx Series Network DVR Function Interface Introduction

Besides Intellectualized 90xx/91xx Series Network DVR supports all functions compatible with 90xx/91xx V1.2,it also supports intelligent parameter configuration,and etc.

Device Model | Function | Interface | Related Parameter
Intelligent Functions |  |  |
iDS-9xxxHF-SH Series Device | Get parameter of intellectualized control | NET_DVR_GetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iDS-9xxxHF-SH Series Device | Set parameter of intellectualized control | NET_DVR_SetDVRConfig | Configuration Parameter:NET_VCA_CTRLCFG
iDS-9xxxHF-SH Series Device | Get parameter of behaviour analysis | NET_DVR_GetDVRConfig | Configuration Parameter:NET_VCA_RULECFG
iDS-9xxxHF-SH Series Device | Set parameter of behaviour analysis | NET_DVR_SetDVRConfig | Configuration Parameter:NET_VCA_RULECFG
iDS-9xxxHF-SH Series Device | Get overlaping configuration parameter of intellectualized information DSP | NET_DVR_GetVCADrawMode |
iDS-9xxxHF-SH Series Device | Set overlaping configuration parameter of intellectualized information DSP | NET_DVR_SetVCADrawMode |
iDS-9xxxHF-SH Series Device | Get device capacity | NET_DVR_GetDeviceAbility | Capability types supported:Capability types supported:VCA_DEV_ABILITY(intellectualized device capability), VCA_CHAN_ABILITY(intellectualized channel capability)
iDS-9xxxHF-SH Series Device | Reboot enable library | NET_VCA_RestartLib |


Multi-Channel Decoder Series Function Interface Introduction

Device Network SDK Programming Manual

Multi-Channel Decoder Series Function Introduction

Besides multi-channel decoder series supports common interfaces,it also supports functions including preview,fetching video data,alarm uploading,voice talking,remote configuration and other related configuration about decoding,etc.

Device Model | Function | Interface | Related Parameters
Arm, Disarm and Listen |  |  |
Multi-Channel Decoder Series Device | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 |
Multi-Channel Decoder Series Device | Register callback function,receive device alarm and etc(callback IP address meanwhile,used to distinguish different devices) | NET_DVR_SetDVRMessCallBack |
Multi-Channel Decoder Series Device | Register callback function,receive device alarm and etc(callback login ID meanwhile,used to distinguish different devices) | NET_DVR_SetDVRMessCallBack_EX |
Multi-Channel Decoder Series Device | Register callback function,receive device alarm and etc(callback device IP address and port linking devices meanwhile,used to distinguish different devices) | NET_DVR_SetDVRMessCallBack_NEW |
Multi-Channel Decoder Series Device | Register callback function,receive device alarm and etc(callback device IP address and user data,used to distinguish different devices) | NET_DVR_SetDVRMessageCallBack |
Multi-Channel Decoder Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
Multi-Channel Decoder Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
Multi-Channel Decoder Series Device | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan |
Multi-Channel Decoder Series Device | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan |
Multi-Channel Decoder Series Device | Start monitoring,and receive alarm information uploaded by device automatically(multi-thread supported) | NET_DVR_StartListen_V30 |
Multi-Channel Decoder Series Device | Stop monitoring(multi-thread supported) | NET_DVR_StopListen_V30 |
Multi-Channel Decoder Series Device | Start monitoring,and receive alarm information uploaded by device automatically | NET_DVR_StartListen |
Multi-Channel Decoder Series Device | Stop monitoring | NET_DVR_StopListen |
PTZ Control |  |  |
Multi-Channel Decoder Series Device | PTZ control operation(preview isn't essential) | NET_DVR_PTZControl_Other |
Multi-Channel Decoder Series Device | PTZ control opertaion with speed(preview isn't essential) | NET_DVR_PTZControlWithSpeed_Other |
Multi-Channel Decoder Series Device | PTZ preset point operation | NET_DVR_PTZPreset_Other |
Multi-Channel Decoder Series Device | PTZ cruise operation | NET_DVR_PTZCruise_Other |
Multi-Channel Decoder Series Device | PTZ track operation | NET_DVR_PTZTrack_Other |
Multi-Channel Decoder Series Device | Transparent PTZ operation | NET_DVR_TransPTZ_Other |
Voice Talking, Forward and Broadcast |  |  |
Multi-Channel Decoder Series Device | Start voice talking | NET_DVR_StartVoiceCom_V30 |
Multi-Channel Decoder Series Device | Start voice talking | NET_DVR_StartVoiceCom |
Multi-Channel Decoder Series Device | Set volume of voice talking in client | NET_DVR_SetVoiceComClientVolume |
Multi-Channel Decoder Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
Multi-Channel Decoder Series Device | Start voice talking,get encoded audio data | NET_DVR_StartVoiceCom_MR_V30 |
Multi-Channel Decoder Series Device | Start voice talking,get encoded audio data | NET_DVR_StartVoiceCom_MR |
Multi-Channel Decoder Series Device | Forward audio data | NET_DVR_VoiceComSendData |
Multi-Channel Decoder Series Device | Stop voice talking or voice forwarding | NET_DVR_StopVoiceCom |
Multi-Channel Decoder Series Device | Start voice capture of voice broadcast in PC | NET_DVR_ClientAudioStart_V30 |
Multi-Channel Decoder Series Device | Start voice capture of voice broadcast in PC | NET_DVR_ClientAudioStart |
Multi-Channel Decoder Series Device | Add device channel to broadcast group receiving voice in PC | NET_DVR_AddDVR_V30 |
Multi-Channel Decoder Series Device | Add device to broadcast group receiving voice in PC | NET_DVR_AddDVR |
Multi-Channel Decoder Series Device | Delete voice channel of this device from broadcast group that can receive PC voice | NET_DVR_DelDVR_V30 |
Multi-Channel Decoder Series Device | Delete device from broadcast group that can receive PC voice | NET_DVR_DelDVR |
Multi-Channel Decoder Series Device | Stop voice capture of voice broadcast in PC | NET_DVR_ClientAudioStop |
Transparent Channel |  |  |
Multi-Channel Decoder Series Device | Establish transparent channel | NET_DVR_SerialStart |
Multi-Channel Decoder Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
Multi-Channel Decoder Series Device | Disconnect transparent channel | NET_DVR_SerialStop |
Send Data to Serial Port |  |  |
Multi-Channel Decoder Series Device | Establish transparent channel | NET_DVR_SerialStart |
Multi-Channel Decoder Series Device | Send data to serial port of device through transparent channel | NET_DVR_SerialSend |
Device Maintainance Management |  |  |
Multi-Channel Decoder Series Device | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
Multi-Channel Decoder Series Device | Get working state of device | NET_DVR_GetDVRWorkState |
Multi-Channel Decoder Series Device | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
Multi-Channel Decoder Series Device | Remote upgrade | NET_DVR_Upgrade |
Multi-Channel Decoder Series Device | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
Multi-Channel Decoder Series Device | Get state of remote upgrade | NET_DVR_GetUpgradeState |
Multi-Channel Decoder Series Device | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
Multi-Channel Decoder Series Device | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
Multi-Channel Decoder Series Device | Get searched log one by one | NET_DVR_FindNextLog_V30 |
Multi-Channel Decoder Series Device | Release resource for searching log | NET_DVR_FindLogClose_V30 |
Multi-Channel Decoder Series Device | Search device log information | NET_DVR_FindDVRLog |
Multi-Channel Decoder Series Device | Get searched log one by one | NET_DVR_FindNextLog |
Multi-Channel Decoder Series Device | Release resource for searching log | NET_DVR_FindLogClose |
Multi-Channel Decoder Series Device | Restore default settings of device | NET_DVR_RestoreConfig |
Multi-Channel Decoder Series Device | Export configuration file | NET_DVR_GetConfigFile_V30 |
Multi-Channel Decoder Series Device | Export configuration file | NET_DVR_GetConfigFile_EX |
Multi-Channel Decoder Series Device | Export configuration file | NET_DVR_GetConfigFile |
Multi-Channel Decoder Series Device | Import configuration file | NET_DVR_SetConfigFile_EX |
Multi-Channel Decoder Series Device | Import configuration file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
Multi-Channel Decoder Series Device | Reboot device | NET_DVR_RebootDVR |
Multi-Channel Decoder Series Device | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
Multi-Channel Decoder Series Device | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
Multi-Channel Decoder Series Device | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
Multi-Channel Decoder Series Device | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
Multi-Channel Decoder Series Device | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
Multi-Channel Decoder Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG
Multi-Channel Decoder Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG
Multi-Channel Decoder Series Device | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
Multi-Channel Decoder Series Device | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
Multi-Channel Decoder Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG
Multi-Channel Decoder Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG
Multi-Channel Decoder Series Device | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
Multi-Channel Decoder Series Device | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
Multi-Channel Decoder Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG
Multi-Channel Decoder Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG
Multi-Channel Decoder Series Device | Get alarm-input parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
Multi-Channel Decoder Series Device | Set alarm-input parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMINCFG_V30
Multi-Channel Decoder Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG
Multi-Channel Decoder Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG
Multi-Channel Decoder Series Device | Get alarm-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
Multi-Channel Decoder Series Device | Set alarm-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_ALARMOUTCFG_V30
Multi-Channel Decoder Series Device | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
Multi-Channel Decoder Series Device | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
Multi-Channel Decoder Series Device | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
Multi-Channel Decoder Series Device | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
Multi-Channel Decoder Series Device | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
Multi-Channel Decoder Series Device | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
Multi-Channel Decoder Series Device | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
Multi-Channel Decoder Series Device | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
Multi-Channel Decoder Series Device | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT
Multi-Channel Decoder Series Device | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT
Multi-Channel Decoder Series Device | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
Multi-Channel Decoder Series Device | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30
Multi-Channel Decoder Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER
Multi-Channel Decoder Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER
Multi-Channel Decoder Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
Multi-Channel Decoder Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
Multi-Channel Decoder Series Device | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
Multi-Channel Decoder Series Device | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
Multi-Channel Decoder Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION
Multi-Channel Decoder Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION
Multi-Channel Decoder Series Device | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
Multi-Channel Decoder Series Device | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
Multi-Channel Decoder Series Device | Get parameter of assistant output triggered by alarm | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
Multi-Channel Decoder Series Device | Set parameter of assistant output triggered by alarm | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_AUXOUTCFG
Multi-Channel Decoder Series Device | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
Multi-Channel Decoder Series Device | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
Multi-Channel Decoder Series Device | Get parameter of network application(NTP) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
Multi-Channel Decoder Series Device | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
Multi-Channel Decoder Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA
Multi-Channel Decoder Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA
Multi-Channel Decoder Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_EX
Multi-Channel Decoder Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_EX
Multi-Channel Decoder Series Device | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
Multi-Channel Decoder Series Device | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
Multi-Channel Decoder Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG
Multi-Channel Decoder Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG
Multi-Channel Decoder Series Device | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
Multi-Channel Decoder Series Device | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
Multi-Channel Decoder Series Device | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
Multi-Channel Decoder Series Device | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
Multi-Channel Decoder Series Device | Get audio parameter of voice talking | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
Multi-Channel Decoder Series Device | Set audio parameter of voice talking | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSION_AUDIO
Multi-Channel Decoder Series Device | Get alarm-output of device | NET_DVR_GetAlarmOut |
Multi-Channel Decoder Series Device | Get alarm-output of device | NET_DVR_GetAlarmOut_V30 |
Multi-Channel Decoder Series Device | Set alarm-output of device | NET_DVR_SetAlarmOut |
Multi-Channel Decoder Series Device | Get zoom information of video output | NET_DVR_GetScaleCFG |
Multi-Channel Decoder Series Device | Get zoom information of video output | NET_DVR_GetScaleCFG_V30 |
Multi-Channel Decoder Series Device | Set zoom information of video output | NET_DVR_SetScaleCFG |
Multi-Channel Decoder Series Device | Set zoom information of video output | NET_DVR_SetScaleCFG_V30 |
Multi-Channel Decoder Series Device | Get device capacity | NET_DVR_GetDeviceAbility |
Multi-Channel Decoder Special Functions |  |  |
Multi-Channel Decoder Series Device | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_OTHER
Multi-Channel Decoder Series Device | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_OTHER
Multi-Channel Decoder Series Device | Get zoom configuration of decoding channel | NET_DVR_MatrixGetDecChanCfg |
Multi-Channel Decoder Series Device | Set zoom configuration of decoding channel | NET_DVR_MatrixSetDecChanCfg |
Multi-Channel Decoder Series Device | Set video standard of decoding channel | NET_DVR_MatrixSetVideoStandard |
Multi-Channel Decoder Series Device | Start dynamic decoding | NET_DVR_MatrixStartDynamic |
Multi-Channel Decoder Series Device | Start dynamic decoding | NET_DVR_MatrixStartDynamic_V30 |
Multi-Channel Decoder Series Device | Stop dynamic decoding | NET_DVR_MatrixStopDynamic |
Multi-Channel Decoder Series Device | Get parameter of decoding channel for looping | NET_DVR_MatrixGetLoopDecChanInfo_V30 |
Multi-Channel Decoder Series Device | Get parameter of decoding channel for looping | NET_DVR_MatrixGetLoopDecChanInfo |
Multi-Channel Decoder Series Device | Set parameter of decoding channel for looping | NET_DVR_MatrixSetLoopDecChanInfo_V30 |
Multi-Channel Decoder Series Device | Set parameter of decoding channel for looping | NET_DVR_MatrixSetLoopDecChanInfo |
Multi-Channel Decoder Series Device | Get switching value of single decoding channel for looping | NET_DVR_MatrixGetLoopDecChanEnable |
Multi-Channel Decoder Series Device | Set switching value of single decoding channel for looping | NET_DVR_MatrixSetLoopDecChanEnable |
Multi-Channel Decoder Series Device | Get switching value of all decoding channels for looping | NET_DVR_MatrixGetLoopDecEnable |
Multi-Channel Decoder Series Device | Get information of current decoding channel | NET_DVR_MatrixGetDecChanInfo_V30 |
Multi-Channel Decoder Series Device | Get information of current decoding channel | NET_DVR_MatrixGetDecChanInfo |
Multi-Channel Decoder Series Device | Get state of current decoding channel | NET_DVR_MatrixGetDecChanStatus |
Multi-Channel Decoder Series Device | Get switching value of current decoding channel | NET_DVR_MatrixGetDecChanEnable |
Multi-Channel Decoder Series Device | Set switching value of current decoding channel | NET_DVR_MatrixSetDecChanEnable |
Multi-Channel Decoder Series Device | Set parameter of decoding device about remote playback | NET_DVR_MatrixSetRemotePlay |
Multi-Channel Decoder Series Device | File Control of Remote Playback | NET_DVR_MatrixSetRemotePlayControl |
Multi-Channel Decoder Series Device | Get state of playback | NET_DVR_MatrixGetRemotePlayStatus |
Multi-Channel Decoder Series Device | Upload LOGO | NET_DVR_UploadLogo |
Multi-Channel Decoder Series Device | LOGO Display Control | NET_DVR_LogoSwitch |
Multi-Channel Decoder Series Device | Multi-channel decoder starts passive decoding | NET_DVR_MatrixStartPassiveDecode |
Multi-Channel Decoder Series Device | Send data to passive decoding channel | NET_DVR_MatrixSendData |
Multi-Channel Decoder Series Device | Multi-Channel Decoder stop passive decoding | NET_DVR_MatrixStopPassiveDecode |
Multi-Channel Decoder Series Device | Get passive decoding state of multi-channel decoder | NET_DVR_MatrixGetPassiveDecodeStatus |
Multi-Channel Decoder Series Device | Passive decoding play control | NET_DVR_MatrixPassiveDecodeControl |
Multi-Channel Decoder Series Device | Get display channel parameter of multi-channel decoder | NET_DVR_MatrixGetDisplayCfg |
Multi-Channel Decoder Series Device | Set display channel parameter of multi-channel decoder | NET_DVR_MatrixSetDisplayCfg |
Multi-Channel Decoder Series Device | Control display channel of multi-channel decoder | NET_DVR_MatrixDiaplayControl |
Multi-Channel Decoder Series Device | Get information of transparent channel | NET_DVR_MatrixGetTranInfo_V30 |
Multi-Channel Decoder Series Device | Get information of transparent channel | NET_DVR_MatrixGetTranInfo |
Multi-Channel Decoder Series Device | Set information of transparent channel | NET_DVR_MatrixSetTranInfo_V30 |
Multi-Channel Decoder Series Device | Set information of transparent channel | NET_DVR_MatrixSetTranInfo |
Multi-Channel Decoder Series Device | Get state of multi-channel decoder | NET_DVR_MatrixGetDeviceStatus |
Multi-Channel Decoder Series Device | Get information of transparent channel | NET_DVR_MatrixGetTranInfo |
Multi-Channel Decoder Series Device | Set information of transparent channel | NET_DVR_MatrixSetTranInfo_V30 |
Multi-Channel Decoder Series Device | Set information of transparent channel | NET_DVR_MatrixSetTranInfo |


Access Control Function API Description

The access controller includes(but not limited to)the follow models:
DS-K2601、DS-K2602、DS-K2604。

Device Model | Function | API | Related Parameters
Access Controller | Get Device Common Capability | NET_DVR_GetDeviceAbility | Capability Type: DEVICE_SOFTHARDWARE_ABILITY、 DEVICE_USER_ABILITY、 DEVICE_NETAPP_ABILITY、 DEVICE_SERIAL_ABILITY、 DEVICE_ABILITY_INFO(Including EventAbility and SecurityAbility)
Access Controller | Get Access Controller Alarm Capability | NET_DVR_GetDeviceAbility | Capability Type: DEVICE_ABILITY_INFO(Alarm Host Capability AlarmHostAbility)
Access Controller | Get Access Control Capability | NET_DVR_GetDeviceAbility | Capability Type: ACS_ABILITY
Common Parameters Configuration |  |  |
Access Controller | Get Device Parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DEVICECFG_V40 Structure:NET_DVR_DEVICECFG_V40
Access Controller | Configure Device Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_DEVICECFG_V40 Structure：NET_DVR_DEVICECFG_V40
Access Controller | Get Device Time Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_TIMECFG Structure：NET_DVR_TIME
Access Controller | Configure Device Time Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_TIMECFG Structure：NET_DVR_TIME
Access Controller | Get Exception Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_EXCEPTIONCFG_V40 Structure：NET_DVR_EXCEPTION_V40
Access Controller | Configure Exception Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_EXCEPTIONCFG_V40 Structure：NET_DVR_EXCEPTION_V40
Access Controller | Get Time Zone and aylight Saving Time Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_ZONEANDDST Structure：NET_DVR_ZONEANDDST
Access Controller | Configure Time Zone and aylight Saving Time Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_ZONEANDDST Structure：NET_DVR_ZONEANDDST
Access Controller | Get Network Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_NETCFG_V30 Structure：NET_DVR_NETCFG_V30
Access Controller | Configure Network Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_NETCFG_V30 Structure：NET_DVR_NETCFG_V30
Access Controller | Get Web Application(NTP)Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_NTPCFG Structure：NET_DVR_NTPPARA
Access Controller | Configure Web Application(NTP)Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_NTPCFG Structure：NET_DVR_NTPPARA
Access Controller | Get Security Authentication Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_SECURITY_CFG Structure：NET_DVR_SECURITY_CFG
Access Controller | Configure Security Authentication Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_SECURITY_CFG Structure：NET_DVR_SECURITY_CFG
RS485/防区/Trigger Configuration and Control |  |  |
Access Controller | Get RS485 Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_ALARM_RS485CFG Structure：NET_DVR_ALARM_RS485CFG
Access Controller | Configure RS485 Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_ALARM_RS485CFG Structure：NET_DVR_ALARM_RS485CFG
Access Controller | Get Region Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_ALARMIN_PARAM Structure：NET_DVR_ALARMIN_PARAM
Access Controller | Configure Region Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_ALARMIN_PARAM Structure：NET_DVR_ALARMIN_PARAM
Access Controller | Arming for the Region | NET_DVR_AlarmHostSetupAlarmChan |
Access Controller | Disaming for the Region | NET_DVR_AlarmHostCloseAlarmChan |
Access Controller | Get Trigger Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_ALARMOUT_PARAM Structure：NET_DVR_ALARMOUT_PARAM
Access Controller | Configure the Trigger | NET_DVR_SetAlarmHostOut |
Access Controller | Configure Trigger Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_ALARMOUT_PARAM Structure：NET_DVR_ALARMOUT_PARAM
Access Controller | Get Device Status (Region/Trigger) | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_ALARMHOST_MAIN_STATUS Structure：NET_DVR_ALARMHOST_MAIN_STATUS
User Configuration |  |  |
Access Controller | Get Device User COnfiguration | NET_DVR_GetAlarmDeviceUser |
Access Controller | Configure Device User Configuration | NET_DVR_SetAlarmDeviceUser |
Access Controller Related Parameters Configuration |  |  |
Access Controller | Get Weekly Schedule Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_WEEK_PLAN_CFG、 NET_DVR_GET_VERIFY_WEEK_PLAN、 NET_DVR_GET_CARD_RIGHT_WEEK_PLAN Structure：NET_DVR_WEEK_PLAN_CFG
Access Controller | Configure Weekly Schedule Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_WEEK_PLAN_CFG、 NET_DVR_SET_VERIFY_WEEK_PLAN、 NET_DVR_SET_CARD_RIGHT_WEEK_PLAN Structure：NET_DVR_WEEK_PLAN_CFG
Access Controller | Get Holiday Schedule Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_DOOR_STATUS_HOLIDAY_PLAN、 NET_DVR_GET_VERIFY_HOLIDAY_PLAN、 NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN Structure：NET_DVR_HOLIDAY_PLAN_CFG
Access Controller | Configure Holiday Shcedule Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_DOOR_STATUS_HOLIDAY_PLAN、 NET_DVR_SET_VERIFY_HOLIDAY_PLAN、 NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN Structure：NET_DVR_HOLIDAY_PLAN_CFG
Access Controller | Get Holiday Group Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_DOOR_STATUS_HOLIDAY_GROUP、 NET_DVR_GET_VERIFY_HOLIDAY_GROUP、 NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP Structure：NET_DVR_HOLIDAY_GROUP_CFG
Access Controller | Configure Holiday Group Parmaeters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_DOOR_STATUS_HOLIDAY_GROUP、 NET_DVR_SET_VERIFY_HOLIDAY_GROUP、 NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP Structure：NET_DVR_HOLIDAY_GROUP_CFG
Access Controller | Get Schedule Template Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_DOOR_STATUS_PLAN_TEMPLATE、 NET_DVR_GET_VERIFY_PLAN_TEMPLATE NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE Structure：NET_DVR_PLAN_TEMPLATE
Access Controller | Configure Shcedule Template Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_DOOR_STATUS_PLAN_TEMPLATE、 NET_DVR_SET_VERIFY_PLAN_TEMPLATE、 NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE Structure：NET_DVR_PLAN_TEMPLATE
Access Controller | Get Door Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_DOOR_CFG Structure：NET_DVR_DOOR_CFG
Access Controller | Configure Door Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_DOOR_CFG Structure：NET_DVR_DOOR_CFG
Access Controller | Get Door Status Schedule Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_DOOR_STATUS_PLAN Structure：NET_DVR_DOOR_STATUS_PLAN
Access Controller | Configure Door Status Schedule Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_DOOR_STATUS_PLAN Structure：NET_DVR_DOOR_STATUS_PLAN
Access Controller | Get Card Reader Authentication Schedule Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_CARD_READER_PLAN Structure：NET_DVR_CARD_READER_PLAN
Access Controller | Configure Card Reader Authentication Schedule Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_CARD_READER_PLAN Structure：NET_DVR_CARD_READER_PLAN
Access Controller | Get Group Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_GROUP_CFG Structure：NET_DVR_GROUP_CFG
Access Controller | Configure Group Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_GROUP_CFG Structure：NET_DVR_GROUP_CFG
Access Controller | Get Multiple Authentication Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_MULTI_CARD_CFG Structure：NET_DVR_MULTI_CARD_CFG
Access Controller | Configure Multiple Authentication Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_MULTI_CARD_CFG Structure：NET_DVR_MULTI_CARD_CFG
Access Controller | Get Anti-passback Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_SNEAK_CFG Structure：NET_DVR_ANTI_SNEAK_CFG
Access Controller | Configure Anti-passback Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_SNEAK_CFG Structure：NET_DVR_ANTI_SNEAK_CFG
Access Controller | Get Card Reader Anti-passback Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_CARD_READER_ANTI_SNEAK_CFG Structure：NET_DVR_CARD_READER_ANTI_SNEAK_CFG
Access Controller | Configure Card Reader Anti-passback Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_CARD_READER_ANTI_SNEAK_CFG Structure：NET_DVR_CARD_READER_ANTI_SNEAK_CFG
Access Controller | Get Multi-door Interlocking Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_MULTI_DOOR_INTERLOCK_CFG Structure：NET_DVR_MULTI_DOOR_INTERLOCK_CFG
Access Controller | Configure Multi-door Interlocking Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_MULTI_DOOR_INTERLOCK_CFG Structure：NET_DVR_MULTI_DOOR_INTERLOCK_CFG
Access Controller | Get Card Reader Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_CARD_READER_CFG Structure：NET_DVR_CARD_READER_CFG
Access Controller | Configure Card Reader Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_CARD_READER_CFG Structure：NET_DVR_CARD_READER_CFG
Access Controller | Get Access Controller Working Status | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_ACS_WORK_STATUS Structure：NET_DVR_ACS_WORK_STATUS
Access Controller | Get Event Alarm Input Parameters | NET_DVR_GetDVRConfig | Command：NET_DVR_GET_CASE_SENSOR_CFG Structure：NET_DVR_CASE_SENSOR_CFG
Access Controller | Configure Event Alarm Input Parameters | NET_DVR_SetDVRConfig | Command：NET_DVR_SET_CASE_SENSOR_CFG Structure：NET_DVR_CASE_SENSOR_CFG
Lone Connection Remote Configuration |  |  |
Access Controller | Enable Long Connection Remote Configuration | NET_DVR_StartRemoteConfig | Command： NET_DVR_GET_CARD_CFG NET_DVR_SET_CARD_CFG
Access Controller | Send Long Connection Data | NET_DVR_SendRemoteConfig | Command： NET_DVR_GET_CARD_CFG NET_DVR_SET_CARD_CFG
Access Controller | Close the handle created by the long connection configuration API, and release resource. | NET_DVR_StopRemoteConfig |
Remote Control |  |  |
Access Controller | Clear Access Controller Parameters | NET_DVR_RemoteControl | Command： NET_DVR_CLEAR_ACS_PARAM
Access Control |  |  |
Access Controller | Access Control | NET_DVR_ControlGateway |
Client Alarm Armed |  |  |
Access Controller | Create alarm upload channel, and get alarm information | NET_DVR_SetupAlarmChan_V30 |
Access Controller | Delete Alarm Upload Channel | NET_DVR_CloseAlarmChan_V30 |
Device Maintenance |  |  |
Access Controller | Configure Network Environment when Doing Remote Upgrade. | NET_DVR_SetNetworkEnvironment |
Access Controller | Remote Upgrade | NET_DVR_Upgrade_V40 |
Access Controller | Get Remote Upgrade Progrss | NET_DVR_GetUpgradeProgress |
Access Controller | Get Remote Upgrade Status | NET_DVR_GetUpgradeState |
Access Controller | Close Remote Upgrade Hnadle | NET_DVR_CloseUpgradeHandle |
Access Controller | Restore the Default Settings | NET_DVR_RestoreConfig |
Access Controller | Reboot the Device | NET_DVR_RebootDVR |


Access Control Terminal Function API Description

Access control terminal contains but is not limited to the following models.
DS-K1T105C(-C), DS-K1T105E(-C), DS-K1T105M(-C), DS-K1T200CF(-C), DS-K1T200EF(-C), DS-K1T200MF(-C), DS-K1T300CF(-C), DS-K1T300EF(-C), DS-K1T300MF(-C).

The access control terminal also supports functions such as parameters configuration, remote control, alarm uploading, device maintenance and so on.

Device Model | Function | API | Parameters
Access Control Terminal | Get device common capability | NET_DVR_GetDeviceAbility | Capability Set Type: DEVICE_SOFTHARDWARE_ABILITY, DEVICE_NETWORK_ABILITY, DEVICE_NETAPP_ABILITY, DEVICE_SERIAL_ABILITY, DEVICE_JPEG_CAP_ABILITY
Access Control Terminal | Get VCA capability set | NET_DVR_GetDeviceAbility | Capability Set Type: DEVICE_ABILITY_INFO(VCA channel analysis capability VcaChanAbility)
Access Control Terminal | Get access control capability | NET_DVR_GetDeviceAbility | Capability Set Type: ACS_ABILITY
Common parameters configuration |  |  |
Access Control Terminal | Get device parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DEVICECFG_V40 Structure: NET_DVR_DEVICECFG_V40
Access Control Terminal | Set device parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DEVICECFG_V40 Structure: NET_DVR_DEVICECFG_V40
Access Control Terminal | Get device time parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_TIMECFG Structure: NET_DVR_TIME
Access Control Terminal | Set device time parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_TIMECFG Structure: NET_DVR_TIME
Access Control Parameters |  |  |
Access Control Terminal | Get weekly schedule | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_WEEK_PLAN_CFG, NET_DVR_GET_VERIFY_WEEK_PLAN, NET_DVR_GET_CARD_RIGHT_WEEK_PLAN Structure: NET_DVR_WEEK_PLAN_CFG
Access Control Terminal | Set weekly schedule | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_WEEK_PLAN_CFG, NET_DVR_SET_VERIFY_WEEK_PLAN, NET_DVR_SET_CARD_RIGHT_WEEK_PLAN Structure: NET_DVR_WEEK_PLAN_CFG
Access Control Terminal | Get holiday schedule | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DOOR_STATUS_HOLIDAY_PLAN, NET_DVR_GET_VERIFY_HOLIDAY_PLAN, NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN Structure: NET_DVR_HOLIDAY_PLAN_CFG
Access Control Terminal | Set holiday schedule | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DOOR_STATUS_HOLIDAY_PLAN, NET_DVR_SET_VERIFY_HOLIDAY_PLAN, NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN Structure: NET_DVR_HOLIDAY_PLAN_CFG
Access Control Terminal | Get holiday group parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DOOR_STATUS_HOLIDAY_GROUP, NET_DVR_GET_VERIFY_HOLIDAY_GROUP, NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP Structure: NET_DVR_HOLIDAY_GROUP_CFG
Access Control Terminal | Set holiday group parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DOOR_STATUS_HOLIDAY_GROUP, NET_DVR_SET_VERIFY_HOLIDAY_GROUP, NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP Structure: NET_DVR_HOLIDAY_GROUP_CFG
Access Control Terminal | Get schedule template parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DOOR_STATUS_PLAN_TEMPLATE, NET_DVR_GET_VERIFY_PLAN_TEMPLATE NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE Structure: NET_DVR_PLAN_TEMPLATE
Access Control Terminal | Set schedule template parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DOOR_STATUS_PLAN_TEMPLATE, NET_DVR_SET_VERIFY_PLAN_TEMPLATE, NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE Structure: NET_DVR_PLAN_TEMPLATE
Access Control Terminal | Get door parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DOOR_CFG Structure: NET_DVR_DOOR_CFG
Access Control Terminal | Set door parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DOOR_CFG Structure: NET_DVR_DOOR_CFG
Access Control Terminal | Get door status schedule parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DOOR_STATUS_PLAN Structure: NET_DVR_DOOR_STATUS_PLAN
Access Control Terminal | Set door status schedule parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DOOR_STATUS_PLAN Structure: NET_DVR_DOOR_STATUS_PLAN
Access Control Terminal | Get card reader authentication schedule parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_CARD_READER_PLAN Structure: NET_DVR_CARD_READER_PLAN
Access Control Terminal | Set card reader authentication schedule parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_CARD_READER_PLAN Structure: NET_DVR_CARD_READER_PLAN
Access Control Terminal | Get anti pass-back parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_SNEAK_CFG Structure: NET_DVR_ANTI_SNEAK_CFG
Access Control Terminal | Set anti pass-back parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_SNEAK_CFG Structure: NET_DVR_ANTI_SNEAK_CFG
Access Control Terminal | Get card reader anti pass-back parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_CARD_READER_ANTI_SNEAK_CFG Structure: NET_DVR_CARD_READER_ANTI_SNEAK_CFG
Access Control Terminal | Set card reader anti pass-back parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_CARD_READER_ANTI_SNEAK_CFG Structure: NET_DVR_CARD_READER_ANTI_SNEAK_CFG
Access Control Terminal | Get card reader parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_CARD_READER_CFG Structure: NET_DVR_CARD_READER_CFG
Access Control Terminal | Set card reader parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_CARD_READER_CFG Structure: NET_DVR_CARD_READER_CFG
Access Control Terminal | Get access control terminal working status | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_ACS_WORK_STATUS Structure: NET_DVR_ACS_WORK_STATUS
Access Control Terminal | Get event/card No. linkage configuration | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_EVENT_CARD_LINKAGE_CFG Structure: NET_DVR_EVENT_CARD_LINKAGE_CFG
Access Control Terminal | Set event/card No. linkage configuration | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_EVENT_CARD_LINKAGE_CFG Structure: NET_DVR_EVENT_CARD_LINKAGE_CFG
Access Control Terminal | Get access control terminal parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_ACS_CFG Structure: NET_DVR_ACS_CFG
Access Control Terminal | Set access control terminal parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_ACS_CFG Structure: NET_DVR_ACS_CFG
Access Control Terminal | Get people face detection rule | NET_DVR_GetDVRConfig | Command: NET_VCA_GET_FACEDETECT_RULECFG_V41 Structure: NET_DVR_FACEDETECT_RULECFG_V41
Access Control Terminal | Set people face detection rule | NET_DVR_SetDVRConfig | Command: NET_VCA_SET_FACEDETECT_RULECFG_V41 Structure: NET_DVR_FACEDETECT_RULECFG_V41
Access Control Terminal | Get card No. related user information parameters | NET_DVR_GetDeviceConfig | Command: NET_DVR_GET_CARD_USERINFO_CFG Structure: NET_DVR_CARD_USER_INFO_CFG
Access Control Terminal | Set card No. related user information parameters | NET_DVR_SetDeviceConfig | Command: NET_DVR_SET_CARD_USERINFO_CFG Structure: NET_DVR_CARD_USER_INFO_CFG
Card parameters configuration |  |  |
Access Control Terminal | Enable remote configuration | NET_DVR_StartRemoteConfig | Configuration Command: NET_DVR_GET_CARD_CFG NET_DVR_SET_CARD_CFG
Access Control Terminal | Send remote cnfiguration data | NET_DVR_SendRemoteConfig | Configuration Command: NET_DVR_GET_CARD_CFG NET_DVR_SET_CARD_CFG
Access Control Terminal | Close remote configuration API created handle, and release resource | NET_DVR_StopRemoteConfig |
Fingerprint management |  |  |
Access Control Terminal | Enable remote configuration | NET_DVR_StartRemoteConfig | Configuration Command: NET_DVR_GET_FINGERPRINT_CFG NET_DVR_SET_FINGERPRINT_CFG
Access Control Terminal | Send remote configuration data | NET_DVR_SendRemoteConfig | Configuration Command: NET_DVR_SET_FINGERPRINT_CFG
Access Control Terminal | Close remote configuration API created handle and release resource | NET_DVR_StopRemoteConfig |
Access Control Terminal | Delete fingerprint parameters | NET_DVR_RemoteControl | Configuration Command: NET_DVR_DEL_FINGERPRINT_CFG
Card and password opening door configuration |  |  |
Access Control Terminal | Enable remote configuration | NET_DVR_StartRemoteConfig | Configuration Command: NET_DVR_GET_CARD_PASSWD_CFG NET_DVR_SET_CARD_PASSWD_CFG
Access Control Terminal | Send remote configuration data | NET_DVR_SendRemoteConfig | Configuration Command: NET_DVR_SET_CARD_PASSWD_CFG
Access Control Terminal | Close remote configuration API created handle, and release resource/td> | NET_DVR_StopRemoteConfig |
Remote Control |  |  |
Access Control Terminal | Clear access control terminal parameters | NET_DVR_RemoteControl | Control Command: NET_DVR_CLEAR_ACS_PARAM
Access Control |  |  |
Access Control Terminal | Access Control | NET_DVR_ControlGateway |
Client alarm arming |  |  |
Access Control Terminal | Register callback function and receive device alarm message | NET_DVR_SetDVRMessageCallBack_V31 | Supported alarm information type: COMM_ALARM_ACS （Alarm information structure: NET_DVR_ACS_ALARM_INFO）
Access Control Terminal | Create alarm report uploading channel, get alarm information | NET_DVR_SetupAlarmChan_V30 |
Access Control Terminal | Delete alarm report uploading channel | NET_DVR_CloseAlarmChan_V30 |
Manual Capture |  |  |
Access Control Terminal | Get single frame and save as JPEG picture | NET_DVR_CaptureJPEGPicture |
Access Control Terminal | Get single frame and save as JPEG picture in the specified directory | NET_DVR_CaptureJPEGPicture_NEW |
Access Control Terminal | Trigger continuous capture over network | NET_DVR_ContinuousShoot |
Device Maintenance |  |  |
Access Control Terminal | Set the remote upgrading network environment | NET_DVR_SetNetworkEnvironment |
Access Control Terminal | Remote upgrade | NET_DVR_Upgrade_V40 |
Access Control Terminal | Get remote upgrading progress | NET_DVR_GetUpgradeProgress |
Access Control Terminal | Get remote upgrading status | NET_DVR_GetUpgradeState |
Access Control Terminal | Close remote upgrading handle, and release resource | NET_DVR_CloseUpgradeHandle |
Access Control Terminal | Restore default settings | NET_DVR_RestoreConfig |
Access Control Terminal | Reboot device | NET_DVR_RebootDVR |


The Main Procedure of SDK Interfaces Calling

The part in dashed box is optional and will not affect the function and use of other process and modules. It can be divided into ten parts by different realization functions. The following four parts: initialize SDK, user register devices, logout and release SDK resource is essential to each module.

  • SDK initial(NET_DVR_Init): Initialization of the whole network SDK, operations like memory pre-allocation.
  • Set connection timeout (NET_DVR_SetConnectTime ):This part is optional, and used to set the network connection timeout of SDK. User can set this value to their own needs. You will use the default value when you don't call this interface to set timeout.
  • Set reception message callback function(NET_DVR_SetDVRMessage or NET_DVR_SetExceptionCallBack_V30):Most module functions of the SDK are achieved by the asynchronous mode, so we provide this interface for receiving reception message of preview, alarm, playback, transparent channel and voice talk process. Clients can set this callback function after initializing SDK, receive process exception message of each module in application layer.
  • Obtain the device IP address from IP analyze server(NET_DVR_GetDVRIPByResolveSvr): This interface provides a way to obtain device IP address information from IP analyze server when just know the device name and serial number. Such as: the current device obtain a dynamic IP address via dial-up access, and PC runs IPServer software can be aan analyze server, we could input the analyze server IP address, device name and serial number for searching the IP address of this device. IPServer is a domain name analyze server software provided by us.
  • User register to device(NET_DVR_Login_V30 ): Realize user register function. After registering sucessfully,the returned user ID as a unique identifier for other function operations. The max login number is 2048. For specific devices, there permits 32 register user names and at most 128 user register when using device ver higher than V3.0; there permits 16 register user names and at most 128 user register when using device ver lower than V3.0.
  • Preview module:Get real-time stream data from front-end sever, decode and display, player control and capture. See the specific process Preview Module Procedure.
  • Playback and download module:Remote playback or download the record files in front-end server by time or file name, then do decoding or storing. Also supports HTTP functionality. See the specific process Playback And Download Module Procedure.
  • Parameter configuration module: set and retrieve the parameters of front-end server, including information like device parameters, network parameters, channel compression parameters, serial port parameters, alarm parameters, abnormal parameters, transaction information and user configuration parameters. See the specific process Parameter Configuration Module Procedure.
  • Remote equipment maintenance module: imlementing trun off the device, restart the device, resotre the default values, format a remote HDD, remote upgrade and configuration file import/export. See the specific process Remote Device Maintenance Module Procedure.
  • Voice talk and forward module: implement voice talk with front-end and obtain voice data, audio encoding format can be specified. See the specific process Voice Talk And Forward Module Procedure.
  • Alarm module: handle all kinds of alarm signals uploaded by front-end. Alarm can be devided into two ways into "arm" and "listen", it doesn't require you to do operations like "user register" when using "listen" module and without the need of obtain user ID. See the specific process Alarm Module Procedure.
  • Transparent channel module: transparent channel is a technology that analyzing data packets and sent diretly to serial prot. Actually an extension of serail device control in distance. You can use IP network to control serial device, such as decoder, matrix, alarm host,access control, instrumentation and other serial devices, user only see point to point transparent, without concern for network transmission process, so it's called a transparent serial channel. Network SDK provides 485 and 232 serial ports as transparent channels, you must set 232 work mode to transparent channel in 232 configuration information structure NET_DVR_RS232CFG at first, so that 232 can be used as transparent channel. See the specific process Transparent Channel Module Procedure.
  • PTZ control module: To achieve the basic operations of PTZ, preset, cruise, track and transparent PTZ control. SDK will be divided into two modes: one is the handle returned by the image preview control, the other is no limited preview, do PTZ control through user register ID.
  • Decoder modules: implement functions like configuration, decoding control of decoder devices. Network SDK supports single and multiple decodes, currently multi-channel decoder is more popular. See the specific process Multi-channel Decoder Function Module Procedure.

Notes:The resource codes provided in this user manual are all complied with VC, we can provide other DEMOs complied with different languages.


Preview Module Procedure

Device Network SDK Programming Manual

Procedure of Preview Module

  • It supports TCP, UDP, RTP, or MULTICAST mode when real-time preview.
  • For real-time preview, the maximum connections of each channel is limited, and the maximum value is different in different device, every channel of DS-91xxHFI-ST, DS-90xxHFI-ST, DS-96xxNI-ST, DS-80xxHFI-ST, DS81xxHFI/HEI-ST, DS-73xxHFI-ST serial device has no limited the connections in the meantime, but each device supports max 128 channels in the meantime.
    Every channel of DS-81xxHFI/HEI/HCI/HSI/HLI-S series device supports 6 connections in the meantime. Every device of these series supports max 24 channels connected in the meantime.
    Every channel of DS-90xxHFI-S（H）, DS-81xxHFI-S(H) Hybrid DVR supports 6 connections in the meantime. Every device of these series supports max 64 channels connected in the meantime.
    Every channel of IP device supports 6 connections in the meantime.
Flow chart of preview module and the related module

The modules shown by dotted line is related with preview module, and these interfaces can be called only after starting preview. They are parallel and realize their corresponding function independently.

  • Sound control function mainly realizes opening or closing the exclusive or share sound, and volume control. Related API: NET_DVR_OpenSound, NET_DVR_CloseSound, NET_DVR_OpenSoundShare, NET_DVR_CloseSoundShare, NET_DVR_Volume
  • Module of real-time stream data capture and record mainly realizes data callback and local record. Related API: NET_DVR_SetRealDataCallBack, NET_DVR_SetStandardDataCallBack, NET_DVR_SaveRealData.
  • Picture capture module mainly realizes capturing current decoded image and saving as BMP file. Related API: NET_DVR_CapturePicture.
  • PTZ control module mainly realizes operating PTZ control which needs starting preview, including PTZ preset, patrol, pattern and transparent PTZ. Related API: NET_DVR_PTZControl, NET_DVR_PTZControl_EX, NET_DVR_PTZPreset, NET_DVR_PTZPreset_EX, NET_DVR_PTZCruise, NET_DVR_PTZCruise_EX, NET_DVR_PTZTrack, NET_DVR_PTZTrack_EX, NET_DVR_TransPTZ, NET_DVR_TransPTZ_EX.

Decoding method of real-time stream

  • Method 1: If set the handle of play window in preview interface NET_DVR_RealPlay_V40 to be valid handle, the data will be decoded and displayed by SDK: after initailizing SDK and logining device, call directly starting or stopping preview interface.

  • Method 2: Users can get stream data to handle by setting the handle of play window in preview interface NET_DVR_RealPlay_V40 to be NULL and calling callback interface( set the callback function in NET_DVR_RealPlay_V40, or call NET_DVR_SetRealDataCallBack or NET_DVR_SetStandardDataCallBack).

We take the example by setting the callback in NET_DVR_RealPlay_V30().

Example code

Method 1(decode by SDK)

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
#include <time.h>
using namespace std;

void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser)
{
    char tempbuf[256] = {0};
    switch(dwType)
    {
    case EXCEPTION_RECONNECT:    //reconnect when preview
    printf("----------reconnect--------%d\n", time(NULL));
    break;
    default:
    break;
    }
}

void main() {

  //---------------------------------------
  // Get the window handle of the console
  HMODULE hKernel32 = GetModuleHandle("kernel32");
  GetConsoleWindow = (PROCGETCONSOLEWINDOW)GetProcAddress(hKernel32,"GetConsoleWindow");

  //---------------------------------------
  //Initialize SDK
  NET_DVR_Init();
  //Set connect time and reconnect time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  //Login device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  //---------------------------------------
  //Set exception callback function
  NET_DVR_SetExceptionCallBack_V30(0, NULL,g_ExceptionCallBack, NULL);

  //---------------------------------------
  //Start preview and set to callback stream data
  LONG lRealPlayHandle;
  HWND hWnd = GetConsoleWindow();     //Get window handle
  NET_DVR_PREVIEWINFO struPlayInfo = {0};
  struPlayInfo .hPlayWnd = hWnd;         //If need to decode, please set it valid. If want to get stream data only, it can be set to NULL
  struPlayInfo .lChannel     = 1;       //Preview channel NO.
  struPlayInfo .dwStreamType = 0;       //0-main stream, 1-sub stream, 2-stream3, 3-stream4.
  struPlayInfo.dwLinkMode = 0;         //0-TCP mode, 1-UDP mode, 2-Multi-play mode, 3-RTP mode, 4-RTP/RTSP, 5-RTSP/HTTP
  struPlayInfo.bBlocked     = 1;       //0- non-blocking streaming, 1- blocking streaming

  lRealPlayHandle = NET_DVR_RealPlay_V40(lUserID, &struPlayInfo, NULL, NULL);
  if (lRealPlayHandle < 0)
  {
      printf("NET_DVR_RealPlay_V40 error\n");
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //---------------------------------------
  //Close preview
  NET_DVR_StopRealPlay(lRealPlayHandle);
  //Logout
  NET_DVR_Logout(lUserID);
  //Release SDK resource
  NET_DVR_Cleanup();

  return;
}

Method 2(Users theirselves deal with stream data called back. Take soft decode as an example. For the interfaces with PlayM4_, please refer to 《Player SDK Programmer Manual》)

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
#include <time.h>
#include "plaympeg4.h"
using namespace std;

LONG lPort; //Global Player port NO.

void CALLBACK g_RealDataCallBack_V30(LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void* dwUser)
{
    HWND hWnd=GetConsoleWindow();

    switch (dwDataType)
    {
    case NET_DVR_SYSHEAD: //System head

        if (!PlayM4_GetPort(&lPort))  //Get unused port
        {
            break;
        }
        //m_iPort = lPort; //The data called back at the first time is system header. Please assign this port to global port, and it will be used to play in next callback
        if (dwBufSize > 0)
        {
            if (!PlayM4_SetStreamOpenMode(lPort, STREAME_REALTIME))  //Set real-time stream playing mode
            {
                break;
            }

            if (!PlayM4_OpenStream(lPort, pBuffer, dwBufSize, 1024*1024)) //Open stream
            {
                break;
            }

            if (!PlayM4_Play(lPort, hWnd)) //Start play
            {
                break;
            }
        }
    case NET_DVR_STREAMDATA:   //Stream data
        if (dwBufSize > 0 && lPort != -1)
        {
            if (!PlayM4_InputData(lPort, pBuffer, dwBufSize))
            {
                break;
            }
        }
    }
}

void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser)
{
    char tempbuf[256] = {0};
    switch(dwType)
    {
    case EXCEPTION_RECONNECT:    //reconnect when preview
    printf("----------reconnect--------%d\n", time(NULL));
    break;
    default:
    break;
    }
}

void main() {

  //---------------------------------------
  // Get the window handle of the console
  HMODULE hKernel32 = GetModuleHandle("kernel32");
  GetConsoleWindow = (PROCGETCONSOLEWINDOW)GetProcAddress(hKernel32,"GetConsoleWindow");

  //---------------------------------------
  //Initialize SDK
   NET_DVR_Init();
  //Set connection time and reconnection time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  // Login
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  //---------------------------------------
  //Set exception callback function
  NET_DVR_SetExceptionCallBack_V30(0, NULL,g_ExceptionCallBack, NULL);

  //---------------------------------------
  //Start preview and set to callback stream data
  LONG lRealPlayHandle;
   NET_DVR_PREVIEWINFO struPlayInfo = {0};
  struPlayInfo .hPlayWnd = hWnd;         //If need to decode, please set it valid. If want to get stream data only, it can be set to NULL
  struPlayInfo .lChannel     = 1;       //Preview channel NO.
  struPlayInfo .dwStreamType = 0;       //0-main stream, 1-sub stream, 2-stream3, 3-stream4.
  struPlayInfo.dwLinkMode = 0;         //0-TCP mode, 1-UDP mode, 2-Multi-play mode, 3-RTP mode, 4-RTP/RTSP, 5-RTSP/HTTP

  lRealPlayHandle = NET_DVR_RealPlay_V40(lUserID, &struPlayInfo, NULL, NULL);
  if (lRealPlayHandle < 0)
  {
      printf("NET_DVR_RealPlay_V30 error\n");
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //---------------------------------------
  //Close preview
  NET_DVR_StopRealPlay(lRealPlayHandle);
  //Logout
  NET_DVR_Logout_V30(lUserID);
  NET_DVR_Cleanup();

  return;
}


Playback and Download Procedure

Device Network SDK Programming Manual

Playback and Download Module Procedure

  • Playback or download by file need to get file information through reseaching file function at first(regarding interface NET_DVR_FindFile_V40, NET_DVR_FindNextFile_V40),then start playback or download refer to obtained file name(regarding interface NET_DVR_PlayBackByName, NET_DVR_GetFileByName),especially note that you must use start play command(NET_DVR_PLAYSTART) of control interface (NET_DVR_PlayBackControl_V40)after calling playback or download interfaces.

  • Playback or download by time, user couldn't call interfaces regarding researching record files. Just need to fix start and finish time of playback or download interface(regarding interface NET_DVR_PlayBackByTime_V40, NET_DVR_GetFileByTime_V40),Then must call start play command(NET_DVR_PLAYSTART)of control interface(NET_DVR_PlayBackControl_V40). At this time, start playback or download within the specified time with record videos in the recent period of time. User can call the relevant interfaces of researching record files, obtain start and finish time of file, and specify the time parameters of playback or download interfaces in this time range.You must use start play command(NET_DVR_PLAYSTART) of control interface (NET_DVR_PlayBackControl_V40)after calling playback or download interfaces, too.
  • In Linux,If playback window handle is not NULL(which requires SDK decoding display) when playback by file and time, need to call initialization window interface(NET_DVR_DrawAreaInit)to initialize the SDL window can show the normal decoding display, need to call release window resource interface when stop playback.(NET_DVR_DrawAreaRelease)realase window resource.
  • User could call NET_DVR_SET_TRANS_TYPE to set the encapsulation format of playback or download stream in accordance with the format of transcoding encapsulation,the transcoding format settings should be called before NET_DVR_PLAYSTART

Example code

Example 1: Find and download the record files

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

int saveRecordFile(int userId,char * srcfile,char * destfile)
{
    int bRes = 1;
    int hPlayback = 0;
    if( (hPlayback = NET_DVR_GetFileByName(userId, srcfile, destfile)) < 0 )
    {
        printf( "GetFileByName failed. error[%d]\n", NET_DVR_GetLastError());
        bRes= -1;
        return bRes;
    }

    if(!NET_DVR_PlayBackControl(hPlayback, NET_DVR_PLAYSTART, 0, NULL))
    {
        printf("play back control failed [%d]\n",NET_DVR_GetLastError());
        bRes=-1;
        return bRes;
    }

    int nPos = 0;
    for(nPos = 0;  nPos < 100&&nPos>=0; nPos = NET_DVR_GetDownloadPos(hPlayback))
    {
        Sleep(5000);  //millisecond
    }
    printf("have got %d\n", nPos);

    if(!NET_DVR_StopGetFile(hPlayback))
    {
        printf("failed to stop get file [%d]\n",NET_DVR_GetLastError());
        bRes = -1;
        return bRes;
    }
    printf("%s\n",srcfile);

    if(nPos<0||nPos>100)
    {
        printf("download err [%d]\n",NET_DVR_GetLastError());
        bRes=-1;
        return bRes;
    }
    else
    {
        return 0;
    }
}

void main() {

  //---------------------------------------
  //Init device
  NET_DVR_Init();
  //Set connect time and reconnect time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  // Register device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  NET_DVR_FILECOND_V40 struFileCond={0};
  struFileCond.dwFileType = 0xFF;
  struFileCond.lChannel = 1;
  struFileCond.dwIsLocked = 0xFF;
  struFileCond.dwUseCardNo = 0;
  struFileCond.struStartTime.dwYear   = 2011;
  struFileCond.struStartTime.dwMonth  = 3;
  struFileCond.struStartTime.dwDay    = 1;
  struFileCond.struStartTime.dwHour   = 10;
  struFileCond.struStartTime.dwMinute = 6;
  struFileCond.struStartTime.dwSecond =50;
  struFileCond.struStopTime.dwYear    = 2011;
  struFileCond.struStopTime.dwMonth   = 3;
  struFileCond.struStopTime.dwDay     = 1;
  struFileCond.struStopTime.dwHour    = 11;
  struFileCond.struStopTime.dwMinute  = 7;
  struFileCond.struStopTime.dwSecond  = 0;

  //---------------------------------------
  //Find record file
  int lFindHandle = NET_DVR_FindFile_V40(lUserID, &struFileCond);
  if(lFindHandle < 0)
  {
      printf("find file fail,last error %d\n",NET_DVR_GetLastError());
      return;
  }
  NET_DVR_FINDDATA_V40 struFileData;
  while(true)
  {
      int result = NET_DVR_FindNextFile_V40(lFindHandle, &struFileData);
      if(result == NET_DVR_ISFINDING)
      {
          continue;
      }
      else if(result == NET_DVR_FILE_SUCCESS)
      {
          char strFileName[256] = {0};
          sprintf(strFileName, "./%s", struFileData.sFileName);
          saveRecordFile(lUserID, struFileData.sFileName,  strFileName);
          break;
      }
      else if(result == NET_DVR_FILE_NOFIND || result == NET_DVR_NOMOREFILE)
      {
          break;
      }
      else
      {
          printf("find file fail for illegal get file state");
          break;
      }
  }

  //Stop finding
  if(lFindHandle >= 0)
  {
      NET_DVR_FindClose_V30(lFindHandle);
  }

  //Logout device
  NET_DVR_Logout(lUserID);
  //Release sdk resource
  NET_DVR_Cleanup();
  return;
}

Example 2: Playback by time

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

void main() {

  //---------------------------------------
  //Init device
  NET_DVR_Init();
  //Set connect time and reconnect time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

   HMODULE hKernel32 = GetModuleHandle("kernel32");
  GetConsoleWindow = (PROCGETCONSOLEWINDOW)GetProcAddress(hKernel32,"GetConsoleWindow");

  //---------------------------------------
  //Register device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

   NNET_DVR_VOD_PARA struVodPara={0};
  struVodPara.dwSize=sizeof(struVodPara);
  struVodPara.struIDInfo.dwChannel=1;
  struVodPara.hWnd=hWnd;

  struVodPara.struBeginTime.dwYear   = 2013;
  struVodPara.struBeginTime.dwMonth  = 6;
  struVodPara.struBeginTime.dwDay    = 14;
  struVodPara.struBeginTime.dwHour   = 9;
  struVodPara.struBeginTime.dwMinute = 0;
  struVodPara.struBeginTime.dwSecond =0;
  struVodPara.struEndTime.dwYear    = 2013;
  struVodPara.struEndTime.dwMonth   = 6;
  struVodPara.struEndTime.dwDay     = 14;
  struVodPara.struEndTime.dwHour    = 10;
  struVodPara.struEndTime.dwMinute  = 7;
  struVodPara.struEndTime.dwSecond  = 0;

  HWND hWnd = GetConsoleWindow();     //get window handle

  //---------------------------------------
  //Playback by time
  int hPlayback;
  hPlayback = NET_DVR_PlayBackByTime_V40(lUserID, &struVodPara);
  if(hPlayback < 0)
  {
      printf("NET_DVR_GetFileByTime_V40 fail,last error %d\n",NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //---------------------------------------
  //Start
  if(!NET_DVR_PlayBackControl_V40(hPlayback, NET_DVR_PLAYSTART, 0, NULL, NULL))
  {
      printf("play back control failed [%d]\n",NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  Sleep(15000);  //millisecond
  if(!NET_DVR_StopPlayBack(hPlayback))
  {
      printf("failed to stop file [%d]\n",NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //Logout device
  NET_DVR_Logout(lUserID);
  //Release sdk resource
  NET_DVR_Cleanup();
  return;
}

Example 3: Download record file by time

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

void main() {

  //---------------------------------------
  //Init device
  NET_DVR_Init();
  //Set connect time and reconnect time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  //Register device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  NET_DVR_PLAYCOND struDownloadCond={0};
  struDownloadCond.dwChannel=1;

  struDownloadCond.struStartTime.dwYear   = 2013;
  struDownloadCond.struStartTime.dwMonth  = 6;
  struDownloadCond.struStartTime.dwDay    = 14;
  struDownloadCond.struStartTime.dwHour   = 9;
  struDownloadCond.struStartTime.dwMinute = 50;
  struDownloadCond.struStartTime.dwSecond =0;
  struDownloadCond.struStopTime.dwYear    = 2013;
  struDownloadCond.struStopTime.dwMonth   = 6;
  struDownloadCond.struStopTime.dwDay     = 14;
  struDownloadCond.struStopTime.dwHour    = 10;
  struDownloadCond.struStopTime.dwMinute  = 7;
  struDownloadCond.struStopTime.dwSecond  = 0;

  //---------------------------------------
  //Download by time
  int hPlayback;
  hPlayback = NET_DVR_GetFileByTime_V40(lUserID, "./test.mp4",&struDownloadCond);
  if(hPlayback < 0)
  {
      printf("NET_DVR_GetFileByTime_V40 fail,last error %d\n",NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //---------------------------------------
  //Start downloading
  if(!NET_DVR_PlayBackControl_V40(hPlayback, NET_DVR_PLAYSTART, 0, NULL, NULL))
  {
      printf("play back control_V40 failed [%d]\n",NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  int nPos = 0;
  for(nPos = 0; nPos < 100&&nPos>=0; nPos = NET_DVR_GetDownloadPos(hPlayback))
  {
      Sleep(5000);  //millisecond
  }
  if(!NET_DVR_StopGetFile(hPlayback))
  {
      printf("failed to stop get file [%d]\n",NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }
  if(nPos<0||nPos>100)
  {
      printf("download err [%d]\n",NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //Logout device
  NET_DVR_Logout(lUserID);
  //Release sdk resource
  NET_DVR_Cleanup();
  return;
}


Parameter Configuration Procedure

Device Network SDK Programming Manual

Parameter Configuration Module Procedure

  • If you want to do parameters configuration, you must do SDK initialization and user register at first, use the returned ID number as the first parameter of interface configuration. Proposal to call interface(NET_DVR_GetDVRConfig) to get parameters for complete argument structure before setting each certain parameter, modify the parameters need to change, as input parameters for setting parameter interface. At last call setting parameter interface(NET_DVR_SetDVRConfig),Setting successfully if return successfully.

    Example Code

    Compression configuration(NET_DVR_COMPRESSIONCFG_V30)

    #include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

void main() {

  //---------------------------------------
  //Init device
  NET_DVR_Init();
  //Set connect time and reconnect time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  // Register device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  int iRet;
  //Get compression parameter
  DWORD dwReturnLen;
  NET_DVR_COMPRESSIONCFG_V30 struParams = {0};
  iRet = NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_COMPRESSCFG_V30, struDeviceInfo.byStartChan, \
          &struParams, sizeof(NET_DVR_COMPRESSIONCFG_V30), &dwReturnLen);
  if (!iRet)
  {
      printf("NET_DVR_GetDVRConfig NET_DVR_GET_COMPRESSCFG_V30 error.\n");
      NET_DVR_Logout_V30(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //Set compression parameter
  struParams.struNormHighRecordPara.dwVideoBitrate = 22;
  iRet = NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_COMPRESSCFG_V30, struDeviceInfo.byStartChan, \
          &struParams, sizeof(NET_DVR_COMPRESSIONCFG_V30));
  if (!iRet)
  {
      printf("NET_DVR_GetDVRConfig NET_DVR_SET_COMPRESSCFG_V30 error.\n");
      NET_DVR_Logout_V30(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //Get compression parameter
  iRet = NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_COMPRESSCFG_V30, struDeviceInfo.byStartChan, \
          &struParams, sizeof(NET_DVR_COMPRESSIONCFG_V30), &dwReturnLen);
  if (!iRet)
  {
      printf("NET_DVR_GetDVRConfig NET_DVR_GET_COMPRESSCFG_V30 error.\n");
      NET_DVR_Logout_V30(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  printf("Video Bitrate is %d\n", struParams.struNormHighRecordPara.dwVideoBitrate);
  //Logout device
  NET_DVR_Logout(lUserID);
  //Release sdk resource
  NET_DVR_Cleanup();
  return;
}


Remote Maintenance Module

Device Network SDK Programming Manual

Procedure of Remote Maintenance Module for Device

Remote maintenance module for device consists of getting device status, remote upgrade, log query, restoring default settings, and importing & exporting configuration file.

  • Get device status: get current status of hard disks, channels, alarm input & output, local display, voice channels, and so on. Related API: NET_DVR_GetDVRWorkState_V30.
  • Remote upgrade: upgrade device remotely, and get current progress and status of upgrade. Related API: NET_DVR_Upgrade, NET_DVR_GetUpgradeProgress, NET_DVR_GetUpgradeState.
  • Query log: query log message, including alarm, exception, operation, and log with S.M.A.R.T information. Related API: NET_DVR_FindDVRLog_V30, NET_DVR_FindNextLog_V30.
  • Restore default configuration for device. Related API: NET_DVR_RestoreConfig.
  • Import or export configuration file: export and save all configuration information, or import configuration to the device. Related API: NET_DVR_GetConfigFile_V30, NET_DVR_GetConfigFile, NET_DVR_SetConfigFile_EX, NET_DVR_SetConfigFile.

Example code

Log query

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

void main() {

    //---------------------------------------
    //Init device
    NET_DVR_Init();
    //Set connect time and reconnect time
    NET_DVR_SetConnectTime(2000, 1);
    NET_DVR_SetReconnect(10000, true);

    //---------------------------------------
    //Register device
    LONG lUserID;
    NET_DVR_DEVICEINFO_V30 struDeviceInfo;
    lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
    if (lUserID < 0)
    {
         printf("Login error, %d\n", NET_DVR_GetLastError());
         NET_DVR_Cleanup();
         return;
    }

    NET_DVR_TIME struStartTime, struStopTime;
    struStartTime.dwYear    = 2011;
    struStartTime.dwMonth   = 3;
    struStartTime.dwDay     = 2;
    struStartTime.dwHour    = 9;
    struStartTime.dwMinute  = 0;
    struStartTime.dwSecond  =0;

    struStopTime.dwYear     = 2011;
    struStopTime.dwMonth    = 3;
    struStopTime.dwDay      = 2;
    struStopTime.dwHour     = 9;
    struStopTime.dwMinute   = 10;
    struStopTime.dwSecond   = 0;

    //---------------------------------------
    //Find DVR log
    int lFindHandle = NET_DVR_FindDVRLog_V30(lUserID, 0, 0, 0, &struStartTime, &struStopTime, FALSE);
    if(lFindHandle < 0)
    {
        printf("find log fail,last error %d\n",NET_DVR_GetLastError());
        return;
    }
    NET_DVR_LOG_V30 struLog;
    while(true)
    {
        int result = NET_DVR_FindNextLog_V30(lFindHandle, &struLog);
        if(result == NET_DVR_ISFINDING)
        {
            printf("finding\n");
            continue;
        }
        else if(result == NET_DVR_FILE_SUCCESS)
        {
            char strLog[256] = {0};
            printf("log:%04d-%02d-%02d %02d:%02d:%02d\n", struLog.strLogTime.dwYear, struLog.strLogTime.dwMonth, struLog.strLogTime.dwDay, \
                struLog.strLogTime.dwHour,struLog.strLogTime.dwMinute, struLog.strLogTime.dwSecond);
        }
        else if(result == NET_DVR_FILE_NOFIND || result == NET_DVR_NOMOREFILE)
        {
            printf("find ending\n");
            break;
        }
        else
        {
            printf("find log fail for illegal get file state\n");
            break;
        }
    }

    //Stop
    if(lFindHandle > 0)
    {
        NET_DVR_FindLogClose_V30(lFindHandle);
    }

    //Logout
    NET_DVR_Logout(lUserID);
    //Release sdk resource
    NET_DVR_Cleanup();
    return;
}


Voice Talk, Forward Module Procedure

  • Voice talk function realizes audio send and receive between PC client and device. It is completed by calling interface NET_DVR_StartVoiceCom_V30 after device registers successfully. User can set callback function with this interface to get data sent from current device or sample by PC (choose callback encoded or PCM data by requirments).
  • Voice forward function realizes forward encoded audio data to device, the steps is as following:
    1. Please call NET_DVR_StartVoiceCom_MR_V30 to start voice forward with a device(build connection with the device, wait for sending data at this time).
    2. Ready for sending data(need to encode at first), corresponds dotted part of the above image, if data has been handled according the audio compression format, this part could be omitted. Data sources can be collected from the PC sound card, or read from files, but need to compressed by private algorithm, SDK provides a set of coding interfaces:
      If the audio format is G722: 1)initialize audio codec- NET_DVR_InitG722Encoder; 2)G722 audio codec- NET_DVR_EncodeG722Frame,parameters of the interface have certain requirments, please see details from the API description; 3)Please call NET_DVR_ReleaseG722Encoder to release encoding audio resources after all encoding process finished.
      If the auido format is G711: please call NET_DVR_EncodeG711Frame to encoding the audio data directly.
      If the audio format is G726: 1)initialize audio codec- NET_DVR_InitG726Encoder; 2)G726 audio codec- NET_DVR_EncodeG726Frame,parameters of the interface have certain requirments, please see details from the API description; 3)Please call NET_DVR_ReleaseG726Encoder to release encoding audio resources after all encoding process finished.
    3. After the encoding operation, we can get fixed size and encoded data every time, and then call interface NET_DVR_VoiceComSendData to send these data to device. After all forward functions completed, call interface NET_DVR_StopVoiceCom to finish audio forward connection with device.
  • Linux SDK only supports voice forward function currently, doesn't support voice talk.

Example code>Example 1: Voice talk

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

void CALLBACK fVoiceDataCallBack(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser)
{
    printf("receive voice data, %d\n", dwBufSize);
}

void main() {

    //---------------------------------------
    //Init device
    NET_DVR_Init();
    //Set connect time and reconnect time
    NET_DVR_SetConnectTime(2000, 1);
    NET_DVR_SetReconnect(10000, true);

    //---------------------------------------
    //Register device
    LONG lUserID;
    NET_DVR_DEVICEINFO_V30 struDeviceInfo;
    lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
    if (lUserID < 0)
    {
         printf("Login error, %d\n", NET_DVR_GetLastError());
         NET_DVR_Cleanup();
         return;
    }

    //Start voice talk
    LONG lVoiceHanle;
    lVoiceHanle = NET_DVR_StartVoiceCom_V30(lUserID, 1,0, fVoiceDataCallBack, NULL);
    if (lVoiceHanle < 0)
    {
        printf("NET_DVR_StartVoiceCom_V30 error, %d!\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    Sleep(5000);  //millisecond
    //Stop voice talk
    if (!NET_DVR_StopVoiceCom(lVoiceHanle))
    {
        printf("NET_DVR_StopVoiceCom error, %d!\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    //Logout device
    NET_DVR_Logout(lUserID);
    //Release sdk resource
    NET_DVR_Cleanup();
    return;
}

Example 2: Voice forward

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

void CALLBACK fVoiceDataCallBack(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser)
{
    //The audio data here can either be the encoded data sent by the device, or the encoded data locally collected.
    NET_DVR_VoiceComSendData(lVoiceComHandle, pRecvDataBuffer, 80);
}

void main() {

    //---------------------------------------
    //Init device
    NET_DVR_Init();
    //Set connect time and reconnect time
    NET_DVR_SetConnectTime(2000, 1);
    NET_DVR_SetReconnect(10000, true);

    //---------------------------------------
    //Register device
    LONG lUserID;
    NET_DVR_DEVICEINFO_V30 struDeviceInfo;
    lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
    if (lUserID < 0)
    {
         printf("Login error, %d\n", NET_DVR_GetLastError());
         NET_DVR_Cleanup();
         return;
    }

    //Start voice forward
    LONG lVoiceHanle;
    lVoiceHanle = NET_DVR_StartVoiceCom_MR_V30(lUserID, 1, fVoiceDataCallBack, NULL);
    if (lVoiceHanle < 0)
    {
        printf("NET_DVR_StartVoiceCom_MR_V30 error, %d!\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    Sleep(5000);  //millisecond
    //Stop voice forward
    if (!NET_DVR_StopVoiceCom(lVoiceHanle))
    {
        printf("NET_DVR_StopVoiceCom error, %d!\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    //Logout device
    NET_DVR_Logout(lUserID);
    //Release sdk resource
    NET_DVR_Cleanup();
    return;
}


Alarm Module Procedure

Device Network SDK Programming Manual

Alarm Module

Alarm can be divided into "arm" and "listen". You can receive information like motion detection alarm, video loss alarm, block alarm and signal occlusion alarm uploaded by devices.

  • "Arm" alarm mode:SDK connects to device actively, and send alarm upload command, send to SDK immediatly when there's an alarm.
    refer to the above "procedure chart","arm" needs to register (NET_DVR_Login_V30)at first. Dotted part is the necessary conditions of achieving alarm information upload. Mainly complete configuration of relevant alarm conditions and handle ways, the parameter configuration interface isNET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig. the supported alarm types are motion detection, video signal loss, block and signal alarm, the configuration structure of first three alarm types corresponding alarm conditions and handle ways is NET_DVR_PICCFG_V30,and signal alarm configuration structure is NET_DVR_ALARMINCFG_V30. If these parameters are already configured, dotted part can be omitted. The following is setting alarm callback function(NET_DVR_SetDVRMessageCallBack_V30 and other functions),Also need to set arm after deploying successfully(NET_DVR_SetupAlarmChan_V30).
    • Still need to call functions like call disarm interface after the whole alarm upload process finishs.
  • "Listen" alarm mode:indicates SDK dosen't connect to device actively, just listen to alarm message devices uploaded actively at set port.
    So this procedure needs to remote configure device alarm host IP address(PC address) and alarm host port(PC listen port). Alarm host listen and receive alarm message uploaded alarm message at this port. If alarm host address and alarm host port completed cofiguration. Then dotted part of "alarm(listen)process chart" "user register" and "cofigure alarm host address and port" parts can be omitted,But no configuration beforehand, must call parameter configuration interface(NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig)configure network parameters by interface(NET_DVR_NETCFG_V30). And the dotted part"configure alarm conditions and handle ways" is the same with "arm". After setting all the parameters needs to configure, Call interface NET_DVR_StartListen_V30. Open SDK listen port, ready for receiving device uploaded alarm information. This method is applicable to some devices upload alarm to a client, and doesn't need to login device, the device doesn't affect alarm upload after device reboot; drawback is that devices support only one alarm host address and port number configuration.

Example code

Example 1:Alarm arm

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

void CALLBACK MessageCallback(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser)
{
  int i;
  NET_DVR_ALARMINFO struAlarmInfo;
  memcpy(&struAlarmInfo, pAlarmInfo, sizeof(NET_DVR_ALARMINFO));
  switch(lCommand)
  {
  case COMM_ALARM:
      {
          switch (struAlarmInfo.dwAlarmType)
          {
          case 3: //motion dection alarm
               for (i=0; i<16; i++)   //#define MAX_CHANNUM   16  //Maximun channel number
               {
                   if (struAlarmInfo.dwChannel[i] == 1)
                   {
                       printf("Motion detection channel number %d\n", i+1);
                   }
               }
          break;
          default:
          break;
          }
       }
  break;
  default:
  break;
  }
}

void main() {

  //---------------------------------------
  //Init device
  NET_DVR_Init();
  // Set connect time and reconnect time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  //Register device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  //Set alarm message callback
  NET_DVR_SetDVRMessageCallBack_V30(MessageCallback, NULL);

  //Setup alarm channel
  LONG lHandle;
  lHandle = NET_DVR_SetupAlarmChan_V30(lUserID);
  if (lHandle < 0)
  {
      printf("NET_DVR_SetupAlarmChan_V30 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  Sleep(5000);
  //Close alarm channel
  if (!NET_DVR_CloseAlarmChan_V30(lHandle))
  {
      printf("NET_DVR_CloseAlarmChan_V30 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //Device Logout
  NET_DVR_Logout(lUserID);
  //Release sdk resource
  NET_DVR_Cleanup();
  return;
}

Example 2: Alarm listen

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

void CALLBACK MessageCallback(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser)
{
  int i;
  NET_DVR_ALARMINFO struAlarmInfo;
  memcpy(&struAlarmInfo, pAlarmInfo, sizeof(NET_DVR_ALARMINFO));
  switch(lCommand)
  {
  case COMM_ALARM:
      {
          switch (struAlarmInfo.dwAlarmType)
          {
          case 3: //motion detection alarm
               for (i=0; i<16; i++)   //#define MAX_CHANNUM   16  //Maximum channel number.
               {
                   if (struAlarmInfo.dwChannel[i] == 1)
                   {
                       printf("Motion detection channel number. %d\n", i+1);
                   }
               }
          break;
          default:
          break;
          }
       }
  break;
  default:
  break;
  }
}

void main() {

  //---------------------------------------
  //Init device
  NET_DVR_Init();
  // Set connect time and reconnect time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  //Register device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  //Set alarm callback
  NET_DVR_SetDVRMessageCallBack_V30(MessageCallback, NULL);

  //Start listen
  LONG lHandle;
  lHandle = NET_DVR_StartListen_V30(NULL,7200, MessageCallback, NULL);
  if (lHandle < 0)
  {
      printf("NET_DVR_SetupAlarmChan_V30 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  Sleep(5000);
  // Stop listen
  if (!NET_DVR_StopListen_V30(lHandle))
  {
      printf("NET_DVR_StopListen_V30 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //Device logout
  NET_DVR_Logout(lUserID);
  //Release sdk resource
  NET_DVR_Cleanup();
  return;
}


Transparent Channel Module Procedure

  • SDK provides to use 485 and 232 as transparent channels. when using 232 serial port as transparent channel. At first you must set work mode of 232 configuration information to transparent channel mode.The specific way is calling interface NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig to get and set parameter dwWorkMode of NET_DVR_RS232CFG to transparent channel. When using 485 serial port as transparent channel. This step can be omitted. Call NET_DVR_SerialStart to build transparent channel and NET_DVR_SerialSend to send data . Need to do operations like break transparent channel (NET_DVR_SerialStop)after the whole process finished.

Example code

Take 232 seriel port as an example

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

//External implement of callback transparent function
void CALLBACK g_fSerialDataCallBack(LONG lSerialHandle, char *pRecvDataBuffer, DWORD dwBufSize, DWORD dwUser)
{
    //…… Deal with the transparent data, the data recieved are in pRecvDataBuffer.
}

void main() {

    //---------------------------------------
    //Init device
    NET_DVR_Init();
    //Set connect time and reconnect time
    NET_DVR_SetConnectTime(2000, 1);
    NET_DVR_SetReconnect(10000, true);

    //---------------------------------------
    //Register device
    LONG lUserID;
    NET_DVR_DEVICEINFO_V30 struDeviceInfo;
    lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
    if (lUserID < 0)
    {
         printf("Login error, %d\n", NET_DVR_GetLastError());
         NET_DVR_Cleanup();
         return;
    }

    //Set 232 to transparent channel mode(485 is not necessary to call this interface used for 232 transparent channel)
    DWORD dwReturned = 0;
    NET_DVR_RS232CFG_V30 struRS232Cfg;
    memset(&struRS232Cfg, 0, sizeof(NET_DVR_RS232CFG_V30));
    if (!NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_RS232CFG_V30, 0, &struRS232Cfg, sizeof(NET_DVR_RS232CFG_V30), &dwReturned))
    {
        printf("NET_DVR_GET_RS232CFG_V30 error, %d\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    struRS232Cfg.struRs232.dwWorkMode = 2;   //set 232 to transparent channel mode;0: narrow-band transmission, 1: console, 2: transparent channel
    if (!NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_RS232CFG_V30, 0, &(struRS232Cfg), sizeof(NET_DVR_RS232CFG)))
    {
        printf("NET_DVR_SET_RS232CFG_V30 error, %d\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    //Set up transparent channel
    LONG lTranHandle;
    int iSelSerialIndex = 1; //1:RS-232;RS-485
    lTranHandle = NET_DVR_SerialStart(lUserID, iSelSerialIndex, g_fSerialDataCallBack, lUserID);//configure callback function to obtain transparent data
    if (lTranHandle < 0)
    {
        printf("NET_DVR_SerialStart error, %d\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    //Send data through transparent channel
    LONG lSerialChan = 0;//valid when using 485, begin with 1; set to 2 when using 232
    char szSendBuf[1016] = {0};
    if (!NET_DVR_SerialSend(lTranHandle, lSerialChan, szSendBuf, sizeof(szSendBuf))) //szSendBuf is send data buffer,iBufLen is buffer size

    {
        printf("NET_DVR_SerialSend error, %d\n", NET_DVR_GetLastError());
        NET_DVR_SerialStop(lTranHandle);
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    //Stop transparent channel
    NET_DVR_SerialStop(lTranHandle);
    //Logout device
    NET_DVR_Logout(lUserID);
    //Release sdk resource
    NET_DVR_Cleanup();
    return;
}


Procedure of Remote Maintenance Module for Device

Device Network SDK Programming Manual

Hybrid DVR Resource Cofiguration

  • Hybrid DVR device: if want to implement IPC access function needs call IP access configuration parameters for getting resources and re-allocation .
  • Client registers devices(NET_DVR_Login_V30)to get device information NET_DVR_DEVICEINFO_V30 of analog cha of analog channel number (byChanNum)and digital channel number(byIPChanNum), then to know the max supported analog and digital channel number, and the start analog channel number(byStartNum), then by calling the remote configuration interface NET_DVR_GetDVRConfig (command parameter:NET_DVR_GET_IPPARACFG_V40) for getting information of IP resource(NET_DVR_IPPARACFG_V40): status of analog channel(byAnalogChanEnable), IP channel number(dwDChanNum), start of IP channel number(dwStartDChan), online status of IP channel, mode of getting stream, etc. By the remote configuration interface NET_DVR_GetDVRConfig (command paratmeter: NET_DVR_SET_IPPARACFG_V40), we can set the parameters of IP resource.
  • Digital alarm input and output channels of hybrid DVR are allocated by device automatically after digital video & audio channel resources allocation completed, if need to configure digital alarm parameters, at first need to call IP alarm input resources e/NET_DVR_IPALARMINCFG.html">NET_DVR_IPALARMINCFG and IP alarm output resources NET_DVR_IPALARMOUTCFG configuration structure to obtain resources. Then configure relevant channels configuration by alarm input configuration parameters interface NET_DVR_ALARMINCFG_V30 and alarm output configuration parameters interface NET_DVR_ALARMOUTCFG_V30.
  • Analog audio and video channels corresponding channel number of relevant parameters start from start channel number( login NET_DVR_Login_V30 and the return value NET_DVR_DEVICEINFO_V30 to know)to MAX_ANALOG_CHANNUM,IP resources corresponding device parameters configuration channel number is from MAX_ANALOG_CHANNUM+start channel number to MAX_CHANNUM_V30+start channel number. Analog alarm input channel number is from 0 to MAX_ANALOG_ALARMIN-1, IP alarm input channel number is from MAX_ANALOG_ALARMIN to MAX_ALARMIN_V30, alarm output is similar with alarm output.
  • The maximum number of audio and video channel resources is decided by current device DSP processing power(see DS-90XX devices instructions): 16 analog video and audio inputs + 8 normal IPC. 24 channels is the largest total channel number, it's a concepet of total resources; analog video and audio channels can be "enabled" or "disabled", "disable" an analog channel can add a more IPC channel, but can add 16 normal IPC channels at most; a 720 HD IPC channel takes two normal IPC channel resources.

    Normal channels configuration examples(take DS-9016 for example):
    use as DVR
    ——16* analog channels
    use as NVR
    ——16* normal IPC channels

    ——8* 720P HD IPC channels
    ——8* normal IPC channels + 4* 720P HD IP channels
    use as HybridDVR
    ——16* analog channels + 8* normal IPC channels

    ——16* analog channels + 4* 720P HD IPC channels

    ——16* analog channels + 4* normal IPC channels + 2* 720P HD IPC channels

    ——8* analog channels + 16* normal IPC channels
    ——8* analog channels + 8* 720P HD IPC channels
    ——8* analog channels + 8* normal IPC channels + 4* 720P HD IPC channels

Example code

Take Hybrid DVR alarm input and IP channel image parameters configuration as example

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "string.h"
#include "HCNetSDK.h"
using namespace std;
void main()
{
    int i=0;
    BYTE byIPID,byIPIDHigh;
    int iDevInfoIndex, iGroupNO, iIPCh;
    DWORD dwReturned = 0;

    //---------------------------------------
    // Init device
    NET_DVR_Init();
    //set the reconnect time and connect time
    NET_DVR_SetConnectTime(2000, 1);
    NET_DVR_SetReconnect(10000, true);

    //---------------------------------------
    // Register
    LONG lUserID;
    NET_DVR_DEVICEINFO_V30 struDeviceInfo;
    lUserID = NET_DVR_Login_V30("192.168.1.64", 8000, "admin", "12", &struDeviceInfo);
    if (lUserID < 0)
    {
        printf("Login error, %d\n", NET_DVR_GetLastError());
        NET_DVR_Cleanup();
        return;
    }

    printf("The max number of analog channels: %d\n",struDeviceInfo.byChanNum); //number of analog channel
    printf("The max number of IP channels: %d\n",struDeviceInfo.byIPChanNum);//number of IP channel

    //Get information of IP channel.
    NET_DVR_IPPARACFG_V40 IPAccessCfgV40;
    memset(&IPAccessCfgV40, 0, sizeof(NET_DVR_IPPARACFG));
    iGroupNO=0;
    if (!NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_IPPARACFG_V40, iGroupNO, &IPAccessCfgV40, sizeof(NET_DVR_IPPARACFG_V40), &dwReturned))
    {
        printf("NET_DVR_GET_IPPARACFG_V40 error, %d\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }
    else
    {
        for (i=0;i<IPAccessCfgV40.dwDChanNum;i++)
        {
            switch（IPAccessCfgV40.struStreamMode[i].byGetStreamType)
            {
            case 0: //get stream from device
                if (IPAccessCfgV40.struStreamMode[i].uGetStream.struChanInfo.byEnable)
                {
                    byIPID=IPAccessCfgV40.struStreamMode[i].uGetStream.struChanInfo.byIPID;
                    byIPIDHigh=IPAccessCfgV40.struStreamMode[i].uGetStream.struChanInfo.byIPIDHigh;
                    iDevInfoIndex=byIPIDHigh*256 + byIPID-1-iGroupNO*64;
                    printf("IP channel no.%d is online, IP: %s\n", i+1, IPAccessCfgV40.struIPDevInfo[iDevInfoIndex].struIP.sIpV4);
                }
                break;
            case 1: //get stream from stream server.
                if (IPAccessCfgV40.struStreamMode[i].uGetStream.struPUStream.struStreamMediaSvrCfg.byValid)
                {
                    printf("IP channel %d connected with the IP device by stream server.\n", i+1);
                    printf("IP of stream server: %s, IP of IP device: %s\n",IPAccessCfgV40.struStreamMode[i].uGetStream.\
                    struPUStream.struStreamMediaSvrCfg.struDevIP.sIpV4, IPAccessCfgV40.struStreamMode[i].uGetStream.\
                    struPUStream.struDevChanInfo.struIP.sIpV4);
                }
                break;
            default:
                break;
            }
        }
    }

    //set IP channel 5;
    iIPCh=4;

    //support custom protocol
    NET_DVR_CUSTOM_PROTOCAL struCustomPro;
    if (!NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_CUSTOM_PRO_CFG, 1, &struCustomPro, sizeof(NET_DVR_CUSTOM_PROTOCAL), &dwReturned))
    //get custom protocol1
    {
        printf("NET_DVR_GET_CUSTOM_PRO_CFG error, %d\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }
    struCustomPro.dwEnabled=1;   //enable main stream
    struCustomPro.dwEnableSubStream=1; //enable sub stream
    strcpy((char *)struCustomPro.sProtocalName,"Protocal_RTSP");  //name of custom protocol:Protocal_RTSP,Maxinum 16 bytes
    struCustomPro.byMainProType=1;    //Type of main stream: 1- RTSP
    struCustomPro.byMainTransType=2;  //Transport type of main stream: 0- Auto, 1- udp, 2- rtp over rtsp
    struCustomPro.wMainPort=554;     //port of main stream.
    strcpy((char *)struCustomPro.sMainPath,"rtsp://192.168.1.65/h264/ch1/main/av_stream");//URL of getting main stream.
    struCustomPro.bySubProType=1;    //Type of sub stream: 1- RTSP
    struCustomPro.bySubTransType=2;  //Transport type of sub stream: 0- Auto, 1- udp, 2- rtp over rtsp
    struCustomPro.wSubPort=554;     //port of sub stream
    strcpy((char *)struCustomPro.sSubPath,"rtsp://192.168.1.65/h264/ch1/sub/av_stream");//URL of getting sub stream

    if (!NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_CUSTOM_PRO_CFG, 1, &struCustomPro, sizeof(NET_DVR_CUSTOM_PROTOCAL)))
    //set custom protocol1
    {
        printf("NET_DVR_SET_CUSTOM_PRO_CFG error, %d\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    printf("Set the custom protocol: %s\n", "Protocal_RTSP");
    NET_DVR_IPC_PROTO_LIST m_struProtoList;
    if (!NET_DVR_GetIPCProtoList(lUserID, &m_struProtoList)) //Get IPC protocol
    {
        printf("NET_DVR_GetIPCProtoList error, %d\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }

    IPAccessCfgV40.struIPDevInfo[iIPCh].byEnable=1;     //Enable
    for (i = 0; i<m_struProtoList.dwProtoNum; i++)
    {
        if(strcmp((char *)struCustomPro.sProtocalName,(char *)m_struProtoList.struProto[i].byDescribe)==0)
        {
            IPAccessCfgV40.struIPDevInfo[iIPCh].byProType=m_struProtoList.struProto[i].dwType; //select custom protocol
            break;
        }
    }

    //IPAccessCfgV40.struIPDevInfo[iIPCh].byProType=0;  //private protocol
    strcpy((char *)IPAccessCfgV40.struIPDevInfo[iIPCh].struIP.sIpV4,"192.168.1.65"); //IP address of IPC
    IPAccessCfgV40.struIPDevInfo[iIPCh].wDVRPort=8000;  //server port of IPC
    strcpy((char *)IPAccessCfgV40.struIPDevInfo[iIPCh].sUserName,"admin");  //Login name of IPC
    strcpy((char *)IPAccessCfgV40.struIPDevInfo[iIPCh].sPassword,"12345");  //Login password of IPC

    IPAccessCfgV40.struStreamMode[iIPCh].byGetStreamType=0;
    IPAccessCfgV40.struStreamMode[iIPCh].uGetStream.struChanInfo.byChannel=1;
    IPAccessCfgV40.struStreamMode[iIPCh].uGetStream.struChanInfo.byIPID=(iIPCh+1)%256;
    IPAccessCfgV40.struStreamMode[iIPCh].uGetStream.struChanInfo.byIPIDHigh=(iIPCh+1)/256;

    if (!NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_IPPARACFG_V40, iGroupNO, &IPAccessCfgV40, sizeof(NET_DVR_IPPARACFG_V40)))
    {
        printf("NET_DVR_SET_IPPARACFG_V40 error, %d\n", NET_DVR_GetLastError());
        NET_DVR_Logout(lUserID);
        NET_DVR_Cleanup();
        return;
    }
    else
    {
        printf("Set IP channel no.%d, IP: %s\n", iIPCh+1, IPAccessCfgV40.struIPDevInfo[iIPCh].struIP.sIpV4);
    }

    //Logout
    NET_DVR_Logout(lUserID);

    //release SDK
    NET_DVR_Cleanup();
    return;
};
}


Multi-channel Decoder Module Procedure

Fuction modules of multi-channel decoder includes display channel control, parameter configuration, active decoding, passive decoding, transparent channel configuration, obtain device status information and obtain device capability set modules. All functions of this module needs to register as a user, the user ID returned from NET_DVR_Login_V30interface as parameter of other function interfaces.

  • Display channel control module: configuration of every parameter of display channel; audio turn on & off control and zoom control of child window. The specific interfaces can refer to "display channels configuration and control" part of "mulit-channel decoder" interfaces.
  • Parameter configuration module: complete configuration function of multi-channel decoder basic parameters, interfaces which called are NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig,The parameters ca,The parameters can be configured can refer to "multi-channel decoder" and "parameter configuration" parts.
  • Active decoding module: configure and get multi-channel decoder active decoding parameters, various control of active decoding, including start and stop the dynamic decoding, start and stop sequence decoding; control of playback by file and time; and obtain active decoding status, overall control of start and stop of active decoding; upload LOGO and other functions. the specific interfaces refer to "active decode" part of "mulit-channel decoder" interfaces.
  • Passive decoding module: start decoding, send data and stop decoding of passive decoding channels. The specific interfaces can refer to "passvie decode" part of "multi-channel decoder" interfaces.
  • Transparent channel configuration module: configure transparent channel regarding parameters. The specific interface can refer to "transparent channel configuration" part of "multi-channel decoder" interfaces.
  • Obtain device status information:Obtain status information of device channels decoding, alarm input, alarm output and voice talk through interface NET_DVR_MatrixGetDeviceStatus NET_DVR_MatrixGetDeviceStatus
  • Get device capability set:Get information of device display and decoding capability through NET_DVR_GetDeviceAbility.

Example Code

//Initialize SDK
NET_DVR_Init();

//Register device
NET_DVR_DEVICEINFO_V30 struDeviceInfo;
memset(&struDeviceInfo, 0, sizeof(NET_DVR_DEVICEINFO_V30));//Structure of storing device parameters
LONG lUserID = NET_DVR_Login_V30("172.0.0.100", 8000, "admin", "12345", &struDeviceInfo);
if (lUserID <0)
{
    if (NET_DVR_GetLastError() == NET_DVR_PASSWORD_ERROR)//User name or password errors
    {
        …… //cope with error information
    }
    else if(NET_DVR_GetLastError() == NET_DVR_OVER_MAXLINK)//Maximum connections to DVR.
    {
        …… //cope with error information
    }
        …… //cope with other types error information
}

//Cofigure mulit-channel decoder
  //get multi-channel decoder configuration parameters
  DWORD dwReturned = 0;
  NET_DVR_NETCFG_OTHER m_NetCFGOther;
  if(!NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_NETCFG_OTHER, 0,&m_NetCFGOther, sizeof(NET_DVR_NETCFG_OTHER), &dwReturned)))
  {
    if (NET_DVR_GetLastError() == NET_DVR_NOINIT)//un-initial
    {
        …… //cope with error information
    }
        …… //cope with other types of error information
   }
  //Set multi-channel decoder parameters(take main DNS as an example)
  char m_FirstDns[] = "192.168.0.2";
  memcpy(m_NetCFGOther.sFirstDNSIP, m_FirstDns.GetBuffer(0), 16);
  if(!NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_NETCFG_OTHER, 0,&m_NetCFGOther, sizeof(NET_DVR_NETCFG_OTHER)))
  {
      if (NET_DVR_GetLastError() == NET_DVR_PARAMETER_ERROR)//parameter error
    {
        …… //cope with error information
    }
        …… //cope with other types of error information
  }

//Active decoding(including dynamic decoding and sequence decoding)
  //configure, get decoder active decoding parameters
int DecChanNum = 1;//decoding channel number, here assign 1
NET_DVR_MATRIX_DEC_CHAN_STATUS m_DecChanStatus;
memset(&m_DecChanStatus, 0, sizeof(NET_DVR_MATRIX_DEC_CHAN_STATUS));
if(!NET_DVR_MatrixGetDecChanStatus(lUserID, DecChanNum, &m_DecChanStatus)) //get decoder channel status
{
    …… //cope with errors
}
NET_DVR_MATRIX_DEC_CHAN_INFO m_DecChanInfo;
memset(&m_DecChanInfo, 0, sizeof(NET_DVR_MATRIX_DEC_CHAN_INFO));
if(!NET_DVR_MatrixGetDecChanInfo(lUserID, DecChanNum, &m_DecChanInfo[index])) //get decoder channel information
{
    …… //cope with errors
}
DWORD dec = 0;
if(!NET_DVR_MatrixGetDecChanEnable(lUserID, DecChanNum, &dec)) //get decoder channel switch
{
    …… //cope with errors
}
1dec = 1; //set decoder channel to open: 0-close, 1-open
if(!NET_DVR_MatrixSetDecChanEnable(lUserID, DecChanNum, dwEnable)) //set decoder channel switch, if set as close, channel will stop decoding
{
    …… //cope with errors
}

 //Dynamic decoding
NET_DVR_PU_STREAM_CFG dt;nedt.struDevChanInfo.byChannel = "172.0.0.100";//device IP address
dt.struStreamMediaSvrCfg.byValid = 0; //Whether to enable stream media server: 0-not enabled, values not 0-enabled
…… //set other dynamic decoding parameters
if(!NET_DVR_MatrixStartDynamic_V30(lUserID, DecChanNum, &dt))  //start dynamic decoding
{
    CString tmp;
    tmp.Format("Error: NET_DVR_MatrixStartDynamic = %d\n", NET_DVR_GetLastError());//get error codes
    AfxMessageBox(tmp);
 }
if(!NET_DVR_MatrixStopDynamic(lUserID, DecChanNum)) //stop dynamic decoding
{
    CString tmp;
    tmp.Format("Error: NET_DVR_MatrixStartDynamic = %d\n", NET_DVR_GetLastError());//get error codes
    AfxMessageBox(tmp);
}

  //Sequence decoding
NET_DVR_MATRIX_LOOP_DECINFO m_MatLoopDec;
memset(&m_MatLoopDec, 0, sizeof(NET_DVR_MATRIX_LOOP_DECINFO));
NET_DVR_MatrixGetLoopDecChanInfo(lUserID, DecChanNum, &m_MatLoopDec); //get sequence decoding channel parameters

CString m_DVRIP = "172.0.0.100";
sprintf(m_MatLoopDec.struchanConInfo.struDecChanInfo.sDVRIP, "%s", m_DVRIP);//IP address of sequence decoding device
…… //cofiguration of other sequence decoding parameters
NET_DVR_MatrixSetLoopDecChanInfo(lUserID, DecChanNum, &m_MatLoopDec); //set sequence decoding channel parameters

DWORD chanNum = 0;
NET_DVR_MatrixGetLoopDecChanEnable(lUserID, DecChanNum, &chanNum); //get current channel decoding switch, the return value chanNum 0-close, 1-opennNum

chanNum = 1; //set decoding switch to open
NET_DVR_MatrixSetLoopDecChanEnable(lUserID, DecChanNum, chanNum); //the decoding channel stop cycling and turn to dynamic decoding when set current sequence decoding channels to close.

NET_DVR_MatrixGetLoopDecEnable(lUserID, &chanNum); //get all channels' decoding switch, by bit, 0-close, 1-open

//Decoding device remote playback files
NET_DVR_MATRIX_DEC_REMOTE_PLAY m_struPlay;
m_struPlay.wDVRPort = m_PlayBackPort;
m_struPlay.byChannel = (BYTE)m_PlayBackChan;
…… // remote playback files parameters
NET_DVR_Matri…… //remote playback file parameters
NET_DVR_MatrixSetRemotePlay(lUserID, DecChanNum, &m_struPlay); //Set cofiguration of decoder remote playback file
NET_DVR_MatrixSetRemotePlayControl(lUserID, DecChanNum, NET_DVR_PLAYSTART, 0, NULL); //start decoder playback remote files
NET_DVR_MatrixSetRemotePlayControl(lUserID, DecChanNum, NET_DVR_PLAYSTARTAUDIO, 0, NULL);//open sound
NET_DVR_MatrixSetRemotePlayControl(lUserID, DecChanNum, …, 0, NULL);//other playback controls
NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS m_struState;ySNET_DVR_MatrixGetRemotePlayStatus(lUserID, DecChanNum, &m_struState); //get playback status

//Passive decoding
DWORD m_PassivePort = 8000;
LONG lPassiveModeHandle = -1;//passive decoding handle
NET_DVR_MATRIX_PASSIVEMODE m_PassiveMode;
m_PassiveMode.wPassivePort = m_PassivePort;//UDP port number,TCP- default 8000
…… //passive decoding parameters
lPassiveModeHandle = NET_DVR_MatrixStartPassiveDecode(lUserID, DecChanNum, &m_PassiveMode); //start passive decoding of multi-channel decoder
NET_DVR_MatrixSendData(lPassiveModeHandle, pSendBuf, dwBufSize);//send data to decoder, pSendBuf-send data buffer, dwBufSize-data size
NET_DVR_MatrixStopPassiveDecode(lPassiveModeHandle); //Stop passive decoding of multi-channel decoder

//Get display ability of multi-channel decoder
NET_DVR_MATRIX_ABILITY m_matrixability;UserID, MATRIXDECODER_ABILITY, NULL, 0, (char*)&m_matrixability, sizeof(NET_DVR_MATRIX_ABILITY));


Procedure of intelligent conduct analysis function module

Device Network SDK Programming Manual

Procedure of Intelligent Behavior Analysis Function Module

Intelligent conduct analysis function module includes parameter configuration, DSP superposition configuration of intelligent messages, reboot intelligent library, conduct analysis results alarm and obtain device capability set, please register at first, NET_DVR_Login_V30 the ruturned user ID is as parameter of other interfaces.

  • Parameter configuration: Mainly complete configuration function of conduct analysis parameters, calling interfaces is NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig, the configuration parameters refer to the "intelligent analysis function" part of "intelligent products function".
  • DSP superposition configuration of ingelligent messages: Whether superposition parameter configuration of intelligent messages of decoding or capturing images, calling interface areNET_DVR_GetVCADrawMode and NET_DVR_SetVCADrawMode.
  • Reboot intelligent libraray: please reboot intelligent library when switching scene, e.g rotating lens, refer to interface NET_VCA_RestartLib.
  • Conduct analysis results alarm: upload intelligent conduct analysis results through "arm" or "listen" alarm. Refer to "arm, disarm and listen" part of the below text region.
  • Obtain device capability set: Call interface NET_DVR_GetDeviceAbility to obtain conduct analysis capability messages.
  • Verify Caliberation: Call interface NET_DVR_VerifyCalibration to cerify calibration.

Example code

Take conduct analysis parameter configuration (NET_DVR_VerifyCalibration) as example

//Initialize SDK
NET_DVR_Init();

//Register device
NET_DVR_DEVICEINFO_V30 struDeviceInfo;
memset(&struDeviceInfo, 0, sizeof(NET_DVR_DEVICEINFO_V30));//Structure of device parameters
LONG lUserID = NET_DVR_Login_V30("172.0.0.100", 8000, "admin", "12345", &struDeviceInfo);
if (lUserID < 0)
{
    if (NET_DVR_GetLastError() == NET_DVR_PASSWORD_ERROR)//Password error
    {
        …… //Handle error messages
    }
    else if(NET_DVR_GetLastError() == NET_DVR_OVER_MAXLINK)//Max link clients access to DVR
    {
        …… //Handle error messages
    }
        …… //Hanlde other types of error messages
}

//Obtain configuration parameters of conduct analysis
LONG  m_iVcaChannel = 1;// Intelligent channel number
NET_VCA_RULECFG m_struRuleCfg; //Structuer of intelligent messages
memset(&m_struRuleCfg, 0, sizeof(NET_VCA_RULECFG));
DWORD dwReturned = 0;
if(!NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_RULECFG, m_iVcaChannel, &m_struRuleCfg, sizeof(NET_VCA_RULECFG), &dwReturned))
{
    if (NET_DVR_GetLastError() == NET_DVR_NOINIT)//Not initial
    {
        …… //Handle error messages
    }
        …… //Handle other types of error messages
}

//Set conduct analysis parameters (need to modify)
m_struRuleCfg.byPicProType = 1; //Alarm image handle way: 0-not handle; non-0: handle
m_struRuleCfg.struPictureParam.wPicSize = 0;//Image size: 0-CIF,1-QCIF,2-D1,3-UXGA,4-SVGA,5-HD720p,6-VGA,7-XVGA,8-HD900p
m_struRuleCfg.struPictureParam.wPicQuality = 0;//Image quality coefficient: 0-best, 1-better, 2-normal
…… //Other conduct analysis parameters configuration
if(!NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_RULECFG, m_iVcaChannel, &m_struRuleCfg, sizeof(NET_VCA_RULECFG)))
{
    if (NET_DVR_GetLastError() == NET_DVR_PARAMETER_ERROR)//Parameter error
    {
        …… //Hanlde error messages
    }
        …… //Handle other types of error messages
}

//Obtain DSP superposition parameters of intelligent message
NET_VCA_DRAW_MODE m_struVCADrawMode;
memset(&m_struVCADrawMode, 0 ,sizeof(NET_VCA_DRAW_MODE));
NET_DVR_GetVCADrawMode(lUserID,  m_iVcaChannel, &m_struVCADrawMode);

//Set DSP superposition parameters of  intelligent message
m_struVCADrawMode.byDspAddRule = 0; //Whether overlay ruler of decoding: 0-not superposition, non 0-superposition
m_struVCADrawMode.byDspAddTarget = 0; //Whether superposition target of decoding: 0-not superposition, non 0-superposition
m_struVCADrawMode.byDspPicAddRule = 0; //Whether superposition target of capturing images: 0-not superposition, non 0-superposition ss
m_struVCADrawMode.byDspPicAddTarget = 0; //Whether superposition ruler of capturing images: 0-not superposition, non 0-superposition
NET_DVR_SetVCADrawMode(m_lServerID,  m_iVcaChannel, &m_struVCADrawMode);

//Reboot intelligent library
NET_VCA_RestartLib(lUserID, m_iVcaChannel);

//Obtain capability of intelligent device
NET_VCA_DEV_ABILITY  m_struVcaDevAbility;
if(!NET_DVR_GetDeviceAbility(lUserID,  VCA_DEV_ABILITY, NULL, 0, (char*)&m_struVcaDevAbility, sizeof(NET_VCA_DEV_ABILITY)))
{
    if (NET_DVR_GetLastError() == NET_DVR_NOSUPPORT)//Device doesn't support
    {
        …… //Handle error messages
    }
    …… //Handle other types of error messages
}

//Obtain capability of intelligent channel
NET_VCA_CHAN_IN_PARAM struVcaChanInpara;
struVcaChanInparam.byVCAType = VCA_BEHAVIOR_BASE; //VCA_BEHAVIOR_BASE: basic version,VCA_BEHAVIOR_ADVANCE: premium version,VCA_BEHAVIOR_FULL: completed version
NET_VCA_BEHAVIOR_ABILITY m_struBehaviorAbility;
memset(&m_struBehaviorAbility, 0, sizeof(NET_VCA_BEHAVIOR_ABILITY));
NET_DVR_GetDeviceAbility(lUserID,  VCA_CHAN_ABILITY, (char*)&struVcaChanInpara, \
        sizeof(NET_VCA_CHAN_IN_PARAM), (char*)&m_struBehaviorAbility, sizeof(NET_VCA_BEHAVIOR_ABILITY));


Procedure of intelligent HD IP Camera function module

Device Network SDK Programming Manual

Procedure of Intelligent HD IP Camera module

Intelligent HD IP Camera function module includes parameter configuration, capture result alarm and obtain device capability set. Please call interfaceNET_DVR_Login_V30 to register at first. The returned use ID is as parameter of other function interfaces.

  • Parameter configuration: mainly complete configuration function of capture IPC, please call interfacesNET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig.
  • Manually trigger alarm: mainly realize manually trigger alarm, please call interface NET_DVR_ManualSnap.
  • Capture result alarm: upload intelligent analysis results through "arm" alarm. Refer to "arm, disarm and listen" part.
  • Obtain device capability set: Obtain capture IPC capability messages through interfaceNET_DVR_GetDeviceAbility

Example code

//Initialize SDK
NET_DVR_Init();

//Register device
NET_DVR_DEVICEINFO_V30 struDeviceInfo;
memset(&struDeviceInfo, 0, sizeof(NET_DVR_DEVICEINFO_V30));//Structure of device parameters
LONG lUserID = NET_DVR_Login_V30("172.0.0.100", 8000, "admin", "12345", &struDeviceInfo);
if (lUserID < 0)
{
    if (NET_DVR_GetLastError() == NET_DVR_PASSWORD_ERROR)//Password error
    {
        …… //Handle error messages
    }
    else if(NET_DVR_GetLastError() == NET_DVR_OVER_MAXLINK)//Max number of link clients access to DVR
    {
        …… //Handle error messages
    }
        …… //Hanlde other types of error messages
}

//Obtain capture IPC parameter
LONG  m_iChannel = 1;// Channel number
NET_DVR_CAMERAPARAMCFG m_struCfg; //Parameter structure
memset(&m_struCfg, 0, sizeof(NET_DVR_CAMERAPARAMCFG));
DWORD dwReturned = 0;
if(!NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_CCDPARAMCFG, m_iChannel, &m_struCfg, sizeof(NET_DVR_CAMERAPARAMCFG), &dwReturned))
{
    if (NET_DVR_GetLastError() == NET_DVR_NOINIT)//Not initial
    {
        …… //Handle error messages
    }
        …… //Handle other types of error messages
}

//Set parameters (need to modify)
m_struCfg.byIrisMode  = 1; //0 auto-aperture;1 manual-aperture
m_struCfg.byCoderOutputMode = 0;//Encoder fpga output mode: 0-directly access; 3-move pixels
…… //Other parameter configuration
if(!NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_CCDPARAMCFG, m_iChannel, &m_struCfg, sizeof(NET_DVR_CAMERAPARAMCFG)))
{
    if (NET_DVR_GetLastError() == NET_DVR_PARAMETER_ERROR)//Parameter error
    {
        …… //Handle error messages
    }
        …… //Handle other types of error messages
}

//Obtain capture IPC capability
NET_DVR_SNAP_ABILITY  m_struDevAbility;
if(!NET_DVR_GetDeviceAbility(lUserID, SNAPCAMERA_ABILITY, NULL, 0, (char*)&m_struDevAbility, sizeof(NET_DVR_SNAP_ABILITY)))
{
    if (NET_DVR_GetLastError() == NET_DVR_NOSUPPORT)//Device doesn't support
    {
        …… //Handle error messages
    }
    …… //Handle other types of error messages
}

//Manually trigger alarm
NET_DVR_MANUALSNAP m_struManualSnap;
NET_DVR_PLATE_RESULT m_struResult;
memset(&m_struManualSnap, 0, sizeof(NET_DVR_MANUALSNAP));
memset(&m_struResult, 0, sizeof(NET_DVR_PLATE_RESULT));
m_struResult.pBuffer1 = new BYTE[2 * 1024 * 1024];
memset(m_struResult.pBuffer1, 0, 2 * 1024 * 1024);
m_struResult.pBuffer2 = new BYTE[1024 * 1024];
memset(m_struResult.pBuffer2, 0, 1024 * 1024);

if (!NET_DVR_ManualSnap(m_lServerID, &m_struManualSnap, &m_struResult))
{
    if (NET_DVR_GetLastError() == NET_DVR_NOSUPPORT)//Device doesn't support
    {
        …… //Handle error messages
    }
    …… //Handle other types of error messages
}


Procedure of Inquest DVR Module

Inquest DVR module includes parameter configuration, inquest files research and delete, inquest files burnt, inquest files upload, burn and obtain burn status in inquest procedure. Please call interface NET_DVR_Login_V30 to register at first, the returned user ID is as parameter of other interfaces.

  • Parameter configuration module: basic parameters of inquest DVR configuratin, interfaces to be called are NET_DVR_InquestGetCDRWScheme, NET_DVR_InquestSetCDRWScheme, NET_DVR_InquestGetPIPStatus, NET_DVR_InquestSetPIPStatus, NET_DVR_InquestCheckSecretKey, NET_DVR_InquestSetSecretKey, NET_DVR_InquestGetEncryptState, NET_DVR_InquestStreamEncrypt, the configuration parameters are as "parameter configuration" part of "inquest DVR interfaces".
  • Research and delete of inquest files: interfaces to be called are NET_DVR_InquestFindFile, NET_DVR_InquestFindNextFile, NET_DVR_InquestFindClose, NET_DVR_InquestDeleteFile.
  • Burn inquest files, interfaces to be called areNET_DVR_InquestCDWByFile, NET_DVR_BackupByTime, NET_DVR_GetBackupProgress, NET_DVR_StopBackup.
  • Upload inquest files, interfaces to be called are NET_DVR_InquestUploadFile, NET_DVR_InquestGetUploadState, NET_DVR_InquestUploadClose.
  • Burn in inquest process, interfaces to be called areNET_DVR_InquestStartCDW, NET_DVR_InquestStopCDW.
  • Obtain burn status: obtain status information through interface NET_DVR_InquestGetCDWState.


MACRO Definition

MACRO Definition | Value | Description
MAX_NAMELEN | 16 | Max length of login user name
MAX_RIGHT | 32 | Device supported permissions (the 1st - 12th digits indicate local permissions, and the 13th-32nd digits indicate remote permissions)
NAME_LEN | 32 | user name length
PASSWD_LEN | 16 | password length
SERIALNO_LEN | 48 | serial number length
MACADDR_LEN | 6 | MAC address length
MAX_ETHERNET | 2 | Max number of ether networks supported by device
MAX_NETWORK_CARD | 4 | Max number of network cards supported by device
MAX_BOND_NUM | 2 | Max number of BOUNDING network cards supported by device
PATHNAME_LEN | 128 | Path length
MAX_TIMESEGMENT_V30 | 8 | Max time period number of device supported by version higher than V3.0
MAX_TIMESEGMENT | 4 | Max time period number of device supported by version lower than V3.0
MAX_SHELTERNUM | 4 | Max block region number of device supported by version lower than V3.0
MAX_DAYS | 7 | Days of every week
PHONENUMBER_LEN | 32 | Max length of PPPoE dial number
MAX_DISKNUM_V30 | 33 | Largest hard disk number of supported by device which version is higher than V3.0, at most 33 hard disk(includes 16 internal SATA hard drive disks, 1 eSATA hard drive disk and 16 NFS disks
MAX_DISKNUM | 16 | Max disk number supported by device which version is lower than V3.0
MAX_DISKNUM_V10 | 8 | Version prior to version 1.2
MAX_WINDOW_V30 | 32 | Max local display window number of device which version is higher than V3.0
MAX_WINDOW | 16 | Max local display window number of device which version is lower than V3.0
MAX_VGA_V30 | 4 | Max VGA number can be accessed of device which version is higher than V3.0
MAX_VGA | 1 | Max VGA number can be accessed of device which version is lower than V3.0
MAX_USERNUM_V30 | 32 | Max user number can of device which version is higher than V3.0
MAX_USERNUM | 16 | Max user number can of device which version is lower than V3.0
MAX_EXCEPTIONNUM_V30 | 32 | Max exception handle number of device which version is higher than V3.0
MAX_EXCEPTIONNUM | 16 | Max exception handle number of device which version is lower than V3.0
MAX_LINK | 6 | Max video stream connection number of single channel which device version is lower than V3.0
MAX_LINK_V30 | 128 | Maximum video stream connection number of single channel which device version is higher than V3.0
MAX_DECPOOLNUM | 4 | Max sequence decoding number of each decoding channel with single channel decoder
MAX_DECNUM | 4 | Max decoding channel number of single channel decoder(actually only one, the other three reserved)
MAX_TRANSPARENTNUM | 2 | Max transparent channel number can be configured with single channel decoder
MAX_CYCLE_CHAN | 16 | Max sequence channel number of single channel decoder
MAX_CYCLE_CHAN_V30 | 64 | Max sequence channel number(extend)
MAX_DIRNAME_LENGTH | 80 | Max directory length
MAX_WINDOWS | 16 | Max window number
MAX_WINDOWS_V41 | 16 | Max window number (added in V4.1 SDK)
MAX_STRINGNUM_V30 | 8 | Max OSD character rows of device which version is higher than V3.0
MAX_STRINGNUM | 4 | Max OSD character rows of device which version is lower than V3.0
MAX_AUXOUT | 4 | Max auxiliary output number of device which version is lower than V3.0
MAX_HD_GROUP | 16 | Max HDD group number of device which version is higher than V3.0
MAX_NFS_DISK | 8 | Max NFS disk number of device which version is lower than V3.0
IW_ESSID_MAX_SIZE | 32 | SSID number length of WIFI
IW_ENCODING_TOKEN_MAX | 32 | Max byte number of WIFI key
MAX_SERIAL_NUM | 64 | Most supported transparent channel number
MAX_DDNS_NUMS | 10 | Max DDNS number of device which version is higher than V3.0
MAX_DOMAIN_NAME | 64 | Max domain name length
MAXPROGRESS | 100 | Max percentage at playback time
MAX_SERIALNUM | 2 | Device supported serial port number:1-232,2-485
CARDNUM_LEN | 20 | Card number length
CARDNUM_LEN_V30 | 40 | Length of card number
MAX_VIDEOOUT_V30 | 4 | Video output number of device which version is higher than V3.0
MAX_VIDEOOUT | 2 | Video output number of device which version is lower than V3.0
MAX_EMAIL_ADDR_LEN | 48 | Max EMAIL address length
MAX_EMAIL_PWD_LEN | 32 | Max EMAIL password length
MAX_PRESET_V30 | 256 | PTZ preset point number of device which version is higher than V3.0
MAX_TRACK_V30 | 256 | PTZ tracking number of device which version is higher than V3.0
MAX_CRUISE_V30 | 256 | PTZ cruise points number of device which version is higher than V3.0
MAX_PRESET | 128 | PTZ preset points number of device which version is lower than V3.0
MAX_TRACK | 128 | PTZ tracking number of device which version is lower than V3.0
MAX_CRUISE | 128 | PTZ cruise points number of device which version is lower than V3.0
CRUISE_MAX_PRESET_NUMS | 32 | Largest cruise point number of a cruise track
MAX_SERIAL_PORT | 8 | 232 serial port number of device which device is higher than V3.0
MAX_PREVIEW_MODE | 8 | Max preview mode number supported by device: 1 screen, 4 screens, 9 screens, 16 screens....
MAX_MATRIXOUT | 16 | Max analog matrix output number
LOG_INFO_LEN | 11840 | Length of log additional information
DESC_LEN | 16 | Length of PTZ description character string
DESC_LEN_64 | 64 | Length of PTZ description character string
PTZ_PROTOCOL_NUM | 200 | Max PTZ protocol number of device which version is higher than V3.0
MAX_AUDIO | 1 | Voice talk channel number of device which version is lower than V3.0
MAX_AUDIO_V30 | 2 | Voice talk channel number of device which version is higher than V3.0
MAX_CHANNUM | 16 | Max channel number of device which is lower than V3.0
MAX_ALARMIN | 16 | Max alarm input number of device which is lower than V3.0
MAX_ALARMOUT | 4 | Max alarm output number of device which is lower than V3.0
MAX_ANALOG_CHANNUM | 32 | Up to 32 analog channels
MAX_ANALOG_ALARMOUT | 32 | At most 32 analog alarm output channels
MAX_ANALOG_ALARMIN | 32 | At most 32 analog alarm input channels
MAX_IP_DEVICE | 32 | Max IP device number allowed to access
MAX_IP_DEVICE_V40 | 64 | Max IP device number allowed to access
MAX_IP_CHANNEL | 32 | Max IP channel number allowed to access
MAX_IP_ALARMIN | 128 | Max alarm input number allowed to join
MAX_IP_ALARMOUT | 64 | Max alarm output number allowed to join
MAX_IP_ALARMOUT_V40 | 4096 | Max alarm output number allowed to join(extern)
MAX_CHANNUM_V30 | 64 | (MAX_ANALOG_CHANNUM + MAX_IP_CHANNEL)
MAX_CHANNUM_V40 | 512 | Max channel number
MAX_ALARMOUT_V30 | 96 | (MAX_ANALOG_ALARMOUT + MAX_IP_ALARMOUT)
MAX_ALARMOUT_V40 | 4128 | (MAX_ANALOG_ALARMOUT + MAX_IP_ALARMOUT)
MAX_ALARMIN_V30 | 160 | (MAX_ANALOG_ALARMIN + MAX_IP_ALARMIN)
MAX_MULTI_AREA_NUM | 24 | Max motion detetion area
MAX_RULE_NUM | 8 | Max number of rules
MAX_TIMESEGMENT_2 | 2 | Max time period number
VCA_MAX_POLYGON_POINT_NUM | 10 | Polygon which supported at most 10 points in detection area
MAX_TARGET_NUM | 30 | Max target number
MAX_VCA_CHAN | 16 | Max number of VCA channels
IW_ESSID_MAX_SIZE | 32 | Length of SSID
WIFI_WEP_MAX_KEY_COUNT | 4 | Largest key number
WIFI_WEP_MAX_KEY_LENGTH | 33 | Largest key length
WIFI_WPA_PSK_MAX_KEY_LENGTH | 63 | Max length of encryption characters
WIFI_WPA_PSK_MIN_KEY_LENGTH | 8 | Min length of encryption characters
WIFI_MAX_AP_COUNT | 20 | Maximum number of wireless AP
NET_DVR_MAX_DISPREGION | 16 | Maximum window number can be displayed of each display channel
MAX_DECODECHANNUM | 32 | Maximum decoding channel number of multi-channel decoder
MAX_DISPCHANNUM | 24 | Maximum display channel number of multi-channel decoder
MAX_NET_DISK | 16 | Maximum network disk number
MAX_ATM_PROTOCOL_NUM | 256 | Maximum number of ATM protocols
ATM_PROTOCOL_SORT | 4 | Number of ATM protocol sort
ATM_DESC_LEN | 32 | Length of ATM descriptor string
MAX_ACTION_TYPE | 12 | Max number of ATM customized protocol overlay transactions
SEARCH_EVENT_INFO_LEN | 300 | Length of event information
MAX_MASK_REGION_NUM | 4 | Maximum number of mask regions
MAX_CALIB_PT | 6 | Maximum number of calibration points
MAX_RECT_NUM | 6 | Maximum number of rectangles
MAX_RESOLUTIONNUM | 64 | Maximum number of supported resolutions
MAX_LOOPPLANNUM | 16 | Maximum number of planned switch groups
DECODE_TIMESEGMENT | 4 | Number of time segments of planned decode
MAX_RECORD_FILE_NUM | 20 | Maximum number of files operated one time(backup, delete, or CD write)
DESC_LEN_32 | 32 | Length of descriptor
MAX_NODE_NUM | 256 | Number of nodes
MAX_ABILITYTYPE_NUM | 12 | Maximum ability type
IPC_PROTOCOL_NUM | 50 | Maximum number of IPC protocols
MAX_SADP_NUM | 256 | Maximum number of found devices
SOFTWARE_VERSION_LEN | 48 | Length of software version character
MAX_LANERECT_NUM | 5 | Maximum number of license plate recognition regions
MAX_FORTIFY_NUM | 10 | Maximum fortify number
MAX_INTERVAL_NUM | 4 | Maximum number of interval
MAX_CHJC_NUM | 3 | Maximum number of referred vehicle province characters
MAX_VL_NUM | 5 | Maximum number of virtual loops
MAX_IOSPEED_GROUP_NUM | 4 | The count of IO velocimetry groups
MAX_IOOUT_NUM | 4 | The max number of IO output ports
MAX_IOIN_NUM | 8 | The max number of IO input ports
MAX_IOIN_NUMEX | 10 | The max number of IO input ports (extend)
MAX_ITC_LANE_NUM | 6 | The max number of lanes
MAX_LANEAREA_NUM | 2 | The max number of single lane areas
MAX_ICR_NUM | 8 | Number of ITC IR fliter preset
MAX_PARKNO_LEN | 16 | Length of park number
MAX_CUSTOMDIR_LEN | 32 | Customized length of directory
MAX_ITC_EXCEPTIONOUT | 32 | The max alarm input numbeer of ITC
MAX_ITS_SCENE_NUM | 16 | The max scene number
MAX_SCENE_TIMESEG_NUM | 16 | The max number of scene time segment
DEVICE_ID_LEN | 48 | Length of device number
MONITORSITE_ID_LEN | 48 | Length of monitor point number
MAX_SCH_TASKS_NUM | 10 | The max number of timed task
ITC_MAX_POLYGON_POINT_NUM | 20 | The detection area supports the polygon of max 20 points
MAX_ITC_SERIALCHECK_NUM | 8 | The count of serial port parity types
MAX_LINE_SEG_NUM | 8 | Maximum number of sample segments
MAX_SAMPLE_NUM | 5 | Maximum number of samples
MAX_SIGNALLIGHT_NUM | 6 | Maximum number of signal lights
SUPPORT_PD_NUM | 16 | Maximum number of supported physical disks
SUPPORT_ARRAY_NUM | 8 | Maximum number of supported arrays
SUPPORT_VD_NUM | 128 | Maximum number of supported virtual disks
LABEL_NAME_LEN | 40 | Lenght of record label name
LABEL_IDENTIFY_LEN | 64 | Lenght of label identify
MAX_DEL_LABEL_IDENTIFY | 20 | Max number of label identifys to be deleted
MAX_PIC_EVENT_NUM | 32 | Event number of event capture
MAX_ALARMIN_CAPTURE | 16 | Alarm input number of event capture
PICTURE_NAME | 64 | Length of picture name
MAX_RECORD_PICTURE_NUM | 50 | Max number of backup pictures
CALIB_PT_NUM | 4 | Number of ITS event calibrations
MAX_REGION_NUM | 8 | Max number of regions
MAX_LANE_NUM | 8 | Max number of lane
MAX_AID_RULE | 8 | Max number of event rules
MAX_TPS_RULE | 8 | Max number of parameter rules
INQUEST_MESSAGE_LEN | 44 | Length of inquest key tag message
INQUEST_MAX_ROOM_NUM | 2 | Max number of inquest rooms
MAX_RESUME_SEGMENT | 2 | Number of segments supported to resume simultaneously
MAX_ALARMHOST_ALARMIN_NUM | 512 | Max number of alarm-host alarm input ports
MAX_ALARMHOST_ALARMOUT_NUM | 512 | Max number of alarm-host alarm output ports
ALARMHOST_MAX_AUDIOOUT_NUM | 32 | Length of alarm-host audio output ports
ALARMHOST_MAX_ELECTROLOCK_NUM | 32 | Max number of alarm-host electric lock ports
ALARMHOST_MAX_MOBILEGATE_NUM | 32 | Max number of alarm-host mobile gate ports
ALARMHOST_MAX_SIREN_NUM | 8 | Max number of alarm-host sirens
MAX_DEVICE_PROTO_NUM | 256 | Max number of alarm-host protocol types
MAX_DEVICE_TYPE_NUM | 256 | Length of alarm-host device types
MAX_CENTERNUM | 4 | The max number of ceters supported by alarm-host device
MAX_PHONE_NUM | 32 | The max length of phone number
MAX_SUPPORT_RES | 32 | Max number of supported resolution types
MAX_DISPNUM_V41 | 32 | Max number of display channels
MAX_BIGSCREENNUM | 100 | Max number of sub screens in large size display
MAX_WIN_COUNT | 224 | Max number of windows supported by the large size display
MAX_WINDOWSMODE | 12 | Max number of supported screen mode types
MAX_HUMAN_BIRTHDATE_LEN | 10 | The max length of birthday(Year and Month)
MAX_HUMAN_PICTURE_NUM | 10 | The max number of pictures
MAX_FACE_PIC_LEN | 6144 | The max length of face picture data
MAX_OSDCHAR_NUM | 256 | The max number of OSD characters
STREAM_ID_LEN | 32 | The length of stream ID
MAX_AUX_ALARM_NUM | 8 | The max number of aux alarm
MAX_WIRELESS_ALARM_NUM | 8 | The max number of wireless alarm
MAX_PRO_PATH | 256 | Max lenght of protocol
DEVICEID_LEN | 32 | Length of deviceID
DVCS_DEVICEID_LEN | 16 | Length of deviceID tag
MAX_ROIDETECT_COUNT | 8 | Number of ROI region
MAX_CABINET_COUNT | 8 | Max number of cabinet
ITS_MAX_DEVICE_NUM | 32 | Max number of device
MAX_ALERTLINE_NUM | 8 | Max number of alert line
MAX_INTRUSTIONREGION_NUM | 8 | Max number of instusion region
MAX_PARKING_NUM | 4 | Max parking number each channel
MAX_PARKING_STATUS | 8 | Number of parking status
MAX_ID_LEN | 48 | Max length of ID
MAX_ALARMREASON_LEN | 8 | Max length of alarm type description
MAX_SERVERID_LEN | 64 | Max length of server ID
MAX_SERVERDOMAIN_LEN | 128 | Max length of server domain
MAX_AUTHENTICATEID_LEN | 64 | Max length of authenticate ID
MAX_AUTHENTICATEPASSWD_LEN | 32 | Max length of authenticate password
MAX_SERVERNAME_LEN | 64 | Max length of server name
MAX_COMPRESSIONID_LEN | 64 | Max length of compression ID
MAX_SIPSERVER_ADDRESS_LEN | 128 | the domain and IP address SIP server supports


NET_DVR_SetSDKInitCfg

Set SDK initialization parameters

BOOL NET_DVR_SetSDKInitCfg(
  NET_SDK_INIT_CFG_TYPE    enumType,
  void* const              lpInBuff
);

Parameters

enumType
[in]Initial parameter type, different values corresponds to different parameter types
lpInBuff
[in] Input parameters, for different parameters types, the different input parameters corresponds to different structures.
enumType | Type Value | Description | lpInBuff Structure
NET_SDK_INIT_CFG_ABILITY | 1 | SDK supported function ability | NET_DVR_INIT_CFG_ABILITY
NET_SDK_INIT_CFG_SDK_PATH | 2 | Set component library loading path (only applicable in Linux) | NET_DVR_LOCAL_SDK_PATH

Remarks

  • Call this API before calling the initialization API ofNET_DVR_Init，and check the SDK relied essential library via the initialization function.

Return Values

TRUE means success and FALSE means failure. CallNET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Init


NET_DVR_Init

This API is used to initialize SDK.

BOOL NET_DVR_Init(
);

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Before SDK initialization, call NET_DVR_SetSDKInitCfg to set the number of login arming connection supported by SDK, or set the initialization parameters such as component library loading path.

See Also

NET_DVR_Cleanup


NET_DVR_Cleanup

This API is used to release SDK resource.

BOOL NET_DVR_Cleanup(
);

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Init


NET_DVR_SetDVRMessage

This API is used to register window handle to receive exception, reconnection, or other message. There is no such interface in Linux system.

BOOL NET_DVR_SetDVRMessage(
  UINT     nMessage,
  HWND     hWnd
);

Parameters

nMessage
[in] Message
hWnd
[in] Window handle received exception information message

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

SDK detects unusual information upload by message, the following is the definition of exception message.
Macro Definition | Macro Definition value | Implication
EXCEPTION_EXCHANGE | 0x8000 | Network user exception
EXCEPTION_AUDIOEXCHANGE | 0x8001 | Network voice talk exception
EXCEPTION_ALARM | 0x8002 | Alarm exception
EXCEPTION_PREVIEW | 0x8003 | Network preview exception
EXCEPTION_SERIAL | 0x8004 | Transparent channel exception
EXCEPTION_RECONNECT | 0x8005 | Network preview reconnected
EXCEPTION_ALARMRECONNECT | 0x8006 | Alarm reconnected
EXCEPTION_SERIALRECONNECT | 0x8007 | Transparent channel reconnected
SERIAL_RECONNECTSUCCESS | 0x8008 | Transparent channel reconnected succeed
EXCEPTION_PLAYBACK | 0x8010 | Playback exception
EXCEPTION_DISKFMT | 0x8011 | HDD format
EXCEPTION_PASSIVEDECODE | 0x8012 | Passive decode exception
EXCEPTION_EMAILTEST | 0x8013 | Mail test exception
EXCEPTION_BACKUP | 0x8014 | Backup exception
PREVIEW_RECONNECTSUCCESS | 0x8015 | Reconnected succeed when previewing
ALARM_RECONNECTSUCCESS | 0x8016 | Reconnected succeed when alarming
RESUME_EXCHANGE | 0x8017 | User exchange resume
NETWORK_FLOWTEST_EXCEPTION | 0x8018 | Network flow testing abnormal
EXCEPTION_PICPREVIEWRECONNECT | 0x8019 | Picture preview reconnect
PICPREVIEW_RECONNECTSUCCESS | 0x8020 | Picture reconnect successfully
EXCEPTION_PICPREVIEW | 0x8021 | Picture preview abnormal
EXCEPTION_MAX_ALARM_INFO | 0x8022 | Maximum buffer of alarm information
EXCEPTION_LOST_ALARM | 0x8023 | Alarm lost
SUCCESS_PUSHDEVLOGON | 0x8030 | Push mode register successfully

Message handling functions in the application ,the parameter wParam in this function means exception message type, IParam means the exception occurred to the index value.

    void OnMyCommand(WPARAM wParam, LPARAM lParam)
    {
    char tempbuf[256];
    DWORD dwType = wParam;	    //Exception message
    LONG lIndex = lParam;		//Current control handle that appears exception message
    ZeroMemory(tempbuf,256);
    switch(dwType)
    {
    case EXCEPTION_AUDIOEXCHANGE:		//Network voice talk exception
      sprintf(tempbuf,"Network voice talk exception !!!");
        TRACE("%s",tempbuf);
        //TODO: Close network voice talk
        break;
    case EXCEPTION_ALARM:			//Network exception when alarm uploading
        sprintf(tempbuf,"Network exception when alarm uploading!!!");
        TRACE("%s",tempbuf);
        //TODO: Close alarm upload
        break;
    case EXCEPTION_PREVIEW:			//Network preview exception
        sprintf(tempbuf,"Network preview exception!!!");
        TRACE("%s",tempbuf);
        //TODO: Close network preview
        break;
    case EXCEPTION_SERIAL:			//Transparent channel transmission exception
        sprintf(tempbuf,"Transparent channel transmission exception!!!");
        TRACE("%s",tempbuf);
        //TODO: Close transparent channel
        break;
    case EXCEPTION_RECONNECT:			//Reconnected when previewing
        break;
    default:
        break;
    }
    };


NET_DVR_SetExceptionCallBack_V30

This API is used to sign up for receiving window handle or callback function of message like exception and reconnection.

Windows interface definition:

BOOL NET_DVR_SetExceptionCallBack_V30(
  UINT                   nMessage,
  HWND                   hWnd,
  fExceptionCallBack     cbExceptionCallBack,
  void                   *pUser
);

Linux interface definition:

BOOL NET_DVR_SetExceptionCallBack_V30(
  UINT                   nMessage,
  void*                  hWnd,
  fExceptionCallBack     cbExceptionCallBack,
  void                   *pUser
);

Parameters

nMessage
[in] Message, this parameter is reserved in Linux
hWnd
[in] Window handle to receive exception information message, this parameter is reserved in Linux SDK
cbExceptionCallBack
[in] Callback function to receive exception message. Callback current exception relevant message
pUser
[in] User data

Callback Function

typedef void(CALLBACK *fExceptionCallBack)(
  DWORD    dwType,
  LONG     lUserID,
  LONG     lHandle,
  void     *pUser
);

Callback Function Parameters

dwType
Message types of exception or reconnection, see the below exception message Macro Definition table
lUserID
Login ID
lHandle
Handle of exception relevant types
pUser
User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

hWnd and cbExceptionCallBack can't be NULL at the same time in Windows,cbExceptionCallBack can't be set to NULL in Linux, or will not receive exception message.

Exception message Macro Definitions as below table
Macro Definition | Value | Implication
EXCEPTION_EXCHANGE | 0x8000 | User interaction exception
EXCEPTION_AUDIOEXCHANGE | 0x8001 | Voice talk exception
EXCEPTION_ALARM | 0x8002 | Alarm exception
EXCEPTION_PREVIEW | 0x8003 | Network preview exception
EXCEPTION_SERIAL | 0x8004 | Transparent channel exception
EXCEPTION_RECONNECT | 0x8005 | Preview reconnect
EXCEPTION_ALARMRECONNECT | 0x8006 | Alarm reconnect
EXCEPTION_SERIALRECONNECT | 0x8007 | Transparent channel reconnect
SERIAL_RECONNECTSUCCESS | 0x8008 | Transparent channel reconnect successfully
EXCEPTION_PLAYBACK | 0x8010 | Playback exception
EXCEPTION_DISKFMT | 0x8011 | HDD format
EXCEPTION_PASSIVEDECODE | 0x8012 | Passive decoding exception
EXCEPTION_EMAILTEST | 0x8013 | Mail test exception
EXCEPTION_BACKUP | 0x8014 | Backup exception
PREVIEW_RECONNECTSUCCESS | 0x8015 | Preview reconnect successfully
ALARM_RECONNECTSUCCESS | 0x8016 | Alarm reconnect successfully
RESUME_EXCHANGE | 0x8017 | User exchange resume
NETWORK_FLOWTEST_EXCEPTION | 0x8018 | Network flow testing abnormal
EXCEPTION_PICPREVIEWRECONNECT | 0x8019 | Picture preview reconnect
PICPREVIEW_RECONNECTSUCCESS | 0x8020 | Picture reconnect successfully
EXCEPTION_PICPREVIEW | 0x8021 | Picture preview abnormal
EXCEPTION_MAX_ALARM_INFO | 0x8022 | Maximum buffer of alarm information
EXCEPTION_LOST_ALARM | 0x8023 | Alarm lost
SUCCESS_PUSHDEVLOGON | 0x8030 | Push mode register successfully

If this structure feedbacks exception message by callback method, the exception callback function implement in the application is as follows, the parameter dwType of this function indicates exception message type(see the above table), lHandle indicates handle of the current exception relevant types.

//Register callback function for receiving exception message
NET_DVR_SetExceptionCallBack_V30(WM_NULL, NULL, g_ExceptionCallBack, NULL);

//External implement of callback function for receiving exception message
    void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser)
   {
    char tempbuf[256];
    ZeroMemo	case EXCEPTION_AUDIOEXCHANGE:		//Voice talk network exception
      sprintf(tempbuf,"Voice talk network exception!!!");
        TRACE("%s",tempbuf);"		//TODO: close voice talk
        break;s"	case EXCEPTION_ALARM:			//Alarm upload network exception
        sprintf(tempbuf,"Alarm upload network exception!!!");
        TRACE("%s",tempbuf);"		//TODO: close alarm upload
        break;s"	case EXCEPTION_PREVIEW:			//Network preview exception
        sprintf(tempbuf,"Network preview exception!!!");
        TRACE("%s",tempbuf);			//TODO: close network preview
        break;",	case EXCEPTION_SERIAL:			//Transparent channel transmission exception
        sprintf(tempbuf,"Transparent channel transmission exception!!!");
        TRACE("%s",tempbuf);
        //TODO: close transparent channel
        break;s"	case EXCEPTION_RECONNECT:			//Preview reconnect
        break;EXCEPTION_RECONNECT:			//Preview reconnect
        break;
    default:
        break;
    }
   };


NET_DVR_GetSDKVersion

This API is used to get version number of SDK.

DWORD NET_DVR_GetSDKVersion(
);

Return Values

2 higher bytes mean the major version, 2 lower bytes mean the minor version, e.g. 0x00030000 means version 3.0.


NET_DVR_GetSDKBuildVersion

This API is used to get build number and version number of SDK.

DWORD NET_DVR_GetSDKBuildVersion(
);

Return Values

The API is used to get the SDK version and build number. 2 higher bytes mean the major version: the bits from 25 to 32 mean major vesion number, and bits form 17 to 24 mean minor version number. 2 lower bytes mean build number, e.g. 0x03000101: the version is 3.0, build number is 0101.


NET_DVR_GetSDKState

This API is used to get SDK state.

BOOL NET_DVR_GetSDKState(
  LPNET_DVR_SDKSTATE   pSDKState
);

Parameters

pSDKState
[out] Structure of state

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetSDKAbility

This API is used to get ability of current SDK.

BOOL NET_DVR_GetSDKAbility(
  LPNET_DVR_SDKABL     pSDKAbl
);

Parameters

pSDKState
[out] Structure of ability

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetSDKLocalCfg

Get local parameters of SDK

BOOL NET_DVR_GetSDKLocalCfg(
  NET_SDK_LOCAL_CFG_TYPE    enumType,
  void                      *lpOutBuff
);

Parameters

enumType
[in] Type of configuration
lpOutBuff
[out] output parameter,different configuration type corresponding the different structure of output parameters
enumType | Meaning | The corresponding structure of lpOutBuff
NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND | 0 | Local binding configuration of TCP port | NET_DVR_LOCAL_TCP_PORT_BIND_CFG
NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND | 1 | Local binding configuration of UDP port | NET_DVR_LOCAL_UDP_PORT_BIND_CFG
NET_SDK_LOCAL_CFG_TYPE_MEM_POOL | 2 | Local configuration of memory pool | NET_DVR_LOCAL_MEM_POOL_CFG
NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT | 3 | Timeout configuration by module | NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG
NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE | 4 | Whether use the capability resolver library | NET_DVR_LOCAL_ABILITY_PARSE_CFG
NET_SDK_LOCAL_CFG_TYPE_TALK_MODE | 5 | Configuration of voice talk mode | NET_DVR_LOCAL_TALK_MODE_CFG
NET_SDK_LOCAL_CFG_TYPE_CHECK_DEV | 10 | Heartbeat interaction interval time configuration | NET_DVR_LOCAL_CHECK_DEV
NET_DVR_LOCAL_CFG_TYPE_GENERAL | 17 | General parameter configuration | NET_DVR_LOCAL_GENERAL_CFG

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code

See Also

NET_DVR_SetSDKLocalCfg


NET_DVR_SetSDKLocalCfg

Set the SDK local parameters.

BOOL NET_DVR_SetSDKLocalCfg(
  NET_SDK_LOCAL_CFG_TYPE    enumType,
  void* const               lpInBuff
);

Parameters

enumType
[in] Configuration type. Different values correspond with different SDK parameters, as shown in the following table:
lpInBuff
[in] Input parameter. The structure varies according to the configuration type.
enumType | Type Value | Description | lpInBuff Corresponding Structure
NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND | 0 | Configure the local TCP port binding. | NET_DVR_LOCAL_TCP_PORT_BIND_CFG
NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND | 1 | Configure the local UDP port binding | NET_DVR_LOCAL_UDP_PORT_BIND_CFG
NET_SDK_LOCAL_CFG_TYPE_MEM_POOL | 2 | Locally configure the memory pool. | NET_DVR_LOCAL_MEM_POOL_CFG
NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT | 3 | By module configuration timeout time. | NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG
NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE | 4 | Use the capability set analysis lib or not. | NET_DVR_LOCAL_ABILITY_PARSE_CFG
NET_SDK_LOCAL_CFG_TYPE_TALK_MODE | 5 | Configure the two-way audio mode. | NET_DVR_LOCAL_TALK_MODE_CFG
NET_SDK_LOCAL_CFG_TYPE_CHECK_DEV | 10 | Configure the heart beat interaction interval. | NET_DVR_LOCAL_CHECK_DEV
NET_SDK_LOCAL_CFG_TYPE_CHAR_ENCODE | 13 | Configure the callback of character encoding. | NET_DVR_LOCAL_BYTE_ENCODE_CONVERT
NET_DVR_LOCAL_CFG_TYPE_LOG | 15 | Configure the log parameters | NET_DVR_LOCAL_LOG_CFG
NET_DVR_LOCAL_CFG_TYPE_GENERAL | 17 | General parameter configuration | NET_DVR_LOCAL_GENERAL_CFG

Return Values

TRUE means success and FALSE means failure. Call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetSDKLocalCfg


NET_DVR_SetLogToFile

This API is used to start writing log file.

BOOL NET_DVR_SetLogToFile(
  DWORD    nLogLevel,
  char     *strLogDir,
  BOOL     bAutoDel
);

Parameters

nLogLevel
[in] Log level. 0- close log(default), 1- output ERROR log only, 2- output ERROR and DEBUG log, 3- output all log, including ERROR, DEBUG and INFO log
strLogDir
[in] Log file saving path, if set to NULL, the default path for Windows is "C:\\SdkLog\\", and the default path for Linux is ""/home/sdklog/"
bAutoDel
[bool] Whether to delete the files which exceed the number limit. Default: TRUE

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The log file path must be absolute path, and should be finished with "\\ ", e.g."C:\\SdkLog\\". It is suggested to manually create file firstly. If no assigned file path, it will use the default path: "C:\\SdkLog\\". It supports to call the API multi times to create new log files and supports max 10 files at the same time. If set bAutoDel to TRUE, it will automatically delete the files which exceed the limit. If the path is changed, it will use the new path when writing next file.


NET_DVR_GetLastError

This API is used to return error code for the last operation.

DWORD NET_DVR_GetLastError(
);

Return Values

Return the error code. Generally, there are 2 different types of error information: error of network communication library and error of software/hardware decoding library, and the detail information is listed as bellow:

Error Code of Network Communication Library

Type of Error | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOENOUGHPRI | 2 | Not authorized to do this operation.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_CHANNEL_ERROR | 4 | Channel number error. There is no corresponding channel number on the device.
NET_DVR_OVER_MAXLINK | 5 | The number of connection with the device has exceeded the max limit.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_OPERNOPERMIT | 13 | Not authorized for this operation.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_ERRORSERIALPORT | 15 | Serial port number error. The assigned serial port does not exist on the device.
NET_DVR_ERRORALARMPORT | 16 | Alarm port number error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL, or the value or format of the parameters does not match with the requirement.
NET_DVR_CHAN_EXCEPTION | 18 | Device channel is in exception status.
NET_DVR_NODISK | 19 | No hard disk on the device, and the operation of recording and hard disk configuration will fail.
NET_DVR_ERRORDISKNUM | 20 | Hard disk number error. The assigned hard disk number does not exist during hard disk management.
NET_DVR_DISK_FULL | 21 | Device hark disk is full.
NET_DVR_DISK_ERROR | 22 | Device hard disk error.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_BUSY | 24 | Device is busy.
NET_DVR_MODIFY_FAIL | 25 | Failed to modify device parameters.
NET_DVR_PASSWORD_FORMAT_ERROR | 26 | The inputting password format is not correct.
NET_DVR_DISK_FORMATING | 27 | Hard disk is formatting, and the operation cannot be done.
NET_DVR_DVRNORESOURCE | 28 | Not enough resource on the device.
NET_DVR_DVROPRATEFAILED | 29 | Device operation failed.
NET_DVR_OPENHOSTSOUND_FAIL | 30 | Failed to collect local audio data or to open audio output during voice talk / broadcasting.
NET_DVR_DVRVOICEOPENED | 31 | Voice talk channel on the device has been occupied.
NET_DVR_TIMEINPUTERROR | 32 | Time input is not correct.
NET_DVR_NOSPECFILE | 33 | There is no selected file for playback.
NET_DVR_CREATEFILE_ERROR | 34 | Failed to create a file, during local recording, saving picture, getting configuration file or downloading record file.
NET_DVR_FILEOPENFAIL | 35 | Failed to open a file, when importing configuration file, upgrading device or uploading inquest file.
NET_DVR_OPERNOTFINISH | 36 | The last operation has not been completed.
NET_DVR_GETPLAYTIMEFAIL | 37 | Failed to get the current played time.
NET_DVR_PLAYFAIL | 38 | Failed to start playback.
NET_DVR_FILEFORMAT_ERROR | 39 | The file format is not correct.
NET_DVR_DIR_ERROR | 40 | File directory error.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_AUDIO_MODE_ERROR | 42 | Sound adapter mode error. Currently opened sound playing mode does not match with the set mode.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_SETSOCKET_ERROR | 45 | Set SOCKET error.
NET_DVR_MAX_NUM | 46 | The number of login or preview connections has exceeded the SDK limitation.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_WRITEFLASHERROR | 48 | Writing FLASH error. Failed to write FLASH during device upgrade.
NET_DVR_UPGRADEFAIL | 49 | Failed to upgrade device. It is caused by network problem or the language mismatch between the device and the upgrade file.
NET_DVR_CARDHAVEINIT | 50 | The decode card has already been initialed.
NET_DVR_PLAYERFAILED | 51 | Failed to call API of player SDK.
NET_DVR_MAX_USERNUM | 52 | The number of login user has reached the maximum limit.
NET_DVR_GETLOCALIPANDMACFAIL | 53 | Failed to get the IP address or physical address of local PC.
NET_DVR_NOENCODEING | 54 | This channel hasn't started encoding.
NET_DVR_IPMISMATCH | 55 | IP address not match.
NET_DVR_MACMISMATCH | 56 | MAC address not match.
NET_DVR_UPGRADELANGMISMATCH | 57 | The language of upgrading file does not match the language of the device.
NET_DVR_MAX_PLAYERPORT | 58 | The number of player ports has reached the maximum limit.
NET_DVR_NOSPACEBACKUP | 59 | No enough space to backup file in backup device.
NET_DVR_NODEVICEBACKUP | 60 | No backup device.
NET_DVR_PICTURE_BITS_ERROR | 61 | The color quality setting of the picture does not match the requirement, and it should be limited to 24.
NET_DVR_PICTURE_DIMENSION_ERROR | 62 | The dimension is over 128x256.
NET_DVR_PICTURE_SIZ_ERROR | 63 | The size of picture is over 100K.
NET_DVR_LOADPLAYERSDKFAILED | 64 | Failed to load the player SDK.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKFAILED | 66 | Failed to load the library file-"DsSdk".
NET_DVR_LOADDSSDKPROC_ERROR | 67 | Can not find the API in "DsSdk".
NET_DVR_DSSDK_ERROR | 68 | Failed to call the API in "DsSdk".
NET_DVR_VOICEMONOPOLIZE | 69 | Sound adapter has been monopolized.
NET_DVR_JOINMULTICASTFAILED | 70 | Failed to join to multicast group.
NET_DVR_CREATEDIR_ERROR | 71 | Failed to create log file directory.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_USERID_ISUSING | 74 | The user ID is operating when logout.
NET_DVR_SOCKETLISTEN_ERROR | 75 | Failed to listen.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.
NET_DVR_WRITEFILE_FAILED | 77 | Failed to write file, during local recording, saving picture or downloading record file.
NET_DVR_FORMAT_READONLY | 78 | Failed to format read-only HD.
NET_DVR_WITHSAMEUSERNAME | 79 | This user name already exists in the user configuration structure.
NET_DVR_DEVICETYPE_ERROR | 80 | Device type does not match when import configuration.
NET_DVR_LANGUAGE_ERROR | 81 | Language does not match when import configuration.
NET_DVR_PARAVERSION_ERROR | 82 | Software version does not match when import configuration.
NET_DVR_IPCHAN_NOTALIVE | 83 | IP channel is not on-line when previewing.
NET_DVR_RTSP_SDK_ERROR | 84 | Load StreamTransClient.dll failed.
NET_DVR_CONVERT_SDK_ERROR | 85 | Load SystemTransform.dll failed.
NET_DVR_IPC_COUNT_OVERFLOW | 86 | Exceeds maximum number of connected IP channels.
NET_DVR_MAX_ADD_NUM | 87 | Exceeds maximum number of supported record labels or other operations.
NET_DVR_PARAMMODE_ERROR | 88 | Image intensifier, parameter mode error. This error may occur when client sets software or hardware parameters.
NET_DVR_CODESPITTER_OFFLINE | 89 | Code splitter is offline.
NET_DVR_BACKUP_COPYING | 90 | Device is backing up.
NET_DVR_CHAN_NOTSUPPORT | 91 | Channel not support.
NET_DVR_CALLINEINVALID | 92 | The height line location is too concentrated, or the length line is not inclined enough.
NET_DVR_CALCANCELCONFLICT | 93 | Cancel calibration conflict, if the rule and overall actual size filter have been set.
NET_DVR_CALPOINTOUTRANGE | 94 | Calibration point exceeds the range.
NET_DVR_FILTERRECTINVALID | 95 | The size filter does not meet the requirement.
NET_DVR_DDNS_DEVOFFLINE | 96 | Device has not registered to DDNS.
NET_DVR_DDNS_INTER_ERROR | 97 | DDNS inner error.
NET_DVR_FUNCTION_NOT_SUPPORT_OS | 98 | This function don't support this OS.
NET_DVR_DEC_CHAN_REBIND | 99 | Decode channel can not bind with two display channel.
NET_DVR_INTERCOM_SDK_ERROR | 100 | Failed to load the audio intercom SDK from current directory.
NET_DVR_NO_CURRENT_UPDATEFILE | 101 | No current upgrade pack.
NET_DVR_USER_NOT_SUCC_LOGIN | 102 | Login is not successful
NET_DVR_USE_LOG_SWITCH_FILE | 103 | Using the log switch file
NET_DVR_POOL_PORT_EXHAUST | 104 | The port that used for binding is exhaust
NET_DVR_PACKET_TYPE_NOT_SUPPORT | 105 | Packet type is not supported
NET_DVR_IPPARA_IPID_ERROR | 106 | IPID is error
NET_DVR_LOAD_HCPREVIEW_SDK_ERROR | 107 | Live view component is failed to upload
NET_DVR_LOAD_HCVOICETALK_SDK_ERROR | 108 | Voice talk component is failed to upload
NET_DVR_LOAD_HCALARM_SDK_ERROR | 109 | Alarm component is failed to upload
NET_DVR_LOAD_HCPLAYBACK_SDK_ERROR | 110 | Playback component is failed to upload
NET_DVR_LOAD_HCDISPLAY_SDK_ERROR | 111 | Display component is failed to upload
NET_DVR_LOAD_HCINDUSTRY_SDK_ERROR | 112 | Industry SDK component is failed to uploa
NET_DVR_LOAD_HCGENERALCFGMGR_SDK_ERROR | 113 | General configuration management is failed to upload
NET_DVR_CORE_VER_MISMATCH | 121 | Component is not matched with the core version when uploading the component alone
NET_DVR_CORE_VER_MISMATCH_HCPREVIEW | 122 | Live view component mismatched with the core version
NET_DVR_CORE_VER_MISMATCH_HCVOICETALK | 123 | Voice talk component mismatches with the core version
NET_DVR_CORE_VER_MISMATCH_HCALARM | 124 | Alarm component mismatch with the core version
NET_DVR_CORE_VER_MISMATCH_HCPLAYBACK | 125 | Playback component mismatches with the core version
NET_DVR_CORE_VER_MISMATCH_HCDISPLAY | 126 | Display component mismatches with the core version
NET_DVR_CORE_VER_MISMATCH_HCINDUSTRY | 127 | Industry application component mismatches with the core version
NET_DVR_CORE_VER_MISMATCH_HCGENERALCFGMGR | 128 | General configuration management component mismatches with the core version
NET_DVR_COM_VER_MISMATCH_HCPREVIEW | 136 | Live view component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCVOICETALK | 137 | Voice talk component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCALARM | 138 | Alarm component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCPLAYBACK | 139 | Playback component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCDISPLAY | 140 | Display component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCINDUSTRY | 141 | Industry application component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCGENERALCFGMGR | 142 | General configuration management component mismatches with the HCNetSDK version
NET_DVR_ALIAS_DUPLICATE | 150 | Alias is duplicate (for HiDDNS)
NET_DVR_USERNAME_NOT_EXIST | 152 | User name does not exist (error code of V5.1.7 to V5.3.1 camera and IPD)
NET_ERR_USERNAME_LOCKED | 153 | User name is locked
NET_DVR_INVALID_USERID | 154 | Invalid user name ID
NET_DVR_LOW_LOGIN_VERSION | 155 | Login version
NET_DVR_LOAD_LIBEAY32_DLL_ERROR | 156 | Failed to load libeay32.dll
NET_DVR_LOAD_SSLEAY32_DLL_ERROR | 157 | Failed to load ssleay32.dll
NET_ERR_LOAD_LIBICONV | 158 | Failed to load libiconv.dll
NET_DVR_TEST_SERVER_FAIL_CONNECT | 165 | Failed to connect to test server
NET_DVR_NAS_SERVER_INVALID_DIR | 166 | NAS server failed to load directory, invalid target, or incorrect user name or password.
NET_DVR_NAS_SERVER_NOENOUGH_PRI | 167 | NAS server failed to load directory, no permission
NET_DVR_EMAIL_SERVER_NOT_CONFIG_DNS | 168 | Domain name used by server, may be invalid without configuring DNS
NET_DVR_EMAIL_SERVER_NOT_CONFIG_GATEWAY | 169 | No gateway configured, sending email may be failed
NET_DVR_TEST_SERVER_PASSWORD_ERROR | 170 | Incorrect user name or password, incorrect user name or password for test server.
NET_DVR_EMAIL_SERVER_CONNECT_EXCEPTION_WITH_SMTP | 171 | Interaction exception between device and SMTP server
NET_DVR_FTP_SERVER_FAIL_CREATE_DIR | 172 | FTP server failed to create directory
NET_DVR_FTP_SERVER_NO_WRITE_PIR | 173 | FTP server has no wirte permission
NET_DVR_IP_CONFLICT | 174 | IP conflict
NET_DVR_INSUFFICIENT_STORAGEPOOL_SPACE | 175 | Storage pool space is full
NET_DVR_STORAGEPOOL_INVALID | 176 | Invalid cloud storage pool, no storage pool configured or incorrect storage pool ID
NET_DVR_EFFECTIVENESS_REBOOT | 177 | Restart to apply
NET_ERR_ANR_ARMING_EXIST | 178 | The broken network resuming upload link is existed (the error will be return when choose arming again with broken link upload function after private SDK protocol arming connection is established).
NET_ERR_UPLOADLINK_EXIST | 179 | The broken network resuming upload link is existed (EHOME protocol and private SDK protocol do not support broken network resuming at a same time).
NET_ERR_INCORRECT_FILE_FORMAT | 180 | Incorrect importing file format.
NET_ERR_INCORRECT_FILE_CONTENT | 181 | Incorrect importing file content
NET_ERR_MAX_HRUDP_LINK | 182 | HRUDP connected device exceeded upper limit.
Error code of RAID |  |
NET_DVR_NAME_NOT_ONLY | 200 | This user name already exists.
NET_DVR_OVER_MAX_ARRAY | 201 | The array exceeds the limitation.
NET_DVR_OVER_MAX_VD | 202 | The virtual disk exceeds the limitation.
NET_DVR_VD_SLOT_EXCEED | 203 | The virtual disk slots are full.
NET_DVR_PD_STATUS_INVALID | 204 | Physical disk used to rebuild RAID is in error state.
NET_DVR_PD_BE_DEDICATE_SPARE | 205 | Physical disk used to rebuild RAID is assigned as spare disk.
NET_DVR_PD_NOT_FREE | 206 | Physical disk used to rebuild RAID is not free.
NET_DVR_CANNOT_MIG2NEWMODE | 207 | Can not migrate from current RAID type to the new type.
NET_DVR_MIG_PAUSE | 208 | Migration has been paused.
NET_DVR_MIG_ABOUTED | 209 | Migration has been aborted.
NET_DVR_EXIST_VD | 210 | There is virtual disk in the array, and the array can not been deleted.
NET_DVR_TARGET_IN_LD_FUNCTIONAL | 211 | Target physical disk is part of the virtual disk and is functional.
NET_DVR_HD_IS_ASSIGNED_ALREADY | 212 | Specified physical disk is assigned as a virtual disk.
NET_DVR_INVALID_HD_COUNT | 213 | Number of physical disks doesn't fit the specified RAID level.
NET_DVR_LD_IS_FUNCTIONAL | 214 | Specified virtual disk is functional and it can not be rebuilt.
NET_DVR_BGA_RUNNING | 215 | BGA is running.
NET_DVR_LD_NO_ATAPI | 216 | Can not create virtual disk with ATAPI drive.
NET_DVR_MIGRATION_NOT_NEED | 217 | Migration is not necessary.
NET_DVR_HD_TYPE_MISMATCH | 218 | Physical disks are not of the same type.
NET_DVR_NO_LD_IN_DG | 219 | No virtual disk exists on the specified array.
NET_DVR_NO_ROOM_FOR_SPARE | 220 | Disk space is too small to be assigned as spare drive.
NET_DVR_SPARE_IS_IN_MULTI_DG | 221 | Disk is already assigned as a spare drive for an array.
NET_DVR_DG_HAS_MISSING_PD | 222 | Disk is missing from an array.
NET_DVR_NAME_EMPTY | 223 | Name is empty.
NET_DVR_INPUT_PARAM | 224 | The input parameter is error.
NET_DVR_PD_NOT_AVAILABLE | 225 | The physical disk is not available.
NET_DVR_ARRAY_NOT_AVAILABLE | 226 | The RAID is not available
NET_DVR_PD_COUNT | 227 | The count of physical disks is not correct.
NET_DVR_VD_SMALL | 228 | Virtual disk is too small.
NET_DVR_NO_EXIST | 229 | Not exist.
NET_DVR_NOT_SUPPORT | 230 | Not support the operation.
NET_DVR_NOT_FUNCTIONAL | 231 | The status of RAID is abnormal.
NET_DVR_DEV_NODE_NOT_FOUND | 232 | The device node of virtual disk does not exist.
NET_DVR_SLOT_EXCEED | 233 | The count of slots reaches the upper limit.
NET_DVR_NO_VD_IN_ARRAY | 234 | There is not virtual disk in the RAID.
NET_DVR_VD_SLOT_INVALID | 235 | The slot of virtual disk is invalid.
NET_DVR_PD_NO_ENOUGH_SPACE | 236 | The required space of physical disk is not enough.
NET_DVR_ARRAY_NONFUNCTION | 237 | Only the RAID on normal state supports to be migrated.
NET_DVR_ARRAY_NO_ENOUGH_SPACE | 238 | The space of RAID is not enough.
NET_DVR_STOPPING_SCANNING_ARRAY | 239 | It is pulling the disk out safely or rescanning the disk.
NET_DVR_NOT_SUPPORT_16T | 240 | Not support create the RAID larger than 16T.
The error code of activating |  |
NET_DVR_ERROR_DEVICE_NOT_ACTIVATED | 250 | The device is not activated (login will be failed If the device is not activated, and the error code will be returned)
NET_DVR_ERROR_RISK_PASSWORD | 251 | Password with risks (the user configured password or activating password is with risks)
NET_DVR_ERROR_DEVICE_HAS_ACTIVATED | 252 | The device is already activated ( for the device that has been activated, the error code will be returned for the repeated activating)
The error code of smart device |  |
NET_DVR_ID_ERROR | 300 | Configuration ID is illegal.
NET_DVR_POLYGON_ERROR | 301 | Polygon does not match requirement.
NET_DVR_RULE_PARAM_ERROR | 302 | Rule parameter is illegal.
NET_DVR_RULE_CFG_CONFLICT | 303 | Configuration conflict.
NET_DVR_CALIBRATE_NOT_READY | 304 | Calibration not ready.
NET_DVR_CAMERA_DATA_ERROR | 305 | Camera parameter is illegal.
NET_DVR_CALIBRATE_DATA_UNFIT | 306 | Not inclined enough, not fit to calibrate.
NET_DVR_CALIBRATE_DATA_CONFILICT | 307 | Calibration error.
NET_DVR_CALIBRATE_CALC_FAIL | 308 | Failed to calculate camera calibration parameter.
NET_DVR_CALIBRATE_LINE_OUT_RECT | 309 | The input calibrating line exceeds the external rectangle sample.
NET_DVR_ENTER_RULE_NOT_READY | 310 | Enter rule not ready.
NET_DVR_AID_RULE_NO_INCLUDE_LANE | 311 | It does not include lane in the traffic event rule (especial for traffic jam or driving against the traffic).
NET_DVR_LANE_NOT_READY | 312 | Lane not ready.
NET_DVR_RULE_INCLUDE_TWO_WAY | 313 | There are two different directions in event rule.
NET_DVR_LANE_TPS_RULE_CONFLICT | 314 | The lane conflicts with the data rule.
NET_DVR_NOT_SUPPORT_EVENT_TYPE | 315 | The event type is not supported by the device.
NET_DVR_LANE_NO_WAY | 316 | The lane has no direction.
NET_DVR_SIZE_FILTER_ERROR | 317 | The size of filter is illegal.
NET_DVR_LIB_FFL_NO_FACE | 318 | There is no face when feature point positioning.
NET_DVR_LIB_FFL_IMG_TOO_SMALL | 319 | The input image is too small when feature point positioning.
NET_DVR_LIB_FD_IMG_NO_FACE | 320 | The input image has no face when detecting face in single image.
NET_DVR_LIB_FACE_TOO_SMALL | 321 | Face is too small when building model.
NET_DVR_LIB_FACE_QUALITY_TOO_BAD | 322 | Face image is of poor quality when building model.
NET_DVR_KEY_PARAM_ERR | 323 | Advanced parameter setting error.
NET_DVR_CALIBRATE_DATA_ERR | 324 | Calibration sample size error, or data value error, or sample points beyond the horizon
NET_DVR_CALIBRATE_DISABLE_FAIL | 325 | The configured rules do not allow to cancel calibration.
NET_DVR_VCA_LIB_FD_SCALE_OUTRANGE | 326 | Filter scale is out range.
NET_DVR_LIB_FD_REGION_TOO_LARGE | 327 | Region is too big.
NET_DVR_TRIAL_OVERDUE | 328 | Trial overdue.
NET_DVR_CONFIG_FILE_CONFLICT | 329 | Config file conflict.
NET_DVR_FR_FPL_FAIL | 330 | Feature points location is error in face recognition.
NET_DVR_FR_IQA_FAIL | 331 | Image quality assessment is error in face recognition.
NET_DVR_FR_FEM_FAIL | 332 | Feature extract & match error in face recognition.
NET_DVR_FPL_DT_CONF_TOO_LOW | 333 | Detection confidence is too low in feature points location.
NET_DVR_FPL_CONF_TOO_LOW | 334 | Confidence is too low in feature points location.
NET_DVR_E_DATA_SIZE | 335 | Size of model data error.
NET_DVR_FR_MODEL_VERSION_ERR | 336 | Model version is error.
NET_DVR_FR_FD_FAIL | 337 | Face detection error in face recognition.
NET_DVR_FA_NORMALIZE_ERR | 338 | Face attribute normalize error.
NET_DVR_DOG_PUSTREAM_NOT_MATCH | 339 | Pustream and softdog are mismatched.
NET_DVR_DEV_PUSTREAM_NOT_MATCH | 340 | Pustream device version is error.
NET_DVR_PUSTREAM_ALREADY_EXISTS | 341 | The pustream has existence.
NET_DVR_SEARCH_CONNECT_FAILED | 342 | Failed to connect face retrieval device.
NET_DVR_INSUFFICIENT_DISK_SPACE | 343 | Storage space is insufficient.
NET_DVR_DATABASE_CONNECTION_FAILED | 344 | Failed to connect database.
NET_DVR_DATABASE_ADM_PW_ERROR | 345 | Username or password is error for database.
NET_DVR_DECODE_YUV | 346 | Failed to decode image.
NET_DVR_IMAGE_RESOLUTION_ERROR | 347 | Invalid image resolution
NET_DVR_CHAN_WORKMODE_ERROR | 348 | Channel operating mode error
Error Code of RTSP Communication Library | 400 to 446 | Error Code of RTSP Communication Library
Error Code of Software Decoding Library | 500 to 528 | Error Code of Software Decoding Library
Error Code of Transcode Library | 581 | Error Code of Transcode Library
Error Code of Two-way Audio Library | 600 to 619 | Error Code of Two-way Audio Library
Error Code of Qos Stream Control Library | 678 to 700 | Error Code of Qos Stream Control Library
The other error code |  |
NET_ERROR_SCENE_USING | 717 | Scene is in use
NET_ERR_TERMINAL_BUSY | 780 | Terminal busy, in meeting
NET_DVR_FUNCTION_RESOURCE_USAGE_ERROR | 791 | Resources is occupied by other functions of the device.
NET_DVR_DEV_NET_OVERFLOW | 800 | Network traffic is over device ability limit.
NET_DVR_STATUS_RECORDFILE_WRITING_NOT_LOCK | 801 | The video file is recording and can't be locked.
NET_DVR_STATUS_CANT_FORMAT_LITTLE_DISK | 802 | The hard disk capacity is too small and can not be formatted.
N+1 error code |  |
NET_SDK_ERR_REMOTE_DISCONNEC | 803 | Failed to connect to the remote end
NET_SDK_ERR_RD_ADD_RD | 804 | Backup device cannot be added to backup device
NET_SDK_ERR_BACKUP_DISK_EXCEPT | 805 | Backup disk exception
NET_SDK_ERR_RD_LIMIT | 806 | Upper limit of backup devices reached
NET_SDK_ERR_ADDED_RD_IS_WD | 807 | Added backup device is working device
NET_SDK_ERR_ADD_ORDER_WRONG | 808 | Added in incorrect order, add the working device if not added as backup device
NET_SDK_ERR_WD_ADD_WD | 809 | Working device cannot be added to working device
NET_SDK_ERR_WD_SERVICE_EXCETP | 810 | CVR service exception (CVR working device exception under N+1 mode)
NET_SDK_ERR_RD_SERVICE_EXCETP | 811 | Backup device CVR exception
NET_SDK_ERR_ADDED_WD_IS_RD | 812 | Added working device is backup device
NET_SDK_ERR_PERFORMANCE_LIMIT | 813 | Performance upper limit reached
NET_SDK_ERR_ADDED_DEVICE_EXIST | 814 | Added device already exists
Error code of interrogation machine |  |
NET_SDK_ERR_INQUEST_RESUMING | 815 | Inquest resuming.
NET_SDK_ERR_RECORD_BACKUPING | 816 | Record backuping.
NET_SDK_ERR_DISK_PLAYING | 817 | Disk playing.
NET_SDK_ERR_INQUEST_STARTED | 818 | Inquest started.
NET_SDK_ERR_LOCAL_OPERATING | 819 | Local operating.
NET_SDK_ERR_INQUEST_NOT_START | 820 | Inquest not start.
Other error code |  |
NET_SDK_ERR_CHAN_AUDIO_BIND | 821 | Channel not bound or bound two-way audio failed
NET_DVR_N_PLUS_ONE_MODE | 822 | Currently device is in N+1 mode, cloud storage is not supported
NET_DVR_CLOUD_STORAGE_OPENED | 823 | Cloud storage mode is enbaled
NET_DVR_ERR_OPER_NOT_ALLOWED | 824 | Operation failed, The N+0 of the device is be taken over.
NET_DVR_ERR_NEED_RELOCATE | 825 | The N+0 of the device is be taken over. Get the re-positioning information first and then run again.
Error code of interrogation machine |  |
NET_SDK_ERR_IR_PORT_ERROR | 830 | IR output port error
NET_SDK_ERR_IR_CMD_ERROR | 831 | IR output port command number error
NET_SDK_ERR_NOT_INQUESTING | 832 | Device is not in interrogation status
NET_SDK_ERR_INQUEST_NOT_PAUSED | 833 | Device is not in paused status
Other error code |  |
NET_DVR_CHECK_PASSWORD_MISTAKE_ERROR | 834 | Incorrect password
NET_DVR_UNABLE_CALIB_ERROR | 836 | Currently cannot calibrate
NET_DVR_PLEASE_CALIB_ERROR | 837 | Please finish calibration first
NET_DVR_ERR_PANORAMIC_CAL_EMPTY | 838 | Panoramic calibration is empty in Flash
NET_DVR_ERR_CALIB_FAIL_PLEASEAGAIN | 839 | Calibration failed, please try again
NET_DVR_ERR_DETECTION_LINE | 840 | Rule line configuration error, please try again and make sure the line is within the red region
NET_ERR_ALARM_INPUT_OCCUPIED | 845 | A<-1 alarm number has been used for triggering vehicle capture
Error code of large size display |  |
NET_ERR_WINCHAN_IDX | 901 | Window channel index error.
NET_ERR_WIN_LAYER | 902 | Window layer number error(the count of window layers on a single screen exceeds the max number).
NET_ERR_WIN_BLK_NUM | 903 | Window block number error(the count of screens that single window overlays exceeds the max number).
NET_ERR_OUTPUT_RESOLUTION | 904 | The output resolution error.
NET_ERR_LAYOUT | 905 | Layout index error.
NET_ERR_INPUT_RESOLUTION | 906 | The input resolution is not supported.
NET_ERR_SUBDEVICE_OFFLINE | 907 | The sub-device is off-line.
NET_ERR_NO_DECODE_CHAN | 908 | There is no free decoding channel.
NET_ERR_MAX_WINDOW_ABILITY | 909 | The upper limit of window number.
NET_ERR_ORDER_ERROR | 910 | Calling order error.
NET_ERR_PLAYING_PLAN | 911 | Be playing plan.
NET_ERR_DECODER_USED | 912 | Decoder board is being used.
NET_ERR_OUTPUT_BOARD_DATA_OVERFLOW | 913 | Output board data overflow
NET_ERR_SAME_USER_NAME | 914 | Duplicate user name
NET_ERR_INVALID_USER_NAME | 915 | Invalid user name
NET_ERR_MATRIX_USING | 916 | Input matrix is in use.
NET_ERR_DIFFERENT_CHAN_TYPE | 917 | Different channel type (the type of matrix output channel mismatches that of the controller input channel)
NET_ERR_INPUT_CHAN_BINDED | 918 | Input channel has been bound by other matrix
NET_ERR_BINDED_OUTPUT_CHAN_OVERFLOW | 919 | The matrix output channels in use exceeded the number bound by matrix and controller
NET_ERR_MAX_SIGNAL_NUM | 920 | Number of input signals reached upper limit
NET_ERR_INPUT_CHAN_USING | 921 | Input channel is in use
NET_ERR_MANAGER_LOGON | 922 | Administrator has logged in, operation failed
NET_ERR_USERALREADY_LOGON | 923 | The user has logged in, operation failed
NET_ERR_LAYOUT_INIT | 924 | Scene is initializing, operation failed
NET_ERR_BASEMAP_SIZE_NOT_MATCH | 925 | Base image size does not match
NET_ERR_WINDOW_OPERATING | 926 | Window is in other operation, operation failed
NET_ERR_SIGNAL_UPLIMIT | 927 | Number of signal source window reached upper limit
Error code of decoder |  |
NET_ERR_WINDOW_SIZE_OVERLIMIT | 943 | The window size exceeds the limit.
NET_ERR_MAX_WIN_OVERLAP | 951 | The number of windows overlap has reached the maximum limit.
NET_ERR_STREAMID_CHAN_BOTH_VALID | 952 | stream ID and channel number are both valid.
NET_ERR_NO_ZERO_CHAN | 953 | The device has no zero channel.
NEED_RECONNECT | 955 | Need redirection (for transcoding system)
NET_ERR_NO_STREAM_ID | 956 | The stream ID does not exist.
NET_DVR_TRANS_NOT_START | 957 | The transcoding has not been started.
NET_ERR_MAXNUM_STREAM_ID | 958 | The number of stream ID has reached the maximum limit.
NET_ERR_WORKMODE_MISMATCH | 959 | The work mode does not match with the requirement.
NET_ERR_MODE_IS_USING | 960 | It Has been working in current mode.
NET_ERR_DEV_PROGRESSING | 961 | The device is in processing
NET_ERR_PASSIVE_TRANSCODING | 962 | It is in transcoding.
NET_DVR_ERR_WINDOW_SIZE_PLACE | 975 | Wrong window position.
NET_DVR_ERR_RGIONAL_RESTRICTIONS | 976 | Screen distance exceeds the limit.
NET_DVR_ERR_CLOSE_WINDOWS | 984 | Operation failed. Close the window first.
NET_DVR_ERR_MATRIX_LOOP_ABILITY | 985 | Beyond the cycle decoding capacity.
NET_DVR_ERR_MATRIX_LOOP_TIME | 986 | Invalid cycle decoding time.
NET_DVR_ERR_LINKED_OUT_ABILITY | 987 | No more linked camera can be added.
Error code of capability set |  |
XML_ABILITY_NOTSUPPORT | 1000 | Getting capability node is not supported
XML_ANALYZE_NOENOUGH_BUF | 1001 | Not enough output memory
XML_ANALYZE_FIND_LOCALXML_ERROR | 1002 | Failed to find related local xml
XML_ANALYZE_LOAD_LOCALXML_ERROR | 1003 | Loading local xml error
XML_NANLYZE_DVR_DATA_FORMAT_ERROR | 1004 | Device capability data format error
XML_ANALYZE_TYPE_ERROR | 1005 | Capability set type error
XML_ANALYZE_XML_NODE_ERROR | 1006 | XML capability node format error
XML_INPUT_PARAM_ERROR | 1007 | Input capability XML node value error
XML_VERSION_MISMATCH | 1008 | XML version does not match
Other error code |  |
NET_ERR_TRANS_CHAN_START | 1101 | Transparent channel has been open, operation failed
NET_ERR_DEV_UPGRADING | 1102 | Device is upgrading
NET_ERR_MISMATCH_UPGRADE_PACK_TYPE | 1103 | Upgrade pack type does not match
NET_ERR_DEV_FORMATTING | 1104 | Device is formatting
NET_ERR_MISMATCH_UPGRADE_PACK_VERSION | 1105 | Upgrade pack version does not match
Error code of alarm device |  |
NET_ERR_SEARCHING_MODULE | 1201 | Searching external module
NET_ERR_REGISTERING_MODULE | 1202 | Registering external module
NET_ERR_GETTING_ZONES | 1203 | Getting arming region parameter
NET_ERR_GETTING_TRIGGERS | 1204 | Getting trigger
NET_ERR_ARMED_STATUS | 1205 | System is in arming status
NET_ERR_PROGRAM_MODE_STATUS | 1206 | System is in programming mode
NET_ERR_WALK_TEST_MODE_STATUS | 1207 | System is in pacing measuring mode
NET_ERR_BYPASS_STATUS | 1208 | Bypass status
NET_ERR_DISABLED_MODULE_STATUS | 1209 | Function not enabled
NET_ERR_NOT_SUPPORT_OPERATE_ZONE | 1210 | Operation is not supported by arming region
NET_ERR_NOT_SUPPORT_MOD_MODULE_ADDR | 1211 | Module address cannot be modified
NET_ERR_UNREGISTERED_MODULE | 1212 | Module is not registered
NET_ERR_PUBLIC_SUBSYSTEM_ASSOCIATE_SELF | 1213 | Public sub system associate with its self
NET_ERR_EXCEEDS_ASSOCIATE_SUBSYSTEM_NUM | 1214 | Number of associated public sub system reached upper limit
NET_ERR_BE_ASSOCIATED_BY_PUBLIC_SUBSYSTEM | 1215 | Sub system is associated by other public sub system
NET_ERR_ZONE_FAULT_STATUS | 1216 | Arming region is in failure status
NET_ERR_SAME_EVENT_TYPE | 1217 | Same event type exists in enable event trigger alarm output and disable event trigger alarm output
NET_ERR_ZONE_ALARM_STATUS | 1218 | Arming region is in alarm status
NET_ERR_EXPANSION_BUS_SHORT_CIRCUIT | 1219 | Extension bus short-circuit
NET_ERR_PWD_CONFLICT | 1220 | Password conflict, e.g., lock password is identical with duress password
NET_ERR_DETECTOR_GISTERED_BY_OTHER_ZONE | 1221 | Detector has been registered by other arming regions
NET_ERR_DETECTOR_GISTERED_BY_OTHER_PU | 1222 | Detector has been registered by other hosts
NET_ERR_DETECTOR_DISCONNECT | 1223 | Detector offline
NET_ERR_CALL_BUSY | 1224 | Device in call
NET_ERR_FILE_NAME | 1357 | File name error, empty or invalid
NET_ERR_BROADCAST_BUSY | 1358 | Device in broadcast
Error code of traffic camera |  |
NET_DVR_ERR_LANENUM_EXCEED | 1400 | Over the number of lanes.
NET_DVR_ERR_PRAREA_EXCEED | 1401 | Recognition area is too large.
NET_DVR_ERR_LIGHT_PARAM | 1402 | Signal lamp access parameters error.
NET_DVR_ERR_LANE_LINE_INVALID | 1403 | Lane configuration error.
NET_DVR_ERR_STOP_LINE_INVALID | 1404 | Stop line configuration error.
NET_DVR_ERR_LEFTORRIGHT_LINE_INVALID | 1405 | Turn left / right boundary configuration error.
NET_DVR_ERR_LANE_NO_REPEAT | 1406 | Overlay lane number repetition.
NET_DVR_ERR_PRAREA_INVALID | 1407 | The polygon does not meet the requirements.
NET_DVR_ERR_LIGHT_NUM_EXCEED | 1408 | Video detection of traffic light signal exceeds the maximum number of.
NET_DVR_ERR_SUBLIGHT_NUM_INVALID | 1409 | Video detection of traffic signal lamp lights are not legitimate
NET_DVR_ERR_LIGHT_AREASIZE_INVALID | 1410 | The size of the video detection of traffic light input signal lamp is not valid.
NET_DVR_ERR_LIGHT_COLOR_INVALID | 1411 | The color of the video detection of traffic light input signal lamp color is not legitimate.
NET_DVR_ERR_LIGHT_DIRECTION_INVALID | 1412 | The direction property of the video detection of traffic light input light is not valid.
NET_DVR_ERR_LACK_IOABLITY | 1413 | Lack of IO ablity.
NET_DVR_ERR_FTP_PORT | 1414 | FTP port error.
NET_DVR_ERR_FTP_CATALOGUE | 1415 | FTP catalogue error.
NET_DVR_ERR_FTP_UPLOAD_TYPE | 1416 | FTP upload type error.
NET_DVR_ERR_FLASH_PARAM_WRITE | 1417 | Setting param flash write error.
NET_DVR_ERR_FLASH_PARAM_READ | 1418 | Getting param flash read error.
NET_DVR_ERR_PICNAME_DELIMITER | 1419 | Pic name delimiter error.
NET_DVR_ERR_PICNAME_ITEM | 1420 | Pic name item error.
NET_DVR_ERR_PLATE_RECOGNIZE_TYPE | 1421 | Plate recognize type error.
NET_DVR_ERR_CAPTURE_TIMES | 1422 | Capture times error.
NET_DVR_ERR_LOOP_DISTANCE | 1423 | Loop distance error.
NET_DVR_ERR_LOOP_INPUT_STATUS | 1424 | Loop input status error.
NET_DVR_ERR_RELATE_IO_CONFLICT | 1425 | Related IO conflict.
NET_DVR_ERR_INTERVAL_TIME | 1426 | Interval time error.
NET_DVR_ERR_SIGN_SPEED | 1427 | Sign speed error.
NET_DVR_ERR_PIC_FLIP | 1428 | Flip is used.
NET_DVR_ERR_RELATE_LANE_NUMBER | 1429 | Related lane number error.
NET_DVR_ERR_TRIGGER_MODE | 1430 | Trigger mode error.
NET_DVR_ERR_DELAY_TIME | 1431 | Delay time error.
NET_DVR_ERR_EXCEED_RS485_COUNT | 1432 | Exceed RS485 count.
NET_DVR_ERR_RADAR_TYPE | 1433 | Radar type error.
NET_DVR_ERR_RADAR_ANGLE | 1434 | Radar angle error.
NET_DVR_ERR_RADAR_SPEED_VALID_TIME | 1435 | Radar speed valid time error.
NET_DVR_ERR_RADAR_LINE_CORRECT | 1436 | Radar line correct error.
NET_DVR_ERR_RADAR_CONST_CORRECT | 1437 | Radar const correct error.
NET_DVR_ERR_RECORD_PARAM | 1438 | Record param error.
NET_DVR_ERR_LIGHT_WITHOUT_COLOR_AND_DIRECTION | 1439 | Light number and other param error.
NET_DVR_ERR_LIGHT_WITHOUT_DETECTION_REGION | 1440 | Light number and detection region error.
NET_DVR_ERR_RECOGNIZE_PROVINCE_PARAM | 1441 | Plate recognize Province param error.
NET_DVR_ERR_SPEED_TIMEOUT | 1442 | IO Speed TimeOut Param error.
NET_DVR_ERR_NTP_TIMEZONE | 1443 | NTP TimeZone Param error.
NET_DVR_ERR_NTP_INTERVAL_TIME | 1444 | NTP Interval Time error.
NET_DVR_ERR_NETWORK_CARD_NUM | 1445 | Network Card Num error.
NET_DVR_ERR_DEFAULT_ROUTE | 1446 | Default Route error.
NET_DVR_ERR_BONDING_WORK_MODE | 1447 | Banding Work Mode error.
NET_DVR_ERR_SLAVE_CARD | 1448 | Slave Card error.
NET_DVR_ERR_PRIMARY_CARD | 1449 | Primary Card error.
NET_DVR_ERR_DHCP_PPOE_WORK | 1450 | DHCP and PPOE not Meanwhile start.
NET_DVR_ERR_NET_INTERFACE | 1451 | Net Interface invalid.
NET_DVR_ERR_MTU | 1452 | MTU Param invalid.
NET_DVR_ERR_NETMASK | 1453 | Netmask address invalid.
NET_DVR_ERR_IP_INVALID | 1454 | IP address invalid.
NET_DVR_ERR_MULTICAST_IP_INVALID | 1455 | Multicast IP address invalid.
NET_DVR_ERR_GATEWAY_INVALID | 1456 | Gateway address invalid.
NET_DVR_ERR_DNS_INVALID | 1457 | DNS Param invalid.
NET_DVR_ERR_ALARMHOST_IP_INVALID | 1458 | AlarmHost IP invalid.
NET_DVR_ERR_IP_CONFLICT | 1459 | IP address Conflict.
NET_DVR_ERR_NETWORK_SEGMENT | 1460 | IP not support Multi Network segment.
NET_DVR_ERR_NETPORT | 1461 | NetPort param error.
NET_DVR_ERR_PPPOE_NOSUPPORT | 1462 | Unsupport PPPOE.
NET_DVR_ERR_DOMAINNAME_NOSUPPORT | 1463 | Not Support Domain Name.
NET_DVR_ERR_NO_SPEED | 1464 | Speed Not Enabled.
NET_DVR_ERR_IOSTATUS_INVALID | 1465 | IO Status invalid.
NET_DVR_ERR_BURST_INTERVAL_INVALID | 1466 | Burst Interval invalid.
NET_DVR_ERR_RESERVE_MODE | 1467 | Reserve Mode invalid.
NET_DVR_ERR_LANE_NO | 1468 | Lane No error.
NET_DVR_ERR_COIL_AREA_TYPE | 1469 | Coil Area Type error.
NET_DVR_ERR_TRIGGER_AREA_PARAM | 1470 | Trigger Area Param error.
NET_DVR_ERR_SPEED_LIMIT_PARAM | 1471 | Speed Limit Param error.
NET_DVR_ERR_LANE_PROTOCOL_TYPE | 1472 | Lane Protocol Type error.
NET_DVR_ERR_INTERVAL_TYPE | 1473 | Capture Interval Type error.
NET_DVR_ERR_INTERVAL_DISTANCE | 1474 | Capture Interval Distance error.
NET_DVR_ERR_RS485_ASSOCIATE_DEVTYPE | 1475 | Rs485 Associate DevType error.
NET_DVR_ERR_RS485_ASSOCIATE_LANENO | 1476 | Rs485 Associate LaneNo error.
NET_DVR_ERR_LANENO_ASSOCIATE_MULTIRS485 | 1477 | LaneNo Associate MulitRs485 error.
NET_DVR_ERR_LIGHT_DETECTION_REGION | 1478 | Light Detection Region error.
NET_DVR_ERR_DN2D_NOSUPPORT | 1479 | UnSupport Capture Frame 2D Noise Reduction.
NET_DVR_ERR_IRISMODE_NOSUPPORT | 1480 | UnSupport scene Mode.
NET_DVR_ERR_WB_NOSUPPORT | 1481 | UnSupport White Balance Mode.
NET_DVR_ERR_IO_EFFECTIVENESS | 1482 | IO Effectiveness invalid.
NET_DVR_ERR_LIGHTNO_MAX | 1483 | Access Detector Lights Red / Yellow Overrun.
NET_DVR_ERR_LIGHTNO_CONFLICT | 1484 | Access Detector Lights Red / Yellow Conflict.
NET_DVR_ERR_CANCEL_LINE | 1485 | Trigger straight line error.
NET_DVR_ERR_STOP_LINE | 1486 | Subject line area stop line error.
NET_DVR_ERR_RUSH_REDLIGHT_LINE | 1487 | Red light trigger lines error.
NET_DVR_ERR_IOOUTNO_MAX | 1488 | IO out port error.
NET_DVR_ERR_IOOUTNO_AHEADTIME_MAX | 1489 | IO out ahead time error.
NET_DVR_ERR_IOOUTNO_IOWORKTIME | 1490 | IO out inwork time error.
NET_DVR_ERR_IOOUTNO_FREQMULTI | 1491 | IO out frequency multiplication error.
NET_DVR_ERR_IOOUTNO_DUTYRATE | 1492 | IO out duty rate error.
NET_DVR_ERR_VIDEO_WITH_EXPOSURE | 1493 | IO out work mode error.
NET_DVR_ERR_PLATE_BRIGHTNESS_WITHOUT_FLASHDET | 1494 | Plate enable in plate compensate mode on.
NET_DVR_ERR_RECOGNIZE_TYPE_PARAM | 1495 | Recognize Type error.
NET_DVR_ERR_PALTE_RECOGNIZE_AREA_PARAM | 1496 | Plate Recognize Area Param error.
NET_DVR_ERR_PORT_CONFLICT | 1497 | Port Conflict.
NET_DVR_ERR_LOOP_IP | 1498 | IP cannot be the loopback address.
NET_DVR_ERR_DRIVELINE_SENSITIVE | 1499 | Driveline sensitivity error.
VQD error code |  |
NET_ERR_VQD_TIME_CONFLICT | 1500 | The time period conflict.
NET_ERR_VQD_PLAN_NO_EXIST | 1501 | The diagnostic plan of VQD dese not exist.
NET_ERR_VQD_CHAN_NO_EXIST | 1502 | The channel dese not exist.
NET_ERR_VQD_CHAN_MAX | 1503 | The total number of VQD plans exceeds the max limit.
NET_ERR_VQD_TASK_MAX | 1504 | The total number of VQD tasks exceeds the max limit.
Added error code of traffic camera |  |
NET_DVR_ERR_EXCEED_MAX_CAPTURE_TIMES | 1600 | Capture times exceed 2 in flash mode.
NET_DVR_ERR_REDAR_TYPE_CONFLICT | 1601 | Radar type conflict.
NET_DVR_ERR_LICENSE_PLATE_NULL | 1602 | The license plate is null.
NET_DVR_ERR_WRITE_DATABASE | 1603 | Failed to write data into the database.
NET_DVR_ERR_LICENSE_EFFECTIVE_TIME | 1604 | The effective time of licence plate error.
NET_DVR_ERR_PRERECORDED_STARTTIME_LONG | 1605 | The pre recorded start time is greater than the number of illegal capture.
NET_DVR_ERR_TRIGGER_RULE_LINE | 1606 | Trigger rule line error.
NET_DVR_ERR_LEFTRIGHT_TRIGGERLINE_NOTVERTICAL | 1607 | Left and right trigger line is not vertical.
NET_DVR_ERR_FLASH_LAMP_MODE | 1608 | Flash lamp mode error.
NET_DVR_ERR_ILLEGAL_SNAPSHOT_NUM | 1609 | Illegal capture number error.
NET_DVR_ERR_ILLEGAL_DETECTION_TYPE | 1610 | Illegal detection type error.
NET_DVR_ERR_POSITIVEBACK_TRIGGERLINE_HIGH | 1611 | Positive back to trigger line height error.
NET_DVR_ERR_MIXEDMODE_CAPTYPE_ALLTARGETS | 1612 | Mixed mode only supports capture type all targets.
NET_DVR_ERR_CARSIGNSPEED_GREATERTHAN_LIMITSPEED | 1613 | Car sign speed greater than speed limit value.
NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_LIMITSPEED | 1614 | Big car sign speed limit greater than speed limit value.
NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_CARSIGNSPEED | 1615 | Big car sign speed limit is greater than the car sign speed limit value.
NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_CARLIMITSPEED | 1616 | Big car speed limit value is greater than the car speed limit value.
NET_DVR_ERR_BIGCARLOWSPEEDLIMIT_GREATERTHAN_CARLOWSPEEDLIMIT | 1617 | Big car low speed limit value is greater than the car low speed limit value.
NET_DVR_ERR_CARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED | 1618 | Car speed limit greater than exception high speed value.
NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED | 1619 | Big car speed limit greater than exception high speed value.
NET_DVR_ERR_STOPLINE_MORETHAN_TRIGGERLINE | 1620 | Stopping more than straight lines trigger lines.
Error code of access control host |  |
NET_ERR_TIME_OVERLAP | 1900 | Time periods pverlap
NET_ERR_HOLIDAY_PLAN_OVERLAP | 1901 | Holiday plan overlap
NET_ERR_CARDNO_NOT_SORT | 1902 | Card number is not sorted
NET_ERR_CARDNO_NOT_EXIST | 1903 | Card number does not exist
NET_ERR_ILLEGAL_CARDNO | 1904 | Card number error
NET_ERR_ZONE_ALARM | 1905 | Arming region is in arming status (parameter cannot be modified)
NET_ERR_ZONE_OPERATION_NOT_SUPPORT | 1906 | Arming region does not support the operation
NET_ERR_INTERLOCK_ANTI_CONFLICT | 1907 | Interlock and anti-passback configuration conflict
NET_ERR_DEVICE_CARD_FULL | 1908 | Card full (return after card reached 10,000)
NET_ERR_HOLIDAY_GROUP_DOWNLOAD | 1909 | Failed to download holiday group
NET_ERR_LOCAL_CONTROL_OFF | 1910 | Distributed access controller offline
NET_ERR_LOCAL_CONTROL_DISADD | 1911 | Distributed access controller is not added
NET_ERR_LOCAL_CONTROL_HASADD | 1912 | Distributed access controller is added
NET_ERR_LOCAL_CONTROL_DOORNO_CONFLICT | 1913 | Conflict with added distributed access controller
NET_ERR_LOCAL_CONTROL_COMMUNICATION_FAIL | 1914 | Distributed access controller communication failed
NET_ERR_OPERAND_INEXISTENCE | 1915 | Operation object does not exist (operation to door, alarm output, alarm input, return when the object is not added)
NET_ERR_LOCAL_CONTROL_OVER_LIMIT | 1916 | Distributed access controller exceeded device capability upper limit
NET_ERR_DOOR_OVER_LIMIT | 1917 | Door exceeded device capability upper limit
NET_ERR_ALARM_OVER_LIMIT | 1918 | Alarm input and output exceeded device capability upper limit
NET_ERR_LOCAL_CONTROL_ADDRESS_INCONFORMITY_TYPE | 1919 | Distributed access controller address does not match with type
Error code of video intercom |  |
NET_DVR_ERR_OUTDOOR_COMMUNICATION | 1950 | Communication exception with outdoor terminal
NET_DVR_ERR_ROOMNO_UNDEFINED | 1951 | Room number is not set
NET_DVR_ERR_NO_CALLING | 1952 | No call
NET_DVR_ERR_RINGING | 1953 | Ringing
NET_DVR_ERR_IS_CALLING_NOW | 1954 | Call in progress
NET_DVR_ERR_LOCK_PASSWORD_WRONG | 1955 | Incorrect smart lock password
NET_DVR_ERR_CONTROL_LOCK_FAILURE | 1956 | Lock control failure
NET_DVR_ERR_CONTROL_LOCK_OVERTIME | 1957 | Lock control timed out
NET_DVR_ERR_LOCK_DEVICE_BUSY | 1958 | Smart lock device busy
NET_DVR_ERR_UNOPEN_REMOTE_LOCK_FUNCTION | 1959 | Remote lock control not enabled
Other error code |  |
NET_DVR_ERR_FILE_NOT_COMPLETE | 2100 | Downloaded file is incomplete
NET_DVR_ERR_IPC_EXIST | 2101 | The camera already exists
NET_DVR_ERR_ADD_IPC | 2102 | Camera has been added to the channel
NET_DVR_ERR_OUT_OF_RES | 2103 | Not enough network bandwidth
NET_DVR_ERR_CONFLICT_TO_LOCALIP | 2104 | IP address of camera conflicts with that of DVR
NET_DVR_ERR_IP_SET | 2105 | Invalid IP address
NET_DVR_ERR_PORT_SET | 2106 | Invalid port number
NET_ERR_WAN_NOTSUPPORT | 2107 | Not in the same LAN, cannot set security question or export GUID file
NET_ERR_MUTEX_FUNCTION | 2108 | Mutually exclusive function
NET_ERR_QUESTION_CONFIGNUM | 2109 | Error in number of security question configurations
NET_DVR_ERR_NOTSUPPORT_DEICING | 3001 | Device does not support deicing function under current status.(Deicing function is only supported under the power status of POE+, AC24V, and DC12V).
NET_DVR_ERR_THERMENABLE_CLOSE | 3002 | Temperature measurement function is not enabled. (The enable function in NET_DVR_THERMOMETRY_BASICPARAM is not turned on)
NET_DVR_ERR_PANORAMIC_LIMIT_OPERATED | 3004 | Panoramic map and limit cannot be operated at same time

Error Code of RTSP Communication Library

Type of Error | Value | Error Message
NET_DVR_RTSP_ERROR_NOENOUGHPRI | 401 | Authentication failed: if server returns 401, it will change to this error code
NET_DVR_RTSP_ERROR_ALLOC_RESOURCE | 402 | Failed to allocate the resource
NET_DVR_RTSP_ERROR_PARAMETER | 403 | Parameter error
NET_DVR_RTSP_ERROR_NO_URL | 404 | The assigned URL does not exist: when the server returns 404, SDK turns to this error code. E.g. the channel is not available, or the channel does not support sub stream
NET_DVR_RTSP_ERROR_FORCE_STOP | 406 | The user forces to exit midway
NET_DVR_RTSP_GETPORTFAILED | 407 | RTSP port getting error.
NET_DVR_RTSP_DESCRIBERROR | 410 | RTSP DECRIBE communicate error
NET_DVR_RTSP_DESCRIBESENDTIMEOUT | 411 | Sending "RTSP DECRIBE" is timeout.
NET_DVR_RTSP_DESCRIBESENDERROR | 412 | Failed to send "RTSP DECRIBE".
NET_DVR_RTSP_DESCRIBERECVTIMEOUT | 413 | Receiving "RTSP DECRIBE" is timeout.
NET_DVR_RTSP_DESCRIBERECVDATALOST | 414 | Receiving data of "RTSP DECRIBE" error.
NET_DVR_RTSP_DESCRIBERECVERROR | 415 | Failed to receive "RTSP DECRIBE".
NET_DVR_RTSP_DESCRIBESERVERERR | 416 | "RTSP DECRIBE, the device returns the error code: 501 (failed to allocate the resource in the device)
NET_DVR_RTSP_SETUPERROR | 420 | (or 419), RTSP SETUP interaction error. Generally, it is that the address(URL) returned by the device is not accessible, or it is rejected by the server
NET_DVR_RTSP_SETUPSENDTIMEOUT | 421 | Sending "RTSP SETUP" is timeout.
NET_DVR_RTSP_SETUPSENDERROR | 422 | Sending "RTSP SETUP" error.
NET_DVR_RTSP_SETUPRECVTIMEOUT | 423 | Receiving "RTSP SETUP" is timeout.
NET_DVR_RTSP_SETUPRECVDATALOST | 424 | Receiving data of "RTSP SETUP" error.
NET_DVR_RTSP_SETUPRECVERROR | 425 | Failed to receive "RTSP SETUP".
NET_DVR_RTSP_OVER_MAX_CHAN | 426 | "RTSP SETUP" device returns the error that values 401 or 501. It exceeds the max connection number.
NET_DVR_RTSP_PLAYERROR | 430 | RTSP PLAY interaction error.
NET_DVR_RTSP_PLAYSENDTIMEOUT | 431 | Sending "RTSP PLAY" is timeout.
NET_DVR_RTSP_PLAYSENDERROR | 432 | Sending "RTSP PLAY" error.
NET_DVR_RTSP_PLAYRECVTIMEOUT | 433 | Receiving "RTSP PLAY" is timeout.
NET_DVR_RTSP_PLAYRECVDATALOST | 434 | Receiving data of "RTSP PLAY" error.
NET_DVR_RTSP_PLAYRECVERROR | 435 | Failed to receive "RTSP PLAY".
NET_DVR_RTSP_PLAYSERVERERR | 436 | "RTSP PLAY" device returns the error that values 401 or 501.
NET_DVR_RTSP_TEARDOWNERROR | 440 | RTSP TEARDOWN interaction error.
NET_DVR_RTSP_TEARDOWNSENDTIMEOUT | 441 | Sending "RTSP TEARDOWN" is timeout.
NET_DVR_RTSP_TEARDOWNSENDERROR | 442 | Sending "RTSP TEARDOWN" error.
NET_DVR_RTSP_TEARDOWNRECVTIMEOUT | 443 | Receiving "RTSP TEARDOWN" is timeout.
NET_DVR_RTSP_TEARDOWNRECVDATALOST | 444 | Receiving data of "RTSP TEARDOWN" error.
NET_DVR_RTSP_TEARDOWNRECVERROR | 445 | Failed to receive "RTSP TEARDOWN".
NET_DVR_RTSP_TEARDOWNSERVERERR | 446 | "RTSP TEARDOWN" device returns the error that values 401 or 501.

Error Code of Software Decoding Library

Type of Error | Value | Error Message
NET_PLAYM4_NOERROR | 500 | No error.
NET_PLAYM4_PARA_OVER | 501 | Input parameter is invalid.
NET_PLAYM4_ORDER_ERROR | 502 | API calling order error.
NET_PLAYM4_TIMER_ERROR | 503 | Failed to create multimedia clock.
NET_PLAYM4_DEC_VIDEO_ERROR | 504 | Failed to decode video data.
NET_PLAYM4_DEC_AUDIO_ERROR | 505 | Failed to decode audio data.
NET_PLAYM4_ALLOC_MEMORY_ERROR | 506 | Failed to allocate memory.
NET_PLAYM4_OPEN_FILE_ERROR | 507 | Failed to open the file.
NET_PLAYM4_CREATE_OBJ_ERROR | 508 | Failed to create thread event.
NET_PLAYM4_CREATE_DDRAW_ERROR | 509 | Failed to create DirectDraw object.
NET_PLAYM4_CREATE_OFFSCREEN_ERROR | 510 | Failed to create backstage cache for OFFSCREEN mode.
NET_PLAYM4_BUF_OVER | 511 | Buffer overflow, failed to input stream.
NET_PLAYM4_CREATE_SOUND_ERROR | 512 | Failed to create audio equipment.
NET_PLAYM4_SET_VOLUME_ERROR | 513 | Failed to set the volume.
NET_PLAYM4_SUPPORT_FILE_ONLY | 514 | This API can be called only for file playback mode.
NET_PLAYM4_SUPPORT_STREAM_ONLY | 515 | This API can be called only when playing stream.
NET_PLAYM4_SYS_NOT_SUPPORT | 516 | Not support by the system. Decoder can only work on the system above Pentium 3.
NET_PLAYM4_FILEHEADER_UNKNOWN | 517 | There is no file header.
NET_PLAYM4_VERSION_INCORRECT | 518 | The version mismatch between decoder and encoder.
NET_PLAYM4_INIT_DECODER_ERROR | 519 | Failed to initialize the decoder.
NET_PLAYM4_CHECK_FILE_ERROR | 520 | The file is too short, or the stream data is unknown.
NET_PLAYM4_INIT_TIMER_ERROR | 521 | Failed to initialize multimedia clock.
NET_PLAYM4_BLT_ERROR | 522 | BLT failure.
NET_PLAYM4_UPDATE_ERROR | 523 | Failed to update overlay surface
NET_PLAYM4_OPEN_FILE_ERROR_MULTI | 524 | Failed to open video & audio stream file.
NET_PLAYM4_OPEN_FILE_ERROR_VIDEO | 525 | Failed to open video stream file.
NET_PLAYM4_JPEG_COMPRESS_ERROR | 526 | JPEG compression error.
NET_PLAYM4_EXTRACT_NOT_SUPPORT | 527 | Don't support the version of this file.
NET_PLAYM4_EXTRACT_DATA_ERROR | 528 | Extract video data failed.

Error Code of Transcode Library

Type of Error | Value | Error Message
NET_CONVERT_ERROR_NOT_SUPPORT | 581 | Type not supported

Error Code of Two-way Audio Library

Type of Error | Value | Error Message
NET_AUDIOINTERCOM_OK | 600 | No error.
NET_AUDIOINTECOM_ERR_NOTSUPORT | 601 | Not support.
NET_AUDIOINTECOM_ERR_ALLOC_MEMERY | 602 | Memory allocation error.
NET_AUDIOINTECOM_ERR_PARAMETER | 603 | Parameter error.
NET_AUDIOINTECOM_ERR_CALL_ORDER | 604 | API calling order error.
NET_AUDIOINTECOM_ERR_FIND_DEVICE | 605 | No audio device
NET_AUDIOINTECOM_ERR_OPEN_DEVICE | 606 | Failed to open the audio device
NET_AUDIOINTECOM_ERR_NO_CONTEXT | 607 | Context error.
NET_AUDIOINTECOM_ERR_NO_WAVFILE | 608 | WAV file error.
NET_AUDIOINTECOM_ERR_INVALID_TYPE | 609 | The type of WAV parameter is invalid
NET_AUDIOINTECOM_ERR_ENCODE_FAIL | 610 | Failed to encode data
NET_AUDIOINTECOM_ERR_DECODE_FAIL | 611 | Failed to decode data
NET_AUDIOINTECOM_ERR_NO_PLAYBACK | 612 | Failed to play audio
NET_AUDIOINTECOM_ERR_DENOISE_FAIL | 613 | Failed to denoise
NET_AUDIOINTECOM_ERR_UNKOWN | 619 | Unknown

Error Code of Qos Stream Control Library

Type of Error | Value | Error Message
NET_QOS_ERR_SCHEDPARAMS_BAD_MINIMUM_INTERVAL | 678 | Scheduled parameter of minimum interval is bad .
NET_QOS_ERR_SCHEDPARAMS_BAD_FRACTION | 679 | Scheduled parameter of fraction is bad.
NET_QOS_ERR_SCHEDPARAMS_INVALID_BANDWIDTH | 680 | Scheduled parameter of bandwidth is not invalid.
NET_QOS_ERR_PACKET_TOO_BIG | 687 | Packet too big.
NET_QOS_ERR_PACKET_LENGTH | 688 | Packet length error.
NET_QOS_ERR_PACKET_VERSION | 689 | Packet version error.
NET_QOS_ERR_PACKET_UNKNOW | 690 | Packet unknow.
NET_QOS_ERR_OUTOFMEM | 695 | Out of memory.
NET_QOS_ERR_LIB_NOT_INITIALIZED | 696 | Lib not initialized.
NET_QOS_ERR_SESSION_NOT_FOUND | 697 | Session not found.
NET_QOS_ERR_INVALID_ARGUMENTS | 698 | Invalid arguments.
NET_QOS_ERROR | 699 | Qos error.
NET_QOS_OK | 700 | No error.

Remarks

The error code 410, 420, 430 and 440 of RTSP communication library are usually caused by network reasons.

Get error code information through NET_DVR_GetErrorMsg.

See Also

NET_DVR_GetErrorMsg


NET_DVR_GetErrorMsg

This API is used to return message of error code for the last operation.

char* NET_DVR_GetErrorMsg(
  LONG    *pErrorNo
);

Parameters

pErrorNo
[out] The pointer of the error code number

Return Values

Pointer to returned error code message. Error code types include network communication library, RTSP communication library, software & hardware decoding library and two-way audio library, the detailed information is listed below:

Error Code of Network Communication Library

Type of Error | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOENOUGHPRI | 2 | Not authorized to do this operation.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_CHANNEL_ERROR | 4 | Channel number error. There is no corresponding channel number on the device.
NET_DVR_OVER_MAXLINK | 5 | The number of connection with the device has exceeded the max limit.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_OPERNOPERMIT | 13 | Not authorized for this operation.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_ERRORSERIALPORT | 15 | Serial port number error. The assigned serial port does not exist on the device.
NET_DVR_ERRORALARMPORT | 16 | Alarm port number error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL, or the value or format of the parameters does not match with the requirement.
NET_DVR_CHAN_EXCEPTION | 18 | Device channel is in exception status.
NET_DVR_NODISK | 19 | No hard disk on the device, and the operation of recording and hard disk configuration will fail.
NET_DVR_ERRORDISKNUM | 20 | Hard disk number error. The assigned hard disk number does not exist during hard disk management.
NET_DVR_DISK_FULL | 21 | Device hark disk is full.
NET_DVR_DISK_ERROR | 22 | Device hard disk error.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_BUSY | 24 | Device is busy.
NET_DVR_MODIFY_FAIL | 25 | Failed to modify device parameters.
NET_DVR_PASSWORD_FORMAT_ERROR | 26 | The inputting password format is not correct.
NET_DVR_DISK_FORMATING | 27 | Hard disk is formatting, and the operation cannot be done.
NET_DVR_DVRNORESOURCE | 28 | Not enough resource on the device.
NET_DVR_DVROPRATEFAILED | 29 | Device operation failed.
NET_DVR_OPENHOSTSOUND_FAIL | 30 | Failed to collect local audio data or to open audio output during voice talk / broadcasting.
NET_DVR_DVRVOICEOPENED | 31 | Voice talk channel on the device has been occupied.
NET_DVR_TIMEINPUTERROR | 32 | Time input is not correct.
NET_DVR_NOSPECFILE | 33 | There is no selected file for playback.
NET_DVR_CREATEFILE_ERROR | 34 | Failed to create a file, during local recording, saving picture, getting configuration file or downloading record file.
NET_DVR_FILEOPENFAIL | 35 | Failed to open a file, when importing configuration file, upgrading device or uploading inquest file.
NET_DVR_OPERNOTFINISH | 36 | The last operation has not been completed.
NET_DVR_GETPLAYTIMEFAIL | 37 | Failed to get the current played time.
NET_DVR_PLAYFAIL | 38 | Failed to start playback.
NET_DVR_FILEFORMAT_ERROR | 39 | The file format is not correct.
NET_DVR_DIR_ERROR | 40 | File directory error.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_AUDIO_MODE_ERROR | 42 | Sound adapter mode error. Currently opened sound playing mode does not match with the set mode.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_SETSOCKET_ERROR | 45 | Set SOCKET error.
NET_DVR_MAX_NUM | 46 | The number of login or preview connections has exceeded the SDK limitation.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_WRITEFLASHERROR | 48 | Writing FLASH error. Failed to write FLASH during device upgrade.
NET_DVR_UPGRADEFAIL | 49 | Failed to upgrade device. It is caused by network problem or the language mismatch between the device and the upgrade file.
NET_DVR_CARDHAVEINIT | 50 | The decode card has already been initialed.
NET_DVR_PLAYERFAILED | 51 | Failed to call API of player SDK.
NET_DVR_MAX_USERNUM | 52 | The number of login user has reached the maximum limit.
NET_DVR_GETLOCALIPANDMACFAIL | 53 | Failed to get the IP address or physical address of local PC.
NET_DVR_NOENCODEING | 54 | This channel hasn't started encoding.
NET_DVR_IPMISMATCH | 55 | IP address not match.
NET_DVR_MACMISMATCH | 56 | MAC address not match.
NET_DVR_UPGRADELANGMISMATCH | 57 | The language of upgrading file does not match the language of the device.
NET_DVR_MAX_PLAYERPORT | 58 | The number of player ports has reached the maximum limit.
NET_DVR_NOSPACEBACKUP | 59 | No enough space to backup file in backup device.
NET_DVR_NODEVICEBACKUP | 60 | No backup device.
NET_DVR_PICTURE_BITS_ERROR | 61 | The color quality setting of the picture does not match the requirement, and it should be limited to 24.
NET_DVR_PICTURE_DIMENSION_ERROR | 62 | The dimension is over 128x256.
NET_DVR_PICTURE_SIZ_ERROR | 63 | The size of picture is over 100K.
NET_DVR_LOADPLAYERSDKFAILED | 64 | Failed to load the player SDK.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKFAILED | 66 | Failed to load the library file-"DsSdk".
NET_DVR_LOADDSSDKPROC_ERROR | 67 | Can not find the API in "DsSdk".
NET_DVR_DSSDK_ERROR | 68 | Failed to call the API in "DsSdk".
NET_DVR_VOICEMONOPOLIZE | 69 | Sound adapter has been monopolized.
NET_DVR_JOINMULTICASTFAILED | 70 | Failed to join to multicast group.
NET_DVR_CREATEDIR_ERROR | 71 | Failed to create log file directory.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_USERID_ISUSING | 74 | The user ID is operating when logout.
NET_DVR_SOCKETLISTEN_ERROR | 75 | Failed to listen.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.
NET_DVR_WRITEFILE_FAILED | 77 | Failed to write file, during local recording, saving picture or downloading record file.
NET_DVR_FORMAT_READONLY | 78 | Failed to format read-only HD.
NET_DVR_WITHSAMEUSERNAME | 79 | This user name already exists in the user configuration structure.
NET_DVR_DEVICETYPE_ERROR | 80 | Device type does not match when import configuration.
NET_DVR_LANGUAGE_ERROR | 81 | Language does not match when import configuration.
NET_DVR_PARAVERSION_ERROR | 82 | Software version does not match when import configuration.
NET_DVR_IPCHAN_NOTALIVE | 83 | IP channel is not on-line when previewing.
NET_DVR_RTSP_SDK_ERROR | 84 | Load StreamTransClient.dll failed.
NET_DVR_CONVERT_SDK_ERROR | 85 | Load SystemTransform.dll failed.
NET_DVR_IPC_COUNT_OVERFLOW | 86 | Exceeds maximum number of connected IP channels.
NET_DVR_MAX_ADD_NUM | 87 | Exceeds maximum number of supported record labels or other operations.
NET_DVR_PARAMMODE_ERROR | 88 | Image intensifier, parameter mode error. This error may occur when client sets software or hardware parameters.
NET_DVR_CODESPITTER_OFFLINE | 89 | Code splitter is offline.
NET_DVR_BACKUP_COPYING | 90 | Device is backing up.
NET_DVR_CHAN_NOTSUPPORT | 91 | Channel not support.
NET_DVR_CALLINEINVALID | 92 | The height line location is too concentrated, or the length line is not inclined enough.
NET_DVR_CALCANCELCONFLICT | 93 | Cancel calibration conflict, if the rule and overall actual size filter have been set.
NET_DVR_CALPOINTOUTRANGE | 94 | Calibration point exceeds the range.
NET_DVR_FILTERRECTINVALID | 95 | The size filter does not meet the requirement.
NET_DVR_DDNS_DEVOFFLINE | 96 | Device has not registered to DDNS.
NET_DVR_DDNS_INTER_ERROR | 97 | DDNS inner error.
NET_DVR_FUNCTION_NOT_SUPPORT_OS | 98 | This function don't support this OS.
NET_DVR_DEC_CHAN_REBIND | 99 | Decode channel can not bind with two display channel.
NET_DVR_INTERCOM_SDK_ERROR | 100 | Failed to load the audio intercom SDK from current directory.
NET_DVR_NO_CURRENT_UPDATEFILE | 101 | No current upgrade pack.
NET_DVR_USER_NOT_SUCC_LOGIN | 102 | Login is not successful
NET_DVR_USE_LOG_SWITCH_FILE | 103 | Using the log switch file
NET_DVR_POOL_PORT_EXHAUST | 104 | The port that used for binding is exhaust
NET_DVR_PACKET_TYPE_NOT_SUPPORT | 105 | Packet type is not supported
NET_DVR_IPPARA_IPID_ERROR | 106 | IPID is error
NET_DVR_LOAD_HCPREVIEW_SDK_ERROR | 107 | Live view component is failed to upload
NET_DVR_LOAD_HCVOICETALK_SDK_ERROR | 108 | Voice talk component is failed to upload
NET_DVR_LOAD_HCALARM_SDK_ERROR | 109 | Alarm component is failed to upload
NET_DVR_LOAD_HCPLAYBACK_SDK_ERROR | 110 | Playback component is failed to upload
NET_DVR_LOAD_HCDISPLAY_SDK_ERROR | 111 | Display component is failed to upload
NET_DVR_LOAD_HCINDUSTRY_SDK_ERROR | 112 | Industry SDK component is failed to uploa
NET_DVR_LOAD_HCGENERALCFGMGR_SDK_ERROR | 113 | General configuration management is failed to upload
NET_DVR_CORE_VER_MISMATCH | 121 | Component is not matched with the core version when uploading the component alone
NET_DVR_CORE_VER_MISMATCH_HCPREVIEW | 122 | Live view component mismatched with the core version
NET_DVR_CORE_VER_MISMATCH_HCVOICETALK | 123 | Voice talk component mismatches with the core version
NET_DVR_CORE_VER_MISMATCH_HCALARM | 124 | Alarm component mismatch with the core version
NET_DVR_CORE_VER_MISMATCH_HCPLAYBACK | 125 | Playback component mismatches with the core version
NET_DVR_CORE_VER_MISMATCH_HCDISPLAY | 126 | Display component mismatches with the core version
NET_DVR_CORE_VER_MISMATCH_HCINDUSTRY | 127 | Industry application component mismatches with the core version
NET_DVR_CORE_VER_MISMATCH_HCGENERALCFGMGR | 128 | General configuration management component mismatches with the core version
NET_DVR_COM_VER_MISMATCH_HCPREVIEW | 136 | Live view component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCVOICETALK | 137 | Voice talk component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCALARM | 138 | Alarm component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCPLAYBACK | 139 | Playback component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCDISPLAY | 140 | Display component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCINDUSTRY | 141 | Industry application component mismatches with the HCNetSDK version
NET_DVR_COM_VER_MISMATCH_HCGENERALCFGMGR | 142 | General configuration management component mismatches with the HCNetSDK version
NET_DVR_ALIAS_DUPLICATE | 150 | Alias is duplicate (for HiDDNS)
NET_DVR_USERNAME_NOT_EXIST | 152 | User name does not exist (error code of V5.1.7 to V5.3.1 camera and IPD)
NET_ERR_USERNAME_LOCKED | 153 | User name is locked
NET_DVR_INVALID_USERID | 154 | Invalid user name ID
NET_DVR_LOW_LOGIN_VERSION | 155 | Login version
NET_DVR_LOAD_LIBEAY32_DLL_ERROR | 156 | Failed to load libeay32.dll
NET_DVR_LOAD_SSLEAY32_DLL_ERROR | 157 | Failed to load ssleay32.dll
NET_ERR_LOAD_LIBICONV | 158 | Failed to load libiconv.dll
NET_DVR_TEST_SERVER_FAIL_CONNECT | 165 | Failed to connect to test server
NET_DVR_NAS_SERVER_INVALID_DIR | 166 | NAS server failed to load directory, invalid target, or incorrect user name or password.
NET_DVR_NAS_SERVER_NOENOUGH_PRI | 167 | NAS server failed to load directory, no permission
NET_DVR_EMAIL_SERVER_NOT_CONFIG_DNS | 168 | Domain name used by server, may be invalid without configuring DNS
NET_DVR_EMAIL_SERVER_NOT_CONFIG_GATEWAY | 169 | No gateway configured, sending email may be failed
NET_DVR_TEST_SERVER_PASSWORD_ERROR | 170 | Incorrect user name or password, incorrect user name or password for test server.
NET_DVR_EMAIL_SERVER_CONNECT_EXCEPTION_WITH_SMTP | 171 | Interaction exception between device and SMTP server
NET_DVR_FTP_SERVER_FAIL_CREATE_DIR | 172 | FTP server failed to create directory
NET_DVR_FTP_SERVER_NO_WRITE_PIR | 173 | FTP server has no wirte permission
NET_DVR_IP_CONFLICT | 174 | IP conflict
NET_DVR_INSUFFICIENT_STORAGEPOOL_SPACE | 175 | Storage pool space is full
NET_DVR_STORAGEPOOL_INVALID | 176 | Invalid cloud storage pool, no storage pool configured or incorrect storage pool ID
NET_DVR_EFFECTIVENESS_REBOOT | 177 | Restart to apply
NET_ERR_ANR_ARMING_EXIST | 178 | The broken network resuming upload link is existed (the error will be return when choose arming again with broken link upload function after private SDK protocol arming connection is established).
NET_ERR_UPLOADLINK_EXIST | 179 | The broken network resuming upload link is existed (EHOME protocol and private SDK protocol do not support broken network resuming at a same time).
NET_ERR_INCORRECT_FILE_FORMAT | 180 | Incorrect importing file format.
NET_ERR_INCORRECT_FILE_CONTENT | 181 | Incorrect importing file content
NET_ERR_MAX_HRUDP_LINK | 182 | HRUDP connected device exceeded upper limit.
Error code of RAID |  |
NET_DVR_NAME_NOT_ONLY | 200 | This user name already exists.
NET_DVR_OVER_MAX_ARRAY | 201 | The array exceeds the limitation.
NET_DVR_OVER_MAX_VD | 202 | The virtual disk exceeds the limitation.
NET_DVR_VD_SLOT_EXCEED | 203 | The virtual disk slots are full.
NET_DVR_PD_STATUS_INVALID | 204 | Physical disk used to rebuild RAID is in error state.
NET_DVR_PD_BE_DEDICATE_SPARE | 205 | Physical disk used to rebuild RAID is assigned as spare disk.
NET_DVR_PD_NOT_FREE | 206 | Physical disk used to rebuild RAID is not free.
NET_DVR_CANNOT_MIG2NEWMODE | 207 | Can not migrate from current RAID type to the new type.
NET_DVR_MIG_PAUSE | 208 | Migration has been paused.
NET_DVR_MIG_ABOUTED | 209 | Migration has been aborted.
NET_DVR_EXIST_VD | 210 | There is virtual disk in the array, and the array can not been deleted.
NET_DVR_TARGET_IN_LD_FUNCTIONAL | 211 | Target physical disk is part of the virtual disk and is functional.
NET_DVR_HD_IS_ASSIGNED_ALREADY | 212 | Specified physical disk is assigned as a virtual disk.
NET_DVR_INVALID_HD_COUNT | 213 | Number of physical disks doesn't fit the specified RAID level.
NET_DVR_LD_IS_FUNCTIONAL | 214 | Specified virtual disk is functional and it can not be rebuilt.
NET_DVR_BGA_RUNNING | 215 | BGA is running.
NET_DVR_LD_NO_ATAPI | 216 | Can not create virtual disk with ATAPI drive.
NET_DVR_MIGRATION_NOT_NEED | 217 | Migration is not necessary.
NET_DVR_HD_TYPE_MISMATCH | 218 | Physical disks are not of the same type.
NET_DVR_NO_LD_IN_DG | 219 | No virtual disk exists on the specified array.
NET_DVR_NO_ROOM_FOR_SPARE | 220 | Disk space is too small to be assigned as spare drive.
NET_DVR_SPARE_IS_IN_MULTI_DG | 221 | Disk is already assigned as a spare drive for an array.
NET_DVR_DG_HAS_MISSING_PD | 222 | Disk is missing from an array.
NET_DVR_NAME_EMPTY | 223 | Name is empty.
NET_DVR_INPUT_PARAM | 224 | The input parameter is error.
NET_DVR_PD_NOT_AVAILABLE | 225 | The physical disk is not available.
NET_DVR_ARRAY_NOT_AVAILABLE | 226 | The RAID is not available
NET_DVR_PD_COUNT | 227 | The count of physical disks is not correct.
NET_DVR_VD_SMALL | 228 | Virtual disk is too small.
NET_DVR_NO_EXIST | 229 | Not exist.
NET_DVR_NOT_SUPPORT | 230 | Not support the operation.
NET_DVR_NOT_FUNCTIONAL | 231 | The status of RAID is abnormal.
NET_DVR_DEV_NODE_NOT_FOUND | 232 | The device node of virtual disk does not exist.
NET_DVR_SLOT_EXCEED | 233 | The count of slots reaches the upper limit.
NET_DVR_NO_VD_IN_ARRAY | 234 | There is not virtual disk in the RAID.
NET_DVR_VD_SLOT_INVALID | 235 | The slot of virtual disk is invalid.
NET_DVR_PD_NO_ENOUGH_SPACE | 236 | The required space of physical disk is not enough.
NET_DVR_ARRAY_NONFUNCTION | 237 | Only the RAID on normal state supports to be migrated.
NET_DVR_ARRAY_NO_ENOUGH_SPACE | 238 | The space of RAID is not enough.
NET_DVR_STOPPING_SCANNING_ARRAY | 239 | It is pulling the disk out safely or rescanning the disk.
NET_DVR_NOT_SUPPORT_16T | 240 | Not support create the RAID larger than 16T.
The error code of activating |  |
NET_DVR_ERROR_DEVICE_NOT_ACTIVATED | 250 | The device is not activated (login will be failed If the device is not activated, and the error code will be returned)
NET_DVR_ERROR_RISK_PASSWORD | 251 | Password with risks (the user configured password or activating password is with risks)
NET_DVR_ERROR_DEVICE_HAS_ACTIVATED | 252 | The device is already activated ( for the device that has been activated, the error code will be returned for the repeated activating)
The error code of smart device |  |
NET_DVR_ID_ERROR | 300 | Configuration ID is illegal.
NET_DVR_POLYGON_ERROR | 301 | Polygon does not match requirement.
NET_DVR_RULE_PARAM_ERROR | 302 | Rule parameter is illegal.
NET_DVR_RULE_CFG_CONFLICT | 303 | Configuration conflict.
NET_DVR_CALIBRATE_NOT_READY | 304 | Calibration not ready.
NET_DVR_CAMERA_DATA_ERROR | 305 | Camera parameter is illegal.
NET_DVR_CALIBRATE_DATA_UNFIT | 306 | Not inclined enough, not fit to calibrate.
NET_DVR_CALIBRATE_DATA_CONFILICT | 307 | Calibration error.
NET_DVR_CALIBRATE_CALC_FAIL | 308 | Failed to calculate camera calibration parameter.
NET_DVR_CALIBRATE_LINE_OUT_RECT | 309 | The input calibrating line exceeds the external rectangle sample.
NET_DVR_ENTER_RULE_NOT_READY | 310 | Enter rule not ready.
NET_DVR_AID_RULE_NO_INCLUDE_LANE | 311 | It does not include lane in the traffic event rule (especial for traffic jam or driving against the traffic).
NET_DVR_LANE_NOT_READY | 312 | Lane not ready.
NET_DVR_RULE_INCLUDE_TWO_WAY | 313 | There are two different directions in event rule.
NET_DVR_LANE_TPS_RULE_CONFLICT | 314 | The lane conflicts with the data rule.
NET_DVR_NOT_SUPPORT_EVENT_TYPE | 315 | The event type is not supported by the device.
NET_DVR_LANE_NO_WAY | 316 | The lane has no direction.
NET_DVR_SIZE_FILTER_ERROR | 317 | The size of filter is illegal.
NET_DVR_LIB_FFL_NO_FACE | 318 | There is no face when feature point positioning.
NET_DVR_LIB_FFL_IMG_TOO_SMALL | 319 | The input image is too small when feature point positioning.
NET_DVR_LIB_FD_IMG_NO_FACE | 320 | The input image has no face when detecting face in single image.
NET_DVR_LIB_FACE_TOO_SMALL | 321 | Face is too small when building model.
NET_DVR_LIB_FACE_QUALITY_TOO_BAD | 322 | Face image is of poor quality when building model.
NET_DVR_KEY_PARAM_ERR | 323 | Advanced parameter setting error.
NET_DVR_CALIBRATE_DATA_ERR | 324 | Calibration sample size error, or data value error, or sample points beyond the horizon
NET_DVR_CALIBRATE_DISABLE_FAIL | 325 | The configured rules do not allow to cancel calibration.
NET_DVR_VCA_LIB_FD_SCALE_OUTRANGE | 326 | Filter scale is out range.
NET_DVR_LIB_FD_REGION_TOO_LARGE | 327 | Region is too big.
NET_DVR_TRIAL_OVERDUE | 328 | Trial overdue.
NET_DVR_CONFIG_FILE_CONFLICT | 329 | Config file conflict.
NET_DVR_FR_FPL_FAIL | 330 | Feature points location is error in face recognition.
NET_DVR_FR_IQA_FAIL | 331 | Image quality assessment is error in face recognition.
NET_DVR_FR_FEM_FAIL | 332 | Feature extract & match error in face recognition.
NET_DVR_FPL_DT_CONF_TOO_LOW | 333 | Detection confidence is too low in feature points location.
NET_DVR_FPL_CONF_TOO_LOW | 334 | Confidence is too low in feature points location.
NET_DVR_E_DATA_SIZE | 335 | Size of model data error.
NET_DVR_FR_MODEL_VERSION_ERR | 336 | Model version is error.
NET_DVR_FR_FD_FAIL | 337 | Face detection error in face recognition.
NET_DVR_FA_NORMALIZE_ERR | 338 | Face attribute normalize error.
NET_DVR_DOG_PUSTREAM_NOT_MATCH | 339 | Pustream and softdog are mismatched.
NET_DVR_DEV_PUSTREAM_NOT_MATCH | 340 | Pustream device version is error.
NET_DVR_PUSTREAM_ALREADY_EXISTS | 341 | The pustream has existence.
NET_DVR_SEARCH_CONNECT_FAILED | 342 | Failed to connect face retrieval device.
NET_DVR_INSUFFICIENT_DISK_SPACE | 343 | Storage space is insufficient.
NET_DVR_DATABASE_CONNECTION_FAILED | 344 | Failed to connect database.
NET_DVR_DATABASE_ADM_PW_ERROR | 345 | Username or password is error for database.
NET_DVR_DECODE_YUV | 346 | Failed to decode image.
NET_DVR_IMAGE_RESOLUTION_ERROR | 347 | Invalid image resolution
NET_DVR_CHAN_WORKMODE_ERROR | 348 | Channel operating mode error
Error Code of RTSP Communication Library | 400 to 446 | Error Code of RTSP Communication Library
Error Code of Software Decoding Library | 500 to 528 | Error Code of Software Decoding Library
Error Code of Transcode Library | 581 | Error Code of Transcode Library
Error Code of Two-way Audio Library | 600 to 619 | Error Code of Two-way Audio Library
Error Code of Qos Stream Control Library | 678 to 700 | Error Code of Qos Stream Control Library
The other error code |  |
NET_ERROR_SCENE_USING | 717 | Scene is in use
NET_ERR_TERMINAL_BUSY | 780 | Terminal busy, in meeting
NET_DVR_FUNCTION_RESOURCE_USAGE_ERROR | 791 | Resources is occupied by other functions of the device.
NET_DVR_DEV_NET_OVERFLOW | 800 | Network traffic is over device ability limit.
NET_DVR_STATUS_RECORDFILE_WRITING_NOT_LOCK | 801 | The video file is recording and can't be locked.
NET_DVR_STATUS_CANT_FORMAT_LITTLE_DISK | 802 | The hard disk capacity is too small and can not be formatted.
N+1 error code |  |
NET_SDK_ERR_REMOTE_DISCONNEC | 803 | Failed to connect to the remote end
NET_SDK_ERR_RD_ADD_RD | 804 | Backup device cannot be added to backup device
NET_SDK_ERR_BACKUP_DISK_EXCEPT | 805 | Backup disk exception
NET_SDK_ERR_RD_LIMIT | 806 | Upper limit of backup devices reached
NET_SDK_ERR_ADDED_RD_IS_WD | 807 | Added backup device is working device
NET_SDK_ERR_ADD_ORDER_WRONG | 808 | Added in incorrect order, add the working device if not added as backup device
NET_SDK_ERR_WD_ADD_WD | 809 | Working device cannot be added to working device
NET_SDK_ERR_WD_SERVICE_EXCETP | 810 | CVR service exception (CVR working device exception under N+1 mode)
NET_SDK_ERR_RD_SERVICE_EXCETP | 811 | Backup device CVR exception
NET_SDK_ERR_ADDED_WD_IS_RD | 812 | Added working device is backup device
NET_SDK_ERR_PERFORMANCE_LIMIT | 813 | Performance upper limit reached
NET_SDK_ERR_ADDED_DEVICE_EXIST | 814 | Added device already exists
Error code of interrogation machine |  |
NET_SDK_ERR_INQUEST_RESUMING | 815 | Inquest resuming.
NET_SDK_ERR_RECORD_BACKUPING | 816 | Record backuping.
NET_SDK_ERR_DISK_PLAYING | 817 | Disk playing.
NET_SDK_ERR_INQUEST_STARTED | 818 | Inquest started.
NET_SDK_ERR_LOCAL_OPERATING | 819 | Local operating.
NET_SDK_ERR_INQUEST_NOT_START | 820 | Inquest not start.
Other error code |  |
NET_SDK_ERR_CHAN_AUDIO_BIND | 821 | Channel not bound or bound two-way audio failed
NET_DVR_N_PLUS_ONE_MODE | 822 | Currently device is in N+1 mode, cloud storage is not supported
NET_DVR_CLOUD_STORAGE_OPENED | 823 | Cloud storage mode is enbaled
NET_DVR_ERR_OPER_NOT_ALLOWED | 824 | Operation failed, The N+0 of the device is be taken over.
NET_DVR_ERR_NEED_RELOCATE | 825 | The N+0 of the device is be taken over. Get the re-positioning information first and then run again.
Error code of interrogation machine |  |
NET_SDK_ERR_IR_PORT_ERROR | 830 | IR output port error
NET_SDK_ERR_IR_CMD_ERROR | 831 | IR output port command number error
NET_SDK_ERR_NOT_INQUESTING | 832 | Device is not in interrogation status
NET_SDK_ERR_INQUEST_NOT_PAUSED | 833 | Device is not in paused status
Other error code |  |
NET_DVR_CHECK_PASSWORD_MISTAKE_ERROR | 834 | Incorrect password
NET_DVR_UNABLE_CALIB_ERROR | 836 | Currently cannot calibrate
NET_DVR_PLEASE_CALIB_ERROR | 837 | Please finish calibration first
NET_DVR_ERR_CALIB_FAIL_PLEASEAGAIN | 839 | Calibration failed, please try again
NET_DVR_ERR_DETECTION_LINE | 840 | Rule line configuration error, please try again and make sure the line is within the red region
NET_ERR_ALARM_INPUT_OCCUPIED | 845 | A<-1 alarm number has been used for triggering vehicle capture
Error code of large size display |  |
NET_ERR_WINCHAN_IDX | 901 | Window channel index error.
NET_ERR_WIN_LAYER | 902 | Window layer number error(the count of window layers on a single screen exceeds the max number).
NET_ERR_WIN_BLK_NUM | 903 | Window block number error(the count of screens that single window overlays exceeds the max number).
NET_ERR_OUTPUT_RESOLUTION | 904 | The output resolution error.
NET_ERR_LAYOUT | 905 | Layout index error.
NET_ERR_INPUT_RESOLUTION | 906 | The input resolution is not supported.
NET_ERR_SUBDEVICE_OFFLINE | 907 | The sub-device is off-line.
NET_ERR_NO_DECODE_CHAN | 908 | There is no free decoding channel.
NET_ERR_MAX_WINDOW_ABILITY | 909 | The upper limit of window number.
NET_ERR_ORDER_ERROR | 910 | Calling order error.
NET_ERR_PLAYING_PLAN | 911 | Be playing plan.
NET_ERR_DECODER_USED | 912 | Decoder board is being used.
NET_ERR_OUTPUT_BOARD_DATA_OVERFLOW | 913 | Output board data overflow
NET_ERR_SAME_USER_NAME | 914 | Duplicate user name
NET_ERR_INVALID_USER_NAME | 915 | Invalid user name
NET_ERR_MATRIX_USING | 916 | Input matrix is in use.
NET_ERR_DIFFERENT_CHAN_TYPE | 917 | Different channel type (the type of matrix output channel mismatches that of the controller input channel)
NET_ERR_INPUT_CHAN_BINDED | 918 | Input channel has been bound by other matrix
NET_ERR_BINDED_OUTPUT_CHAN_OVERFLOW | 919 | The matrix output channels in use exceeded the number bound by matrix and controller
NET_ERR_MAX_SIGNAL_NUM | 920 | Number of input signals reached upper limit
NET_ERR_INPUT_CHAN_USING | 921 | Input channel is in use
NET_ERR_MANAGER_LOGON | 922 | Administrator has logged in, operation failed
NET_ERR_USERALREADY_LOGON | 923 | The user has logged in, operation failed
NET_ERR_LAYOUT_INIT | 924 | Scene is initializing, operation failed
NET_ERR_BASEMAP_SIZE_NOT_MATCH | 925 | Base image size does not match
NET_ERR_WINDOW_OPERATING | 926 | Window is in other operation, operation failed
NET_ERR_SIGNAL_UPLIMIT | 927 | Number of signal source window reached upper limit
Error code of decoder |  |
NET_ERR_WINDOW_SIZE_OVERLIMIT | 943 | The window size exceeds the limit.
NET_ERR_MAX_WIN_OVERLAP | 951 | The number of windows overlap has reached the maximum limit.
NET_ERR_STREAMID_CHAN_BOTH_VALID | 952 | stream ID and channel number are both valid.
NET_ERR_NO_ZERO_CHAN | 953 | The device has no zero channel.
NEED_RECONNECT | 955 | Need redirection (for transcoding system)
NET_ERR_NO_STREAM_ID | 956 | The stream ID does not exist.
NET_DVR_TRANS_NOT_START | 957 | The transcoding has not been started.
NET_ERR_MAXNUM_STREAM_ID | 958 | The number of stream ID has reached the maximum limit.
NET_ERR_WORKMODE_MISMATCH | 959 | The work mode does not match with the requirement.
NET_ERR_MODE_IS_USING | 960 | It Has been working in current mode.
NET_ERR_DEV_PROGRESSING | 961 | The device is in processing
NET_ERR_PASSIVE_TRANSCODING | 962 | It is in transcoding.
NET_DVR_ERR_WINDOW_SIZE_PLACE | 975 | Wrong window position.
NET_DVR_ERR_RGIONAL_RESTRICTIONS | 976 | Screen distance exceeds the limit.
NET_DVR_ERR_CLOSE_WINDOWS | 984 | Operation failed. Close the window first.
NET_DVR_ERR_MATRIX_LOOP_ABILITY | 985 | Beyond the cycle decoding capacity.
NET_DVR_ERR_MATRIX_LOOP_TIME | 986 | Invalid cycle decoding time.
NET_DVR_ERR_LINKED_OUT_ABILITY | 987 | No more linked camera can be added.
Error code of capability set |  |
XML_ABILITY_NOTSUPPORT | 1000 | Getting capability node is not supported
XML_ANALYZE_NOENOUGH_BUF | 1001 | Not enough output memory
XML_ANALYZE_FIND_LOCALXML_ERROR | 1002 | Failed to find related local xml
XML_ANALYZE_LOAD_LOCALXML_ERROR | 1003 | Loading local xml error
XML_NANLYZE_DVR_DATA_FORMAT_ERROR | 1004 | Device capability data format error
XML_ANALYZE_TYPE_ERROR | 1005 | Capability set type error
XML_ANALYZE_XML_NODE_ERROR | 1006 | XML capability node format error
XML_INPUT_PARAM_ERROR | 1007 | Input capability XML node value error
XML_VERSION_MISMATCH | 1008 | XML version does not match
Other error code |  |
NET_ERR_TRANS_CHAN_START | 1101 | Transparent channel has been open, operation failed
NET_ERR_DEV_UPGRADING | 1102 | Device is upgrading
NET_ERR_MISMATCH_UPGRADE_PACK_TYPE | 1103 | Upgrade pack type does not match
NET_ERR_DEV_FORMATTING | 1104 | Device is formatting
NET_ERR_MISMATCH_UPGRADE_PACK_VERSION | 1105 | Upgrade pack version does not match
Error code of alarm device |  |
NET_ERR_SEARCHING_MODULE | 1201 | Searching external module
NET_ERR_REGISTERING_MODULE | 1202 | Registering external module
NET_ERR_GETTING_ZONES | 1203 | Getting arming region parameter
NET_ERR_GETTING_TRIGGERS | 1204 | Getting trigger
NET_ERR_ARMED_STATUS | 1205 | System is in arming status
NET_ERR_PROGRAM_MODE_STATUS | 1206 | System is in programming mode
NET_ERR_WALK_TEST_MODE_STATUS | 1207 | System is in pacing measuring mode
NET_ERR_BYPASS_STATUS | 1208 | Bypass status
NET_ERR_DISABLED_MODULE_STATUS | 1209 | Function not enabled
NET_ERR_NOT_SUPPORT_OPERATE_ZONE | 1210 | Operation is not supported by arming region
NET_ERR_NOT_SUPPORT_MOD_MODULE_ADDR | 1211 | Module address cannot be modified
NET_ERR_UNREGISTERED_MODULE | 1212 | Module is not registered
NET_ERR_PUBLIC_SUBSYSTEM_ASSOCIATE_SELF | 1213 | Public sub system associate with its self
NET_ERR_EXCEEDS_ASSOCIATE_SUBSYSTEM_NUM | 1214 | Number of associated public sub system reached upper limit
NET_ERR_BE_ASSOCIATED_BY_PUBLIC_SUBSYSTEM | 1215 | Sub system is associated by other public sub system
NET_ERR_ZONE_FAULT_STATUS | 1216 | Arming region is in failure status
NET_ERR_SAME_EVENT_TYPE | 1217 | Same event type exists in enable event trigger alarm output and disable event trigger alarm output
NET_ERR_ZONE_ALARM_STATUS | 1218 | Arming region is in alarm status
NET_ERR_EXPANSION_BUS_SHORT_CIRCUIT | 1219 | Extension bus short-circuit
NET_ERR_PWD_CONFLICT | 1220 | Password conflict, e.g., lock password is identical with duress password
Error code of traffic camera |  |
NET_DVR_ERR_LANENUM_EXCEED | 1400 | Over the number of lanes.
NET_DVR_ERR_PRAREA_EXCEED | 1401 | Recognition area is too large.
NET_DVR_ERR_LIGHT_PARAM | 1402 | Signal lamp access parameters error.
NET_DVR_ERR_LANE_LINE_INVALID | 1403 | Lane configuration error.
NET_DVR_ERR_STOP_LINE_INVALID | 1404 | Stop line configuration error.
NET_DVR_ERR_LEFTORRIGHT_LINE_INVALID | 1405 | Turn left / right boundary configuration error.
NET_DVR_ERR_LANE_NO_REPEAT | 1406 | Overlay lane number repetition.
NET_DVR_ERR_PRAREA_INVALID | 1407 | The polygon does not meet the requirements.
NET_DVR_ERR_LIGHT_NUM_EXCEED | 1408 | Video detection of traffic light signal exceeds the maximum number of.
NET_DVR_ERR_SUBLIGHT_NUM_INVALID | 1409 | Video detection of traffic signal lamp lights are not legitimate
NET_DVR_ERR_LIGHT_AREASIZE_INVALID | 1410 | The size of the video detection of traffic light input signal lamp is not valid.
NET_DVR_ERR_LIGHT_COLOR_INVALID | 1411 | The color of the video detection of traffic light input signal lamp color is not legitimate.
NET_DVR_ERR_LIGHT_DIRECTION_INVALID | 1412 | The direction property of the video detection of traffic light input light is not valid.
NET_DVR_ERR_LACK_IOABLITY | 1413 | Lack of IO ablity.
NET_DVR_ERR_FTP_PORT | 1414 | FTP port error.
NET_DVR_ERR_FTP_CATALOGUE | 1415 | FTP catalogue error.
NET_DVR_ERR_FTP_UPLOAD_TYPE | 1416 | FTP upload type error.
NET_DVR_ERR_FLASH_PARAM_WRITE | 1417 | Setting param flash write error.
NET_DVR_ERR_FLASH_PARAM_READ | 1418 | Getting param flash read error.
NET_DVR_ERR_PICNAME_DELIMITER | 1419 | Pic name delimiter error.
NET_DVR_ERR_PICNAME_ITEM | 1420 | Pic name item error.
NET_DVR_ERR_PLATE_RECOGNIZE_TYPE | 1421 | Plate recognize type error.
NET_DVR_ERR_CAPTURE_TIMES | 1422 | Capture times error.
NET_DVR_ERR_LOOP_DISTANCE | 1423 | Loop distance error.
NET_DVR_ERR_LOOP_INPUT_STATUS | 1424 | Loop input status error.
NET_DVR_ERR_RELATE_IO_CONFLICT | 1425 | Related IO conflict.
NET_DVR_ERR_INTERVAL_TIME | 1426 | Interval time error.
NET_DVR_ERR_SIGN_SPEED | 1427 | Sign speed error.
NET_DVR_ERR_PIC_FLIP | 1428 | Flip is used.
NET_DVR_ERR_RELATE_LANE_NUMBER | 1429 | Related lane number error.
NET_DVR_ERR_TRIGGER_MODE | 1430 | Trigger mode error.
NET_DVR_ERR_DELAY_TIME | 1431 | Delay time error.
NET_DVR_ERR_EXCEED_RS485_COUNT | 1432 | Exceed RS485 count.
NET_DVR_ERR_RADAR_TYPE | 1433 | Radar type error.
NET_DVR_ERR_RADAR_ANGLE | 1434 | Radar angle error.
NET_DVR_ERR_RADAR_SPEED_VALID_TIME | 1435 | Radar speed valid time error.
NET_DVR_ERR_RADAR_LINE_CORRECT | 1436 | Radar line correct error.
NET_DVR_ERR_RADAR_CONST_CORRECT | 1437 | Radar const correct error.
NET_DVR_ERR_RECORD_PARAM | 1438 | Record param error.
NET_DVR_ERR_LIGHT_WITHOUT_COLOR_AND_DIRECTION | 1439 | Light number and other param error.
NET_DVR_ERR_LIGHT_WITHOUT_DETECTION_REGION | 1440 | Light number and detection region error.
NET_DVR_ERR_RECOGNIZE_PROVINCE_PARAM | 1441 | Plate recognize Province param error.
NET_DVR_ERR_SPEED_TIMEOUT | 1442 | IO Speed TimeOut Param error.
NET_DVR_ERR_NTP_TIMEZONE | 1443 | NTP TimeZone Param error.
NET_DVR_ERR_NTP_INTERVAL_TIME | 1444 | NTP Interval Time error.
NET_DVR_ERR_NETWORK_CARD_NUM | 1445 | Network Card Num error.
NET_DVR_ERR_DEFAULT_ROUTE | 1446 | Default Route error.
NET_DVR_ERR_BONDING_WORK_MODE | 1447 | Banding Work Mode error.
NET_DVR_ERR_SLAVE_CARD | 1448 | Slave Card error.
NET_DVR_ERR_PRIMARY_CARD | 1449 | Primary Card error.
NET_DVR_ERR_DHCP_PPOE_WORK | 1450 | DHCP and PPOE not Meanwhile start.
NET_DVR_ERR_NET_INTERFACE | 1451 | Net Interface invalid.
NET_DVR_ERR_MTU | 1452 | MTU Param invalid.
NET_DVR_ERR_NETMASK | 1453 | Netmask address invalid.
NET_DVR_ERR_IP_INVALID | 1454 | IP address invalid.
NET_DVR_ERR_MULTICAST_IP_INVALID | 1455 | Multicast IP address invalid.
NET_DVR_ERR_GATEWAY_INVALID | 1456 | Gateway address invalid.
NET_DVR_ERR_DNS_INVALID | 1457 | DNS Param invalid.
NET_DVR_ERR_ALARMHOST_IP_INVALID | 1458 | AlarmHost IP invalid.
NET_DVR_ERR_IP_CONFLICT | 1459 | IP address Conflict.
NET_DVR_ERR_NETWORK_SEGMENT | 1460 | IP not support Multi Network segment.
NET_DVR_ERR_NETPORT | 1461 | NetPort param error.
NET_DVR_ERR_PPPOE_NOSUPPORT | 1462 | Unsupport PPPOE.
NET_DVR_ERR_DOMAINNAME_NOSUPPORT | 1463 | Not Support Domain Name.
NET_DVR_ERR_NO_SPEED | 1464 | Speed Not Enabled.
NET_DVR_ERR_IOSTATUS_INVALID | 1465 | IO Status invalid.
NET_DVR_ERR_BURST_INTERVAL_INVALID | 1466 | Burst Interval invalid.
NET_DVR_ERR_RESERVE_MODE | 1467 | Reserve Mode invalid.
NET_DVR_ERR_LANE_NO | 1468 | Lane No error.
NET_DVR_ERR_COIL_AREA_TYPE | 1469 | Coil Area Type error.
NET_DVR_ERR_TRIGGER_AREA_PARAM | 1470 | Trigger Area Param error.
NET_DVR_ERR_SPEED_LIMIT_PARAM | 1471 | Speed Limit Param error.
NET_DVR_ERR_LANE_PROTOCOL_TYPE | 1472 | Lane Protocol Type error.
NET_DVR_ERR_INTERVAL_TYPE | 1473 | Capture Interval Type error.
NET_DVR_ERR_INTERVAL_DISTANCE | 1474 | Capture Interval Distance error.
NET_DVR_ERR_RS485_ASSOCIATE_DEVTYPE | 1475 | Rs485 Associate DevType error.
NET_DVR_ERR_RS485_ASSOCIATE_LANENO | 1476 | Rs485 Associate LaneNo error.
NET_DVR_ERR_LANENO_ASSOCIATE_MULTIRS485 | 1477 | LaneNo Associate MulitRs485 error.
NET_DVR_ERR_LIGHT_DETECTION_REGION | 1478 | Light Detection Region error.
NET_DVR_ERR_DN2D_NOSUPPORT | 1479 | UnSupport Capture Frame 2D Noise Reduction.
NET_DVR_ERR_IRISMODE_NOSUPPORT | 1480 | UnSupport scene Mode.
NET_DVR_ERR_WB_NOSUPPORT | 1481 | UnSupport White Balance Mode.
NET_DVR_ERR_IO_EFFECTIVENESS | 1482 | IO Effectiveness invalid.
NET_DVR_ERR_LIGHTNO_MAX | 1483 | Access Detector Lights Red / Yellow Overrun.
NET_DVR_ERR_LIGHTNO_CONFLICT | 1484 | Access Detector Lights Red / Yellow Conflict.
NET_DVR_ERR_CANCEL_LINE | 1485 | Trigger straight line error.
NET_DVR_ERR_STOP_LINE | 1486 | Subject line area stop line error.
NET_DVR_ERR_RUSH_REDLIGHT_LINE | 1487 | Red light trigger lines error.
NET_DVR_ERR_IOOUTNO_MAX | 1488 | IO out port error.
NET_DVR_ERR_IOOUTNO_AHEADTIME_MAX | 1489 | IO out ahead time error.
NET_DVR_ERR_IOOUTNO_IOWORKTIME | 1490 | IO out inwork time error.
NET_DVR_ERR_IOOUTNO_FREQMULTI | 1491 | IO out frequency multiplication error.
NET_DVR_ERR_IOOUTNO_DUTYRATE | 1492 | IO out duty rate error.
NET_DVR_ERR_VIDEO_WITH_EXPOSURE | 1493 | IO out work mode error.
NET_DVR_ERR_PLATE_BRIGHTNESS_WITHOUT_FLASHDET | 1494 | Plate enable in plate compensate mode on.
NET_DVR_ERR_RECOGNIZE_TYPE_PARAM | 1495 | Recognize Type error.
NET_DVR_ERR_PALTE_RECOGNIZE_AREA_PARAM | 1496 | Plate Recognize Area Param error.
NET_DVR_ERR_PORT_CONFLICT | 1497 | Port Conflict.
NET_DVR_ERR_LOOP_IP | 1498 | IP cannot be the loopback address.
NET_DVR_ERR_DRIVELINE_SENSITIVE | 1499 | Driveline sensitivity error.
VQD error code |  |
NET_ERR_VQD_TIME_CONFLICT | 1500 | The time period conflict.
NET_ERR_VQD_PLAN_NO_EXIST | 1501 | The diagnostic plan of VQD dese not exist.
NET_ERR_VQD_CHAN_NO_EXIST | 1502 | The channel dese not exist.
NET_ERR_VQD_CHAN_MAX | 1503 | The total number of VQD plans exceeds the max limit.
NET_ERR_VQD_TASK_MAX | 1504 | The total number of VQD tasks exceeds the max limit.
Added error code of traffic camera |  |
NET_DVR_ERR_EXCEED_MAX_CAPTURE_TIMES | 1600 | Capture times exceed 2 in flash mode.
NET_DVR_ERR_REDAR_TYPE_CONFLICT | 1601 | Radar type conflict.
NET_DVR_ERR_LICENSE_PLATE_NULL | 1602 | The license plate is null.
NET_DVR_ERR_WRITE_DATABASE | 1603 | Failed to write data into the database.
NET_DVR_ERR_LICENSE_EFFECTIVE_TIME | 1604 | The effective time of licence plate error.
NET_DVR_ERR_PRERECORDED_STARTTIME_LONG | 1605 | The pre recorded start time is greater than the number of illegal capture.
NET_DVR_ERR_TRIGGER_RULE_LINE | 1606 | Trigger rule line error.
NET_DVR_ERR_LEFTRIGHT_TRIGGERLINE_NOTVERTICAL | 1607 | Left and right trigger line is not vertical.
NET_DVR_ERR_FLASH_LAMP_MODE | 1608 | Flash lamp mode error.
NET_DVR_ERR_ILLEGAL_SNAPSHOT_NUM | 1609 | Illegal capture number error.
NET_DVR_ERR_ILLEGAL_DETECTION_TYPE | 1610 | Illegal detection type error.
NET_DVR_ERR_POSITIVEBACK_TRIGGERLINE_HIGH | 1611 | Positive back to trigger line height error.
NET_DVR_ERR_MIXEDMODE_CAPTYPE_ALLTARGETS | 1612 | Mixed mode only supports capture type all targets.
NET_DVR_ERR_CARSIGNSPEED_GREATERTHAN_LIMITSPEED | 1613 | Car sign speed greater than speed limit value.
NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_LIMITSPEED | 1614 | Big car sign speed limit greater than speed limit value.
NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_CARSIGNSPEED | 1615 | Big car sign speed limit is greater than the car sign speed limit value.
NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_CARLIMITSPEED | 1616 | Big car speed limit value is greater than the car speed limit value.
NET_DVR_ERR_BIGCARLOWSPEEDLIMIT_GREATERTHAN_CARLOWSPEEDLIMIT | 1617 | Big car low speed limit value is greater than the car low speed limit value.
NET_DVR_ERR_CARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED | 1618 | Car speed limit greater than exception high speed value.
NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED | 1619 | Big car speed limit greater than exception high speed value.
NET_DVR_ERR_STOPLINE_MORETHAN_TRIGGERLINE | 1620 | Stopping more than straight lines trigger lines.
Error code of access control host |  |
NET_ERR_TIME_OVERLAP | 1900 | Time periods pverlap
NET_ERR_HOLIDAY_PLAN_OVERLAP | 1901 | Holiday plan overlap
NET_ERR_CARDNO_NOT_SORT | 1902 | Card number is not sorted
NET_ERR_CARDNO_NOT_EXIST | 1903 | Card number does not exist
NET_ERR_ILLEGAL_CARDNO | 1904 | Card number error
NET_ERR_ZONE_ALARM | 1905 | Arming region is in arming status (parameter cannot be modified)
NET_ERR_ZONE_OPERATION_NOT_SUPPORT | 1906 | Arming region does not support the operation
NET_ERR_INTERLOCK_ANTI_CONFLICT | 1907 | Interlock and anti-passback configuration conflict
NET_ERR_DEVICE_CARD_FULL | 1908 | Card full (return after card reached 10,000)
NET_ERR_HOLIDAY_GROUP_DOWNLOAD | 1909 | Failed to download holiday group
NET_ERR_LOCAL_CONTROL_OFF | 1910 | Distributed access controller offline
NET_ERR_LOCAL_CONTROL_DISADD | 1911 | Distributed access controller is not added
NET_ERR_LOCAL_CONTROL_HASADD | 1912 | Distributed access controller is added
NET_ERR_LOCAL_CONTROL_DOORNO_CONFLICT | 1913 | Conflict with added distributed access controller
NET_ERR_LOCAL_CONTROL_COMMUNICATION_FAIL | 1914 | Distributed access controller communication failed
NET_ERR_OPERAND_INEXISTENCE | 1915 | Operation object does not exist (operation to door, alarm output, alarm input, return when the object is not added)
NET_ERR_LOCAL_CONTROL_OVER_LIMIT | 1916 | Distributed access controller exceeded device capability upper limit
NET_ERR_DOOR_OVER_LIMIT | 1917 | Door exceeded device capability upper limit
NET_ERR_ALARM_OVER_LIMIT | 1918 | Alarm input and output exceeded device capability upper limit
NET_ERR_LOCAL_CONTROL_ADDRESS_INCONFORMITY_TYPE | 1919 | Distributed access controller address does not match with type
Error code of video intercom |  |
NET_DVR_ERR_OUTDOOR_COMMUNICATION | 1950 | Communication exception with outdoor terminal
NET_DVR_ERR_ROOMNO_UNDEFINED | 1951 | Room number is not set
NET_DVR_ERR_NO_CALLING | 1952 | No call
NET_DVR_ERR_RINGING | 1953 | Ringing
NET_DVR_ERR_IS_CALLING_NOW | 1954 | Call in progress
NET_DVR_ERR_LOCK_PASSWORD_WRONG | 1955 | Incorrect smart lock password
NET_DVR_ERR_CONTROL_LOCK_FAILURE | 1956 | Lock control failure
NET_DVR_ERR_CONTROL_LOCK_OVERTIME | 1957 | Lock control timed out
NET_DVR_ERR_LOCK_DEVICE_BUSY | 1958 | Smart lock device busy
NET_DVR_ERR_UNOPEN_REMOTE_LOCK_FUNCTION | 1959 | Remote lock control not enabled
Other error code |  |
NET_DVR_ERR_FILE_NOT_COMPLETE | 2100 | Downloaded file is incomplete
NET_DVR_ERR_IPC_EXIST | 2101 | The camera already exists
NET_DVR_ERR_ADD_IPC | 2102 | Camera has been added to the channel
NET_DVR_ERR_OUT_OF_RES | 2103 | Not enough network bandwidth
NET_DVR_ERR_CONFLICT_TO_LOCALIP | 2104 | IP address of camera conflicts with that of DVR
NET_DVR_ERR_IP_SET | 2105 | Invalid IP address
NET_DVR_ERR_PORT_SET | 2106 | Invalid port number
NET_DVR_ERR_NOTSUPPORT_DEICING | 3001 | Device does not support deicing function under current status.(Deicing function is only supported under the power status of POE+, AC24V, and DC12V).

Error Code of RTSP Communication Library

Type of Error | Value | Error Message
NET_DVR_RTSP_ERROR_NOENOUGHPRI | 401 | Authentication failed: if server returns 401, it will change to this error code
NET_DVR_RTSP_ERROR_ALLOC_RESOURCE | 402 | Failed to allocate the resource
NET_DVR_RTSP_ERROR_PARAMETER | 403 | Parameter error
NET_DVR_RTSP_ERROR_NO_URL | 404 | The assigned URL does not exist: when the server returns 404, SDK turns to this error code. E.g. the channel is not available, or the channel does not support sub stream
NET_DVR_RTSP_ERROR_FORCE_STOP | 406 | The user forces to exit midway
NET_DVR_RTSP_GETPORTFAILED | 407 | RTSP port getting error.
NET_DVR_RTSP_DESCRIBERROR | 410 | RTSP DECRIBE communicate error
NET_DVR_RTSP_DESCRIBESENDTIMEOUT | 411 | Sending "RTSP DECRIBE" is timeout.
NET_DVR_RTSP_DESCRIBESENDERROR | 412 | Failed to send "RTSP DECRIBE".
NET_DVR_RTSP_DESCRIBERECVTIMEOUT | 413 | Receiving "RTSP DECRIBE" is timeout.
NET_DVR_RTSP_DESCRIBERECVDATALOST | 414 | Receiving data of "RTSP DECRIBE" error.
NET_DVR_RTSP_DESCRIBERECVERROR | 415 | Failed to receive "RTSP DECRIBE".
NET_DVR_RTSP_DESCRIBESERVERERR | 416 | "RTSP DECRIBE, the device returns the error code: 501 (failed to allocate the resource in the device)
NET_DVR_RTSP_SETUPERROR | 420 | (or 419), RTSP SETUP interaction error. Generally, it is that the address(URL) returned by the device is not accessible, or it is rejected by the server
NET_DVR_RTSP_SETUPSENDTIMEOUT | 421 | Sending "RTSP SETUP" is timeout.
NET_DVR_RTSP_SETUPSENDERROR | 422 | Sending "RTSP SETUP" error.
NET_DVR_RTSP_SETUPRECVTIMEOUT | 423 | Receiving "RTSP SETUP" is timeout.
NET_DVR_RTSP_SETUPRECVDATALOST | 424 | Receiving data of "RTSP SETUP" error.
NET_DVR_RTSP_SETUPRECVERROR | 425 | Failed to receive "RTSP SETUP".
NET_DVR_RTSP_OVER_MAX_CHAN | 426 | "RTSP SETUP" device returns the error that values 401 or 501. It exceeds the max connection number.
NET_DVR_RTSP_PLAYERROR | 430 | RTSP PLAY interaction error.
NET_DVR_RTSP_PLAYSENDTIMEOUT | 431 | Sending "RTSP PLAY" is timeout.
NET_DVR_RTSP_PLAYSENDERROR | 432 | Sending "RTSP PLAY" error.
NET_DVR_RTSP_PLAYRECVTIMEOUT | 433 | Receiving "RTSP PLAY" is timeout.
NET_DVR_RTSP_PLAYRECVDATALOST | 434 | Receiving data of "RTSP PLAY" error.
NET_DVR_RTSP_PLAYRECVERROR | 435 | Failed to receive "RTSP PLAY".
NET_DVR_RTSP_PLAYSERVERERR | 436 | "RTSP PLAY" device returns the error that values 401 or 501.
NET_DVR_RTSP_TEARDOWNERROR | 440 | RTSP TEARDOWN interaction error.
NET_DVR_RTSP_TEARDOWNSENDTIMEOUT | 441 | Sending "RTSP TEARDOWN" is timeout.
NET_DVR_RTSP_TEARDOWNSENDERROR | 442 | Sending "RTSP TEARDOWN" error.
NET_DVR_RTSP_TEARDOWNRECVTIMEOUT | 443 | Receiving "RTSP TEARDOWN" is timeout.
NET_DVR_RTSP_TEARDOWNRECVDATALOST | 444 | Receiving data of "RTSP TEARDOWN" error.
NET_DVR_RTSP_TEARDOWNRECVERROR | 445 | Failed to receive "RTSP TEARDOWN".
NET_DVR_RTSP_TEARDOWNSERVERERR | 446 | "RTSP TEARDOWN" device returns the error that values 401 or 501.

Error Code of Software Decoding Library

Type of Error | Value | Error Message
NET_PLAYM4_NOERROR | 500 | No error.
NET_PLAYM4_PARA_OVER | 501 | Input parameter is invalid.
NET_PLAYM4_ORDER_ERROR | 502 | API calling order error.
NET_PLAYM4_TIMER_ERROR | 503 | Failed to create multimedia clock.
NET_PLAYM4_DEC_VIDEO_ERROR | 504 | Failed to decode video data.
NET_PLAYM4_DEC_AUDIO_ERROR | 505 | Failed to decode audio data.
NET_PLAYM4_ALLOC_MEMORY_ERROR | 506 | Failed to allocate memory.
NET_PLAYM4_OPEN_FILE_ERROR | 507 | Failed to open the file.
NET_PLAYM4_CREATE_OBJ_ERROR | 508 | Failed to create thread event.
NET_PLAYM4_CREATE_DDRAW_ERROR | 509 | Failed to create DirectDraw object.
NET_PLAYM4_CREATE_OFFSCREEN_ERROR | 510 | Failed to create backstage cache for OFFSCREEN mode.
NET_PLAYM4_BUF_OVER | 511 | Buffer overflow, failed to input stream.
NET_PLAYM4_CREATE_SOUND_ERROR | 512 | Failed to create audio equipment.
NET_PLAYM4_SET_VOLUME_ERROR | 513 | Failed to set the volume.
NET_PLAYM4_SUPPORT_FILE_ONLY | 514 | This API can be called only for file playback mode.
NET_PLAYM4_SUPPORT_STREAM_ONLY | 515 | This API can be called only when playing stream.
NET_PLAYM4_SYS_NOT_SUPPORT | 516 | Not support by the system. Decoder can only work on the system above Pentium 3.
NET_PLAYM4_FILEHEADER_UNKNOWN | 517 | There is no file header.
NET_PLAYM4_VERSION_INCORRECT | 518 | The version mismatch between decoder and encoder.
NET_PLAYM4_INIT_DECODER_ERROR | 519 | Failed to initialize the decoder.
NET_PLAYM4_CHECK_FILE_ERROR | 520 | The file is too short, or the stream data is unknown.
NET_PLAYM4_INIT_TIMER_ERROR | 521 | Failed to initialize multimedia clock.
NET_PLAYM4_BLT_ERROR | 522 | BLT failure.
NET_PLAYM4_UPDATE_ERROR | 523 | Failed to update overlay surface
NET_PLAYM4_OPEN_FILE_ERROR_MULTI | 524 | Failed to open video & audio stream file.
NET_PLAYM4_OPEN_FILE_ERROR_VIDEO | 525 | Failed to open video stream file.
NET_PLAYM4_JPEG_COMPRESS_ERROR | 526 | JPEG compression error.
NET_PLAYM4_EXTRACT_NOT_SUPPORT | 527 | Don't support the version of this file.
NET_PLAYM4_EXTRACT_DATA_ERROR | 528 | Extract video data failed.

Error Code of Transcode Library

Type of Error | Value | Error Message
NET_CONVERT_ERROR_NOT_SUPPORT | 581 | Type not supported

Error Code of Two-way Audio Library

Type of Error | Value | Error Message
NET_AUDIOINTERCOM_OK | 600 | No error.
NET_AUDIOINTECOM_ERR_NOTSUPORT | 601 | Not support.
NET_AUDIOINTECOM_ERR_ALLOC_MEMERY | 602 | Memory allocation error.
NET_AUDIOINTECOM_ERR_PARAMETER | 603 | Parameter error.
NET_AUDIOINTECOM_ERR_CALL_ORDER | 604 | API calling order error.
NET_AUDIOINTECOM_ERR_FIND_DEVICE | 605 | No audio device
NET_AUDIOINTECOM_ERR_OPEN_DEVICE | 606 | Failed to open the audio device
NET_AUDIOINTECOM_ERR_NO_CONTEXT | 607 | Context error.
NET_AUDIOINTECOM_ERR_NO_WAVFILE | 608 | WAV file error.
NET_AUDIOINTECOM_ERR_INVALID_TYPE | 609 | The type of WAV parameter is invalid
NET_AUDIOINTECOM_ERR_ENCODE_FAIL | 610 | Failed to encode data
NET_AUDIOINTECOM_ERR_DECODE_FAIL | 611 | Failed to decode data
NET_AUDIOINTECOM_ERR_NO_PLAYBACK | 612 | Failed to play audio
NET_AUDIOINTECOM_ERR_DENOISE_FAIL | 613 | Failed to denoise
NET_AUDIOINTECOM_ERR_UNKOWN | 619 | Unknown

Error Code of Qos Stream Control Library

Type of Error | Value | Error Message
NET_QOS_ERR_SCHEDPARAMS_BAD_MINIMUM_INTERVAL | 678 | Scheduled parameter of minimum interval is bad .
NET_QOS_ERR_SCHEDPARAMS_BAD_FRACTION | 679 | Scheduled parameter of fraction is bad.
NET_QOS_ERR_SCHEDPARAMS_INVALID_BANDWIDTH | 680 | Scheduled parameter of bandwidth is not invalid.
NET_QOS_ERR_PACKET_TOO_BIG | 687 | Packet too big.
NET_QOS_ERR_PACKET_LENGTH | 688 | Packet length error.
NET_QOS_ERR_PACKET_VERSION | 689 | Packet version error.
NET_QOS_ERR_PACKET_UNKNOW | 690 | Packet unknow.
NET_QOS_ERR_OUTOFMEM | 695 | Out of memory.
NET_QOS_ERR_LIB_NOT_INITIALIZED | 696 | Lib not initialized.
NET_QOS_ERR_SESSION_NOT_FOUND | 697 | Session not found.
NET_QOS_ERR_INVALID_ARGUMENTS | 698 | Invalid arguments.
NET_QOS_ERROR | 699 | Qos error.
NET_QOS_OK | 700 | No error.

Remarks

Get error code through NET_DVR_GetLastError.

See Also

NET_DVR_GetLastError


NET_DVR_GetDVRIPByResolveSvr_EX

This API is used to get the dynamic IP address of the device by resolution server.

BOOL NET_DVR_GetDVRIPByResolveSvr_EX(
  char     *sServerIP,
  WORD     wServerPort,
  BYTE     *sDVRName,
  WORD     wDVRNameLen,
  BYTE     *sDVRSerialNumber,
  WORD     wDVRSerialLen,
  char     *sGetIP,
  DWORD    *dwPort
);

Parameters

sServerIP
[in] IP address or domain name of the resolution server(IP Server or hkDDNS)
wServerPort
[in] Port number of the resolution server
sDVRName
[in] Device name
wDVRNameLen
[in] Length of the device name
sDVRSerialNumber
[in] The serial number of the device
wDVRSerialLen
[in] The length of the serial number of the device
sGetIP
[out] Point
dwPort
[out] Pointer to save the obtained port number

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The name and the serial number of the device cannot be NULL at the same time.
The supported resolution server are IPServer and hkDDNS. The port(wServerPort) of IPServer is 7071 and that of hkDDNS is 80.

Reference Interface

NET_DVR_GetDVRIPByResolveSvr


NET_DVR_ActivateDevice

Activating the device.

BOOL NET_DVR_ActivateDevice(
  char*                   sDVRIP,
  WORD                    wDVRPort,
  LPNET_DVR_ACTIVATECFG   lpActivateCfg
);

Parameters

sDVRIP
[in] Devide IP address
wDVRPort
[in] Device Port No.
lpActivateCfg
[in] Activating parameters

Return Values

TRUE indicates activating succeeded, and FALSE indicates activating failed. For error code, seeNET_DVR_GetLastError。

Remarks

The device must be activated first, the default password used for activating the device is required for login.


NET_DVR_Login_V40

Device Logon (support asynchronous login)

LONG NET_DVR_Login_V40(
  LPNET_DVR_USER_LOGIN_INFO    pLoginInfo,
  LPNET_DVR_DEVICEINFO_V40     lpDeviceInfo
);

Parameters

pLoginInfo
[in] Login parameters, including device address, username and password.
lpDeviceInfo
[out] Device information (valid when bUseAsynLogin in the pLoginInfo is 0)

Return Values

The asynchronous login status, UserID, and device information are returned by the call-back function(fLoginResultCallBack) which is configured in the structure of NET_DVR_USER_LOGIN_INFO. For asynchronous login, the returned value of -1 indicates login failed, and other returned value indicates the user ID. The userID is unique, and is indispensable for operating the device. For error code, seeNET_DVR_GetLastError.

Remarks

  • The synchronous login mode is valid when bUseAsynLogin in the pLoginInfo is 0, the login is succeeded if the interface is successfully returned. The asynchronous login mode is valid when bUseAsynLogin in the pLoginInfo is 1. The login result will be returned in the call-back function of the input parameters configuration.
  • It supports 32 different user names for DS7116, DS81xx, DS90xx and DS91xx series devices, and 128 users login at the same time. Other devices support 16 different user names and 128 users login at the same time.
  • SDK supports the count of login at the same time is 2048, the value of UserID ranges from 0 to 2047.

    • See Also

    NET_DVR_Logout

    Reference Interface

    This interface is expanded from
    NET_DVR_Login_V30


NET_DVR_Logout

This API is used to logout certain user.

BOOL NET_DVR_Logout(
  LONG    lUserID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

See Also

NET_DVR_Login

Reference Interface

NET_DVR_Logout_V30


NET_DVR_SetShowMode

This API is used to set play display mode.

BOOL NET_DVR_SetShowMode(
  DWORD        dwShowType,
  COLORREF     colorKey
);

Parameters

dwShowType
[in] Display mode (For Linux system, it supports NORMALMODE only)
enum{
  NORMALMODE = 0,
  OVERLAYMODE
}
colorKey
[in] The transparent color set by user, which should be set when in OVERLAY mode. The transparent color just like a transparent film, the display picture only can go through this color, while other colors will prevent the display picture. User should put the color in the display window to show the display picture. Usually only one color are chosen as the transparent color. colorKey is the value of 32 bit 0x00bbggrr, the highest byte is 0, the last three byte is correspondingly refer to the value of b, g,r

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

There are two play modes: the common mode and OVERLAY mode. The advantage of OVERLAY mode is: most of the graphic adapter support OVERLAY, using OVERLAY mode in some graphic adapter which do not support BLT hardware shrink and enlarge and the switch of th color like SIS series graphic adapters, it will greatly reduce the CPU resources and improve the picture quality (which is correspondingly to using software to realize the shrink and enlarge, switch of color). And the disadvantage is it can only play one channel picture at a time, cannot realize large scale centralization surveillance.

There can only be one OVERLAY surface in the active status at one graphic adapter and at the sametime. If at that time there is a program using OVERLAY in the system, the player cannot establish an OVERLAY surface any more, it will change into the common mode automatically, while not return to FALSE. Some common player possibly use OVERLAY surface, thus the other program cannot use OVERLAY surface any more.


NET_DVR_MakeKeyFrame

This API is used to create a key frame in main stream.

BOOL NET_DVR_MakeKeyFrame(
  LONG     lUserID,
  DWORD    lChannel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The interface is used to reset I frame, please call NET_DVR_MakeKeyFrame or NET_DVR_MakeKeyFrameSub to reset I frame for the main stream or sub stream according to the set preview parameter NET_DVR_CLIENTINFO.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MakeKeyFrameSub


NET_DVR_MakeKeyFrameSub

This API is used to create a key frame in sub stream.

BOOL NET_DVR_MakeKeyFrameSub(
  LONG     lUserID,
  DWORD    lChannel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The interface is used to reset I frame, please call NET_DVR_MakeKeyFrame or NET_DVR_MakeKeyFrameSub to reset I frame for the main stream or sub stream according to the set preview parameter NET_DVR_CLIENTINFO.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MakeKeyFrame


NET_DVR_RealPlay_V40

This API is used to realize real-time preview.

LONG NET_DVR_RealPlay_V40(
  LONG                     lUserID,
  LPNET_DVR_PREVIEWINFO     lpPreviewInfo,
  REALDATACALLBACK          fRealDataCallBack_V30,
  void                     *pUser,
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpClientInfo
[in] Preview parameter
fRealDataCallBack_V30
[in] Data stream callback function
pUser
[in] User data

Callback Function

typedef void(CALLBACK *REALDATACALLBACK)(
  LONG      lRealHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  void      *pUser
);

Callback Function Parameters

lRealHandle
Current preview handle
dwDataType
Data type
Macro Definition | Value | Implication
NET_DVR_SYSHEAD | 1 | System head data
NET_DVR_STREAMDATA | 2 | Stream data (include video and audio stream, or only the video data of stream that video and audio is separate)
NET_DVR_AUDIOSTREAMDATA | 3 | Audio data
NET_DVR_PRIVATE_DATA | 112 | Private data, including intelligent information
pBuffer
Buffer pointer for saving data
dwBufSize
Buffer size
pUser
User data

Return Values

-1 means false, and other values could be used as handle of interface like NET_DVR_StopRealPlay. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_OVER_MAXLINK | 5 | The number of clients connected to the device has exceeded the max limit.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_LOADPLAYERSDKFAILED | 64 | Failed to load the player SDK.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKFAILED | 66 | Failed to load the library file "DsSdk".
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_IPCHAN_NOTALIVE | 83 | IP channel is not on-line when previewing.
NET_DVR_RTSP_SDK_ERROR | 84 | Load StreamTransClient.dll failed.
NET_DVR_CONVERT_SDK_ERROR | 85 | Load SystemTransform.dll failed.

Remarks

This API is used to realize live view. It supports to set current operation to be blocked or not (by the parameter: bBlocked). If set to be unblocked, it means it will think the connection is successful when start to connect with the device. If failed to receive stream and play, it will notify the upper layer by preview exception mode. And it can reduce dwell time of loop play, the same to NET_DVR_RealPlay. If set to be blocked, it means it will return whether successful or not after playing operation.

The callback function of this API can be set to NULL, and it will not callback the stream data to user. And then user can call NET_DVR_SetRealDataCallBack or NET_DVR_SetStandardDataCallBack to register callback function to capture stream data.

If the client off-line, the device will keep the stream connection 10s. If over 10s, SDK will connect again to resume live view.

For SDK development in Linux, input valid window handle in live view interface. During live view, when changing window size, call NET_DVR_ChangeWndResolution to notify the player SDK to get the window size. For Windows, the process is self-adaptive.

See Also

NET_DVR_StopRealPlay NET_DVR_GetRealPlayerIndex NET_DVR_ClientSetVideoEffect
NET_DVR_ClientGetVideoEffect NET_DVR_RigisterDrawFun NET_DVR_SetPlayerBufNumber
NET_DVR_ThrowBFrame NET_DVR_OpenSound NET_DVR_OpenSoundShare
NET_DVR_CloseSoundShare NET_DVR_Volume NET_DVR_SetRealDataCallBack
NET_DVR_SetStandardDataCallBack NET_DVR_SaveRealData NET_DVR_StopSaveRealData

Reference Interface

NET_DVR_RealPlay


NET_DVR_StopRealPlay

This API is used to stop network real-time preview.

BOOL NET_DVR_StopRealPlay(
  LONG    lRealHandle
);

Parameters

lRealHandle
[in] Preview handle, the return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
PUSH MODE: preview handle(lStreamHandle), output parameter in the callback function set by NET_DVR_SetPreviewResponseCallBack

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKPROC_ERROR | 67 | Can not find the API in "DsSdk".

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30

NET_DVR_SetPreviewResponseCallBack


NET_DVR_GetRealPlayerIndex

This API is used to get player handle for decoding and display when preview real time.

int NET_DVR_GetRealPlayerIndex(
  LONG    lRealHandle
);

Parameters

lRealHandle
[in] Handle of preview, the return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30

Return Values

Return -1 if it is failed, and other return values could be used as the play handle. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

User can realize other functions supported by player SDK by returned handle. For example:

When using PlayM4_GetBMP(LONG nPort,……), PlayM4_GetJPEG(LONG nPort,……),

you can do like following:

PlayM4_GetBMP(NET_DVR_GetPlayBackPlayerIndex(),……)

PlayM4_GetJPEG(NET_DVR_GetPlayBackPlayerIndex(),……)

We can capture picture and save the data to memory.

Please refer Player SDK Programmer Manual for details.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_ChangeWndResolution

Send notice to player SDK when changes happen in live view window (only applicable in Linux)

BOOL NET_DVR_ChangeWndResolution(
  LONG    lRealHandle
);

Parameters

lRealHandle
[in] Live view handle, return value of NET_DVR_RealPlay_V40

Return Values

Return TRUE on success, FALSE on failure. Call to get error code.

Remarks

  • For SDK development in Linux, input valid window handle in live view interface. During live view, when changing window size, call this interface to notify the player SDK to get the window size. For Windows, the process is self-adaptive.

See Also

NET_DVR_RealPlay_V40


NET_DVR_GetDVRConfig

Get device configuration information

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details, see "Remarks"
lChannel
[in] Channel number, if the parameter is invalid, set as 0xFFFFFFFF, for details, see "Remarks"
lpOutBuffer
[out] Pointer to receiving data buffer
dwOutBufferSize
[in] Buffer size of receiving data in byte, cannot be 0
lpBytesReturned
[out] Pointer to length of received data, cannot be null

Remarks

For structures and commands, see the table below:

dwCommand Macro Definition | dwCommand Description | lChannel | Structure | Value
NET_DVR_GET_NETCFG_V30 | Get network parameter | Null | NET_DVR_NETCFG_V30 | 1000
NET_DVR_GET_NETCFG_V50 | Get network parameter(V50 dual listening) | Null | NET_DVR_NETCFG_V50 | 1015
NET_DVR_GET_NETAPPCFG | Get network application parameter(NTP/DDNS) | Null | NET_DVR_NETAPPCFG | 222
NET_DVR_GET_NTPCFG | Get network application parameter(NTP) | Null | NET_DVR_NTPPARA | 224
NET_DVR_GET_DDNSCFG_V30 | Get network application parameter(DDNS) | Null | NET_DVR_DDNSPARA_V30 | 1010
NET_DVR_GET_EMAILCFG_V30 | Get network application parameter(EMAIL) | Null | NET_DVR_EMAILCFG_V30 | 1012
NET_DVR_GET_NETCFG_MULTI_V50 | Get multi-NIC configuration parameters | Group No., from 1, 4 NICs for each group | NET_DVR_NETCFG_MULTI | 1163
NET_DVR_GET_NETWORK_BONDING | Get BONDING NIC parameter | Null | NET_DVR_NETWORK_BONDING | 1254
NET_DVR_GET_FTPCFG | Get first card FTP parameter | Null | NET_DVR_FTPCFG | 134
NET_DVR_GET_FTPCFG_SECOND | Get backup FTP parameter | Null | NET_DVR_FTPCFG | 6103
NET_DVR_GET_SNMPCFG_V30 | Get SNMP parameter | Null | NET_DVR_SNMPCFG_V30 | 1114
NET_DVR_GET_AP_INFO_LIST | Get wireless network resource parameter | Null | NET_DVR_AP_INFO_LIST | 305
NET_DVR_GET_WIFI_CFG | Get IP monitoring device wireless parameter | Null | NET_DVR_WIFI_CFG | 307
NET_DVR_GET_WIFI_WORKMODE | Get Wi-Fi network port operating mode | Null | NET_DVR_WIFI_WORKMODE | 309
NET_DVR_GET_WIFI_STATUS | Get device current Wi-Fi connection status | Null | NET_DVR_WIFI_CONNECT_STATUS | 310
NET_DVR_GET_NAT_CFG | Get NAT mapping parameter | Null | NET_DVR_NAT_CFG | 6111
NET_DVR_GET_POE_CFG | Get PoE parameter | Null | NET_DVR_POE_CFG | 6114
NET_DVR_GET_BONJOUR_CFG | Get Bonjour information | Null | NET_DVR_BONJOUR_CFG | 6127
NET_DVR_GET_SOCKS_CFG | Get SOCKS information | Null | NET_DVR_SOCKS_CFG | 6130
NET_DVR_GET_QOS_CFG | Get QoS information | Null | NET_DVR_QOS_CFG | 6132
NET_DVR_GET_HTTPS_CFG | Get HTTPS information | Null | NET_DVR_HTTPS_CFG | 6134
NET_DVR_GET_WPSCFG | Get wireless WPS parameter | Null | NET_DVR_WPS_PARAM | 3218
NET_DVR_GET_DEVICE_PIN | Get device PIN code | Null | NET_DVR_PIN_PARAM | 3221
NET_DVR_GET_GBT28181_ACCESS_CFG | Get GBT28181 protocol access configuration | Null | NET_DVR_GBT28181_ACCESS_CFG | 3249
NET_DVR_GET_CMS_CFG | Get platform parameter | Null | NET_DVR_CMS_PARAM | 2070
NET_DVR_GET_EZVIZ_ACCESS_CFG | Get EZVIZ access parameter | Null | NET_DVR_EZVIZ_ACCESS_CFG | 3398
NET_DVR_GET_SMSRELATIVEPARA | Get SMS parameter | Null | NET_DVR_SMSRELATIVEPARAM | 1173
NET_DVR_GET_DEVICE_NET_USING_INFO | Get current device network resource usage | Null | NET_DVR_DEVICE_NET_USING_INFO | 6009

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

Refer below for possible error value

Error Type | Value | Information
NET_DVR_NOERROR | 0 | No error
NET_DVR_NOINIT | 3 | SDK is not initialized
NET_DVR_VERSIONNOMATCH | 6 | SDK version not matched
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device
NET_DVR_ORDER_ERROR | 12 | API calling order error
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | SDK resource allocation error
NET_DVR_NOENOUGH_BUF | 43 | Buffer too small
NET_DVR_CREATESOCKET_ERROR | 44 | Creating SOCKET error
NET_DVR_USERNOTEXIST | 47 | User does not exist
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable
NET_DVR_PROGRAM_EXCEPTION | 76 | Program exception

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details, see "Remarks"
lChannel
[in] Channel number, if the parameter is invalid, set as 0xFFFFFFFF, for details, see "Remarks"
lpInBuffer
[in] Pointer to receiving data buffer
dwInBufferSize
[in] Buffer size of receiving data in byte

Remarks

For structures and commands, see the table below:

dwCommand Macro Definition | dwCommand Description | lChannel | Structure | Value
NET_DVR_SET_NETCFG_V30 | Set network parameter | Null | NET_DVR_NETCFG_V30 | 1001
NET_DVR_SET_NETCFG_V50 | Set network parameter(V50 dual listening) | Null | NET_DVR_NETCFG_V50 | 1016
NET_DVR_SET_NETAPPCFG | Set network application parameter(NTP/DDNS) | Null | NET_DVR_NETAPPCFG | 223
NET_DVR_SET_NTPCFG | Set network application parameter(NTP) | Null | NET_DVR_NTPPARA | 225
NET_DVR_SET_DDNSCFG_V30 | Set network application parameter(DDNS) | Null | NET_DVR_DDNSPARA_V30 | 1011
NET_DVR_SET_EMAILCFG_V30 | Set network application parameter(EMAIL) | Null | NET_DVR_EMAILCFG_V30 | 1013
NET_DVR_SET_NETCFG_MULTI_V50 | Set multi-NIC configuration parameters | Group No., from 1, 4 NICs for each group | NET_DVR_NETCFG_MULTI | 1164
NET_DVR_SET_NETWORK_BONDING | Set BONDING NIC parameter | Null | NET_DVR_NETWORK_BONDING | 1255
NET_DVR_SET_FTPCFG | Set first card FTP parameter | Null | NET_DVR_FTPCFG | 135
NET_DVR_SET_FTPCFG_SECOND | Set backup FTP parameter | Null | NET_DVR_FTPCFG | 6104
NET_DVR_SET_SNMPCFG_V30 | Set SNMP parameter | Null | NET_DVR_SNMPCFG_V30 | 1115
NET_DVR_SET_WIFI_CFG | Set wireless network resource parameter | Null | NET_DVR_WIFI_CFG | 306
NET_DVR_SET_WIFI_WORKMODE | Set Wi-Fi network port operating mode | Null | NET_DVR_WIFI_WORKMODE | 308
NET_DVR_SET_NAT_CFG | Set NAT mapping parameter | Null | NET_DVR_NAT_CFG | 6112
NET_DVR_SET_POE_CFG | Set PoE parameter | Null | NET_DVR_POE_CFG | 6115
NET_DVR_SET_BONJOUR_CFG | Set Bonjour information | Null | NET_DVR_BONJOUR_CFG | 6128
NET_DVR_SET_SOCKS_CFG | Set SOCKS information | Null | NET_DVR_SOCKS_CFG | 6131
NET_DVR_SET_QOS_CFG | Set QoS information | Null | NET_DVR_QOS_CFG | 6133
NET_DVR_SET_HTTPS_CFG | Set HTTPS information | Null | NET_DVR_HTTPS_CFG | 6135
NET_DVR_SET_WPSCFG | Set wireless WPS parameter | Null | NET_DVR_WPS_PARAM | 3219
NET_DVR_SET_GBT28181_ACCESS_CFG | Set GBT28181 protocol access configuration | Null | NET_DVR_GBT28181_ACCESS_CFG | 3250
NET_DVR_SET_CMS_CFG | Set platform parameter | Null | NET_DVR_CMS_PARAM | 2071
NET_DVR_SET_EZVIZ_ACCESS_CFG | Set EZVIZ access parameter | Null | NET_DVR_EZVIZ_ACCESS_CFG | 3399
NET_DVR_SET_SMSRELATIVEPARA | Set SMS parameter | Null | NET_DVR_SMSRELATIVEPARAM | 1174

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

Refer below for possible error value

Error Type | Value | Information
NET_DVR_NOERROR | 0 | No error
NET_DVR_NOINIT | 3 | SDK is not initialized
NET_DVR_VERSIONNOMATCH | 6 | SDK version not matched
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device
NET_DVR_ORDER_ERROR | 12 | API calling order error
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | SDK resource allocation error
NET_DVR_NOENOUGH_BUF | 43 | Buffer too small
NET_DVR_CREATESOCKET_ERROR | 44 | Creating SOCKET error
NET_DVR_USERNOTEXIST | 47 | User does not exist
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable
NET_DVR_PROGRAM_EXCEPTION | 76 | Program exception

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get the device configuration information.。

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Settings command of the device, see details in "Remarks"
lpConfigParam
[in&out] The input and output parameters of configuration. Different functions correspond with different input and output parameters, refer to "Remarks" description for details

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastErrorfor error code

Remarks

When getting settings parameters, IpInBuffer in the structure IpConfigParam is invalid, and is set to NULL. Besides, in IpConfigParam, IpCondBuffer and IpOutBuffer correspond to different contents according to different settings functions (dwCommand). See details in the following table.

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_WIRELESS_DIAL | Get wireless parameters configuration | 4 bytes (DWORD) network card No. | NET_DVR_WIRELESSDIAL_CFG | 3578
NET_DVR_GET_WIRELESSDIAL_SCHEDULE | Get the dial-up schedule configuration | 4 bytes (DWORD) network card No. | NET_DVR_WIRELESSDIAL_SCHEDULE | 3581
NET_DVR_GET_WIRELESSDIAL_STATUS | Get the dial-up status | 4 bytes (DWORD) network card No. | NET_DVR_WIRELESSDIAL_STATUS | 3583
NET_DVR_GET_WIRELESSSERVER_FULLVERSION_CFG | Get the WIFI hot spot parameters configuration | 4 bytes (DWORD) network card No. | NET_DVR_WIRELESSSERVER_FULLVERSION_CFG | 3760
NET_DVR_GET_WIRELESSSERVER | Get Wi-Fi hotspot parameters configuration | 4 bytes(DWORD) of wireless network card No. | NET_DVR_WIRELESSSERVER | 3717
NET_DVR_GET_FTPUPLOAD_CFG | Get FTP upload information correction parameters | NULL | NET_DVR_FTPUPLOADCFG | 3783
NET_DVR_GET_ANR_ARMING_HOST | Get ANR host information | NULL | NET_DVR_ANR_ARMING_HOST | 3773

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Device Configuration Information Settings

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of the login structures such as NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details, see"Remarks".
lpConfigParam
[in&out] The configuration of the input/output parameters, for details, see"Remarks".

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError for error code.

Remarks

When setting the configuration parameters, lpOutBuffer in the structure of lpConfigParam is invalid, and is set as NULL. for different configuration function(dwCommand), the lpCondBuffer and lpInBuffer in the lpConfigParam are different.

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_WIRELESS_DIAL | Set wireless parameters configuration | 4 bytes (DWORD) network card No. | NET_DVR_WIRELESSDIAL_CFG | 3579
NET_DVR_SET_WIRELESSDIAL_SCHEDULE | Set dial-up schedule | 4 bytes (DWORD) network card No. | NET_DVR_WIRELESSDIAL_SCHEDULE | 3582
NET_DVR_GET_WIRELESSSERVER | Set Wi-Fi hotspot parameters configuration | 4 bytes(DWORD) of wireless network card No. | NET_DVR_WIRELESSSERVER | 3718
NET_DVR_SET_WIRELESSSERVER_FULLVERSION_CFG | Set WIFI hot spot | 4 bytes (DWORD) network card No. | NET_DVR_WIRELESSSERVER_FULLVERSION_CFG | 3761
NET_DVR_SET_FTPUPLOAD_CFG | Set FTP upload information correction parameters | NULL | NET_DVR_FTPUPLOADCFG | 3784

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_STDControl

Remote Control。

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in]Control command, for details, see Remark section.
lpControlParam
[in&out] Remote conrol input/output parameters, different control commands corresponds to different input/output parameters.

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError

Remarks

For different configuration commands(dwCommand), the lpCondBuffe in lpControlParam is different.

dwCommand Definition | Macro Value | Description | lpCondBuffer Structure
NET_DVR_WIRELESSDIAL_CONNECT | 3593 | Control wireless network connection | NET_DVR_WIRELESSDIAL_CONNECT_PARAM


NET_DVR_GetRtspConfig

This API is used to get parameters of RTSP.

BOOL NET_DVR_GetRtspConfig(
  LONG                  lUserID,
  DWORD                 dwCommand,
  LPNET_DVR_RTSPCFG     lpOutBuffer,
  DWORD                 dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Set to 0, reserved
lpOutBuffer
[out] Output buffer
dwOutBufferSize
[in] The size of output buffer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetRtspConfig


NET_DVR_SetRtspConfig

This API is used to set RTSP protocol parameters.

BOOL NET_DVR_SetRtspConfig(
  LONG                  lUserID,
  DWORD                 dwCommand,
  LPNET_DVR_RTSPCFG     lpInBuffer,
  DWORD                 dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Reserved, please set to 0
lpInBuffer
[in] Input cache
dwInBufferSize
[in] Input cache size, the size is NET_DVR_RTSPCFG value

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetRtspConfig


NET_DVR_StartRemoteConfig

Enable remote configuration.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Configuration command. Different functions correspond to different commands, and IpInBuffer corresponds to different contents.
dwCommand Macro Definition | Value | Function | lpInBuffer Corresonding Structure | cbStateCallback
NET_DVR_GET_WIFI_CLIENT_LIST_INFO | 6363 | Get the Wi-Fi hot spot to connect the device information | NULL | NULL
NET_DVR_GET_CONNECT_LIST | 433 | Get the Wi-Fi hot spot to connect the device list | NET_DVR_CONNECTDEV_COND | Returned status, information data
lpInBuffer
[in] Input parameter
dwInBufferLen
[in] Input buffer size
cbStateCallback
[in] Callback function of status
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Value of callback status
NET_SDK_CALLBACK_TYPE_PROGRESS
Callback progress value
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] Buffer pointer for saving data. Detailed information is related to dwType.
dwType | Description | lpBuffer Corresponding Structure
NET_SDK_CALLBACK_TYPE_STATUS | Status Value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Succeeded NET_SDK_CALLBACK_STATUS_PROCESSING, //Processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress Value | The value of lpBuffer stands for the progress (DWORD).
NET_SDK_CALLBACK_TYPE_DATA | Information data | Corresponding strucutre: NET_DVR_CONNECTDEV_CFG
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

Return -1 on failure, and other values on the handle of NET_DVR_StopRemoteConfig. Call NET_DVR_GetLastErrorto get the error code and find the reason.

Remarks

After calling this interface to start the long connection remote configuration, other interfaces also should be called if you want to call other commands.
dwCommand Macro Definition | Description | Interfaces afterward
NET_DVR_GET_WIFI_CLIENT_LIST_INFO | Get the Wi-Fi hot spot to connect the device information | NET_DVR_GetNextRemoteConfig

See Also

NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

Information found one by one.

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] Searching handle, the returned value of NET_DVR_StartRemoteConfig.
lpOutBuff
[out] The output buffer, related to the command (dwCommand) of NET_DVR_StartRemoteConfig（dwCommand). For details, see the list below.
dwOutBuffSize
[out] Buffer size.

When calling NET_DVR_StartRemoteConfig, IpOutBuff corresponds to different structures when different commands (dwCommand) are input.For details, see the table below.

dwCommand Macro Definition | Value | Funtion | lpOutBuff Corresponding Structure
NET_DVR_GET_WIFI_CLIENT_LIST_INFO | 6363 | Get the Wi-Fi hot spot to connect the device | NET_DVR_WIFI_CLIENT_INFO

Return Values

Return -1 on failure, and other values on the current status. Call NET_DVR_GetLastErrorto get the error code.

Macro Definition | Value | Description
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | Successfully read the data, and call NET_DVR_GetNextRemoteConfig again to get next data
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Wait the device to send data, and continuous to call NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | Finish getting all data, and call NET_DVR_StopRemoteConfig to finish long connection
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Exception occurs, and call NET_DVR_StopRemoteConfig to finish long connection

Remarks

? Before calling this interface, it is required to call NET_DVR_StartRemoteConfig to get the current searching handle. This interface is used to get one piece of information which has been searched out. If you need all the information, call this interface repetitively.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StopRemoteConfig

Close the handle of long connection configuration and release the resource.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle, the returned value of NET_DVR_StartRemoteConfig.

Return Values

Returen TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

The structures and command numbers are different according to the various getting functions, and they are listed as below:

=======
dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_PICCFG_V30 | Get image parameters | valid | NET_DVR_PICCFG_V30 | 1002
NET_DVR_GET_PREVIEWCFG_V30 | Get local preview parameters | invalid | NET_DVR_PREVIEWCFG_V30 | 1044
NET_DVR_GET_PREVIEWCFG_AUX_V30 | Get AUX preview parameters | invalid | NET_DVR_PREVIEWCFG_V30 | 1046
NET_DVR_GET_VIDEOOUTCFG_V30 | Get video out parameters | invalid | NET_DVR_VIDEOOUT_V30 | 1028
NET_DVR_GET_AUXOUTCFG | Get aux output configuration triggered by alarm | invalid | NET_DVR_AUXOUTCFG | 140
NET_DVR_GET_COMPRESSCFG_V30 | Get compression parameters | valid | NET_DVR_COMPRESSIONCFG_V30 | 1040
NET_DVR_GET_ZEROCHANCFG | Get compression parameters of zero channel | valid | NET_DVR_ZEROCHANCFG | 1102
NET_DVR_GET_ZERO_PREVIEWCFG_V30 | Get local preview parameters of zero channel | valid | NET_DVR_PREVIEWCFG_V30 | 1104
NET_DVR_GET_ZERO_ZOOM | Get zoom parameters of zero channel | valid | NET_DVR_ZERO_ZOOMCFG | 1107
NET_DVR_GET_RECORDCFG_V30 | Get recording parameters | valid | NET_DVR_RECORD_V30 | 1004
NET_DVR_GET_CCDPARAMCFG | Get front-end parameters | invalid | NET_DVR_CAMERAPARAMCFG | 1067
NET_DVR_GET_VIDEO_INPUT_EFFECT | Get the video effect parameters | valid | NET_DVR_VIDEO_INPUT_EFFECT | 1286
NET_DVR_GET_CCDPARAMCFG_EX | Get camera parameters | invalid | NET_DVR_CAMERAPARAMCFG_EX | 3368
NET_DVR_GET_PICCFG_V40 | Get image parameters(expand) | valid | NET_DVR_PICCFG_V40 | 6179
NET_DVR_GET_CCDPARAMCFG_EX | Get camera parameters | invalid | NET_DVR_CAMERAPARAMCFG_EX | 3368
NET_DVR_GET_AUDIOOUT_VOLUME | Get audio output volume | Valid | NET_DVR_AUDIOOUT_VOLUME | 3237

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

For CVR, the count of channels is over 64, so lChannel means the group number: 0- the no.1 group, 1- the no.2 group, and so on.

If lChannel is valid, its value starts from 1

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Parameter type. Please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number if it is not the channel parameter, do not use lChannel, and set it as 0xFFFFFFFF
lpInBuffer
[in] Buffer that saves the input parameters
dwInBufferSize
[in] Size of the buffer (unit: byte )

The structures and command numbers are different according to the various configuration functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Structure | Value
NET_DVR_SET_PICCFG_V30 | Set image parameters | valid | NET_DVR_PICCFG_V30 | 1003
NET_DVR_SET_PREVIEWCFG_V30 | Set local preview parameters | invalid | NET_DVR_PREVIEWCFG_V30 | 1045
NET_DVR_SET_PREVIEWCFG_AUX_V30 | Set auxiliary preview parameters | invalid | NET_DVR_PREVIEWCFG_V30 | 1047
NET_DVR_SET_VIDEOOUTCFG_V30 | Set video out parameters | invalid | NET_DVR_VIDEOOUT_V30 | 1029
NET_DVR_SET_AUXOUTCFG | Set parameters of aux output triggered by alarm | invalid | NET_DVR_AUXOUTCFG | 141
NET_DVR_SET_COMPRESSCFG_V30 | Set compression parameters | valid | NET_DVR_COMPRESSIONCFG_V30 | 1041
NET_DVR_SET_ZEROCHANCFG | Set compression parameters of zero channel | valid | NET_DVR_ZEROCHANCFG | 1103
NET_DVR_SET_ZERO_PREVIEWCFG_V30 | Set local preview parameters of zero channel | valid | NET_DVR_PREVIEWCFG_V30 | 1105
NET_DVR_SET_ZERO_ZOOM | Set zoom parameters of zero channel | valid | NET_DVR_ZERO_ZOOMCFG | 1106
NET_DVR_SET_RECORDCFG_V30 | Set recording parameters | valid | NET_DVR_RECORD_V30 | 1005
NET_DVR_SET_CCDPARAMCFG | Set front-end parameters | invalid | NET_DVR_CAMERAPARAMCFG | 1068
NET_DVR_SET_VIDEO_INPUT_EFFECT | Set the video effect parameters | valid | NET_DVR_VIDEO_INPUT_EFFECT | 1287
NET_DVR_SET_CCDPARAMCFG_EX | Set camera parameters(expand) | valid | NET_DVR_CAMERAPARAMCFG_EX | 3369
NET_DVR_SET_PICCFG_V40 | Set image parameters(expand) | valid | NET_DVR_PICCFG_V40 | 6180
NET_DVR_SET_AUDIOOUT_VOLUME | Set audio output volume | Valid | NET_DVR_AUDIOOUT_VOLUME | 3238

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

For CVR, the count of channels is over 64, so lChannel means the group number: 0- the no.1 group, 1- the no.2 group, and so on.

If lChannel is valid, its value starts from 1.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Get the device configuration information in batch.

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The returned value of login API, such as NET_DVR_Login_V40.
dwCommand
[in] The device configuration command, refer to configuration command.
dwCount
[in] The getting number, 0 and 1 stand for 1 camera information, 2 stands for 2 camera information, and so on. The maximize number is 64.
lpInBuffer
[in] The pointer of configuration condition buffer.
dwInBufferSize
[in] Configuration condition buffer length.
lpStatusList
[out] The error message list, which should be corresponding with the camera, (for example, lpStatusList[2] corresponds with lpInBuffer[2]). The memory should be allocated by user himself and each error message should be 4-byte (32-bit integer without symbol). 0 and 1 stand for succeed, and other value stand for error code.
lpOutBuffer
[out] The returned parameter value from device, which corresponds with the camera. If the lpStatusList of the camera is greater than 1, the corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The total size of the returned dwCount*values.

Return Values

TRUE means success, but does not mean every configuration is succeeded. Check the lpStatusList[n] value to confirm if the specific configuration is succeeded. FALSE means every configuration is failed. Call NET_DVR_GetLastError to get the error message.

Remarks

The API is the general interface for getting the camera configuration information in batch. lpInBuffer is used for specifying the configuration information types, and lpOutBuffer is used for saving the get configuration information.

Different functions correspond with different structures and commands, as shown in the following table:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Corresponding Structure | lpOutBuffer Corresponding Structure | Macro Definition Value
NET_DVR_GET_MULTI_STREAM_COMPRESSIONCFG | Remotely get the compression parameters of multi-stream. | dwCount * NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND | dwCount * NET_DVR_MULTI_STREAM_COMPRESSIONCFG | 3216
NET_DVR_GET_STREAM_RECORD_INFO | Get recording information. | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_RECORD_INFO | 6019
NET_DVR_GET_STREAM_RECORD_STATUS | Get the recording status information. | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_RECORD_STATUS | 6021
NET_DVR_GET_DEFAULT_VIDEO_EFFECT | Get the default video effect. | dwCount * NET_DVR_DEFAULT_VIDEO_COND | dwCount * NET_DVR_VIDEO_EFFECT | 6136
NET_DVR_GET_JPEG_CAPTURE_CFG_V40 | Get the device capturing configuration, the dwCount is 0. | NET_DVR_CHANNEL_GROUP | NET_DVR_JPEG_CAPTURE_CFG_V40 | 6190

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get the device configuration information.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Settings command of the device, see details in "Remarks"
lpConfigParam
[in&out] The input and output parameters of configuration. Different functions correspond with different input and output parameters, refer to "Remarks" description for details

Return Values

Return TRUE on success, FALSE on failure. CallNET_DVR_GetLastErrorfor error code.

Remarks

When getting settings parameters, IpInBuffer in the structure IpConfigParam is invalid, and is set to NULL. Besides, in IpConfigParam, IpCondBuffer and IpOutBuffer correspond to different contents according to different settings functions (dwCommand). See details in the following table.

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_OSD_BATTERY_POWER_CFG | Get OSD battery voltage display parameters | 4 byte (DWORD) cahnnel No. | NET_DVR_OSD_BATTERY_POWER_CFG | 3741
NET_DVR_GET_OIS_CFG | Get OIS configuration | 4 byte (DWORD) channel No. | NET_DVR_OIS_CFG | 3641
NET_DVR_GET_SOFTWARE_SERVICE | Get software service configuration | 4 byte (DWORD) channel No. | NET_DVR_SOFTWARE_SERVICE_CFG | 3981

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Device Configuration Information Settings

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of the login structures such as NET_DVR_Login_V40
dwCommand
[in] The return value of the login structures such as NET_DVR_Login_V40
lpConfigParam
[in&out] The configuration of the input/output parameters, for details, see"Remarks".

Return Values

Return TRUE on success, FALSE on failure. CallNET_DVR_GetLastErrorfor error code.

Remarks

When setting the configuration parameters, lpOutBuffer in the structure of lpConfigParam is invalid, and is set as NULL. for different configuration function(dwCommand), the lpCondBuffer and lpInBuffer in the lpConfigParam are different.

<
dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_OSD_BATTERY_POWER_CFG | Set OSD battery voltage display parameters | 4 byte (DWORD) cahnnel No. | NET_DVR_OSD_BATTERY_POWER_CFG | 3741
NET_DVR_SET_OIS_CFG | Set OIS configuration | 4 byte (DWORD) channel No. | NET_DVR_OIS_CFG | 3642
NET_DVR_SET_SOFTWARE_SERVICE | Set software service configuration | 4 byte (DWORD) channel No. | NET_DVR_SOFTWARE_SERVICE_CFG | 3982

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_CloseLongCfgHandle

Release the handle resource.

BOOL NET_DVR_CloseLongCfgHandle(
  LONG      lHandle
);

Parameters

lHandle
[in] The return value of NET_DVR_RaidPullDiskStart or NET_DVR_ScanRaidStart

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_RaidPullDiskStart NET_DVR_ScanRaidStart


NET_DVR_GetDeviceAbility

This API is used to get capability set of the device.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAbilityType
[in] Type of capability, details listed below:
Macro Definition | Value | Implication
DEVICE_SOFTHARDWARE_ABILITY | 0x001 | Software/hardware capability set
DEVICE_NETWORK_ABILITY | 0x002 | Wireless network capability set
DEVICE_ENCODE_ALL_ABILITY_V20 | 0x008 | All compression capability set
IPC_FRONT_PARAMETER_V20 | 0x009 | Camera parameter capability set
DEVICE_RAID_ABILITY | 0x007 | RAID capability set
DEVICE_ALARM_ABILITY | 0x00a | Alarm capability set
DEVICE_DYNCHAN_ABILITY | 0x00b | Digital(IP) channel capability set
DEVICE_USER_ABILITY | 0x00c | User management parameter capability set
DEVICE_NETAPP_ABILITY | 0x00d | Network application capability set
DEVICE_VIDEOPIC_ABILITY | 0x00e | Video parameter capability set
DEVICE_JPEG_CAP_ABILITY | 0x00f | JPEG capturing capability set
DEVICE_SERIAL_ABILITY | 0x010 | RS232 and RS485 capability set
DEVICE_ABILITY_INFO | 0x011 | Device general capability type, vary by sending capability node
STREAM_ABILITY | 0x012 | Device stream capability set
MATRIXDECODER_ABILITY | 0x200 | Display and decoding capability set of multi-channel decoder
DECODER_ABILITY | 0x261 | Decoder XML capability set
SNAPCAMERA_ABILITY | 0x300 | Capability set of intelligent traffic IPC
PIC_CAPTURE_ABILITY | 0x402 | Picture capturing resolution capability set
pInBuf
[in] Pointer of the input buffer (according to description mode of capability parameter which is defined by device,it supports XML text or structure format)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer of the output buffer (according to description mode of ability set which is defined by device,it supports XML text or structure format)
dwOutLength
[in] Length of the output buffer

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices, too. The input and output parameter format when getting different capability set are defined as below:

Macro Definition | Description | pInBuf | pOutBuf
DEVICE_SOFTHARDWARE_ABILITY | Get device software & hardware capability | Null | Software & hardware capability
DEVICE_NETWORK_ABILITY | Get wireless device network capability | Null | Wireless network capability
DEVICE_ENCODE_ALL_ABILITY_V20 | Get device encoding capability | The input description | Device encoding capability
IPC_FRONT_PARAMETER_V20 | Get camera parameter capability | The input description | Camera parameter
DEVICE_RAID_ABILITY | Get RAID capability | Null | RAID capability
DEVICE_ALARM_ABILITY | Get alarm capability | The input description | Alarm capability
DEVICE_DYNCHAN_ABILITY | Get digital channel capability | The input description | Digital channel capability
DEVICE_USER_ABILITY | Get user management parameter capability | The input description | User management parameter capability
DEVICE_NETAPP_ABILITY | Get network application capability | The input description | Network application capability
DEVICE_VIDEOPIC_ABILITY | Get video parameter capability | The input description | Video parameter capability
DEVICE_JPEG_CAP_ABILITY | Get JPEG capture capability | The input description | JPEG capture capability
DEVICE_SERIAL_ABILITY | Get RS232 and RS485 serial port capability | The input description | Serial port capability
DEVICE_ABILITY_INFO | General capability type, dependent on the sent capability node | The input description | PTZ capability
 |  | The input description | Alarm event handling capability
 |  | The input description | ROI capability
 |  | The input description | Recording capability
 |  | The input description | Camera channel access capability of NVR
 |  | The input description | Local preview switch capability
 |  | The input description | Device N+1 capability
 |  | The input description | Device HDD capability
 |  | The input description | Camera configuration file import & export capability
 |  | The input description | Device channel input capability
 |  | The input description | Camera parameter dynamic capability
 |  | The input description | Alarm triggered recording capability
 |  | The input description | GB/T28181 capability
 |  | The input description | IO input and output capability
 |  | The input description | Access protocol capability
 |  | The input description | Security authentication configuration capability
 |  | The input description | Camera mount parameter capability
 |  | The input description | Log search capability
 |  | The input description | CVR device capability
 |  | The input description | Image display parameter capability
 | Device smart VCA capability set | The input description | VCA capability
 |  | The input description | VCA channel control capability
 |  | The input description | VCA channel analysis capability
 |  | The input description | Stereo capability
STREAM_ABILITY | Get stream capability | The input description | Stream capability
MATRIXDECODER_ABILITY | Get display and decoding capability of multi-channel decoder | Null | NET_DVR_MATRIX_ABILITY
DECODER_ABILITY | Get decoder capability set | The input description | Decoder capability
SNAPCAMERA_ABILITY | Get smart traffic camera capabilitysmart | Null | NET_DVR_SNAP_ABILITY
PIC_CAPTURE_ABILITY | Get image capability | Channel number (4 bytes) | NET_DVR_COMPRESSIONCFG_ABILITY

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

All compression capability set and camera parameter capability set are extended in the version 4.2 SDK, and the original capability sets are described in NET_DVR_GetDeviceAbility

You can call the NET_DVR_SetSDKLocalCfg interface before getting capability of devices to enable the analog capability, and amke sure loading LocalXml.zip at the same time（the same catalogue of RTSP library) style="font-weight: 700">NET_DVR_GetDeviceAbility.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetSTDAbility

Getting device capability

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details, see the following table.
lpAbilityParam
[in&out] DEvice capability set parameter (including input and output parameter), different capability sets correspond to different input and output parameters, for details, see "Remarks"

Return Values

Returns TRUE on success, FALSE on failure. Please callNET_DVR_GetLastErrorto get the error code.

Remarks

If the device support getting capability set through ISAPI protocol, get related capability set through NET_DVR_GetDeviceAbility.

For different capability set type (dwAbilityType), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, for details, see the table below:

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
Smart capability set |  |  |  |
NET_DVR_GET_SMART_CAPABILITIES | 3500 | Get the smart capability set | NULL | SmartCap
NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES | 3501 | Get the capacity of event triggering | NULL | EventTriggerCap
NET_DVR_GET_REGION_ENTRANCE_CAPABILITIES | 3502 | Get the capacity of region entrance detection | 4 byte (DWORD) channel number | RegionEntrance
NET_DVR_GET_REGION_ENTRANCE_SCHEDULE_CAPABILITIES | 3584 | Get the capacity of arming schedule of region entrance detection | 4 byte (DWORD) channel number | Schedule
NET_DVR_GET_REGION_EXITINT_CAPABILITIES | 3511 | Get the capacity of region exiting detection | 4 byte (DWORD) channel number | RegionExiting
NET_DVR_GET_REGION_EXITING_SCHEDULE_CAPABILITIES | 3585 | Get the capacity of arming schedule of region exiting detection | 4 byte (DWORD) channel number | Schedule
NET_DVR_GET_LOITERING_CAPABILITIES | 3520 | Get the capacity of loitering detection | 4 byte (DWORD) channel number | Loitering
NET_DVR_GET_LOITERING_SCHEDULE_CAPABILITIES | 3586 | Get the capacity of arming schedule of loitering detection | 4 byte (DWORD) channel number | Schedule
NET_DVR_GET_GROUPDETECTION_CAPABILITIES | 3529 | Get the capacity of people gathering detection | 4 byte (DWORD) channel number | Group
NET_DVR_GET_GROUP_SCHEDULE_CAPABILITIES | 3587 | Get the capacity of arming schedule of people gathering detection | 4 byte (DWORD) channel number | Schedule
NET_DVR_GET_RAPIDMOVE_CAPABILITIES | 3538 | Get the capacity of rapid moving detection | 4 byte (DWORD) channel number | RapidMove
NET_DVR_GET_RAPIDMOVE_SCHEDULE_CAPABILITIES | 3588 | Get the capacity of arming schedule of rapid moving detection | 4 byte (DWORD) channel number | Schedule
NET_DVR_GET_PATKING_CAPABILITIES | 3547 | Get the capacity of parking detecting | 4 byte (DWORD) NIC number | Parking
NET_DVR_GET_PARKING_SCHEDULE_CAPABILITIES | 3589 | Get the capacity of arming schedule of parking detection | 4 byte (DWORD) channel number | Schedule
NET_DVR_GET_UNATTENDED_BAGGAGE_CAPABILITIES | 3556 | Get the capacity of unattended baggage Detection detection | 4 byte (DWORD) channel number | UnattendedBaggage
NET_DVR_GET_UNATTENDEDBAGGAGE_SCHEDULE_CAPABILITIES | 3590 | Get the capacity of arming schedule of unattended baggage Detection detection | 4 byte (DWORD) channel number | Schedule
NET_DVR_GET_ATTENDEDBAGGAGE_CAPABILITIES | 3565 | Get the capacity of object removal detection | 4 byte (DWORD) channel number | AttendedBaggageCap
NET_DVR_GET_ATTENDEDBAGGAGE_SCHEDULE_CAPABILITIES | 3591 | et the capacity of arming schedule of object removal detection | 4 byte (DWORD) channel number | Schedule
NET_DVR_GET_REGIONCLIP_CAPABILITIES | 3574 | Get the capacity of region clipping. | NET_DVR_REGION_CLIP_COND | RegionClip
NET_DVR_GET_LITESTORAGE_CAPABILITIES | 3596 | Get light storage capability set | 4 byte (DWORD) channel number | LiteStorage
NET_DVR_GET_VEHICLE_CAPABILITIES | 3597 | Get vehicle detection calibration capability set | 4 byte (DWORD) channel number | Calibration
NET_DVR_GET_TRAFFIC_CAP | 6630 | Get capture related capability set | NULL | TrafficCap
NET_DVR_GET_VEHICLLE_RESULT_CAPABILITIES | 3951 | Get vehicle information search result capability set | NULL | VehicleInfoResultCap
NET_DVR_GET_COUNTING_CAPABILITIES | 3757 | Get passenger flow counting capability set | 4 byte (DWORD) channel number | CountingCap
Network capability set |  |  |  |
NET_DVR_GET_NETWORK_CAPABILITIES | 3577 | Get the capacity of network | NULL | NetworkCap
NET_DVR_GET_WIRELESSDIAL_CAPABILITIES | 3580 | Get the capacity of wireless dialing. | 4 byte (DWORD) NIC number | Dial
NET_DVR_GET_WIRELESSDIAL_SCHEDULE_CAPABILITIES | 3592 | Get the capacity of dialing schedule | 4 byte (DWORD) NIC number | Schedule
NET_DVR_GET_GBT28181_SERVICE_CAPABILITIES | 6505 | Get GB28181 server capability set | NULL | GB28181ServiceCap
NET_DVR_GET_FTP_CAPABILITIES | 3782 | Get FTP upload capability set | NULL | FTPNotificationList
NET_DVR_GET_WIRELESSSERVER_CAPABILITIES | 3716 | Get WiFi hotspot configuration capability set | 4 byte (DWORD) wireless NIC number | WirelessServer
NET_DVR_GET_CONNECT_LIST_CAPABILITIES | 3719 | Get hotspot connected device list capability set | 4 byte (DWORD) wireless NIC number | accessDeviceList
NET_DVR_GET_DDNS_COUNTRY_ABILITY | 3800 | Get device supported DDNS country capability set | NULL | DDNSCountry
NET_DVR_GET_MACFILTER_CAPABILITIES | 3643 | Get MAC address filtering configuration capability set | NULL | MACFilter
NET_DVR_GET_ACTIVATE_IPC_ABILITY | 13003 | Get NVR activating front-end device capability set | NULL | VideoSourceActivationCapability
Storage capability set |  |  |  |
NET_DVR_GET_STORAGEDETECTION_SCHEDULE_CAPABILITIES | 6637 | Get storage health detection arming time capability set | 4 byte (DWORD) HDD number | Schedule
NET_DVR_GET_STORAGEDETECTION_RWLOCK_CAPABILITIES | 6647 | Get storage detection of read/write lock configuration capability set | NULL | RWLock
NET_DVR_GET_STORAGEDETECTION_UNLOCK_CAPABILITIES | 6654 | Get storage detection of unlock configuration capability set | NULL | UnLock
NET_DVR_GET_RACM_CAP | 6252 | Get storage total capability set (RACM capability) | NULL | RacmCap
Peripheral capability set |  |  |  |
NET_DVR_GET_SENSOR_PORT_CAPABILITIES | 5067 | Get sensor capability set | 4 byte (DWORD) channel number | SensorPortList
NET_DVR_GET_THSCREEN_CAPABILITIES | 3720 | Get temperature & humidity configuration capability set | 4 byte (DWORD) channel number | THScreen
NET_DVR_GET_EXTERNALDEVICE_CAPABILITIES | 3722 | Get peripheral configuration capability set | 4 byte (DWORD) channel number | ExternalDevice
NET_DVR_GET_SUPPLEMENTLIGHT_CAPABILITIES | 3727 | Get built-in lamp configuration capability set | 4 byte (DWORD) channel number | SupplementLight
NET_DVR_GET_ACCESSORY_CARD_INFO_CAPABILITIES | 6709 | Get accessory board information capability set | NULL | AccessoryCardInfo
Other device capability set |  |  |  |
NET_DVR_GET_STREAMING_CAPABILITIES | 3712 | Get video stream capability set | 4 byte (DWORD) channel number | StreamingChannel
NET_DVR_GET_REFRESHFRAME_CAPABILITIES | 3713 | Get frame refresh capability set | 4 byte (DWORD) channel number | RefreshFrame
NET_DVR_GET_OSD_BATTERY_POWER_CFG_CAPABILITIES | 3743 | Get OSD battery display parameter capability set | 4 byte (DWORD) channel number | BatteryPowerOverlay
NET_DVR_GET_OIS_CAPABILITIES | 3640 | Get optical image stabilization parameter configuration capability set | 4 byte (DWORD) channel number | OIS
NET_DVR_GET_REVISE_GPS_CAPABILITIES | 3752 | Get GPS calibration calibration capability set | 4 byte (DWORD) channel number | ReviseGPS
NET_DVR_GET_ONLINEUPGRADE_ABILITY | 9309 | Get online upgrade capability set | NULL | OnlineUpgradeCap
NET_DVR_GET_PTZ_CAPABILITIES | 3619 | Dome camera PTZ control capability set | 4 byte (DWORD) channel number | PTZChanelCap
NET_DVR_GET_EAGLEFOCUS_CALCFG_CAPABILITIES | 3646 | Eagle vision focus calibration configuration capability set | 4 byte (DWORD) channel number | EagleFocusing
NET_DVR_GET_EAGLEFOCUSING_CFG_CAPABILITIES | 3649 | Eagle vision focus configuration capability set | 4 byte (DWORD) channel number | Control
NET_DVR_GET_SOFTWARE_SERVICE_CAPABILITIES | 3980 | Get software service capability set | 4 byte (DWORD) channel No. | SoftwareService
NET_DVR_GET_SYSTEM_CAPABILITIES | 8100 | Device system capability set | NULL | DeviceCap

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command pass-through, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[out] Output parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

The pass-through of ISAPI protocol commands are available through this interface to realize the functions of parameter configuration and getting capability set. Calling the interface requires the device to support ISAPI protocol (PUT, GET, POST and DELETE commands), for details, see the table below:

Capability set type | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Total capability of device system | GET /ISAPI/System/capabilities\r\n | NULL | DeviceCap
Security capability set | GET /ISAPI/Security/capabilities\r\n | NULL | SecurityCap

See Also

NET_DVR_Login_V40


NET_DVR_SetDeviceConfigEx

Batch set device configuration information(with sending data)

BOOL NET_DVR_SetDeviceConfigEx(
  LONG                 lUserID,
  DWORD                dwCommand,
  DWORD                dwCount,
  NET_DVR_IN_PARAM     *lpInParam,
  NET_DVR_OUT_PARAM    *lpOutParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details, see the table below.
dwCount
[in] Number of desired cameras for setting, 0 and 1 stand for 1 camera information, 2 stands for 2 camera information, and so forth to the maximum 64.
lpInParam
[in] Buffer of input parameter. Parameter values vary with dwCommand, for details, see the table below.
lpOutParam
[in] Buffer of output parameter. Parameter values vary with dwCommand, for details, see the table below.

Return Values

Return TRUE on success, but the value does not necessarily indicate that all configurations are successful. For details, see the value of lpOutParam->lpStatusList. Return FALSE when all failed. Please callNET_DVR_GetLastErrorto get the error code.

Remarks

This is a general extended interface that sets camera configuration information in batch with sending data, and supports the setting of timeout limit of receiving data.

Different configurations correspond to different structures and commands, as shown below:

dwCommand Macro Definition | dwCommand Description | Value
NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL_V50 | Manual add video passback task V50 (return task ID) | 6254
Parameter of input and output buffer | Value
lpInParam->struCondBuf.pBuf | Buffer of input condition, amount: dwCountNET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND
lpInParam->struCondBuf.nLen | Length of input condition buffer
lpInParam->struInParamBuf.pBuf | Buffer of input parameter, amount: dwCountNET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG
lpInParam->struInParamBuf.nLen | Length of input parameter buffer
lpInParam->dwRecvTimeout | Timeout limit for receiving data, enter 0 to apply default timeout
lpOutParam->struOutBuf.pBuf | Buffer of output parameter, amount: dwCountNET_DVR_RECORD_PASSBACK_TASK_CFG
lpOutParam->struOutBuf.nLen | Length of output parameter buffer
lpOutParam->lpStatusList | Status buffer, corresponds to the configuration result of dwCount parameter configuration, e.g., lpStatusList[2] corresponds to lpInParam->struInParamBuf.pBuf[2], the memory is allocated by the user, each error information contains 4 bytes, value: 0 or 1 means success, any other value is the error code.

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDConfig

This API is used to get configuration information of the device.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details, see the following table.
lpConfigParam
[in&out] Configuration of input and output parameters. Different configurations correspond to different input and output parameters, for details, see the table below.

Return Values

Returns TRUE on success, FALSE on failure. Please callNET_DVR_GetLastErrorto get the error code.

Remarks

When getting configuration parameters, lpInBuffer of structure lpConfigParam is invalid, and is set to null. For different configuration function(dwCommand), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, as shown in the table below:

  • Thermal imaging related configuration is only supported in the thermal imaging channel. There are two channels of thermal imaging stable positioning system and thermal imaging positioning system, one is for visible light and the other is for thermal imaging; while thermal network bullet camera has only one thermal imaging channel.
dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG | Get passback function basic configuration | NULL | NET_DVR_REC_PASSBACK_BASIC_CFG | 6249
NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG | Get passback history recording schedule configuration | NET_DVR_STREAM_INFO | NET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG | 6256

See Also

NET_DVR_SetSTDConfig NET_DVR_Login_V40


NET_DVR_SetSTDConfig

This API is used to set the configuration of the device.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details, see the table below.
lpConfigParam
[in&out] Configuration of input and output parameters. Different configurations correspond to different input and output parameters, for details, see the table below.

Return Values

Returns TRUE on success, FALSE on failure. Please callNET_DVR_GetLastErrorto get the error code.

Remarks

When setting configuration parameters, lpInBuffer of structure lpConfigParam is invalid, and is set to null. For different configuration function(dwCommand), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, as shown in the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_RECORD_PASSBACK_BASIC_CFG | Set passback function basic configuration | NULL | NET_DVR_REC_PASSBACK_BASIC_CFG | 6250
NET_DVR_SET_RECORD_PASSBACK_HISTORY_PLAN_CFG | Set passback history recording schedule configuration | NET_DVR_STREAM_INFO | NET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG | 6257

See Also

NET_DVR_GetSTDConfig NET_DVR_Login_V40


NET_DVR_GetSTDAbility

This API is used to get capability set of the device.

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details, see the following table.
lpAbilityParam
[in&out] Device capability set parameters, including input and output parameters.

Return Values

Returns TRUE on success, FALSE on failure. Please callNET_DVR_GetLastErrorto get the error code.

Remarks

If the device does not suppoort getting capacity via ISAPI protocol, please callNET_DVR_GetDeviceAbilityto get the capability.

For different capability set type(dwAbilityType), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, as shown in the following table:

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG_CAP | 6248 | Get passback function basic configuration capability set | NULL | RecordPassBackBasicCfg
NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG_CAP | 6255 | Get passback history recording schedule capability set | NULL | RecordPassBackHistoryPlanCfg

See Also

NET_DVR_Login_V40


NET_DVR_ClientGetVideoEffect

This API is used to get video display parameters.

BOOL NET_DVR_ClientGetVideoEffect(
  LONG      lRealHandle,
  DWORD     *pBrightValue,
  DWORD     *pContrastValue,
  DWORD     *pSaturationValue,
  DWORD     *pHueValue
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
pBrightValue
[out] Pointer of brightness, range: 1-10
pContrastValue
[out] Pointer of contrast, range: 1-10
pSaturationValue
[out] Pointer of saturation, range: 1-10
pHueValue
[out] Pointer of hue, range: 1-10

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_ClientSetVideoEffect

This API is used to set video display parameters.

BOOL NET_DVR_ClientSetVideoEffect(
  LONG      lRealHandle,
  DWORD     dwBrightValue,
  DWORD     dwContrastValue,
  DWORD     dwSaturationValue,
  DWORD     dwHueValue
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwBrightValue
[in] Brightness value, range: 1-10
dwContrastValue
[in] Contrast value, range: 1-10
dwSaturationValue
[in] Saturation value, range: 1-10
dwHueValue
[in] Hue value, range: 1-10

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.

Remarks

In SDK4.0 or higher version, it will not return FALSE, if the value of brightness and contrast is set out of the limit. Instead, it will set a value near upper or lower limit.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_GetVideoEffect

This API is used to get video display parameters.

BOOL NET_DVR_GetVideoEffect(
  LONG      lUserID,
  LONG      lChannel,
  DWORD     *pBrightValue,
  DWORD     *pContrastValue,
  DWORD     *pSaturationValue,
  DWORD     *pHueValue
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number, the start number is 1
pBrightValue
[out] Brightness, value range: [1,10]
pContrastValue
[out] Contrast, value range: [1,10]
pSaturationValue
[out] Saturation, value range: [1,10]
pHueValue
[out] Hue, value range: [1,10]

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetVideoEffect

This API is used to set video display parameters.

BOOL NET_DVR_SetVideoEffect(
  LONG      lUserID,
  LONG      lChannel,
  DWORD     dwBrightValue,
  DWORD     dwContrastValue,
  DWORD     dwSaturationValue,
  DWORD     dwHueValue
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number, the start number is 1
dwBrightValue
[in] Brightness, value range: [1,10]
dwContrastValue
[in] Contrast, value range: [1,10]
dwSaturationValue
[in] Saturation, value range: [1,10]
dwHueValue
[in] Hue, value range: [1,10]

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_Login NET_DVR_Login_V30


NET_DVR_RigisterDrawFun

This API is used to overlay characters or image on preview DC, no such interface on Linux system.

BOOL NET_DVR_RigisterDrawFun(
  LONG        lRealHandle,
  fDrawFun    cbDrawFun,
  DWORD       dwUser
);

Parameters

lRealHandle
[in] Return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
cbDrawFun
[in] Draw callback function
dwUser
[in] User data

Callback Function

typedef void(CALLBACK *fDrawFun)(
  LONG      lRealHandle,
  HDC       hDc,
  DWORD     dwUser
);

Callback Function Parameters

lRealHandle
Current preview handle
hDc
Draw DC
dwUser
User data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This interface is mainly used to complete callback function register, and get device context of the current surface. User could draw or write on the DC, like drawing on the window client DC. But this DC is not DC of window client area, it is DC on the Off-Screen surface of Player DirectDraw.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_SetAudioMode

This API is used to set audio play mode.

BOOL NET_DVR_SetAudioMode(
  DWORD    dwMode
);

Parameters

dwMode
[in] Audio play mode: 1-exclusive, single channel audio mode; 2-shared mode, multi-channel audio mode

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

If you don't call this interface to set audio play mode, the default mode is exclusive.


NET_DVR_OpenSound

This API is used to open sound under exclusive sound card mode.

BOOL NET_DVR_OpenSound(
  LONG    lRealHandle
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

If currently it is in shared mode, this interface will return false. It supports only opening one channel to play sound under the exclusive mode, that is, it only opens the sound of the last channel when more one channels are opened one by one.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30 NET_DVR_CloseSound


NET_DVR_CloseSound

This API is used to close sound on monopolistic sound card mode.

BOOL NET_DVR_CloseSound(
);

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_AUDIO_MODE_ERROR | 42 | Sound adapter mode error. Currently opened sound playing mode does not match with the set mode.
NET_DVR_PLAYERFAILED | 51 | Failed to call API of player SDK.

See Also

NET_DVR_OpenSound


NET_DVR_OpenSoundShare

This API is used to open sound under shared sound card mode.

BOOL NET_DVR_OpenSoundShare(
  LONG    lRealHandle
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30 NET_DVR_CloseSoundShare


NET_DVR_CloseSoundShare

This API is used to close sound on share sound card mode.

BOOL NET_DVR_CloseSoundShare(
  LONG    lRealHandle
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_AUDIO_MODE_ERROR | 42 | Sound adapter mode error. Currently opened sound playing mode does not match with the set mode.
NET_DVR_PLAYERFAILED | 65 | Can not find the function in player SDK.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30 NET_DVR_OpenSoundShare


NET_DVR_Volume

This API is used to adjust playing volume.

BOOL NET_DVR_Volume(
  LONG    lRealHandle,
  WORD    wVolume
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
wVolume
[in] Volume, value arrange[0,0xffff]

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_SetRealDataCallBack

This API is used to set callback function and user handle the data received from the client-end.

BOOL NET_DVR_SetRealDataCallBack(
  LONG                 lRealHandle,
  fRealDataCallBack    cbRealDataCallBack,
  DWORD                dwUser
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
PUSH MODE: preview handle(lStreamHandle), output parameter in the callback function set by NET_DVR_SetPreviewResponseCallBack
cbRealDataCallBack
[in] Data stream callback function
dwUser
[in] User data

Callback Function

typedef void(CALLBACK *fRealDataCallBack)(
  LONG      lRealHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  DWORD     dwUser
);

Callback Function Parameters

lRealHandle
Current preview handle
dwDataType
Data type
Macro Definition | Macro Definition value | Implication
NET_DVR_SYSHEAD | 1 | System head data
NET_DVR_STREAMDATA | 2 | Stream data(Including separate audio and video stream or composite video stream data)
pBuffer
Buffer pointer to save data
dwBufSize
Buffer size
dwUser
User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This function includes starting and stopping the user to handle the data captured by SDK. When fRealDataCallBack is not NULL, it means SDK will callback the stream data and user can handle the data. When fRealDataCallBack is NULL, it means stop calling back the data and handling the data. The first package called back by the function is a system head of 40 bytes, and it is used to decode the stream data. The afterward data called back is the compressed data stream. The max size of the data called back one time is 256K bytes.

Example

#include
#include
#include "Windows.h"
#include "HCNetSDK.h"
#include
#include "plaympeg4.h"
using namespace std;

LONG m_iPort; //Global Player port NO.

void CALLBACK g_RealDataCallBack_V30(LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void* dwUser)
{
    HWND hWnd=GetConsoleWindow();
    switch (dwDataType)
    {
    case NET_DVR_SYSHEAD: //System head
        if (!PlayM4_GetPort(&lPort))  //Get unused port
        {
            break;
        }
        m_iPort = lPort;  /*The data called back at the first time is system header. Please assign this port to global port, and it will be used to play in next callback */
        if (dwBufSize > 0)
        {
            if (!PlayM4_SetStreamOpenMode(lPort, STREAME_REALTIME))
                                               //Set real-time stream playing mode
            {
                break;
            }
            if (!PlayM4_OpenStream(lPort, pBuffer, dwBufSize, 1024*1024))
                                               //Open stream
            {
                break;
            }
            if (!PlayM4_Play(lPort, hWnd))  //Start play
            {
                break;
            }
        }
    case NET_DVR_STREAMDATA:   //Stream data
        if (dwBufSize > 0 && lPort != -1)
        {
            if (!PlayM4_InputData(lPort, pBuffer, dwBufSize))
            {
                break;
            }
        }
    }
}

void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser)
{
    char tempbuf[256] = {0};
    switch(dwType)
    {
    case EXCEPTION_RECONNECT:    //reconnect when preview
    printf("----------reconnect--------%d\n", time(NULL));
    break;
    default:
    break;
    }
}

void main() {

  //---------------------------------------
  //Initialize SDK
   NET_DVR_Init();
  //Set connection time and reconnection time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  // Login
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  //---------------------------------------
  //Set exception callback function
  NET_DVR_SetExceptionCallBack_V30(0, NULL,g_ExceptionCallBack, NULL);

  //---------------------------------------
  //Start preview and set to callback stream data
  LONG lRealPlayHandle;
  NET_DVR_CLIENTINFO ClientInfo = {0};
  ClientInfo.hPlayWnd = NULL;
  //If need to decode, please set it valid. If want to get stream data only, we can set to NULL
  ClientInfo.lChannel     = 1;      //Preview channel NO.
  ClientInfo.lLinkMode    = 0;      /*If 31st bit is 0, it means connect main stream, is 1 means sub stream.  Bit 0~bit 30 are used for link mode: 0- TCP mode, 1- UDP mode, 2- Multi-play mode, 3- RTP mode, 4- RTP over RTSP, 5- RTP over HTTP */
  ClientInfo.sMultiCastIP = NULL;   //Multicast IP. Please set when require to preview in multicast mode.
  BOOL bPreviewBlock = false;
  //whether blocked when requiring a stream connection, 0 means unblocked, 1 means blocked
  lRealPlayHandle = NET_DVR_RealPlay_V30(lUserID, &ClientInfo, g_RealDataCallBack_V30, NULL, 0);
  if (lRealPlayHandle < 0)
  {
      printf("NET_DVR_RealPlay_V30 error\n");
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }
  //---------------------------------------
  //Close preview
  NET_DVR_StopRealPlay(lRealPlayHandle);
  //Logout
  NET_DVR_Logout_V30(lUserID);
  NET_DVR_Cleanup();
  return;
}

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30

NET_DVR_SetPreviewResponseCallBack


NET_DVR_SetStandardDataCallBack

This API is used to set callback function for capturing standard stream.

BOOL NET_DVR_SetStandardDataCallBack(
  LONG                 lRealHandle,
  fStdDataCallBack     cbStdDataCallBack,
  DWORD                dwUser
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
cbStdDataCallBack
[in] Standard stream data callback function
dwUser
[in] User data

Callback Function

typedef void(CALLBACK *fStdDataCallBack)(
  LONG      lRealHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  DWORD     dwUser
);

Callback Function Parameters

lRealHandle
Current preview handle
dwDataType
Data type
Macro Definition | Macro Definition Value | Implication
NET_DVR_SYSHEAD | 1 | System head data
NET_DVR_STD_VIDEODATA | 4 | Standard video stream data
NET_DVR_STD_AUDIODATA | 5 | Standard audio steam data
NET_DVR_PRIVATE_DATA | 2 or 112 | Private data
pBuffer
Buffer pointer to save data
dwBufSize
Buffer size
dwUser
User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This function includes starting and stopping the user to handle the data captured by SDK. When fRealDataCallBack is not NULL, it means SDK will callback the stream data and user can handle the data. When fRealDataCallBack is NULL, it means stop calling back the data and handling the data. The first package called back by the function is a system head of 40 bytes, and it is used to decode the stream data. The afterward data called back is the compressed data stream(include RTP header of 12bytes).
This function currently only supports standard stream data callback from devices that support RTSP protocol.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_SetESRealPlayCallBack

Set live view raw stream frame callback function

BOOL NET_DVR_SetESRealPlayCallBack(
  LONG               iRealHandle,
  fPlayESCallBack    cbPlayESCallBack,
  void               *pUser
);

Parameters

iRealHandle
[in] Return value of NET_DVR_RealPlay_V40
cbPlayESCallBack
[in] Callback function of live view raw frame data, use callback to get raw stream data of each frame
pUser
[in] User data

Callback Function

typedef void(CALLBACK *fPlayESCallBack)(
  LONG                      lPreviewHandle,
  NET_DVR_PACKET_INFO_EX    *pstruPackInfo,
  void                      *pUser
);

Callback Function Parameters

lPreviewHandle
[out] Current live view handle
pstruPackInfo
[out] Raw stream frame data, including frame data, frame type, frame No., and time stamp
pUser
[out] User data

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

  • Interface or operation that may occupy longer time cannot be executed in the callback function, and it is not recommended to call the SDK (HCNetSDK.dll) interface.
  • Get real-time stream data through this interface, and then proceed to frame analysis. Return the analyzed frame data in the callback function, each callback returns one frame of raw stream data (without encapsulation), including frame data, frame type and time stamp. Please note that getting raw stream data through this interface is not supported for private encoded stream or encrypted stream.

See Also

NET_DVR_RealPlay_V40


NET_DVR_SaveRealData

This API is used to capture data and save it into specified file.

BOOL NET_DVR_SaveRealData(
  LONG    lRealHandle,
  char    *sFileName
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
sFileName
[in] File path pointer

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

  • The interface has assigned the file to be downloaded currently. After calling it successfully, it needs to call starting play control command NET_DVR_PLAYSTART of NET_DVR_PlayBackControl_V40 to download the file.
  • For the V5.0.3.2 or later version, if users save videos through the interface, the maximum limit of the file is 1024 MB. If the file is more than 1024 MB, the SDK to abstract it into the new file automatically, the first 40 bytes will written into the file automatically, file name naming rules is "add the digital identity basis on the file name (for example: * _1.Mp4, * _2.Mp4).

See Also

NET_DVR_RealPlay_V40 NET_DVR_StopSaveRealData


NET_DVR_SaveRealData_V30

This API is used to capture encapsulated data by the specified target format into the specified and exsited file.

BOOL NET_DVR_SaveRealData_V30(
  LONG    lRealHandle,
  DWORD   dwTransType,
  char    *sFileName
();

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwTransType
[in] Storage data stream package format, see STREAM_TYPE definition
enum STREAM_TYPE{
  STREAM_PRIVT   = 0x0,
  STREAM_PS    = 0x1,
  STREAM_3GPP  = 0x2
}
STREAM_PRIVT
private file layer, used to transmission
STREAM_PS
PS file layer, mainly used to storage, and also used to transmission
STREAM_3GPP
3GPP file layer, used to storage
sFileName
[in] File path pointer

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

  • This interface is currently effective only when the device support RTSP protocol to take the streaming.
  • For the V5.0.3.2 or later version, if users save videos through the interface, the maximum limit of the file is 1024 MB. If the file is more than 1024 MB, the SDK will abstract it into the new file automatically, file name naming rules is "add the digital identity basis on the file name (for example: * _1.Mp4, * _2.Mp4). Get and set the abstracting mode and max. file byte restriction through NET_DVR_GetSDKLocalCfg, NET_DVR_SetSDKLocalCfg (configuration type: NET_DVR_LOCAL_CFG_TYPE_GENERAL).

    • See Also

    NET_DVR_RealPlay_V40 NET_DVR_StopSaveRealData


NET_DVR_StopSaveRealData

This API is used to stop stream data capture.

BOOL NET_DVR_StopSaveRealData(
  LONG    lRealHandle
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30 NET_DVR_SaveRealData


NET_DVR_SetCapturePictureMode

This API is used to set capture mode.

BOOL NET_DVR_SetCapturePictureMode(
  DWORD    dwCaptureMode
);

Parameters

dwCaptureMode
[in] Capture mode:
enum tagPDC_PARAM_KEY{
  BMP_MODE    = 0,
  JPEG_MODE   = 1
}CAPTURE_MODE
BMP_MODE
BMP
JPEG_MODE
JPEG

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

After setting capture mode through this interface, call live view or playback capture interface to capture pictures. If the capture mode is JPEG, the saving pathetic of captured pictures will end with .jpg, e.g.,sPicFileName="D:\\test.jpg; the same is applied to bmp mode.

See Also

NET_DVR_CapturePictureBlock_New NET_DVR_CapturePicture

NET_DVR_CapturePlaybackPictureBlock_New


NET_DVR_CapturePictureBlock_New

Capture in live view and save in the specified memory.

BOOL NET_DVR_CapturePictureBlock_New(
  LONG     iRealHandle,
  char     *pPicBuf,
  DWORD    dwPicSize,
  DWORD    *lpSizeReturned
);

Parameters

iRealHandle
[in] Live view handle, return of NET_DVR_RealPlay_V40
pPicBuf
[in] Buffer of saving picture data
dwPicSize
[in] Buffer size, assigned buffer memory must be equal to or larger than the picture data size
lpSizeReturned
[out] Actual size of return picture data

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

The interface is for playback blocking mode capture, valid window handle must be input in the playback interface, the interface can only be called for capture when in normal playback. Picture data format supports BMP and JPEG. Set data format through NET_DVR_SetCapturePictureMode.

See Also

NET_DVR_SetCapturePictureMode NET_DVR_RealPlay_V40

NET_DVR_CapturePictureBlock


NET_DVR_CapturePictureBlock

Capture picture in live view and save as picture file

BOOL NET_DVR_CapturePictureBlock(
  LONG           lRealHandle,
  char const     *sPicFileName,
  DWORD          dwTimeOut
);

Parameters

lRealHandle
[in] Live view handle, return value of NET_DVR_RealPlay_V40
sPicFileName
[in] Picture saving path, including file name, e.g., D:/test.bmp or D:/test.jpg
dwTimeOut
[in] Timeout time, currently invalid

Return Values

Return TRUE on success, FALSE on failure. Call to get error code.

Remarks

  • The interface is for live view blocking mode capture, valid window handle must be input in the live view interface, the interface can only be called for capture when in normal playback. Picture data format supports BMP and JPEG. Set data format through NET_DVR_SetCapturePictureMode.

See Also

NET_DVR_SetCapturePictureMode NET_DVR_RealPlay_V40

NET_DVR_CapturePictureBlock_New


NET_DVR_CapturePicture

This API is used to capture a frame and save to BMP file.

BOOL NET_DVR_CapturePicture(
  LONG    lRealHandle,
  char    *sPicFileName
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
sPicFileName
[in] URL of saved picture, and suffix is .bmp, Path length is less than or equal to 256 Byte

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

It supports to call NET_DVR_SetCapturePictureMode to set capture mode, before calling this API to get picture. The default mode is BMP mode.

If the current resolution of device is 2CIF, the resolution of captured bmp picture is 4CIF.

Before calling this API, it requires to call NET_DVR_RealPlay or NET_DVR_RealPlay_V30 firstly and the window handle(hPlayWnd) should be valid. Otherwise, this API will return FALSE (API calling order error).

See Also

NET_DVR_SetCapturePictureMode
NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_ZEROCHANCFG | Get compression parameters of zero channel | valid | NET_DVR_ZEROCHANCFG | 1102
NET_DVR_GET_ZERO_PREVIEWCFG_V30 | Get local preview parameters of zero channel | valid | NET_DVR_PREVIEWCFG_V30 | 1104
NET_DVR_GET_ZERO_ZOOM | Get zoom parameters of zero channel | valid | NET_DVR_ZERO_ZOOMCFG | 1107

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Corresponding structure | Value
NET_DVR_SET_ZEROCHANCFG | Set zero channel compression parameters | valid | NET_DVR_ZEROCHANCFG | 1103
NET_DVR_SET_ZERO_PREVIEWCFG_V30 | Set zero channel local preview parameters | valid | NET_DVR_PREVIEWCFG_V30 | 1105
NET_DVR_SET_ZERO_ZOOM | Set zero channel zoom parameters | valid | NET_DVR_ZERO_ZOOMCFG | 1106

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_ZeroStartPlay

This API is used to start zero channel preview.

LONG NET_DVR_ZeroStartPlay(
  LONG                     lUserID,
  LPNET_DVR_CLIENTINFO     lpClientInfo,
  fRealDataCallBack_V30    cbRealDataCallBack,
  void                     *pUser,
  BOOL                     bBlocked
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpClientInfo
[in] Preview parameter
cbRealDataCallBack
[in] Data stream callback function
pUser
[in] User data
bBlocked
[in] Whether to set data stream requesting process blocked or not: 0-no, 1-yes

Callback Function

typedef void(CALLBACK *fRealDataCallBack_V30)(
  LONG      lRealHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  void      *pUser
);

Callback Function Parameters

lRealHandle
Current preview handle
dwDataType
Data type
Macro Definition | Macro Definition value | Implication
NET_DVR_SYSHEAD | 1 | System head data
NET_DVR_STREAMDATA | 2 | Stream data (include composite stream or video stream data splited with audio)
NET_DVR_AUDIOSTREAMDATA | 3 | Audio data
pBuffer
Buffer pointer to save data
dwBufSize
Buffer size
pUser
User data

Return Values

-1 means false, other values are as handle parameters of functions like NET_DVR_ZeroStopPlay. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to realize live view. It supports to set current operation to be blocked or not (by the parameter: bBlocked). If set to be unblocked, it means it will think the connection is successful when start to connect with the device. If failed to receive stream and play, it will notify the upper layer by preview exception mode. And it can reduce dwell time of loop play, the same to NET_DVR_RealPlay. If set to be blocked, it means it will return whether successful or not after playing operation.

The callback function of this API can be set to NULL, and it will not callback the stream data to user. And then user can call NET_DVR_SetRealDataCallBack or NET_DVR_SetStandardDataCallBack to register callback function to capture stream data.

See Also

NET_DVR_ZeroStopPlay
NET_DVR_GetRealPlayerIndex NET_DVR_RigisterDrawFun NET_DVR_SetPlayerBufNumber
NET_DVR_SetRealDataCallBack
NET_DVR_SaveRealData NET_DVR_StopSaveRealData


NET_DVR_ZeroStopPlay

This API is used to stop preview of zero channel.

BOOL NET_DVR_ZeroStopPlay(
  LONG    lPlayHandle
);

Parameters

lPlayHandle
[in] Preview handle, the return value of NET_DVR_ZeroStartPlay

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_ZeroStartPlay


NET_DVR_ZeroMakeKeyFrame

This API is used to Zero channel produce a key frame of zero channel.

BOOL NET_DVR_ZeroMakeKeyFrame(
  LONG    lUserID,
  LONG    lZeroChan
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lZeroChan
[in] Zero channel number, add start channel number(start from 1)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_ZeroTurnOver

This API is used to preview picture pages of zero channel .

BOOL NET_DVR_ZeroTurnOver(
  LONG     lUserID,
  DWORD    lChannel,
  BOOL     bNextPreview
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Zero channel number, add start channel number(start from 1)
bNextPreview
[in] Page up or down: TRUE- next page; FALSE- previous page

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_InquiryRecordTimeSpan

This API is used to get the video's starting time and stopping time of the channel.

BOOL NET_DVR_InquiryRecordTimeSpan(
  LONG                                  lUserID,
  DWORD                                 dwChannel,
  LPNET_DVR_RECORD_TIME_SPAN_INQUIRY    lpInquiry,
  LPNET_DVR_RECORD_TIME_SPAN            lpResult
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwChannel
[in] Channel number
lpInquiry
[in] Query condition
lpResult
[in] Query result

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_UpdateRecordIndex

This API is used to instantly refresh the record index.

BOOL NET_DVR_UpdateRecordIndex(
  LONG    lUserID,
  DWORD   dwChannel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwChannel
[in] Channel number

Remarks

It is related with channel, and requires the support by the device. The device refresh the index default every 2 minutes.

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_FindFile_V40

This API is used to search record files by file type and time.

LONG NET_DVR_FindFile_V40(
  LONG                      lUserID,
  LPNET_DVR_FILECOND_V40    pFindCond
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pFindCond
[in] The structure of file information to be found

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_FindClose and other APIs. Please call NET_DVR_GetLastError to get the error code.

Remarks

The interface has assigned the file type and time-range to search. After calling it successfully, please call NET_DVR_FindNextFile_V30 to get file information.

See Also

NET_DVR_FindNextFile_V30 NET_DVR_FindClose_V30

Reference Interface

NET_DVR_FindFile_V30


NET_DVR_FindNextFile_V30

This API is used to get record file one by one.

LONG NET_DVR_FindNextFile_V30(
  LONG                      lFindHandle,
  LPNET_DVR_FINDDATA_V30    lpFindData
);

Parameters

lFindHandle
[in] Handle of file searching, return value of NET_DVR_FindFile_V30
lpFindData
[out] Pointer for saving file information

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get the file information successfully
NET_DVR_FILE_NOFIND | 1001 | No file found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more file found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when search file

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

Before calling this function, please call NET_DVR_FindFile_V30 to get current handle firstly. The interface only supports to get one file. We should call the interface repetitively to get all files. We can get other information, like card number and whether the file is locked, by calling this API as well.

See Also

NET_DVR_FindFile_V30

Reference Interface

NET_DVR_FindNextFile


NET_DVR_FindNextFile_V40

This API is used to get record file one by one.

LONG NET_DVR_FindNextFile_V30(
  LONG                      lFindHandle,
  LPNET_DVR_FINDDATA_V40    lpFindData
);

Parameters

lFindHandle
[in] Handle of file searching, return value of NET_DVR_FindFile_V30 or NET_DVR_FindFile_V40
lpFindData
[out] Pointer for saving file information

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get the file information successfully
NET_DVR_FILE_NOFIND | 1001 | No file found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more file found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when search file

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

Before calling this function, please call NET_DVR_FindFile_V40 to get current handle firstly. The interface only supports to get one file. We should call the interface repetitively to get all files. We can get other information, like card number and whether the file is locked, by calling this API as well.

See Also

NET_DVR_FindFile_V40

Reference Interface

NET_DVR_FindNextFile_V30


NET_DVR_FindClose_V30

This API is used to close file search and release the resource.

BOOL NET_DVR_FindClose_V30(
  LONG   lFindHandle
);

Parameters

lFindHandle
[in] The handle of file search, the return value of NET_DVR_FindFile_V40, NET_DVR_FindFileByEvent, or NET_DVR_FindFile_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

See Also

NET_DVR_FindFile_V40 NET_DVR_FindFile_V30 NET_DVR_FindFileByEvent

Reference Interface

NET_DVR_FindClose


NET_DVR_FindFileByCard

This API is used to search record files by file type, time and card number.

LONG NET_DVR_FindFileByCard(
  LONG               lUserID,
  LONG               lChannel,
  DWORD              dwFileType,
  BOOL               bNeedCardNum,
  BYTE               *sCardNumber,
  LPNET_DVR_TIME     lpStartTime,
  LPNET_DVR_TIME     lpStopTime
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwFileType
[in] The file type to be found: 0xff – all, 0 – scheduled recording, 1 – motion detection, 2 – approaching alarm, 3 - cash out alarm, 4 - cash in alarm, 7 - vibration alarm, 8-environment alarm; 9-intelligent alarm
bNeedCardNum
[in] Find type:
0- not use card number
1- search by card number, and sCardNumber is the card number
2- search by transaction type, and the first byte of sCardNumber:
inquiry: 0x31
withdrawal: 0x32
change password: 0x33
transfer: 0x34
deposit: 0x35
unknown:0x36

3- search by transaction amount, and sCardNumber is transaction amount
sCardNumberr
[in] Credit card information
lpStartTime
[in] Start time
lpStopTime
[in] End time

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_FindClose. Please call NET_DVR_GetLastError to get the error code.

Remarks

The interface has assigned the file type, time-range and card number to search. After calling it successfully, we can call NET_DVR_FindNextFile to get file information.

See Also

NET_DVR_FindNextFile NET_DVR_FindClose


NET_DVR_FindFileByEvent

This API is used to search record files by event.

LONG NET_DVR_FindFileByEvent(
  LONG                            lUserID,
  LPNET_DVR_SEARCH_EVENT_PARAM    lpSearchEventParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpSearchEventParam
[in] The structure of file information to be found

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_FindNextEvent. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOENOUGHPRI | 2 | Not authorized to do this operation.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_CHANNEL_ERROR | 4 | Channel number error. There is no corresponding channel number on the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NODISK | 19 | No hard disk on the device, and the operation of recording and hard disk configuration will fail.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

The interface has assigned the searching condition to search (event type). After calling it successfully, we can call NET_DVR_FindNextEvent to get file information. The searched record files by event are given by start time and end time, so it supports only playback by time by calling NET_DVR_PlayBackByTime.

See Also

NET_DVR_FindNextEvent NET_DVR_FindClose_V30


NET_DVR_FindNextEvent

This API is used to get the record file searched by event one by one.

LONG NET_DVR_FindNextEvent(
  LONG                          lFindHandle,
  LPNET_DVR_SEARCH_EVENT_RET    lpSearchEventRet
);

Parameters

lFindHandle
[in] Handle of file searching, return value of NET_DVR_FindFileByEvent
lpSearchEventRet
[out] Pointer for saving file info

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get file info successfully
NET_DVR_FILE_NOFIND | 1001 | No file found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more file found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when searching file

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

Before calling this function, please call NET_DVR_FindFileByEvent to get the handle first. The record file by event is given by start time and end time, so it supports only playback by time by calling NET_DVR_PlayBackByTime.

See Also

NET_DVR_FindFileByEvent


NET_DVR_SmartSearch

This API is used to start smart search.

LONG NET_DVR_SmartSearch(
  LONG                            lUserID,
  LPNET_DVR_SMART_SEARCH_PARAM    lpSmartSearchParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpSmartSearchParam
[in] smart search parameter structure

Return Values

Return -1 if it is failed, and the other return value will be used as the input parameter of API NET_DVR_SearchNextInfo, or NET_DVR_StopSearch, etc.

Please call NET_DVR_GetLastError to get the error code. The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOENOUGHPRI | 2 | Not authorized to do this operation.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_CHANNEL_ERROR | 4 | Channel number error. There is no corresponding channel number on the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NODISK | 19 | No hard disk on the device, and the operation of recording and hard disk configuration will fail.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

Please call NET_DVR_SearchNextInfo afterwards to get the search reault. It only supports playback by time mode (NET_DVR_PlayBackByTime).

See Also

NET_DVR_SearchNextInfo NET_DVR_StopSearch
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SearchNextInfo

This API is used to obtain the next area motion detection information.

LONG NET_DVR_SearchNextInfo(
  LONG                          lSearchHandle,
  LPNET_DVR_SMART_SEARCH_RET    lpSmartSearchRet
);

Parameters

lSearchHandle
[in] Search handle, the return value of NET_DVR_SmartSearch
lpSmartSearchRet
[out] Pointer to store search results information

Return Values

Return -1 if it is failed, and other values mean information like current capture status. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Obtain file information successfully
NET_DVR_FILE_NOFIND | 1001 | Searched no files
NET_DVR_ISFINDING | 1002 | Waiting for the searching process
NET_DVR_NOMOREFILE | 1003 | No more files, search complished
NET_DVR_FILE_EXCEPTION | 1004 | Throw exceptions when searching files

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

Before calling this interface, please call NET_DVR_SmartSearch first to get the search handle. Please set start time and finish time by specific vedio files. This API only supports playback by time NET_DVR_PlayBackByTime.

See Also

NET_DVR_SmartSearch


NET_DVR_StopSearch

This API is used to stop intelligent search.

BOOL NET_DVR_StopSearch(
  LONG   lSearchHandle
);

Parameters

lSearchHandle
[in] Search handle, the return value of NET_DVR_SmartSearch

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

See Also

NET_DVR_SmartSearch


NET_DVR_PlayBackByName

This API is used to playback by file name.

LONG NET_DVR_PlayBackByName(
  LONG    lUserID,
  char    *sPlayBackFileName,
  HWND    hWnd
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sPlayBackFileName
[in] Playback file name, length less than 100 bytes
hWnd
[in] Handle of playback window. If set to NULL, SDK still can receive stream data, but not decode and display.

Return Values

Return -1 if it is failed, and other values could be used as parameter of NET_DVR_StopPlayBack. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_OVER_MAXLINK | 5 | The number of clients connected to the device has exceeded the max limit.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSPECFILE | 33 | There is no selected file for playback.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_LOADPLAYERSDKFAILED | 64 | Failed to load the player SDK.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKFAILED | 66 | Failed to load the library file-"DsSdk".
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

This interface assigns the current record file to play. After calling the interface successfully, it needs to call the interface NET_DVR_PlayBackControl_V40 with the command NET_DVR_PLAYSTART to start playback.
After calling the interface successfully, you can register callback function by calling NET_DVR_SetPlayDataCallBack_V40, capture the stream data and handle by yourself.

In Linux system

For v4.1 SDK or above version,HWND means the handle of playing window, defined as below:
typedef unsigned int HWND;

If you use the Qt interface development, here take an example:

NET_DVR_CLIENTINFO tmpclientinfo;
tmpclientinfo.hPlayWnd = (HWND)m_framePlayWnd->GetPlayWndId();

For the SDK under v4.1, HWND is defined as below:

typedef struct __PLAYRECT
{
int x; //X axis coordinate of the display region’s upper left corner
int y; //Y axis coordinate of the display region’s upper left corner
int uWidth; //Width of the display region
int uHeight; //Height of the display region
}PLAYRECT;
typedef PLAYRECT HWND;

For the structure NET_DVR_CLIENTINFO, if hPlayWnd = {0}, SDK can still get stream but not decode and display, so it is able to record on the client end. It is not able to set hPlayWnd = 0(that is, NULL), or it will result to crumble when calling hPlayWnd.x.

For SDK development in Linux, input valid window handle in live view interface. During live view, when changing window size, call NET_DVR_PlayBackControl_V40(Command: NET_DVR_CHANGEWNDRESOLUTION) to notify the player SDK to get the window size. For Windows, the process is self-adaptive.

See Also

NET_DVR_PlayBackControl_V40 NET_DVR_StopPlayBack NET_DVR_SetPlayDataCallBack_V40
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_PlayBackByTime_V40

This API is used to playback by stream ID and time.

LONG NET_DVR_PlayBackByTime_V40(
  LONG                  lUserID,
  LPNET_DVR_VOD_PARA    pVodPara
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pVodPara
[in] Searching condition

Return Values

Return -1 if it is failed, and other values could be used as parameter of NET_DVR_StopPlayBack. Please call NET_DVR_GetLastError to get the error code.

Remarks

  • This interface assigns the record file to play currently. After calling the API successfully, it requries to call the NET_DVR_PlayBackControl_V40 with the command NET_DVR_PLAYSTART to start playback. When the record files to playback are searched by event, for each file has pre-record and delay part, please extend the end time and ahead the starting time to playback. The recommended value: bup to 10 minutes, at least 5 seconds. After calling the API successfully, you can register callback function by calling NET_DVR_SetPlayDataCallBack_V40, capture the stream data and handle by yourself.
  • If loading player SDK failed after play handle is input in the interface, the actual result is failure but the interface will return success. The errors will be called back through exception (NET_DVR_SetExceptionCallBack_V30), exception message type: EXCEPTION_PLAYBACK, for details call NET_DVR_GetLastError.
  • For SDK development in Linux, input valid window handle in live view interface. During live view, when changing window size, call NET_DVR_PlayBackControl_V40(Command: NET_DVR_CHANGEWNDRESOLUTION) to notify the player SDK to get the window size. For Windows, the process is self-adaptive.

    • See Also

    NET_DVR_PlayBackControl_V40 NET_DVR_StopPlayBack NET_DVR_SetPlayDataCallBack_V40
    NET_DVR_Login NET_DVR_Login_V30

    Reference Interface

    NET_DVR_PlayBackByTime


NET_DVR_PlayBackReverseByName

This API is used to reversely playback the video by file name.

LONG NET_DVR_PlayBackReverseByName(
  LONG    lUserID,
  char    *sPlayBackFileName,
  HWND    hWnd
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sPlayBackFileName
[in] Playback file name, length less than 100 bytes
hWnd
[in] Handle of playback window. If set to NULL, SDK still can receive stream data, but not decode and display.

Return Values

Return -1 if it is failed, and other values could be used as parameter of NET_DVR_StopPlayBack. Please call NET_DVR_GetLastError to get the error code.

Remarks

This interface assigns the current record file to play. After calling the interface successfully, it needs to call the interface NET_DVR_PlayBackControl_V40 with the command NET_DVR_PLAYSTART to start playback.
After calling the interface successfully, you can register callback function by calling NET_DVR_SetPlayDataCallBack_V40, capture the stream data and handle by yourself.

See Also

NET_DVR_PlayBackControl_V40 NET_DVR_StopPlayBack NET_DVR_SetPlayDataCallBack_V40
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_PlayBackReverseByTime_V40

This API is used to reversely playback video by time.

LONG NET_DVR_PlayBackReverseByTime_V40(
  LONG                  lUserID,
  HWND                  hWnd,
  LPNET_DVR_PLAYCOND    pPlayCond
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
hWnd
[in] Playback window hanle
pPlayCond
[in] Playback condition

Return Values

Return -1 if it is failed, and other values could be used as parameter of NET_DVR_StopPlayBack. Please call NET_DVR_GetLastError to get the error code.

Remarks

This interface assigns the time of the video to play currently. After calling the API successfully, it requries to call the NET_DVR_PlayBackControl_V40 with the command NET_DVR_PLAYSTART to start playback.

After calling the API successfully, you can register callback function by calling NET_DVR_SetPlayDataCallBack_V40, capture the stream data and handle by yourself.

See Also

NET_DVR_PlayBackControl_V40 NET_DVR_StopPlayBack NET_DVR_SetPlayDataCallBack_V40
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_PlayBackControl_V40

This API is used to control playback status.

BOOL NET_DVR_PlayBackControl_V40(
  LONG     lPlayHandle,
  DWORD    dwControlCode,
  LPVOID   lpInBuffer,
  DWORD    dwInLen,
  LPVOID   lpOutBuffer,
  DWORD    *lpOutLen
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName, NET_DVR_PlayBackByTime_V40, NET_DVR_PlayBackReverseByName, or NET_DVR_PlayBackReverseByTime_V40
dwControlCode
[in] Control video playback status commands:
Macro Definition | Value | Implication
NET_DVR_PLAYSTART | 1 | Start playing
NET_DVR_PLAYPAUSE | 3 | Pause
NET_DVR_PLAYRESTART | 4 | Macro Definition Resume play
NET_DVR_PLAYFAST | 5 | Fast
NET_DVR_PLAYSLOW | 6 | Slow
NET_DVR_PLAYNORMAL | 7 | Normal speed (resume the speed before after pause)
NET_DVR_PLAYFRAME | 8 | Play frame one by one (using the command NET_DVR_PLAYNORMAL to resume normal playback)
NET_DVR_PLAYSTARTAUDIO | 9 | Open sound
NET_DVR_PLAYSTOPAUDIO | 10 | Close sound
NET_DVR_PLAYAUDIOVOLUME | 11 | Adjust the volume
NET_DVR_PLAYSETPOS | 12 | Change the progress of the file playback
NET_DVR_PLAYGETPOS | 13 | Get the progress of the file playback
NET_DVR_PLAYGETTIME | 14 | Get currently played time(valid when playing back by file)
NET_DVR_PLAYGETFRAME | 15 | Get currently played frames(valid when playing back by file)
NET_DVR_GETTOTALFRAMES | 16 | Get currently total frames(valid when playing back by file)
NET_DVR_GETTOTALTIME | 17 | Get currently total time(valid when playing back by file)
NET_DVR_THROWBFRAME | 20 | Throw B frame
NET_DVR_SETSPEED | 24 | Set speed of stream
NET_DVR_KEEPALIVE | 25 | Keep heartbeat with device (If the callback blocked, suggest setting 2s to send one time)
NET_DVR_PLAYSETTIME | 26 | Positioning by absolute time
NET_DVR_PLAYGETTOTALLEN | 27 | Get total length of all files in corresponding time period of playback by time
NET_DVR_PLAY_FORWARD | 29 | Switch rewind to forward playback
NET_DVR_PLAY_REVERSE | 30 | Switch forward playback to rewind (IPC doesn't support it)
NET_DVR_SET_TRANS_TYPE | 32 | Set type of transcode
NET_DVR_PLAY_CONVERT | 33 | Convert stream format when playback, should be call before NET_DVR_PLAYSTART
NET_DVR_START_DRAWFRAME | 34 | Start frame extracting playback
NET_DVR_STOP_DRAWFRAME | 35 | Stop frame extracting playback
NET_DVR_CHANGEWNDRESOLUTION | 36 | Send notice to player SDK when changes happen in window (only applicable in Linux)
lpInBuffer
[in] Pointer to input parameter
dwInLen
[in] Length of input paramter
lpOutBuffer
[out] Pointer to output parameter
lpOutLen
[out] Length of output parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_OVER_MAXLINK | 5 | The number of clients connected to the device has exceeded the max limit.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_NOSPECFILE | 33 | There is no selected file for playback.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_LOADPLAYERSDKFAILED | 64 | Failed to load the player SDK.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKFAILED | 66 | Failed to load the library file-"DsSdk".
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

Whether the third parameter of this interface need to input value has affairs with the control commands, details refer to the following table. Specially, when control command is starting play(NET_DVR_PLAYSTART), the third parameter value means offset value of current played file, if this value is 0 means play from the file start location, if this value isn't 0 means ANR file location (Byte).

When command value is NET_DVR_PLAYGETPOS, to get file playback or download progress, 0-100 means normal progress value, value larger than 100 means playback or download is abnormal.

When getting the progress of playback or download by time, DS-91xxHF-ST/DS-90xxHF-ST/DS-96xxHF-ST/DS-81xxHF-ST supports to get the progress of 0~100 and 200(exception), and other devices can get the progress of 0, 100(finished), and 200(exception).

When you set the transcode type, NET_DVR_SET_TRANS_TYPE should be called before NET_DVR_PLAYSTART

Status command Macro Definition | Status command caption | lpInBuf | lpOutBuf
NET_DVR_PLAYSTART | Start playing | A 4-byte integer offset, through which to realize ANR function | None
NET_DVR_PLAYSETPOS | Change playback progress(valid in playback by file) | A 4-byte integer progress(0-100) | None
NET_DVR_PLAYGETPOS | Get playback progress | None | A 4-byte integer progress, 0 to 100 means normal progress value (100 to 0 for reverse), value over 100 means playback exception. For playback by time, only supporting getting progress value: 0, 100 (end), 200 (exception)
NET_DVR_PLAYGETTIME | Get currently played time (valid when playing back by file, not supported in reverse) | None | A 4-byte integer time value
NET_DVR_PLAYGETFRAME | Get currently played frames (valid when playing back by file, not supported in reverse) | None | A 4-byte integer frame number
NET_DVR_GETTOTALFRAMES | Get total frames current playing file (valid when playing back by file) | None | A 4-byte integer frame number
NET_DVR_GETTOTALTIME | Get total time of current playing file (valid when playing back by file) | None | A 4-byte integer time value
NET_DVR_THROWBFRAME | Throw B frame | 4-byte integer, total number of B frames | None
NET_DVR_SETSPEED | Set speed of stream | A 4-byte integer speed value | None
NET_DVR_PLAYSETTIME | Locate playback by absolute time | NET_DVR_TIME | None
NET_DVR_PLAYGETTOTALLEN | Get total length of all files in corresponding time period of playback by time | None | A 8-byte integer length value
NET_DVR_PLAY_FORWARD | Switch rewind to forward playback | If decoded by user at the application layer, lpInBuffer should input NET_DVR_TIME and it means the current playing time; If decoded by the SDK directly, lpInBuffer could be set as NULL | None
NET_DVR_PLAY_REVERSE | Switch forward playback to rewind | If decoded by user at the application layer, lpInBuffer should input NET_DVR_TIME and it means the current playing time; If decoded by the SDK directly, lpInBuffer could be set as NULL | None
NET_DVR_SET_TRANS_TYPE | Set type of encapsulation (call before NET_DVR_PLAYSTART) | One transcode type with 4 bytes: 1- PS, 2- TS, 3- RTP, 5- MP4 (3GPP, only supported by playback by file) | None
NET_DVR_PLAY_CONVERT | Playback transcode (call before NET_DVR_PLAYSTART) | NET_DVR_COMPRESSION_INFO_V30 | None
NET_DVR_START_DRAWFRAME | Start frame-extracting playback | NET_DVR_VOD_DRAWFRAME_PARA or NET_DVR_TIME_EX | None
NET_DVR_STOP_DRAWFRAME | Stop frame-extracting playback | NET_DVR_TIME_EX | None
NET_DVR_CHANGEWNDRESOLUTION | Send notice to player SDK when changes happen in window (only applicable in Linux) | None | None

  • To start and stop frame extracting with NET_DVR_START_DRAWFRAME, NET_DVR_STOP_DRAWFRAME in playback, send current playback OSD time to device. If window handle is not inout in playback window to call back streaming and decoding, it is recommended to call related interfaces to clear player SDK cache to avoid delay. Correct length must be input in dwInLen in frame-extracting playback, when dwInLen is the structure size of NET_DVR_TIME_EX, process according to NET_DVR_TIME_EX, and the same apllies to NET_DVR_VOD_DRAWFRAME_PARA.
  • For SDK development in Linux, input valid window handle in live view interface. During live view, when changing window size, call this interface and NET_DVR_CHANGEWNDRESOLUTION to notify the player SDK to get the window size. For Windows, the process is self-adaptive.

    • See Also

    NET_DVR_PlayBackByName NET_DVR_PlayBackByTime_V40

    NET_DVR_PlayBackReverseByName NET_DVR_PlayBackReverseByTime_V40

    Reference Interface

    NET_DVR_PlayBackControl


NET_DVR_StopPlayBack

This API is used to stop playback record file.

BOOL NET_DVR_StopPlayBack(
  LONG    lPlayHandle
);

Parameters

lPlayHandle
[in] Playback handle,The return value of NET_DVR_PlayBackByName, NET_DVR_PlayBackByTime_V40, NET_DVR_PlayBackReverseByName or NET_DVR_PlayBackReverseByTime_V40
PUSH MODE: playback handle(lStreamHandle), output parameter in the callback function set by NET_DVR_SetPlaybackResponseCallBack

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKPROC_ERROR | 67 | Can not find the API in "DsSdk".

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime_V40

NET_DVR_PlayBackReverseByName NET_DVR_PlayBackReverseByTime_V40

NET_DVR_SetPlaybackResponseCallBack


NET_DVR_PlayBackSaveData

This API is used to capture video data of playback, and save it into file.

BOOL NET_DVR_PlayBackSaveData(
  LONG    lPlayHandle,
  char    *sFileName
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime
sFileName
[in] File path to save data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_CREATEFILE_ERROR | 34 | Failed to create a file, during local recording, saving picture, getting configuration file or downloading record file.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.

Remarks

For the V5.0.3.2 or later version, if users save videos through the interface, the maximum limit of the file is 1024 MB. If the file is more than 1024 MB, the SDK will abstract it into the new file automatically, file name naming rules is "add the digital identity basis on the file name (for example: * _1.Mp4, * _2.Mp4). Get and set the abstracting mode and max. file byte restriction through NET_DVR_GetSDKLocalCfg, NET_DVR_SetSDKLocalCfg (configuration type: NET_DVR_LOCAL_CFG_TYPE_GENERAL).

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime


NET_DVR_StopPlayBackSave

This API is used to stop saving record data.

BOOL NET_DVR_StopPlayBackSave(
  LONG     lPlayHandle
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime


NET_DVR_SetPlayDataCallBack_V40

This API is used to register callback function and capture record data.

BOOL NET_DVR_SetPlayDataCallBack_V40(
  LONG                     lPlayHandle,
  fPlayDataCallBack_V40    cbPlayDataCallBack,
  void                     *pUser
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName, NET_DVR_PlayBackByTime_V40, NET_DVR_PlayBackReverseByName or NET_DVR_PlayBackReverseByTime_V40
fPlayDataCallBack
[in] Record data callback function
pUser
[in] User data

Callback Function

typedef void(CALLBACK *fPlayDataCallBack_V40)(
  LONG      lPlayHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  void      *pUser
);

Callback Function Parameters

lPlayHandle
Current playback handle
dwDataType
Data type
Macro Definition | Value | Implication
NET_DVR_SYSHEAD | 1 | System head data
NET_DVR_STREAMDATA | 2 | Stream data(compound stream or only video stream )
NET_DVR_CHANGE_FORWARD | 10 | Stream changed to forward play
NET_DVR_CHANGE_REVERSE | 11 | Stream changed to reverse play
pBuffer
Buffer pointer for stroing data
dwBufSize
Buffer size
pUser
User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This function includes starting and stopping user to handle the data captured by SDK. When the callback function cbPlayDataCallback is set to not NULL value, it indicates to callback and process the data; when set to NULL, it indicates to stop callback and handle the data. The first callback package is a system head of 40 bytes, used for following decoding. Then, after the system head, the callback data is compressed stream data.

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime_V40

NET_DVR_PlayBackReverseByName NET_DVR_PlayBackReverseByTime_V40

Reference Interface

NET_DVR_SetPlayDataCallBack


NET_DVR_SetPlayBackESCallBack

Register playback raw stream data callback function

BOOL NET_DVR_SetPlayDataCallBack_V40(
  LONG               lPlayHandle,
  fPlayESCallBack    cbPlayESDataCallBack,
  void               *pUser
);

Parameters

lPlayHandle
[in] Play handle, return value of NET_DVR_PlayBackByName, NET_DVR_PlayBackByTime_V40 or NET_DVR_PlayBackReverseByName, NET_DVR_PlayBackReverseByTime_V40
cbPlayESDataCallBack
[in] Playback raw stream data callback function, used to get raw stream data of each frame
pUser
[in] User data

Callback Function

typedef void(CALLBACK *fPlayESCallBack)(
  LONG                      lPlayHandle,
  NET_DVR_PACKET_INFO_EX    *struPackInfo,
  void                      *pUser
);

Callback Function Parameters

lPlayHandle
[out] Current recording play handle
struPackInfo
[out] Raw stream frame data, including frame data, frame type, frame No. and time stamp
pUser
[out] User data

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

  • Interface or operation that may occupy longer time cannot be executed in the callback function, and it is not recommended to call the SDK (HCNetSDK.dll) interface.
  • Get recording stream data through this interface, and then proceed to frame analysis. Return the analyzed frame data in the callback function, each callback returns one frame of raw stream data (without encapsulation), including frame data, frame type and time stamp. Please note that getting raw stream data through this interface is not supported for private encoded stream or encrypted stream.

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime_V40

NET_DVR_PlayBackReverseByName NET_DVR_PlayBackReverseByTime_V40


NET_DVR_CapturePlaybackPictureBlock_New

Capture in playback and save in specified memory

BOOL NET_DVR_CapturePlaybackPictureBlock_New(
  LONG     lPlayHandle,
  char     *pPicBuf,
  DWORD    dwPicSize,
  DWORD    *lpSizeReturned
);

Parameters

lPlayHandle
[in] Play handle, return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime_V40
pPicBuf
[in] Buffer of saving picture data
dwPicSize
[in] Buffer size, assigned buffer memory must be equal to or larger than the picture data size
lpSizeReturned
[out] Actual size of returned picture data

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

The interface is for playback blocking mode capture, valid window handle must be input in the playback interface, the interface can only be called for capture when in normal playback. Picture data format supports BMP and JPEG (set data format through NET_DVR_SetCapturePictureMode), and supports capture picture data in paused playback.

See Also

NET_DVR_SetCapturePictureMode NET_DVR_PlayBackByName NET_DVR_PlayBackByTime_V40


NET_DVR_GetPlayBackOsdTime

This API is used to get displayed OSD time in playback.

BOOL NET_DVR_GetPlayBackOsdTime(
  LONG              lPlayHandle,
  LPNET_DVR_TIME    lpOsdTime
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime
lpOsdTime
[out] The pointer of the got OSD time

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime


NET_DVR_PlayBackCaptureFile

This API is used to capture pictures when playing back, and save them into files.

BOOL NET_DVR_PlayBackCaptureFile(
  LONG    lPlayHandle,
  char    *sFileName
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime
sFileName
[in] File path to saving picture data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime


NET_DVR_RefreshPlay

This API is used to refresh and display the playback window.

BOOL NET_DVR_RefreshPlay(
  LONG    lPlayHandle
);

Parameters

lPlayHandle
[in] Playback handle, the return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.

Remarks

When pausing the playback or playing back frame one by one, if refresh window, the image in the window will disappear. Please call this interface to display the last frame again. This interface is valid only for pausing the playback or playing back frame one by one

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime


NET_DVR_GetPlayBackPlayerIndex

This API is used to get the handle of player port for decoding display when playback.

int NET_DVR_GetPlayBackPlayerIndex(
  LONG    lPlayHandle
);

Parameters

lPlayHandle
[in] Handle of playback. The return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime

Return Values

Return -1 if it is failed, and other returned values could be used as the play handle. Please call NET_DVR_GetLastError to get the error code.

Remarks

User can realize other functions supported by player SDK by this returned handle. For example:

When using PlayM4_GetBMP(LONG nPort,……), PlayM4_GetJPEG(LONG nPort,……),

you can do like following:

PlayM4_GetBMP(NET_DVR_GetPlayBackPlayerIndex(),……)

PlayM4_GetJPEG(NET_DVR_GetPlayBackPlayerIndex(),……)

We can capture picture and save the data to memory.

Please refer Player SDK Programmer Manual for details.

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime


NET_DVR_GetFileByName

This API is used to download by file name.

LONG NET_DVR_GetFileByName(
  LONG    lUserID,
  char    *sDVRFileName,
  char    *sSavedFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sDVRFileName
[in] The file name to be downloaded, the size of file name should be less than 100 bytes
sSavedFileName
[in] The files name saved in the computer after downloaded, it should be absolute path

Return Values

Return -1 if it is failed, and other values could be used as the parameter of functions NET_DVR_StopGetFile. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOENOUGHPRI | 2 | Not authorized to do this operation.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_CHANNEL_ERROR | 4 | Channel number error. There is no corresponding channel number on the device.
NET_DVR_OVER_MAXLINK | 5 | The number of clients connected to the device has exceeded the max limit.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_NOSPECFILE | 33 | There is no selected file for playback.
NET_DVR_CREATEFILE_ERROR | 34 | Failed to create a file, during local recording, saving picture, getting configuration file or downloading record file.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

Before calling this interface to download file, we can call the interface of searching record file to get file name. The interface have assigned the file to be downloaded currently. After calling it successfully, it needs to call starting play control command NET_DVR_PLAYSTART of NET_DVR_PlayBackControl_V40 to download file.

See Also

NET_DVR_PlayBackControl_V40 NET_DVR_StopGetFile
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetFileByTime_V40

This API is used to download video by time.

LONG NET_DVR_GetFileByTime_V40(
  LONG                  lUserID,
  char                  *sSavedFileName,
  LPNET_DVR_PLAYCOND    pDownloadCond
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sSavedFileName
[in] The files name saved in the computer after downloaded, it should be absolute path
pDownloadCond
[in] Downloading condition

Return Values

Return -1 if it is failed, and other values could be used as the parameter of functions NET_DVR_StopGetFile. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_OVER_MAXLINK | 5 | The number of clients connected to the device has exceeded the max limit.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_CREATEFILE_ERROR | 34 | Failed to create a file, during local recording, saving picture, getting configuration file or downloading record file.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

  • The interface has assigned the file to be downloaded currently. After calling it successfully, it needs to call starting play control command NET_DVR_PLAYSTART of NET_DVR_PlayBackControl_V40 to download the file.
  • For the v5.0.3.2 or later version, if users save videos through the interface, the maximum limit of the file is 1024 MB. If the file is more than 1024 MB, the SDK will abstract it into the new file automatically, file name naming rules is "add the digital identity basis on the file name (for example: * _1.Mp4, * _2.Mp4).Get and set the abstracting mode and max. file byte restriction through NET_DVR_GetSDKLocalCfg, NET_DVR_SetSDKLocalCfg (configuration type: NET_DVR_LOCAL_CFG_TYPE_GENERAL).

See Also

NET_DVR_PlayBackControl_V40 NET_DVR_StopGetFile
NET_DVR_Login NET_DVR_Login_V40

Reference Interface

NET_DVR_GetFileByTime


NET_DVR_PlayBackControl_V40

This API is used to control download status.

BOOL NET_DVR_PlayBackControl_V40(
  LONG     lPlayHandle,
  DWORD    dwControlCode,
  LPVOID   lpInBuffer
  DWORD    dwInLen,
  LPVOID   lpOutBuffer,
  DWORD    *lpOutLen
);

Parameters

lPlayHandle
[in] Download handle, the return value of NET_DVR_GetFileByName or NET_DVR_GetFileByTime_V40
dwControlCode
[in] The command of download control:
Macro Definition | Value | Implication
NET_DVR_PLAYSTART | 1 | Start to download
NET_DVR_PLAYPAUSE | 3 | Pause
NET_DVR_PLAYRESTART | 4 | Resume
NET_DVR_PLAYSETPOS | 12 | Set the progress of the file downloading (not support downloading by time)
NET_DVR_PLAYGETPOS | 13 | Get the downloading progress (by filename or by time)
NET_DVR_GETTOTALFRAMES | 16 | Get the total number of frames of the file downloaded currently(valid when downloading by filename)
NET_DVR_GETTOTALTIME | 17 | Get the total time of the file downloaded currently(valid when downloading by filename)
NET_DVR_SET_TRANS_TYPE | 32 | Set transcoding type
lpInBuffer
[in] Pointer to input parameter
dwInLen
[in] Length of input paramter
lpOutBuffer
[out] Pointer to output parameter
lpOutLen
[out] Pointer to output parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Whether it requires to input the third parameter is related to the control command, and please refer to the following list.

If dwControlCode is NET_DVR_PLAYSTART, the value of third parameter means the offset of the file to be downloaded currently. If the value equals to 0, it means to download the file from the beginning; and if not equal to 0, it means the position to resume broken downloading(unit:Byte). It requires the support of the device to set the offset, such as DS-90xx and DS-81xx series DVRs

If dwControlCode is NET_DVR_PLAYGETPOS, the API is called to get the progress of downloading: 0~100 mean the normal progress value and the value >100 means the downloading is abnormal.

class="style1">If to get the progress of downloading by time, except DS-91xx/81xxHF-ST, DS-90xx/80xxHF-ST and DS-96xx/86xxN-ST support to get the progress: 0~100 and 200(abnormal), other devices supports only to get the progerss: 0(beginning), 100(ending) and 200(abnormal).

When you set the transcode type, NET_DVR_SET_TRANS_TYPE should be called before NET_DVR_PLAYSTART

Macro Definition | Implication | lpInBuf | lpOutBuf
NET_DVR_PLAYSTART | Start to download | 4-byte integer value of offset | NULL
NET_DVR_PLAYSETPOS | Set the progress of the file downloading | 4-byte integer value of progress(0~100) | NULL
NET_DVR_PLAYGETPOS | Get the downloading progress | NULL | 4-byte integer value of progress(0~100)
NET_DVR_GETTOTALFRAMES | Get the total number of frames of the file downloaded currently | NULL | 4-byte integer value of frame number
NET_DVR_GETTOTALTIME | Get the total time of the file downloaded currently | NULL | 4-byte integer value of time
NET_DVR_SET_DOWNLOAD_SPEED | Set the speed of downloading | 4-byte integer value of speed | NULL
NET_DVR_SET_TRANS_TYPE | Set type of transcoding | 4-byte integer type of transcoding:1- PS, 2- TS, 3- RTP, 5- MP4 (3GPP, only supported by playback by file) | NULL

See Also

NET_DVR_GetFileByName NET_DVR_GetFileByTime_V40

Reference Interface

NET_DVR_PlayBackControl


NET_DVR_StopGetFile

This API is used to stop downloading record files.

BOOL NET_DVR_StopGetFile(
  LONG    lFileHandle
);

Parameters

lFileHandle
[in] Download handle, the return value of NET_DVR_GetFileByName, NET_DVR_GetFileByTime_V40 or NET_DVR_GetFileByTime

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.

See Also

NET_DVR_GetFileByName NET_DVR_GetFileByTime_V40

NET_DVR_GetFileByTime


NET_DVR_GetDownloadPos

This API is used to get the progress of current download.

int NET_DVR_GetDownloadPos(
  LONG    lFileHandle
);

Parameters

lFileHandle
[in] Handle of download, the return value of NET_DVR_GetFileByName, NET_DVR_GetFileByTime_V40 or NET_DVR_GetFileByTime

Return Values

-1 means it is failed; 0-100: the progress of the download; 100 means download finished; 200 means the network problem is abnormal. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

The interface is used to get current progress when downloading record file.

See Also

NET_DVR_GetFileByName NET_DVR_GetFileByTime_V40

NET_DVR_GetFileByTime


NET_DVR_LockFileByName

This API is used to lock file by name.

BOOL NET_DVR_LockFileByName(
  LONG    lUserID,
  char    *sLockFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sLockFileName
[in] Name of the recorded file to be locked, the size should be less than 100 bytes

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

Before calling the interface to lock file, we can call file search interface to get file name. When the file is locked, it will not be overlaid.

See Also

NET_DVR_UnlockFileByName NET_DVR_Login NET_DVR_Login_V30


NET_DVR_UnlockFileByName

This API is used to unlock remote file by name.

BOOL NET_DVR_UnlockFileByName(
  LONG    lUserID,
  char    *sUnlockFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sUnlockFileName
[in] Locking file name

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

Before using this interface to lock record file, please call record file search interface to get file name at first.

See Also

NET_DVR_LockFileByName NET_DVR_Login NET_DVR_Login_V30


NET_DVR_LockFileByTime

This API is used to lock the file by time.

BOOL NET_DVR_LockFileByTime(
  LONG                     lUserID,
  LPNET_DVR_TIME_LOCK      lpLockPara,
  LPNET_DVR_LOCK_RETURN    lpLockReturn
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpLockPara
[in] Locking parameter
lpLockReturn
[out] Locking result

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_UnLockFileByTime


NET_DVR_UnLockFileByTime

This API is used to unlock record file by time.

BOOL NET_DVR_UnLockFileByTime(
  LONG                     lUserID,
  LPNET_DVR_TIME_LOCK      lpLockPara,
  LPNET_DVR_LOCK_RETURN    lpLockReturn
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpLockPara
[in] Unlocking parameter
lpLockReturn
[out] Unlocking result

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_LockFileByTime


NET_DVR_LockStreamFileByTime

This API is used to lock the record file of one period by the stream ID.

BOOL NET_DVR_LockStreamFileByTime(
  LONG                            lUserID,
  LPNET_DVR_STREAM_TIME_LOCK      lpLockPara,
  LPNET_DVR_LOCK_RETURN           lpLockReturn
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpLockPara
[in] Record locking parameter
lpLockReturn
[out] Record locking result

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_UnlockStreamFileByTime


NET_DVR_UnlockStreamFileByTime

This API is used to unlock the record file of one period by the stream ID.

BOOL NET_DVR_UnlockStreamFileByTime(
  LONG                            lUserID,
  LPNET_DVR_STREAM_TIME_LOCK      lpLockPara,
  LPNET_DVR_LOCK_RETURN           lpLockReturn
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpLockPara
[in] Record unlocking parameter
lpLockReturn
[out] Record unlocking result

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_LockStreamFileByTime


NET_DVR_GetDiskList

This API is used to get hard disk list of the device.

BOOL NET_DVR_GetDiskList(
  LONG                          lUserID,
  LPNET_DVR_DISKABILITY_LIST    lpDiskList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpDiskList
[out] The structure of usable hard disk's information for backup

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The interface is used to get usable hard disk resource information, and is required in the input parameter of the backup API.

See Also

NET_DVR_BackupByName NET_DVR_BackupByTime


NET_DVR_BackupByName

This API is used to backup record files by file name.

LONG NET_DVR_BackupByName(
  LONG                          lUserID,
  LPNET_DVR_BACKUP_NAME_PARAM   lpBackupByName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpBackupByName
[in] Parameter structure of backup file

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_GetBackupProgress and NET_DVR_StopBackup. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.

Remarks

Before calling this interface to start backup, please call NET_DVR_GetDiskList to get a usable hard disk list of current device and use the returned disk description section to assign the backup disk description section in the parameter lpBackupByName.

See Also

NET_DVR_GetBackupProgress NET_DVR_StopBackup NET_DVR_GetDiskList


NET_DVR_BackupByTime

This API is used to backup record files by time.

LONG NET_DVR_BackupByTime(
  LONG                          lUserID,
  LPNET_DVR_BACKUP_TIME_PARAM   lpBackupByTime
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpBackupBytime
[in] Parameter structure of file backup

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_GetBackupProgress and NET_DVR_StopBackup. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.

Remarks

Before calling this interface to start backup, please call NET_DVR_GetDiskList to get a usable hard disk list of current device and use the returned disk description section to assign the backup disk description section in the parameter lpBackupByTime.

See Also


NET_DVR_GetBackupProgress

This API is used to get the progress of backup.

BOOL NET_DVR_GetBackupProgress(
  LONG    lHandle,
  DWORD   *pState
);

Parameters

lHandle
[in] The return value of NET_DVR_BackupByName or NET_DVR_BackupByTime
pState
[out] Backup progress range: [0,100]. For the other pState value, please refer to the diagram below:
Macro Definition | Value | Implication
BACKUP_SUCCESS | 100 | Backup finished
BACKUP_CHANGE_DEVICE | 101 | Backup device is full, please change new one to continue to backup
BACKUP_SEARCH_DEVICE | 300 | Be searching backup device
BACKUP_SEARCH_FILE | 301 | Be searching recording files
BACKUP_SEARCH_LOG_FILE | 302 | Be searching log files
BACKUP_CHANGE_DISK | 303 | Changing CD
BACKUP_EXCEPTION | 400 | Backup exception
BACKUP_FAIL | 500 | Backup failed
BACKUP_TIME_SEG_NO_FILE | 501 | No file in the period
BACKUP_NO_RESOURCE | 502 | Can't get resource
BACKUP_DEVICE_LOW_SPACE | 503 | Disk space on the backup device not enough
BACKUP_DISK_FINALIZED | 504 | Backup disk finalized
BACKUP_DISK_EXCEPTION | 505 | Backup device exception
BACKUP_DEVICE_NOT_EXIST | 506 | Backup device not exist
BACKUP_OTNER_BACKUP_WORK | 507 | Other backup process is running
BACKUP_USER_NO_RIGHT | 508 | User has no right
BACKUP_OPERATE_FAIL | 509 | operation failed

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

If the progress is 100 or there is a backup exception, please call NET_DVR_StopBackup to stop backup.

See Also

NET_DVR_BackupByName NET_DVR_BackupByTime NET_DVR_StopBackup


NET_DVR_StopBackup

This API is used to stop file backup.

BOOL NET_DVR_StopBackup(
  LONG   lHandle
);

Parameters

lHandle
[in] The return value of NET_DVR_BackupByName or NET_DVR_BackupByTime, or NET_DVR_BackupPicture

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_BackupByName NET_DVR_BackupByTime NET_DVR_BackupPicture


NET_DVR_StartRemoteConfig

Start remote configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Configuration command, for details see below:
dwCommand Macro Definition | Value | Control Function | lpInBuffer Structure | cbStateCallback
NET_DVR_GET_THUMBNAILS | 6253 | Get thumbnails by time period (video thumbnail, supporting stream ID) | NET_DVR_THUMBNAILS_COND | Return status, information data
NET_DVR_GET_FIGURE | 6610 | Get thumbnails by time point | NET_DVR_GET_FIGURE_COND | Return status, information data
lpInBuffer
[in] Input parameter, related to configuration command
dwInBufferLen
[in] Input buffer size
cbStateCallback
[in] Status callback function, set as NULL
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status, for details see below:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Callback status value
NET_SDK_CALLBACK_TYPE_PROGRESS
Callback progress value
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] Pointer to buffer of data storage, related to dwType, for details see below
dwType | Description | lpBuffer Content
NET_SDK_CALLBACK_TYPE_STATUS | Status Value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Success NET_SDK_CALLBACK_STATUS_PROCESSING, //Processing NET_SDK_CALLBACK_STATUS_FAILED //Failure }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | lpBuffer value indicates progress (DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information data | lpBuffer value indicates information data When NET_DVR_GET_THUMBNAILS gets thumbnails by time period, corresponding to structure: NET_DVR_THUMBNAILS_RESULT When NET_DVR_GET_FIGURE gets thumbnails by time point, corresponding to structure: NET_DVR_FIGURE_INFO
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

-1 means failure, other values serve as handle of NET_DVR_StopRemoteConfig. For failure, call NET_DVR_GetLastError to get error code.

Remarks

Calling this interface to establish long connection requires setting callback function, the query result is return in the callback.

See Also

NET_DVR_StopRemoteConfig


NET_DVR_StopRemoteConfig

Handle created for closing long connection configuration interface, release resource.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle, return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_InsertRecordLabel

This API is used to insert record label.

BOOL NET_DVR_InsertRecordLabel(
  LONG                       lPlayHandle,
  NET_DVR_RECORD_LABEL       *lpRecordLabel,
  NET_DVR_LABEL_IDENTIFY     *lpLableIdentify
);

Parameters

lPlayHandle
[in] The return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime
lpRecordLabel
[in] Record label
lpLableIdentify
[out] Identify after inserting the label

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime


NET_DVR_ModifyRecordLabel

This API is used to modify record label.

BOOL NET_DVR_ModifyRecordLabel(
  LONG                       lUserID,
  NET_DVR_MOD_LABEL_PARAM    *lpModLabelParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpModLabelParam
[in] Label modification parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_DelRecordLabel

This API is used to delete record label.

BOOL NET_DVR_DelRecordLabel(
  LONG                       lUserID,
  LONG                       lChannel,
  NET_DVR_DEL_LABEL_PARAM    *lpDelLabelParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpDelLabelParam
[in] The label information to be deleted

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_FindRecordLabel

This API is used to search record label.

LONG NET_DVR_FindRecordLabel(
  LONG                    lUserID,
  LPNET_DVR_FIND_LABEL    lpFindLabel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpFindLabel
[in] The structure of label information to be found

Return Values

Return -1 if it is failed, and the other values could be used as a parameter of NET_DVR_FindNextLabel. Please call NET_DVR_GetLastError to get the error code.

Remarks

It supports getting max 4000 labels every time.

See Also

NET_DVR_FindNextLabel NET_DVR_StopFindLabel


NET_DVR_FindNextLabel

This API is used to get record label one by one.

LONG NET_DVR_FindNextLabel(
  LONG                        lFindHandle,
  LPNET_DVR_FINDLABEL_DATA    lpFindData
);

Parameters

lFindHandle
[in] The return value of NET_DVR_FindRecordLabel
lpFindData
[in] Label information

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get the label information successfully
NET_DVR_FILE_NOFIND | 1001 | No label found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more label found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when searching label

Remarks

Before calling this function, please call NET_DVR_FindRecordLabel to get current handle firstly. The interface only supports to get one label. We should call the interface repetitively to get all labels.

See Also

NET_DVR_FindRecordLabel


NET_DVR_StopFindLabel

This API is used to stop search record label.

BOOL NET_DVR_StopFindLabel(
  LONG    lFindHandle,
);

Parameters

lFindHandle
[in] The return value of NET_DVR_FindRecordLabel

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_FindRecordLabel


NET_DVR_FindPicture

This API is used to search pictures by file type and time.

LONG NET_DVR_FindPicture(
  LONG                             lUserID,
  LPNET_DVR_FIND_PICTURE_PARAM     pFindParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pFindParam
[in] The structure of picture information to be found

Return Values

Return -1 if it is failed, and the other values could be used as a parameter of NET_DVR_CloseFindPicture. Please call NET_DVR_GetLastError to get the error code.

Remarks

The interface has assigned the picture type and time-range to search. After calling it successfully, we can call NET_DVR_FindNextPicture to get the picture information.

See Also

NET_DVR_FindNextPicture NET_DVR_CloseFindPicture


NET_DVR_FindNextPicture

This API is used to get picture one by one.

LONG NET_DVR_FindNextPicture(
  LONG                      lFindHandle,
  LPNET_DVR_FIND_PICTURE    lpFindData
);

Parameters

lFindHandle
[in] Handle of file searching, the return value of NET_DVR_FindPicture
lpFindData
[out] Pointer for saving picture information

Return Values

Return -1 if it is failed, and the other values stand for current status or other information. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get the file directory information successfully
NET_DVR_FILE_NOFIND | 1001 | No file directory found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more file directory found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when search file directory

Remarks

Before calling this function, please call NET_DVR_FindPicture to get current handle firstly. The interface only supports to get one picture. We should call the interface repetitively to get all pictures.

See Also

NET_DVR_FindPicture


NET_DVR_CloseFindPicture

This API is used to close finding picture and release resource.

BOOL NET_DVR_CloseFindPicture(
  LONG   lFindHandle
);

Parameters

lFindHandle
[in] Handle of finding picture, the return value of NET_DVR_FindPicture

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_FindPicture


NET_DVR_GetPicture_V30

This API is used to playback pictures.

BOOL NET_DVR_GetPicture_V30(
  LONG    lUserID,
  char    *sDVRFileName,
  char    *sSavedFileBuf,
  DWORD   dwBufLen,
  DWORD   *lpdwRetLen
);

Parameters

lUserID
[in] User ID, the return value of NET_DVR_Login or NET_DVR_Login_V30
sDVRFileName
[in] File name of the picture to be downloaded
sSavedFileBuf
[in] The buffer to save the picture data
dwBufLen
[in] The size of buffer
lpdwRetLen
[out] The size of the returned data, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Please call NET_DVR_FindPicture to search the pictures and get the file name by NET_DVR_FindNextPicture.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_BackupPicture

This API is used to backup pictures.

LONG NET_DVR_BackupPicture(
  LONG                             lUserID,
  NET_DVR_BACKUP_PICTURE_PARAM     *lpBackupPicture
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpBackupPicture
[in] Parameter structure of picture backup

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_CloseFindPicture. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetBackupProgress NET_DVR_StopBackup


NET_DVR_StartDVRRecord

This API is used to start remote device record manually.

BOOL NET_DVR_StartDVRRecord(
  LONG     lUserID,
  LONG     lChannel,
  LONG     lRecordType
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number, 0x00ff means all analog channels, 0xff00 means all digital channels, 0xffff means all analog and digital channels
lRecordType
[in] Recording type: 0- manual, 1- alarm, 2- postback, 3- signal, 4- motion detection, 5- tampering

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Not all devices support to set lRecordType. If the device doesn’t support it, the type will default to manual recording.
If the channel has opened the schedule recording, and then call this API to start manual recording, the operation will be invalid, and the device will keep the schedule recording. At the moment, if call NET_DVR_GetDVRWorkState_V30 to get the recording status, the value of byRecordStatic (parameter of the structre NET_DVR_CHANNELSTATE_V30) will be still 1 (being recording). Then if call NET_DVR_StopDVRRecord to stop manual recording, it will stop the schedule recording. Afterward, if call NET_DVR_StartDVRRecord again, the device will start manual recording. Then, if call NET_DVR_StopDVRRecord to stop the manual recording, and reboot the device, the device will resume the schedule recording.

See Also

NET_DVR_StopDVRRecord NET_DVR_Login NET_DVR_Login_V30


NET_DVR_StopDVRRecord

This API is used to stop remote device record manually.

BOOL NET_DVR_StopDVRRecord(
  LONG     lUserID,
  LONG     lChannel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number, 0x00ff means all analog channels, 0xff00 means all digital channels, 0xffff means all analog and digital channels

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartDVRRecord NET_DVR_Login NET_DVR_Login_V30


NET_DVR_StartManualRecord

This API is used to remotely start the manual record of the device by stream ID.

BOOL NET_DVR_StartManualRecord(
  LONG                             lUserID,
  LPNET_DVR_MANUAL_RECORD_PARA     pRecordPara
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pRecordPara
[in] Manual recording parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StopManualRecord NET_DVR_Login NET_DVR_Login_V30


NET_DVR_StopManualRecord

This API is used to remotely stop the manual record of the device by stream ID.

BOOL NET_DVR_StopManualRecord(
  LONG                             lUserID,
  LPNET_DVR_STREAM_INFO            pIDInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pIDInfo
[in] Stream ID

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartManualRecord NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetDVRMessageCallBack_V31

Registration callback function, receiving alarm message

BOOL NET_DVR_SetDVRMessageCallBack_V31(
  MSGCallBack_V31    fMessageCallBack,
  void               *pUser
);

Parameters

fMessageCallBack
[in] Callback function
pUser
[in] User data

Callback Function

typedef BOOL(CALLBACK *MSGCallBack_V31)(
  LONG               lCommand,
  NET_DVR_ALARMER    *pAlarmer,
  char               *pAlarmInfo,
  DWORD              dwBufLen,
  void               *pUser
);

Callback Function Parameters

lCommand
[out]Uploaded message type, and the types vary with alarm information. You can distinguish the alarm information according to the types,see details in the "Remarks" table.
pAlarmer
[out] Alarm device information, including device series No., IP address, user login ID handle.
pAlarmInfo
[out] Alarm information, judge the pAlarm structure via the lCommand value, see details in the "Remark" table.
dwBufLen
[out] Alarm information buffer size
pUser
[out] User data

Return Values

Return TRUE on success, and FALSE on failure.please callNET_DVR_GetLastErrorto get the error code.

Remarks

  • If the alarm callback function has return value, return TRUE after receiving data.
  • The alarm callback function set by this API is global and unique.The previous callback function will be overwritten if registering for multiple times,only the last set callback function is valid. All the device alarm information is returned by the same callback function, you can distinguish the devices via alarm device information (pAlarmInfo).
  • The first parameter(lCommand) is closely related to the third parameter(pAlarmInfo) of the callback function, the relations are shown below.
    Message type（lCommand） | Micro Definition | Upload Content | pAlarmInfo Corresponded Structure
    Smart Alarm
    COMM_ALARM_RULE | 0x1102 | Behavior analysis alarm information | NET_VCA_RULE_ALARM
    COMM_ALARM_PDC | 0x1103 | People counting alarm information | NET_DVR_PDC_ALRAM_INFO
    COMM_RULE_INFO_UPLOAD | 0x1107 | Event data information | NET_DVR_RULE_INFO_ALARM
    COMM_ALARM_FACE | 0x1106 | Alarm information of face detection and recognition | NET_DVR_FACEDETECT_ALARM
    COMM_UPLOAD_FACESNAP_RESULT | 0x1112 | Information of face capture result | NET_VCA_FACESNAP_RESULT
    COMM_FACECAPTURE_STATISTICS_RESULT | 0x112a | Information of face capture statistic | NET_DVR_FACECAPTURE_STATISTICS_RESULT
    COMM_SNAP_MATCH_ALARM | 0x2902 | Result information of face blacklist comparison | NET_VCA_FACESNAP_MATCH_ALARM
    COMM_ALARM_FACE_DETECTION | 0x4010 | Alarm information of face detection | NET_DVR_FACE_DETECTION
    COMM_ALARM_TARGET_LEFT_REGION | 0x4011 | Teacher away from platform alarm | NET_DVR_TARGET_LEFT_REGION_ALARM
    COMM_PEOPLE_DETECTION_UPLOAD | 0x4014 | People detection information | NET_DVR_PEOPLE_DETECTION_RESULT
    COMM_ALARM_VQD_EX | 0x1116 | VQD alarm information | NET_DVR_VQD_ALARM
    COMM_ALARM_VQD | 0x6000 | VQD diagnosis alarm information | NET_DVR_VQD_DIAGNOSE_INFO
    COMM_SCENECHANGE_DETECTION_UPLOAD | 0x1130 | Scene change alarm information | NET_DVR_SCENECHANGE_DETECTION_RESULT
    COMM_CROSSLINE_ALARM | 0x1131 | Alarm information of over lane line | NET_DVR_CROSSLINE_ALARM
    COMM_ALARM_AUDIOEXCEPTION | 0x1150 | Audio exception alarm information | NET_DVR_AUDIOEXCEPTION_ALARM
    COMM_ALARM_DEFOCUS | 0x1151 | Defocus alarm information | NET_DVR_DEFOCUS_ALARM
    COMM_SWITCH_LAMP_ALARM | 0x6002 | Alarm information of light turn on/off detection | NET_DVR_SWITCH_LAMP_ALARM
    COMM_UPLOAD_HEATMAP_RESULT | 0x4008 | Heat map alarm information | NET_DVR_HEATMAP_RESULT
    COMM_FIREDETECTION_ALARM | 0x4991 | Fire detection alarm information | NET_DVR_FIREDETECTION_ALARM
    COMM_THERMOMETRY_DIFF_ALARM | 0x5211 | Temperature difference alarm information | NET_DVR_THERMOMETRY_DIFF_ALARM
    COMM_THERMOMETRY_ALARM | 0x5212 | Temperature alarm information | NET_DVR_THERMOMETRY_ALARM
    COMM_ALARM_SHIPSDETECTION | 0x4521 | Ship detection alarm information | NET_DVR_SHIPSDETECTION_ALARM
    Intelligent Traffic
    COMM_ALARM_AID | 0x1110 | Traffic event alarm information | NET_DVR_AID_ALARM
    COMM_ALARM_TPS | 0x1111 | Alarm information of traffic parameters statistic | NET_DVR_TPS_ALARM
    COMM_ALARM_TFS | 0x1113 | Traffic enforcement alarm information | NET_DVR_TFS_ALARM
    COMM_ALARM_TPS_V41 | 0x1114 | Alarm information of traffic parameters statistic (extended) | NET_DVR_TPS_ALARM_V41
    COMM_ALARM_AID_V41 | 0x1115 | Traffic event alarm information (extended) | NET_DVR_AID_ALARM_V41
    COMM_UPLOAD_PLATE_RESULT | 0x2800 | Traffic capture result | NET_DVR_PLATE_RESULT
    COMM_ITS_PLATE_RESULT | 0x3050 | Traffic capture result (new alarm information) | NET_ITS_PLATE_RESULT
    COMM_ITS_TRAFFIC_COLLECT | 0x3051 | Traffic statistic data upload | NET_ITS_TRAFFIC_COLLECT
    COMM_ITS_BLACKLIST_ALARM | 0x3057 | Vehicle blacklist alarm upload | NET_ITS_ECT_BLACKLIST
    COMM_VEHICLE_CONTROL_LIST_DSALARM | 0x3058 | Synchronize vehicle blacklist &whitelist data with alarm upload | NET_DVR_VEHICLE_CONTROL_LIST_DSALARM
    COMM_VEHICLE_CONTROL_ALARM | 0x3059 | Alarm upload of vehicles in blacklist &whitelist | NET_DVR_VEHICLE_CONTROL_ALARM
    COMM_FIRE_ALARM | 0x3060 | Fire control alarm upload | NET_DVR_FIRE_ALARM
    COMM_VEHICLE_RECOG_RESULT | 0x3062 | Upload results of vehicle secondary recognition | NET_DVR_VEHICLE_RECOG_RESULT
    COMM_ALARM_SENSORINFO_UPLOAD | 0x3077 | Uploaded sensor information | NET_DVR_SENSOR_INFO_UPLOAD
    COMM_ALARM_CAPTURE_UPLOAD | 0x3078 | Captured picture upload | NET_DVR_CAPTURE_UPLOAD
    COMM_ITS_RADARINFO | 0x3079 | Radar alarm upload | NET_DVR_ALARM_RADARINFO
    COMM_SIGNAL_LAMP_ABNORMAL | 0x3080 | Signal lamp exception detection upload | NET_DVR_SIGNALLAMP_DETCFG
    COMM_ALARM_TPS_REAL_TIME | 0x3081 | TPS real-time vehicle passing data upload | NET_DVR_TPS_REAL_TIME_INFO
    COMM_ALARM_TPS_STATISTICS | 0x3082 | TPS vehicle passing statistics data upload | NET_DVR_TPS_STATISTICS_INFO
    COMM_ITS_ROAD_EXCEPTION | 0x4500 | Alarm information of intersection device exception | NET_ITS_ROADINFO
    COMM_ITS_EXTERNAL_CONTROL_ALARM | 0x4520 | Alarm information of indicator external control | NET_DVR_EXTERNAL_CONTROL_ALARM
    COMM_ITS_GATE_FACE | 0x3053 | Face capture data of entrance/exit | NET_ITS_GATE_FACE
    COMM_ITS_GATE_ALARMINFO | 0x3061 | Entrance/exit controller data | NET_DVR_GATE_ALARMINFO
    COMM_GATE_CHARGEINFO_UPLOAD | 0x3064 | Entrance/exit payment information | NET_DVR_GATE_CHARGEINFO
    COMM_TME_VEHICLE_INDENTIFICATION | 0x3065 | Vehicle capture information of entrance/exit controller(TME) | NET_DVR_TME_VEHICLE_RESULT
    COMM_GATE_CARDINFO_UPLOAD | 0x3066 | Entrance/exit card information | NET_DVR_GATE_CARDINFO
    Security Control Panel
    COMM_ALARM_ALARMHOST | 0x1105 | Alarm information of network security control panel | NET_DVR_ALARMHOST_ALARMINFO
    COMM_SENSOR_VALUE_UPLOAD | 0x1120 | Real-time information of sensor data | NET_DVR_SENSOR_ALARM
    COMM_SENSOR_ALARM | 0x1121 | Sensor alarm information | NET_DVR_SENSOR_ALARM
    COMM_SWITCH_ALARM | 0x1122 | Relay alarm information | NET_DVR_SWITCH_ALARM
    COMM_ALARMHOST_EXCEPTION | 0x1123 | Fault alarm information | NET_DVR_ALARMHOST_EXCEPTION_ALARM
    COMM_ALARMHOST_SAFETYCABINSTATE | 0x1125 | ATM room status information | NET_DVR_ALARMHOST_SAFETYCABINSTATE
    COMM_ALARMHOST_ALARMOUTSTATUS | 0x1126 | Alarm output or siren status information | NET_DVR_ALARMHOST_ALARMOUTSTATUS
    COMM_ALARMHOST_CID_ALARM | 0x1127 | Alarm upload of CID report of security control panel | NET_DVR_CID_ALARM
    COMM_ALARMHOST_EXTERNAL_DEVICE_ALARM | 0x1128 | Alarm information of external devices of security control panel | NET_DVR_485_EXTERNAL_DEVICE_ALARMINFO
    COMM_ALARMHOST_DATA_UPLOAD | 0x1129 | Alarm data information | NET_DVR_ALARMHOST_DATA_UPLOAD
    Other Device Alarm
    COMM_ALARM | 0x1100 | Alarm information of motion detection, video loss,video tampering and I/O (supported by the device with version 3.0 or lower) | NET_DVR_ALARMINFO
    COMM_ALARM_V30 | 0x4000 | Alarm information of motion detection, video loss,video tampering and I/O (supported by the device with version 3.0 or higher) | NET_DVR_ALARMINFO_V30
    COMM_ALARM_V40 | 0x4007 | Alarm information of motion detection, video loss,video tampering and I/O, the alarm data length is variable. | NET_DVR_ALARMINFO_V40
    COMM_IPCCFG | 0x4001 | Settings changed(when devices such as HDVR or NV connect to IPC)alarm information | NET_DVR_IPALARMINFO
    COMM_IPCCFG_V31 | 0x4002 | Settings changed(when devices such as HDVR or NV connect to IPC) alarm information (Expended) | NET_DVR_IPALARMINFO_V31
    COMM_IPC_AUXALARM_RESULT | 0x2820 | PIR alarm, wireless alarm, and emergency alarm information | NET_IPC_AUXALARM_RESULT
    COMM_ALARM_DEVICE | 0x4004 | CVR device alarm information, expended because the channel No. is more than 256. | NET_DVR_ALARMINFO_DEV
    COMM_ALARM_DEVICE_V40 | 0x4009 | CVR device alarm information (expanded, alarm information sub-structure is added) | NET_DVR_ALARMINFO_DEV_V40
    COMM_ALARM_CVR | 0x4005 | CVR external alarm information | NET_DVR_CVR_ALARM
    COMM_TRADEINFO | 0x1500 | ATM DVR transaction information | NET_DVR_TRADEINFO
    COMM_ALARM_HOT_SPARE | 0x4006 | Hot spare exception alarm (N+1 mode exception alarm) information | NET_DVR_ALARM_HOT_SPARE
    COMM_ALARM_BUTTON_DOWN_EXCEPTION | 0x1152 | Press button alarm information (IP main door station) | NET_BUTTON_DOWN_EXCEPTION_ALARM
    COMM_ALARM_ACS | 0x5002 | Alarm information of access controller | NET_DVR_ACS_ALARM_INFO
    COMM_ID_INFO_ALARM | 0x5200 | Swiping card information of access control ID card | NET_DVR_ID_CARD_INFO_ALARM
    COMM_PASSNUM_INFO_ALARM | 0x5201 | People counting information of passing access control | NET_DVR_PASSNUM_INFO_ALARM
    COMM_SCREEN_ALARM | 0x5000 | Uploaded alarm information of multi-screen controller | NET_DVR_SCREENALARMCFG
    COMM_ALARM_LCD | 0x5011 | Alarm information of LCD screen | NET_DVR_LCD_ALARM
    COMM_UPLOAD_VIDEO_INTERCOM_EVENT | 0x1132 | Log information of video intercom event | NET_DVR_VIDEO_INTERCOM_EVENT
    COMM_ALARM_VIDEO_INTERCOM | 0x1133 | Alarm information of video intercom | NET_DVR_VIDEO_INTERCOM_ALARM
    COMM_ALARM_DEC_VCA | 0x5010 | VCA decoding alarm information of decoder | NET_DVR_DEC_VCA_ALARM
    COMM_GISINFO_UPLOAD | 0x4012 | GIS information | NET_DVR_GIS_UPLOADINFO
    COMM_VANDALPROOF_ALARM | 0x4013 | Vandal-proof alarm information | NET_DVR_VANDALPROOF_ALARM
    COMM_ALARM_STORAGE_DETECTION | 0x4015 | Alarm information of storage VCA detection | NET_DVR_STORAGE_DETECTION_ALARM
    COMM_CONFERENCE_CALL_ALARM | 0x5012 | Calling alarm information of conference terminal | NET_DVR_CONFERENCE_CALL_ALARM
    COMM_ALARM_ALARMGPS | 0x1202 | GPS alarm information | NET_DVR_GPSALARMINFO
    COMM_ALARM_SWITCH_CONVERT | 0x5004 | Switcher alarm information | NET_DVR_SWITCH_CONVERT_ALARM
    COMM_ALARM_SWITCH_CONVERT | 0x5004 | Switcher alarm information | NET_DVR_SWITCH_CONVERT_ALARM
    COMM_INQUEST_ALARM | 0x6005 | Alarm information of inquest DVR | NET_DVR_INQUEST_ALARM
    COMM_PANORAMIC_LINKAGE_ALARM | 0x5213 | Panoramic camera linkage to event information | NET_DVR_PANORAMIC_LINKAGE

Example

The following example shows the configuration of receiving alarm information via callback function by arming mode.

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

int iNum=0;
BOOL CALLBACK MessageCallback(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser)
{
    int i=0;
    char filename[100];
    FILE *fSnapPic=NULL;
    FILE *fSnapPicPlate=NULL;

    //The example is for reference only, it is recommended not to handle the data and save file in the callback function directly.
    //For example, handling the data in the message response function via message mode (PostMassage).

    switch(lCommand)
    {
        case COMM_ALARM:
        {
            NET_DVR_ALARMINFO struAlarmInfo;
            memcpy(&struAlarmInfo, pAlarmInfo, sizeof(NET_DVR_ALARMINFO));
            switch (struAlarmInfo.dwAlarmType)
            {
                case 3: //Motion detection alarm
                    for (i=0; i<16; i++)   //#define MAX_CHANNUM   16  //Maximum channel number
                    {
                        if (struAlarmInfo.dwChannel[i] == 1)
                        {
                            printf("The channel No. with triggered motion detection alarm %d\n", i+1);
                        }
                    }
                    break;
                default:
                    break;
            }
            break;
        }
        case COMM_UPLOAD_PLATE_RESULT:
        {
            NET_DVR_PLATE_RESULT struPlateResult={0};
            memcpy(&struPlateResult, pAlarmInfo, sizeof(struPlateResult));
            printf("License plate number: %s\n", struPlateResult.struPlateInfo.sLicense);//License plate number

            switch(struPlateResult.struPlateInfo.byColor)//License plate color
            {
            case VCA_BLUE_PLATE:
                printf("Vehicle color: Bule\n");
                break;
            case VCA_YELLOW_PLATE:
                printf("Vehicle color: Yellow\n");
                break;
            case VCA_WHITE_PLATE:
                printf("Vehicle color: White\n");
                break;
            case VCA_BLACK_PLATE:
                printf("Vehicle color: Black\n");
                break;
            default:
                break;
            }
            //Scene picture
            if (struPlateResult.dwPicLen != 0 && struPlateResult.byResultType == 1 )
            {
                sprintf(filename,"testpic_%d.jpg",iNum);
                fSnapPic=fopen(filename,"wb");
                fwrite(struPlateResult.pBuffer1,struPlateResult.dwPicLen,1,fSnapPic);
                iNum++;
                fclose(fSnapPic);
            }
            //License plate picture
            if (struPlateResult.dwPicPlateLen != 0 && struPlateResult.byResultType == 1)
            {
                sprintf(filename,"testPicPlate_%d.jpg",iNum);
                fSnapPicPlate=fopen(filename,"wb");
                fwrite(struPlateResult.pBuffer1,struPlateResult.dwPicLen,1,fSnapPicPlate);
                iNum++;
                fclose(fSnapPicPlate);
            }
            //Other information handling...
            break;
        }
        case COMM_ITS_PLATE_RESULT:
        {
            NET_ITS_PLATE_RESULT struITSPlateResult={0};
            memcpy(&struITSPlateResult, pAlarmInfo, sizeof(struITSPlateResult));

            for (i=0;i<struITSPlateResult.dwPicNum;i++)
            {
                printf("License plate number: %s\n", struITSPlateResult.struPlateInfo.sLicense);//License plate number
                switch(struITSPlateResult.struPlateInfo.byColor)//License plate color
                {
                case VCA_BLUE_PLATE:
                    printf("Vehicle color: Blue\n");
                    break;
                case VCA_YELLOW_PLATE:
                    printf("Vehicle color: Yellow\n");
                    break;
                case VCA_WHITE_PLATE:
                    printf("Vehicle color: White\n");
                    break;
                case VCA_BLACK_PLATE:
                    printf("Vehicle color: Black\n");
                    break;
                default:
                    break;
                }
                //Save scene picture
                if ((struITSPlateResult.struPicInfo[i].dwDataLen != 0)&&(struITSPlateResult.struPicInfo[i].byType== 1)||(struITSPlateResult.struPicInfo[i].byType == 2))
                {
                    sprintf(filename,"testITSpic%d_%d.jpg",iNum,i);
                    fSnapPic=fopen(filename,"wb");
                    fwrite(struITSPlateResult.struPicInfo[i].pBuffer, struITSPlateResult.struPicInfo[i].dwDataLen,1,fSnapPic);
                    iNum++;
                    fclose(fSnapPic);
                }
                //License plate thumbnails
                if ((struITSPlateResult.struPicInfo[i].dwDataLen != 0)&&(struITSPlateResult.struPicInfo[i].byType == 0))
                {
                    sprintf(filename,"testPicPlate%d_%d.jpg",iNum,i);
                    fSnapPicPlate=fopen(filename,"wb");
                    fwrite(struITSPlateResult.struPicInfo[i].pBuffer, struITSPlateResult.struPicInfo[i].dwDataLen, 1, \ fSnapPicPlate);
                    iNum++;
                    fclose(fSnapPicPlate);
                }
                //Other information handling...
            }
            break;
        }
    default:
        break;
    }

    return TRUE;
}

void main() {

  //---------------------------------------
  // Initialization
  NET_DVR_Init();
  //Set the connection time and reconnection time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  //Register device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("172.0.0.100", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  //Set alarm callback function
  NET_DVR_SetDVRMessageCallBack_V31(MessageCallback, NULL);

  //Enable Arming
  NET_DVR_SETUPALARM_PARAM struSetupParam={0};
  struSetupParam.dwSize=sizeof(NET_DVR_SETUPALARM_PARAM);

  //Uploaded alarm information type: 0- History alarm information(NET_DVR_PLATE_RESULT), 1- New alarm information(NET_ITS_PLATE_RESULT)
  struSetupParam.byAlarmInfoType=1;
  //Arming level: level-2 arming, for intelligent traffic device
  struSetupParam.byLevel=1;

  LONG lHandle = NET_DVR_SetupAlarmChan_V41(lUserID,&struSetupParam);
  if (lHandle < 0)
  {
      printf("NET_DVR_SetupAlarmChan_V41 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  Sleep(20000);
  //Disarming uploading channel
  if (!NET_DVR_CloseAlarmChan_V30(lHandle))
  {
      printf("NET_DVR_CloseAlarmChan_V30 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //User logout
  NET_DVR_Logout(lUserID);
  //Release SDK resource
  NET_DVR_Cleanup();
  return;
}

See Also

NET_DVR_SetupAlarmChan_V41

NET_DVR_StartListen_V30

Reference Interface

This API is expended from

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_SetDVRMessageCallBack_V50

Registration callback function, receiving alarm message

BOOL NET_DVR_SetDVRMessageCallBack_V50(
  int            iIndex,
  MSGCallBack    fMessageCallBack,
  void           *pUser
);

Parameters

iIndex
[in] Callback function index, value range: [0,15]
fMessageCallBack
[in] Callback function
pUser
[in] User Data

Callback Function

typedef void (CALLBACK *MSGCallBack)(
  LONG               lCommand,
  NET_DVR_ALARMER    *pAlarmer,
  char               *pAlarmInfo,
  DWORD              dwBufLen,
  void               *pUser
);

Callback Function Parameters

lCommand
[out] Uploaded alarm message type
pAlarmer
[out] Alarm device information, includes device serial No., IP address, Logon IUserID handle and so on.
pAlarmInfo
[out] Alarm information, determine the pAlarmer corresponded structure by lCommand
dwBufLen
[out] Alarm information buffer size
pUser
[out] User data

Return Values

Return TRUE on success, and FALSE on failure, callNET_DVR_GetLastError for error code.

Remarks

  • The alarm callback function configured by the API of V30 and V31 is unique, which means it will cover the previous callback function for many times registration, and only the latest registered function is valid. All of the alarm message of different devices are returned in one callback function，and can be distinguished based on the alarm device information（pAlarmInfo）; The API of V50 supports configuring multiple channels of callback functions (max. 16-ch), and distinguishes the functions via index. All of the alarm information will be returned in the configured different callback functions at the same time with the same value. The device also can be distinguished based on the alarm device information（pAlarmInfo）.
  • Macro Definition | Value | Description | Structure
    Smart Alarm
    COMM_ALARM_RULE | 0x1102 | Behavior analysis upload | NET_VCA_RULE_ALARM
    COMM_ALARM_PDC | 0x1103 | passenger flow volume | NET_DVR_PDC_ALRAM_INFO
    COMM_RULE_INFO_UPLOAD | 0x1107 | Rule information upload | NET_DVR_RULE_INFO_ALARM
    COMM_ALARM_FACE | 0x1106 | Face detection alarm | NET_DVR_FACEDETECT_ALARM
    COMM_UPLOAD_FACESNAP_RESULT | 0x1112 | Face capture result upload | NET_VCA_FACESNAP_RESULT
    COMM_FACECAPTURE_STATISTICS_RESULT | 0x112a | Face capture statistic upload | NET_DVR_FACECAPTURE_STATISTICS_RESULT
    COMM_SNAP_MATCH_ALARM | 0x2902 | face blacklist comparison result upload | NET_VCA_FACESNAP_MATCH_ALARM
    COMM_ALARM_FACE_DETECTION | 0x4010 | Face detection alarm upload | NET_DVR_FACE_DETECTION
    COMM_ALARM_TARGET_LEFT_REGION | 0x4011 | Teacher away from platform alarm | NET_DVR_TARGET_LEFT_REGION_ALARM
    COMM_PEOPLE_DETECTION_UPLOAD | 0x4014 | People detection information upload | NET_DVR_PEOPLE_DETECTION_RESULT
    COMM_ALARM_STORAGE_DETECTION | 0x4015 | Storage VCA detection alarm upload | NET_DVR_VQD_ALARM
    COMM_ALARM_VQD_EX | 0x1116 | VQD alarm information upload | NET_DVR_VQD_ALARM
    COMM_ALARM_VQD | 0x6000 | VQD diagnosis information upload | NET_DVR_VQD_DIAGNOSE_INFO
    COMM_SCENECHANGE_DETECTION_UPLOAD | 0x1130 | Scene change alarm upload | NET_DVR_SCENECHANGE_DETECTION_RESULT
    COMM_CROSSLINE_ALARM | 0x1131 | Over lane line alarm upload | NET_DVR_CROSSLINE_ALARM
    COMM_ALARM_AUDIOEXCEPTION | 0x1150 | Audio exception alarm upload | NET_DVR_AUDIOEXCEPTION_ALARM
    COMM_ALARM_DEFOCUS | 0x1151 | Defocus alarm upload | NET_DVR_DEFOCUS_ALARM
    COMM_UPLOAD_HEATMAP_RESULT | 0x4008 | Heat map alarm upload | NET_DVR_HEATMAP_RESULT
    Intelligent Traffic
    COMM_ALARM_AID | 0x1110 | Traffic event alarm information | NET_DVR_AID_ALARM
    COMM_ALARM_TPS | 0x1111 | Traffic parameters statistic alarm information | NET_DVR_TPS_ALARM
    COMM_UPLOAD_PLATE_RESULT | 0x2800 | Traffic capture result (vehicle, license plate and capture picture) upload | NET_DVR_PLATE_RESULT
    COMM_ITS_PLATE_RESULT | 0x3050 | Traffic capture result upload (new alarm information) | NET_ITS_PLATE_RESULT
    COMM_ITS_TRAFFIC_COLLECT | 0x3051 | Traffic statistic data upload | NET_ITS_TRAFFIC_COLLECT
    COMM_ITS_RADARINFO | 0x3079 | Radar alarm upload | NET_DVR_ALARM_RADARINFO
    COMM_SIGNAL_LAMP_ABNORMAL | 0x3080 | Signal lamp exception detection upload | NET_DVR_SIGNALLAMP_DETCFG
    COMM_ITS_ROAD_EXCEPTION | 0x4500 | Intersection exception alarm upload | NET_ITS_ROADINFO
    Security Control Panel
    COMM_ALARM_ALARMHOST | 0x1105 | Network control panel alarm uplaod | NET_DVR_ALARMHOST_ALARMINFO
    COMM_SENSOR_VALUE_UPLOAD | 0x1120 | Analog data real-time upload | NET_DVR_SENSOR_ALARM
    COMM_SENSOR_ALARM | 0x1121 | Analog alarm upload | NET_DVR_SENSOR_ALARM
    COMM_SWITCH_ALARM | 0x1122 | Switching value alarm upload | NET_DVR_SWITCH_ALARM
    COMM_ALARMHOST_EXCEPTION | 0x1123 | Alarm control panel fault upload | NET_DVR_ALARMHOST_EXCEPTION_ALARM
    COMM_ALARMHOST_SAFETYCABINSTATE | 0x1125 | ATM cabin status information upload | NET_DVR_ALARMHOST_SAFETYCABINSTATE
    COMM_ALARMHOST_ALARMOUTSTATUS | 0x1126 | Alarm output or siren status upload | NET_DVR_ALARMHOST_ALARMOUTSTATUS
    COMM_ALARMHOST_CID_ALARM | 0x1127 | Control panel CID report upload | NET_DVR_CID_ALARM
    Other Device Alarm
    COMM_ALARM | 0x1100 | Motion detection, video loss, tampering alarm, and IO signal alarm information upload ( supported by device under version V3.0 and lower) | NET_DVR_ALARMINFO
    COMM_ALARM_V30 | 0x4000 | Motion detection, video loss, tampering alarm, and IO signal alarm information upload ( supported by devices under version V3.0 snd higher) | NET_DVR_ALARMINFO_V30
    COMM_ALARM_V40 | 0x4007 | Motion detection, video loss, tampering alarm, and IO signal alarm information upload, alarm data can be expended. | NET_DVR_ALARMINFO_V40
    COMM_IPCCFG | 0x4001 | Settings changed(when devices such as HDVR or NV connecting to IPC)alarm upload | NET_DVR_IPALARMINFO
    COMM_IPCCFG_V31 | 0x4002 | Settings changed(when devices such as HDVR or NV connecting to IPC)alarm upload(Expended) | NET_DVR_IPALARMINFO_V31
    COMM_IPC_AUXALARM_RESULT | 0x2820 | PIR alarm, wireless alarm, and duress alarm upload | NET_IPC_AUXALARM_RESULT
    COMM_ALARM_DEVICE | 0x4004 | CVR device alar information upload, expended because the channel No. is more than 256 | NET_DVR_ALARMINFO_DEV
    COMM_ALARM_DEVICE_V40 | 0x4009 | CVR device alarm information expended ( added alarm sub structure) | NET_DVR_ALARMINFO_DEV_V40
    COMM_ALARM_CVR | 0x4005 | CVR external alarm information upload | NET_DVR_CVR_ALARM
    COMM_TRADEINFO | 0x1500 | ATM DVR trade information upload | NET_DVR_TRADEINFO
    COMM_ALARM_HOT_SPARE | 0x4006 | Hot spare exception alarm(N+1 mode exception alarm) | NET_DVR_ALARM_HOT_SPARE
    COMM_ALARM_BUTTON_DOWN_EXCEPTION | 0x1152 | Panic button alarm information upload (IP voice talk controller) | NET_BUTTON_DOWN_EXCEPTION_ALARM
    COMM_ALARM_ACS | 0x5002 | Access controller alarm | NET_DVR_ACS_ALARM_INFO
    COMM_SCREEN_ALARM | 0x5000 | Multi-screen control alarm information upload | NET_DVR_SCREENALARMCFG
    COMM_ALARM_LCD | 0x5011 | LCD screen alarm information upload | NET_DVR_LCD_ALARM
    COMM_UPLOAD_VIDEO_INTERCOM_EVENT | 0x1132 | Voice talk event record upload | NET_DVR_VIDEO_INTERCOM_EVENT
    COMM_ALARM_VIDEO_INTERCOM | 0x1133 | Voice talk alarm upload | NET_DVR_VIDEO_INTERCOM_ALARM
    COMM_ALARM_DEC_VCA | 0x5010 | Decoder smart decoding alarm upload | NET_DVR_DEC_VCA_ALARM
    COMM_GISINFO_UPLOAD | 0x4012 | GIS information upload | NET_DVR_GIS_UPLOADINFO
    COMM_VANDALPROOF_ALARM | 0x4013 | Electric compass tampering alarm upload | NET_DVR_VANDALPROOF_ALARM
    COMM_CONFERENCE_CALL_ALARM | 0x5012 | Conference terminal calling alarm information | NET_DVR_CONFERENCE_CALL_ALARM
    COMM_ALARM_ALARMGPS | 0x1202 | GPS alarm information | NET_DVR_GPSALARMINFO
    COMM_ALARM_SWITCH_CONVERT | 0x5004 | Switch alarm information | NET_DVR_SWITCH_CONVERT_ALARM
    COMM_INQUEST_ALARM | 0x6005 | Inquest host alarm information | NET_DVR_INQUEST_ALARM
    COMM_PANORAMIC_LINKAGE_ALARM | 0x5213 | Panoramic view linkage to event information | NET_DVR_PANORAMIC_LINKAGE

Example

The following example shows to configure the callback function of receiving alarm information under the arming way.

#include <stdio.h>
#include <iostream>
#include "Windows.h"
#include "HCNetSDK.h"
using namespace std;

int iNum=0;
BOOL CALLBACK MessageCallback(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser)
{
    int i=0;
    char filename[100];
    FILE *fSnapPic=NULL;
    FILE *fSnapPicPlate=NULL;

    //The example is for reference only, it is recommended not to handle the data and save file in the callback function directly.

    switch(lCommand)
    {
        case COMM_ALARM:
        {
            NET_DVR_ALARMINFO struAlarmInfo;
            memcpy(&struAlarmInfo, pAlarmInfo, sizeof(NET_DVR_ALARMINFO));
            switch (struAlarmInfo.dwAlarmType)
            {
                case 3: //Motion detection alarm
                    for (i=0; i<16; i++)   //#define MAX_CHANNUM   16  //Max. channel number
                    {
                        if (struAlarmInfo.dwChannel[i] == 1)
                        {
                            printf("the channel No. triggered by motion detection alarm %d\n", i+1);
                        }
                    }
                    break;
                default:
                    break;
            }
            break;
        }
        case COMM_UPLOAD_PLATE_RESULT:
        {
            NET_DVR_PLATE_RESULT struPlateResult={0};
            memcpy(&struPlateResult, pAlarmInfo, sizeof(struPlateResult));
            printf("Vehicle license plate: %s\n", struPlateResult.struPlateInfo.sLicense);// license plate No.

            switch(struPlateResult.struPlateInfo.byColor)//Vehicle color
            {
            case VCA_BLUE_PLATE:
                printf("Vehicle color: Blue\n");
                break;
            case VCA_YELLOW_PLATE:
                printf("Vehicle color: Yellow\n");
                break;
            case VCA_WHITE_PLATE:
                printf("Vehicle color: White\n");
                break;
            case VCA_BLACK_PLATE:
                printf("Vehicle color: Black\n");
                break;
            default:
                break;
            }
            //Scene picture
            if (struPlateResult.dwPicLen != 0 && struPlateResult.byResultType == 1 )
            {
                sprintf(filename,"testpic_%d.jpg",iNum);
                fSnapPic=fopen(filename,"wb");
                fwrite(struPlateResult.pBuffer1,struPlateResult.dwPicLen,1,fSnapPic);
                iNum++;
                fclose(fSnapPic);
            }
            //License plate picture
            if (struPlateResult.dwPicPlateLen != 0 && struPlateResult.byResultType == 1)
            {
                sprintf(filename,"testPicPlate_%d.jpg",iNum);
                fSnapPicPlate=fopen(filename,"wb");
                fwrite(struPlateResult.pBuffer1,struPlateResult.dwPicLen,1,fSnapPicPlate);
                iNum++;
                fclose(fSnapPicPlate);
            }
            //Other information......
            break;
        }
        case COMM_ITS_PLATE_RESULT:
        {
            NET_ITS_PLATE_RESULT struITSPlateResult={0};
            memcpy(&struITSPlateResult, pAlarmInfo, sizeof(struITSPlateResult));

            for (i=0;i<struITSPlateResult.dwPicNum;i++)
            {
                printf("License plate: %s\n", struITSPlateResult.struPlateInfo.sLicense);//License plate No.
                switch(struITSPlateResult.struPlateInfo.byColor)// License plate color
                {
                case VCA_BLUE_PLATE:
                    printf("Vehicle color:  Blue\n");
                    break;
                case VCA_YELLOW_PLATE:
                    printf("Vehicle color: Yellow\n");
                    break;
                case VCA_WHITE_PLATE:
                    printf("Vehicle color: White\n");
                    break;
                case VCA_BLACK_PLATE:
                    printf("Vehicle color: Black\n");
                    break;
                default:
                    break;
                }
                //Save scene picture
                if ((struITSPlateResult.struPicInfo[i].dwDataLen != 0)&&(struITSPlateResult.struPicInfo[i].byType== 1)||(struITSPlateResult.struPicInfo[i].byType == 2))
                {
                    sprintf(filename,"testITSpic%d_%d.jpg",iNum,i);
                    fSnapPic=fopen(filename,"wb");
                    fwrite(struITSPlateResult.struPicInfo[i].pBuffer, struITSPlateResult.struPicInfo[i].dwDataLen,1,fSnapPic);
                    iNum++;
                    fclose(fSnapPic);
                }
                //License plate small picture
                if ((struITSPlateResult.struPicInfo[i].dwDataLen != 0)&&(struITSPlateResult.struPicInfo[i].byType == 0))
                {
                    sprintf(filename,"testPicPlate%d_%d.jpg",iNum,i);
                    fSnapPicPlate=fopen(filename,"wb");
                    fwrite(struITSPlateResult.struPicInfo[i].pBuffer, struITSPlateResult.struPicInfo[i].dwDataLen, 1, \ fSnapPicPlate);
                    iNum++;
                    fclose(fSnapPicPlate);
                }

            }
            break;
        }
    default:
        break;
    }
}

void main() {

  //---------------------------------------
  // Initialization
  NET_DVR_Init();
  //Set the connection time and reconnection time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  // Register device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("172.0.0.100", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  //Set alarm callback function
  NET_DVR_SetDVRMessageCallBack_V31(MessageCallback, NULL);

  //Enable  arming
  NET_DVR_SETUPALARM_PARAM struSetupParam={0};
  struSetupParam.dwSize=sizeof(NET_DVR_SETUPALARM_PARAM);

  //Uploaded alarm type: 0- Old alarm information(NET_DVR_PLATE_RESULT), 1- New alarm information(NET_ITS_PLATE_RESULT)
  struSetupParam.byAlarmInfoType=1;
  //Arming level: level 2 arming, for intelligent traffic device
  struSetupParam.byLevel=1;

  LONG lHandle = NET_DVR_SetupAlarmChan_V41(lUserID,&struSetupParam);
  if (lHandle < 0)
  {
      printf("NET_DVR_SetupAlarmChan_V41 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  Sleep(20000);
  //Release arming  upload channel
  if (!NET_DVR_CloseAlarmChan_V30(lHandle))
  {
      printf("NET_DVR_CloseAlarmChan_V30 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //Logout user
  NET_DVR_Logout(lUserID);
  //Release SDK resource
  NET_DVR_Cleanup();`
  return;
}

See Also

NET_DVR_SetupAlarmChan_V41

NET_DVR_StartListen_V30

Reference Interface

This API is expended from

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_SetupAlarmChan_V41

This API is used to setup the uploading channel of alarm message.

LONG NET_DVR_SetupAlarmChan_V41(
  LONG                         lUserID,
  LPNET_DVR_SETUPALARM_PARAM   lpSetupParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpSetupParam
[in] Alarm arming parameter

Return Values

-1 means false, other values are as handle parameters of function NET_DVR_CloseAlarmChan. Please call NET_DVR_GetLastError to get the error code.

Remarks

Before calling this API to start arming, it requires to call NET_DVR_SetDVRMessageCallBack_V30 to get the uploaded alarm message.

See Also

NET_DVR_CloseAlarmChan_V30
NET_DVR_Login NET_DVR_Login_V30
NET_DVR_SetDVRMessageCallBack_V30

Reference Interface

NET_DVR_SetupAlarmChan_V30


NET_DVR_CloseAlarmChan_V30

This API is used to remove the alarm upload channel.

BOOL NET_DVR_CloseAlarmChan_V30(
  LONG   lAlarmHandle
);

Parameters

lAlarmHandle
[in] The return value of NET_DVR_SetupAlarmChan_V30
PUSH MODE: arming handle(lAlarmHandle), output parameter in the callback function set by NET_DVR_SetAlarmSetupResponseCallBack

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetupAlarmChan_V30

NET_DVR_SetAlarmSetupResponseCallBack


NET_DVR_StartListen_V30

This API is used to start listening and receive alarm information uploaded actively from the device (support multi-thread).

LONG NET_DVR_StartListen_V30(
  char           *sLocalIP,
  WORD           wLocalPort,
  MSGCallBack    DataCallback,
  void           *pUserData
);

Parameters

sLocalIP
[in]Local IP address of PC, can set as NULL
wLocalPort
[in] Local listening port No. of PC. It is configured by user and the settings should be consistent with that in device.
DataCallback
[in] Callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *MSGCallBack)(
  LONG               lCommand,
  NET_DVR_ALARMER    *pAlarmer,
  char               *pAlarmInfo,
  DWORD              dwBufLen,
  void               *pUser
);

Callback Function Parameters

lCommand
[out] Uploaded message type, and the types vary with alarm information. You can distinguish the alarm information according to the types,see details in the "Remarks" table.
pAlarmer
[out]Alarm device information, including device series No., IP address, user login ID handle.
pAlarmInfo
[out]Alarm information, judge the pAlarm structure via the lCommand value, see details in the "Remark" table.
dwBufLen
[out]Alarm information buffer size
pUser
[out] User data

Return Values

Return -1 on failure, the other return values are the handle parameters of NET_DVR_StopListen_V30 function. Please call NET_DVR_GetLastErrorto get the error code.

The possible error values returned from the API are listed as below:

Error type | Value | Description
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version does not match the device version.
NET_DVR_ORDER_ERROR | 12 | Calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. The input or output parameter of the API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | SDK resource allocation error.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | The user does not exist. Registered User ID has been written off or are not available.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETLISTEN_ERROR | 75 | Failed to listening.

Remarks

In order to make PC able to receive alarm information sent actively by device, it requires to set "IP address of remote management host" or "IP address of remote security control panel" in network configuration of device as the same with the PC IP address (that is the parameter sLocalIP in the API) , and set "port of remote management host" or "port of remote security control panel" as the same with the PC listening port (that is the parameter wLocalPort in the API)

The callback in the API is with higher priority than other callback function. That is, if the callback function in the API has been set, other callback function will not able to receive the alarm information. All the device alarm information will be returned in one callback function, distinguish the devices via the alarm information (pAlarmInfo）.

The first parameter(lCommand) and third parameter(pAlarmInfo) of this interface callback function is related:

Message type（lCommand） | Micro Definition | Upload Content | pAlarmInfo Corresponded Structure
VCA Alarm |  |  |
COMM_ALARM_RULE | 0x1102 | Behavior analysis information | NET_VCA_RULE_ALARM
COMM_ALARM_PDC | 0x1103 | People counting alarm upload | NET_DVR_PDC_ALRAM_INFO
COMM_UPLOAD_FACESNAP_RESULT | 0x1112 | Face capture results | NET_VCA_FACESNAP_RESULT
COMM_ALARM_FACE_DETECTION | 0x4010 | Face detection alarm information | NET_DVR_FACE_DETECTION
COMM_SNAP_MATCH_ALARM | 0x2902 | Results of face blacklist &whitelist comparison | NET_VCA_FACESNAP_MATCH_ALARM
COMM_ALARM_VQD_EX | 0x1116 | VQD alarm information | NET_DVR_VQD_ALARM
COMM_DIAGNOSIS_UPLOAD | 0x5100 | Alarm information of diagnosis server (VQD) | NET_DVR_DIAGNOSIS_UPLOAD
COMM_ALARM_VQD | 0x6000 | VQD diagnosis alarm information | NET_DVR_VQD_DIAGNOSE_INFO
COMM_SCENECHANGE_DETECTION_UPLOAD | 0x1130 | Scene change alarm information | NET_DVR_SCENECHANGE_DETECTION_RESULT
COMM_CROSSLINE_ALARM | 0x1131 | Over lane line alarm information | NET_DVR_CROSSLINE_ALARM
COMM_ALARM_AUDIOEXCEPTION | 0x1150 | Audio exception alarm information | NET_DVR_AUDIOEXCEPTION_ALARM
COMM_ALARM_DEFOCUS | 0x1151 | Defocus alarm information | NET_DVR_DEFOCUS_ALARM
COMM_UPLOAD_HEATMAP_RESULT | 0x4008 | Heat map alarm information | NET_DVR_HEATMAP_RESULT
COMM_SWITCH_LAMP_ALARM | 0x6002 | Alarm information of light turn on/off detection | NET_DVR_SWITCH_LAMP_ALARM
Intelligent Traffic |  |  |
COMM_ALARM_TFS | 0x1113 | Traffic enforcement alarm information | NET_DVR_TFS_ALARM
COMM_ALARM_TPS_V41 | 0x1114 | Alarm information of traffic parameters statistic (extended) | NET_DVR_TPS_ALARM_V41
COMM_ALARM_AID_V41 | 0x1115 | Traffic event alarm information (extended) | NET_DVR_AID_ALARM_V41
COMM_ITS_PLATE_RESULT | 0x3050 | Traffic capture result (vehicles, license plate recognition and captured pictures) upload | NET_ITS_PLATE_RESULT
COMM_ITS_TRAFFIC_COLLECT | 0x3051 | Traffic statistic data | NET_ITS_TRAFFIC_COLLECT
COMM_ITS_GATE_VEHICLE | 0x3052 | Entrance/exit vehicle capture data | NET_ITS_GATE_VEHICLE
COMM_ITS_GATE_FACE | 0x3053 | Entrance/exit face capture data | NET_ITS_GATE_FACE
COMM_ITS_GATE_COSTITEM | 0x3054 | Payment details of entrance/exit vehicle passing | NET_ITS_PASSVEHICLE_COST_ITEM
COMM_ITS_GATE_HANDOVER | 0x3055 | Entrance/exit duty shifting data | NET_ITS_HANDOVER_INFO
COMM_ITS_PARK_VEHICLE | 0x3056 | Parking lot data upload | NET_ITS_PARK_VEHICLE
COMM_ITS_BLACKLIST_ALARM | 0x3057 | Vehicle blacklist alarm upload | NET_ITS_ECT_BLACKLIST
COMM_VEHICLE_CONTROL_LIST_DSALARM | 0x3058 | Synchronize vehicle blacklist &whitelist data with alarm upload | NET_DVR_VEHICLE_CONTROL_LIST_DSALARM
COMM_VEHICLE_CONTROL_ALARM | 0x3059 | Upload alarm of vehicles in blacklist &whitelist | NET_DVR_VEHICLE_CONTROL_ALARM
COMM_FIRE_ALARM | 0x3060 | Fire control alarm upload | NET_DVR_FIRE_ALARM
COMM_VEHICLE_RECOG_RESULT | 0x3062 | Upload results of vehicle secondary recognition | NET_DVR_VEHICLE_RECOG_RESULT
COMM_SIGNAL_LAMP_ABNORMAL | 0x3080 | Signal lamp exception detection upload | NET_DVR_SIGNALLAMP_DETCFG
COMM_ALARM_TPS_REAL_TIME | 0x3081 | TPS real-time vehicle passing data upload | NET_DVR_TPS_REAL_TIME_INFO
COMM_ALARM_TPS_STATISTICS | 0x3082 | TPS vehicle passing statistics data upload | NET_DVR_TPS_STATISTICS_INFO
COMM_ITC_STATUS_DETECT_RESULT | 0x2810 | Real-time status detection results | NET_ITC_STATUS_DETECT_RESULT
COMM_ITS_ROAD_EXCEPTION | 0x4500 | Alarm information of intersection device exception | NET_ITS_ROADINFO
COMM_ITS_EXTERNAL_CONTROL_ALARM | 0x4520 | Alarm information of indicator external control | NET_DVR_EXTERNAL_CONTROL_ALARM
Security Control Panel |  |  |
COMM_SENSOR_VALUE_UPLOAD | 0x1120 | Real-time information of sensor data | NET_DVR_SENSOR_ALARM
COMM_SENSOR_ALARM | 0x1121 | Sensor alarm information | NET_DVR_SENSOR_ALARM
COMM_SWITCH_ALARM | 0x1122 | Relay alarm information | NET_DVR_SWITCH_ALARM
COMM_ALARMHOST_EXCEPTION | 0x1123 | Fault alarm information | NET_DVR_ALARMHOST_EXCEPTION_ALARM
COMM_ALARMHOST_SAFETYCABINSTATE | 0x1125 | ATM room status information | NET_DVR_ALARMHOST_SAFETYCABINSTATE
COMM_ALARMHOST_ALARMOUTSTATUS | 0x1126 | Alarm output or siren status information of security control panel | NET_DVR_ALARMHOST_ALARMOUTSTATUS
COMM_ALARMHOST_CID_ALARM | 0x1127 | Upload alarm of CID report of security control panel | NET_DVR_CID_ALARM
COMM_ALARMHOST_EXTERNAL_DEVICE_ALARM | 0x1128 | Alarm information of external devices of security control panel | NET_DVR_485_EXTERNAL_DEVICE_ALARMINFO
COMM_ALARMHOST_DATA_UPLOAD | 0x1129 | Alarm data information | NET_DVR_ALARMHOST_DATA_UPLOAD
Other Device Alarm |  |  |
COMM_ALARM | 0x1100 | Alarm information of motion detection, video loss,video tampering and I/O (supported by the device with version 3.0 or lower) | NET_DVR_ALARMINFO
COMM_ALARM_V30 | 0x4000 | Alarm information of motion detection, video loss,video tampering and I/O (supported by the device with version 3.0 or higher) | NET_DVR_ALARMINFO_V30
COMM_ALARM_V40 | 0x4007 | Alarm information of motion detection, video loss,video tampering and I/O, the alarm data length is variable. | NET_DVR_ALARMINFO_V40
COMM_IPCCFG | 0x4001 | Settings changed(when devices such as HDVR or NV connect to IPC)alarm information | NET_DVR_IPALARMINFO
COMM_IPCCFG_V31 | 0x4002 | Settings changed(when devices such as HDVR or NV connect to IPC) alarm information (Expended) | NET_DVR_IPALARMINFO_V31
COMM_IPC_AUXALARM_RESULT | 0x2820 | PIR alarm, wireless alarm, and emergency alarm information | NET_IPC_AUXALARM_RESULT
COMM_ALARM_DEVICE | 0x4004 | CVR device alarm information, expended because the channel No. is more than 256. | NET_DVR_ALARMINFO_DEV
COMM_ALARM_DEVICE_V40 | 0x4009 | CVR device alarm information (expanded, alarm information sub-structure is added) | NET_DVR_ALARMINFO_DEV_V40
COMM_ALARM_CVR | 0x4005 | CVR external alarm information | NET_DVR_CVR_ALARM
COMM_TRADEINFO | 0x1500 | ATM DVR transaction information | NET_DVR_TRADEINFO
COMM_ALARM_HOT_SPARE | 0x4006 | Hot spare exception alarm (in N+1 mode) information | NET_DVR_ALARM_HOT_SPARE
COMM_ALARM_BUTTON_DOWN_EXCEPTION | 0x1152 | Press button alarm information (IP main door station) | NET_BUTTON_DOWN_EXCEPTION_ALARM
COMM_ALARM_ACS | 0x5002 | Alarm information of access controller | NET_DVR_ACS_ALARM_INFO
COMM_ALARM_LCD | 0x5011 | LCD screen alarm information | NET_DVR_LCD_ALARM
COMM_UPLOAD_VIDEO_INTERCOM_EVENT | 0x1132 | Log information of video intercom event | NET_DVR_VIDEO_INTERCOM_EVENT
COMM_ALARM_VIDEO_INTERCOM | 0x1133 | Video intercom alarm information | NET_DVR_VIDEO_INTERCOM_ALARM
COMM_ALARM_DEC_VCA | 0x5010 | VCA decoding alarm information of decoder | NET_DVR_DEC_VCA_ALARM
COMM_ALARM_STORAGE_DETECTION | 0x4015 | Alarm information of storage VCA detection | NET_DVR_STORAGE_DETECTION_ALARM
COMM_CONFERENCE_CALL_ALARM | 0x5012 | Calling alarm information of conference terminal | NET_DVR_CONFERENCE_CALL_ALARM
COMM_INQUEST_ALARM | 0x6005 | Inquest DVR alarm information | NET_DVR_INQUEST_ALARM
COMM_PANORAMIC_LINKAGE_ALARM | 0x5213 | Panoramic view linkage to event information | NET_DVR_PANORAMIC_LINKAGE

See Also

NET_DVR_StopListen_V30

Reference Interface

This API is expended from

NET_DVR_StartListen


NET_DVR_StopListen_V30

This API is used to stop listening (support multi-thread).

BOOL NET_DVR_StopListen_V30(
  LONG    lListenHandle
);

Parameters

lListenHandle
[in] Listening handle, the return value of NET_DVR_StartListen_V30

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

See Also

NET_DVR_StartListen_V30

Reference Interface

NET_DVR_StopListen


NET_DVR_ClickKey

This API is used to operate the keys on remote control panel.

BOOL NET_DVR_ClickKey(
  LONG    lUserID,
  LONG    lKeyIndex
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lKeyIndex
[in] The index of keys, details as follow:
Macro Definition | Value | Implication
KEY_CODE_1 | 1 | Button1
KEY_CODE_2 | 2 | button2
KEY_CODE_3 | 3 | button3
KEY_CODE_4 | 4 | Button4
KEY_CODE_5 | 5 | Button5
KEY_CODE_6 | 6 | Button6
KEY_CODE_7 | 7 | Button7
KEY_CODE_8 | 8 | Button8
KEY_CODE_9 | 9 | Button9
KEY_CODE_0 | 10 | Button0
KEY_CODE_POWER | 11 | POWER
KEY_CODE_MENU | 12 | MENU
KEY_CODE_ENTER | 13 | ENTER
KEY_CODE_CANCEL | 14 | ESCS
KEY_CODE_UP/KEY_PTZ_UP_START | 15 | "UP" or "Tilt UP Start"
KEY_CODE_DOWN/KEY_PTZ_DOWN_START | 16 | "Down" or "Tilt Down Start"
KEY_CODE_LEFT/KEY_PTZ_LEFT_START | 17 | "Left" or "Pan Left Start"
KEY_CODE_RIGHT/KEY_PTZ_RIGHT_START | 18 | "Right" or "Pan Right Start"
KEY_CODE_EDIT/KEY_PTZ_AP1_START | 19 | "EDIT" or "Iris + Start"
KEY_CODE_ADD | 20 | Add
KEY_CODE_MINUS | 21 | Minus
KEY_CODE_PLAY | 22 | "PLAY"
KEY_CODE_REC | 23 | "REC"
KEY_CODE_PAN/KEY_PTZ_AP2_START | 24 | "PAN" or "Iris - Start"
KEY_CODE_M/KEY_PTZ_FOCUS2_START | 25 | "Multi preview" or "Focus - Start"
KEY_CODE_A/KEY_PTZ_FOCUS1_START | 26 | "Input mode(A)" or "Focus + Start"
KEY_CODE_F1 | 27 | "Voice Talk"
KEY_CODE_F2 | 28 | "System information"
KEY_PTZ_UP_STOP | 32 | "Tilt UP End"
KEY_PTZ_DOWN_STOP | 33 | "Tilt Down End"
KEY_PTZ_LEFT_STOP | 34 | "Pan Left End"
KEY_PTZ_RIGHT_STOP | 35 | "Pan Right End"
KEY_PTZ_AP1_STOP | 36 | "Iris + End"
KEY_PTZ_AP2_STOP | 37 | "Iris - End"
KEY_PTZ_FOCUS1_STOP | 38 | "Focus + End"
KEY_PTZ_FOCUS2_STOP | 39 | "Focus - End"
KEY_PTZ_B1_START | 40 | "Zoom + Start"
KEY_PTZ_B1_STOP | 41 | "Zoom + End"
KEY_PTZ_B2_START | 42 | "Zoom - Start"
KEY_PTZ_B2_STOP | 43 | "Zoom - End"
KEY_CODE_11 | 44 | Button11
KEY_CODE_12 | 45 | Button12
KEY_CODE_13 | 46 | Button13
KEY_CODE_14 | 47 | Button14
KEY_CODE_15 | 48 | Button15
KEY_CODE_16 | 49 | Button16

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_LockPanel

This API is used to lock the local control by device front panel.

BOOL NET_DVR_LockPanel(
  LONG    lUserID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_UnLockPanel NET_DVR_Login NET_DVR_Login_V30


NET_DVR_UnLockPanel

This API is used to resume device local control.

BOOL NET_DVR_UnLockPanel(
  LONG    lUserID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_LockPanel NET_DVR_Login NET_DVR_Login_V30


NET_DVR_PTZControl

This API is used to control PTZ (need start preview at first).

BOOL NET_DVR_PTZControl(
  LONG     lRealHandle,
  DWORD    dwPTZCommand,
  DWORD    dwStop
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwPTZCommand
[in] PTZ control commands:
Macro Definition | Value | Implication
LIGHT_PWRON | 2 | Connect lighting power
WIPER_PWRON | 3 | Turn on wiper switch
FAN_PWRON | 4 | Turn on fan switch
HEATER_PWRON | 5 | Turn on heater switch
AUX_PWRON1 | 6 | Turn on auxiliary device switch
AUX_PWRON2 | 7 | Turn on auxiliary device switch
ZOOM_IN | 11 | Focal distance enlarge(Magnification enlarge)
ZOOM_OUT | 12 | Focal distance decrease(Magnification decrease)
FOCUS_NEAR | 13 | Focus front
FOCUS_FAR | 14 | Focus back
IRIS_OPEN | 15 | Aperture enlarge
IRIS_CLOSE | 16 | Aperture narrow
TILT_UP | 21 | Tilt up
TILT_DOWN | 22 | Tilt down
PAN_LEFT | 23 | Pan left
PAN_RIGHT | 24 | Pan right
UP_LEFT | 25 | Tilt up and pan left
UP_RIGHT | 26 | Tilt up and pan right
DOWN_LEFT | 27 | Tilt down and pan left
DOWN_RIGHT | 28 | Tilt down and pan right
PAN_AUTO | 29 | PTZ scans left and right automatically
dwStop
[in] PTZ stop or start operation: 0-start, 1-stop

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every movement of operating PTZ needs to call the interface twice: start and stop control, decided by the last parameter(dwStop) in the interface.

It needs to start preview before calling this interface. Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

Default: PTZ turns around at the maximum speed.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_PTZControl_Other

This API is used to control PTZ (not need to start preview).

BOOL NET_DVR_PTZControl_Other(
  LONG     lUserID,
  LONG     lChannel,
  DWORD    dwPTZCommand,
  DWORD    dwStop
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwPTZCommand
[in] PTZ control commands:
Macro Definition | Macro Definition value | Implication
LIGHT_PWRON | 2 | Connect lighting power
WIPER_PWRON | 3 | Turn on wiper switch
FAN_PWRON | 4 | Turn on fan switch
HEATER_PWRON | 5 | Turn on heater switch
AUX_PWRON1 | 6 | Turn on auxiliary device switch
AUX_PWRON2 | 7 | Turn on auxiliary device switch
ZOOM_IN | 11 | Focal distance enlarge(Magnification enlarge)
ZOOM_OUT | 12 | Focal distance decrease(Magnification decrease)
FOCUS_NEAR | 13 | Focus front
FOCUS_FAR | 14 | Focus Back
IRIS_OPEN | 15 | Aperture enlarge
IRIS_CLOSE | 16 | Aperture narrow
TILT_UP | 21 | PTZ tilt up
TILT_DOWN | 22 | PTZ tilt down
PAN_LEFT | 23 | PTZ turns left
PAN_RIGHT | 24 | PTZ turns right
UP_LEFT | 25 | PTZ turns up and left
UP_RIGHT | 26 | PTZ turns up and right
DOWN_LEFT | 27 | PTZ turns down and left
DOWN_RIGHT | 28 | PTZ turns down and right
PAN_AUTO | 29 | PTZ scans left and right automatically
dwStop
[in] PTZ stop or start operation: 0-start, 1-stop

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every movement of operating PTZ needs to call the interface twice: start and stop control, decided by the last parameter(dwStop) in the interface.

It needs to start preview before calling this interface. Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

Default: PTZ turns around at the maximum speed.

If call NET_DVR_PTZControl to control PTZ, after the device receive the command and PTZ runs according to the command, it will return success to client when PTZ runs normally, and return false when PTZ failed to run. While, if call NET_DVR_PTZControl_Other, it will return success immediately after the device receive the command.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_PTZControlWithSpeed

This API is used to control PTZ with speed (need to start preview at first).

BOOL NET_DVR_PTZControlWithSpeed(
  LONG     lRealHandle,
  DWORD    dwPTZCommand,
  DWORD    dwStop,
  DWORD    dwSpeed
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30.
dwPTZCommand
[in] PTZ control commands, as follows:
Macro Definition | Macro Definition value | Implication
LIGHT_PWRON | 2 | Connect lighting power
WIPER_PWRON | 3 | Turn on wiper switch
FAN_PWRON | 4 | Turn on fan switch
HEATER_PWRON | 5 | Turn on heater switch
AUX_PWRON1 | 6 | Turn on auxiliary device switch
AUX_PWRON2 | 7 | Turn on auxiliary device switch
ZOOM_IN | 11 | Focal distance enlarge(Magnification enlarge)
ZOOM_OUT | 12 | Focal distance decrease(Magnification decrease)
FOCUS_NEAR | 13 | Focus front
FOCUS_FAR | 14 | Focus Back
IRIS_OPEN | 15 | Aperture enlarge
IRIS_CLOSE | 16 | Aperture narrow
TILT_UP | 21 | PTZ tilt up
TILT_DOWN | 22 | PTZ tilt down
PAN_LEFT | 23 | PTZ turns left
PAN_RIGHT | 24 | PTZ turns right
UP_LEFT | 25 | PTZ turns up and left
UP_RIGHT | 26 | PTZ turns up and right
DOWN_LEFT | 27 | PTZ turns down and left
DOWN_RIGHT | 28 | PTZ turns down and right
PAN_AUTO | 29 | PTZ scans left and right automatically
dwStop
[in] PTZ stop or start operation: 0-start, 1-stop.
dwSpeed
[in] PTZ control speed, control value configuration refer to different decoder speed. Value range[1,7].

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every movement of operating PTZ needs to call the interface twice: start and stop control, decided by the last parameter(dwStop) in the interface.

It needs to start preview before calling this interface. Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

Default: PTZ turns around at the maximum speed.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_PTZControlWithSpeed_Other

This API is used to control PTZ with speed (not need to start preview).

BOOL NET_DVR_PTZControlWithSpeed_Other(
  LONG     lUserID,
  LONG     lChannel,
  DWORD    dwPTZCommand,
  DWORD    dwStop,
  DWORD    dwSpeed
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwPTZCommand
[in] PTZ control commands:
Macro Definition | Macro Definition value | Implicaiton
LIGHT_PWRON | 2 | Connect lighting power
WIPER_PWRON | 3 | Turn on wiper switch
FAN_PWRON | 4 | Turn fan switch
HEATER_PWRON | 5 | Turn on the heater switch
AUX_PWRON1 | 6 | Turn on auxiliary equipment switch
AUX_PWRON2 | 7 | Turn on auxiliary equipment switch
ZOOM_IN | 11 | Focal distance larger(Rate larger)
ZOOM_OUT | 12 | Focal distance smaller(Rate smaller)
FOCUS_NEAR | 13 | Focus front
FOCUS_FAR | 14 | Focus back
IRIS_OPEN | 15 | Aperture enlarge
IRIS_CLOSE | 16 | Aperture narrow
TILT_UP | 21 | PTZ tilt up
TILT_DOWN | 22 | PTZ tilt down
PAN_LEFT | 23 | PTZ turns left
PAN_RIGHT | 24 | PTZ turns right
UP_LEFT | 25 | PTZ turns up and left
UP_RIGHT | 26 | PTZ turns up and right
DOWN_LEFT | 27 | PTZ turns down and left
DOWN_RIGHT | 28 | PTZ turns down and right
PAN_AUTO | 29 | PTZ scanning left and right automatically
dwStop
[in] PTZ stops or starts action: 0-start, 1-stop
dwSpeed
[in] PTZ control speed, user set by different decoder speed control value, value arrange: [1,7]

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every movement of operating PTZ needs to call the interface twice: start and stop control, decided by the last parameter(dwStop) in the interface.

It needs to start preview before calling this interface. Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

If call NET_DVR_PTZControlWithSpeed to control PTZ, after the device receive the command and PTZ runs according to the command, it will return success to client when PTZ runs normally, and return false when PTZ failed to run. While, if call NET_DVR_PTZControlWithSpeed_Other, it will return success immediately after the device receive the command.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_PTZPreset

This API is used to control PTZ preset (need to start preview at first).

BOOL NET_DVR_PTZPreset(
  LONG     lRealHandle,
  DWORD    dwPTZPresetCmd,
  DWORD    dwPresetIndex
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwPTZPresetCmd
[in] The commands to control PTZ preset point:
Macro Definition | Value | Implication
SET_PRESET | 8 | Set preset point
CLE_PRESET | 9 | Clear preset point
GOTO_PRESET | 39 | Goto preset point
dwPresetIndex
[in] The number of preset, it supports max 255 presets, the number starts from 1

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_PTZPreset_Other

This API is used to control PTZ preset.

BOOL NET_DVR_PTZPreset_Other(
  LONG     lUserID,
  LONG     lChannel,
  DWORD    dwPTZPresetCmd
  DWORD    dwPresetIndex
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwPTZPresetCmd
[in] The commands to control PTZ preset point:
Macro Definition | Value | Implication
SET_PRESET | 8 | Set preset point
CLE_PRESET | 9 | Clear preset point
GOTO_PRESET | 39 | Go to preset point
dwPresetIndex
[in] The number of preset, it supports max 255 presets, the number starts from 1

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

If call NET_DVR_PTZPreset to control PTZ, after the device receive the command and PTZ runs according to the command, it will return success to client when PTZ runs normally, and return false when PTZ failed to run. While, if call NET_DVR_PTZPreset_Other, it will return success immediately after the device receive the command.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_PTZCruise

This API is used to control PTZ patrol (need to start preview at first).

BOOL NET_DVR_PTZCruise(
  LONG     lRealHandle,
  DWORD    dwPTZCruiseCmd,
  BYTE     byCruiseRoute,
  BYTE     byCruisePoint,
  WORD     wInput
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwPTZCruiseCmd
[in] The commands to control PTZ patrol:
Macro Definition | Value | Implication
FILL_PRE_SEQ | 30 | Add preset to the patrol sequence
SET_SEQ_DWELL | 31 | Set dwell time of the patrol point
SET_SEQ_SPEED | 32 | Set patrol speed
CLE_PRE_SEQ | 33 | Delete preset point from the patrol sequence
RUN_SEQ | 37 | Start running the patrol
STOP_SEQ | 38 | Stop running the patrol
byCruiseRoute
[in] The number of patrol route, it supports maximum 32 routes, the number starts from 1
byCruisePoint
[in] The number of preset, it supports maximum 32 presets, the number starts from 1
wInput
[in] The value is different for different commands, preset(maximum is 255), dwell time (maximum is 255), Speed (maximum is 40)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_PTZCruise_Other

This API is used to control PTZ cruise.

BOOL NET_DVR_PTZCruise_Other(
  LONG     lUserID,
  LONG     lChannel,
  DWORD    dwPTZCruiseCmd,
  BYTE     byCruiseRoute,
  BYTE     byCruisePoint,
  WORD     wInput
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwPTZCruiseCmd
[in] The command to control PTZ patrol:
Macro Definition | Value | Implication
FILL_PRE_SEQ | 30 | Add preset into patrol sequence
SET_SEQ_DWELL | 31 | Set dwell time of the patrol point
SET_SEQ_SPEED | 32 | Set patrol speed
CLE_PRE_SEQ | 33 | Delete preset from the patrol sequence
RUN_SEQ | 37 | Start running the patrol
STOP_SEQ | 38 | Stop running the patrol
byCruiseRoute
[in] The number of patrol route, it supports maximum 32 routes, the number starts from 1
byCruisePoint
[in] The number of preset, it supports max 32 presets, the number starts from 1
wInput
[in] The value is different for different commands, preset(maximum is 255), dwell time (maximum is 255), speed (maximum is 40)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

If call NET_DVR_PTZCruise to control PTZ, after the device receive the command and PTZ runs according to the command, it will return success to client when PTZ runs normally, and return false when PTZ failed to run. While, if call NET_DVR_PTZCruise_Other, it will return success immediately after the device receive the command.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_PTZTrack

This API is used to realize PTZ pattern operation (need to start preview at first).

BOOL NET_DVR_PTZTrack(
  LONG     lRealHandle,
  DWORD    dwPTZTrackCmd
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwPTZTrackCmd
[in] The command to control PTZ pattern:
Macro Definition | Value | Implication
STA_MEM_CRUISE | 34 | Start recording pattern
STO_MEM_CRUISE | 35 | Stop recording pattern
RUN_CRUISE | 36 | Start running according to the pattern

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_PTZTrack_Other

This API is used to realize PTZ pattern operation.

BOOL NET_DVR_PTZTrack_Other(
  LONG     lUserID,
  LONG     lChannel,
  DWORD    dwPTZTrackCmd
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwPTZTrackCmd
[in] The command to control PTZ pattern:
Macro Definition | Value | Implication
STA_MEM_CRUISE | 34 | Start recording pattern
STO_MEM_CRUISE | 35 | Stop recording pattern
RUN_CRUISE | 36 | Start running according to the pattern

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, it will not able to control PTZ.

If call NET_DVR_PTZTrack to control PTZ, after the device receive the command and PTZ runs according to the command, it will return success to client when PTZ runs normally, and return false when PTZ failed to run. While, if call NET_DVR_PTZTrack_Other, it will return success immediately after the device receive the command.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_TransPTZ

This API is used to set transparent PTZ control, please start preview at first.

BOOL NET_DVR_TransPTZ(
  LONG     lRealHandle,
  char     *pPTZCodeBuf,
  DWORD    dwBufSize
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
pPTZCodeBuf
[in] Buffer pointer to save PTZ control code
dwBufSize
[in] Length of PTZ control code

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It supports sending the control command code directly to the PTZ decoder through the device by calling this API, and it's not neccessary to configure the decoder parameter in the device.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_TransPTZ_Other

This API is used to set transparent PTZ control.

BOOL NET_DVR_TransPTZ_Other(
  LONG     lUserID,
  LONG     lChannel,
  char     *pPTZCodeBuf,
  DWORD    dwBufSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
pPTZCodeBuf
[in] Buffer pointer to save PTZ control code
dwBufSize
[in] Length of PTZ control code

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It supports sending the control command code directly to the PTZ decoder through the device by calling this API, and it's not neccessary to configure the decoder parameter in the device.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_TRACK_PARAMCFG | Get local menue regulation of IP speed dome | valid | NET_DVR_TRACK_PARAMCFG | 197
NET_DVR_GET_PTZPOS | Get PTZ parameters of IP speed dome | valid | NET_DVR_PTZPOS | 293
NET_DVR_GET_PTZSCOPE | Get PTZ scope parameters of IP speed dome | valid | NET_DVR_PTZSCOPE | 294
NET_DVR_GET_CRUISE | Get cruise parameters | valid | NET_DVR_CRUISE_PARA | 1020
NET_DVR_GET_PRESET_NUM | Get preset number of fisheye IPC | valid | NET_DVR_PRESET_INFO | 3226
NET_DVR_GET_PTZCRUISE_NUM | Get cruise path number of fisheye IPC | valid | NET_DVR_PTZCRUISE_INFO | 3227
NET_DVR_GET_MOTION_TRACK_CFG | Get trace parameters of fisheye IPC and Dome camera | valid | NET_DVR_MOTION_TRACK_CFG | 3228
NET_DVR_GET_BASICPARAMCFG | Get PTZ basic parameters | Channel No. | NET_DVR_PTZ_BASICPARAMCFG | 3270
NET_DVR_GET_PTZOSDCFG | Get PTZ OSD configuration parameters | Channel No. | NET_DVR_PTZ_OSDCFG | 3272
NET_DVR_GET_POWEROFFMEMCFG | Get power Off memory mode parameters | Channel No. | NET_DVR_PTZ_POWEROFFMEMCFG | 3274
NET_DVR_GET_PRIORITIZECFG | Get prioritize PTZ configuration parameters | Channel No. | NET_DVR_PTZ_PRIORITIZECFG | 3281
NET_DVR_GET_PTZLOCKCFG | Get PTZ locking parameters | Channel No. | NET_DVR_PTZ_LOCKCFG | 3287
NET_DVR_GET_PRIVACY_MASKS_ENABLECFG | Get PTZ privacy mask global enabling | Channel No. | NET_DVR_PRIVACY_MASKS_ENABLECFG | 3291
NET_DVR_GET_PTZ_PARKACTION_CFG | Get PTZ park action parameters | valid | NET_DVR_MOTION_TRACK_CFG | 3314
NET_DVR_GET_SCH_TASK | Get PTZ timing task | valid | NET_DVR_TIME_TASK | 3381
NET_DVR_GET_PRESET_NAME | Get preset name | valid | NET_DVR_PRESET_NAME | 3383
NET_DVR_GET_SCHEDULE_AUTO_TRACK_CFG | Get scheduled smart tracking parameters | Channel No. | NET_DVR_SCHEDULE_AUTO_TRACK_CFG | 3400
NET_DVR_GET_PHY_RATIO | Get physical ratio coordinate information | Channel No. | NET_DVR_PHY_RATIO | 3606

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_SET_TRACK_PARAMCFG | Set local menue regulation of speed dome | valid | NET_DVR_NET_DVR_TRACK_PARAMCFG | 196
NET_DVR_SET_PTZPOS | Set PTZ parameters of IP speed dome | valid | NET_DVR_PTZPOS | 292
NET_DVR_SET_CRUISE | Set cruise parameters | valid | NET_DVR_CRUISE_PARA | 1021
NET_DVR_SET_MOTION_TRACK_CFG | Set track parameter of fisheye IPC and speed dome | valid | NET_DVR_MOTION_TRACK_CFG | 3229
NET_DVR_SET_BASICPARAMCFG | Set PTZ basic parameters | Channel No. | NET_DVR_PTZ_BASICPARAMCFG | 3271
NET_DVR_SET_PTZOSDCFG | Set PTZ OSD configuration parameters | Channel No. | NET_DVR_PTZ_OSDCFG | 3273
NET_DVR_SET_POWEROFFMEMCFG | Set power off memory mode parameters | Channel No. | NET_DVR_PTZ_POWEROFFMEMCFG | 3275
NET_DVR_SET_PRIORITIZECFG | Set prioritize PTZ parameters | Channel No. | NET_DVR_PTZ_PRIORITIZECFG | 3282
NET_DVR_SET_PTZLOCKCFG | Set PTZ locking parameters | Channel No. | NET_DVR_PTZ_LOCKCFG | 3288
NET_DVR_SET_PRIVACY_MASKS_ENABLECFG | Set PTZ privacy mask global enabling | Channel No. | NET_DVR_PRIVACY_MASKS_ENABLECFG | 3292
NET_DVR_SET_PTZ_PARKACTION_CFG | Set park action parameters | valid | NET_DVR_PTZ_PARKACTION_CFG | 3315
NET_DVR_SET_SCH_TASK | Set park action task | valid | NET_DVR_TIME_TASK | 3380
NET_DVR_SET_PRESET_NAME | Set preset name | valid | NET_DVR_SET_PRESET_NAME | 3382

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_PTZSelZoomIn

This API is used to control PTZ to enlarge or narrow the selected image region (requires starting live view firstly).

BOOL NET_DVR_PTZSelZoomIn(
  LONG                      lRealHandle,
  LPNET_DVR_POINT_FRAME     pStruPointFrame
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
pStruPointFrame
[in] Position information of PTZ image region

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to realize 3D intelligent positioning function, and it will take effect just when the front-end device supports it.

If suppose the frame of current live view image is 352 * 288, the origin point is the upper left corner of the display box. The calculation method of coordinate value in parameter pStruPointFrame (here take X-axis as an example):
xTop = (upper left point of the region currently selected by mouse) * 255/352.
The zoom-in condition: xBottom - xTop > 2.
The zoom-out condition: xBottom - xTop > 0 and yBottom - yTop > 0.


NET_DVR_PTZSelZoomIn_EX

This API is used to control PTZ to enlarge or narrow the selected image region.

BOOL NET_DVR_PTZSelZoomIn_EX(
  LONG                      lUserID,
  LONG                      lChannel,
  LPNET_DVR_POINT_FRAME     pStruPointFrame
);

Parameters

lUserID
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
lChannel
[in] Channel number
pStruPointFrame
[in] PTZ image location position information

Return Values

Returns TRUE on success, FALSE on failure, Please call NET_DVR_GetLastError to get the error code.

Remarks

To realize the 3D positioning function of the interface, it requires the support of front-end devices. Whether the device supports 3D positioning function, can be determined through device PTZ capability set PTZAbility), API:NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <PTZZoomIn>.


NET_DVR_GetPTZCruise

This API is used to get cruise path of PTZ.

BOOL NET_DVR_GetPTZCruise(
  LONG                     lUserID,
  LONG                     lChannel,
  LONG                     lCruiseRoute,
  LPNET_DVR_CRUISE_RET     lpCruiseRet
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lCruiseRoute
[in] Sequence of path
lpCruiseRet
[out] Return the structure of LPNET_DVR_CRUISE_RET, the path of cruise

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_StartVoiceCom_V30

This API is used to start voice talk.(Not supported by Linux version)

LONG NET_DVR_StartVoiceCom_V30(
  LONG                  lUserID,
  DWORD                 dwVoiceChan,
  BOOL                  bNeedCBNoEncData,
  fVoiceDataCallBack    cbVoiceDataCallBack,
  void                  *pUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwVoiceChan
[in] Audio channel number, starts from 1;In regard to the IP channel number, it equals to byStartDTalkChan add the IP channel index. For example, if you want to voice talk with channel 02 of NVR in client, dwVoiceChan = byStartDTalkChan+2.
bNeedCBNoEncData
[in] The audio type that you want to callback: 0- encoded audio data, 1-PCM original data before encoded
cbVoiceDataCallBack
[in] Audio data callback function
pUser
[in] User data pointer

Callback Function

typedef void(CALLBACK *fVoiceDataCallBack)(
  LONG     lVoiceComHandle,
  char     *pRecvDataBuffer,
  DWORD    dwBufSize,
  BYTE     byAudioFlag,
  void     *pUser
);

Callback Function Parameters

lVoiceComHandle
The return value of NET_DVR_StartVoiceCom_V30
pRecvDataBuffer
Pointer of the buffer to save the audio data
dwBufSize
Audio data size
byAudioFlag
Audio data type: 0- collected by local PC, 1- sent from the device
pUser
User data pointer

Return Values

Return -1 if it is failed, and other values are as handle parameters of functions like NET_DVR_StopVoiceCom. Please call NET_DVR_GetLastError to get error code.

Remarks

Under Windows 7 system, if no external audio devices ,this interface will return false.
Before calling this API, it supports to get the audio encoding format (NET_DVR_COMPRESSION_AUDIO) of the device, by calling NET_DVR_GetDVRConfig.

If current encoding format is G722, audio data sampling frequency is 16000, 16 bytes sampling and monophonic. Audio playing format should be defined as following:

const int SAMPLES_PER_SECOND = 16000;
const int CHANNEL = 1;
const int BITS_PER_SAMPLE = 16;
WAVEFORMATEX m_wavFormatEx;
m_wavFormatEx.cbSize = sizeof(m_wavFormatEx);
m_wavFormatEx.nBlockAlign = CHANNEL * BITS_PER_SAMPLE / 8;
m_wavFormatEx.nChannels = CHANNEL;
m_wavFormatEx.nSamplesPerSec = SAMPLES_PER_SECOND;
m_wavFormatEx.wBitsPerSample = BITS_PER_SAMPLE;
m_wavFormatEx.nAvgBytesPerSec = SAMPLES_PER_SECOND*m_wavFormatEx.nBlockAlign

If current encoding format is G711/G726, the audio data sampling frequency is 8000, 16 bytes sampling and monophonic. Audio playing format should be defined as following:

> const int SAMPLES_PER_SECOND_G711_MU = 8000;
const int CHANNEL = 1;
const int BITS_PER_SAMPLE = 16;
WAVEFORMATEX m_wavFormatEx;
m_wavFormatEx.cbSize = sizeof(m_wavFormatEx);
m_wavFormatEx.nBlockAlign = CHANNEL * BITS_PER_SAMPLE / 8;
m_wavFormatEx.nChannels = CHANNEL;
m_wavFormatEx.nSamplesPerSec = SAMPLES_PER_SECOND_G711_MU;
m_wavFormatEx.wBitsPerSample = BITS_PER_SAMPLE;
m_wavFormatEx.nAvgBytesPerSec = SAMPLES_PER_SECOND_G711_MU* m_wavFormatEx.nBlockAlign;

See Also

NET_DVR_StopVoiceCom NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_StartVoiceCom


NET_DVR_SetVoiceDataCallBack

This API is used to register callback function to receive voice data.

BOOL NET_DVR_SetVoiceDataCallBack(
  LONG                  lVoiceComHandle,
  BOOL                  bNeedCBNoEncData,
  fVoiceDataCallBack    cbVoiceDataCallBack,
  void                  *pUser
);

Parameters

lVoiceComHandle
[in] The return value of NET_DVR_StartVoiceCom_V30 or NET_DVR_StartVoiceCom_MR_V30
Push Mode: voice talk handle, the handle returned from the callback function set by NET_DVR_SetVoiceResponseCallBack
bNeedCBNoEncData
[in] The audio data type to be called back: 0- encoded audio data, 1- original data befor encoded. For voice forwarding, it supports encoded audio data only, and so this parameter is invalid.
cbVoiceDataCallBack
[in] Callback function of voice data
pUser
[in] User data

Callback Function

typedef void(CALLBACK *fVoiceDataCallBack)(
  LONG     lVoiceComHandle,
  char     *pRecvDataBuffer,
  DWORD    dwBufSize,
  BYTE     byAudioFlag,
  void     *pUser
);

Callback Function Parameters

lVoiceComHandle
[out] Current voice talk handle
pRecvDataBuffer
[out] Voice data content
dwBufSize
[out] Buffer size
byAudioFlag
[out] Voice flag: 0- data collected from local computer, 1- voice data sent by the device
pUser
[out] User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartVoiceCom_V30 NET_DVR_StartVoiceCom_MR_V30

NET_DVR_SetVoiceResponseCallBack


NET_DVR_SetVoiceComClientVolume

This API is used to set PC-end volume of voice talk.

BOOL NET_DVR_SetVoiceComClientVolume(
  LONG     lVoiceComHandle,
  WORD     wVolume
);

Parameters

lVoiceComHandle
[in] The return value of NET_DVR_StartVoiceCom or NET_DVR_StartVoiceCom_V30
wVolume
[in] The volume after setting, from 0 to 0xffff

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartVoiceCom NET_DVR_StartVoiceCom_V30


NET_DVR_StopVoiceCom

This API is used to stop voice talk or voice forwarding.

BOOL NET_DVR_StopVoiceCom(
  LONG     lVoiceComHandle
);

Parameters

lVoiceComHandle
[in] The return value of NET_DVR_StartVoiceCom,NET_DVR_StartVoiceCom_V30, NET_DVR_StartVoiceCom_MR or NET_DVR_StartVoiceCom_MR_V30
PUSH MODE: voice talk handle(lVoiceHandle), output parameter in the callback function set by NET_DVR_SetVoiceResponseCallBack

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartVoiceCom NET_DVR_StartVoiceCom_V30
NET_DVR_StartVoiceCom_MR NET_DVR_StartVoiceCom_MR_V30

NET_DVR_SetVoiceResponseCallBack


NET_DVR_StartVoiceCom_MR_V30

This API is used to start voice forwarding and to get the encoded audio data.

LONG NET_DVR_StartVoiceCom_MR_V30(
  LONG                  lUserID,
  DWORD                 dwVoiceChan,
  fVoiceDataCallBack    cbVoiceDataCallBack,
  void                  *pUser
>);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwVoiceChan
[in] Audio channel number, start from 1;In regard to the IP channel number, it equals to byStartDTalkChan add the IP channel index. For example, if you want to voice talk with channel 02 of NVR in client, dwVoiceChan = byStartDTalkChan+2.
cbVoiceDataCallBack
[in] Callback function of audio data, the obtained data is encoded, and requires to call the audio decoding APIs (refer to Audio Encoding & Decoding chapter) to get PCM data
pUser
[in] User data pointe

Callback Function

typedef void(CALLBACK *fVoiceDataCallBack)(
  LONG     lVoiceComHandle,
  char     *pRecvDataBuffer,
  DWORD    dwBufSize,
  BYTE     byAudioFlag,
  void     *pUser
);

Callback Function Parameters

lVoiceComHandle
The return value of NET_DVR_StartVoiceCom_MR_V30
pRecvDataBuffer
Pointer of the buffer to save the audio data
dwBufSize
Audio data size
byAudioFlag
Audio data type: 1- audio data sent from the device
pUser
User data pointer

Return Values

Return -1 if it is failed, and other values are as handle parameters of functions like NET_DVR_StopVoiceCom. Please call NET_DVR_GetLastError to get the error code.

Remarks

Under Windows 7 system, if no external audio devices ,this interface will return false.
Before calling this API, it supports to get the audio encoding format (NET_DVR_COMPRESSION_AUDIO) of the device, by calling
    NET_DVR_GetDVRConfig.
If current encoding format is G722, audio data sampling frequency is 16000, 16 bytes sampling and monophonic. Audio playing format should be defined as following:
const int SAMPLES_PER_SECOND = 16000;
const int CHANNEL = 1;
const int BITS_PER_SAMPLE = 16;
WAVEFORMATEX m_wavFormatEx;
m_wavFormatEx.cbSize = sizeof(m_wavFormatEx);
m_wavFormatEx.nBlockAlign = CHANNEL * BITS_PER_SAMPLE / 8;
m_wavFormatEx.nChannels = CHANNEL;
m_wavFormatEx.nSamplesPerSec = SAMPLES_PER_SECOND;
m_wavFormatEx.wBitsPerSample = BITS_PER_SAMPLE;
m_wavFormatEx.nAvgBytesPerSec = SAMPLES_PER_SECOND*m_wavFormatEx.nBlockAlign

If current encoding format is G711/G726, the audio data sampling frequency is 8000, 16 bytes sampling and monophonic. Audio playing format should be defined as following:
const int SAMPLES_PER_SECOND_G711_MU = 8000;
const int CHANNEL = 1;
const int BITS_PER_SAMPLE = 16;
WAVEFORMATEX m_wavFormatEx;
m_wavFormatEx.cbSize = sizeof(m_wavFormatEx);
m_wavFormatEx.nBlockAlign = CHANNEL * BITS_PER_SAMPLE / 8;
m_wavFormatEx.nChannels = CHANNEL;
m_wavFormatEx.nSamplesPerSec = SAMPLES_PER_SECOND_G711_MU;
m_wavFormatEx.wBitsPerSample = BITS_PER_SAMPLE;
m_wavFormatEx.nAvgBytesPerSec = SAMPLES_PER_SECOND_G711_MU* m_wavFormatEx.nBlockAlign;

See Also

NET_DVR_StopVoiceCom NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_StartVoiceCom_MR


NET_DVR_VoiceComSendData

This API is used to forward encoded audio data to the device.

BOOL NET_DVR_VoiceComSendData(
  LONG     lVoiceComHandle,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lVoiceComHandle
[in] The return value of NET_DVR_StartVoiceCom_MR or NET_DVR_StartVoiceCom_MR_V30
pSendBuf
[in] Pointer of voice data buffer
dwBufSize
[in] Size of voice data, which is 80 bytes if the audio format is OggVorbis, or 160 bytes if the audio format is G711.

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to send encoded audio data to the device. If the audio data is original PCM format, please call NET_DVR_EncodeG722Frame (for OggVorbis) or NET_DVR_EncodeG711Frame (for G711) to encode the data and then send to the device.

See Also

NET_DVR_StartVoiceCom_MR NET_DVR_StartVoiceCom_MR_V30


NET_DVR_ClientAudioStart_V30

This API is used to start capturing PC audio for voice broadcast. (Not supported by Linux version currently)

BOOL NET_DVR_ClientAudioStart_V30(
  fVoiceDataCallBack    cbVoiceDataCallBack,
  void                  *pUser
);

Parameters

cbVoiceDataCallBack
[in] Callback function of audio data
pUser
[in] Pointer of user data

Callback Function

typedef void(CALLBACK *fVoiceDataCallBack)(
  char     *pRecvDataBuffer,
  DWORD    dwBufSize,
  void     *pUser
);

Callback Function Parameters

pRecvDataBuffer
Pointer of callback data buffer
dwBufSize
Size of audio data
pUser
Pointer of user data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_ORDER_ERROR | 12 | API calling order error.

Remarks

The interface will return FALSE if there is no peripheral audio device on Windows 7 OS.
To achieve audio broadcast, should call firstly NET_DVR_ClientAudioStart_V30 or NET_DVR_ClientAudioStart to collect audio data of current PC, and then call NET_DVR_AddDVR or NET_DVR_AddDVR_V30 to add device one by one and transfer collected data to device in the meantime.

See Also

NET_DVR_ClientAudioStop

Reference Interface

NET_DVR_ClientAudioStart


NET_DVR_AddDVR_V30

This API is used to add one voice channel of the device to the broadcast group which supports receiving voice from PC.

LONG NET_DVR_AddDVR_V30(
  LONG     lUserID,
  DWORD    dwVoiceChan
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwVoiceChan
[in] The voice channel number, starts from 1

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_DelDVR_V30 or other functions. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.

Remarks

To achieve voice broadcast, please call NET_DVR_ClientAudioStart_V30 firstly to start collecting audio data of local PC, then call NET_DVR_AddDVR_V30 to add device one by one and transfer the collected audio data to the added devices in the meantime.

It supports to add max 512 devices to the broadcast group by the SDK.

See Also

NET_DVR_DelDVR_V30 NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_AddDVR


NET_DVR_DelDVR_V30

This API is used to delete audio channel of DVR from the broadcast group which can receive audio data from PC.

BOOL NET_DVR_DelDVR_V30(
  LONG   lVoiceHandle
);

Parameters

lVoiceHandle
[in] The return value of NET_DVR_AddDVR_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AddDVR_V30

Reference Interface

NET_DVR_DelDVR


NET_DVR_ClientAudioStop

This API is used to stop collecting audio data in PC-end for the broadcast.

BOOL NET_DVR_ClientAudioStop(
);

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_ORDER_ERROR | 12 | API calling order error.

See Also

NET_DVR_ClientAudioStart NET_DVR_ClientAudioStart_V30


NET_DVR_EncodeG711Frame

This API is used to encode G711 audio.

BOOL NET_DVR_EncodeG711Frame(
  unsigned int    iType,
  unsigned char   *pInBuffer,
  unsigned char   *pOutBuffer
);

Parameters

iType
[in] Encoding type: 0- Mu law encoding, none 0- A law encoding
pInBuffer
[in] Input buffer, PCM data is 8000 sample rate, 16 bit, Mono, and the size of input data is 320 bytes
pOutBuffer
[out] Output buffer, the size of output encoded data is 160 bytes

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used mainly for voice talking and voice forwarding. When you want to transfer the original audio data from client to the device, please call this API to encode the data and then transfer the encoded data to the device. When the client get the encoded voice stream from device, you can call NET_DVR_DecodeG711Frame to decode the data. Before calling the encoding and decoding functions, it doesn’t require initial operation.

See Also

NET_DVR_DecodeG711Frame


NET_DVR_DecodeG711Frame

This API is used to decode G711 audio to PCM.

BOOL NET_DVR_DecodeG711Frame(
  unsigned int    iType,
  unsigned char   *pInBuffer,
  unsigned char   *pOutBuffer
);

Parameters

iType
[in] Encoding type: 0-Mu law encoding, none 0- A law encoding
pInBuffer
[in] Input buffer which size should be 160 bytes
pOutBuffer
[out] Output buffer. PCM data is 8000 sample rate, 16 bit, Mono, and the size of output data is 320 bytes

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

It is used mainly for voice talking and voice forwarding.

When you want to transfer the original audio data from client to the device, please call NET_DVR_EncodeG711Frame to encode the data and then transfer the encoded data to the device. When the client get the encoded voice stream from device, you can call this API to decode the data. Before calling the encoding and decoding functions, it doesn’t require initial operation.

See Also

NET_DVR_EncodeG711Frame


NET_DVR_InitG722Encoder

This API is used to initialize audio encoding.

void* NET_DVR_InitG722Encoder(
);

Return Values

Return -1 if it is failed, and other return values could be used as handle of audio encoding. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_ReleaseG722Encoder NET_DVR_EncodeG722Frame


NET_DVR_EncodeG722Frame

This API is used to encode G722 audio.

BOOL NET_DVR_EncodeG722Frame(
  void            *pEncodeHandle,
  unsigned char   *pInBuffer,
  unsigned char   *pOutBuffer
);

Parameters

pEncodeHandle
[in] Audio encoding handle, the return value of NET_DVR_InitG722Encoder
pInBuffer
[in] Input buffer, PCM data is 16000 sample rate, 16 bit, Mono, and the size of input data should be 1280 bytes
pOutBuffer
[out] Output buffer, the size of output encoded data is 80 bytes

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used mainly for voice talking and voice forwarding.

When you want to transfer the original audio data from client to the device, please call this API to encode the data and then transfer the encoded data to the device. When the client get the encoded voice stream from device, you can call NET_DVR_DecodeG722Frame to decode the data. Before calling the encoding and decoding functions, it requires initial operation (NET_DVR_InitG722Encoder or NET_DVR_InitG722Decoder), and after calling them, please release the resource by calling NET_DVR_ReleaseG722Encoder or NET_DVR_ReleaseG722Decoder.

See Also

NET_DVR_InitG722Encoder


NET_DVR_ReleaseG722Encoder

This API is used to release audio decode resource.

void NET_DVR_ReleaseG722Encoder(
  void   *pEncodeHandle
);

Parameters

pEncodeHandle
[in] Audio decode handle, the return value of NET_DVR_InitG722Encoder

Return Values

None. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InitG722Encoder


NET_DVR_InitG722Decoder

This API is used to initialize audio decoding.

void* NET_DVR_InitG722Decoder(
  int   nBitrate
);

Parameters

nBitrate
[in] The sample rate, it should be 16000bps

Return Values

Return -1 if it is failed, and other return values could be used as handle of audio decoding. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_ReleaseG722Decoder NET_DVR_DecodeG722Frame


NET_DVR_DecodeG722Frame

This API is used to decode audio of G722.

BOOL NET_DVR_DecodeG722Frame(
  void            *pDecHandle,
  unsigned char   *pInBuffer,
  unsigned char   *pOutBuffer
);

Parameters

pDecHandle
[in] Audio decoding handle, the return value of NET_DVR_InitG722Decoder
pInBuffer
[in] Input buffer which size is 80 bytes
pOutBuffer
[out]Output buffer (PCM data), the sample rate is 16000, 16 bit, Mono, and the size of output data is 1280 bytes.

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

It is used mainly for voice talking and voice forwarding.

When you want to transfer the original audio data from client to the device, please call NET_DVR_EncodeG722Frame to encode the data and then transfer the encoded data to the device. When the client get the encoded voice stream from device, you can call this API to decode the data. Before calling the encoding and decoding functions, it requires initial operation (NET_DVR_InitG722Encoder or NET_DVR_InitG722Decoder), and after calling them, please release the resource by calling NET_DVR_ReleaseG722Encoder or NET_DVR_ReleaseG722Decoder.

See Also

NET_DVR_InitG722Decoder


NET_DVR_ReleaseG722Decoder

This API is used to release audio decode resource.

void NET_DVR_ReleaseG722Decoder(
  void   *pDecHandle
);

Parameters

pDecHandle
[in] Audio decode handle, the return value of NET_DVR_InitG722Decoder

Return Values

None. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InitG722Decoder


NET_DVR_InitG726Encoder

This API is used to initialize audio encoding function.

void* NET_DVR_InitG726Encoder(
  void    **pEncMoudle
);

Parameters

pEncMoudle
[out] Encoding module handle, used as the input parameter when encoding the audio data

Return Values

Return -1 if it is failed, and other return values could be used as handle of audio encoding. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_EncodeG726Frame NET_DVR_ReleaseG726Encoder


NET_DVR_EncodeG726Frame

This API is used to encode audio of G726.

BOOL NET_DVR_EncodeG726Frame(
  void            *pEncMoudle,
  unsigned char   *pInBuffer,
  unsigned char   *pOutBuffer,
  BYTE            byReset
);

Parameters

pEncMoudle
[in] Audio encoding handle, the output parameter value of NET_DVR_InitG726Encoder
pInBuffer
[in] Input buffer. PCM data is 8000 sample rate, 16 bit, Mono, and the size of output data is 640 bytes
pOutBuffer
[out] Output buffer which size is 80 bytes
byReset
[in] Whether to reset or not: 0- no, 1- yes, the first frame requires to be reset

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used mainly for voice talking and transmitting. To transfer client original audio data to device, please call audio encoding API to encode the data and transfer it to device; when client get encoded stream from device, please call audio decoding function NET_DVR_DecodeG726Frame to decode the stream. Before calling the encoding and decoding functions, it requires initial operation, and please release the resource after calling them.

See Also

NET_DVR_InitG726Encoder


NET_DVR_ReleaseG726Encoder

This API is used to release audio encoding resource.

void NET_DVR_ReleaseG726Encoder(
  void   *pEncHandle
);

Parameters

pEncHandle
[in] Audio encoding handle, the return value of NET_DVR_InitG726Encoder

Return Values

None. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InitG726Encoder


NET_DVR_InitG726Decoder

This API is used to initialize audio decoding function.

void* NET_DVR_InitG726Decoder(
  void    **pDecMoudle
);

Parameters

pDecMoudle
[out] Decoding module handle, used as the input parameter when decoding the audio data

Return Values

Return -1 if it is failed, and other return values could be used as handle of audio decoding. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_DecodeG726Frame NET_DVR_ReleaseG726Decoder


NET_DVR_DecodeG726Frame

This API is used to decode audio of G726.

BOOL NET_DVR_DecodeG726Frame(
  void            *pDecMoudle,
  unsigned char   *pInBuffer,
  unsigned char   *pOutBuffer,
  BYTE            byReset
);

Parameters

pDecMoudle
[in] Audio decoding handle, the output parameter value of NET_DVR_InitG726Decoder
pInBuffer
[in] Input buffer which size is 80 bytes
pOutBuffer
[out] Output buffer. PCM data is 8000 sample rate, 16 bit, Mono, and the size of output data is 640 bytes
byReset
[in] Whether to reset or not: 0- no, 1- yes, the first frame requires to be reset

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used mainly for voice talking and transmitting. To transfer client original audio data to device, please call NET_DVR_EncodeG726Frame to transfer encoded data to device; when client get encoded stream from device, please call audio decoding function to decode the stream. Before calling the encoding and decoding functions, it requires initial operation, and please release the resource after calling them.

See Also

NET_DVR_InitG726Decoder


NET_DVR_ReleaseG726Decoder

This API is used to release audio decoding resource.

void NET_DVR_ReleaseG726Decoder(
  void   *pDecHandle
);

Parameters

pDecHandle
[in] Audio decoding handle, the return value of NET_DVR_InitG726Decoder

Return Values

None. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InitG726Decoder


NET_DVR_SerialStart

This API is used to build transparent channel.

LONG NET_DVR_SerialStart(
  LONG                   lUserID,
  LONG                   lSerialPort,
  fSerialDataCallBack    cbSerialDataCallBack,
  DWORD                  dwUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lSerialPort
[in] Port number: 1-232 port, 2-485 port
fSerialDataCallBack
[in] Callback function
dwUser
[in] User data

Callback Function

typedef void(CALLBACK *fSerialDataCallBack)(
  LONG     lSerialHandle,
  char     *pRecvDataBuffer,
  DWORD    dwBufSize,
  DWORD    dwUser
);

Callback Function Parameters

lSerialHandle
The return value of NET_DVR_SerialStart
pRecvDataBuffer
Store data buffer pointer
dwBufSize
Data size
dwUser
User data

Return Values

Return -1 if it is failed, and other values are as handle parameter of functions like NET_DVR_SerialSend. Please call NET_DVR_GetLastError to get the error code.

Remarks

The decoder that connects with the serial port should support data postback, otherwise the callback will not get the data.

See Also

NET_DVR_SerialStop NET_DVR_SerialSend
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SerialSend

This API is used to send data to device serial port through transparent channel.

BOOL NET_DVR_SerialSend(
  LONG     lSerialHandle,
  LONG     lChannel,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lSerialHandle
[in] The return value of NET_DVR_SerialStart
lChannel
[in] Effective when using 485 serial port, begin with 1, set value to 0 when using 232 for transparent channel232
pSendBuf
[in] Buffer pointer for sending data
dwBufSize
[in] Buffer size

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SerialStart


NET_DVR_SerialStop

This API is used to disconnect transparent channel.

BOOL NET_DVR_SerialStop(
  LONG  lSerialHandle
);

Parameters

lSerialHandle
[in] The return value of NET_DVR_SerialStart

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SerialStart


NET_DVR_SendToSerialPort

This API is used to send data to serial port directly, it's not neccessary to build transparent channel here.

BOOL NET_DVR_SendToSerialPort(
  LONG     lUserID,
  DWORD    dwSerialPort,
  DWORD    dwSerialIndex,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwSerialPort
[in] Serial port type:1-232, 2-485
dwSerialIndex
[in] Means the number of 232 or 485, starting from 1
pSendBuf
[in] Sending data buffer pointer
dwBufSize
[in] Buffer size, at most 1016 bytes

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SendTo232Port

This API is used to send data to 232 serial port directly, it's not neccessary to build transparent channels here.

BOOL NET_DVR_SendTo232Port(
  LONG     lUserID,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pSendBuf
[in] Sending data buffer pointer
dwBufSize
[in] Buffer size, at most 1016 byte

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_FormatDisk

This API is used to format hard disk remotely.

LONG NET_DVR_FormatDisk(
  LONG    lUserID,
  LONG    lDiskNumber
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lDiskNumber
[in] Hard disk number, begins from 0, and 0xff means all disk(don't include read-only disk)

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_CloseFormatHandle. Please call NET_DVR_GetLastError to get the error code.

Remarks

If network breaks down during formatting, the device will continue to format, but the client can't receive the status.

See Also

NET_DVR_CloseFormatHandle NET_DVR_GetFormatProgress
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetFormatProgress

This API is used to get the progress of formatting.

BOOL NET_DVR_GetFormatProgress(
  LONG    lFormatHandle,
  LONG    *pCurrentFormatDisk,
  LONG    *pCurrentDiskPos,
  LONG    *pFormatStatic
);

Parameters

lFormatHandle
[in] Handle of formatting, the return value of NET_DVR_FormatDisk
pCurrentFormatDisk
[out] The pointer of the hard disk which is formatted currently, the hard disk number begins from 0, and -1 is the initial status
pCurrentDiskPos
[out] The pointer of formatting progress of current hard disk, and the progress ranges from 0 to100
pFormatStatic
[out] The pointer of hard disk formatting status:
0- it is formatting
1- the formatting of hard disk has finished
2- there is exception when formatting, the progress stopped, it will appear in both local and network disk
3- exception in network results in loss of network disk, and can't start formatting

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_FormatDisk


NET_DVR_CloseFormatHandle

This API is used to close the HD format handle and release the resource.

BOOL NET_DVR_CloseFormatHandle(
  LONG    lFormatHandle
);

Parameters

lFormatHandle
[in] The return value of NET_DVR_ FormatDisk

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

See Also

NET_DVR_FormatDisk


NET_DVR_GetDVRWorkState_V30

This API is used to get device status.

BOOL NET_DVR_GetDVRWorkState_V30(
  LONG                       lUserID,
  LPNET_DVR_WORKSTATE_V30    lpWorkState
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpWorkState
[out] Pointer to NET_DVR_WORKSTATE_V30 structure

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_GetDVRWorkState


NET_DVR_SetNetworkEnvironment

This API is used to set network environment of remote upgrade.

BOOL NET_DVR_SetNetworkEnvironment(
  DWORD   dwEnvironmentLevel
);

Parameters

dwEnvironmentLevel
[in] Network environment
enum{
  LOCAL_AREA_NETWORK = 0,
  WIDE_AREA_NETWORK
}

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

There're two network environment levels:
LOCAL_AREA_NETWORK means local area network environment (fine network, and smooth communication),
WIDE_AREA_NETWORK means wide area network environment (poor network, and communication easy to be blocked).
Before calling NET_DVR_Upgrade to upgrade the device, please call this API to adjust the different upgrading environment.


NET_DVR_Upgrade_V40

Remote Upgrade Device Firmware

LONG NET_DVR_Upgrade_V40(
  LONG          lUserID,
  DWORD         dwUpgradeType,
  char const    *sFileName,
  void          *pInbuffer,
  DWORD         dwBufferLen
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwUpgradeType
[in] The upgrade type is shown as follows.
enum _ENUM_UPGRADE_TYPE{
  ENUM_UPGRADE_DVR     = 0, //Normal Device Upgrade
  ENUM_UPGRADE_ADAPTER = 1, //DVR Adapter Upgrade
  ENUM_UPGRADE_VCALIB  = 2, //VCA Library Upgrade
  ENUM_UPGRADE_OPTICAL = 3, //Optical Transceiver Upgrade
  ENUM_UPGRADE_ACS     = 4  //Access Control System Upgrade
  ENUM_UPGRADE_AUXILIARY_DEV = 5  //Auxiliary Device Upgrade
}ENUM_UPGRADE_TYPE
sFileName
[in] The path of upgrade file(including the file name). The path is related to the operation system, and will not be limited by SDK. The default length of windows path should be less than 256 bytes (including the file name).
pInbuffer
[in] Upgrade condition buffer. It is valid when the upgrade type is 1, corresponds to 4 bytes device NO. (0: upgrade the host, 1~8: upgrade the 485 linked card reader)
dwUpgradeType | Type Value | pInbuffer
ENUM_UPGRADE_DVR | 0 | NULL
ENUM_UPGRADE_ADAPTER | 1 | NULL
ENUM_UPGRADE_VCALIB | 2 | NULL
ENUM_UPGRADE_OPTICAL | 3 | NULL
ENUM_UPGRADE_ACS | 4 | Correspond to 4-bytes device No., 0 means upgrade the host, 1-10000 means upgrade the card reader (the card reader ID of Door 15 is 31), distributed access controller No. starts from 10001 (10001 means distributed access controller 1 and so forth)
ENUM_UPGRADE_AUXILIARY_DEV | 5 | NET_DVR_AUXILIARY_DEV_UPGRADE_PARAM
dwBufferLen
[in] The size of the buffer

Return Values

-1: Failed, other value will be the parameters of functions such as NET_DVR_GetUpgradeState, To get the error code, call NET_DVR_GetLastError

Remarks

Device firmware upgrade, type: ENUM_UPGRADE_DVR; for upgrade of other modules or accessories, choose other upgrade types, e.g., the router upgrade of portable host should use auxiliary device upgrade, type: ENUM_UPGRADE_AUXILIARY_DEV.

See Also

NET_DVR_CloseUpgradeHandle NET_DVR_GetUpgradeState NET_DVR_GetUpgradeProgress

Reference Interface

This interface is expanded from

NET_DVR_Upgrade


NET_DVR_GetUpgradeProgress

This API is used to get progress of remote upgrade.

int NET_DVR_GetUpgradeProgress(
  LONG   lUpgradeHandle
);

Parameters

lUpgradeHandle
[in] Return value of NET_DVR_Upgrade

Return Values

Return -1 if it is failed. 0 ~100 means the progress of upgrade. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Upgrade


NET_DVR_GetUpgradeState

This API is used to get the state of remote upgrade.

int NET_DVR_GetUpgradeState(
  LONG   lUpgradeHandle
);

Parameters

lUpgradeHandle
[in] Return value of NET_DVR_Upgrade

Return Values

-1- the calling of the API is failed
1- the upgrade has been successful
2- it is being upgrading
3- the upgrade is failed
4- network has disconnected, and the state is unknown
5- language version not match
6- failed to write flash when upgrading

Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Upgrade


NET_DVR_GetUpgradeStep

This API is used to get step information of remote upgrade.

LONG  NET_DVR_GetUpgradeStep(
  LONG   lUpgradeHandle,
  LONG   *pSubProgress
);

Parameters

lUpgradeHandle
[in] The return value of NET_DVR_Upgrade
pSubProgress
[in] Step sub progress of the upgrade

Return Values

Return -1 if it is failed. Other value is defined as below:
Macro Definition | Value | Implication
STEP_READY | 0 | Ready to upgrade
STEP_RECV_DATA | 1 | Receive upgrade package data
STEP_UPGRADE | 2 | Upgrade system
STEP_BACKUP | 3 | Backup system
STEP_SEARCH | 255 | Devcie is searching upgrade file
Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Upgrade


NET_DVR_CloseUpgradeHandle

This API is used to close the remote upgrade handle, and release resource.

LONG NET_DVR_CloseUpgradeHandle(
  LONG   lUpgradeHandle
);

Parameters

lUpgradeHandle
[in] The return value of NET_DVR_Upgrade

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

See Also

NET_DVR_Upgrade


NET_DVR_FindDVRLog_V30

This API is used to search log of device (supports to search log with S.M.A.R.T information).

LONG NET_DVR_FindDVRLog_V30(
  LONG              lUserID,
  LONG              lSelectMode,
  DWORD             dwMajorType,
  DWORD             dwMinorType,
  LPNET_DVR_TIME    lpStartTime,
  LPNET_DVR_TIME    lpStopTime,
  BOOL              bOnlySmart
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lSelectMode
[in] Search mode: 0- all; 1- according to type; 2- according to time; 3- according to time and type
dwMajorType
[in] Major type (it don't work when search in S.M.A.R.T),0 means all types, and the other types are listed below:
Macro Definition | Value | Implication
MAJOR_ALARM | 0x1 | Alarm
MAJOR_EXCEPTION | 0x2 | Exception
MAJOR_OPERATION | 0x3 | Operation
MAJOR_INFORMATION | 0x4 | Additional information of log
dwMinorType
[in] Minor type (it is invalid when search in S.M.A.R.T), 0 means all types, and the other types based on major types are listed below:
Macro Definition of Major Type | Value | Implication
MAJOR_ALARM | 0x1 | Alarm
Macro Definition of Minor Type | Value | Implication
MINOR_ALARM_IN | 0x1 | Input of alarm
MINOR_ALARM_OUT | 0x2 | Output of alarm
MINOR_MOTDET_START | 0x3 | The beginning of motion detection alarm
MINOR_MOTDET_STOP | 0x4 | The end of motion detection alarm
MINOR_HIDE_ALARM_START | 0x5 | The beginning of tampering alarm
MINOR_HIDE_ALARM_STOP | 0x6 | The end of tampering alarm
MINOR_VCA_ALARM_START | 0x7 | The beginning of intelligent alarm
MINOR_VCA_ALARM_STOP | 0x8 | The end of intelligent alarm
MINOR_ITS_ALARM_START | 0x9 | The beginning of intelligent traffic alarm
MINOR_ITS_ALARM_STOP | 0xa | The end of intelligent traffic alarm
MINOR_NETALARM_START | 0xb | The beginning of network alarm resume
MINOR_NETALARM_STOP | 0xc | The end of network alarm resume
MINOR_NETALARM_RESUME | 0xd | Network alarm resume
MINOR_WIRELESS_ALARM_START | 0xe | The beginning of the wireless alarm
MINOR_WIRELESS_ALARM_STOP | 0xf | The end of the wireless alarm
MINOR_PIR_ALARM_START | 0x10 | The beginning of human induction alarm
MINOR_PIR_ALARM_STOP | 0x11 | The end of human induction alarm
MINOR_CALLHELP_ALARM_START | 0x12 | The beginning of calling for help alarm
MINOR_CALLHELP_ALARM_STOP | 0x13 | The end of calling for help alarm
MINOR_VCA_SECNECHANGE_DETECTION | 0x1a | Scene change detection alarm
MINOR_VCA_ALARM_LINE_DETECTION_BEGIN | 0x20 | The beginning of line crossing detection
MINOR_VCA_ALARM_LINE_DETECTION_END | 0x21 | The end of line crossing detection
MINOR_VCA_ALARM_INTRUDE_BEGIN | 0x22 | The beginning of intrusion detection
MINOR_VCA_ALARM_INTRUDE_END | 0x23 | The end of intrusion detection
MINOR_VCA_ALARM_AUDIOINPUT | 0x24 | Audio loss detection
MINOR_VCA_ALARM_AUDIOABNORMAL | 0x25 | Audio exception detection
MINOR_VCA_DEFOCUS_DETECTION_BEGIN | 0x26 | The beginning of defocus detection
MINOR_VCA_DEFOCUS_DETECTION_END | 0x27 | The end of defocus detection
MINOR_THERMAL_FIREDETECTION | 0x48 | Start Thermal imaging fire point detection
MINOR_THERMAL_FIREDETECTION_END | 0x49 | Start Thermal imaging fire point detection

Macro Definition of Major Type | Value | Implication
MAJOR_EXCEPTION | 0x2 | Exception
Macro Definition of Minor Type | Value | Implication
MINOR_RAID_ERROR | 0x20 | RAID exception
MINOR_VI_LOST | 0x21 | Lose video signal
MINOR_ILLEGAL_ACCESS | 0x22 | Illegal access
MINOR_HD_FULL | 0x23 | Hard disk full
MINOR_HD_ERROR | 0x24 | Hard disk error
MINOR_DCD_LOST | 0x25 | MODEM off-line(reserved)
MINOR_IP_CONFLICT | 0x26 | IP conflict
MINOR_NET_BROKEN | 0x27 | Network not connected
MINOR_REC_ERROR | 0x28 | Recoding error
MINOR_IPC_NO_LINK | 0x29 | IPC connection failed
MINOR_VI_EXCEPTION | 0x2a | Exception of video input (only for analog channels)
MINOR_IPC_IP_CONFLICT | 0x2b | IP conflict of IPC
MINOR_SENCE_EXCEPTION | 0x2c | Sence exception
MINOR_PIC_REC_ERROR | 0x2d | Failed to get picture file, capture error
MINOR_VI_MISMATCH | 0x2e | Video format mismatch
MINOR_RESOLUTION_MISMATCH | 0x2f | Encoding resolution is not matching with the front-end resolution
MINOR_SCREEN_SUBSYSTEM_ABNORMALREBOOT | 0x3c | Sub-board abnormal startup
MINOR_SCREEN_SUBSYSTEM_ABNORMALINSERT | 0x3d | Sub-board inserted
MINOR_SCREEN_SUBSYSTEM_ABNORMALPULLOUT | 0x3e | Sub-board pulled out
MINOR_SCREEN_ABNARMALTEMPERATURE | 0x3f | Temperature abnormal
MINOR_RECORD_OVERFLOW | 0x41 | Buffer overflow
MINOR_DSP_ABNORMAL | 0x42 | DSP exception
MINOR_ANR_RECORD_FAIED | 0x43 | ANR recordig failed
MINOR_SPARE_WORK_DEVICE_EXCEPT | 0x44 | Hot standby device working exception
MINOR_START_IPC_MAS_FAILED | 0x45 | Failed to enable IPC MAS
MINOR_IPCM_CRASH | 0x46 | IPCM abnormal rebooting
MINOR_POE_POWER_EXCEPTION | 0x47 | POE power supply exception
MINOR_UPLOAD_DATA_CS_EXCEPTION | 0x48 | Failed to upload cloud storage data败
MINOR_DIAL_EXCEPTION | 0x49 | Dial-up exception
MINOR_DEV_EXCEPTION_OFFLINE | 0x50 | Device abnormal off-line
MINOR_UPGRADEFAIL | 0x51 | Remote upgrading failed.
MINOR_AI_LOST | 0x52 | Audio signal loss
MINOR_SYNC_IPC_PASSWD | 0x53 | Synchronize IPC password failed.
MINOR_ACCESSORIES_PLATE | 0x57 | Accessory board exception
MINOR_DEV_POWER_ON | 0x400 | Device strat-up when poweing on
MINOR_DEV_POWER_OFF | 0x401 | Device power-off
MINOR_WATCH_DOG_RESET | 0x402 | Watch dog resumed
MINOR_LOW_BATTERY | 0x403 | Low battery
MINOR_HOST_DESMANTLE_ALARM | 0x404 | Device anti-tamper alarm
MINOR_HOST_DESMANTLE_RESUME | 0x405 | Device anti-tamper recovery
MINOR_AC_RESUME | 0x406 | AC power recovered
MINOR_NET_RESUME | 0x407 | Network recovered
MINOR_FLASH_ABNORMAL | 0x408 | FLASH reading and writing exception
MINOR_CARD_READER_OFFLINE | 0x409 | Card reader offline
MINOR_CARD_READER_RESUME | 0x40a | Card reader connection recovered
MINOR_SUBSYSTEM_IP_CONFLICT | 0x4000 | Sub-board IP conflict
MINOR_SUBSYSTEM_NET_BROKEN | 0x4001 | Sub-board offline
MINOR_FAN_ABNORMAL | 0x4002 | Fan exception
MINOR_BACKPANEL_TEMPERATURE_ABNORMAL | 0x4003 | Back board temperature exception
MINOR_SDCARD_ABNORMAL | 0x4004 | SD card is not healthy
MINOR_SDCARD_DAMAGE | 0x4005 | SD card is damaged.

Macro Definition of Major Type | Value | Implication
MAJOR_OPERATION | 0x3 | Operation
Macro Definition of Minor Type | Value | Implication
MINOR_START_DVR | 0x41 | Start DVR
MINOR_STOP_DVR | 0x42 | Close DVR
MINOR_STOP_ABNORMAL | 0x43 | Stop abnormal
MINOR_REBOOT_DVR | 0x44 | reboot DVR (local)
MINOR_LOCAL_LOGIN | 0x50 | Login (local)
MINOR_LOCAL_LOGOUT | 0x51 | Logout (local)
MINOR_LOCAL_CFG_PARM | 0x52 | Local configuration
MINOR_LOCAL_PLAYBYFILE | 0x53 | Playback or download (local)
MINOR_LOCAL_PLAYBYTIME | 0x54 | Playback or download by time (local)
MINOR_LOCAL_START_REC | 0x55 | start recoding (local)
MINOR_LOCAL_STOP_REC | 0x56 | Stop recoding (local)
MINOR_LOCAL_PTZCTRL | 0x57 | Local PTZ control
MINOR_LOCAL_PREVIEW | 0x58 | Local preview(reserved)
MINOR_LOCAL_MODIFY_TIME | 0x59 | Modify time (local, reserved)
MINOR_LOCAL_UPGRADE | 0x5a | Upgrade (local)
MINOR_LOCAL_RECFILE_OUTPUT | 0x5b | Backup (local)
MINOR_LOCAL_FORMAT_HDD | 0x5c | HD format (local)
MINOR_LOCAL_CFGFILE_OUTPUT | 0x5d | Export configuration (local)
MINOR_LOCAL_CFGFILE_INPUT | 0x5e | Import configuration (local)
MINOR_LOCAL_COPYFILE | 0x5f | Backup file (local)
MINOR_LOCAL_LOCKFILE | 0x60 | Lockup file (local)
MINOR_LOCAL_UNLOCKFILE | 0x61 | Unlock file (local)
MINOR_LOCAL_DVR_ALARM | 0x62 | Clear/Trigger alarm (local)
MINOR_IPC_ADD | 0x63 | Add IPC (local)
MINOR_IPC_DEL | 0x64 | Delete IPC (local)
MINOR_IPC_SET | 0x65 | Set IPC (local)
MINOR_LOCAL_START_BACKUP | 0x66 | Start local backup
MINOR_LOCAL_STOP_BACKUP | 0x67 | Stop local backup
MINOR_LOCAL_COPYFILE_START_TIME | 0x68 | Start time of local backup
MINOR_LOCAL_COPYFILE_END_TIME | 0x69 | End time of local backup
MINOR_LOCAL_ADD_NAS | 0x6a | Add network disk locally
MINOR_LOCAL_DEL_NAS | 0x6b | Delete network disk locally
MINOR_LOCAL_SET_NAS | 0x6c | Set NAS locally
MINOR_REMOTE_LOGIN | 0x70 | Login (remote)
MINOR_REMOTE_LOGOUT | 0x71 | Logout (remote)
MINOR_REMOTE_START_REC | 0x72 | Start record (remote)
MINOR_REMOTE_STOP_REC | 0x73 | Stop record (remote)
MINOR_START_TRANS_CHAN | 0x74 | Start transparent channel
MINOR_STOP_TRANS_CHAN | 0x75 | Stop transparent channel
MINOR_REMOTE_GET_PARM | 0x76 | Get parameter remotely
MINOR_REMOTE_CFG_PARM | 0x77 | Remote configuration
MINOR_REMOTE_GET_STATUS | 0x78 | Get status remotely
MINOR_REMOTE_ARM | 0x79 | On guard (remote)
MINOR_REMOTE_DISARM | 0x7a | Disarm remotely
MINOR_REMOTE_REBOOT | 0x7b | Reboot remotely
MINOR_START_VT | 0x7c | Start voice talk
MINOR_STOP_VT | 0x7d | Stop voice talk
MINOR_REMOTE_UPGRADE | 0x7e | Upgrade remotely
MINOR_REMOTE_PLAYBYFILE | 0x7f | Playback by file name remotely
MINOR_REMOTE_PLAYBYTIME | 0x80 | Playback by time remotely
MINOR_REMOTE_PTZCTRL | 0x81 | Remote PTZ control
MINOR_REMOTE_FORMAT_HDD | 0x82 | Format hard disk remotely
MINOR_REMOTE_STOP | 0x83 | Shut down remotely
MINOR_REMOTE_LOCKFILE | 0x84 | Lockup file remotely
MINOR_REMOTE_UNLOCKFILE | 0x85 | Unlock file remotely
MINOR_REMOTE_CFGFILE_OUTPUT | 0x86 | Export configuration remotely
MINOR_REMOTE_CFGFILE_INTPUT | 0x87 | Import configuration remotely
MINOR_REMOTE_RECFILE_OUTPUT | 0x88 | Backup recording files remotely
MINOR_REMOTE_DVR_ALARM | 0x89 | Trigger/clear alarm remotely
MINOR_REMOTE_IPC_ADD | 0x8a | Add IPC remotely
MINOR_REMOTE_IPC_DEL | 0x8b | Delete IPC remotely
MINOR_REMOTE_IPC_SET | 0x8c | Set IPC remotely
MINOR_REBOOT_VCA_LIB | 0x8d | Restart VCA library
MINOR_REMOTE_ADD_NAS | 0x8e | Add NAS remotely
MINOR_REMOTE_DEL_NAS | 0x8f | Delete NAS remotely
MINOR_REMOTE_SET_NAS | 0x90 | Set NAS remotely
MINOR_LOCAL_START_REC_CDRW | 0x91 | Start burning CD locally
MINOR_LOCAL_STOP_REC_CDRW | 0x92 | Stop burning CD locally
MINOR_REMOTE_START_REC_CDRW | 0x93 | Start burning CD remotely
MINOR_REMOTE_STOP_REC_CDRW | 0x94 | Stop burning CD remotely
MINOR_LOCAL_PIC_OUTPUT | 0x95 | Start picture backup locally
MINOR_REMOTE_SET_NAS | 0x96 | Remotely start picture backup
MINOR_LOCAL_INQUEST_RESUME | 0x97 | Resume inquest event locally
MINOR_REMOTE_INQUEST_RESUME | 0x98 | Resume inquest event Remotely
MINOR_REMOTE_BYPASS | 0xd0 | Set bypass remotely
MINOR_REMOTE_UNBYPASS | 0xd1 | Resume bypass remotely
MINOR_REMOTE_SET_ALARMIN_CFG | 0xd2 | Set alarm input parameter remotely
MINOR_REMOTE_GET_ALARMIN_CFG | 0xd3 | Get alarm input parameter remotely
MINOR_REMOTE_SET_ALARMOUT_CFG | 0xd4 | Set alarm output parameter remotely
MINOR_REMOTE_GET_ALARMOUT_CFG | 0xd5 | Get alarm output parameter remotely
MINOR_REMOTE_ALARMOUT_OPEN_MAN | 0xd6 | Manually open alarm output remotely
MINOR_REMOTE_ALARMOUT_CLOSE_MAN | 0xd7 | Manually close alarm output remotely
MINOR_REMOTE_ALARM_ENABLE_CFG | 0xd8 | Set RS485 serial port enable state of alarm host remotely
MINOR_DBDATA_OUTPUT | 0xd9 | Export database
MINOR_DBDATA_INPUT | 0xda | Import database
MINOR_MU_SWITCH | 0xdb | Cascade switch
MINOR_MU_PTZ | 0xdc | Cascade PTZ control
MINOR_REMOTE_INQUEST_DEL_FILE | 0xde | Remote delete file
MINOR_LOCAL_CONF_REB_RAID | 0x101 | Rebuild local configuraion automatically
MINOR_LOCAL_CONF_SPARE | 0x102 | Local configuration spare
MINOR_LOCAL_ADD_RAID | 0x103 | Create RAID locally
MINOR_LOCAL_DEL_RAID | 0x104 | Delete RAID localy
MINOR_LOCAL_MIG_RAID | 0x105 | Migrate RAID locally
MINOR_LOCAL_REB_RAID | 0x106 | Rebuild RAID manually and locally
MINOR_LOCAL_QUICK_CONF_RAID | 0x107 | Local one-key configuration
MINOR_LOCAL_ADD_VD | 0x108 | Create virtual disk locally
MINOR_LOCAL_DEL_VD | 0x109 | Delete virtual disk locally
MINOR_LOCAL_RP_VD | 0x10a | Repair virtual disk locally
MINOR_LOCAL_FORMAT_EXPANDVD | 0x10b | Expand virtual disk locally
MINOR_LOCAL_RAID_UPGRADE | 0x10c | Local RAID card upgrade
MINOR_LOCAL_STOP_RAID | 0x10d | Stop RAID operation(pull out disk safely) locally
MINOR_REMOTE_CONF_REB_RAID | 0x111 | Remotely configure auto rebuilding
MINOR_REMOTE_CONF_SPARE | 0x112 | Remotely configure spare
MINOR_REMOTE_ADD_RAID | 0x113 | Create RAID remotely
MINOR_REMOTE_DEL_RAID | 0x114 | Delete RAID remotely
MINOR_REMOTE_MIG_RAID | 0x115 | Migrate RAID remotely
MINOR_REMOTE_REB_RAID | 0x116 | Rebuild RAID manually and remotely
MINOR_REMOTE_QUICK_CONF_RAID | 0x117 | remote one-key configuration
MINOR_REMOTE_ADD_VD | 0x118 | Create virtual disk remotely
MINOR_REMOTE_DEL_VD | 0x119 | Delete virtual disk remotely
MINOR_REMOTE_RP_VD | 0x11a | Repair virtual disk remotely
MINOR_REMOTE_FORMAT_EXPANDVD | 0x11b | Expand virtual disk remotely
MINOR_REMOTE_RAID_UPGRADE | 0x11c | remote RAID card upgrade
MINOR_REMOTE_STOP_RAID | 0x11d | Stop RAID operation(pull out disk safely) remotely
MINOR_LOCAL_START_PIC_REC | 0x121 | Start capturing picture locally
MINOR_LOCAL_STOP_PIC_REC | 0x122 | Stop capturing picture locally
MINOR_LOCAL_SET_SNMP | 0x125 | Configure SNMP locally
MINOR_LOCAL_TAG_OPT | 0x126 | Local label operation
MINOR_REMOTE_START_PIC_REC | 0x131 | Start capturing picture remotely
MINOR_REMOTE_STOP_PIC_REC | 0x132 | Stop capturing picture remotely
MINOR_REMOTE_SET_SNMP | 0x135 | Remote SNMP configuration
MINOR_REMOTE_TAG_OPT | 0x136 | Remote label operation
MINOR_LOCAL_VOUT_SWITCH | 0x140 | Local output port switch
MINOR_STREAM_CABAC | 0x141 | Stream compression performance option configuration
MINOR_LOCAL_SPARE_OPT | 0x142 | Local N+1 hot spare operation
MINOR_REMOTE_SPARE_OPT | 0x143 | Remote N+1 hot spare operation
MINOR_LOCAL_IPCCFGFILE_OUTPUT | 0x144 | Local export IP camera configuration file
MINOR_LOCAL_IPCCFGFILE_INPUT | 0x145 | Local import IP camera configuration file
MINOR_LOCAL_IPC_UPGRADE | 0x146 | Local upgrade IP camera
MINOR_REMOTE_IPCCFGFILE_OUTPUT | 0x147 | Remote export IP camera configuration file
MINOR_REMOTE_IPCCFGFILE_INPUT | 0x148 | Remote import IP camera configuration file
MINOR_REMOTE_IPC_UPGRADE | 0x149 | Remote upgrade IP camera
MINOR_LOCAL_UNLOAD_HDISK | 0x150 | Local unmount HDD
MINOR_LOCAL_AUDIO_MIX | 0x151 | Local audio mix configuration
MINOR_REMOTE_AUDIO_MIX | 0x152 | Remote audio mix configuration
MINOR_LOCAL_TRIAL_PAUSE | 0x153 | Local pause inquest
MINOR_LOCAL_TRIAL_RESUME | 0x154 | Local resume inquest
MINOR_REMOTE_TRIAL_PAUSE | 0x155 | Remote pause inquest
MINOR_REMOTE_TRIAL_RESUME | 0x156 | Remote resume inquest
MINOR_SET_MULTI_MASTER | 0x201 | Set master screen of multi-screen controller
MINOR_SET_MULTI_SLAVE | 0x202 | Set slave screen of multi-screen controller
MINOR_CANCEL_MULTI_MASTER | 0x203 | Cancel master screen of multi-screen controller
MINOR_CANCEL_MULTI_SLAVE | 0x204 | Cancel slave screen of multi-screen controller
MINOR_SCREEN_SET_INPUT | 0x251 | Modify input source
MINOR_SCREEN_SET_OUTPUT | 0x252 | Modify output channel
MINOR_SCREEN_SET_OSD | 0x253 | Modify OSD
MINOR_SCREEN_SET_LOGO | 0x254 | Modify LOGO
MINOR_SCREEN_SET_LAYOUT | 0x255 | Set layout
MINOR_SCREEN_PICTUREPREVIEW | 0x256 | Callback operation
MINOR_SCREEN_GET_OSD | 0x257 | Get OSD
MINOR_SCREEN_GET_LAYOUT | 0x258 | Get layout
MINOR_SCREEN_LAYOUT_CTRL | 0x259 | Layout control
MINOR_GET_ALL_VALID_WND | 0x260 | Get all valid windows
MINOR_GET_SIGNAL_WND | 0x261 | Get single window information
MINOR_WINDOW_CTRL | 0x262 | Window control
MINOR_GET_LAYOUT_LIST | 0x263 | Get layout list
MINOR_LAYOUT_CTRL | 0x264 | Layout control
MINOR_SET_LAYOUT | 0x265 | Set single layout
MINOR_GET_SIGNAL_LIST | 0x266 | Get input signal source list
MINOR_GET_PLAN_LIST | 0x267 | Get plan list
MINOR_SET_PLAN | 0x268 | Modify plan
MINOR_CTRL_PLAN | 0x269 | Control plan
MINOR_CTRL_SCREEN | 0x270 | Screen control
MINOR_ADD_NETSIG | 0x271 | Add signal source
MINOR_SET_NETSIG | 0x272 | Modify signal source
MINOR_SET_DECBDCFG | 0x273 | Set decoder board parameter
MINOR_GET_DECBDCFG | 0x274 | Get decoder board parameter
MINOR_GET_DEVICE_STATUS | 0x275 | Get device information
MINOR_UPLOAD_PICTURE | 0x276 | Upload the picture as traced drawing to the device
MINOR_SET_USERPWD | 0x277 | Set user's password
MINOR_ADD_LAYOUT | 0x278 | Add layout
MINOR_DEL_LAYOUT | 0x279 | Delete layout
MINOR_DEL_NETSIG | 0x280 | Delete signal source
MINOR_ADD_PLAN | 0x281 | Add plan
MINOR_DEL_PLAN | 0x282 | Delete plan
MINOR_LOCAL_LOAD_HDISK | 0x300 | Load hard disk locally
MINOR_LOCAL_DELETE_HDISK | 0x301 | Delete abnormal and non-exist hard disk locally
MINOR_SET_TRIGGERMODE_CFG | 0x1001 | Set trigger mode
MINOR_GET_TRIGGERMODE_CFG | 0x1002 | Get trigger mode
MINOR_SET_IOOUT_CFG | 0x1003 | Set IO output parameter
MINOR_GET_IOOUT_CFG | 0x1004 | Get IO output parameter
MINOR_GET_TRIGGERMODE_DEFAULT | 0x1005 | Get recommended parameter of trigger mode
MINOR_GET_ITCSTATUS | 0x1006 | Get status parameter
MINOR_SET_STATUS_DETECT_CFG | 0x1007 | Set status detection parameter
MINOR_GET_STATUS_DETECT_CFG | 0x1008 | Get status detection parameter
MINOR_GET_VIDEO_TRIGGERMODE_CFG | 0x1009 | Get video electronic police mode configuration
MINOR_SET_VIDEO_TRIGGERMODE_CFG | 0x100a | Set video electronic police mode parameter

Macro Definition of Major Type | Value | Implication
MAJOR_INFORMATION | 0x4 | Additional information
Macro Definition of Minor Type | Value | Implication
MINOR_HDD_INFO | 0xa1 | HD information
MINOR_SMART_INFO | 0xa2 | S.M.A.R.T information
MINOR_REC_START | 0xa3 | Start recording
MINOR_REC_STOP | 0xa4 | Stop recording
MINOR_REC_OVERDUE | 0xa5 | Record overdue
MINOR_LINK_START | 0xa6 | Connect to front-end device
MINOR_LINK_STOP | 0xa7 | Disconnect front-end device
MINOR_NET_DISK_INFO | 0xa8 | Network disk information
MINOR_RAID_INFO | 0xa9 | RAID information
MINOR_LINK_START | 0xb3 | Start capturing picture
MINOR_PIC_REC_STOP | 0xb4 | Stop capturing picture
MINOR_PIC_REC_OVERDUE | 0xb5 | Delete expired picture
MINOR_ACCESSORIES_MESSAGE | 0xc6 | Accessory board information
lpStartTime
[in] Start time
lpStopTime
[in] End time
bOnlySmart
[in] Whether to search log with S.M.A.R.T information only

Return Values

Return -1 if it is failed, and the other values could be used as a parameter of NET_DVR_FindNextLog_V30. Please call NET_DVR_GetLastError to get the error code.

Remarks

The interface supports to query up to 2000 normal logs, or up to 500 S.M.A.R.T logs at one time. If S.M.A.R.T information is not needed, we can search all logs by setting bOnlySmart as FALSE.
S.M.A.R.T information: HD working record.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_FindNextLog_V30 NET_DVR_FindLogClose_V30

Reference Interface

NET_DVR_FindDVRLog


NET_DVR_FindNextLog_V30

This API is used to get log one by one.

LONG NET_DVR_FindNextLog_V30(
  LONG                 lLogHandle,
  LPNET_DVR_LOG_V30    lpLogData
);

Parameters

lLogHandle
[in] Handle of file searching, return value of NET_DVR_FindDVRLog_V30
lpLogData
[out] Pointer for saving file information

Return Values

Return -1 if it is failed, and other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get log information successfully
NET_DVR_FILE_NOFIND | 1001 | No log found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more log found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when searching log

Remarks

Before calling this function, please call NET_DVR_FindDVRLog_V30 to get current searching handle firstly.

See Also

NET_DVR_FindDVRLog_V30

Reference Interface

NET_DVR_FindNextLog


NET_DVR_FindLogClose_V30

This API is used to release log query resource.

BOOL NET_DVR_FindLogClose_V30(
  LONG   lLogHandle
);

Parameters

lLogHandle
[in] Handle of log query, the return value of NET_DVR_FindDVRLog_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

See Also

NET_DVR_FindDVRLog_V30

NET_DVR_FindFileByEvent

Reference Interface

NET_DVR_FindLogClose


NET_DVR_Backup

This API is used to backup record files, pictures, or log information.

DWORD NET_DVR_Backup(
  long       lUserID,
  DWORD      dwBackupType,
  void*      lpBackupBuff,
  DWORD      dwBackupBuffSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwBackupType
[in] Backup type: 1- backup record files by file name, 2- backup record files by time, 3- backup pictures, 4- backup the event that resume inquest, 5- backup log information
lpBackupBuff
[in] The backup paramter, related with dwBackupType, see to the list below
dwBackupBuffSize
[in] The size of backup paramter

Return Values

Return -1 if it is failed, and other values(0~510) could be used as a parameter of NET_DVR_GetBackupProgress and NET_DVR_StopBackup. Please call NET_DVR_GetLastError to get the error code.

Remarks

The relation between dwBackupType and lpBackupBuff is listed below:

dwBackupType | Implication | lpBackupBuff
1 | Backup record files by file name | NET_DVR_BACKUP_NAME_PARAM
2 | Backup record files by time | NET_DVR_BACKUP_TIME_PARAM
3 | Backup pictures | NET_DVR_BACKUP_PICTURE_PARAM
5 | Backup log information | NET_DVR_BACKUP_LOG_PARAM

See Also

NET_DVR_GetBackupProgress NET_DVR_StopBackup


NET_DVR_RestoreConfig

This API is used to resume device default parameters.

BOOL NET_DVR_RestoreConfig(
  LONG    lUserID
);

Parameters

lUserID
[in] User ID number, the return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetConfigFile_V30

This API is used to export configuration file.

BOOL NET_DVR_GetConfigFile_V30(
  LONG    lUserID,
  char    *sOutBuffer,
  DWORD   dwOutSize,
  DWORD   *pReturnSize
);

Parameters

lUserID
[in] User ID number, the return value of NET_DVR_Login or NET_DVR_Login_V30
sOutBuffer
[out] The buffer to save configuration
dwOutSize
[in] The size of buffer
pReturnSize
[out] The size of got buffer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

When sOutBuffer = NULL, dwOutSize = 0 and pReturnSize != NULL, it is used to get the required size of buffer to save the configuration file. When sOutBuffer != NULL and dwOutSize != 0, it is used to get the content in buffer to save configuration file.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_GetConfigFile_EX


NET_DVR_GetConfigFile_EX

This API is used to export configuration file.

BOOL NET_DVR_GetConfigFile_EX(
  LONG    lUserID,
  char    *sOutBuffer,
  DWORD   dwOutSize
);

Parameters

lUserID
[in] User ID number, the return value of NET_DVR_Login or NET_DVR_Login_V30
sOutBuffer
[out] The buffer to save configuration
dwOutSize
[in] The size of buffer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_GetConfigFile_V30


NET_DVR_GetConfigFile

This API is used to export configuration file.

BOOL NET_DVR_GetConfigFile(
  LONG    lUserID,
  char    *sFileName
);

Parameters

lUserID
[in] User ID, the return value of NET_DVR_Login or NET_DVR_Login_V30
sFileName
[in] The file path to save the configuration file (binary file)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetConfigFile_EX

This API is used to import the configuration file.

BOOL NET_DVR_SetConfigFile_EX(
  LONG    lUserID,
  char    *sInBuffer,
  DWORD   dwInSize
);

Parameters

lUserID
[in] User ID, The return value of NET_DVR_Login or NET_DVR_Login_V30
sInBuffer
[in] The buffer that saves the configuration parameters
dwInSize
[in] The buffer size

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetConfigFile

This API is used to import configuration file.

BOOL NET_DVR_SetConfigFile(
  LONG    lUserID,
  char    *sFileName
);

Parameters

lUserID
[in] User ID, the return value of NET_DVR_Login or NET_DVR_Login_V30
sFileName
[in] The file path that saves the configuration file (binary file)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_StartNetworkFlowTest

This API is used to start testing network flow.

LONG NET_DVR_StartNetworkFlowTest(
  LONG                          lUserID,
  LPNET_DVR_FLOW_TEST_PARAM     pFlowTest,
  FLOWTESTCALLBACK              fFlowTestCallback,
  void                          *pUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pFlowTest
[in] Network flow parameter
fFlowTestCallback
[in] Callback function of network flow test
pUser
[in] User data

Callback Function

typedef void(CALLBACK *fFlowTestCallback)(
  LONG                   lFlowHandle,
  LPNET_DVR_FLOW_INFO    pFlowInfo,
  void                   *pUser
);

Callback Function Parameters

lFlowHandle
Handle of flow test
pFlowInfo
The result of network flow test
pUser
User data

Return Values

-1 means false, and other values could be used as the handle of functions like NET_DVR_StopNetworkFlowTest. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StopNetworkFlowTest


NET_DVR_StopNetworkFlowTest

This API is used to stop testing network flow.

BOOL NET_DVR_StopNetworkFlowTest(
  LONG    lHandle
);

Parameters

lHandle
[in] The return value of NET_DVR_StartNetworkFlowTest

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartNetworkFlowTest


NET_DVR_GetUpnpNatState

This API is used to get UPNP port mapping state.

BOOL NET_DVR_GetUpnpNatState(
  LONG                        lUserID,
  LPNET_DVR_UPNP_NAT_STATE    lpState
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpState
[out] UPNP port mapping state

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_RebootDVR

This API is used to reboot the device.

BOOL NET_DVR_RebootDVR(
  LONG   lUserID
);

Parameters

lUserID
[in] User ID number, the return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_ShutDownDVR

This API is used to close device.

BOOL NET_DVR_ShutDownDVR(
  LONG   lUserID
);

Parameters

lUserID
[in] User ID, the return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_DEVICECFG_V40 | Get device parameters (extended) | invalid | NET_DVR_DEVICECFG_V40 | 1100
NET_DVR_GET_NETCFG_V30 | Get network parameters | invalid | NET_DVR_NETCFG_V30 | 1000
NET_DVR_GET_DECODERCFG_V30 | Get (RS485) PTZ decoder parameters | valid | NET_DVR_DECODERCFG_V30 | 1042
NET_DVR_GET_RS232CFG_V30 | Get RS232 parameters | invalid | NET_DVR_RS232CFG_V30 | 1036
NET_DVR_GET_ALARMINCFG_V30 | Get alarm input parameters | valid | NET_DVR_ALARMINCFG_V30 | 1024
NET_DVR_GET_ALARMOUTCFG_V30 | Get alarm output parameters | valid | NET_DVR_ALARMOUTCFG_V30 | 1026
NET_DVR_GET_TIMECFG | Get time parameters | invalid | NET_DVR_TIME | 118
NET_DVR_GET_USERCFG_V30 | Get user parameters | invalid | NET_DVR_USER_V30 | 1006
NET_DVR_GET_EXCEPTIONCFG_V30 | Get exception parameters | invalid | NET_DVR_EXCEPTION_V30 | 1034

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

For CVR, the count of channels is over 64, so lChannel means the group number: 0- the no.1 group, 1- the no.2 group, and so on.

For the command: NET_DVR_GET_ALARMINCFG_V30 or NET_DVR_GET_ALARMOUTCFG_V30, the value of lChannel starts from 0. It is suggested to display the channel number with lChannel+1 on the application interface.

For other commands, if lChannel is valid, its value starts from 1.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Parameter type. Please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number if it is not the channel parameter, do not use lChannel, and set it as 0xFFFFFFFF
lpInBuffer
[in] Buffer that saves the input parameters
dwInBufferSize
[in] Size of the buffer (unit: byte )
The structures and command numbers are different according to the various configuration functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Structure | Value
NET_DVR_SET_DEVICECFG_V40 | Set device parameters (extended) | invalid | NET_DVR_DEVICECFG_V40 | 1101
NET_DVR_SET_NETCFG_V30 | Set network parameters | invalid | NET_DVR_NETCFG_V30 | 1001
NET_DVR_SET_DECODERCFG_V30 | Set (RS485) PTZ decoder parameters | valid | NET_DVR_DECODERCFG_V30 | 1043
NET_DVR_SET_RS232CFG_V30 | Set RS232 parameters | invalid | NET_DVR_RS232CFG_V30 | 1037
NET_DVR_SET_ALARMINCFG_V30 | Set alarm input parameters | valid | NET_DVR_ALARMINCFG_V30 | 1025
NET_DVR_SET_ALARMOUTCFG_V30 | Set alarm output parameters | valid | NET_DVR_ALARMOUTCFG_V30 | 1027
NET_DVR_SET_TIMECFG | Set time parameters | invalid | NET_DVR_TIME | 119
NET_DVR_SET_USERCFG_V30 | Set user parameters | invalid | NET_DVR_USER_V30 | 1007
NET_DVR_SET_EXCEPTIONCFG_V30 | Set exception parameters | invalid | NET_DVR_EXCEPTION_V30 | 1035
NET_DVR_SET_TIMECORRECT | Timing configuration(for network camera only) | Invalid | NET_DVR_TIME | 432

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

For CVR, the count of channels is over 64, so lChannel means the group number: 0- the no.1 group, 1- the no.2 group, and so on.

For the command: NET_DVR_SET_ALARMINCFG_V30 or NET_DVR_SET_ALARMOUTCFG_V30, the value of lChannel starts from 0. It is suggested to display the channel number with lChannel+1 on the application interface.

For other commands, if lChannel is valid, its value starts from 1.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

When setting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_FIRMWARE_VERSION | Get firmware version information | NULL | NET_DVR_FIRMWARE_VERSION_IFNO | 3776

See Also

NET_DVR_Login_V40


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_NETAPPCFG | Get network application parameters(NTP/DDNS) | invalid | NET_DVR_NETAPPCFG | 222
NET_DVR_GET_NTPCFG | Get network application parameters(NTP) | invalid | NET_DVR_NTPPARA | 224
NET_DVR_GET_DDNSCFG_V30 | Get network application parameters(DDNS) | invalid | NET_DVR_DDNSPARA_V30 | 1010
NET_DVR_GET_EMAILCFG_V30 | Get network application parameters(EMAIL) | invalid | NET_DVR_EMAILCFG_V30 | 1012
NET_DVR_GET_NETCFG_MULTI | Get multi network card parameters | invalid | NET_DVR_NETCFG_MULTI | 1161
NET_DVR_GET_NETWORK_BONDING | Get BONDING network card parameters | invalid | NET_DVR_NETWORK_BONDING | 1254
NET_DVR_GET_FTPCFG | Get the preferred FTP parameters | invalid | NET_DVR_FTPCFG | 134
NET_DVR_GET_FTPCFG_SECOND | Get spare FTP configuration | invalid | NET_DVR_FTPCFG | 6103
NET_DVR_GET_SNMPCFG_V30 | Get SNMP parameters | invalid | NET_DVR_SNMPCFG_V30 | 1114
NET_DVR_GET_SHOWSTRING_V30 | Get OSD parameters | valid | NET_DVR_SHOWSTRING_V30 | 1030
NET_DVR_GET_ZONEANDDST | Get time zone & DST parameters | invalid | NET_DVR_ZONEANDDST | 128
NET_DVR_GET_NFSCFG | Get NFS (Network File System) configuration | invalid | NET_DVR_NFSCFG | 230
NET_DVR_GET_AP_INFO_LIST | Get wireless network resource parameters | invalid | NET_DVR_AP_INFO_LIST | 305
NET_DVR_GET_WIFI_CFG | Get the wireless parameters | invalid | NET_DVR_WIFI_CFG | 307
NET_DVR_GET_WIFI_WORKMODE | Get the wi-fi work mode | invalid | NET_DVR_WIFI_WORKMODE | 309
NET_DVR_GET_COMPRESSCFG_AUD | Get audio parameters of voice talk | invalid | NET_DVR_COMPRESSION_AUDIO | 1058
NET_DVR_GET_HDCFG | Get hard disk management parameters | invalid | NET_DVR_HDCFG | 1054
NET_DVR_GET_HDCFG_V40 | Get hard disk management parameter(extended) | valid | NET_DVR_HDCFG | 6122
NET_DVR_GET_HDGROUP_CFG | Get hard disk group management parameters | invalid | NET_DVR_HDGROUP_CFG | 1056
NET_DVR_GET_NET_DISKCFG | Get network disk configuration | invalid | NET_DVR_NET_DISKCFG | 1038
NET_DVR_GET_HOLIDAY_PARAM_CFG | Get holiday configuration | invalid | NET_DVR_HOLIDAY_PARAM_CFG | 1240
NET_DVR_GET_MOTION_HOLIDAY_HANDLE | Get holiday alarm handling mode of motion detection | valid | NET_DVR_HOLIDAY_HANDLE | 1242
NET_DVR_GET_VILOST_HOLIDAY_HANDLE | Get holiday alarm handling mode of video signal lost | valid | NET_DVR_HOLIDAY_HANDLE | 1244
NET_DVR_GET_HIDE_HOLIDAY_HANDLE | Get holiday alarm handling mode of video tampering | valid | NET_DVR_HOLIDAY_HANDLE | 1246
NET_DVR_GET_ALARMIN_HOLIDAY_HANDLE | Get holiday alarm handling mode of alarm input | valid | NET_DVR_HOLIDAY_HANDLE | 1248
NET_DVR_GET_ALARMOUT_HOLIDAY_HANDLE | Get holiday alarm handling mode of alarm output | valid | NET_DVR_HOLIDAY_HANDLE | 1250
NET_DVR_GET_HOLIDAY_RECORD | Get holiday recording paramter | valid | NET_DVR_HOLIDAY_RECORD | 1252
NET_DVR_GET_PTZPOS | Get PTZ parameters of IP speed dome | valid | NET_DVR_PTZPOS | 293
NET_DVR_GET_PTZSCOPE | Get PTZ scope of IP speed dome | valid | NET_DVR_PTZSCOPE | 294
NET_DVR_GET_CRUISE | Get PTZ cruise parameters | valid | NET_DVR_CRUISE_PARA | 1020
NET_DVR_GET_IPALARMINCFG | Get IP alarm input configuration | invalid | NET_DVR_IPALARMINCFG | 1050
NET_DVR_GET_IPALARMOUTCFG | Get IP alarm output configuration | invalid | NET_DVR_IPALARMOUTCFG | 1052
NET_DVR_GET_IPPARACFG_V40 | Get IP channel configuration(extended) | valid | NET_DVR_IPPARACFG_V40 | 1062
NET_DVR_GET_DISK_QUOTA_CFG | Get disk quota configuration | valid | NET_DVR_DISK_QUOTA_CFG | 1278
NET_DVR_GET_LINK_STATUS | Get link status of the channel | valid | NET_DVR_LINK_STATUS | 1256
NET_DVR_GET_JPEG_CAPTURE_CFG | Get capturing configuration | valid | NET_DVR_JPEG_CAPTURE_CFG | 1280
NET_DVR_GET_SCHED_CAPTURECFG | Get capturing schedule | valid | NET_DVR_SCHED_CAPTURECFG | 1282
NET_DVR_GET_AUDIO_INPUT | Get audio input parameters | valid | NET_DVR_AUDIO_INPUT_PARAM | 3201
NET_DVR_GET_CAMERA_DEHAZE_CFG | Get the de-haze parameters | valid | NET_DVR_CAMERA_DEHAZE_CFG | 3203
NET_IPC_GET_AUX_ALARMCFG | Get aux alarm parameters | valid | NET_IPC_AUX_ALARMCFG | 3209
NET_DVR_GET_WPSCFG | Get the wi-fi WPS parameters | invalid | NET_DVR_WPS_PARAM | 3218
NET_DVR_GET_DEVICE_PIN | Get the PIN code | invalid | NET_DVR_PIN_PARAM | 3221
NET_DVR_GET_PREVIEW_DISPLAYCFG | Get the display parameters of fisheye camera | valid | NET_DVR_PREVIEW_DISPLAYCFG | 3211
NET_DVR_GET_PRESET_NUM | Get the preset number of fisheye camera | valid | NET_DVR_PRESET_INFO | 3226
NET_DVR_GET_PTZCRUISE_NUM | Get the patrol number of fisheye camera | valid | NET_DVR_PTZCRUISE_INFO | 3227
NET_DVR_GET_MOTION_TRACK_CFG | Get the pattern parameters of fisheye camera | valid | NET_DVR_MOTION_TRACK_CFG | 3228
NET_DVR_GET_AUDIOOUT_VOLUME | Get the size of output audio | valid | NET_DVR_AUDIOOUT_VOLUME | 3237
NET_DVR_GET_GBT28181_ACCESS_CFG | Get access configuration of GBT28181 protocol | invalid | NET_DVR_GBT28181_ACCESS_CFG | 3249
NET_DVR_GET_ISP_CAMERAPARAMCFG | Get camera parameter configuration of ISP | valid | NET_DVR_ISP_CAMERAPARAMCFG | 3255
NET_DVR_GET_DEVSERVER_CFG | Get module service configuration | invalid | NET_DVR_DEVSERVER_CFG | 3257
NET_DVR_GET_LOW_LIGHTCFG | Get the configuration of low illumination | valid | NET_DVR_LOW_LIGHT_CFG | 3303
NET_DVR_GET_FOCUSMODECFG | Get the configuration of focus mode | valid | NET_DVR_FOCUSMODE_CFG | 3305
NET_DVR_GET_INFRARECFG | Get the infrared information | valid | NET_DVR_INFRARE_CFG | 3307
NET_DVR_GET_AEMODECFG | Get the other parameters(exposure, shutter, and so on) of speed dome | valid | NET_DVR_AEMODECFG | 3309
NET_DVR_GET_CORRIDOR_MODE | Get configuration of corridor function | valid | NET_DVR_CORRIDOR_MODE | 3354
NET_DVR_GET_SIGNAL_SYNC | Get the sync signal of light | valid | NET_DVR_SIGNAL_SYNCCFG | 3396
NET_DVR_GET_ACCESS_CAMERA_INFO | Get the camera information of the channel | valid | NET_DVR_ACCESS_CAMERA_INFO | 6201
NET_DVR_GET_DVR_SYNCHRONOUS_IPC | Get the information of whether to synchronize front-end IPC parameter | invalid | NET_DVR_SYNCHRONOUS_IPC | 6005
NET_DVR_GET_DISK_RAID_INFO | Get RAID information of hard disk | invalid | NET_DVR_DISK_RAID_INFO | 6001
NET_DVR_GET_DEVICE_NET_USING_INFO | Get device current network resource usage | invalid | NET_DVR_DEVICE_NET_USING_INFO | 6009
NET_DVR_GET_RECORD_CHANNEL_INFO | Get recording status of the channel | valid | NET_DVR_CHAN_GROUP_RECORD_STATUS | 6013
NET_DVR_GET_WD1_CFG | Get the status of WD1 function | valid | NET_DVR_WD1_CFG | 6017
NET_DVR_GET_DRAWFRAME_DISK_QUOTA_CFG | Get disk quota configuration of the draw-frame channel | valid | NET_DVR_DRAWFRAME_DISK_QUOTA_CFG | 6109
NET_DVR_GET_NAT_CFG | Get the NAT mapping parameters | invalid | NET_DVR_NAT_CFG | 6111
NET_DVR_GET_AES_KEY | Get the AES encryption key | invalid | NET_DVR_AES_KEY_INFO | 6113
NET_DVR_GET_POE_CFG | Get POE parameters | invalid | NET_DVR_POE_CFG | 6114
NET_DVR_GET_CUSTOM_PRO_CFG | Get the custom protocol parameters | invalid | NET_DVR_CUSTOM_PROTOCAL | 6116
NET_DVR_GET_STREAM_CABAC | Get stream compression performance option | valid | NET_DVR_STREAM_CABAC | 6118
NET_DVR_GET_ESATA_MINISAS_USAGE_CFG | Get the usage of eSATA and miniSAS | invalid | NET_DVR_ESATA_MINISAS_USAGE | 6120
NET_DVR_GET_POE_CHANNEL_ADD_MODE | Get the adding mode of POE channel | invalid | NET_DVR_POE_CHANNEL_ADD_MODE | 6124
NET_DVR_GET_DIGITAL_CHANNEL_STATE | Get the status of the digital channel | invalid | NET_DVR_DIGITAL_CHANNEL_STATE | 6126
NET_DVR_GET_BONJOUR_CFG | Get Bonjour configuration | invalid | NET_DVR_BONJOUR_CFG | 6127
NET_DVR_GET_SOCKS_CFG | Get SOCKS configuration | invalid | NET_DVR_SOCKS_CFG | 6130
NET_DVR_GET_QOS_CFG | Get QoS configuration | invalid | NET_DVR_QOS_CFG | 6132
NET_DVR_GET_HTTPS_CFG | Get HTTPS configuration | invalid | NET_DVR_HTTPS_CFG | 6134
NET_DVR_GET_MAX_MACHINE_NUM_CFG | The Max. number of standby devices | Invalid | NET_DVR_MACHINE_MAX_NUM_CFG | 6214
NET_DVR_GET_EZVIZ_ACCESS_CFG | Get the EZVIZ access parameters | invalid | NET_DVR_EZVIZ_ACCESS_CFG | 3398
NET_DVR_GET_SECURITY_CFG | Get security authentication configuration | invalid | NET_DVR_SECURITY_CFG | 147

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

For CVR, the count of channels is over 64, so lChannel means the group number: 0- the no.1 group, 1- the no.2 group, and so on.

For the command: NET_DVR_GET_HDCFG_V40, the lChannel means the group number, and its value starts from 0. There are 33 disks in each group.

For other commands, if lChannel is valid, its value starts from 1.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Parameter type. Please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number if it is not the channel parameter, do not use lChannel, and set it as 0xFFFFFFFF
lpInBuffer
[in] Buffer that saves the input parameters
dwInBufferSize
[in] Size of the buffer (unit: byte )

The structures and command numbers are different according to the various configuration functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Structure | Value
NET_DVR_SET_NETAPPCFG | Set network application parameters(NTP/DDNS) | invalid | NET_DVR_NETAPPCFG | 223
NET_DVR_SET_NTPCFG | Set network application parameters(NTP) | invalid | NET_DVR_NTPPARA | 225
NET_DVR_SET_DDNSCFG_V30 | Set network application parameters(DDNS) | invalid | NET_DVR_DDNSPARA_V30 | 1011
NET_DVR_SET_EMAILCFG_V30 | Set network application parameters(EMAIL) | invalid | NET_DVR_EMAILCFG_V30 | 1013
NET_DVR_SET_NETCFG_MULTI | Set multi network card parameters | invalid | NET_DVR_NETCFG_MULTI | 1162
NET_DVR_SET_NETWORK_BONDING | Set BONDING network card parameters | invalid | NET_DVR_NETWORK_BONDING | 1255
NET_DVR_SET_FTPCFG | Set the parameters of preferred FTP | invalid | NET_DVR_FTPCFG | 135
NET_DVR_SET_FTPCFG_SECOND | Set the parameters of spare FTP | invalid | NET_DVR_FTPCFG | 6104
NET_DVR_SET_SNMPCFG_V30 | Set SNMP parameters | invalid | NET_DVR_SNMPCFG_V30 | 1115
NET_DVR_SET_SHOWSTRING_V30 | Set superposition character parameters | valid | NET_DVR_SHOWSTRING_V30 | 1031
NET_DVR_SET_ZONEANDDST | Set time zone and DST parameters | invalid | NET_DVR_ZONEANDDST | 129
NET_DVR_SET_NFSCFG | Set NFS (Network File System) parameters | invalid | NET_DVR_NFSCFG | 231
NET_DVR_SET_WIFI_CFG | Set wireless configuration of IP device | invalid | NET_DVR_WIFI_CFG | 306
NET_DVR_SET_WIFI_WORKMODE | Set wi-fi work mode of IP device | invalid | NET_DVR_WIFI_WORKMODE | 308
NET_DVR_SET_COMPRESSCFG_AUD | Set audio parameters of voice talk | invalid | NET_DVR_COMPRESSION_AUDIO | 1059
NET_DVR_SET_HDCFG | Set hard disk management parameters | invalid | NET_DVR_HDCFG | 1055
NET_DVR_SET_HDCFG_V40 | Set hard disk management parameter(extended) | valid | NET_DVR_HDCFG | 6123
NET_DVR_SET_HDGROUP_CFG | Set hard disk group management parameters | invalid | NET_DVR_HDGROUP_CFG | 1057
NET_DVR_SET_NET_DISKCFG | Set network disk access parameters | invalid | NET_DVR_NET_DISKCFG | 1039
NET_DVR_SET_HOLIDAY_PARAM_CFG | Set holiday parameters | invalid | NET_DVR_HOLIDAY_PARAM_CFG | 1241
NET_DVR_SET_MOTION_HOLIDAY_HANDLE | Set holiday alarm handling mode of motion detection | valid | NET_DVR_HOLIDAY_HANDLE | 1243
NET_DVR_SET_VILOST_HOLIDAY_HANDLE | Set holiday alarm handling mode of video signal lost | valid | NET_DVR_HOLIDAY_HANDLE | 1245
NET_DVR_SET_HIDE_HOLIDAY_HANDLE | Set holiday alarm handling mode of video tampering | valid | NET_DVR_HOLIDAY_HANDLE | 1247
NET_DVR_SET_ALARMIN_HOLIDAY_HANDLE | Set holiday alarm handling mode of alarm input | valid | NET_DVR_HOLIDAY_HANDLE | 1249
NET_DVR_SET_ALARMOUT_HOLIDAY_HANDLE | Set holiday alarm handling mode of alarm output | valid | NET_DVR_HOLIDAY_HANDLE | 1251
NET_DVR_SET_HOLIDAY_RECORD | Set holiday recording paramter | valid | NET_DVR_HOLIDAY_RECORD | 1253
NET_DVR_SET_PTZPOS | Set PTZ parameters of IP speed dome | valid | NET_DVR_PTZPOS | 292
NET_DVR_SET_CRUISE | Set patrol parameters of IP speed dome | valid | NET_DVR_CRUISE_PARA | 1021
NET_DVR_SET_IPPARACFG_V40 | Set IP channel access parameters(extended) | valid | NET_DVR_IPPARACFG_V40 | 1063
NET_DVR_SET_DISK_QUOTA_CFG | Set disk quota configuration | valid | NET_DVR_DISK_QUOTA_CFG | 1279
NET_DVR_SET_JPEG_CAPTURE_CFG | Set picture capturing configuration | valid | NET_DVR_JPEG_CAPTURE_CFG | 1281
NET_DVR_SET_SCHED_CAPTURECFG | Set picture capturing schedule | valid | NET_DVR_SCHED_CAPTURECFG | 1283
NET_DVR_SET_DISK_RAID_INFO | Set RAID information of hard disk | invalid | NET_DVR_DISK_RAID_INFO | 6002
NET_DVR_SET_DVR_SYNCHRONOUS_IPC | Set whether to synchronize front-end IPC parameters | invalid | NET_DVR_SYNCHRONOUS_IPC | 6006
NET_DVR_SET_DVR_IPC_PASSWD | Set IPC user name and password | valid | NET_DVR_IPC_PASSWD | 6008
NET_DVR_SET_DVR_IPC_NET | Set network parameters of front-end IPC that connecting with the device | valid | NET_DVR_IPC_NETCFG | 6012
NET_DVR_SET_RECORD_CHANNEL_INFO | Set recording status of the channel | valid | NET_DVR_CHAN_GROUP_RECORD_STATUS | 6014
NET_DVR_SET_WD1_CFG | Set the WD1 function switch | valid | NET_DVR_WD1_CFG | 6018
NET_DVR_SET_DRAWFRAME_DISK_QUOTA_CFG | Set disk quota configuration of the draw-frame channel | valid | NET_DVR_DRAWFRAME_DISK_QUOTA_CFG | 6110
NET_DVR_SET_NAT_CFG | Set the NAT mapping parameters | invalid | NET_DVR_NAT_CFG | 6112
NET_DVR_SET_POE_CFG | Set the POE parameters | invalid | NET_DVR_POE_CFG | 6115
NET_DVR_SET_CUSTOM_PRO_CFG | Set the customized protocol parameters | invalid | NET_DVR_CUSTOM_PROTOCAL | 6117
NET_DVR_SET_STREAM_CABAC | Set stream compression performance option | valid | NET_DVR_STREAM_CABAC | 6119
NET_DVR_SET_ESATA_MINISAS_USAGE_CFG | Set the usage of eSATA and miniSAS | invalid | NET_DVR_ESATA_MINISAS_USAGE | 6121
NET_DVR_SET_POE_CHANNEL_ADD_MODE | Set the adding mode of POE channel | invalid | NET_DVR_POE_CHANNEL_ADD_MODE | 6125
NET_DVR_SET_ACCESS_CAMERA_INFO | Set the camera information of the digital channel | valid | NET_DVR_ACCESS_CAMERA_INFO | 6202
NET_DVR_SET_BONJOUR_CFG | Set Bonjour configuration | invalid | NET_DVR_BONJOUR_CFG | 6128
NET_DVR_SET_SOCKS_CFG | Set SOCKS configuration | invalid | NET_DVR_SOCKS_CFG | 6131
NET_DVR_SET_QOS_CFG | Set QoS configuration | invalid | NET_DVR_QOS_CFG | 6133
NET_DVR_SET_HTTPS_CFG | Set HTTPS configuration | invalid | NET_DVR_HTTPS_CFG | 6135
NET_DVR_SET_MAX_MACHINE_NUM_CFG | Max. number of standby device | Invalid | NET_DVR_MACHINE_MAX_NUM_CFG | 6215
NET_DVR_SET_DATA_CALLBACK_CFG | Data call-back status configuration | Invalid | NET_DVR_DATA_CALLBACK_CFG | 6219
NET_DVR_SET_AUDIO_INPUT | Set audio input parameters | valid | NET_DVR_AUDIO_INPUT_PARAM | 3202
NET_DVR_SET_CAMERA_DEHAZE_CFG | Set the de-haze parameters | valid | NET_DVR_CAMERA_DEHAZE_CFG | 3204
NET_IPC_SET_AUX_ALARMCFG | Set aux alarm parameters | valid | NET_IPC_AUX_ALARMCFG | 3210
NET_DVR_SET_WPSCFG | Set the wi-fi WPS parameters | invalid | NET_DVR_WPS_PARAM | 3219
NET_DVR_SET_PREVIEW_DISPLAYCFG | Set the display parameters of fisheye camera | valid | NET_DVR_PREVIEW_DISPLAYCFG | 3212
NET_DVR_SET_MOTION_TRACK_CFG | Set the pattern parameters of fisheye camera | valid | NET_DVR_MOTION_TRACK_CFG | 3229
NET_DVR_SET_DEVSERVER_CFG | Set module service configuration | invalid | NET_DVR_DEVSERVER_CFG | 3258
NET_DVR_SET_LOW_LIGHTCFG | Set the parameters of low illumination | valid | NET_DVR_LOW_LIGHT_CFG | 3304
NET_DVR_SET_FOCUSMODECFG | Set the parameters of focus mode | valid | NET_DVR_FOCUSMODE_CFG | 3306
NET_DVR_SET_INFRARECFG | Set the parameters of infrared | valid | NET_DVR_INFRARE_CFG | 3308
NET_DVR_SET_AEMODECFG | Set the other parameters(exposure, shutter, and so on) of speed dome | valid | NET_DVR_AEMODECFG | 3310
NET_DVR_SET_AUDIOOUT_VOLUME | Set the size of output audio | valid | NET_DVR_AUDIOOUT_VOLUME | 3238
NET_DVR_SET_GBT28181_ACCESS_CFG | Set access configuration of GBT28181 protocol | invalid | NET_DVR_GBT28181_ACCESS_CFG | 3250
NET_DVR_SET_ISP_CAMERAPARAMCFG | Set camera parameter configuration of ISP | valid | NET_DVR_ISP_CAMERAPARAMCFG | 3256
NET_DVR_SET_DEVSERVER_CFG | Set module service configuration | invalid | NET_DVR_DEVSERVER_CFG | 3258
NET_DVR_SET_SIGNAL_SYNC | Set the sync signal of light | valid | NET_DVR_SIGNAL_SYNCCFG | 3397
NET_DVR_SET_EZVIZ_ACCESS_CFG | Set the EZVIZ access parameters | invalid | NET_DVR_EZVIZ_ACCESS_CFG | 3399
NET_DVR_SET_SECURITY_CFG | Set security authentication configuration | Valid | NET_DVR_SECURITY_CFG | 148

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

For CVR, the count of channels is over 64, so lChannel means the group number: 0- the no.1 group, 1- the no.2 group, and so on.

For the command: NET_DVR_SET_HDCFG_V40, the lChannel means the group number, and its value starts from 0. There are 33 disks in each group.

For other commands, if lChannel is valid, its value starts from 1.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

This API is used to get configuration of the device(batch).

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to the following configuraition command list
dwCount
[in] The count of channels to be query, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition, such as stream ID
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras.

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_MULTI_STREAM_COMPRESSIONCFG | Get the compresession parameters of multi-stream remotely | dwCount * NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND | dwCount * NET_DVR_MULTI_STREAM_COMPRESSIONCFG | 3216
NET_DVR_GET_PRESETCFG | Get the preset information of fisheye camera | dwCount * NET_DVR_PRESET_COND | dwCount * NET_DVR_PRESETCFG | 3224
NET_DVR_GET_PTZCRUISECFG | Get the patrol information of fisheye camera | dwCount * NET_DVR_PTZCRUISE_COND | dwCount * NET_DVR_PTZCRUISECFG | 3225
NET_DVR_GET_GBT28181_CHANINFO_CFG | Get the channel information of devices accessed by GBT28181 protocol | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_GBT28181_CHANINFO_CFG | 3251
NET_DVR_GET_GBT28181_ALARMINCFG | Get the alarm information of devices accessed by GBT28181 protocol | dwCount * NET_DVR_ALARMIN_INFO | dwCount * NET_DVR_GBT28181_ALARMINCFG | 3253
NET_DVR_GET_AUDIO_NAME | Get name of audio | dwCount个NET_DVR_CHANNEL_INDEX | dwCount个NET_DVR_AUDIO_NAME | 3385
NET_DVR_GET_IOOUT_CFG | Get parameters of supplyment light | dwCount个NET_DVR_IOOUT_COND | dwCount个NET_DVR_IOOUT_CFG | 3394
NET_DVR_GET_STREAM_SRC_INFO | Get the source information of the stream | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_SRC_INFO | 6017
NET_DVR_GET_STREAM_RECORD_INFO | Get recording information | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_RECORD_INFO | 6019
NET_DVR_GET_STREAM_RECORD_STATUS | Get the stream status information | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_RECORD_STATUS | 6021
NET_DVR_GET_STREAM_SRC_INFO_V40 | Get the source information of the stream | dwCount*NET_DVR_STREAM_INFO | dwCount*NET_DVR_STREAM_SRC_INFO_V40 | 6024
NET_DVR_GET_DEFAULT_VIDEO_EFFECT | Get default video effect | dwCount * NET_DVR_DEFAULT_VIDEO_COND | dwCount * NET_DVR_VIDEO_EFFECT | 6136
NET_DVR_GET_CERT | Get certificate information | dwCount * NET_DVR_CERT_PARAM | dwCount * NET_DVR_CERT_INFO | 6142
NET_DVR_GET_FTPCFG_V40 | Get FTP configuration | dwCount * NET_DVR_FTP_TYPE | dwCount * NET_DVR_FTPCFG_V40 | 6162
NET_DVR_GET_MONTHLY_RECORD_DISTRIBUTION | Get video distribition of calendar,the value of dwCount is 0 | dwCount * NET_DVR_MRD_SEARCH_PARAM | dwCount * NET_DVR_MRD_SEARCH_RESULT | 6164
NET_DVR_GET_ACCESS_DEVICE_CHANNEL_INFO | Get channel information of devices to be accessed, the value of dwCount is 0 | dwCount * NET_DVR_ACCESS_DEVICE_INFO | dwCount * NET_DVR_ACCESS_DEVICE_CHANNEL_INFO | 6165
NET_DVR_GET_PREVIEW_SWITCH_CFG | Get local preview switch parameters, the value of dwCount is 0 | NET_DVR_PREVIEW_SWITCH_COND | NET_DVR_PREVIEW_SWITCH_CFG | 6166
NET_DVR_GET_USER_RIGHT_CFG | Get user right,the value of dwCount is 1 | dwCount * NET_DVR_USER_COND | dwCount * NET_DVR_USER_RIGHT_CFG | 6210

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

This API is used to set configuration of the device(batch).

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition command list
dwCount
[in] The count of cameras to be set, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition, such as stream ID
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be set, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpInParamBuffer
[in] The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful.
dwInParamBufferSize
[in] The size of the configuration content

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to configure quantities of cameras with sending data. lpInBuffer assigns to configure which cameras, and lpOutBuffer saves the configuration information of dwCount cameras to be set.

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_MULTI_STREAM_COMPRESSIONCFG | Remote set multi-stream compression parameters | dwCount * NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND | dwCount * NET_DVR_MULTI_STREAM_COMPRESSIONCFG | 3217
NET_DVR_SET_GBT28181_CHANINFO_CFG | Set the channel information of devices accessed by GBT28181 protocol | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_GBT28181_CHANINFO_CFG | 3252
NET_DVR_SET_GBT28181_ALARMINCFG | Set the alarm information of devices accessed by GBT28181 protocol | dwCount * NET_DVR_ALARMIN_INFO | dwCount * NET_DVR_GBT28181_ALARMINCFG | 3254
NET_DVR_SET_AUDIO_NAME | Set audio name | dwCount * NET_DVR_CHANNEL_INDEX | dwCount * NET_DVR_AUDIO_NAME | 3384
NET_DVR_SET_IOOUT_CFG | Set parameters of supplyment light | dwCoun t*NET_DVR_IOOUT_COND | dwCount * NET_DVR_IOOUT_CFG | 3395
NET_DVR_SET_STREAM_SRC_INFO | Set the source information of the stream | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_SRC_INFO | 6018
NET_DVR_SET_STREAM_RECORD_INFO | Set recording parameter | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_RECORD_INFO | 6020
NET_DVR_SET_STREAM_RECORD_STATUS | Set the stream status information | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_RECORD_STATUS | 6022
NET_DVR_SET_STREAM_SRC_INFO_V40 | Set the stream source information | dwCount*NET_DVR_STREAM_INFO | dwCount*NET_DVR_STREAM_SRC_INFO_V40 | 6025
NET_DVR_SET_FTPCFG_V40 | Set FTP configuration | dwCount * NET_DVR_FTP_TYPE | dwCount * NET_DVR_FTPCFG_V40 | 6163
NET_DVR_SET_PREVIEW_SWITCH_CFG | Set local preview switch parameters, the value of dwCount is 0 | dwCount * NET_DVR_PREVIEW_SWITCH_COND | dwCount * NET_DVR_PREVIEW_SWITCH_CFG | 6167
NET_DVR_SET_USER_RIGHT_CFG | Set user right,the value of dwCount is 1 | dwCount * NET_DVR_USER_COND | dwCount * NET_DVR_USER_RIGHT_CFG | 6211

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_RemoteControl

This API is used to remotely control the device.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Control command, please kindly refer to the list below
lpInBuffer
[in] Buffer that saves the input parameters, the content is related to the control command, details listed below
dwInBufferSize
[in] Size of the buffer (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below:

dwCommand Macro Definition | dwCommand Value | Control Function | lpInBuffer Structure
NET_DVR_REMOTECONTROL_ALARM | 3205 | Set the remote controller armed | NET_DVR_REMOTECONTROL_ALARM_PARAM
NET_DVR_REMOTECONTROL_DISALARM | 3206 | Set the remote controller disarmed | NET_DVR_REMOTECONTROL_ALARM_PARAM
NET_DVR_REMOTECONTROL_STUDY | 3207 | Set the remote controller study | NET_DVR_REMOTECONTROL_STUDY_PARAM
NET_DVR_WIRELESS_ALARM_STUDY | 3208 | Remotely contol wireless alarm study | NET_DVR_WIRELESS_ALARM_STUDY_PARAM

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login_V40


NET_DVR_StartRemoteConfig

This API is used to start long connection configuration.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the list below
lpInBuffer
[in] The input parameter, related with the configuration command, please kindly refer to the list below
dwInBufferLen
[in] The size of input buffer
cbStateCallback
[in] Status callback function
pUserData
[in] User data

The lpInBuffer and dwCommand are different according to the various configuration functions, and they are listed as below:

dwCommand Macro Definition | Value | Configuration Function | lpInBuffer Corresponding Structure
NET_DVR_FIND_NAS_DIRECTORY | 6161 | Query NAS directory | NET_DVR_NET_DISK_SERACH_PARAM

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Current configuration handle
lpBuffer
[out] The buffer that saves output data, related with dwType, please kindly refer to the list below:
dwType | Value | Implication | lpBuffer=
NET_SDK_CALLBACK_TYPE_STATUS | 0 | Status value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Successful NET_SDK_CALLBACK_STATUS_PROCESSING, //Be processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | 1 | Progress value | The data in lpBuffer means the progress
NET_SDK_CALLBACK_TYPE_DATA | 2 | Message data | The data in lpBuffer
dwBufLen
[out] The buffer size
pUserData
[out] User data

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_GetNextRemoteConfig and NET_DVR_StopRemoteConfig. Please call NET_DVR_GetLastError to get the error code.

Remarks

The API has assigned the searching condition to search. After calling it successfully, we can call NET_DVR_GetNextRemoteConfig to get file information one by one.

dwCommand Macro Definition | Description | Interface
NET_DVR_FIND_NAS_DIRECTORY | Search NAS directory | NET_DVR_GetNextRemoteConfig NET_DVR_GetRemoteConfigState

See Also

NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

This API is used to get the related configuration one by one

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] The configuration handle, return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] The output buffer, related with the value of dwCommand when calling NET_DVR_StartRemoteConfig, please kindly refer to the list below
dwOutBuffSize
[out] The output buffer size

The lpOutBuff is different according to the value of dwCommand when calling NET_DVR_StartRemoteConfig, and they are listed as below:

dwCommand Macro Definition | Value | Configuration Function | lpOutBuff Corresponding Structure
NET_DVR_FIND_NAS_DIRECTORY | 6161 | Query NAS directory | NET_DVR_NET_DISK_SERACH_RET

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | get the data successfully, please call NET_DVR_GetNextRemoteConfig to get next one after handling the data
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Searching, please wait, and then continue to call NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | No more found, search is finished, and then call NET_DVR_StopRemoteConfig to release resource
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Abnormal, please call NET_DVR_StopRemoteConfig to release resource

Remarks

Before calling this API, please call NET_DVR_StartRemoteConfigNET_DVR_FindFile_V30 to get current handle firstly. The interface only supports to get one file. We should call the interface repetitively to get all.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetRemoteConfigState

This API is used to the status of long connection configuration.

BOOL NET_DVR_GetRemoteConfigState(
  LONG    lHandle,
  void    *pState
);

Parameters

lHandle
[in] The configuration handle, return value of NET_DVR_StartRemoteConfig
pState
[out] The status, defined as below:
Macro Definition | Value | Implication
NET_DVR_FIND_NAS_DIRECTORY | 6161 | Query NAS directory
pState Status Macro Definition | Value | Description
NET_SDK_CALLBACK_STATUS_SUCCESS | 1000 | Query successful
NET_SDK_CALLBACK_STATUS_PROCESSING | 1001 | In process
NET_SDK_CALLBACK_STATUS_FAILED | 1002 | Query failed

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_StopRemoteConfig

This API is used to close the handle created by long connection configuration and release the resource.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Configuration handle, the return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_GetAlarmOut

This API is used to get alarm output status.

BOOL NET_DVR_GetAlarmOut(
  LONG                         lUserID,
  LPNET_DVR_ALARMOUTSTATUS     lpAlarmOutState
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpAlarmOutState
[out] Status of alarm output

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetAlarmOut


NET_DVR_GetAlarmOut_V30

This API is used to get alarm output status.

BOOL NET_DVR_GetAlarmOut_V30(
  LONG                             lUserID,
  LPNET_DVR_ALARMOUTSTATUS_V30     lpAlarmOutState
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpAlarmOutState
[out] Status of alarm output

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetAlarmOut


NET_DVR_SetAlarmOut

This API is used to set device alarm output.

BOOL NET_DVR_SetAlarmOut(
  LONG     lUserID,
  LONG     lAlarmOutPort,
  LONG     lAlarmOutStatic
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lAlarmOutPort
[in] Alarm output port:
The output port number begins with 0,
0x00ff means all analog output,
0xff00 means all IP output.
DS-90xx devices support both analog and IP alarm output, and 32-95 are IP alarm ports.
lAlarmOutStatic
[in] Alarm output state:0-stop output, 1-output

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetAlarmOut


NET_DVR_GetATMPortCFG

This API is used to get ATM port number.

BOOL NET_DVR_GetATMPortCFG(
  LONG     lUserID,
  WORD     *lpOutATMPort
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpOutATMPort
[out] ATM port number

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetATMPortCFG


NET_DVR_SetATMPortCFG

This API is used to set ATM device listening port.

BOOL NET_DVR_SetATMPortCFG(
  LONG     lUserID,
  WORD     wATMPort
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
wATMPort
[in] Listening port

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetATMPortCFG


NET_DVR_ClientGetframeformat

This API is used to get transaction protocol information of ATM.

BOOL NET_DVR_ClientGetframeformat(
  LONG                      lUserID,
  LPNET_DVR_FRAMEFORMAT     lpFrameFormat
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpFrameFormat
[out] Transaction protocol information of ATM

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.

See Also

NET_DVR_ClientSetframeformat


NET_DVR_ClientSetframeformat

This API is used to set transaction protocol information of ATM.

BOOL NET_DVR_ClientSetframeformat(
  LONG                      lUserID,
  LPNET_DVR_FRAMEFORMAT     lpFrameFormat
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpFrameFormat
[in] Transaction protocol information of ATM

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.

See Also

NET_DVR_ClientGetframeformat


NET_DVR_GetAtmProtocol

This API is used to get ATM protocol list.

BOOL NET_DVR_GetAtmProtocol(
  LONG     	 	   lUserID,
  LPNET_DVR_ATM_PROTOCOL      lpAtmProtocol
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpAtmProtocol
[out] ATM protocol list

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetAtmFrameFormat_V30

This API is used to get ATM configuration information.

BOOL NET_DVR_GetAtmFrameFormat_V30(
  LONG                            lUserID,
  LONG                            lAtmChannel,
  LPNET_DVR_ATM_FRAMEFORMAT_V30   lpFrameFormat
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lAtmChannel
[in] ATM Channel number, currently, only supports 0
lpFrameFormat
[out] Parameter of ATM transaction protocol

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetAtmFrameFormat_V30


NET_DVR_SetAtmFrameFormat_V30

This API is used to set ATM configuration information.

BOOL NET_DVR_SetAtmFrameFormat_V30(
  LONG                             lUserID,
  LONG                             lAtmChannel,
  LPNET_DVR_ATM_FRAMEFORMAT_V30    lpFrameFormat
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lAtmChannel
[in] ATM channel number, currently only support 0 channel configuration
lpFrameFormat
[in] ATM machine transaction protocol parameters

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetAtmFrameFormat_V30


NET_DVR_GetPTZProtocol

This API is used to get PTZ protocol supported by device.

BOOL NET_DVR_GetPTZProtocol(
  LONG               lUserID,
  NET_DVR_PTZCFG     *pPtzcfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pPtzcfg
[out] The structure of PTZ protocol

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Some rarely used PTZ protocols which supported by old type device such as 8000 series, have been removed from the devices such as DS-90xx, DS-91xx, DS-81xx. Please call this API to acquire the supported PTZ protocol list.


NET_DVR_GetScaleCFG

This API is used to get scale configuration of video output.

BOOL NET_DVR_GetScaleCFG(
  LONG      lUserID,
  DWORD     *lpOutScale
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpOutScale
[out] Scale parameter: 0- no, 1-yes

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetScaleCFG


NET_DVR_SetScaleCFG

This API is used to set video output zoom parameters.

BOOL NET_DVR_SetScaleCFG(
  LONG      lUserID,
  DWORD     dwScale
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwScale
[in] Video zoom:0-no, 1-yes

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetScaleCFG


NET_DVR_GetScaleCFG_V30

This API is used to get scale configuration of video output.

BOOL NET_DVR_GetScaleCFG_V30(
  LONG                   lUserID,
  LPNET_DVR_SCALECFG     pScalecfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pScalecfg
[out] Scale configuration

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetScaleCFG_V30


NET_DVR_SetScaleCFG_V30

This API is used to set scale configuration.

BOOL NET_DVR_SetScaleCFG_V30(
  LONG                   lUserID,
  LPNET_DVR_SCALECFG     pScalecfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pScalecfg
[in] Enable Scale or not, please refer to LPNET_DVR_SCALECFG

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetScaleCFG_V30


NET_DVR_GetPDList

This API is used to get physical disk information list.

BOOL NET_DVR_GetPDList(
  LONG                        lUserID,
  LPNET_DVR_PHY_DISK_LIST     lpPDList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpPDList
[out] Physical disk information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_SetSpareDisk

This API is used to set hot-spare.

BOOL NET_DVR_SetSpareDisk(
  LONG                        lUserID,
  NET_DVR_SPARE_DISK_PARAM    *lpSpareDisk
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpSpareDisk
[in] Set hot-spare parameters

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetArrayList

This API is used to get array information list.

BOOL NET_DVR_GetArrayList(
  LONG                    lUserID,
  LPNET_DVR_ARRAY_LIST    lpArrayList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpArrayList
[out] Array information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_CreateArray

This API is used to create RAID.

BOOL NET_DVR_CreateArray(
  LONG                             lUserID,
  LPNET_DVR_OPERATE_ARRAY_PARAM    lpArrayParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpArrayParam
[in] RAID operation parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Please assign the value of byRaidMode, byPDCount, wPDSlots and wPDSlots when calling the API to create RAID. wPDSlots is assigned by the parameter wPhySlot which is got by NET_DVR_GetPDList.

See Also

NET_DVR_GetPDList


NET_DVR_CalcArraySize

This API is used to calculate the size of RAID.

BOOL NET_DVR_CalcArraySize(
  LONG                             lUserID,
  LPNET_DVR_OPERATE_ARRAY_PARAM    lpArrayParam,
  UINT64                           *lpArraySize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpArrayParam
[in] RAID information
lpArraySize
[out] The pointer of RAID size

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Please assign the value of byRaidMode, byPDCount, wPDSlots and wPDSlots when calling the API to calculate the size. wPDSlots is assigned by the parameter wPhySlot which is got by NET_DVR_GetPDList.


NET_DVR_RaidFastConfig

This API is used to configure RAID by one key.

LONG NET_DVR_RaidFastConfig(
  LONG    lUserID,
  char    *sName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sName
[in] RAID name

Return Values

-1 means false, and other values could be used as the parameter of interface like NET_DVR_FastConfigProcess. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_FastConfigProcess NET_DVR_CloseFastConfig


NET_DVR_FastConfigProcess

This API is used to get progress of RAID one-key configuration.

BOOL NET_DVR_FastConfigProcess(
  LONG     lHandle,
  DWORD    *pState
);

Parameters

lHandle
[in] The handle of one-key configuration, the return value of NET_DVR_RaidFastConfig
pState
[out] Current progress of one-key configuration, range: (0,100). Other values listed below:
Macro Definition | Value | Implication
PROCESS_SUCCESS | 100 | Process finished
PROCESS_EXCEPTION | 400 | Process abnormal
PROCESS_FAILED | 500 | Process failed

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_RaidFastConfig


NET_DVR_CloseFastConfig

This API is used to close one-key configuration of array and release th resource.

BOOL NET_DVR_CloseFastConfig(
  LONG   lHandle
);

Parameters

lHandle
[in] The handle of one-key configuration, the return value of NET_DVR_RaidFastConfig

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_RaidFastConfig


NET_DVR_RebuildArray

This API is used to rebuild RAID.

BOOL NET_DVR_RebuildArray(
  LONG                             lUserID,
  LPNET_DVR_OPERATE_ARRAY_PARAM    lpArrayParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpArrayParam
[in] RAID operation parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Please assign the value of all parameters in lpArrayParam when calling the API to rebuild array. And wArrayID is assigned by ArrayID got by NET_DVR_GetArrayList. wPDSlots is assigned by wPhySlot got by NET_DVR_GetPDList.

See Also

NET_DVR_GetPDList NET_DVR_GetArrayList


NET_DVR_MigrateArray

This API is used to migrate the RAID.

BOOL NET_DVR_MigrateArray(
  LONG                             lUserID,
  LPNET_DVR_OPERATE_ARRAY_PARAM    lpArrayParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpArrayParam
[in] RAID operation parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Please assign the value of all parameters in lpArrayParam when calling the API to migrate array. And wArrayID is assigned by ArrayID got by NET_DVR_GetArrayList. wPDSlots is assigned by wPhySlot got by NET_DVR_GetPDList.

See Also

NET_DVR_GetPDList NET_DVR_GetArrayList


NET_DVR_RaidPullDiskStart

This API is used to safely pull out the disk.

LONG NET_DVR_RaidPullDiskStart(
  LONG                     lUserID,
  LONG                     lRaidID,
  fLongCfgStateCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lRaidID
[in] RAID ID number
cbStateCallback
[in] State callback function of safely pulling disk
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fLongCfgStateCallback)(
  LONG      lHandle,
  DWORD     dwState,
  LPVOID    pUserData
);

Callback Function Parameters

lHandle
[out] Handle of safely pulling disk, the return value of NET_DVR_RaidPullDiskStart
dwState
[out] State of safely pulling disk
Macro Definition | Value | Implication
PULL_DISK_SUCCESS | 1 | Successful to pull out disk safely
PULL_DISK_FAIL | 2 | Failed to pull out disk safely
PULL_DISK_PROCESSING | 3 | Be stopping RAID
PULL_DISK_NO_ARRAY | 4 | No RAID
PULL_DISK_NOT_SUPPORT | 5 | Not support the function
pUserData
[out] User data

Return Values

-1 means false, and other values could be used as parameter of NET_DVR_CloseLongCfgHandle. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to do operation of RAID.
Before pulling out the disk of RAID, it requests to call this API first, and then the disk can be pulled out safely. After calling this API to send safely pulling command, please call NET_DVR_ScanRaidStart to re-scan the RAID and update RAID information.

This operation needs to wait the callback to get the operation state.

See Also

NET_DVR_CloseLongCfgHandle NET_DVR_ScanRaidStart


NET_DVR_ScanRaidStart

This API is used to re-scan the RAID.

LONG NET_DVR_ScanRaidStart(
  LONG                     lUserID,
  fLongCfgStateCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
cbStateCallback
[in] Callback function of RAID scanning state
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fLongCfgStateCallback)(
  LONG      lHandle,
  DWORD     dwState,
  LPVOID    pUserData
);

Callback Function Parameters

lHandle
[out] RAID scanning handle, the return value of NET_DVR_ScanRaidStart
dwState
[out] RAID scanning state
Macro Definition | Value | Implication
SCAN_RAID_SUC | 1 | Successful to scan RAID
SCAN_RAID_FAIL | 2 | Failed to scan RAID
SCAN_RAID_PROCESSING | 3 | Be scanning RAID
SCAN_RAID_NOT_SUPPORT | 4 | Not support the function
pUserData
[out] User data

Return Values

-1 means false, and other values could be used as parameter of NET_DVR_CloseLongCfgHandle. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to do operation of RAID.
Before pulling out the disk of RAID, it requests to call NET_DVR_RaidPullDiskStart first, and then the disk can be pulled out safely. After calling this API to send safely pulling command, please call this API to re-scan the RAID and update RAID information.

This operation needs to wait the callback to get the operation state.

See Also

NET_DVR_CloseLongCfgHandle NET_DVR_RaidPullDiskStart


NET_DVR_GetVDList

This API is used to get virtual disk list.

BOOL NET_DVR_GetVDList(
  LONG                 lUserID,
  LPNET_DVR_VD_LIST    lpVDList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpVDList
[out] Virtual disk information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_CreateVD

This API is used to create virtual disk.

BOOL NET_DVR_CreateVD(
  LONG                          lUserID,
  LPNET_DVR_OPERATE_VD_PARAM    lpVDParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpVDParam
[in] Virtual disk parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetArraySpaceAlloc


NET_DVR_DelVD

This API is used to delete virtual disk.

BOOL NET_DVR_DelVD(
  LONG     lUserID,
  DWORD    dwID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwID
[in] ID of virtual disk

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

dwID is assigned by wArrayID in array information got by NET_DVR_GetVDList.

See Also

NET_DVR_GetVDList


NET_DVR_RepairVD

This API is used to repair virtual disk.

BOOL NET_DVR_RepairVD(
  LONG     lUserID,
  DWORD    dwID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwID
[in] ID of virtual disk

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

dwID is assigned by wArrayID in array information got by NET_DVR_GetVDList.

See Also

NET_DVR_GetVDList


NET_DVR_GetArraySpaceAlloc

This API is used to get virtual disk allocation information of the array.

BOOL NET_DVR_GetArraySpaceAlloc(
  LONG                                 lUserID,
  DWORD                                dwSlot,
  LPNET_DVR_ARRAY_SPACE_ALLOC_INFO     lpOutBuf
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwSlot
[in] Array slot number
lpOutBuf
[out] Virtual disk allocation information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_ExpandDisk

This API is used to remotely expand virtual disk.

LONG NET_DVR_ExpandDisk(
  LONG    lUserID,
  DWORD   dwVDSLot
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwVDSLot
[in] Virtual disk slot number

Return Values

-1 means false, and other values could be used as parameter of interfaces like NET_DVR_CloseExpandHandle. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetExpandProgress NET_DVR_CloseExpandHandle


NET_DVR_GetExpandProgress

This API is used to get progress of expanding virtual disk.

BOOL NET_DVR_GetExpandProgress(
  LONG     lExpandHandle,
  DWORD    *pState
);

Parameters

lExpandHandle
[in] The return value of NET_DVR_ExpandDisk
pState
[out] Current progress of expanding virtual disk, range:(0,100). Other values listed below:
Macro Definition | Value | Implication
PROCESS_SUCCESS | 100 | Process success
PROCESS_EXCEPTION | 400 | Process exception
PROCESS_FAILED | 500 | Process failed

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_ExpandDisk


NET_DVR_CloseExpandHandle

This API is used to close virtual disk expansion and release the resource.

BOOL NET_DVR_CloseExpandHandle(
  LONG   lExpandHandle
);

Parameters

lExpandHandle
[in] The return value of NET_DVR_ExpandDisk

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_ExpandDisk


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data.
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_RAID_ADAPTER_INFO | Get adapter information | invalid | NET_DVR_RAID_ADAPTER_INFO | 1134

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Structure | Value
NET_DVR_sET_RAID_ADAPTER_INFO | Set adapter message | invalid | NET_DVR_RAID_ADAPTER_INFO | 1135

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_AdapterUpgrade

This API is used to remotely upgrade adapter.

LONG NET_DVR_AdapterUpgrade(
  LONG   lUserID,
  char   *sFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sFileName
[in] Path of upgrade file (including file name)

Return Values

Return -1 if it is failed, and other values could be used as a parameter of interfaces like NET_DVR_GetUpgradeState. Please call NET_DVR_GetLastError to get the error code.

Return Values

After calling this API to upgrade adapter remotely, please call NET_DVR_GetUpgradeState, NET_DVR_GetUpgradeProgress to get upgrade state and progress. And, after finishing the upgrade, please call NET_DVR_CloseUpgradeHandle to close handle and release the resource.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_CloseUpgradeHandle
NET_DVR_GetUpgradeState NET_DVR_GetUpgradeProgress


NET_DVR_GetIPCProtoList

This API is used to get protocol list of IPC.

BOOL NET_DVR_GetIPCProtoList(
  LONG                       lUserID,
  LPNET_DVR_IPC_PROTO_LIST   lpProtoList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpProtoList
[out] The structure of IPC protocol list

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The interface is used to get protocol of the IPC supported by current device.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetSadpInfoList

This API is used to get IPC information list captured by SADP.

BOOL NET_DVR_GetSadpInfoList(
  LONG                      lUserID,
  LPNET_DVR_SADPINFO_LIST   lpSadpInfoList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpSadpInfoList
[out] Structure of IPC information list

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_UpdateSadpInfo

This API is used to modify IPC information remotely.

BOOL NET_DVR_UpdateSadpInfo(
  LONG                    lUserID,
  LPNET_DVR_SADP_VERIFY   lpSadpVerify,
  LPNET_DVR_SADPINFO      lpSadpInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpSadpVerify
[in] Verify information
lpSadpInfo
[in] Modified IPC information list structure

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_StartEmailTest

This API is used to test according to the configured EMAIL parameter to see whether it can receive and send e-mail successfully.

LONG NET_DVR_StartEmailTest(
  LONG   lUserID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

-1 means false, other values are as parameters of NET_DVR_GetEmailTestProcess and NET_DVR_StopEmailTest. Please call NET_DVR_GetLastError to get error code.

Remarks

Before calling to this API to test, please configure the EMAIL parameter firstly, refer to NET_DVR_GetDVRConfig and NET_DVR_SetDVRConfig (command: NET_DVR_GET_EMAILCFG_V30 and NET_DVR_SET_EMAILCFG_V30).

See Also

NET_DVR_Login NET_DVR_Login_V30
NET_DVR_GetEmailTestProgress NET_DVR_StopEmailTest
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_GetEmailTestProgress

This API is used to get progress of E-mail test.

BOOL NET_DVR_GetEmailTestProgress(
  LONG    lEmailTestHandle,
  DWORD   *pState
);

Parameters

lEmailTestHandle
[in] The return value of NET_DVR_StartEmailTest
pState
[out] Email testing process, range: (0,100), the other values out of this range is defined as below:
Macro Definition | Value | Implication
PROCESSING | 0 | Being processing
PROCESS_SUCCESS | 100 | Test finished
PROCESS_EXCEPTION | 400 | Test abnormal
PROCESS_FAILED | 500 | Test failed

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartEmailTest


NET_DVR_StopEmailTest

This API is used to stop mail test.

BOOL NET_DVR_StopEmailTest(
  LONG   lEmailTestHandle
);

Parameters

lEmailTestHandle
[in] The return value of NET_DVR_StartEmailTest

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartEmailTest


NET_DVR_UploadFile

This API is used to upload a file to the device.

LONG NET_DVR_UploadFile(
  LONG      lUserID,
  DWORD     dwUploadType,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  char      *sFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwUploadType
[in] The file type to be uploaded, please refer to the following list
lpInBuffer
[in] The input parameter is different based on different dwUploadType, please refer to the following list
dwInBufferSize
[in] The input buffer size
sFileName
[in] The absolute path of the file, including the filename

If the file type to be uploaded is different, the command value (dwUploadType) and the input parameter (lpInBuffer) is different too. Details are listed as following:

Macro Definition of dwUploadType | Value | dwUploadType Implication | lpInBuffer
UPLOAD_CERTIFICATE | 1 | Upload certificate (Wi-Fi) | NET_DVR_CERT_PARAM
UPLOAD_VIOLATION_FILE | 7 | Upload violation dictionary file | NULL
UPLOAD_AUDIO_FILE | 29 | Upload audio file | NULL

Return Values

Return -1 if it is failed, other values are as parameter of NET_DVR_UploadClose or NET_DVR_GetUploadState. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetUploadState NET_DVR_UploadClose

Reference Interface

For extended interface see
NET_DVR_UploadFile_V40


NET_DVR_GetUploadState

This API is used to get the progress and state of uploading.

LONG NET_DVR_GetUploadState(
  LONG       lUploadHandle,
  LPDWORD    pProgress
);

Parameters

lUploadHandle
[in] The uploading handle, return value of NET_DVR_UploadFile
pProgress
[out] The progress value

Return Values

Return -1 if it is failed to call this API, and other values: 1- uploading is successful, 2- being uploading, 3- uploading is failed, 4- network is disconnected and the state is unknown, 6- HDD error, 7-No interrogation saving disk, 8- Not enough capacity, 9- Not enough device resource, 10- Number of files exceeded upper limit, 11- Oversized file; 12- File type error (MP3 and wav file supported by system), 19- Incorrect file format, 20- Incorrect file content, 21- upload audio sampling rate not supported.
Call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_UploadFile


NET_DVR_UploadClose

This API is used to stop uploading the file.

BOOL NET_DVR_UploadClose(
  LONG    lUploadHandle
);

Parameters

lUploadHandle
[in] The uploading handle, return value of NET_DVR_UploadFile

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_UploadFile


NET_DVR_StartDownload

This API is used to download files.

LONG NET_DVR_StartDownload(
  LONG          lUserID,
  DWORD         dwDownloadType,
  LPVOID        lpInBuffer,
  DWORD         dwInBufferSize,
  char const    *sFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDownloadType
[in] The file type to be downloaded, please refer to the following list
lpInBuffer
[in] The input buffer, for different dwUploadType, the input parameter is different, please refer to the following list
dwInBufferSize
[in] The size of input buffer
sFileName
[in] The absolute path to save the file, including the filename

Different file type corresponds to different command (dwUploadType) and differnt lpInBuffer, and they are listed as below:

dwUploadType Macro Definition | Value | dwUploadType Description | lpInBuffer Structure
DOWNLOAD_CERT | 0 | Downloaf the certificate | NET_DVR_CERT_PARAM
NET_SDK_DOWNLOAD_IPC_CFG_FILE | 1 | Download IPC configuration file | NULL
NET_SDK_DOWNLOAD_VEHICLE_BLACKWHITELST_FILE | 8 | Download black/white list configuration file | NULL
NET_SDK_DOWNLOAD_GUID_FILE | 9 | Download GUID file | NET_DVR_GUID_FILE_EXPORT

Return Values

Return -1 if it is failed, other values are as parameter of NET_DVR_StopDownload and NET_DVR_GetDownloadState. Please call NET_DVR_GetLastError to get the error code.

Remarks

  • Check whether to support the function of exporting blacklist/whitelist configuration file via the capability of (TrafficCap)-node<isSupportPlateList>，API: NET_DVR_GetSTDAbility(capability type: NET_DVR_GET_TRAFFIC_CAP).

See Also

NET_DVR_GetDownloadState NET_DVR_StopDownload


NET_DVR_GetDownloadState

This API is used to get the progress and status of file downloading.

LONG NET_DVR_GetDownloadState(
  LONG       lDownloadHandle,
  LPDWORD    pProgress
);

Parameters

lDownloadHandle
[in] The handle of file downloading, return value of NET_DVR_StartDownload
pProgress
[out] The returned progress, value: 0~100

Return Values

Return -1 if it is failed, and other values: 1- downloading is successful; 2- is being downloading; 3- downloading is failed; 4- network is disconnected and the status is unknown. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartDownload


NET_DVR_StopDownload

This API is used to stop downloading.

BOOL NET_DVR_StopDownload(
  LONG    lHandle
);

Parameters

lHandle
[in] Hande, the return value of NET_DVR_StartDownload

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartDownload


NET_DVR_GetDeviceConfig

Get device configuration information in batch (with sending data)

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in]The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to the following configuraition command list
dwCount
[in] The count of channels to be query, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition, such as stream ID
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is successful or failed. FALSE means all configuration failed. For error code, please call NET_DVR_GetLastError。

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras.

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_STREAM_SRC_INFO | Get the source information of the stream | dwCount * NET_DVR_STREAM_INFO | dwCount *NET_DVR_STREAM_SRC_INFO | 6017
NET_DVR_GET_MONITOR_VQDCFG | Get the camera information of the server | dwCount *NET_DVR_STREAM_INFO | dwCount *NET_DVR_MONITOR_VQDCFG | 5106
NET_DVR_GET_RECORD_INFO | Get the resource image | dwCount *NET_DVR_DOWN_LOAD_REQUEST | dwCount *NET_DVR_VQD_RESULT_INFO | 5105
NET_DVR_GET_VQD_EVENT_RULE | Get the VQD event rule | dwCount *NET_DVR_VQD_EVENT_COND | dwCount *NET_DVR_VQD_EVENT_RULE | 5035
NET_DVR_GET_VQD_LOOP_DIAGNOSE_CFG | Get VQD loop diagnosis configuration parameters | dwCount *NET_DVR_CHANNEL_GROUP | dwCount *NET_DVR_VQD_LOOP_DIAGNOSE_CFG | 6406

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

This API is used to set configuration of the device(batch).

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to configuraition command list
dwCount
[in]The count of cameras to be set, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition, such as stream ID
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be set, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpInParamBuffer
[in] The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful.
dwInParamBufferSize
[in] The size of the configuration content

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. For error code, please callNET_DVR_GetLastError。

Remarks

This API is used to configure quantities of cameras with sending data. lpInBuffer assigns to configure which cameras, and lpOutBuffer saves the configuration information of dwCount cameras to be set. The structures and command numbers are different according to the different dwCommand, and they are listed below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_STREAM_SRC_INFO | Set the source information of the stream | dwCount*NET_DVR_STREAM_INFO | dwCount*NET_DVR_STREAM_SRC_INFO | 6018
NET_DVR_SET_MONITOR_VQDCFG | Set the camera information of the server | dwCount*NET_DVR_STREAM_INFO | dwCount*NET_DVR_MONITOR_VQDCFG | 5107
NET_DVR_SET_MONITOR_INFO | Set the camera information in the schedule | dwCount*NET_DVR_PLAN_VQD_CFG | dwCount*NET_DVR_STREAM_INFO | 5102
NET_DVR_DEL_MONITOR_PLAN_VQD | Delete schedule | dwCount*NET_DVR_PLAN_VQD_CFG | NULL | 5103
NET_DVR_SET_MONITOR_PLAN_VQDCFG | Set the management schedule (single schedule)) | NULL | dwCount*NET_DVR_PLAN_VQD_CFG | 5108
NET_DVR_SET_VQD_EVENT_RULE | Set the VQD event rule | dwCount*NET_DVR_VQD_EVENT_COND | dwCount*NET_DVR_VQD_EVENT_RULE | 5036
NET_DVR_SET_VQD_LOOP_DIAGNOSE_CFG | Set the loop diagnosis configuration parameters of the VQD | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_DVR_VQD_LOOP_DIAGNOSE_CFG | 6407

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out]The size of the returned buffer, it can't be NULL

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed below:

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_BASELINE_SCENE | Get the basic scene parameters | Channel No. | NET_DVR_BASELINE_SCENE | 5037

Return Values

Returns TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError

The possible error codes returned from the API are listed below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set the device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details, refer to 'Remarks'.
lChannel
[in] Channel No., if it is not the channel parameter, do not use lChannel, and set it as 0xFFFFFFFF
lpInBuffer
[in] Buffer that saves the input parameters
dwInBufferSize
[in] Size of the buffer (unit: byte )

Remarks

The structures and command numbers are different according to the various configuration functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_BASELINE_SCENE | Set the basic scene parameters | Channel No. | NET_DVR_BASELINE_SCENE | 5038

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_StartRemoteConfig

This API is used to start long connection configuration.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] The lpInBuffer and dwCommand are different according to the various configuration functions, and they are listed below:
dwCommand Macro Definition | Value | Configuration Function | lpInBuffer Structure | cbStateCallback
NET_DVR_GET_STREAM_INFO | 6023 | Get the added stream ID information | NULL | Return status, progress, and found stream ID information
NET_DVR_GET_MONITOR_PLAN_VQD | 5100 | Get the schedule of diagnosis server | NULL | NULL
NET_DVR_GET_MONITORID_VQD | 5101 | Get the schedule corresponded camera information | NET_DVR_PLAN_VQD_CFG | NULL
NET_DVR_GET_VQD_DIAGNOSE_INFO | 6408 | Manually get the VQD diagnosis information | Channel No.(DWORD type) array | NULL
lpInBuffer
[in] The input parameter, related with the configuration command, please kindly refer to the list below
dwInBufferLen
[in] The size of input buffer
cbStateCallback
[in] Status callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Status, the details are shown below.
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Callback status value
NET_SDK_CALLBACK_TYPE_PROGRESS
Callback progress value
NET_SDK_CALLBACK_TYPE_DATA
Callback data
lpBuffer
[out] The buffer that saves output data, related with dwType, please kindly refer to the list below:
dwType | Description | lpBuffer
NET_SDK_CALLBACK_TYPE_STATUS | Status Value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Succeeded. NET_SDK_CALLBACK_STATUS_PROCESSING, //In processing... NET_SDK_CALLBACK_STATUS_FAILED //Failed. }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress Value | The value of lpBuffer indicates the progress value (DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information Data | The value of lpBuffer indicates information data, the structure of getting the stream ID:NET_DVR_STREAM_INFO
dwBufLen
[out] The buffer size
pUserData
[out] User data

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_GetNextRemoteConfig and NET_DVR_StopRemoteConfig. For error code, please call NET_DVR_GetLastError。

Remarks

After calling it successfully, we can call NET_DVR_GetNextRemoteConfig to get file information one by one.

dwCommand Macro Definition | Interface
NET_DVR_GET_STREAM_INFO | NULL
NET_DVR_GET_MONITOR_PLAN_VQD | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_MONITORID_VQD | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_VQD_DIAGNOSE_INFO | NET_DVR_GetNextRemoteConfig
  • The manual diagnosis information can be get via the command of NET_DVR_GET_VQD_DIAGNOSE_INFO. The manual diagnosis uses loop-diagnosis configuration parameters (NET_DVR_VQD_LOOP_DIAGNOSE_CFG)For threshold value (byThresholdValue), If there is no threshold value being configured for loop diagnosis, the default value ( get from the VQD capability) will be used. The manual diagnosis will diagnose the video stream compulsively with all diagnosis type.

    • See Also

    NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

This API is used to get the related configuration one by one.

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] The query handle, the return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] The output buffer, related with the value of dwCommand when calling NET_DVR_StartRemoteConfig, please kindly refer to the list below.
dwOutBuffSize
[out] The output buffer size

The lpOutBuff is different according to the value of dwCommand when calling NET_DVR_StartRemoteConfig, and they are listed as below:

dwCommand Macro Definition | Value | Description | lpOutBuff Structure
NET_DVR_GET_MONITOR_PLAN_VQD | 5100 | Get the schedule of the diagnosis sever. | NET_DVR_PLAN_VQD_CFG
NET_DVR_GET_MONITORID_VQD | 5101 | Get the camera information in the corresponded schedule. | NET_DVR_STREAM_INFO
NET_DVR_GET_VQD_DIAGNOSE_INFO | 6408 | Manually get the VQD diagnosis information | NET_DVR_VQD_DIAGNOSE_INFO

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Error code, please call NET_DVR_GetLastError

Macro Definition | Value | Implication
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | get the data successfully, please call NET_DVR_GetNextRemoteConfig to get next one after handling the data
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Searching, please wait, and then continue to call NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | No more found, search is finished, and then call NET_DVR_StopRemoteConfig to release resource
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Abnormal, please call NET_DVR_StopRemoteConfig to release resource

Remarks

Before calling this API, please call NET_DVR_StartRemoteConfigto get current handle firstly. The interface only supports to get one file. We should call the interface repetitively to get all.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StopRemoteConfig

Close the handle made by remote configuration interface, and release the resource .

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Hnadle, the return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success, FALSE on failure. For error code, please callNET_DVR_GetLastError。

See Also

NET_DVR_StartRemoteConfig


NET_DVR_RemoteControl

This API is used for remote control.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details, please refer to the list below.
lpInBuffer
[in] Input parameters, for detailed contents (related to the control command), refer to the list below.
dwInBufferSize
[in] The size of input parameters

Return Values

Return TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError

Remarks

The lpInBuffer structures and command numbers are different according to the different control, and they are listed below:

dwCommand Macro Definition | Value | Description | lpInBuffer Structure
NET_DVR_CONTROL_BASELINE_SCENE | 5039 | Basic scene operation | NET_DVR_CONTROL_BASELINE_SCENE_PARAM

See Also

NET_DVR_Login_V30


NET_DVR_StartDownload

This API is used to download files.

LONG NET_DVR_StartDownload(
  LONG          lUserID,
  DWORD         dwDownloadType,
  LPVOID        lpInBuffer,
  DWORD         dwInBufferSize,
  char const    *sFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwDownloadType
[in] The download file type, please refer to the 'Remarks' section below for details.
lpInBuffer
[in] The input buffer, for different dwUploadType, the input parameter is different,please refer to the 'Remarks' section below for details.
dwInBufferSize
[in] The size of input buffer
sFileName
[in] The absolute path to save the file, including the filename

Return Values

Return -1 if it is failed, other values are as parameter of NET_DVR_StopDownload and NET_DVR_GetDownloadState. For error code, please call NET_DVR_GetLastError。

Remarks

Different file type corresponds to different command (dwUploadType) and different lpInBuffer, and they are listed below:

dwUploadType Macro Definition | Value | dwUploadType Description | lpInBuffer Structure
NET_SDK_DOWNLOAD_BASELINE_SCENE_PIC | 2 | Download the basic scene image. | (DWORD)Channel No.
NET_SDK_DOWNLOAD_VQD_ALARM_PIC | 3 | Download VQD alarm image. | NET_DVR_VQD_EVENT_COND

See Also

NET_DVR_GetDownloadState NET_DVR_StopDownload


NET_DVR_GetDownloadState

This API is used to get the progress and status of file downloading.

LONG NET_DVR_GetDownloadState(
  LONG       lDownloadHandle,
  LPDWORD    pProgress
);

Parameters

lDownloadHandle
[in] The handle of file downloading, the return value of NET_DVR_StartDownload
pProgress
[out] The returned progress value, range[0~100]

Return Values

Return -1 if it is failed, and other values: 1- downloading is successful; 2- is being downloading; 3- downloading is failed; 4- network is disconnected and the status is unknown. For error code, please call NET_DVR_GetLastError。

See Also

NET_DVR_StartDownload


NET_DVR_StopDownload

This API is used to stop downloading.

BOOL NET_DVR_StopDownload(
  LONG    lHandle
);

Parameters

lHandle
[in] The handle of file downloading, the return value of NET_DVR_StartDownload

Return Values

Return TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError。

See Also

NET_DVR_StartDownload


NET_DVR_GetDeviceStatus

Get device status

BOOL NET_DVR_GetDeviceStatus(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login and NET_DVR_Login_V30
dwCommand
[in] Command of device status
dwCount
[in] Number of status
lpInBuffer
[in] Buffer of status condition
dwInBufferSize
[in] Input buffer size
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] Output buffer size

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to get quantities of the device configuration with sending data. The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_MONITOR_VQD_STATUS | Get the monitor VQD status | NULL | dwCountNET_DVR_QUERY_STATUS | 5104


NET_DVR_FindIpSanDirectory

This API is used to start searching IPSAN file directory.

LONG NET_DVR_FindIpSanDirectory(
  LONG                            lUserID,
  LPNET_DVR_IPSAN_SERACH_PARAM    lpIpsanSearchParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpIpsanSearchParam
[in] The condition to search IPSAN file directory

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_FindNextDirectory. Please call NET_DVR_GetLastError to get the error code.

Remarks

The API has assigned which IPSAN to search. After calling it successfully, please call NET_DVR_FindNextDirectory to get file directory information one by one.

See Also

NET_DVR_FindNextDirectory NET_DVR_FindDirectoryClose


NET_DVR_FindNextDirectory

This API is used to get file directory one by one.

LONG NET_DVR_FindNextDirectory(
  LONG                          lFindHandle,
  LPNET_DVR_IPSAN_SERACH_RET    lpFindData
);

Parameters

lFindHandle
[in] The handle of searching, return value of NET_DVR_FindIpSanDirectory
lpFindData
[out] The pointer for saving file directory information

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get the file directory information successfully
NET_DVR_FILE_NOFIND | 1001 | No file directory found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more file directory found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when search file directory

Remarks

Before calling this API, please call NET_DVR_FindIpSanDirectory to get current handle firstly. The interface only supports to get one directory. We should call the interface repetitively to get all directories.

See Also

NET_DVR_FindIpSanDirectory


NET_DVR_FindDirectoryClose

This API is used to stop searching IPAN file directory and release the resource.

BOOL NET_DVR_FindDirectoryClose(
  LONG    lFindHandle
);

Parameters

lFindHandle
[in] The handle of searching, return value of NET_DVR_FindIpSanDirectory

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_FindIpSanDirectory


NET_DVR_InquestCheckSecretKey

This API is used to get encryption status of device stream.

BOOL NET_DVR_InquestCheckSecretKey(
  LONG   lUserID,
  BOOL   *bSecretSet
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
bSecretSet
[out] Pointer to state of encryption: TRUE-set, FALSE-not set

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestSetSecretKey
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDVRConfig

Get device configuration information

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see below
lChannel
[in] Channel No. or group No., set as 0xFFFFFFFF if invalid, for details see "Remarks"
lpOutBuffer
[out] Pointer to buffer of receiving data
dwOutBufferSize
[in] Length of buffer of receiving data, in byte and cannot be 0
lpBytesReturned
[out] Pointer other length of actually received data, cannot be NULL

Remarks

For details of different structures and commands, see below

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_AES_KEY | Get device AES key | Null | NET_DVR_AES_KEY_INFO | 6113

Return Values

Return FALSE on all failure. Call NET_DVR_GetLastError to get error code.

Below are possible errors.

Type | Value | Description
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_Login_V30


NET_DVR_InquestSetSecretKey

This API is used to set secret key of device stream.

BOOL NET_DVR_InquestSetSecretKey(
  LONG                            lUserID,
  LPNET_DVR_INQUEST_SECRET_INFO   pSecretInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pSecretInfo
[in] Structure of information of secret key

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Before setting secret key of device stream, please call NET_DVR_InquestCheckSecretKey to get current state of encryption.

See Also

NET_DVR_InquestCheckSecretKey
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_InquestGetEncryptState

This API is used to get encryption status of device stream.

BOOL NET_DVR_InquestGetEncryptState(
  LONG   lUserID,
  LONG   lChannel,
  BOOL   *bEncrypt
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
bEncrypt
[out] Flag of encryption: TRUE-encrypted, FALSE-not encrypted

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestStreamEncrypt
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_InquestStreamEncrypt

This API is used to set secret key of device stream.

BOOL NET_DVR_InquestStreamEncrypt(
  LONG   lUserID,
  LONG   lChannel,
  BOOL   bEncrypt
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
bEncrypt
[in] Flag of encryption: TRUE-encrypted, FALSE-not encrypted

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestGetEncryptState
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetSDKSecretKey

Set SDK user stream decryption key

BOOL NET_DVR_SetSDKSecretKey(
  LONG    lUserID
  char    *sSecretKey
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
sSecretKey
[in] 16-byte key

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

If the stream is encrypted, call this interface before live view to set play library decryption key.

See Also

NET_DVR_Login NET_DVR_Login_V40


NET_DVR_GetDVRConfig

Get Device Configuration Information

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V40
dwCommand
[in]Configuration command, please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Remarks

Different functions correspond to different structures and commands, for details, see the table below.

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_STREAM_ATTACHINFO_CFG | Get stream attached information settings | Channel No. | NET_DVR_STREAM_ATTACHINFO_CFG | 5042

Return Values

Returns TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] User ID, The return value of NET_DVR_Login or NET_DVR_Login_V40
dwCommand
[in] Parameter type. Please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number if it is not the channel parameter, do not use lChannel, and set it as 0xFFFFFFFF
lpInBuffer
[in]Buffer that saves the input parameters
dwInBufferSize
[in] Size of the buffer (unit: byte )

Remarks

The structures and command numbers are different according to the various configuration functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_SET_STREAM_ATTACHINFO_CFG | Set stream attached information settings | Channel No. | NET_DVR_STREAM_ATTACHINFO_CFG | 5043
NET_DVR_SET_VCA_RULE_COLOR_CFG | Set the VCA rule associated color parameters | Channel No. | NET_DVR_VCA_RULE_COLOR_CFG | 411

Return Values

Return TRUE on success, FALSE on failure. For error, please call NET_DVR_GetLastError

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

5.35.3 Getting Configuration Information in Batch

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] User ID, The return value of NET_DVR_Login or NET_DVR_Login_V40
dwCommand
[in]Device configuration commands, refer to the following configuraition command list
dwCount
[in] The count of channels to be query, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in]The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out]The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. For error, please callNET_DVR_GetLastError.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras.

The different functions correspond to different structures and commands, for details, see the table below.

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_VCA_CTRLINFO_CFG | Get smart control parameters | dwCount * NET_DVR_VCA_CTRLINFO_COND | dwCount * NET_DVR_VCA_CTRLINFO_CFG | 5022
NET_DVR_GET_VCA_DETION_CFG | Get smart detection parameters configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_DVR_VCA_DETION_CFG | 5041
NET_DVR_GET_GUARDCFG | Get license plate detection schedule | dwCount * NET_DVR_GUARD_COND | dwCount * NET_DVR_GUARD_CFG | 3134
NET_DVR_GET_ROI_DETECT_NUM | Get ROI detection region No. number | dwCount * NET_DVR_MUL_STREAM_CHANNEL_GROUP | dwCount * NET_DVR_ROI_DETECT_NUM | 3349
NET_DVR_GET_ROI_DETECT | Get ROI detection region configuration | dwCount * NET_DVR_ROI_DETECT_COND | dwCount * NET_DVR_ROI_DETECT_CFG | 3350
NET_DVR_GET_FACE_DETECT | Get face detection configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_DVR_DETECT_FACE | 3352
NET_DVR_GET_SCENECHANGE_DETECTIONCFG | Get scene change alarm configuration (dwCount is 1) | NET_DVR_CHANNEL_GROUP | NET_DVR_SCENECHANGE_DETECTION | 3356
NET_DVR_GET_TRAVERSE_PLANE_DETECTION | Get line crossing detection configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_VCA_TRAVERSE_PLANE_DETECTION | 3360
NET_DVR_GET_FIELD_DETECTION | Get intrusion detection configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_VCA_FIELDDETECION | 3362
NET_DVR_GET_DEFOCUSPARAM | Get defocus detection configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_VCA_DEFOCUSPARAM | 3364
NET_DVR_GET_AUDIOEXCEPTIONPARAM | Get Audio exception detection configuration (dwCount is 1) | NET_DVR_CHANNEL_GROUP | NET_DVR_AUDIO_EXCEPTION | 3366
NET_DVR_GET_PDC_RULECFG_V42 | Get passenger flow volume statistic rule | dwCount * NET_DVR_PDC_RULE_COND | dwCount * NET_DVR_PDC_RULE_CFG_V42 | 3405
NET_DVR_GET_HEATMAP_CFG | Get heat-map configuration | dwCount * NET_DVR_HEATMAP_COND | dwCount * NET_DVR_HEATMAP_CFG | 3407
NET_ITS_GET_OVERLAP_CFG | Get captured picture text overlay parameters | dwCount * NET_ITS_OVERLAPCFG_COND | dwCount * NET_ITS_OVERLAP_CFG | 5072
NET_DVR_GET_TRIGGEREX_CFG | Get trigger mode configuration | dwCount * NET_DVR_TRIGGER_COND | dwCount * NET_ITC_TRIGGERCFG | 5074
NET_DVR_GET_SMD_HOLIDAY_HANDLE | Get simple smart holiday schedule | dwCount * NET_DVR_HOLIDAY_HANDLE_COND | dwCount * NET_DVR_HOLIDAY_HANDLE | 6194

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Set Configuration Information in Batch。

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] ser ID, The return value of NET_DVR_Login or NET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to configuraition command
dwCount
[in] listThe count of cameras to be set, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition, such as stream ID
dwInBufferSize
[in]The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be set, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpInParamBuffer
[in] The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful.
dwInParamBufferSize
[in] The size of the configuration content

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. For error code, please callNET_DVR_GetLastError.

Remarks

The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful.

The different functions correspond to different structures and commands, for details, see the table below.

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_VCA_CTRLINFO_CFG | Get smart control parameters | dwCount * NET_DVR_VCA_CTRLINFO_COND | dwCount * NET_DVR_VCA_CTRLINFO_CFG | 5023
NET_DVR_GET_VCA_DETION_CFG | Set smart detection parameters configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_DVR_VCA_DETION_CFG | 5040
NET_DVR_GET_GUARDCFG | Set license plate detection schedule | dwCount * NET_DVR_GUARD_COND | dwCount * NET_DVR_GUARD_CFG | 3135
NET_DVR_GET_ROI_DETECT_NUM | Set ROI detection region No. number | dwCount * NET_DVR_MUL_STREAM_CHANNEL_GROUP | dwCount * NET_DVR_ROI_DETECT_NUM | 3350
NET_DVR_GET_ROI_DETECT | Set ROI detection region configuration | dwCount * NET_DVR_ROI_DETECT_COND | dwCount * NET_DVR_ROI_DETECT_CFG | 3351
NET_DVR_GET_FACE_DETECT | Set face detection configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_DVR_DETECT_FACE | 3353
NET_DVR_GET_SCENECHANGE_DETECTIONCFG | Set scene change alarm configuration (dwCount is 1) | NET_DVR_CHANNEL_GROUP | NET_DVR_SCENECHANGE_DETECTION | 3357
NET_DVR_GET_TRAVERSE_PLANE_DETECTION | Set line crossing detection configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_VCA_TRAVERSE_PLANE_DETECTION | 3361
NET_DVR_GET_FIELD_DETECTION | Set intrusion detection configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_VCA_FIELDDETECION | 3363
NET_DVR_GET_DEFOCUSPARAM | Set defocus detection configuration | dwCount * NET_DVR_CHANNEL_GROUP | dwCount * NET_VCA_DEFOCUSPARAM | 3365
NET_DVR_GET_AUDIOEXCEPTIONPARAM | Set Audio exception detection configuration (dwCount is 1) | NET_DVR_CHANNEL_GROUP | NET_DVR_AUDIO_EXCEPTION | 3367
NET_DVR_GET_PDC_RULECFG_V42 | Set passenger flow volume statistic rule | dwCount * NET_DVR_PDC_RULE_COND | dwCount * NET_DVR_PDC_RULE_CFG_V42 | 3406
NET_DVR_GET_HEATMAP_CFG | Set heat-map configuration | dwCount * NET_DVR_HEATMAP_COND | dwCount * NET_DVR_HEATMAP_CFG | 3408
NET_ITS_GET_OVERLAP_CFG | Set captured picture text overlay parameters | dwCount * NET_ITS_OVERLAPCFG_COND | dwCount * NET_ITS_OVERLAP_CFG | 5073
NET_DVR_GET_TRIGGEREX_CFG | Set trigger mode configuration | dwCount * NET_DVR_TRIGGER_COND | dwCount * NET_ITC_TRIGGERCFG | 5075
NET_DVR_GET_SMD_HOLIDAY_HANDLE | Set simple smart holiday schedule | dwCount * NET_DVR_HOLIDAY_HANDLE_COND | dwCount * NET_DVR_HOLIDAY_HANDLE | 6195

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

The structure of getting configuration information.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40
dwCommand
[in] Settings command of the device, see details in "Remarks"
lpConfigParam
[in&out] Setting parameters of input and output. Different settings functions correspond to different input and output parameters, see details in "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get the error code.

Remarks

When getting settings parameters, IpInBuffer in the structure IpConfigParam is invalid, and is set to NULL. Besides, in IpConfigParam, IpCondBuffer and IpOutBuffer correspond to different contents according to different settings functions (dwCommand). See details in the following table.

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
Region Entrance Detection Settings |  |  |  |
NET_DVR_GET_REGION_ENTR_DETECTION | Get the region entrance detection settings | 4-byte (DWORD) channel number | NET_DVR_REGION_ENTRANCE_DETECTION | 3503
NET_DVR_GET_REGION_ENTR_REGION | Get the single region settings of region entrance | NET_DVR_SMART_REGION_COND | NET_DVR_REGIONENTRANCE_REGION | 3505
NET_DVR_GET_REGION_ENTR_TRIGGER | Get the linkage settings of region entrance | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3507
NET_DVR_GET_REGION_ENTR_SCHEDULE | Get the arming schedule settings of region entrance | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3509
Region Exiting Detection Settings |  |  |  |
NET_DVR_GET_REGION_EXITING_DETECTION | Get the region exiting detection settings | 4-byte (DWORD) channel number | NET_DVR_REGION_EXITING_DETECTION | 3512
NET_DVR_GET_REGION_EXITING_REGION | Get the single region settings of region exiting | NET_DVR_SMART_REGION_COND | NET_DVR_REGIONEXITING_REGION | 3514
NET_DVR_GET_REGION_EXIT_TRIGGER | Get the linkage settings of region exiting | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3516
NET_DVR_GET_REGION_EXIT_SCHEDULE | Get the arming schedule settings of region exiting | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3518
Loitering Detection Settings |  |  |  |
NET_DVR_GET_LOITERING_DETECTION | Get the loitering detection settings | 4-byte (DWORD) channel number | NET_DVR_LOITERING_DETECTION | 3521
NET_DVR_GET_LOITERING_REGION | Get the single region settings of loitering | NET_DVR_SMART_REGION_COND | NET_DVR_LOITERING_REGION | 3523
NET_DVR_GET_LOITERING_TRIGGER | Get the loitering linkage settings | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3525
NET_DVR_GET_LOITERING_SCHEDULE | Get the arming schedule settings of loitering | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3527
People Gathering Detection Settings |  |  |  |
NET_DVR_GET_GROUP_DETECTION | Get the people gathering detection settings | 4-byte (DWORD) channel number | NET_DVR_GROUP_DETECTION | 3530
NET_DVR_GET_GROUPDETECTION_REGION | Get the single region settings of people gathering detection | NET_DVR_SMART_REGION_COND | NET_DVR_GROUPDETECTION_REGION | 3532
NET_DVR_GET_GROUPDETECTION_TRIGGER | Get the linkage settings of people gathering detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3534
NET_DVR_GET_GROUPDETECTION_SCHEDULE | Get the arming schedule settings of people gathering detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3536
Fast Moving Detection Settings |  |  |  |
NET_DVR_GET_RAPIDMOVE_DETECTION | Get the fast moving detection settings | 4-byte (DWORD) channel number | NET_DVR_RAPIDMOVE_DETECTION | 3539
NET_DVR_GET_RAPIDMOVE_REGION | Get the single region settings of fast moving detection | NET_DVR_SMART_REGION_COND | NET_DVR_RAPIDMOVE_REGION | 3541
NET_DVR_GET_RAPIDMOVE_TRIGGER | Get the linkage settings of fast moving detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3543
NET_DVR_GET_RAPIDMOVE_SCHEDULE | Get the arming schedule settings of fast moving detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3545
Parking Detection Settings |  |  |  |
NET_DVR_GET_PARKING_DETECTION | Get the parking detection settings | 4-byte (DWORD) channel number | NET_DVR_PARKING_DETECTION | 3548
NET_DVR_GET_PARKING_REGION | Get the single region settings of parking detection | NET_DVR_SMART_REGION_COND | NET_DVR_PARKING_REGION | 3550
NET_DVR_GET_PARKING_TRIGGER | Get the linkage settings of parking detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3552
NET_DVR_GET_PARKING_SCHEDULE | Get the arming schedule of parking detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3554
Unattended Baggage Detection Settings |  |  |  |
NET_DVR_GET_UNATTENDED_BAGGAGE_DETECTION | Get the unattended baggage detection settings | 4-byte (DWORD) channel number | NET_DVR_UNATTENDED_BAGGAGE_DETECTION | 3557
NET_DVR_GET_UNATTENDED_BAGGAGE_REGION | Get the single region settings of unattended baggage detection | NET_DVR_SMART_REGION_COND | NET_DVR_UNATTENDED_BAGGAGE_REGION | 3559
NET_DVR_GET_UNATTENDED_BAGGAGE_TRIGGER | Get the linkage settings of unattended baggage detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3561
NET_DVR_GET_UNATTENDED_BAGGAGE_SCHEDULE | Get the arming schedule of unattended baggage detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3563
Object Removal Detection Settings |  |  |  |
NET_DVR_GET_ATTENDEDBAGGAGE_DETECTION | Get the object removal detection settings | 4-byte (DWORD) channel number | NET_DVR_ATTENDED_BAGGAGE_DETECTION | 3566
NET_DVR_GET_ATTENDEDBAGGAGE_REGION | Get the single settings of object removal detection | NET_DVR_SMART_REGION_COND | NET_DVR_ATTENDED_BAGGAGE_REGION | 3568
NET_DVR_GET_ATTENDEDBAGGAGE_TRIGGER | Get the linkage settings of object removal detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3570
NET_DVR_GET_ATTENDEDBAGGAGE_SCHEDULE | Get the arming schedule of object removal detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3572
Black/white list configuration |  |  |  |
NET_DVR_GET_VEHICLE_BLACKLST_SCHEDULE | Get blacklist arming schedule configuration | NULL | BlackListScheduleList(XML Dscription) | 6622
NET_DVR_GET_VEHICLE_BLACKLIST_EVENT_TRIGGER | Get blacklist arming linkage configuration | NULL | EventTrigger(XML Description) | 6626
NET_DVR_GET_VEHICLE_WHITELST_SCHEDULE | Get white list arming schedule configuration | NULL | WhiteListScheduleList(XML Description) | 6624
NET_DVR_GET_VEHICLE_WHITELIST_EVENT_TRIGGER | Get white list arming linkage configuration | NULL | EventTrigger(XML Description) | 6628
NET_DVR_GET_VEHICLE_ALLLIST_EVENT_TRIGGER | Get all vehicle detection list arming linkage configuration | NULL | EventTrigger(XML Description) | 6631
NET_DVR_GET_VEHICLE_OTHERLIST_EVENT_TRIGGER | Get other vehicle list arming linkage configuration | NULL | EventTrigger(XML Description) | 6633
Other Parameters Settings |  |  |  |
NET_DVR_GET_REGION_CLIP | Get the target cropping settings | NET_DVR_REGION_CLIP_COND | NET_DVR_REGION_CLIP_CFG | 3575
NET_DVR_GET_LITESTORAGE | Get the lite storage settings | 4-byte (DWORD) channel number | NET_DVR_LITESTORAGE | 3594
NET_DVR_GET_VEHICLE_CALIBRATION | Get the vehicle detection calibration | 4-byte (DWORD) channel number | NET_DVR_CALIBRATION | 3598
NET_DVR_GET_PDC_RECOMMEND | Get recommended passenger flow statistic value | 4 bytes of(DWORD) channel No. | NET_DVR_PDC_RECOMMEND | 3755

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

The structure of getting configuration information.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Settings command of the device, see details in "Remarks"
lpConfigParam
[in&out] Setting parameters of input and output. Different settings functions correspond to different input and output parameters, see details in "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get the error code.

Remarks

When getting settings parameters, IpOutBuffer in the structure IpConfigParam is invalid, and is set to NULL. Besides, in IpConfigParam, IpCondBuffer and IpInBuffer correspond to different contents according to different settings functions (dwCommand). See details in the following table.

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
Region Entrance Detection Settings |  |  |  |
NET_DVR_SET_REGION_ENTR_DETECTION | Set region entrance detection settings | 4-byte (DWORD) channel number | NET_DVR_REGION_ENTRANCE_DETECTION | 3504
NET_DVR_SET_REGION_ENTR_REGION | Set the single region settings of region entrance detection | NET_DVR_SMART_REGION_COND | NET_DVR_REGIONENTRANCE_REGION | 3506
NET_DVR_SET_REGION_ENTR_TRIGGER | Set the linkage settings of region entrance | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3508
NET_DVR_SET_REGION_ENTR_SCHEDULE | Set the arming schedule settings of region entrance | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3510
Region Exiting Detection Settings |  |  |  |
NET_DVR_SET_REGION_EXITING_DETECTION | Set the region exiting detection settings | 4-byte (DWORD) channel number | NET_DVR_REGION_EXITING_DETECTION | 3513
NET_DVR_SET_REGION_EXITING_REGION | Set the single region settings of region exiting | NET_DVR_SMART_REGION_COND | NET_DVR_REGIONEXITING_REGION | 3515
NET_DVR_SET_REGION_EXIT_TRIGGER | Set the linkage settings of region exiting | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3517
NET_DVR_SET_REGION_EXIT_SCHEDULE | Set the arming schedule settings of region exiting | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3519
Loitering Detection Settings |  |  |  |
NET_DVR_SET_LOITERING_DETECTION | Set the loitering detection settings | 4-byte (DWORD) channel number | NET_DVR_LOITERING_DETECTION | 3522
NET_DVR_SET_LOITERING_REGION | Set the single region settings of loitering | NET_DVR_SMART_REGION_COND | NET_DVR_LOITERING_REGION | 3524
NET_DVR_SET_LOITERING_TRIGGER | Set the loitering linkage settings | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3526
NET_DVR_SET_LOITERING_SCHEDULE | Set the arming schedule settings of loitering | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3528
People Gathering Detection Settings |  |  |  |
NET_DVR_SET_GROUP_DETECTION | Set the people gathering detection settings | 4-byte (DWORD) channel number | NET_DVR_GROUP_DETECTION | 3531
NET_DVR_SET_GROUPDETECTION_REGION | Set the single region settings of people gathering detection | NET_DVR_SMART_REGION_COND | NET_DVR_GROUPDETECTION_REGION | 3533
NET_DVR_SET_GROUPDETECTION_TRIGGER | Set the linkage settings of people gathering detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3535
NET_DVR_SET_GROUPDETECTION_SCHEDULE | Set the arming schedule settings of people gathering detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3537
Fast Moving Detection Settings |  |  |  |
NET_DVR_SET_RAPIDMOVE_DETECTION | Set the fast moving detection settings | 4-byte (DWORD) channel number | NET_DVR_RAPIDMOVE_DETECTION | 3540
NET_DVR_SET_RAPIDMOVE_REGION | Set the single region settings of fast moving detection | NET_DVR_SMART_REGION_COND | NET_DVR_RAPIDMOVE_REGION | 3542
NET_DVR_SET_RAPIDMOVE_TRIGGER | Set the linkage settings of fast moving detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3544
NET_DVR_SET_RAPIDMOVE_SCHEDULE | Set the arming schedule settings of fast moving detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3546
Parking Detection Settings |  |  |  |
NET_DVR_SET_PARKING_DETECTION | Set the parking detection settings | 4-byte (DWORD) channel number | NET_DVR_PARKING_DETECTION | 3549
NET_DVR_SET_PARKING_REGION | Set the single region settings of parking detection | NET_DVR_SMART_REGION_COND | NET_DVR_PARKING_REGION | 3551
NET_DVR_SET_PARKING_TRIGGER | Set the linkage settings of parking detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3553
NET_DVR_SET_PARKING_SCHEDULE | Set the arming schedule of parking detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3555
Unattended Baggage Detection Settings |  |  |  |
NET_DVR_SET_UNATTENDED_BAGGAGE_DETECTION | Set the unattended baggage detection settings | 4-byte (DWORD) channel number | NET_DVR_UNATTENDED_BAGGAGE_DETECTION | 3558
NET_DVR_SET_UNATTENDED_BAGGAGE_REGION | Set the single region settings of unattended baggage detection | NET_DVR_SMART_REGION_COND | NET_DVR_UNATTENDED_BAGGAGE_REGION | 3560
NET_DVR_SET_UNATTENDED_BAGGAGE_TRIGGER | Set the linkage settings of unattended baggage detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3562
NET_DVR_SET_UNATTENDED_BAGGAGE_SCHEDULE | Set the arming schedule of unattended baggage detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3564
Object Removal Detection Settings |  |  |  |
NET_DVR_SET_ATTENDEDBAGGAGE_DETECTION | Set the object removal detection settings | 4-byte (DWORD) channel number | NET_DVR_ATTENDED_BAGGAGE_DETECTION | 3567
NET_DVR_SET_ATTENDEDBAGGAGE_REGION | Set the single settings of object removal detection | NET_DVR_SMART_REGION_COND | NET_DVR_ATTENDED_BAGGAGE_REGION | 3569
NET_DVR_SET_ATTENDEDBAGGAGE_TRIGGER | Set the linkage settings of object removal detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_TRIGGER | 3571
NET_DVR_SET_ATTENDEDBAGGAGE_SCHEDULE | Set the arming schedule of object removal detection | 4-byte (DWORD) channel number | NET_DVR_EVENT_SCHEDULE | 3573
Black/white list configuration |  |  |  |
NET_DVR_SET_VEHICLE_BLACKLST_SCHEDULE | Set blacklist arming schedule configuration | NULL | BlackListScheduleList(XML Description) | 6623
NET_DVR_SET_VEHICLE_BLACKLIST_EVENT_TRIGGER | Set blacklist arming linkage configuration | NULL | EventTrigger(XML Description) | 6627
NET_DVR_SET_VEHICLE_WHITELST_SCHEDULE | Set white list arming schedule configuration | NULL | WhiteListScheduleList(XML Description) | 6625
NET_DVR_SET_VEHICLE_WHITELIST_EVENT_TRIGGER | Set white list arming linkage configuration | NULL | EventTrigger(XML Description) | 6629
NET_DVR_SET_VEHICLE_ALLLIST_EVENT_TRIGGER | Set all vehicle detection list arming linkage configuration | NULL | EventTrigger(XML Description) | 6632
NET_DVR_SET_VEHICLE_OTHERLIST_EVENT_TRIGGER | Set other vehicle list arming linkage configuration | NULL | EventTrigger(XML Description) | 6634
Other Parameters Settings |  |  |  |
NET_DVR_SET_REGION_CLIP | Set the target cropping settings | NET_DVR_REGION_CLIP_COND | NET_DVR_REGION_CLIP_CFG | 3576
NET_DVR_SET_LITESTORAGE | Set the lite storage settings | 4-byte (DWORD) channel number | NET_DVR_LITESTORAGE | 3595
 | XXXXXXXXXXXXXXXXXX |  |  |

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_STDXMLConfig

ISAPI protocol command pass-through, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

The pass-through of ISAPI protocol commands are available through this interface to realize the functions of parameter configuration and getting capability set. Calling the interface requires the device to support ISAPI protocol (PUT, GET, POST and DELETE commands), for details, see the table below:

Function description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get information of mutually exclusive functions | GET /ISAPI/System/mutexFunctionErrorMsg\r\n | NULL | MutexFunctionErrorMsg

See Also

NET_DVR_Login_V40


NET_DVR_STDControl

Remote Control

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details, see the list below.
lpControlParam
[in&out] Remote control input/output parameters, different control commands corresponds to different input/output parameters.

Return Values

Return TRUE on success, FALSE on failure. For error code, seeNET_DVR_GetLastError

Remarks

For different configuration commands(dwCommand), the lpCondBuffe in lpControlParam is different.

dwCommand Definition | Macro Value | Value | lpCondBuffer Structure
NET_DVR_REMOVE_FLASHSTORAGE | 3756 | Clear passenger flow data | NET_DVR_FLASHSTORAGE_REMOVE


NET_DVR_StartRemoteConfig

Start Remote Configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] User ID, the return value of NET_DVR_Login_V40
dwCommand
[in] Configuration command, please kindly refer to the list below
dwCommand Macro Definition | Value | Function | lpInBuffer Structure | cbStateCallback
NET_DVR_GET_HEATMAP_RESULT | 5083 | Heat-map data query | NET_DVR_HEATMAP_QUERY_COND | NULL
NET_DVR_GET_PDC_RESULT | 5089 | Passenger flow volume data query | NET_DVR_PDC_QUERY_COND | NULL
NET_DVR_FACECAPTURE_STATISTICS | 3715 | Face capture statistic data query | NET_DVR_FACECAPTURE_STATISTICS_COND | NULL
NET_DVR_GET_VCA_RULE_COLOR_CFG | 410 | Smart rule corresponded color parameters query | NET_DVR_VCA_RULE_COLOR_COND | Return status and information data
NET_DVR_GET_VEHICLE_INFORMATION | 3785 | Get vehicle information | NET_DVR_VEHICLE_INFO_COND | Return status and information data
lpInBuffer
[in] The input parameter, related with the configuration command.
dwInBufferLen
[in] The size of input buffer
cbStateCallback
[in] Status callback function
pUserData
[in]User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status, the definitions are shown below.
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Callback status value
NET_SDK_CALLBACK_TYPE_PROGRESS
Callback progress value
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] The buffer that saves output data, related with dwType, please refer to the table below
dwType | Description | lpBuffer Content
NET_SDK_CALLBACK_TYPE_STATUS | Status Value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Succeeded NET_SDK_CALLBACK_STATUS_PROCESSING, //In processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | lpBuffer value indicates the progress(DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information data | lpBuffer indicates information data When searching smart rule related color parameters through NET_DVR_GET_VCA_RULE_COLOR_CFG, related structure: NET_DVR_VCA_RULE_COLOR_CFG When searching vehicle information through NET_DVR_GET_VEHICLE_INFORMATION, related structure: NET_DVR_VEHICLE_INFO_CFG
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_GetNextRemoteConfig and NET_DVR_StopRemoteConfig. For error code, please callNET_DVR_GetLastError。

Remarks

  • This interface specifies the information for searching. When it is successfully called, call the interface NET_DVR_GetNextRemoteConfig to get the information by order.
  • When search the smart rule corresponded color parameters via the command of NET_DVR_GET_VCA_RULE_COLOR_CFG, you need to configure the callback function in the API. The query result will be return ed in the callback function, there is no need to call the APINET_DVR_GetNextRemoteConfig.

See Also

NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

Get the query result one by one

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] Query handle, the return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] Output data buffer, related to the NET_DVR_StartRemoteConfig command(dwCommand), for details, see the Remark section below.
dwOutBuffSize
[out] Buffer length

Return Values

-1 indicates failure, other value indicates current status, for details, see the table below. For error code, please refer toNET_DVR_GetLastError

Macro Definition | Value | Description
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | Getting data successfully, call NET_DVR_GetNextRemoteConfig to get the next data after completing.
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Wait for the device to send data, call NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | Get all data, call NET_DVR_StopRemoteConfig to end the remote configuration
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Exception occurred, call NET_DVR_StopRemoteConfig to end the remote configuration.

Remarks

Input different command No.(dwCommand) when calling NET_DVR_StartRemoteConfig, lpOutBuff corresponds to different structures. ：

dwCommand Macro Definition | Value | Function | lpOutBuff Structure
NET_DVR_GET_HEATMAP_RESULT | 5083 | Heat-map data query | NET_DVR_HEATMAP_INFO
NET_DVR_GET_PDC_RESULT | 5089 | Passenger flow volume data query | NET_DVR_PDC_RESULT
NET_DVR_FACECAPTURE_STATISTICS | 3715 | Face capture people statistic query | NET_DVR_FACECAPTURE_STATISTICS_RESULT

Before calling this API, you need to call NET_DVR_StartRemoteConfig first to get the query handle. This API is used for getting a piece of query result. If you want to get all the query results, you need to call this API in loop.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StopRemoteConfig

Close the handle created by the remote configuration API, and release resource

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle, the return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success, and return FALSE on failure. For error code, callNET_DVR_GetLastError.

See Also

NET_DVR_StartRemoteConfig


Function Interface Introduction of IP-Based Video Intercom Controller

The IP-based video intercom controller includes but is not limited to the following models:
DS-1H04-S

Besides functions of the general interface, it also supports functions like live view, two-way audio, remote configuration, alarm arming, listening, and so on.

Device Model | Function | Interface | Related Parameters
Capability Set |  |  |
IP-Based Video Intercom Controller | Get the capability set of the device | NET_DVR_GetDeviceAbility | Capability Set: DEVICE_SOFTHARDWARE_ABILITY, DEVICE_ENCODE_CURRENT, DEVICE_ENCODE_ALL_ABILITY_V20, DEVICE_ALARM_ABILITY, DEVICE_USER_ABILITY, DEVICE_NETAPP_ABILITY, DEVICE_VIDEOPIC_ABILITY, DEVICE_JPEG_CAP_ABILITY, Ability for handling with the alarm events EventAbility(DEVICE_ABILITY_INFO)
IP-Based Video Intercom | Get the capability set of the IP-based video intercom | NET_DVR_GetDeviceAbility | Capability Set Type: IP_VIEW_DEV_ABILITY Capability Set: XML description of IP-based video intercom controller ability
Remote Configuration |  |  |
IP-Based Video Intercom | Get device parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DEVICECFG_V40 Structure: NET_DVR_DEVICECFG_V40
IP-Based Video Intercom | Set device parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DEVICECFG_V40 Structure: NET_DVR_DEVICECFG_V40
IP-Based Video Intercom | Get time parameters of the device | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_TIMECFG Structure: NET_DVR_TIME
IP-Based Video Intercom | Set time parameters of the device | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_TIMECFG Structure: NET_DVR_TIME
IP-Based Video Intercom | Get the decoder parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DECODERCFG_V40 Structure: NET_DVR_DECODERCFG_V40
IP-Based Video Intercom | Set the decoder parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DECODERCFG_V40 Structure: NET_DVR_DECODERCFG_V40
IP-Based Video Intercom | Get RS232 parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_RS232CFG_V30 Structure: NET_DVR_RS232CFG_V30
IP-Based Video Intercom | Set RS232 parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_RS232CFG_V30 Structure: NET_DVR_RS232CFG_V30
IP-Based Video Intercom | Get parameters of exceptions | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_EXCEPTIONCFG_V40 Structure: NET_DVR_EXCEPTION_V40
IP-Based Video Intercom | Set parameters of exceptions | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_EXCEPTIONCFG_V40 Structure: NET_DVR_EXCEPTION_V40
IP-Based Video Intercom | Get parameters of alarm input | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_ALARMINCFG_V40 Structure: NET_DVR_ALARMINCFG_V40
IP-Based Video Intercom | Set parameters of alarm input | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_ALARMINCFG_V40 Structure: NET_DVR_ALARMINCFG_V40
IP-Based Video Intercom | Get parameters of alarm output | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_ALARMOUTCFG_V30 Structure: NET_DVR_ALARMOUTCFG_V30
IP-Based Video Intercom | Set parameters of alarm output | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_ALARMOUTCFG_V30 Structure: NET_DVR_ALARMOUTCFG_V30
IP-Based Video Intercom | Get users parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_USERCFG_V40 Structure: NET_DVR_USER_V40
IP-Based Video Intercom | Set users parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_USERCFG_V40 Structure: NET_DVR_USER_V40
IP-Based Video Intercom | Get network parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_NETCFG_V30 Structure: NET_DVR_NETCFG_V30
IP-Based Video Intercom | Set network parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_NETCFG_V30 Structure: NET_DVR_NETCFG_V30
IP-Based Video Intercom | Get network application parameters (NTP/DDNS) | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_NETAPPCFG Structure: NET_DVR_NETAPPCFG
IP-Based Video Intercom | Set network application parameters (NTP/DDNS) | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_NETAPPCFG Structure: NET_DVR_NETAPPCFG
IP-Based Video Intercom | Get network application parameters (NTP) | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_NTPCFG Structure: NET_DVR_NTPPARA
IP-Based Video Intercom | Set network application parameters (NTP) | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_NTPCFG Structure: NET_DVR_NTPPARA
IP-Based Video Intercom | Get network application parameters (DDNS) | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DDNSCFG_V30 Structure: NET_DVR_DDNSPARA_V30
IP-Based Video Intercom | Set network application parameters (DDNS) | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DDNSCFG_V30 Structure: NET_DVR_DDNSPARA_V30
IP-Based Video Intercom | Get parameters of SIP server | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_SIP_CFG Structure: NET_DVR_SIP_CFG
IP-Based Video Intercom | Set parameters of SIP server | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_SIP_CFG Structure: NET_DVR_SIP_CFG
IP-Based Video Intercom | Get configuration parameters of IP-based video intercom controller | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_IP_VIEW_DEVCFG Structure: NET_DVR_IP_VIEW_DEVCFG
IP-Based Video Intercom | Set configuration parameters of IP-based video intercom controller | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_IP_VIEW_DEVCFG Structure: NET_DVR_IP_VIEW_DEVCFG
IP-Based Video Intercom | Get audio parameters of IP-based video intercom controller | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_IP_VIEW_AUDIO_CFG Structure: NET_DVR_IP_VIEW_AUDIO_CFG
IP-Based Video Intercom | Set audio parameters of IP-based video intercom controller | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_IP_VIEW_AUDIO_CFG Structure: NET_DVR_IP_VIEW_AUDIO_CFG
IP-Based Video Intercom | Get calling parameters of IP-based video intercom controller | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_IP_VIEW_CALL_CFG Structure: NET_DVR_IP_VIEW_CALL_CFG
IP-Based Video Intercom | Set calling parameters of IP-based video intercom controlle | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_IP_VIEW_CALL_CFG Structure: NET_DVR_IP_VIEW_CALL_CFG
IP-Based Video Intercom | Get audio limit configuration | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_AUDIO_LIMIT_ALARM_CFG Structure: NET_IPC_AUDIO_LIMIT_ALARM_CFG
IP-Based Video Intercom | Set audio limit configuration | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_AUDIO_LIMIT_ALARM_CFG Structure: NET_IPC_AUDIO_LIMIT_ALARM_CFG
IP-Based Video Intercom | Get the configuration for triggering the alarm by pressing the button | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_BUTTON_DOWN_ALARM_CFG Structure: NET_IPC_BUTTON_DOWN_ALARM_CFG
IP-Based Video Intercom | Set the configuration for triggering the alarm by pressing the button | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_BUTTON_DOWN_ALARM_CFG Structure: NET_IPC_BUTTON_DOWN_ALARM_CFG
Related Functions in Live View |  |  |
IP-Based Video Intercom | Set the play and display mode | NET_DVR_SetShowMode |
IP-Based Video Intercom | The main stream produces a key frame | NET_DVR_MakeKeyFrame |
IP-Based Video Intercom | The sub-stream produces a key frame | NET_DVR_MakeKeyFrameSub |
IP-Based Video Intercom | Real-time live view | NET_DVR_RealPlay_V40 |
IP-Based Video Intercom | Stop the live view | NET_DVR_StopRealPlay |
IP-Based Video Intercom | Get the player handle used to decode and display in the live view | NET_DVR_GetRealPlayerIndex |
IP-Based Video Intercom | Get video parameters in the live view | NET_DVR_ClientGetVideoEffect |
IP-Based Video Intercom | Set video parameters in the live view | NET_DVR_ClientSetVideoEffect |
IP-Based Video Intercom | Characters and images overlay in the live view | NET_DVR_RigisterDrawFun |
IP-Based Video Intercom | Set the frame buffer number of the player | NET_DVR_SetPlayerBufNumber |
IP-Based Video Intercom | Set the audio mode | NET_DVR_SetAudioMode |
IP-Based Video Intercom | Open the audio in the audio card exclusive mode | NET_DVR_OpenSound |
IP-Based Video Intercom | Close the audio in the audio card exclusive mode | NET_DVR_CloseSound |
IP-Based Video Intercom | Open the audio in the audio card sharing mode | NET_DVR_OpenSoundShare |
IP-Based Video Intercom | Close the audio card in the audio card sharing mode | NET_DVR_CloseSoundShare |
IP-Based Video Intercom | Adjust the volume | NET_DVR_Volume |
IP-Based Video Intercom | Register the callback function, and get the real-time data of the stream | NET_DVR_SetRealDataCallBack |
IP-Based Video Intercom | Register the callback function, and get the real-time data of the stream (standard stream) | NET_DVR_SetStandardDataCallBack |
IP-Based Video Intercom | Get the data and save them into the appointed files | NET_DVR_SaveRealData |
IP-Based Video Intercom | Stop data getting | NET_DVR_StopSaveRealData |
Arming, Disarming, and Listening |  |  |
IP-Based Video Intercom | Register the callback function, and receive the alarm information of the device | NET_DVR_SetDVRMessageCallBack_V30 | COMM_ALARM_AUDIOEXCEPTION： NET_DVR_AUDIOEXCEPTION_ALARM COMM_ALARM_BUTTON_DOWN_EXCEPTION： NET_BUTTON_DOWN_EXCEPTION_ALARM
IP-Based Video Intercom | Build the alarm uploaded channel, and receive the alarm information | NET_DVR_SetupAlarmChan_V30 |
IP-Based Video Intercom | Revoke the alarm uploaed channel | NET_DVR_CloseAlarmChan_V30 |
IP-Based Video Intercom | Start listening, and receive the alarm information uploaded actively by the device (support the multi-threading) | NET_DVR_StartListen_V30 | COMM_ALARM_AUDIOEXCEPTION： NET_DVR_AUDIOEXCEPTION_ALARM COMM_ALARM_BUTTON_DOWN_EXCEPTION： NET_BUTTON_DOWN_EXCEPTION_ALARM
IP-Based Video Intercom | Stop listening (support the multi-threading) | NET_DVR_StopListen_V30 |
Two-Way Audio |  |  |
IP-Based Video Intercom | Start the two-way audio | NET_DVR_StartVoiceCom_V30 |
IP-Based Video Intercom | Set the client audio of the two-way audio | NET_DVR_SetVoiceComClientVolume |
IP-Based Video Intercom | Stop the two-way audio | NET_DVR_StopVoiceCom |
Device Maintenance |  |  |
IP-Based Video Intercom | Get the status of the IP-based video intercom controller | NET_DVR_GetDVRWorkState_V30 |
IP-Based Video Intercom | Set the network envrionment of the remote upgrade | NET_DVR_SetNetworkEnvironment |
IP-Based Video Intercom | Remote Upgrade | NET_DVR_Upgrade |
IP-Based Video Intercom | Get the progress of the remote upgrade | NET_DVR_GetUpgradeProgress |
IP-Based Video Intercom | Get the status of the remote upgrade | NET_DVR_GetUpgradeState |
IP-Based Video Intercom | Close the handle of remote upgrade, and release the resource | NET_DVR_CloseUpgradeHandle |
IP-Based Video Intercom | Search the log information of the device (support searching the log with S.M.A.R.T. information) | NET_DVR_FindDVRLog_V30 |
IP-Based Video Intercom | Get the founded log information one by one | NET_DVR_FindNextLog_V30 |
IP-Based Video Intercom | Release the resource for searching the log information | NET_DVR_FindLogClose_V30 |
IP-Based Video Intercom | Restore the default parameters of the device | NET_DVR_RestoreConfig |
IP-Based Video Intercom | Export the configuration file | NET_DVR_GetConfigFile_V30 |
IP-Based Video Intercom | Export the configuration file | NET_DVR_GetConfigFile_EX |
IP-Based Video Intercom | Export the configuration file | NET_DVR_GetConfigFile |
IP-Based Video Intercom | Import the configuration file | NET_DVR_SetConfigFile_EX |
IP-Based Video Intercom | Import the configuration file | NET_DVR_SetConfigFile |
Shutdown and Reboot |  |  |
IP-Based Video Intercom | Reboot the device | NET_DVR_RebootDVR |
IP-Based Video Intercom | Shut the device down | NET_DVR_ShutDownDVR |


Function Interface Introduction of the Video Intercom of Intelligent Building

The video intercom of intelligent building includes but is not limited to the following models:
Door Station: DS-KD8102-2, DS-KD8002-2A
Master Station: DS-KM8301
Villa Door Station: DS-KV8102-1C, DS-KV8102-2C, DS-KV8102-1A, DS-KV8202-1A, DS-KV8402-1A

Besides functions of the general interface, it also supports functions like real-time live view, remote configuration, alarm listening, and so on.

Device Model | Function | Interface | Related Parameters
Capability Set |  |  |
Video Intercom of Intelligent Building | Get the capability set of the device | NET_DVR_GetDeviceAbility | Capability Set Type: DEVICE_SOFTHARDWARE_ABILITY(Ablity of device software and hardware), DEVICE_ENCODE_ALL_ABILITY_V20(All encoding ability), DEVICE_USER_ABILITY(User management ability), DEVICE_NETAPP_ABILITY(Network application ability), STREAM_ABILITY(Stream ability), DEVICE_SERIAL_ABILITY(Serial port ability), SearchLogAbility(DEVICE_ABILITY_INFO)(Log searching ability), ChannelInputAbility(DEVICE_ABILITY_INFO)(Channal input ability)
Video Intercom of Intelligent Building | Get the capability set of the video intercom | NET_DVR_GetDeviceAbility | Capability Set Type: IP_VIEW_DEV_ABILITY Capability Set: XML description of video intercom ability
Video Intercom of Intelligent Building | Get the capability set of the access controller | NET_DVR_GetDeviceAbility | Capability Set Type: ACS_ABILITY Capability Set: XML description of access controller ability
Remote Configuration |  |  |
Video Intercom of Intelligent Building | Set device parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DEVICECFG_V40 Structure: NET_DVR_DEVICECFG_V40
Video Intercom of Intelligent Building | Set device parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DEVICECFG_V40 Structure: NET_DVR_DEVICECFG_V40
Video Intercom of Intelligent Building | Get time parameters of the device | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_TIMECFG Structure: NET_DVR_TIME
Video Intercom of Intelligent Building | Set time parameters of the device | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_TIMECFG Structure: NET_DVR_TIME
Video Intercom of Intelligent Building | Get the user parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_USERCFG_V40 Structure: NET_DVR_USER_V40
Video Intercom of Intelligent Building | Set the user parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_USERCFG_V40 Structure: NET_DVR_USER_V40
Video Intercom of Intelligent Building | Get the network parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_NETCFG_V30 Structure: NET_DVR_NETCFG_V30
Video Intercom of Intelligent Building | Set the network parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_NETCFG_V30 Structure: NET_DVR_NETCFG_V30
Video Intercom of Intelligent Building | Get the network application parameters (NTP/DDNS) | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_NETAPPCFG Structure: NET_DVR_NETAPPCFG
Video Intercom of Intelligent Building | Set the network application parameters (NTP/DDNS) | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_NETAPPCFG Structure: NET_DVR_NETAPPCFG
Video Intercom of Intelligent Building | Get the network application parameters (NTP) | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_NTPCFG Structure: NET_DVR_NTPPARA
Video Intercom of Intelligent Building | Set the network application parameters (NTP) | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_NTPCFG Structure: NET_DVR_NTPPARA
Video Intercom of Intelligent Building | Get the network application parameters (DDNS) | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DDNSCFG_V30 Structure: NET_DVR_DDNSPARA_V30
Video Intercom of Intelligent Building | Set the network application parameters (DDNS) | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DDNSCFG_V30 Structure: NET_DVR_DDNSPARA_V30
Batch Configuration |  |  |
Video Intercom of Intelligent Building | Get FTP information | NET_DVR_GetDeviceConfig | Command: NET_DVR_GET_FTPCFG_V40 Structure: NET_DVR_FTPCFG_V40
Video Intercom of Intelligent Building | Set FTP information | NET_DVR_SetDeviceConfig | Command: NET_DVR_SET_FTPCFG_V40 Structure: NET_DVR_FTPCFG_V40
Video Intercom of Intelligent Building | Get the source information of the stream | NET_DVR_GetDeviceConfig | Command: NET_DVR_GET_STREAM_SRC_INFO Structure: NET_DVR_STREAM_SRC_INFO
Video Intercom of Intelligent Building | Set the source information of the stream | NET_DVR_SetDeviceConfig | Command: NET_DVR_SET_STREAM_SRC_INFO Structure: NET_DVR_STREAM_SRC_INFO
Video Intercom of Intelligent Building | Get information of all streams | NET_DVR_GetDeviceConfig | Command: NET_DVR_GET_ALLSTREAM_SRC_INFO Structure: NET_DVR_STREAM_SRC_CFG
Video Intercom Configuration |  |  |
Video Intercom of Intelligent Building | Get the device number of the video intercom | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_VIDEO_INTERCOM_DEVICEID_CFG Structure: NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG
Video Intercom of Intelligent Building | Set the device number of the video intercom | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_VIDEO_INTERCOM_DEVICEID_CFG Structure: NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG
Video Intercom of Intelligent Building | Set the permission password | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_PRIVILEGE_PASSWORD Structure: NET_DVR_PRIVILEGE_PASSWORD_CFG
Video Intercom of Intelligent Building | Get the operation time configuration | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_OPERATION_TIME_CFG Structure: NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG
Video Intercom of Intelligent Building | Set the operation time configuration | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_OPERATION_TIME_CFG Structure: NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG
Video Intercom of Intelligent Building | Get the linked network device configuration | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_VIDEO_INTERCOM_RELATEDEV_CFG Structure: NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG
Video Intercom of Intelligent Building | Set the linked network device configuration | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_VIDEO_INTERCOM_RELATEDEV_CFG Structure: NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG
Video Intercom of Intelligent Building | Get the stream channel parameters of the video intercom | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_VIDEOINTERCOM_STREAM Structure: NET_DVR_VIDEOINTERCOM_STREAM
Video Intercom of Intelligent Building | Set the stream channel parameters of the video intercom | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_VIDEOINTERCOM_STREAM Structure: NET_DVR_VIDEOINTERCOM_STREAM
Video Intercom of Intelligent Building | Get the I/O input parameters of the video intercome | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_VIDEO_INTERCOM_IOIN_CFG Structure: NET_DVR_VIDEO_INTERCOM_IOIN_CFG
Video Intercom of Intelligent Building | Set the I/O input parameters of the video intercome | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_VIDEO_INTERCOM_IOIN_CFG Structure: NET_DVR_VIDEO_INTERCOM_IOIN_CFG
Video Intercom of Intelligent Building | Get the I/O output parameters of the video intercome | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_VIDEO_INTERCOM_IOOUT_CFG Structure: NET_DVR_VIDEO_INTERCOM_IOOUT_CFG
Video Intercom of Intelligent Building | Set the I/O output parameters of the video intercome | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_VIDEO_INTERCOM_IOOUT_CFG Structure: NET_DVR_VIDEO_INTERCOM_IOOUT_CFG
Video Intercom of Intelligent Building | Get the elevator controller parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_ELEVATORCONTROL_CFG_V40 Structure: NET_DVR_ELEVATORCONTROL_CFG_V40 (Newly expanded in the villa door station V1.1)
Video Intercom of Intelligent Building | Set the elevator controller parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_ELEVATORCONTROL_CFG_V40 Structure: NET_DVR_ELEVATORCONTROL_CFG_V40
Video Intercom of Intelligent Building | Get WDR parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_WDR_CFG Structure: NET_DVR_WDR_CFG
Video Intercom of Intelligent Building | Set WDR parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_WDR_CFG Structure: NET_DVR_WDR_CFG
Video Intercom of Intelligent Building | Get parameters for calling residents by pressing buttons | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_CALL_ROOM_CFG Structure: NET_DVR_CALL_ROOM_CFG (Newly added in the villa door station V1.1)
Video Intercom of Intelligent Building | Set parameters for calling residents by pressing buttons | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_CALL_ROOM_CFG Structure: NET_DVR_CALL_ROOM_CFG (Newly added in the villa door station V1.1)
Video Intercom of Intelligent Building | Get volume parameters of audio input | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_AUDIOIN_VOLUME_CFG Structure: NET_DVR_VOLUME_CFG (Newly added in the villa door station V1.1)
Video Intercom of Intelligent Building | Set volume parameters of audio input | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_AUDIOIN_VOLUME_CFG Structure: NET_DVR_VOLUME_CFG (Newly added in the villa door station V1.1)
Video Intercom of Intelligent Building | Get volume parameters of audio output | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_AUDIOOUT_VOLUME_CFG Structure: NET_DVR_VOLUME_CFG (Newly added in the villa door station V1.1)
Video Intercom of Intelligent Building | Set volume parameters of audio output | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_AUDIOOUT_VOLUME_CFG Structure: NET_DVR_VOLUME_CFG (Newly added in the villa door station V1.1)
Video Intercom of Intelligent Building | Get video intercom alarm event parameters | NET_DVR_GetDVRConfig | Command:NET_DVR_GET_VIDEO_INTERCOM_ALARM_CFG Structure: NET_DVR_VIDEO_INTERCOM_ALARM_CFG (Video Intercom of Intelligent BuildingV1.3 added)
Video Intercom of Intelligent Building | Set video intercom alarm event parameters | NET_DVR_SetDVRConfig | Command:NET_DVR_SET_VIDEO_INTERCOM_ALARM_CFG Structure: NET_DVR_VIDEO_INTERCOM_ALARM_CFG (Video Intercom of Intelligent BuildingV1.3 added)
Door Station Registration Information Searching |  |  |
Video Intercom of Intelligent Building | Get the registration information of door station (start long connection) | NET_DVR_StartRemoteConfig | Command: NET_DVR_GET_VIS_REGISTER_INFO (Newly added in the V1.0.1)
Video Intercom of Intelligent Building | Get the founded results one by one | NET_DVR_GetNextRemoteConfig | Command: NET_DVR_GET_VIS_REGISTER_INFO (Newly added in the V1.0.1)
Video Intercom of Intelligent Building | Close the handle created by the long connection interface and release the resource | NET_DVR_StopRemoteConfig |
Signalling Interaction of Video Intercom |  |  |
Video Intercom of Intelligent Building | Set the long connection of signalling interaction | NET_DVR_StartRemoteConfig | Command: NET_DVR_VIDEO_CALL_SIGNAL_PROCESS (Newly added in the villa door station V1.1)
Video Intercom of Intelligent Building | Set the signalling to the device | NET_DVR_SendRemoteConfig | (Newly added in the villa door station V1.1)
Video Intercom of Intelligent Building | Close the handle created by the long connection interface and release the resource | NET_DVR_StopRemoteConfig |
Remote Configuration of Video Intercom |  |  |
Video Intercom of Intelligent Building | Unlock remotely | NET_DVR_RemoteControl | Command: NET_DVR_REMOTECONTROL_GATEWAY
Video Intercom of Intelligent Building | Send the notice information | NET_DVR_RemoteControl | Command: NET_DVR_REMOTECONTROL_NOTICE_DATA
Related Configurations of Alarm Access |  |  |
Video Intercom of Intelligent Building | Get parameters of RS485 | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_ALARM_RS485CFG Structure: NET_DVR_ALARM_RS485CFG
Video Intercom of Intelligent Building | Set RS485 parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_ALARM_RS485CFG Structure: NET_DVR_ALARM_RS485CFG
Video Intercom of Intelligent Building | Get paramters of the alarm zone | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_ALARMIN_PARAM Structure: NET_DVR_ALARMIN_PARAM
Video Intercom of Intelligent Building | Set parameters of the alarm zone | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_ALARMIN_PARAM Structure: NET_DVR_ALARMIN_PARAM
Video Intercom of Intelligent Building | Get door parameters | NET_DVR_GetDVRConfig | Command: NET_DVR_GET_DOOR_CFG Structure: NET_DVR_DOOR_CFG
Video Intercom of Intelligent Building | Set door parameters | NET_DVR_SetDVRConfig | Command: NET_DVR_SET_DOOR_CFG Structure: NET_DVR_DOOR_CFG
Video Intercom of Intelligent Building | Card parameters configuration (start the long connection)） | NET_DVR_StartRemoteConfig | Command: NET_DVR_GET_CARD_CFG NET_DVR_SET_CARD_CFG
Video Intercom of Intelligent Building | Card parameters configuration (send the long connection data) | NET_DVR_SendRemoteConfig | Command: NET_DVR_GET_CARD_CFG NET_DVR_SET_CARD_CFG
Video Intercom of Intelligent Building | Card parameters configuration (disconnect the long connection) | NET_DVR_StopRemoteConfig |
Video Intercom of Intelligent Building | Clear card information | NET_DVR_RemoteControl | Command: NET_DVR_CLEAR_ACS_PARAM
Preview of Related Functions |  |  |
Video Intercom of Intelligent Building | Set the play and dispaly mode | NET_DVR_SetShowMode |
Video Intercom of Intelligent Building | The main stream produces a key frame | NET_DVR_MakeKeyFrame |
Video Intercom of Intelligent Building | The sub-stream produces a key frame | NET_DVR_MakeKeyFrameSub |
Video Intercom of Intelligent Building | Real-time live view | NET_DVR_RealPlay_V40 |
Video Intercom of Intelligent Building | Stop the live view | NET_DVR_StopRealPlay |
Video Intercom of Intelligent Building | Get the player handle used to encode and display | NET_DVR_GetRealPlayerIndex |
Video Intercom of Intelligent Building | Get video display paramters in the live view | NET_DVR_ClientGetVideoEffect |
Video Intercom of Intelligent Building | Set video display parameters in the live view | NET_DVR_ClientSetVideoEffect |
Video Intercom of Intelligent Building | Characters and images overlay in the live view | NET_DVR_RigisterDrawFun |
Video Intercom of Intelligent Building | Set the frame buffer number of the player | NET_DVR_SetPlayerBufNumber |
Video Intercom of Intelligent Building | Set the audio playing mode | NET_DVR_SetAudioMode |
Video Intercom of Intelligent Building | Open the audio in the audio card exclusive mode | NET_DVR_OpenSound |
Video Intercom of Intelligent Building | Close the audio in teh audio card exclusive mode | NET_DVR_CloseSound |
Video Intercom of Intelligent Building | Open the audio in the audio card sharing mode | NET_DVR_OpenSoundShare |
Video Intercom of Intelligent Building | Close the audio in the audio card sharing mode | NET_DVR_CloseSoundShare |
Video Intercom of Intelligent Building | Adjust the volume | NET_DVR_Volume |
Video Intercom of Intelligent Building | Register the callback function, and get the real-time data of the stream | NET_DVR_SetRealDataCallBack |
Video Intercom of Intelligent Building | Register the callback funciton, and get the real-time data of the stream (standard stream) | NET_DVR_SetStandardDataCallBack |
Video Intercom of Intelligent Building | Get the data and save them into the appointed files | NET_DVR_SaveRealData |
Video Intercom of Intelligent Building | Stop getting the data | NET_DVR_StopSaveRealData |
Two-Way Audio |  |  |
Video Intercom of Intelligent Building | Start the two-way audio | NET_DVR_StartVoiceCom_V30 |
Video Intercom of Intelligent Building | Set the client volume of the two-way audio | NET_DVR_SetVoiceComClientVolume |
Video Intercom of Intelligent Building | Stop the two-way audio | NET_DVR_StopVoiceCom |
Device Maintenance |  |  |
Video Intercom of Intelligent Building | Set the network environemant of the remote upgrade | NET_DVR_SetNetworkEnvironment |
Video Intercom of Intelligent Building | Remote upgrade | NET_DVR_Upgrade |
Video Intercom of Intelligent Building | Get the progress of the remote upgrade | NET_DVR_GetUpgradeProgress |
Video Intercom of Intelligent Building | Get the status of the remote upgrade | NET_DVR_GetUpgradeState |
Video Intercom of Intelligent Building | Close the handle of the remote upgrade, and release the resource | NET_DVR_CloseUpgradeHandle |
Video Intercom of Intelligent Building | Search the log information of the device | NET_DVR_FindDVRLog_V30 |
Video Intercom of Intelligent Building | Get the founded log information one by one | NET_DVR_FindNextLog_V30 |
Video Intercom of Intelligent Building | Release the resource for searching the log | NET_DVR_FindLogClose_V30 |
Video Intercom of Intelligent Building | Restore the default parameters of the device | NET_DVR_RestoreConfig |
Video Intercom of Intelligent Building | Export the configuration file | NET_DVR_GetConfigFile_V30 |
Video Intercom of Intelligent Building | Export the configuration file | NET_DVR_GetConfigFile_EX |
Video Intercom of Intelligent Building | Export the configuration file | NET_DVR_GetConfigFile |
Video Intercom of Intelligent Building | Import the configuration file | NET_DVR_SetConfigFile_EX |
Video Intercom of Intelligent Building | Import the configuration file | NET_DVR_SetConfigFile |
Alarm Arming |  |  |
Video Intercom of Intelligent Building | Set the callback function of alarm information | NET_DVR_SetDVRMessageCallBack_V31 | Supported Alarm Information Type: COMM_UPLOAD_VIDEO_INTERCOM_EVENT： NET_DVR_VIDEO_INTERCOM_EVENT COMM_ALARM_VIDEO_INTERCOM： NET_DVR_VIDEO_INTERCOM_ALARM
Video Intercom of Intelligent Building | Arm and build the alarm uploading channel | NET_DVR_SetupAlarmChan_V41 | (Newly added in the villa door station V1.1)
Video Intercom of Intelligent Building | Disarm and revoke the alarm uploading channel | NET_DVR_CloseAlarmChan_V30 |
Alarm Listening |  |  |
Video Intercom of Intelligent Building | Start the listening, and receive the alarm information uploaded actively by the device (support the multi-threading) | NET_DVR_StartListen_V30 | Supported Alarm Information Type: COMM_UPLOAD_VIDEO_INTERCOM_EVENT： NET_DVR_VIDEO_INTERCOM_EVENT COMM_ALARM_VIDEO_INTERCOM： NET_DVR_VIDEO_INTERCOM_ALARM
Video Intercom of Intelligent Building | Stop the listening (support the multi-threading) | NET_DVR_StopListen_V30 |
Remote Reboot |  |  |
Video Intercom of Intelligent Building | Reboot the device | NET_DVR_RebootDVR |


NET_DVR_GetSTDConfig

Get the device configuration information.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Device configuration command. See "Remarks" for details.
lpConfigParam
[in&out] Configure the input and output parameters. Different configuration functions correspond to different input and out put parameters. See "Remarks" for details.

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastErrorto get the error code and find the reason.

Remarks

When getting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents.For details, see the table below.

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_THSCREEN | Get the parameters of temperature and humidity | 4-byte (DWORD) channel | NET_DVR_THSCREEN | 3721
NET_DVR_GET_EXTERNALDEVICE | Get the parameters of external devices (supplement light, etc.) | NULL | NET_DVR_EXTERNALDEVICE | 3723
NET_DVR_GET_SUPPLEMENTLIGHT | Get the parameters of built-in supplement light | 4-byte (DWORD) channel | NET_DVR_BUILTIN_SUPPLEMENTLIGHT | 3728
NET_DVR_GET_REVISE_GPS | Get the calibrated GPS longitude and latitude | 4-byte (DWORD) channel | NET_DVR_REVISE_GPS_CFG | 3753
NET_DVR_GET_ACCESSORY_CARD_INFO | Get accessory board information | NULL | NET_DVR_ACCESSORY_CARD_INFO | 6710

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Set the device configuration information.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Device configuration command. See "Remarks" for details.
lpConfigParam
[in&out] Configure the input and output parameters. Different configuration functions correspond to different input and out put parameters. See "Remarks" for details

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastErrorto get the error code and find the reason.

Remarks

When getting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents.For details, see the table below.

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_THSCREEN | Set the parameters of temperature and humidity | 4-byte (DWORD) channel | NET_DVR_THSCREEN | 3730
NET_DVR_SET_EXTERNALDEVICE | Set the parameters of external devices (supplement light, etc.) | NULL | NET_DVR_EXTERNALDEVICE | 3724
NET_DVR_SET_SUPPLEMENTLIGHT | Set the parameters of built-in supplement light | 4-byte (DWORD) channel | NET_DVR_BUILTIN_SUPPLEMENTLIGHT | 3729
NET_DVR_SET_REVISE_GPS | Set the calibrated GPS longitude and latitude | 4-byte (DWORD) channel | NET_DVR_REVISE_GPS_CFG | 3754

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get the configuration information of the device.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Device configuration command. See "Remarks" for details.
lpConfigParam
[in&out] Configure the input and output parameters. Different configuration functions correspond to different input and output parameters. See "Remarks" for details.

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastErrorto get the error code and find the reason.

Remarks

When getting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. For details, see the table below.

dwCommand Macro Definition | Description | lpCondBuffer | Value
NET_DVR_GET_STORAGEDETECTION_EVENT_TRIGGER | Get the linkage configuration of storage health status detection | 4-byte (DWORD) HDD No. | NET_DVR_EVENT_TRIGGER | 6635
NET_DVR_GET_STORAGEDETECTION_SCHEDULE | Get the arming schedule configuration of storage health status detection | 4-byte (DWORD) HDD No. | NET_DVR_EVENT_SCHEDULE | 6638
NET_DVR_GET_STORAGEDETECTION_STATE | Get the storage detection status | NULL | NET_DVR_STORAGE_DETECTION | 6640
NET_DVR_GET_STORAGEDETECTION_RWLOCK | Get the writing and reading configuration of storage detection | NULL | NET_DVR_STORAGE_RWLOCK | 6646

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Set the configuration information of the device.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Device configuration command. See "Remarks" for details.
lpConfigParam
[in&out] Configure the input and output parameters. Different configuration functions correspond to different input and output parameters. See "Remarks" for details.

Return Values

Return TRUE on success, and FALSE on failure. CallNET_DVR_GetLastErrorto get the error code and find the reason.

Remarks

When setting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. For details, see the table below.

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_STORAGEDETECTION_EVENT_TRIGGER | Set the linkage configuration of storage health status detection | NULL | NET_DVR_EVENT_TRIGGER | 6636
NET_DVR_SET_STORAGEDETECTION_SCHEDULE | Set the arming schedule configuration of storage health status detection | 4-byte (DWORD) HDD No | NET_DVR_EVENT_SCHEDULE | 6639
NET_DVR_SET_STORAGEDETECTION_RWLOCK | Set the writing and reading configuration of storage detection | NULL | NET_DVR_STORAGE_RWLOCK | 6648
NET_DVR_SET_STORAGEDETECTION_UNLOCK | Set the unlock configuration of storage detection | NULL | NET_DVR_STORAGE_UNLOCK | 6653

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Get the device configuration information in batch.

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The returned value of login API, such as NET_DVR_Login_V40.
dwCommand
[in] The device configuration command, refer to configuration command.
dwCount
[in] The getting number, 0 and 1 stand for 1 camera information, 2 stands for 2 camera information, and so on. The maximize number is 64.
lpInBuffer
[in] The pointer of configuration condition buffer.
dwInBufferSize
[in] Configuration condition buffer length.
lpStatusList
[out] The error message list, which should be corresponding with the camera, (for example, lpStatusList[2] corresponds with lpInBuffer[2]). The memory should be allocated by user himself and each error message should be 4-byte (32-bit integer without symbol). 0 and 1 stand for succeed, and other value stand for error code.
lpOutBuffer
[out] The returned parameter value from device, which corresponds with the camera. If the lpStatusList of the camera is greater than 1, the corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The total size of the returned dwCount*values.

Return Values

TRUE means success, but does not mean every configuration is succeeded. Check the lpStatusList[n] value to confirm if the specific configuration is succeeded. FALSE means every configuration is failed. Call NET_DVR_GetLastError to get the error message.

Remarks

The API is the general interface for getting the camera configuration information in batch. lpInBuffer is used for specifying the configuration information types, and lpOutBuffer is used for saving the get configuration information.

Different functions correspond with different structures and commands, as shown in the following table:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Corresponding Structure | lpOutBuffer Corresponding Structure | Macro Definition Value
NET_DVR_GET_WORK_STATUS | Get the device working status and the dwCount is 0. | NET_DVR_GETWORKSTATE_COND | NET_DVR_WORKSTATE_V40 | 6189

See Also

NET_DVR_Login_V30


NET_DVR_GetDeviceStatus

This API is used to get the device running status.

BOOL NET_DVR_GetDeviceStatus(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to the following configuraition command list
dwCount
[in] The count of status to be get, please set to 1
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to get quantities of the device status. The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_REMOTECONTROL_STATUS | Get wireless arming status | dwCount * NET_DVR_REMOTECONTROL_COND | dwCount * NET_DVR_REMOTECONTROL_STATUS | 3423
NET_DVR_GET_ALARMIN_STATUS | Get alarm input status | dwCount * 4 bytes of alarm input channel No. | dwCount * 4 bytes of status value(0-no alarm, 1-with alarm) | 9115
NET_DVR_GET_ALARMOUT_STATUS | Get alarm output status | dwCount * 4 bytes of alarm output channel No. | dwCount * 4 bytes of status value(0-no alarm, 1-with alarm) | 9116
NET_DVR_GET_AUDIO_CHAN_STATUS | Get voice talk status | dwCount is 1, 4 bytes of voice talk channel No. | 1 * 4 bytes pf status(0-Off, 1-On) | 9117


NET_DVR_StartRemoteConfig

Start remote configuration.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Configuration command. Different functions correspond to different commands, and IpInBuffer corresponds to different contents.
dwCommand Macro Definition | Value | Function | lpInBuffer Corresponding Structure | cbStateCallback
NET_DVR_GET_ONLINEUSER_INFO | 3762 | Get the user online information by the long connection | NET_DVR_ONLINEUSER_COND | Returned status, information data
lpInBuffer
[in] Input parameter
dwInBufferLen
[in] Input buffer size
cbStateCallback
[in] Callback function of the status
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Value of callback status
NET_SDK_CALLBACK_TYPE_PROGRESS
Value of callback progress
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] Buffer pointer for saving data. Detailed information is related to dwTypev
dwType | Description | lpBuffer Corresponding Content
NET_SDK_CALLBACK_TYPE_STATUS | Status value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Succeeded NET_SDK_CALLBACK_STATUS_PROCESSING, //Processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | The value of lpBuffer stands for the progress (DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information data | Corresponding structure: NET_DVR_ONLINEUSER_CFG
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

Return -1 on failure, and other values on the handle of NET_DVR_StopRemoteConfig. CallNET_DVR_GetLastError to get the error data and find the reason.

See Also

NET_DVR_StopRemoteConfig


NET_DVR_STDXMLConfig

ISAPI protocol command unvarnished transmission

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam,
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input value
lpOutputParam
[in&out] Output parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorfor error code.

Remarks

You can impelemnet ISAPI protocol command unvarnished transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol.


NET_DVR_GetDVRConfig

Get the configuration information of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] The configuration command, for details, see "Remark".
lChannel
[in] The channel No. or group No., the different command corresponds to different value. If the parameters is invalid, the value should be set as 0xFFFFFFFF. For details, see "remark".
lpOutBuffer
[out] The buffer point of receiving data.
dwOutBufferSize
[in] The buffer length of receiving data, cannot be 0.
lpBytesReturned
[out] The actual received data length pointer, cannot be NULL.

Remarks

Different function corresponds to different structures and commands. dwCommand Macro Definition dwCommand Description lChannel lpOutBuffer Corresponded Structure Value NET_DVR_GET_N_PLUS_ONE_WORK_MODE Get the N+1 working mode. Invalid NET_DVR_N_PLUS_ONE_WORK_MODE_CFG 6168 NET_DVR_GET_MAX_MACHINE_NUM_CFG Get the Max. number of the standby device. Invalid NET_DVR_MACHINE_MAX_NUM_CFG 6214

Return Values

Return TRUE on success, and FALSE on failure, to get the error code, p;ease refer toNET_DVR_GetLastError

The possible returned error value is shown below.

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL, or the value or format of the parameters does not match with the requirement.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set the configuration information of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in]The configuration command, for details, see "Remark".
lChannel
[in] The channel No., different command corresponds to different value. If the parameters is invalid, the value should be set as 0xFFFFFFFF. For details, see "remark".
lpInBuffer
[in] The buffer pointer of inputting data.
dwInBufferSize
[in] The buffer length of inputting data (unit: byte)

Remarks

Different function corresponds to different structures and commands.

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Corresponded Structure | Value
NET_DVR_SET_N_PLUS_ONE_WORK_MODE | Set the N+1 working mode. | Invalid | NET_DVR_N_PLUS_ONE_WORK_MODE_CFG | 6169
NET_DVR_SET_MAX_MACHINE_NUM_CFG | Set the Max. number of the standby device. | Invalid | NET_DVR_MACHINE_MAX_NUM_CFG | 6215

Return Values

Return TRUE on success, and FALSE on failure, to get the error code, p;ease refer toNET_DVR_GetLastError

The possible returned error value is shown below.

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.。
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | >Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL, or the value or format of the parameters does not match with the requirement.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_RemoteControl

This API is used to remotely control the device.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in]The return value of NET_DVR_Login_V40
dwCommand
[in] Control command, please kindly refer to the list below
lpInBuffer
[in] Buffer that saves the input parameters, the content is related to the control command, details listed below
dwInBufferSize
[in] Size of the buffer (unit: byte)

Remarks

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below:

dwCommand Macro Definition | dwCommand Value | Description | lpInBuffer Structure
NET_DVR_ADD_DEVICE | 6216 | Add device under the N+1 mode | NET_DVR_N_PLUS_ONE_DEVICE_PARAM
NET_DVR_DEL_DEVICE | 6217 | Delete device under the N+1 mode | NET_DVR_N_PLUS_ONE_DEVICE_PARAM

Return Values

Returns TRUE on success, FALSE on failure.For the error code, please callNET_DVR_GetLastError

See Also

NET_DVR_Login_V30


NET_DVR_StartRemoteConfig

This API is used to start the remote configuration for the device.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Control command, please refer to the list below:
dwCommand Macro Definition | Value | Description | lpInBuffer | cbStateCallback
NET_DVR_GET_N_PLUS_ONE_DEVICE_INFO | 6222 | Get the information of N+1 device. | NULL | NULL
lpInBuffer
[in] Input parameters, The detailed content is related to the configuration command.
dwInBufferLen
[in] The size of input buffer
cbStateCallback
[in] Status call-back function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Status
lpBuffer
[out] The Buffer that saves the input parameters, the content is related to dwType..
dwBufLen
[out] The size of buffer
pUserData
[out] User Data

Return Values

-1: Failed; Otehr value is conducted as the handle of interface such as NET_DVR_SendRemoteConfig. To get the error code ,callNET_DVR_GetLastError。

Remarks

After enabling the remote control configuration, you need to callback other interface to get or configure the related parameters.

dwCommand Macro Definition | Description | Interface
NET_DVR_GET_N_PLUS_ONE_DEVICE_INFO | Get the N+1 device information | NET_DVR_GetNextRemoteConfig

See Also

NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

This API is used to get the related configuration one by one

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] The configuration handle, return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] The output buffer, related with the value of dwCommand when calling NET_DVR_StartRemoteConfig, please kindly refer to the list below
dwOutBuffSize
[out] The output buffer size

The lpOutBuff is different according to the value of dwCommand when calling NET_DVR_StartRemoteConfig, and they are listed below:

dwCommand Macro Definition | Value | Configuration Function | lpOutBuff Corresponding Structure
NET_DVR_GET_N_PLUS_ONE_DEVICE_INFO | 6222 | Get N+1 device information | NET_DVR_N_PLUS_ONE_DEVICE_INFO

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. For error code,please call NET_DVR_GetLastError

Macro Definition | Value | Description
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | get the data successfully, please call NET_DVR_GetNextRemoteConfig to get next one after handling the data
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Searching, please wait, and then continue to call NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | No more found, search is finished, and then call NET_DVR_StopRemoteConfig to release resource
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Abnormal, please call NET_DVR_StopRemoteConfig to release resource

Remarks

Before calling this API, please call NET_DVR_StartRemoteConfigNET_DVR_FindFile_V30 to get current handle firstly. The interface only supports to get one file. We should call the interface repetitively to get all.


NET_DVR_StopRemoteConfig

This API is used to close the handle created by long connection configuration and release the resource.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle，the return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_GetDeviceConfig

This API is used to get configuration of the device(batch).

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in]The return value of NET_DVR_Login_V40
dwCommand
[in]Device configuration commands, refer to the following configuraition command list
dwCount
[in]The count of channels to be query, set as 1.
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in]The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is successful or failed. FALSE means all configuration failed. For error code, please call NET_DVR_GetLastError.

Remarks

  • This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras.
  • The structures and command numbers are different according to the different dwCommand, and they are listed as below:
    • dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_RELOCATE_INFO | Get the re-positioning information under the N+0 mode | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_RELOCATE_INFO | 6026
  • When the dwCount is 0xfffffff，the lpInBuffer is NULL, and the dwInBufferSize is 0. It indicates to get all related information. The front 4 bytes of lpOutBuffer represent the actual returned number of information. The last 4 bytes represent the detailed information. Therefor, the lpOutBuffer buffer size should be 4 bytes more than what listed in the table.

    • See Also

    NET_DVR_Login_V40 NET_DVR_GetLastError


NET_DVR_GetDeviceAbility

This API is used to get capability set of device.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAbilityType
[in] Type of ability, details listed below:
Macro Definition | Value | Implication
MATRIXDECODER_ABILITY | 0x200 | Display and decoding capability of multi-channel decoder
WALL_ABILITY | 0x212 | Capability set of TV Wall
MATRIXDECODER_ABILITY_V41 | 0x260 | Decoder capability set (extended)
SCREENCONTROL_ABILITY | 0x600 | Capability set of multi-Screen controller
DECODER_ABILITY | 0x261 | Xml capability set of decoder
pInBuf
[in] Pointer of the input buffer(according to description mode of ability parameter, defined by device, it supports XML text or structure format)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer of the output buffer(according to description mode of ability set, defined by device, it supports XML text or structure format)
dwOutLength
[in] Length of output buffer

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices, too. The input and output parameter format when getting intelligent traffic camera ability are defined as below:

Macro Definition | Type of Ability | pInBuf | pOutBuf
MATRIXDECODER_ABILITY | Get display and decoding capability of multi-channel decoder | None | NET_DVR_MATRIX_ABILITY
WALL_ABILITY | Get capability of TV wall | None | XML ability description of TV wall
MATRIXDECODER_ABILITY_V41 | Get decoder capability set (extended) | None | NET_DVR_MATRIX_ABILITY_V41
DECODER_ABILITY | Get xml capability of Decoder | Ability input description of decoder | XML ability description of decoder

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetDisplayCfg_V41

This API is used to get display channel configuration of multi-channel decoder.

BOOL NET_DVR_MatrixGetDisplayCfg_V41(
  LONG                        lUserID,
  DWORD                       dwDispChanNum,
  LPNET_DVR_MATRIX_VOUTCFG    lpVoutCfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDispChanNum
[in] Display channel, please get it from capability set
lpVoutCfg
[out] Display channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

NET_DVR_MatrixSetDisplayCfg_V41

NET_DVR_GetDeviceAbility

Reference Interface

NET_DVR_MatrixGetDisplayCfg


NET_DVR_MatrixSetDisplayCfg_V41

This API is used to set display channel configuration of multi-channel decoder.

BOOL NET_DVR_MatrixSetDisplayCfg_V41(
  LONG                        lUserID,
  DWORD                       dwDispChanNum,
  LPNET_DVR_MATRIX_VOUTCFG    lpDisplayCfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDispChanNum
[in] Display channel, please get it from capability set
lpDisplayCfg
[in] Display channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

For DS6401HD, it supports only to display on one channel of the four display channels, VGA, BNC, HDMI and DVI. The display channel set at last takes effect.

See Also

NET_DVR_Login NET_DVR_Login_V30

NET_DVR_MatrixGetDisplayCfg_V41

NET_DVR_GetDeviceAbility

Reference Interface

NET_DVR_MatrixSetDisplayCfg


NET_DVR_MatrixDiaplayControl

This API is used to control multi-channel decoder display channels.

BOOL NET_DVR_MatrixDiaplayControl(
  LONG    lUserID,
  DWORD   dwDispChanNum,
  DWORD   dwDispChanCmd,
  DWORD   dwCmdParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDispChanNum
[in] Channel, get form the device capability
dwDispChanCmd
[in] Command of the channel,the specific definition are listed as follows:
Micro denfinition of dwDispChanCmd | Value | Meaning | Value of dwCmdParam
DISP_CMD_ENLARGE_WINDOW | 1 | Enlarge the window of channel | child window number
DISP_CMD_RENEW_WINDOW | 2 | window reduction of channel | child window number
dwCmdParam
[in] command

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

NET_DVR_GetDeviceAbility


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_NETCFG_OTHER | Get network configuration of multi-channel decoder | invalid | NET_DVR_NETCFG_OTHER | 244
NET_DVR_MATRIX_BIGSCREENCFG_GET | Get screen stitching parameter(supported by 64-T HD decoder) | Big screen number, 0-n(get from device ability) | NET_DVR_BIGSCREENCFG | 1140
NET_DVR_GET_AUTO_REBOOT_CFG | Get auto reboot parameter(supported by DS-65xxD decoder) | invalid | NET_DVR_AUTO_REBOOT_CFG | 1710
NET_DVR_GET_DEV_WORK_MODE | Get device working mode | Invalid | NET_DVR_DEV_WORK_MODE | 9108
NET_DVR_GET_DEC_VCA_CFG | Get decoder smart alarm parameters | Decoding channel No. | NET_DVR_VCA_ALARM_CFG | 9130
NET_DVR_GET_WIN_ROAM_SWITCH_CFG | Get decoding window roaming switch parameters | Invalid | NET_DVR_WIN_ROAM_SWITCH_CFG | 9224

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuration commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

Different obtain function corresponds to different structure and command number:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Structure | Value
NET_DVR_SET_NETCFG_OTHER | Set network parameter(multi-channel decoder) | invalid | NET_DVR_NETCFG_OTHER | 245
NET_DVR_MATRIX_BIGSCREENCFG_SET | Set screen stitching parameter(supported by 64-T HD decoder) | Big screen number, 0-n(get from device capability) | NET_DVR_BIGSCREENCFG | 1141
NET_DVR_SET_AUTO_REBOOT_CFG | Set auto reboot parameter(supported by DS-65xxD decoder) | invalid | NET_DVR_AUTO_REBOOT_CFG | 1171
NET_DVR_GET_DEV_WORK_MODE | Set device working mode | Invalid | NET_DVR_DEV_WORK_MODE | 9109
NET_DVR_GET_DEC_VCA_CFG | Set decoder smart alarm parameters | Decoding channel No. | NET_DVR_VCA_ALARM_CFG | 9131
NET_DVR_GET_WIN_ROAM_SWITCH_CFG | Set decoding window roaming switch parameters | Invalid | NET_DVR_WIN_ROAM_SWITCH_CFG | 9225

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

This API is used to set configuration of the device(batch).

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition command list
dwCount
[in] The count to be set, both 0 and 1 mean one, 2 means two, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_MATRIX_WALL_GET | Get the parameters of screen in the TV wall | dwCount*(4 byte) screen number | dwCount*NET_DVR_SINGLEWALLPARAM | 9002
NET_DVR_WALLWIN_GET | Get the parameters of window in the TV wall | dwCount*(4 byte) window number | dwCount*NET_DVR_WALLWINCFG | 9003
NET_DVR_WALLSCENEPARAM_GET | Get the parameters of scene in the TV wall | dwCount*(4 byte) scene number | dwCount*NET_DVR_WALLWINCFG | 9007

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to get quantities of configuration with sending data. lpInBuffer assigns to configure which window or scene, and lpOutBuffer saves the configuration information of dwCount windows or scenes to be set.

If you want to get all windows or scenes, please set dwCount to 0xffffffff, set lpInBuffer to NULL, set dwInBufferSize to 0, and set lpStatusList to NULL.

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

This API is used to set configuration of the device(batch).

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition command list
dwCount
[in] The count to be set, both 0 and 1 mean one, 2 means two, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be set, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpInParamBuffer
[in] The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful.
dwInParamBufferSize
[in] The size of the configuration content

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_MATRIX_WALL_SET | Set the parameters of screen in the TV wall | dwCount*(4 byte) screen number | dwCount*NET_DVR_SINGLEWALLPARAM | 9001
NET_DVR_WALLWIN_SET | Set the parameters of window in the TV wall | dwCount*(4 byte) window number | dwCount*NET_DVR_WALLWINCFG | 9004
NET_DVR_WALLSCENEPARAM_SET | Set the parameters of scene in the TV wall | dwCount*(4 byte) scene number | dwCount*NET_DVR_WALLWINCFG | 9008

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to set quantities of configuration with sending data. lpInBuffer assigns to configure which window or scene, and lpOutBuffer saves the configuration information of dwCount windows or scenes to be set.

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_MatrixGetDecChanCfg

This API is used to get decode channel zoom control configuration of multi-channel decoder.

BOOL NET_DVR_MatrixGetDecChanCfg(
  LONG                                lUserID,
  DWORD                               dwDecChan,
  LPNET_DVR_MATRIX_DECCHAN_CONTROL    lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChan
[in] Decode channel number
lpInter
[out] Decode channel zoom control parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixSetDecChanCfg NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixSetDecChanCfg

This API is used to set decode channel zoom control of multi-channel decoder.

BOOL NET_DVR_MatrixSetDecChanCfg(
  LONG                                lUserID,
  DWORD                               dwDecChan,
  LPNET_DVR_MATRIX_DECCHAN_CONTROL    lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChan
[in] Decode Channel number
lpInter
[in] Zoom control parameter of decode channel

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixGetDecChanCfg NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetVideoStandard

This API is used to get the decoding mode of multi-channel decoder.

BOOL NET_DVR_MatrixGetVideoStandard(
  LONG      lUserID,
  LONG      dwDecChanNum,
  LPDWORD   lpdwVideoStandard
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode Channel number
lpdwVideoStandard
[out] Decode video standard pointer: 0-PAL, 1-NTSC

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixSetVideoStandard NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixSetVideoStandard

This API is used to set video format multi-channel decoder.

BOOL NET_DVR_MatrixSetVideoStandard(
  LONG    lUserID,
  DWORD   dwDecChanNum,
  DWORD   dwVideoStandard
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode Channel number
dwVideoStandard
[in] Video model: 0-PAL, 1-NTSC

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixGetVideoStandard NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetDecChanStatus

This API is used to get current decode channel information.

BOOL NET_DVR_MatrixGetDecChanStatus(
  LONG                               lUserID,
  DWORD                              dwDecChanNum,
  LPNET_DVR_MATRIX_DEC_CHAN_STATUS   lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpInter
[out] Decode channel status

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to get current status of one decode channel, including decode channel status and information. Decode channel status is used to get connection status of the current decode channel, stream copy rate and so on. Decode channel information is used to get decode status of current decode channel and the front-end device channel information.
Notes: Contents of this part is mainly used to query connection and decode status of each decode channel in the multi-channel decoder. It is recommended to use only as reference information, and it is not recommended to use it as a criterion of decode device work status and to get the decode channel status frequently.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetDecChanEnable

This API is used to get current decode channel switch status.

BOOL NET_DVR_MatrixGetDecChanEnable(
  LONG      lUserID,
  DWORD     dwDecChanNum,
  LPDWORD   lpdwEnable
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpdwEnable
[out] Pointer of DWORD. 0- close, 1- open

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Decode switch of decode channel, is used to control decode process of decode channel. When setting the switch to close, whether current decode channel is during dynamic decoding or loop decoding, it will stop decoding. The channel will be at black status after it is effected. If set the switch on, it will resume the last process.
Notes: This function can be used with loop decode and loop decode switch.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MatrixSetDecChanEnable


NET_DVR_MatrixSetDecChanEnable

This API is used to set the switch status of current decode channel.

BOOL NET_DVR_MatrixSetDecChanEnable(
  LONG    lUserID,
  DWORD   dwDecChanNum,
  DWORD   dwEnable
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
dwEnable
[in] 0- close, 1- open

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Decode switch of decode channel, is used to control decode process of decode channel. When setting the switch to close, whether current decode channel is during dynamic decoding or loop decoding, it will stop decoding. The channel will be at black status after it is effected. If set the switch on, it will resume the last process.
Notes: This function can be used with loop decode and loop decode switch.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MatrixGetDecChanEnable


NET_DVR_UploadLogo

This API is used to upload LOGO.

BOOL NET_DVR_UploadLogo(
  LONG                      lUserID,
  DWORD                     dwDecChanNum,
  LPNET_DVR_DISP_LOGOCFG    lpDispLogoCfg,
  char                      *sLogoBuffer
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel number
lpDispLogoCfg
[in] LOGO parameter
sLogoBuffer
[in] LOGO data buffer, at most 100k, width and height must be multiples of 32

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_LogoSwitch

This API is used to display control of LOGO.

BOOL NET_DVR_LogoSwitch(
  LONG     lUserID,
  DWORD    dwDecChan,
  DWORD    dwLogoSwitch
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChan
[in] Decoding channel
dwLogoSwitch
[in] Switch command. Macro definitions are listed below:
Macro Definition | Value | Implication
NET_DVR_SHOWLOGO | 1 | Display LOGO
NET_DVR_HIDELOGO | 2 | Hide LOGO

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixStartDynamic_V41

This API is used to start dynamic decoding.

BOOL NET_DVR_MatrixStartDynamic_V41(
  LONG                          lUserID,
  DWORD                         dwDecChanNum,
  LPNET_DVR_PU_STREAM_CFG_V41   lpDynamicInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decoding channel, or it is window number for DS-6400HD-S
lpDynamicInfo
[in] Dynamic decoding parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to connect one decoding channel of the multi-channel decoder to one channel of front-end device, and continue to decode until call the stop API or set decoding switch off. If decoding interruption is caused by network interrupted during the decoding process, the multi-channel decoder will automatically re-connect to the front device, till the connection is successful or the stop API is called. During re-connecting, the decoding channel is in the black state.

See Also

NET_DVR_MatrixStopDynamic

Reference Interface

NET_DVR_MatrixStartDynamic_V30


NET_DVR_MatrixStopDynamic

This API is used to stop passive decoding.

LONG NET_DVR_MatrixStopDynamic(
  LONG    lUserID,
  DWORD   dwDecChanNum
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decoding channel, or it is window number for DS-6400HD-S

Return Values

RUE means successful, FALSE means failed. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixStartDynamic


NET_DVR_MatrixGetLoopDecChanInfo_V41

This API is used to get the information of circle decoding channel.

BOOL NET_DVR_MatrixGetLoopDecChanInfo_V41(
  LONG                                lUserID,
  DWORD                               dwDecChanNum,
  LPNET_DVR_MATRIX_LOOP_DECINFO_V41   lpOuter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decoding channel number
lpOuter
[out] The information of circle decoding channel

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to set circle decoding parameter of one decode channel in multi-channel decoder, and every decoding channel can connect to 16 front-end channels for circle decoding. The cycle period supports to be set. After set successfully, if the starting flag of connection information is enabled, the channel go into circle status and start circle decoding; If disabled, then not start loop decoding. We can use with the switch API of circle decoding to achieve the circle decoding control, details refer to the part of the circle decoding switch (NET_DVR_MatrixGetLoopDecChanEnable and NET_DVR_MatrixSetLoopDecChanEnable).

See Also

NET_DVR_MatrixSetLoopDecChanInfo_V41

Reference Interface

NET_DVR_MatrixGetLoopDecChanInfo_V30


NET_DVR_MatrixSetLoopDecChanInfo_V41

This API is used to set the circle decoding channel.

BOOL NET_DVR_MatrixSetLoopDecChanInfo_V41(
  LONG                                lUserID,
  DWORD                               dwDecChanNum,
  LPNET_DVR_MATRIX_LOOP_DECINFO_V41   lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decoding channel number
lpInter
[in] The configuration of the circle decoding channel

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to set circle decoding parameter of one decode channel in multi-channel decoder, and every decoding channel can connect to 16 front-end channels for circle decoding. The cycle period supports to be set. After set successfully, if the starting flag of connection information is enabled, the channel go into circle status and start circle decoding; If disabled, then not start loop decoding. We can use with the switch API of circle decoding to achieve the circle decoding control, details refer to the part of the circle decoding switch (NET_DVR_MatrixGetLoopDecChanEnable and NET_DVR_MatrixSetLoopDecChanEnable).

See Also

NET_DVR_MatrixGetLoopDecChanInfo_V41

Reference Interface

NET_DVR_MatrixSetLoopDecChanInfo_V30


NET_DVR_MatrixGetLoopDecChanEnable

This API is used to get loop switch status of single decode channel.

BOOL NET_DVR_MatrixGetLoopDecChanEnable(
  LONG      lUserID,
  DWORD     dwDecChanNum,
  LPDWORD   lpdwEnable
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpdwEnable
[out] 0- close, 1- open

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code

See Also

NET_DVR_MatrixSetLoopDecChanEnable


NET_DVR_MatrixSetLoopDecChanEnable

This API is used to set loop switch of single decode channel.

BOOL NET_DVR_MatrixSetLoopDecChanEnable(
  LONG    lUserID,
  DWORD   dwDecChanNum,
  DWORD   dwEnable
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
dwEnable
[in] 0 means close, 1 means open

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixGetLoopDecChanEnable


NET_DVR_MatrixGetLoopDecEnable

This API is used to get loop switch status of all decode channels.

BOOL NET_DVR_MatrixGetLoopDecEnable(
  LONG      lUserID,
  LPDWORD   lpdwEnable
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpdwEnable
[out] By byte, 0- close, 1- open

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Loop switch is used to control starting and stopping the loop process, rather than used to control starting and stopping decoding.

When setting the switch of current loop decode channel off, this decode channel stop looping, stays on the current connected front-end channel and continue decoding. That is, it changes to dynamic decode.

When set loop switch on, the decode channel resumes loop decoding.

See Also

NET_DVR_MatrixSetLoopDecChanEnable


NET_DVR_MatrixGetDecChanInfo_V41

It is used to get the information of current decoding channel.

BOOL NET_DVR_MatrixGetDecChanInfo_V41(
  LONG                                 lUserID,
  DWORD                                dwDecChanNum,
  LPNET_DVR_MATRIX_DEC_CHAN_INFO_V41   lpOuter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decoding channel number
lpOuter
[out] Decoding channel information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login_V30

Remarks

It is used to get the information of current decoding channel, including the information of front-end device, stream mode, and so on.

Reference Interface

NET_DVR_MatrixGetDecChanInfo_V30


NET_DVR_MatrixSetRemotePlay

This API is used to configure the remote playback of multi-channel decoder.

BOOL NET_DVR_MatrixSetRemotePlay(
  LONG                                lUserID,
  DWORD                               dwDecChanNum,
  LPNET_DVR_MATRIX_DEC_REMOTE_PLAY    lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpInter
[in] Parameter structure of remote playback

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixSetRemotePlayControl

This API is used to control remote playback.

BOOL NET_DVR_MatrixSetRemotePlayControl(
  LONG    lUserID,
  DWORD   dwDecChanNum,
  DWORD   dwControlCode,
  DWORD   dwInValue,
  DWORD   *lpOutValue
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
dwControlCode
[in] Control commands:
Macro Definition | Value | Implication
NET_DVR_PLAYSTART | 1 | Start playing
NET_DVR_PLAYSTOP | 2 | Stop playing
NET_DVR_PLAYPAUSE | 3 | Pause
NET_DVR_PLAYRESTART | 4 | Resume
NET_DVR_PLAYFAST | 5 | Fast
NET_DVR_PLAYSLOWW | 6 | Slow
NET_DVR_PLAYNORMALL | 7 | Normal speed
NET_DVR_PLAYSTARTAUDIO | 9 | Open sound
NET_DVR_PLAYSTOPAUDIO | 10 | Close sound
NET_DVR_PLAYSETPOS | 12 | Change progress of playback by file
dwInValuee
[in] Set parameter
lpOutValue
[out] Output parameter pointer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The parameters dwInValue and lpOutValue of the interface decide whether to input and output, according to different command number. If you want to use command NET_DVR_PLAYSETPOS to locate playing position, please value the parameter dwInValue.

See Alsoo

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetRemotePlayStatus

This API is used to get playback status.

BOOL NET_DVR_MatrixGetRemotePlayStatus(
  LONG                                      lUserID,
  DWORD                                     dwDecChanNum,
  LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS   lpOuter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpOuter
[out] Playback status

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to connect multi-channel decoder to front-end device, and realize playback by file name or time. It can get corresponding playback status and control playback. Playback control command is realized depending on network transmission, and there is some delay, so it is not recommended to call the command too frequently. When playing back by time, the file information obtained when getting playback status is the information of current playing single segment, not the information of all segments in whole time range. Please use parameter dwCurDataType of structure NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS to judge whether the play is over.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixStartPassiveDecode

This API is used to start passive decode of multi-channel decoder.

LONG NET_DVR_MatrixStartPassiveDecode(
  LONG                            lUserID,
  DWORD                           dwDecChanNum,
  LPNET_DVR_MATRIX_PASSIVEMODE    lpPassiveMode
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpPassiveMode
[in] Passive decode parameter

Return Values

-1 means false, and other values could be used as the parameters of other interfaces, such as NET_DVR_MatrixSendData function.

Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30
NET_DVR_MatrixSendData NET_DVR_MatrixStopPassiveDecode


NET_DVR_MatrixSendData

This API is used to send data to passive decode channel.

BOOL NET_DVR_MatrixSendData(
  LONG     lPassiveHandle,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lPassiveHandle
[in] The return value of NET_DVR_MatrixStartPassiveDecode
pSendBuf
[in] Buffer of saving data to be sent
dwBufSize
[in] Size of the buffer, must less than 30K bytes

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixStartPassiveDecode


NET_DVR_MatrixStopPassiveDecode

This API is used to stop passive decode.

BOOL NET_DVR_MatrixStopPassiveDecode(
  LONG   lPassiveHandle
);

Parameters

lPassiveHandle
[in] The return value of NET_DVR_MatrixStartPassiveDecode

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixStartPassiveDecode


NET_DVR_MatrixGetPassiveDecodeStatus

This API is used to get passive decoding status of multi-channel decoder.

LONG NET_DVR_MatrixGetPassiveDecodeStatus(
  LONG      lPassiveHandle
);

Parameters

lPassiveHandle
[in] The return value of NET_DVR_MatrixStartPassiveDecode

Return Values

-1- failure, 1- send successful, 2- pause, 3- resume, 4- mistake, 5- heartbeat messages. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixStartPassiveDecode


NET_DVR_MatrixPassiveDecodeControl

This API is used to control passive decode and play.

BOOL NET_DVR_MatrixPassiveDecodeControl(
  LONG                               lUserID,
  DWORD                              dwDecChanNum,
  LPNET_DVR_PASSIVEDECODE_CONTROL    lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode Channel number
lpInter
[in] The control parameters

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetTranInfo_V30

This API is used to get transparent channel information.

BOOL NET_DVR_MatrixGetTranInfo_V30(
  LONG                                     lUserID,
  LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30    lpTranInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpTranInfo
[out] Transparent channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Here transparent channel configuration is to build network transparent channel between the decoder and the front-end device, not between client and the decoder. Because most multi-channel decoders don't support building 232/485 transparent channel between with the PC client, local serial port can only be the access port of the serial console (via RS 232) or device like control keyboard (via RS232/RS485).

Notes: Currently, one multi-channel decoder supports 64 transparent channels at most, including 232 and 485 transparent channels. It supports only one 232 full-duplex transparent channel and one 485 full-duplex transparent channel, and it supports not to set full-duple transparent channel.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MatrixSetTranInfo_V30

Reference Interface

NET_DVR_MatrixGetTranInfo


NET_DVR_MatrixSetTranInfo_V30

This API is used to set transparent channel information.

BOOL NET_DVR_MatrixSetTranInfo_V30(
  LONG                                    lUserID,
  LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30   lpTranInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpTranInfo
[in] Transparent channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Here transparent channel configuration is to build network transparent channel between the decoder and the front-end device, not between client and the decoder. Because most multi-channel decoders don't support building 232/485 transparent channel between with the PC client, local serial port can only be the access port of the serial console (via RS 232) or device like control keyboard (via RS232/RS485).

Notes: Currently, one multi-channel decoder supports 64 transparent channels at most, including 232 and 485 transparent channels. It supports only one 232 full-duplex transparent channel and one 485 full-duplex transparent channel, and it supports not to set full-duple transparent channel.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MatrixGetTranInfo_V30


NET_DVR_MatrixSceneControl

This API is used to control the scene switch.

BOOL NET_DVR_MatrixSceneControl(
  LONG     lUserID,
  DWORD    dwSceneNum,
  DWORD    dwCmd,
  DWORD    dwCmdParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V30
dwSceneNum
[in] The sequence number of scene, it can be got from capability set
dwCmd
[in] Command type: 1- scene mode switch (if to control the current scene, it will not switch) 2- initialize the scene (empty the scene configuration, if to control current scene, it will clear the screen of the scene) 3- forced to switch (Whether the current scene or not, forced to switch)
dwCmdParam
[in] Command parameter, reserved

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_MatrixGetCurrentSceneMode

This API is used to get the scene mode in use currently.

BOOL NET_DVR_MatrixGetCurrentSceneMode(
  LONG     lUserID,
  DWORD    *dwSceneNum
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V30
dwSceneNum
[out] The sequence number of scene

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_MatrixGetDeviceStatus_V41

Device Network SDK Programming Manual

NET_DVR_MatrixGetDeviceStatus

This API is used to get device status of multi-channel decoder (extended).

BOOL NET_DVR_MatrixGetDeviceStatus_V41(
  LONG                                 lUserID,
  LPNET_DVR_DECODER_WORK_STATUS_V41    lpDecoderCfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpDecoderCfg
[out] Device status parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_MatrixGetDeviceStatus


NET_DVR_GetDeviceStatus

This API is used to get the device status.

BOOL NET_DVR_GetDeviceStatus(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to the following configuraition command list
dwCount
[in] Number of run state
lpInBuffer
[in] The buffer of status getting condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The status content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

This API is used to get quantities of the device configuration with sending data. The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_MATRIX_GETWINSTATUS | Get device window status | dwCount *NET_DVR_WALLWIN_INFO | dwCount *NET_DVR_WALL_WIN_STATUS | 9009
NET_DVR_GET_DEC_CHAN_STATUS | Get decoding channel decoding status | dwCount * 4 bytes decoding channel | dwCount * NET_DVR_MATRIX_CHAN_STATUS | 9113
NET_DVR_GET_DISP_CHAN_STATUS | Get display channel status | dwCount * 4 bytes display channel | dwCount * NET_DVR_DISP_CHAN_STATUS_V41 | 9114

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_VCA_CTRLCFG | Get VCA control configuration | invalid | NET_VCA_CTRLCFG | 165
NET_DVR_GET_CALIBRATION | Get calibration configuration | valid | NET_DVR_CALIBRATION_CFG | 183

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Corresponding structure | Value
NET_DVR_SET_VCA_CTRLCFG | Set intelligent control parameters | invalid | NET_VCA_CTRLCFG | 164
NET_DVR_SET_CALIBRATION | Set calibration configuration | valid | NET_DVR_CALIBRATION_CFG | 182

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetVCADrawMode

This API is used to get DSP overlay configuration of intelligent info.

BOOL NET_DVR_GetVCADrawMode(
  LONG                    lUserID,
  LONG                    lChannel,
  LPNET_VCA_DRAW_MODE     lpDrawMode
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpDrawMode
[out] Overlay mode

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetVCADrawMode


NET_DVR_SetVCADrawMode

This API is use to set intelligent info overlay mode.

BOOL NET_DVR_SetVCADrawMode(
  LONG                    lUserID,
  LONG                    lChannel,
  LPNET_VCA_DRAW_MODE     lpDrawMode
);

Parameters

lUserID
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
lChannel
[in] Channel number
lpDrawMode
[in] Overlay mode parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetVCADrawMode


NET_VCA_RestartLib

This API is used to reboot intelligent library.

BOOL NET_VCA_RestartLib(
  LONG   lUserID,
  LONG   lChannel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This interface only uses with intelligent device.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDeviceAbility

This API is used to get capability set of device.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAbilityType
[in] Type of ability, details listed below:
Macro Definition | Value | Implication
VCA_DEV_ABILITY | 0x100 | Ability of intelligent device
VCA_CHAN_ABILITY | 0x110 | Ability of intelligent channel
pInBuf
[in] Pointer of the input buffer(according to description mode of ability parameter, defined by device, it supports XML text or structure format)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer of the output buffer(according to description mode of ability set, defined by device, it supports XML text or structure format)
dwOutLength
[in] Length of output buffer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices, too. The input and output parameter format when getting intelligent traffic camera ability are defined as below:

Macro Definition | Type of Ability | pInBuf | pOutBuf
DEVICE_ABILITY_INFO | Device normal capability type. | Get VCA channel analysisCapability Set | VCA channel analysis Capability XML Description(VcaChanAbility)
VCA_DEV_ABILITY | Get ability of intelligent device | None | NET_VCA_DEV_ABILITY
VCA_CHAN_ABILITY | Get ability of intelligent channel | NET_VCA_CHAN_IN_PARAM When the value of byVCAType is VCA_BEHAVIOR_BASE, VCA_BEHAVIOR_ADVANCE, or VCA_BEHAVIOR_FULL | NET_VCA_BEHAVIOR_ABILITY
VCA_CHAN_ABILITY | Get ability of intelligent channel | NET_VCA_CHAN_IN_PARAM When the value of byVCAType is VCA_ITS | NET_DVR_ITS_ABILITY

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_VerifyCalibration

This API is used to check calibration.

BOOL NET_DVR_VerifyCalibration(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize,
  LPVOID   lpOuterBuffer,
  DWORD    dwOuterBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Command type
Macro Definition | Macro Definition value | Implication
NET_DVR_PDC_VERIFY_CALIBRATION | 0x001 | Flow of people statistics calibration check
lChannel
[in] Channel number
lpInBuffer
[in] Input buffer pointer
dwInBufferSize
[in] Length of input buffer
lpOuterBuffer
[out] Pointer of output buffer
dwOuterBufferSize
[in] Length of buffer received data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Specific definition of plnBuf parameter of this interface are different under different commands. Similarly, the output of pOutBuf is the same. Specific commands corresponding I/O parameter structure as the table below

Command type | Command type implication | lpInBuffer | lpOuterBuffer
NET_DVR_PDC_VERIFY_CALIBRATION | Get flow of people statistics calibration check | NET_VCA_POINT | NET_VCA_RECT

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetBehaviorParamKey

This API is used to get inner key word.

BOOL NET_DVR_GetBehaviorParamKey(
  LONG    lUserID,
  LONG    lChannel,
  DWORD   dwParameterKey,
  int     *pValue
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwParameterKey
[in] Key word, details listed below:
enum tagPDC_PARAM_KEY{
  HUMAN_GENERATE_RATE = 50,
  DETECT_SENSITIVE    = 51
}PDC_PARAM_KEY
HUMAN_GENERATE_RATE
generating rate of goal
DETECT_SENSITIVE
sensitivity
pValue
[out] The parameter value

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetBehaviorParamKey NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetBehaviorParamKey

This API is used to set intern key word parameters.

BOOL NET_DVR_SetBehaviorParamKey(
  LONG    lUserID,
  LONG    lChannel,
  DWORD   dwParameterKey,
  int     nValue
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwParameterKey
[in] Parameter key word:
enum tagPDC_PARAM_KEY{
  HUMAN_GENERATE_RATE = 50,
  DETECT_SENSITIVE    = 51
}PDC_PARAM_KEY
HUMAN_GENERATE_RATE
Target generate speed
DETECT_SENSITIVE
Check sensitive
nValue
[in] Parameter value

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetBehaviorParamKey NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetVCAVersion

This API is used to get VCA version.

BOOL NET_DVR_GetVCAVersion(
  LONG                    lUserID,
  LONG                    lChannel,
  LPNET_DVR_VCA_VERSION   lpVersion
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpVersion
[out] VCA library version

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_RULECFG | Get behavior analysis parameters | valid | NET_VCA_RULECFG | 153

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer structure | Value
NET_DVR_SET_RULECFG | Set the behavior analysis parameters | valid | NET_VCA_RULECFG | 152

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Get device configuration information (with sending data).

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command
dwCount
[in] The number of configuration to get at a time, up to 64, 0 and 1 mean information of 1 camera, 2 means information of 2 cameras, and so forth
lpInBuffer
[in] Pointer to configuration condition buffer
dwInBufferSize
[in] Length of configuration condition buffer
lpStatusList
[out] Error information list, corresponding to cameras to search, e.g., lpStatusList[2] is for lpInBuffer[2], memory is allocated by user, each error information is 4 bytes (a 32-bit integer without symbol), parameter value: 0 or 1 mean success, other values means error codes.
lpOutBuffer
[out] Parameters returned by device, corresponding to cameras to search. If the lpStatusList information that corresponds to certain camera is over 1, it means its corresponding lpOutBuffer content is invalid.
dwOutBufferSize
[in] Total size of dwCount*return result

Return Values

Return TRUE on success, but it doesn't mean all configuration are successful. You can identify which one is successful by checking the corresponding value of lpStatusList[n]. Returned FALSE on failure. Please call NET_DVR_GetLastError to get error codes.

Remarks

This API is used to get camera configuration in batch with sending data. lpInBuffer assigns the dwCount*configuration information to get, lpOutBuffer saves obtained dwCount*configuration information.

See below for details:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_VCA_CTRLINFO_CFG | Get smart control parameters | dwCount*NET_DVR_VCA_CTRLINFO_COND | dwCount*NET_DVR_VCA_CTRLINFO_CFG | 5022
NET_DVR_GET_OBJECT_COLOR | Get object color, dwCount is 1 | dwCount*NET_DVR_OBJECT_COLOR_COND | dwCount*NET_DVR_OBJECT_COLOR | 5027
NET_DVR_GET_CHAN_WORKMODE | Get channel operating mode | dwCount*(DWROD) channel No. | dwCount*NET_DVR_CHANNEL_WORKMODE | 5031
NET_DVR_GET_SLAVE_CHANNEL | Get slave channel parameters | dwCount*(DWROD) channel No. | dwCount*NET_DVR_SLAVE_CHANNEL_CFG | 5033
NET_DVR_GET_RULECFG_V42 | Get behavior analysis parameters (support 16 rules extension) | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_VCA_RULECFG_V42 | 5049

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Set device configuration information (with sending data).

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command
dwCount
[in] The number of configuration to set at a time, up to 64, 0 and 1 mean information of 1 camera, 2 means information of 2 cameras, and so forth
lpInBuffer
[in] Pointer to configuration condition buffer, such as id
dwInBufferSize
[in] Length of configuration condition buffer
lpStatusList
[out] Error information list, corresponding to cameras to search, e.g., lpStatusList[2] is for lpInBuffer[2], memory is allocated by user, each error information is 4 bytes (a 32-bit integer without symbol), parameter value: 0 or 1 mean success, other values means error codes.
lpInParamBuffer
[in] Parameters to set for the device, corresponding to cameras to search. If the lpStatusList information that corresponds to certain camera is over 1, it means its corresponding lpOutBuffer setting failed, the setting is successful when the value is 0 or 1.
dwInParamBufferSize
[in] Set size of content buffer

Return Values

Return TRUE on success, but it doesn't mean all configuration are successful. You can identify which one is successful by checking the corresponding value of lpStatusList[n]. Returned FALSE on failure. Please call NET_DVR_GetLastError to get error codes.

Remarks

This API is used to get camera configuration in batch with sending data. lpInBuffer assigns the dwCount*configuration information to get, lpOutBuffer saves obtained dwCount*configuration information.

See below for details:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_SET_VCA_CTRLINFO_CFG | Set smart control parameters | dwCount*NET_DVR_VCA_CTRLINFO_COND | dwCount*NET_DVR_VCA_CTRLINFO_CFG | 5023
NET_DVR_SET_OBJECT_COLOR | Set object color property, dwCount is 1 | dwCount*NET_DVR_OBJECT_COLOR_COND | dwCount*NET_DVR_OBJECT_COLOR | 5028
NET_DVR_SET_CHAN_WORKMODE | Set channel operating mode | dwCount*(DWROD) channel No. | dwCount*NET_DVR_CHANNEL_WORKMODE | 5032
NET_DVR_SET_SLAVE_CHANNEL | Set slave channel parameters | dwCount*(DWROD) channel No. | dwCount*NET_DVR_SLAVE_CHANNEL_CFG | 5034
NET_DVR_SET_RULECFG_V42 | Set behavior analysis parameters (support 16 rules extension) | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_VCA_RULECFG_V42 | 5050

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

Different structures and command numbers according various getting ability are listed below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_PU_STREAMCFG | Get front stream capturing parameters of iVMS | valid | NET_DVR_PU_STREAM_CFG | 187

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration command, please refer to "configuration command"
lChannel
[in] Channel number, if the configuration does not requires a channel number, please set it as 0xFFFFFFFF
lpInBuffer
[in] Pointer to the input data buffer
dwInBufferSize
[in] Input buffer size (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | Value
NET_DVR_SET_PU_STREAMCFG | Set iVMS front-end stream parameters | NET_DVR_PU_STREAM_CFG | 186

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_PDC_RULECFG | Get rule configuration of pedestrian flow | valid | NET_DVR_PDC_RULE_CFG | 185

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_SET_PDC_RULECFG | Set the parameters of the flow rule of people | valid | NET_DVR_PDC_RULE_CFG | 184

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, see "Remarks" for details
lpConfigParam
[in&out] Configuration input and output parameters, see "Remarks" for details

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

When getting the configuration parameters, the parameter IpInBuffer in lpConfigParamStructure is invalid, and should be set as null. For different configuration functions (dwCommand), parameters lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. See details in the table in below.

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_POST_SETUP_CALIB | Calibration verification | NET_DVR_SETUP_CALIB_COND | NET_DVR_SETUP_CALIB_RESULT | 3912

See Also

NET_DVR_Login_V40


NET_DVR_FindPDCInfo

This API is used to search information of pedestrian flow .

LONG NET_DVR_FindPDCInfo(
  LONG               lUserID,
  LONG               lChannel,
  LPNET_DVR_TIME     lpStartTime,
  LPNET_DVR_TIME     lpStopTime
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpStartTime
[in] Start-time of statistics
lpStopTime
[in] Start-time of statistics

Return Values

Return -1 if it is failed, and other values could be used as parameter of NET_DVR_FindNextPDCInfo. Please call NET_DVR_GetLastError to get the error code.

Remarks

We can call NET_DVR_FindNextPDCInfo to get statistics of pedestrian flow after calling it successfully.

See Also

NET_DVR_FindNextPDCInfo NET_DVR_FindPDCClose


NET_DVR_FindNextPDCInfo

This API is used to get information of pedestrian flow one by one.

LONG NET_DVR_FindNextPDCInfo(
  LONG                      lFindHandle,
  LPNET_DVR_PDC_QUERY       lpFindData
);

Parameters

lFindHandle
[in] Handle of pedestrian-flow statistics searching, the return value of NET_DVR_FindPDCInfo
lpFindData
[out] Pointer of saving pedestrian-flow statistics

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get pedestrian flow statistics successfully
NET_DVR_FILE_NOFIND | 1001 | No info found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more info found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when searching information

Remarks

Before calling this function, please call NET_DVR_FindPDCInfo to get current searching handle firstly.

See Also

NET_DVR_FindPDCInfo


NET_DVR_FindPDCClose

This API is used to stop searching pedestrian flow information.

BOOL NET_DVR_FindPDCClose(
  LONG   lFindHandle
);

Parameters

lFindHandle
[in] Handle of pedestrian flow statistics searching, the return value ofNET_DVR_FindPDCInfo

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_FindPDCInfo


NET_DVR_ResetCounter

This API is used to reset pedestrian counting.

BOOL NET_DVR_ResetCounter(
  LONG    lUserID,
  LONG    lChannel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_IVMS_STREAMCFG | Get parameter of fetching stream (iDS-52xx) | valid | NET_IVMS_STREAMCFG | 163
NET_DVR_GET_IVMS_BEHAVIORCFG | Get behavior analysis rule (iDS-52xx) | valid | NET_IVMS_BEHAVIORCFG | 177
NET_DVR_GET_IVMS_MASK_REGION | Get mask region parameter (iDS-52xx) | valid | NET_IVMS_MASK_REGION_LIST | 173
NET_DVR_GET_IVMS_ENTER_REGION | Get configuration of ATM enter region (iDS-52xx) | valid | NET_IVMS_ENTER_REGION | 175

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration command, please refer to "configuration command"
lChannel
[in] Channel number, if the configuration does not requires a channel number, please set it as 0xFFFFFFFF
lpInBuffer
[in] Pointer to the input data buffer
dwInBufferSize
[in] Input buffer size (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Structure | Value
NET_DVR_SET_IVMS_STREAMCFG | Set front-end flow parameters of the intelligent analyzer | valid | NET_IVMS_STREAMCFG | 162
NET_DVR_SET_IVMS_BEHAVIORCFG | Set motion rule parameters of the intelligent analyzer | valid | NET_IVMS_BEHAVIORCFG | 176
NET_DVR_SET_IVMS_MASK_REGION | Set blocked area parameters of the intelligent analyzer | valid | NET_IVMS_MASK_REGION_LIST | 172
NET_DVR_SET_IVMS_ENTER_REGION | Set ATM access region parameters of the intelligent analyzer | valid | NET_IVMS_ENTER_REGION | 174

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

Different structures and command numbers according various getting ability are listed below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_TRACK_CFG | Get configurarion parameters of dual cameras | valid | NET_DVR_TRACK_CFG | 161

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

Different obtain function corresponds to different structure and command number:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | Value
NET_DVR_SET_TRACK_CFG | Set dual camera configuration paramters | NET_DVR_TRACK_CFG | 160

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetTrackMode

This API is used to get tracking mode parameter of double cameras.

BOOL NET_DVR_GetTrackMode(
  LONG                   lUserID,
  LONG                   lChannel,
  LPNET_DVR_TRACK_MODE   lpTrackMode
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpTrackMode
[out] Parameter of tracking mode

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_SetTrackMode


NET_DVR_SetTrackMode

This API is used to set tracking mode parameter.

BOOL NET_DVR_SetTrackMode(
  LONG                   lUserID,
  LONG                   lChannel,
  LPNET_DVR_TRACK_MODE   lpTrackMode
);

Parameters

lUserID
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
lChannel
[in] Channel number
lpTrackMode
[in] Dual cameras tracking mode parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_GetTrackMode


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpOutBuffer
[out]Buffer pointer of saving input data
dwOutBufferSize
[in] Size of the buffer, it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_TRACK_CFG | Get intelligent speed dome configuration parameters | valid | NET_DVR_TRACK_CFG | 161
NET_DVR_GET_POSITION_TRACK | Get scene tracking configuration parameters | valid | NET_DVR_POSITION_TRACK_CFG | 181
NET_DVR_GET_TRACK_PARAMCFG | Get local menu rules configuration parameters | valid | NET_DVR_TRACK_PARAMCFG | 197
NET_DVR_GET_DOME_MOVEMENT_PARAM | Get movement parameters of speed dome | invalid | NET_DVR_DOME_MOVEMENT_PARAM | 198

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | Value
NET_DVR_SET_TRACK_CFG | Configuration parameters to set intelligent dome | NET_DVR_TRACK_CFG | 160
NET_DVR_SET_POSITION_TRACK | Configuration parameters to set scene tracking | NET_DVR_POSITION_TRACK_CFG | 180
NET_DVR_SET_TRACK_PARAMCFG | Configuration parameters to set local menu rules | NET_DVR_TRACK_PARAMCFG | 196

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetPositionRule

This API is used to get parameters of scene position rule information.

BOOL NET_DVR_GetPositionRule(
  LONG                          lUserID,
  LONG                          lChannel,
  LONG                          lPositionIndex,
  LPNET_DVR_POSITION_RULE_CFG   lpPositionRule
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPositionIndex
[in] Scene index
lpPositionRule
[out] Conduct rule of scene position

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_SetPositionRule


NET_DVR_SetPositionRule

This API is used to set parameters of scene location rule information.

BOOL NET_DVR_SetPositionRule(
  LONG                          lUserID,
  LONG                          lChannel,
  LONG                          lPositionIndex,
  LPNET_DVR_POSITION_RULE_CFG   lpPositionRule
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPositionIndex
[in] Scene index
lpPositionRule
[in] Conduct of scene location rules

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_GetPositionRule


NET_DVR_GetPositionLimitAngle

This API is used to get parameters of scene position limit operation.

BOOL NET_DVR_GetPositionLimitAngle(
  LONG                    lUserID,
  LONG                    lChannel,
  LONG                    lPositionIndex,
  LPNET_DVR_LIMIT_ANGLE   lpLimitAngle
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPositionIndex
[in] Scene index
lpLimitAngle
[out] Position limit parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_SetPositionLimitAngle


NET_DVR_SetPositionLimitAngle

This API is used to set parameters of scene limit operation.

BOOL NET_DVR_SetPositionLimitAngle(
  LONG                    lUserID,
  LONG                    lChannel,
  LONG                    lPositionIndex,
  LPNET_DVR_LIMIT_ANGLE   lpLimitAngle
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPositionIndex
[in] Scene index
lpLimitAngle
[in] Limit parameters

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_GetPositionLimitAngle


NET_DVR_GetPtzPosition

This API is used to get local scene PTZ location parameters.

BOOL NET_DVR_GetPtzPosition(
  LONG                     lUserID,
  LONG                     lChannel,
  LONG                     lPositionID,
  LPNET_DVR_PTZ_POSITION   lpPtzPosition
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPositionID
[in] Scene position ID
lpPtzPosition
[out] PTZ position information

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_SetPtzPosition


NET_DVR_SetPtzPosition

This API is used to set local scene PTZ location parameters.

BOOL NET_DVR_SetPtzPosition(
  LONG                     lUserID,
  LONG                     lChannel,
  LONG                     lPositionID,
  LPNET_DVR_PTZ_POSITION   lpPtzPosition
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPositionID
[in] Scene position ID
lpPtzPosition
[in] PTZ position information

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_GetPtzPosition


NET_DVR_SetPatrolTrack

This API is used to set scene cruise track information parameters.

BOOL NET_DVR_SetPatrolTrack(
  LONG                        lUserID,
  LONG                        lChannel,
  LONG                        lPatrolIndex,
  LPNET_DVR_PATROL_TRACKCFG   lpPatrolTrack
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPatrolIndex
[in] Cruise index
lpPatrolTrack
[in] Scene cruise track information

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_GetPatrolTrack


NET_DVR_GetPatrolTrack

This API is used to get scene cruise track information parameters.

BOOL NET_DVR_GetPatrolTrack(
  LONG                        lUserID,
  LONG                        lChannel,
  LONG                        lPatrolIndex,
  LPNET_DVR_PATROL_TRACKCFG   lpPatrolTrack
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPatrolIndex
[in] Cruise index
lpPatrolTrack
[out] Scene cruise track information

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_SetPatrolTrack


NET_DVR_GetPatrolLimitAngle

This API is used to get scene cruise track limit parameters.

BOOL NET_DVR_GetPatrolLimitAngle(
  LONG                    lUserID,
  LONG                    lChannel,
  LONG                    lPatrolIndex,
  LPNET_DVR_LIMIT_ANGLE   lpLimitAngle
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPatrolIndex
[in]Cruise index
lpLimitAngle
[out] Position limit information

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_SetPatrolLimitAngle


NET_DVR_SetPatrolLimitAngle

This API is used to set scene cruise track limit parameters.

BOOL NET_DVR_SetPatrolLimitAngle(
  LONG                    lUserID,
  LONG                    lChannel,
  LONG                    lPatrolIndex,
  LPNET_DVR_LIMIT_ANGLE   lpLimitAngle
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lPatrolIndex
[in] Cruise index
lpLimitAngle
[in] Limit message

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_GetPatrolLimitAngle


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_REFERENCE_REGION | Get reference region | valid | NET_DVR_REGION_LIST | 400
NET_DVR_GET_AID_RULECFG | Get traffic event rule configuration | valid | NET_DVR_AID_RULECFG | 405
NET_DVR_GET_TPS_RULECFG | Get traffic counting rule configuration | valid | NET_DVR_TPS_RULECFG | 407
NET_DVR_GET_LANECFG | Get lane rule configuration | valid | NET_DVR_LANE_CFG | 409

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer structure | Value
NET_DVR_SET_REFERENCE_REGION | Set reference region | valid | NET_DVR_REGION_LIST | 401
NET_DVR_SET_AID_RULECFG | Set traffic event rule configuration | valid | NET_DVR_AID_RULECFG | 404
NET_DVR_SET_TPS_RULECFG | Set traffic counting rule configuration | valid | NET_DVR_TPS_RULECFG | 406
NET_DVR_SET_LANECFG | Set lane rule configuration | valid | NET_DVR_LANE_CFG | 408

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetSceneMode

This API is used to get scene mode.

BOOL NET_DVR_GetSceneMode(
  LONG     lUserID
  LONG     lChannel
  DWORD    *pSceneMode
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
pSceneMode
[out] Scene mode
enum tagTRAFFIC_SCENE_MODE{
  FREEWAY  = 0,
  TUNNEL,
  BRIDGE
}TRAFFIC_SCENE_MODE
FREEWAY
High-speed outdoor scene
TUNNEL
High-speed tunnel scene
BRIDGE
High-speed bridge scene

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login_V30 NET_DVR_Login
NET_DVR_SetSceneMode


NET_DVR_SetSceneMode

This API is used to set scene mode.

BOOL NET_DVR_SetSceneMode(
  LONG     lUserID
  LONG     lChannel
  DWORD    dwSceneMode
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwCaptureMode
[in] Scene mode
enum tagTRAFFIC_SCENE_MODE{
  FREEWAY  = 0,
  TUNNEL,
  BRIDGE
}TRAFFIC_SCENE_MODE
FREEWAY
High-speed outdoor scene
TUNNEL
High-speed tunnel scene
BRIDGE
High-speed bridge scene

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login_V30 NET_DVR_Login
NET_DVR_GetSceneMode


NET_DVR_GetDVRConfig

Get device configuration information

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, see "Remarks" for details
lChannel
[in] Channel No., set as 0xFFFFFFFF if the parameter is null, see "Remarks" for details
lpOutBuffer
[out] Pointer to buffer of receiving data
dwOutBufferSize
[in] Buffer length of receiving data, in byte, cannot be 0
lpBytesReturned
[out] Pointer to length of actually received data, cannot be null

Remarks

See below for details:

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_FACESNAPCFG | Get face capture parameters | Channel No. | NET_VCA_FACESNAPCFG | 5001
NET_DVR_GET_DEVACCESS_CFG | Get access device parameters | Channel No. | NET_DVR_DEV_ACCESS_CFG | 5005
NET_DVR_GET_SAVE_PATH_CFG | Get storage information parameters | Null | NET_VCA_SAVE_PATH_CFG | 5007

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

See below for error codes

Type | Value | Information
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Creating SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, see "Remarks" for details
lChannel
[in] Channel No., set as 0xFFFFFFFF if the parameter is null, see "Remarks" for details
lpInBuffer
[in] Pointer to buffer of input data
dwInBufferSize
[in] Buffer length of input data, in byte

Remarks

See below for details:

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_FACESNAPCFG | Set face capture parameters | Channel No. | NET_VCA_FACESNAPCFG | 5002
NET_DVR_SET_DEVACCESS_CFG | Set access device parameters | Channel No. | NET_DVR_DEV_ACCESS_CFG | 5006
NET_DVR_SET_SAVE_PATH_CFG | Set storage information parameters | Null | NET_VCA_SAVE_PATH_CFG | 5008

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

See below for error codes

Type | Value | Information
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Creating SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

Get device configuration information

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, see "Remarks" for details
lChannel
[in] Channel No., if the parameter is invalid, set it to 0xFFFFFFFF, see "Remarks" for details
lpOutBuffer
[out] Pointer to buffer of receiving data
dwOutBufferSize
[in] Length of buffer of receiving data (in byte), and cannot be 0
lpBytesReturned
[out] Pointer to length of actually received data, and cannot be null

Remarks

Different functions correspond to different structures and commands, see the table below for details:

dwCommand Macro Definition | dwCommand Description | Channel No. | lpOutBuffer Structure | Value
NET_DVR_GET_RULECFG | Get behavior analysis parameters | Channel No. | NET_VCA_RULECFG | 153
NET_DVR_GET_FACEDETECT_RULECFG | Get face detection rule | Channel No. | NET_DVR_FACEDETECT_RULECFG | 421

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

See below for possible errors

Error Type | Error Value | Error Information
NET_DVR_NOERROR | 0 | No error
NET_DVR_NOINIT | 3 | SDK is not initialized
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device
NET_DVR_ORDER_ERROR | 12 | API calling order error
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is null
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | SDK resource allocation error
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough
NET_DVR_CREATESOCKET_ERROR | 44 | Creating SOCKET error
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable
NET_DVR_PROGRAM_EXCEPTION | 76 | Program exception

See Also

NET_DVR_SetDVRConfig


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, see "Remarks" for details
lChannel
[in] Channel No., if the parameter is invalid, set it to 0xFFFFFFFF, see "Remarks" for details
lpInBuffer
[in] Pointer to buffer of input data
dwInBufferSize
[in] Length of buffer of input data (in byte)

Remarks

Different functions correspond to different structures and commands, see the table below for details:

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_RULECFG | Get behavior analysis parameters | Channel No. | NET_VCA_RULECFG | 152
NET_DVR_SET_FACEDETECT_RULECFG | Get face detection rule | Channel No. | NET_DVR_FACEDETECT_RULECFG | 420
  • To get face detection result uploaded by device, set alarm callback (NET_DVR_SetDVRMessageCallBack_V30) and alarm arming (NET_DVR_SetupAlarmChan_V30), and the corresponding message type in set callback is COMM_ALARM_FACE.

    • Return Values

    Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

    See Also

    NET_DVR_GetDVRConfig


NET_DVR_StartRemoteConfig

Enable remote control configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] Return value of NET_DVR_Login and NET_DVR_Login_V30
dwCommand
[in] Configuration command, please refer to "Remarks" for details
lpInBuffer
[in]Buffer that saves the input parameters, the content is related to the control command, details listed below
dwInBufferLen
[in] Size of the buffer (unit: byte)
cbStateCallback
[in] Status callback function
pUserData
[in] User data

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below：

dwCommand Macro Definition | dwCommand Value | Control Function | lpInBuffer | cbStateCallback
NET_DVR_FISHEYE_CFG | 3244 | Remote configuration of fish eye | NULL | Return status or data info

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Type of data callback
lpBuffer
[out] buffer, the content is related to dwType,details listed below
dwType | Value | Definition | lpBuffer
NET_SDK_CALLBACK_TYPE_STATUS | 0 | Status Value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //success NET_SDK_CALLBACK_STATUS_PROCESSING, //processing NET_SDK_CALLBACK_STATUS_FAILED //failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_DATA | 2 | Data | NET_DVR_CALLBACK_TYPE_DATA
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

-1 return on failure, other value is the handle of NET_DVR_StopRemoteConfig. Please call NET_DVR_GetLastErrorto get the error code.

Remarks

Call the API to enable remote control, then you need to call NET_DVR_SendRemoteConfig to send the cooresponding command.

See Also

NET_DVR_SendRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StopRemoteConfig

Disable remote control and release resource.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle,return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success,and FALSE on failure. Please callNET_DVR_GetLastErrorto get the error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_SendRemoteConfig

Send remote data.

BOOL NET_DVR_SendRemoteConfig(
  LONG     lHandle,
  DWORD    dwDataType,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lHandle
[in] Habdle, return value of NET_DVR_StartRemoteConfig
dwDataType
[in] Data type, see details in "Remarks"
pSendBuf
[in] Save the buffer of sending data, related to dwDataType, see details in "Remarks"
dwBufSize
[in] Size of send data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

Remarks

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below:

dwDataType Macro Definition | dwCommand Value | Control Function | lpOutBuff Structure
DRAG_PTZ | 51 | Drag PTZ | NET_DVR_DRAG_POS_PARAM

Please get the handle of the NET_DVR_StartRemoteConfig before call the API.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_GetDVRConfig

Get configuration info of devices

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] Return value of NET_DVR_Login and NET_DVR_Login_V30
dwCommand
[in] Configuration command, please refer to "Remarks" for details
lChannel
[in]Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF,please refer to "Remarks" for details
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below.

  • Channel number includes analog channel(byChanNum) ,start analog number(byStartChan),maximum IP channel number(byIPChanNum+ byHighDChanNum*256) and digital channel number(byStartDChan) that you can obtain from NET_DVR_DEVICEINFO_V30 when login the device through NET_DVR_Login_V30.
    • dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_PREVIEW_DISPLAYCFG | Get live view parameters of fish eye | Channel number | NET_DVR_PREVIEW_DISPLAYCFG | 3211
NET_DVR_GET_PRESET_NUM | Get preset number | Channel number | NET_DVR_PRESET_INFO | 3226
NET_DVR_GET_PTZCRUISE_NUM | Get PTZ cruise path number | Channel number | NET_DVR_PTZCRUISE_INFO | 3227
NET_DVR_GET_MOTION_TRACK_CFG | Get motion track parameters | Channel number | NET_DVR_MOTION_TRACK_CFG | 3228
NET_DVR_GET_PTZ_POINT | Get PTZ point | Channel number | NET_VCA_POINT | 3245
NET_DVR_GET_TRACK_DEV_PARAM | Get tracking device parameters | Channel No. | NET_DVR_TRACK_DEV_PARAM | 3261
NET_DVR_GET_PTZ_TRACK_PARAM | Get PTZ tracking parameters | Channel No. | NET_DVR_PTZ_TRACK_PARAM | 3263

    When we get PTZ position using NET_DVR_GET_PTZ_POINT,all the value of position has been normalized.The position of the coordinate point relative to the left upper corner of the live view window which subjects to the size of the current live view window.

    Return Values

    Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

    The possible error codes returned from the API are listed as below:

    Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.td>
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network. td>
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

    See Also

    NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Batch to get device configuration info(with send data )

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
dwCount
[in] All the configuration numbers that need get, 0,1-- 1, 2-2, the max number is 64.
lpInBuffer
[in] The buffer to save the output parameters
dwInBufferSize
[in] The size of the buffer
lpStatusList
[out] Error status list, cooresponding to the cameras. For example,lpStatusList[2]--lpInBuffer[2], allocates memory by users and each error info has 4 bytes(A 32-bit unsigned integer value), value: 0-success, more than 0-- failed
lpOutBuffer
[out] The return value of parameters, cooresponding to the cameras. If lpStatusList value of one camera more than 0, it means that the content is valid of the cooresponding lpOutBuffer.
dwOutBufferSize
[in] Total size of dwCount

Return Values

Returns TRUE on success, but it doesn't means all of the configuration are success. If you want to see the detailed, you can check the value of lpStatusList[n].Return FALSE on failure.Please call NET_DVR_GetLastErrorto get the error code.

Remarks

The API is the general API with send data and can batch get configuration info of cameras.lpInBuffer specify parameter(number:dwCount) while lpOutBuffer save the parameters(number: dwCount).

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_PRESETCFG | Get preset parameters of fish eye | dwCountNET_DVR_PRESET_COND | dwCountNET_DVR_PRESETCFG | 3224
NET_DVR_GET_PTZCRUISECFG | Get PTZ cruise path parameters of fish eye | dwCountNET_DVR_PTZCRUISE_COND | dwCountNET_DVR_PTZCRUISECFG | 3225


NET_DVR_SetDVRConfig

Set configuration info of devices

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login and NET_DVR_Login_V30
dwCommand
[in] Configuration command, please refer to "Remarks" for details
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF,please refer to "Remarks" for details
lpInBuffer
[in] The buffer to save the input parameters
dwInBufferSize
[in] The size of the buffer(unit: byte )

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below.

  • Channel number includes analog channel(byChanNum) ,start analog number(byStartChan),maximum IP channel number(byIPChanNum+ byHighDChanNum*256) and digital channel number(byStartDChan) that you can obtain from NET_DVR_DEVICEINFO_V30when login the device through NET_DVR_Login_V30）
    • dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_PREVIEW_DISPLAYCFG | Set live view parameters of fish eye | Channel number | NET_DVR_PREVIEW_DISPLAYCFG | 3212
NET_DVR_SET_MOTION_TRACK_CFG | Set motion track parameters | Channel number | NET_DVR_MOTION_TRACK_CFG | 3229
NET_DVR_SET_PTZ_POINT | Get preset position | Channel number | NET_VCA_POINT | 3246
NET_DVR_SET_TRACK_DEV_PARAM | Set tracking device parameters | Channel No. | NET_DVR_TRACK_DEV_PARAM | 3262
NET_DVR_SET_PTZ_TRACK_PARAM | Set PTZ tracking parameters | Channel No. | NET_DVR_PTZ_TRACK_PARAM | 3264

    When we get PTZ position using NET_DVR_GET_PTZ_POINT,all the value of position has been normalized.The position of the coordinate point relative to the left upper corner of the live view window which subjects to the size of the current live view window.

    Return Values

    Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError

    The possible error codes returned from the API are listed as below:

    Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable./td>
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

    See Also

    NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_RemoteControl

Remote Control

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Command, refer to the list below
lpInBuffer
[in] Buffer that saves the input parameters, the content is related to the control command, details listed below
dwInBufferSize
[in] Size of buffer

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below:
dwCommand Macro Definition | Value | Control Function | lpInBuffer Structure
NET_DVR_REMOTECONTROL_PRESETPOINT | 3214 | Preset of remote control | NET_DVR_PRESET_POINT_PARAM
NET_DVR_REMOTECONTROL_CRUISE | 3215 | Cruise of remote control | NET_DVR_PTZ_CRUISE_PARAM
NET_DVR_REMOTECONTROL_DEV_PARAM | 3247 | Set login parameter of client | NET_DVR_LOGIN_DEVICE_PARAM

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

See Also

NET_DVR_Login_V30


NET_DVR_GetDeviceStatus

Get device status

BOOL NET_DVR_GetDeviceStatus(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login and NET_DVR_Login_V30
dwCommand
[in] Device configuration commands
dwCount
[in] Number of running status
lpInBuffer
[in] The buffer of status getting condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The status content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Remarks

This API is used to get quantities of the device configuration with sending data. The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_FISHEYE_STREAM_STATUS | Get stream type of fisheye | （DWORD）Channel number | dwCountNET_DVR_FISHEYE_STREAM_STATUS | 3248

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code


NET_DVR_GetSTDAbility

Get device capability set

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details see "Remarks"
lpAbilityParam
[in&out] Device capability parameter (including input and output parameter)

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

Getting capability set through this interface should be supported by device, if the device does not support getting capability set through ISAPI protocol, get the capability set through NET_DVR_GetDeviceAbility.

For different capability set type (dwAbilityType), lpCondBuffer, lpOutBuffer of lpAbilityParam correspond to different content, as shown below:

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_SYSTEM_CAPABILITIES | 8100 | Device system capability set | NULL | DeviceCap
NET_DVR_GET_EAGLEEYE_CAPABILITIES | 8101 | Panoramic camera capability set | NULL | EagleEyeCap
NET_DVR_GET_PTZ_CAPABILITIES | 3619 | PTZ control capability set | 4-byte (DWORD) channel No. | PTZChanelCap

See Also

NET_DVR_Login_V40


NET_DVR_CapturePicture_V50

Device capture interface, supporting capturing auto-calibrated reference scene picture from panoramic camera.

BOOL NET_DVR_CapturePicture_V50(
  LONG                    lUserID,
  LONG                    lChannel,
  LPNET_DVR_PICPARAM_V50    lpPicParam,
  char                    *sPicBuffer,
  DWORD                   dwPicSize,
  LPDWORD                 lpSizeReturned
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lChannel
[in] Channel No.
lpPicParam
[in] Capture parameters, including resolution, picture type and capture type
sPicBuffer
[in] Buffer of saving picture data (assign enough space for buffer before calling the interface)
dwPicSize
[in] Buffer size
lpSizeReturned
[out] Actual size of returned picture data

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

  • The interface is compatible with NET_DVR_CaptureJPEGPicture_NEW, 0- device general capture in byCapturePicType of capture parameters, which is NET_DVR_CaptureJPEGPicture_NEW capture function.
  • Whether the device supports capture function or the supported parameter function, can be determined through device JPEG capture capability set (JpegCaptureAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_JPEG_CAP_ABILITY, node: <CapturePicture>.

See Also

NET_DVR_Login_V40


NET_DVR_UploadFile_V40

Upload file

LONG NET_DVR_UploadFile_V40(
  LONG      lUserID,
  DWORD     dwUploadType,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  char      *sFileName,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwUploadType
[in] Upload file type, for details see below
lpInBuffer
[in] Input parameters. For different input parameters of dwUploadType see below
dwInBufferSize
[in] Size of input buffer
sFileName
[in] Upload file path (including file name)
lpOutBuffer
[out] Output parameter. For different output parameters of dwUploadType see below
dwInBufferSize
[in] Size of output buffer

Return Values

-1 means failure, other values serve as the parameters of NET_DVR_UploadSend,NET_DVR_UploadClose. For failures, call NET_DVR_GetLastError to get error code.

Remarks

Different upload file types correspond to different command No. (dwUploadType), and the input parameters correspond to different structures, as shown below:

dwUploadType Macro Definition | Value | dwUploadType Description | lpInBuffer Structure | lpOutBuffer Structure
UPLOAD_PANORAMIC_STITCH | 27 | Upload panoramic view configuration file | NET_DVR_PANORAMIC_STITCH_UPLOAD | NULL
  • Whether the device supports uploading panoramic view configuration file capability, can be determined through device hardware capability set (BasicCapability), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY, node: <isSupportPanoramicStitch>.

See Also

NET_DVR_GetUploadState NET_DVR_UploadClose


NET_DVR_GetUploadState

Get file upload progress and status

LONG NET_DVR_GetUploadState(
  LONG       lUploadHandle,
  LPDWORD    pProgress
);

Parameters

lUploadHandle
[in] File upload handle, return value of NET_DVR_UploadFile_V40 or NET_DVR_UploadFile
pProgress
[out] Return progress value

Return Values

-1 means function calling failed, other values are upload status: 1- upload succeeded; 2- upload in progress; 3- upload failed; 4- network disconnected, status unknown; 6- HDD error; 7- no disk for inquest file; 8- not enough space; 9- not enough device resource; 10- number of files cannot exceed 40; 19- incorrect file format; 20- incorrect file content; 21- upload audio sampling rate not supported. For failures, call NET_DVR_GetLastError to get error code.

See Also

NET_DVR_UploadFile_V40


NET_DVR_UploadClose

Stop file upload

BOOL NET_DVR_UploadClose(
  LONG    lUploadHandle
);

Parameters

lUploadHandle
[in] File upload handle, return value of NET_DVR_UploadFile_V40

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

See Also

NET_DVR_UploadFile_V40


NET_DVR_GetSTDAbility

Get device capability set

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details see "Remarks"
lpAbilityParam
[in&out] Device capability set parameter (including input and output parameter)

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

If the device does not support getting capacity via ISAPI protocol, please call NET_DVR_GetDeviceAbilityto get the capability set.

For different capability set type(dwAbilityType), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, as shown below:

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_EAGLEFOCUS_CALCFG_CAPABILITIES | 3646 | Eagle focus calibration configuration capability set | 4-byte (DWORD) channel No. | EagleFocusing
NET_DVR_GET_EAGLEFOCUSING_CFG_CAPABILITIES | 3649 | Eagle focus configuration capability set | 4-byte (DWORD) channel No. | Control

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

When getting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_EAGLEFOCUSING_CALCFG | Get eagle focus calibration configuration | 4-byte (DWORD) channel No. | NET_DVR_EAGLEFOCUSING_CALCFG | 3647
NET_DVR_GET_EAGLEFOCUSING_CTRL | Get eagle focus configuration | 4-byte (DWORD) channel No. | NET_DVR_EAGLEFOCUSING_CTRL | 3650

See Also

NET_DVR_SetSTDConfig NET_DVR_Login_V40


NET_DVR_SetSTDConfig

Set device configuration information

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

When setting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_SET_EAGLEFOCUSING_CALCFG | Set eagle focus calibration configuration | 4-byte (DWORD) channel No. | NET_DVR_EAGLEFOCUSING_CALCFG | 3648
NET_DVR_SET_EAGLEFOCUSING_CTRL | Set eagle focus configuration | 4-byte (DWORD) channel No. | NET_DVR_EAGLEFOCUSING_CTRL | 3651

See Also

NET_DVR_GetSTDConfig NET_DVR_Login_V40


NET_DVR_GetSTDAbility

Get device capability set

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details see "Remarks"
lpAbilityParam
[in&out] Device capability set parameters (including input and output parameters)

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

Getting capability set through this interface should be supported by device, if the device does not support getting capability set through ISAPI protocol, get the capability set through NET_DVR_GetDeviceAbility.

For different capability set type (dwAbilityType), lpCondBuffer, lpOutBuffer of lpAbilityParam correspond to different content, as shown below:

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_SENSOR_ADJUSTMENT_CAPABILITIES | 3759 | Sensor parameter configuration capability set | NULL | SensorCap

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

When getting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_SENSOR_ADJUSTMENT_INFO | Get sensor parameters | 4-byte (DWORD) sensor No. | NET_DVR_SENSOR_ADJUSTMENT_INFO | 3763

See Also

NET_DVR_GetLastError


NET_DVR_STDControl

Remote control

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details see "Remarks"
lpControlParam
[in&out] Remote control input and output parameters, different control functions correspond to different input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

For different configuration function (dwCommand), lpCondBuffer of lpControlParam corresponds to different content, as shown below:

dwCommand Macro Definition | Value | Description | lpCondBuffer Structure
NET_DVR_SET_SENSOR_ADJUSTMENT | 3758 | Sensor parameter control | NET_DVR_SENSOR_ADJUSTMENT
NET_DVR_SENSOR_RESET_CTRL | 3764 | Sensor reset | NET_DVR_SENSOR_RESET
  • The tracking zoom ratio of the slave camera can be set only after the camera finishes calibration (accurate calibration should be finished under 1x zoom ratio), the process is as below: 1) camera calibration; 2) PTZ operation to adjust IPD zoom ratio; 3) set linkage tracking zoom ratio (configuration information to IP camera, the camera calculates the zoom ratio of IPD linkage tracking according to tracking zoom ratio, and realizes IPD linkage tracking through hSDK protocol).
  • Linkage tracking: when setting the zoom ratio of linkage tracking, the target occupies 30% of the image; when the target moves, it still remains 30% of the image.

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDAbility

Get device capability set.

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details see "Remarks"
lpAbilityParam
[in&out] Device capability set parameter (including input and output parameter)

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

If the device does not support getting capacity via ISAPI protocol, please call NET_DVR_GetDeviceAbilityto get the capability set.

For different capability set type(dwAbilityType), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, as shown below:

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_MASTERSLAVETRACKING_CAPABILITIES | 3608 | Master-slave tracking capability set | NULL | MasterSlaveTrackingCap
NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES | 3603 | Slave camera calibration configuration capability set | 4-byte (DWORD) channel No. | SlaveCameraCalibrating
NET_DVR_GET_TRACKING_CAPABILITIES | 3613 | Slave camera calibration configuration capability set | 4-byte (DWORD) channel No. | Tracking

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

When getting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_SLAVECAMERA_CALIB_V51 | Get slave camera calibration configuration | NET_DVR_SLAVECAMERA_COND | NET_DVR_SLAVECAMERA_CALIB_V51 | 8102
NET_DVR_GET_TRACKINGRATIO_MANUAL | Get slave camera manual tracking zoom rate | NET_DVR_SLAVECAMERA_COND | NET_DVR_MANUAL_TRACKRATIO | 3617

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Set device configuration information

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

When setting the configuration parameters, IpOutBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpInBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_SLAVECAMERA_CALIB_V51 | Set slave camera calibration configuration | NET_DVR_SLAVECAMERA_COND | NET_DVR_SLAVECAMERA_CALIB_V51 | 8103
NET_DVR_SET_TRACKINGRATIO_MANUAL | Set slave camera manual tracking zoom ratio | NET_DVR_SLAVECAMERA_COND | NET_DVR_MANUAL_TRACKRATIO | 3616

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_STDControl

Remote control

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details see "Remarks"
lpControlParam
[in&out] Remote control input and output parameters, different control functions correspond to different input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

For different configuration function (dwCommand), lpCondBuffer of lpControlParam corresponds to different content, as shown below:

dwCommand Macro Definition | Value | Description | lpCondBuffer Structure
NET_DVR_SET_TRACK_INITPOSTION | 3618 | Set slave camera initial tracking position | NET_DVR_TRACK_INITPOSTION
NET_DVR_SET_GOTOSCENE | 8105 | Set master camera turn to specified scene ID | NET_DVR_GOTOSCENE_COND

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDAbility

Get device capability set

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details see "Remarks"
lpAbilityParam
[in&out] Device capability set parameter (including input and output parameter)

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

Getting capability set through this interface should be supported by device, if the device does not support getting capability set through ISAPI protocol, get the capability set through NET_DVR_GetDeviceAbility.

For different capability set type (dwAbilityType), lpCondBuffer, lpOutBuffer of lpAbilityParam correspond to different content, as shown below:

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_RESOLUTION_SWITCH_CAPABILITIES | 3917 | Resolution mode switch capability set | 4-byte (DWORD) channel No. | ResolutionSwitch

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

When getting the configuration parameters, IpInBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_RESOLUTION_SWITCH | Get resolution mode switch configuration | 4-byte (DWORD) channel No. | NET_DVR_RESOLUTION_SWITCH | 3918

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Set device configuration information

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

When setting the configuration parameters, IpOutBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpInBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_SET_RESOLUTION_SWITCH | Set resolution mode switch configuration | 4-byte (DWORD) channel No. | NET_DVR_RESOLUTION_SWITCH | 3919

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_FocusOnePush

This API is used to control focus assist.

BOOL NET_DVR_FocusOnePush(
  LONG    lUserID,
  LONG    lChannel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login_V30


NET_DVR_ResetLens

This API is used to reset lens motor default location.

BOOL NET_DVR_ResetLens(
  LONG    lUserID,
  LONG    lChannel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login_V30


NET_DVR_GetDeviceAbility

This API is used to get capability set of device.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAbilityType
[in] Type of ability, details listed below:
Macro Definition | Value | Implication
IPC_FRONT_PARAMETER_V20 | 0x009 | The parameter of device front-end
DEVICE_ABILITY_INFO | 0x011 | Capability of intelligent traffic camera or ITS
SNAPCAMERA_ABILITY | 0x300 | Capability of intelligent traffic camera
ITC_TRIGGER_MODE_ABILITY | 0x301 | Capability of intelligent traffic camera (v3.1 or later version)
pInBuf
[in] Pointer of the input buffer (according to description mode of ability parameter, defined by device, it supports XML text or structure format)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer of the output buffer(according to description mode of ability set, defined by device, it supports XML text or structure format)
dwOutLength
[in] Length of output buffer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.。
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL, or the value or format of the parameters does not match with the requirement.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices, too. The input and output parameter format when getting intelligent traffic camera ability are defined as below:

Macro Definition | Type of Ability | pInBuf | pOutBuf
IPC_FRONT_PARAMETER_V20 | Get parameters of front-end device | The Input Description of front-end device parameter | XML description of front-end device
DEVICE_ABILITY_INFO | Get capability of intelligent traffic camera or ITS | The Input Description | DEVICE_ABILITY_INFO
SNAPCAMERA_ABILITY | Get capability of intelligent traffic camera | None | NET_DVR_SNAP_ABILITY
ITC_TRIGGER_MODE_ABILITY | Get capability of intelligent traffic camera (v3.1 or later version) | ITC_MAINMODE_ABILITY | NET_ITC_TRIGGERMODE_ABILITY

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_FTPCFG | Get FTP configuration | invalid | NET_DVR_FTPCFG | 134
NET_DVR_GET_PICCFG_V30 | Get picture parameter | valid | NET_DVR_PICCFG_V30 | 1002
NET_DVR_GET_CCDPARAMCFG | Get CCD parameters of intelligent traffic camera | valid | NET_DVR_CAMERAPARAMCFG | 1067
NET_DVR_GET_CCDPARAMCFG_EX | Get CCD parameters of intelligent traffic camera | valid | NET_DVR_CAMERAPARAMCFG_EX | 3368
NET_DVR_GET_IOINCFG | Get IO input configuration of intelligent traffic camera | valid | NET_DVR_IO_INCFG | 1070
NET_DVR_GET_IOOUTCFG | Get IO output configuration of intelligent traffic camera | valid | NET_DVR_IO_OUTCFG | 1072
NET_DVR_GET_FLASHCFG | Get flash configuration of intelligent traffic camera | valid | NET_DVR_FLASH_OUTCFG | 1074
NET_DVR_GET_LIGHTSNAPCFG | Get traffic light snap configuration | valid | NET_DVR_LIGHTSNAPCFG | 1076
NET_DVR_GET_MEASURESPEEDCFG | Get speed measure configuration of intelligent traffic camera | valid | NET_DVR_MEASURESPEEDCFG | 1078
NET_DVR_GET_IMAGEOVERLAYCFG | Get overlay configuration of intelligent traffic camera | invalid | NET_DVR_IMAGEOVERLAYCFG | 1080
NET_DVR_GET_SNAPCFG | Get signal IO trigger parameters of intelligent traffic camera | valid | NET_DVR_SNAPCFG | 1082
NET_DVR_GET_VTPPARAM | Get VTP parameters of intelligent traffic camera | invalid | NET_DVR_VTPARAM | 1084
NET_DVR_GET_SNAPENABLECFG | Get snap enable parameters of intelligent traffic camera | invalid | NET_DVR_SNAPENABLECFG | 1086
NET_DVR_GET_POSTEPOLICECFG | Get electronic police configuration of intelligent traffic camera | invalid | NET_DVR_POSTEPOLICECFG | 1088
NET_DVR_GET_JPEGCFG_V30 | Get JPEG parameters of intelligent traffic camera | invalid | NET_DVR_JPEGCFG_V30 | 1090
NET_DVR_GET_SPRCFG | Get license plate recognition of intelligent traffic camera | invalid | NET_DVR_SPRCFG | 1092
NET_DVR_GET_PLCCFG | Get license plate light compensation of intelligent traffic camera | invalid | NET_DVR_PLCCFG | 1094
NET_DVR_GET_DEVICESTATECFG | Get device status of intelligent traffic camera | invalid | NET_DVR_DEVICESTATECFG | 1096
NET_DVR_GET_CALIBRATE_TIME | Get the parameter of setup the camera | invalid | NET_DVR_CALIBRATE_TIME | 1098
NET_ITC_GET_TRIGGERCFG | Get trigger mode of intelligent traffic camera | valid | NET_ITC_TRIGGERCFG | 3003
NET_ITC_GET_IOOUT_PARAM_CFG | Get IO output parameter of intelligent traffic camera | valid | NET_ITC_IOOUT_PARAM | 3005
NET_DVR_GET_CAMERA_SETUPCFG | Get the parameter of setup the camera | valid | NET_DVR_CAMERA_SETUPCFG | 3007
NET_ITC_GET_TRIGGER_DEFAULTCFG | Get Trigger mode's recommended parameter of intelligent traffic camera | valid | NET_ITC_SINGLE_TRIGGERCFG | 3013
NET_DVR_GET_CABINETCFG | Get device cabinet parameter | invalid | NET_DVR_CABINET_CFG | 3104
NET_DVR_GET_STATUS_DETECTCFG | Get device status detection configuration of intelligent traffic camera | valid | NET_DVR_STATUS_DETECTCFG | 3015
NET_DVR_GET_TPS_ALARMCFG | Get alarm parameter of taffic parameter statistics | valid | NET_DVR_TPS_ALARMCFG | 3019
NET_ITC_GET_ICRCFG | Get ICR switch parameters | invalid | NET_ITC_ICRCFG | 3115
NET_ITC_GET_EXCEPTIONCFG | Get exception parameters | invalid | NET_ITC_EXCEPTION | 3119
NET_DVR_GET_GPSDATACFG | Get the GPS parameters | Invalid | NET_DVR_GPS_DATACFG | 3131
NET_ITS_GET_BASE_INFO | Get basic information of ITS | invalid | NET_ITS_BASEINFO | 5060
NET_ITS_GET_IMGMERGE_CFG | Get mergence configuration of pictures | valid | NET_ITS_IMGMERGE_CFG | 5063
NET_ITS_GET_UPLOAD_CFG | Get data uploading configuration | valid | NET_ITS_UPLOAD_CFG | 5065
NET_ITS_GET_IPC_CHAN_CFG | Get IPC information of ITS | valid | NET_ITS_IPC_CHAN_CFG | 5070
NET_ITS_GET_ROAD_INFO | Get intersection information | valid | NET_ITS_ROADINFO | 5076
NET_ITS_GET_GATEIPC_CHAN_CFG | Get entrance parameter | valid | NET_ITS_IPC_CHAN_LANE_CFG | 5078
NET_ITS_GET_LAMP_CTRLCFG | Get lamp parameter(ITS parking) | valid | NET_DVR_LAMP_CTRL_INFO | 5090
NET_ITS_GET_PARKSPACE_ATTRIBUTE_CFG | Get special parking parameter | valid | NET_DVR_PARKSPACE_ATTRIBUTE | 5092

When the command is NET_ITC_GET_TRIGGERCFG or NET_ITC_GET_TRIGGER_DEFAULTCFG, lChannel is valid: 0 means to get current enabled trigger mode, and please see the other value to ITC_TRIGGERMODE_TYPE.

Configuring when connected to the ITS terminal, command channel if it is analog channel to the terminal, if it is a digital channel to the camera.

If lChannel is valid,start from 1.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuration commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_SET_FTPCFG | Set FTP upload parameters | invalid | NET_DVR_FTPCFG | 135
NET_DVR_SET_PICCFG_V30 | Set parameter of picture | valid | NET_DVR_PICCFG_V30 | 1003
NET_DVR_SET_CCDPARAMCFG | Set CCD parameters of intelligent traffic camera | invalid | NET_DVR_CAMERAPARAMCFG | 1068
NET_DVR_SET_CCDPARAMCFG_EX | Set CCD parameters of intelligent traffic camera(expanding) | valid | NET_DVR_CAMERAPARAMCFG_EX | 3369
NET_DVR_SET_IOINCFG | Set IO input configuration of intelligent traffic camera | valid | NET_DVR_IO_INCFG | 1071
NET_DVR_SET_IOOUTCFG | Set IO output configuration of intelligent traffic camera | valid | NET_DVR_IO_OUTCFG | 1073
NET_DVR_SET_FLASHCFG | Set traffic light snap parameters of intelligent traffic camera | valid | NET_DVR_FLASH_OUTCFG | 1075
NET_DVR_SET_LIGHTSNAPCFG | Set traffic camera light configuration | valid | NET_DVR_LIGHTSNAPCFG | 1077
NET_DVR_SET_MEASURESPEEDCFG | Set speed measure configuration of intelligent traffic camera | valid | NET_DVR_MEASURESPEEDCFG | 1079
NET_DVR_SET_IMAGEOVERLAYCFG | Set overlay configuration of intelligent traffic camera | invalid | NET_DVR_IMAGEOVERLAYCFG | 1081
NET_DVR_SET_SNAPCFG | Set signal IO trigger parameters of intelligent traffic camera | valid | NET_DVR_SNAPCFG | 1083
NET_DVR_SET_VTPPARAM | Set VTP parameters of intelligent traffic camera | invalid | NET_DVR_VTPARAM | 1085
NET_DVR_SET_SNAPENABLECFG | Set snap enable parameters of intelligent traffic camera | invalid | NET_DVR_SNAPENABLECFG | 1087
NET_DVR_SET_POSTEPOLICECFG | Set electronic police configuration of intelligent traffic camera | invalid | NET_DVR_POSTEPOLICECFG | 1089
NET_DVR_SET_JPEGCFG_V30 | Set JPEG parameters of intelligent traffic camera | invalid | NET_DVR_JPEGCFG_V30 | 1091
NET_DVR_GET_SPRCFG | Set license plate recognition of intelligent traffic camera | invalid | NET_DVR_SPRCFG | 1093
NET_DVR_GET_PLCCFG | Set license plate light compensation of intelligent traffic camera | invalid | NET_DVR_PLCCFG | 1095
NET_DVR_SET_CALIBRATE_TIME | Set time correction(expanding) | invalid | NET_DVR_CALIBRATE_TIME | 1097
NET_ITC_SET_TRIGGERCFG | Get trigger mode of intelligent traffic camera | valid | NET_ITC_TRIGGERCFG | 3004
NET_ITC_SET_IOOUT_PARAM_CFG | Get IO output parameter of intelligent traffic camera | valid | NET_ITC_IOOUT_PARAM | 3006
NET_DVR_SET_CAMERA_SETUPCFG | Set the parameter of setup the camera | valid | NET_DVR_CAMERA_SETUPCFG | 3008
NET_DVR_SET_STATUS_DETECTCFG | Get device status detection configuration of intelligent traffic camera | valid | NET_DVR_STATUS_DETECTCFG | 3016
NET_DVR_SET_TPS_ALARMCFG | Set alarm parameter of taffic parameter statistics | valid | NET_DVR_TPS_ALARMCFG | 3020
NET_DVR_SET_CABINETCFG | Set cabinet parameters | invalid | NET_DVR_SET_CABINETCFG | 3105
NET_ITC_SET_ICRCFG | Set ICR switch parameters | invalid | NET_ITC_ICRCFG | 3116
NET_ITC_SET_EXCEPTIONCFG | Set exception parameters | invalid | NET_ITC_EXCEPTION | 3120
NET_DVR_SET_GPSDATACFG | Configure the GPS parameters | Invalid | NET_DVR_GPS_DATACFG | 3132
NET_ITS_SET_IMGMERGE_CFG | Set mergence parameters of pictures | valid | NET_ITS_IMGMERGE_CFG | 5064
NET_ITS_SET_UPLOAD_CFG | Set data uploading parameters | valid | NET_ITS_UPLOAD_CFG | 5066
NET_ITS_SET_IPC_CHAN_CFG | Set IPC parameters of ITS | valid | NET_ITS_IPC_CHAN_CFG | 5071

1. Speed limit: If not set the IO measuring mode, the speed limit(bySpeedLimit) in NET_DVR_POSTEPOLICECFG is valid; If to set the IO measuring mode, the speed limit(bySpeedLimit) in NET_DVR_MEASURESPEEDCFG is valid.

2. When the command is NET_ITC_SET_TRIGGERCFG, lChannel is valid: 0 means to set current enabled trigger mode, and please see the other value to ITC_TRIGGERMODE_TYPE.

3.When the command is NET_ITS_SET_IMGMERGE_CFG, the lChannel is valid, the value of configuration link to camera is 1. When configuration of connection to intelligent terminal server ,analog channel is invalid, digital channel can get pictures synthesis configuration information.

4.Configuring when connected to the ITS terminal, command channel if it is analog channel to the terminal, if it is a digital channel to the camera.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

This API is used to get configuration of the device(batch).

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to the following configuraition command list
dwCount
[in] The count of channels to be query, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition, such as stream ID
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras.

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_ITC_GET_VIDEO_TRIGGERCFG | Get the video trigger parameters(camera or ITS terminal server) | dwCount * NET_ITC_VIDEO_TRIGGER_COND | dwCount * NET_ITC_VIDEO_TRIGGER_PARAM | 3017
NET_ITC_GET_RS485_ACCESSINFO | Get device info associated with RS485 | dwCount*NET_ITC_RS485_ACCESS_INFO_COND | dwCount*NET_ITC_RS485_ACCESS_CFG | 3117
NET_ITC_GET_FTPCFG | Get FTP info | dwCount*NET_ITC_FTP_TYPE_COND | dwCount*NET_ITC_FTP_CFG | 3121
NET_DVR_GET_ENTRANCE_PARAMCFG | Get entrance control parameters | dwCount*NET_DVR_BARRIERGATE_COND | dwCount*NET_DVR_ENTRANCE_CFG | 3126
NET_DVR_GET_SNAPINFO_CFG_V40 | Get capture picture parameters expansion | dwCount*NET_DVR_SNAPINFO_COND | dwCount*NET_DVR_SNAPINFOCFG | 3138
NET_DVR_GET_MONITOR_LOCATION_INFO | Get camera information | dwCount*NET_DVR_MONITOR_LOCATION_COND | dwCount*NET_DVR_MONITOR_LOCATION_CFG | 3424
NET_ITS_GET_OVERLAP_CFG_V50 | Get text overlay settings V50 expansion.(camera or ITS terminal) | dwCount*NET_ITS_OVERLAPCFG_COND | dwCount*NET_ITS_OVERLAP_CFG_V50 | 5055
NET_DVR_GET_CLOUDSTORAGE_CFG | Get Cloud Storage Configuration Parameters | dwCount*NET_DVR_CLOUDSTORAGE_COND | dwCount*NET_DVR_CLOUDSTORAGE_CFG | 5058
NET_ITS_GET_OVERLAP_CFG | Get the character overlay parameter(camera or ITS terminal server) | dwCount * NET_ITS_OVERLAPCFG_COND | dwCount * NET_ITS_OVERLAP_CFG | 5072
NET_DVR_GET_TRIGGEREX_CFG | Get triggering mode configuration(camera or ITS terminal server) | dwCount*NET_DVR_TRIGGER_COND | dwCount*NET_ITC_TRIGGERCFG | 5074
NET_DVR_GET_ITS_EXDEVCFG | Get ITS external device information(ITS terminal) /td> | dwCount*NET_DVR_EXTERNAL_DEVCOND | dwCount*NET_DVR_EXTERNAL_DEVCFG | 5085

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

This API is used to set configuration of the device(batch).

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition command list
dwCount
[in] The count of cameras to be set, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition, such as stream ID
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be set, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpInParamBuffer
[in] The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful.
dwInParamBufferSize
[in] The size of the configuration content

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to configure quantities of cameras with sending data. lpInBuffer assigns to configure which cameras, and lpOutBuffer saves the configuration information of dwCount cameras to be set.

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_VEHICLE_RECOG_TASK | Vehicle dual recognition task upload(ITS terminal) | dwCount *NET_DVR_VEHICLE_RECOG_COND | dwCount *NET_DVR_VEHICLE_RECOG_CFG | 422
NET_ITC_SET_VIDEO_TRIGGERCFG | Set the video trigger parameters(camera or ITS terminal server) | dwCount * NET_ITC_VIDEO_TRIGGER_COND | dwCount * NET_ITC_VIDEO_TRIGGER_PARAM | 3018
NET_ITC_SET_RS485_ACCESSINFO | Set device info associated with RS485 | dwCount * NET_ITC_RS485_ACCESS_INFO_COND | dwCount * NET_ITC_RS485_ACCESS_CFG | 3118
NET_ITC_SET_FTPCFG | Set FTP info | dwCount * NET_ITC_FTP_TYPE_COND | dwCount * NET_ITC_FTP_CFG | 3122
NET_DVR_SET_ENTRANCE_PARAMCFG | Set entrance control parameters | dwCount * NET_DVR_BARRIERGATE_COND | dwCount * NET_DVR_ENTRANCE_CFG | 3127
NET_DVR_SET_SNAPINFO_CFG_V40 | Set capture picture expansion | dwCount * NET_DVR_SNAPINFO_COND | dwCount * NET_DVR_SNAPINFOCFG | 3139
NET_DVR_SET_MONITOR_LOCATION_INFO | Set camera information/td> | dwCount * NET_DVR_MONITOR_LOCATION_COND | dwCount * NET_DVR_MONITOR_LOCATION_CFG | 3425
NET_DVR_SET_CLOUDSTORAGE_CFG | Set Cloud Storage Configuration Parameters | dwCount * NET_DVR_CLOUDSTORAGE_COND | dwCount * NET_DVR_CLOUDSTORAGE_CFG | 5059
NET_ITS_SET_OVERLAP_CFG_V50 | Set text overlay parameters configuration V50 expansion(camera or ITS terminals) | dwCount * NET_ITS_OVERLAPCFG_COND | dwCount * NET_ITS_OVERLAP_CFG_V50 | 5056
NET_DVR_SET_TRIGGEREX_CFG | Set triggering mode configuration(camera or ITS terminals) | dwCount * NET_DVR_TRIGGER_COND | dwCount * NET_ITC_TRIGGERCFG | 5075
NET_DVR_SET_ITS_EXDEVCFG | Set ITS external device 9ITS terminals) | dwCount * NET_DVR_EXTERNAL_DEVCOND | dwCount * NET_DVR_EXTERNAL_DEVCFG | 5084
NET_ITS_SET_OVERLAP_CFG | Set the character overlay parameter(camera or ITS terminal server) | dwCount * NET_ITS_OVERLAPCFG_COND | dwCount * NET_ITS_OVERLAP_CFG | 5073

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_ContinuousShoot

This API is used to manually trigger intelligent traffic camera to realize continuous shoot.

BOOL NET_DVR_ContinuousShoot(
  LONG                 lUserID,
  LPNET_DVR_SNAPCFG    lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInter
[in] Structure of manually triggered continuous shoot

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Type of Error | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Failed to receive data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL, or the value or format of the parameters does not match with the requirement.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.

Remarks

It is used to manually trigger intelligent traffic camera to realize continuous shoot and receive pictures. Please call NET_DVR_SetupAlarmChan_V30 to arm the device and call NET_DVR_SetDVRMessageCallBack_V30 to set callback function,We can get the captured picture data from the callback function.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDeviceStatus

This API is used to get the device status.

BOOL NET_DVR_GetDeviceStatus(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to the following configuraition command list
dwCount
[in] The count of status to be get, please set to 1
lpInBuffer
[in] The buffer of status condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The status content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

This API is used to get quantities of the device status. The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_ITS_GET_WORKSTATE | Get the work status of ITS | NULL | dwCount * NET_ITS_WORKSTATE | 5069

Return Values

Returns TRUE on success, but it dose not mean every result is successful. It requires to check lpStatusList[n] to see whether the result is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetHistoricDataInfo

This API is used to get historical data information.

BOOL NET_DVR_GetHistoricDataInfo(
  LONG                         lUserID
  LONG                         lChannel
  LPNET_DVR_HISTORICDATACFG    lpHisData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpHisData
[out] Historical data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetHistoricData

This API is used to get single historical data.

BOOL NET_DVR_GetHistoricData(
  LONG                      lUserID
  LONG                      lChannel
  LPNET_DVR_PLATE_RESULT    lpOuter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpOuter
[out] Historical data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_ClearHistoricData

This API is used to clear historical data.

BOOL NET_DVR_ClearHistoricData(
  LONG   lUserID
  LONG   lChannel
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetSTDAbility

Get device Capability Set.

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] NET_DVR_Login_V40 wait for the return value from interface.
dwAbilityType
[in] Capability type. Detailed definition see Remarks list.
lpAbilityParam
[in&out] Device Capability Set Parameter (including input and output parameters)

Return Values

TRUE means success, FALSE means failure. To get error code, callNET_DVR_GetLastError

Remarks

To get Capability Set from this interface needs the support from device. If device does not support ISAPI protocol, useNET_DVR_GetDeviceAbility to get related Capability Set.

For different Capability Set types (dwAbilityType), lpCondBuffer and lpOutBuffer of the lpAbilityParam correspond to differnet contents. See the following table for details:

Capability Set Type(dwAbilityType) | Macro definition value | Definition | lpCondBuffer | lpOutBuffer
NET_DVR_GET_SMART_CAPABILITIES | 3500 | Get Smart Capability Set | NULL | SmartCap
NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES | 3501 | Get event triggering Capability Set | NULL | EventTriggerCap
NET_DVR_GET_THERMAL_CAPABILITIES | 3634 | Get thermal imaging capability | NULL | ThermalCap
NET_DVR_GET_FIREDETECTION_CAPABILITIES | 3635 | Get fire position Detection configuration Capability Set | 4-byte DWORD camera number | FireDetection
NET_DVR_GET_LOWPOWER_CAPABILITIES | 3731 | Get low-power configuration Capability Set | 4-byte DWORD camera number | LowPower
NET_DVR_GET_ZOOMLINKAGE_CAPABILITIES | 3734 | Get zooming linkage configuration Capability Set | 4-byte DWORD camera number | ZoomLinkage
NET_DVR_GET_MANUALRANGING_CAPABILITIES | 6675 | Get manually measuring distance configuration Capability Set | 4-byte DWORD camera number | ManualRanging
NET_DVR_GET_THERMOMETRY_BASICPARAM_CAPABILITIES | 3620 | Get temperature measuring Configuration Capability Set | 4-byte DWORD camera number | ThermometryBasicParam
NET_DVR_GET_THERMOMETRY_SCENE_CAPABILITIES | 3623 | Get temperature measuring preset linkage configuration Capability Set | 4-byte DWORD camera number | ThermometryScene
NET_DVR_GET_THERMOMETRY_ALARMRULE_CAPABILITIES | 3626 | Get temperature measuring alarm configuration Capability Set | 4-byte DWORD camera number | ThermometryAlarmRule
NET_DVR_GET_SHIPSDETECTION_SCHEDULE_CAPABILITIES | 6667 | Get ship detection arming schedule Capability Set | 4-byte DWORD camera number | Schedule
NET_DVR_GET_SHIPSDETECTION_CAPABILITIES | 6657 | Get ship detection configuration Capability Set | 4-byte DWORD camera number | ShipsDetectionCap
NET_DVR_GET_BAREDATAOVERLAY_CAPABILITIES | 6660 | Get thermal rae data overlay Capability Set | NULL | BareDataOverlay
NET_DVR_GET_THERMINTELL_CAPABILITIES | 6711 | Get thermal smart mutual exclusion Capability Set | 4-byte DWORD camera number | ThermIntell
NET_DVR_GET_MANUALDEICING_CAPABILITIES | 6678 | Getting manual deicing settings capability set | 4-byte DWORD camera number | ManualDeicing
NET_DVR_GET_FIREDETECTION_SCHEDULE_CAPABILITIES | 6671 | Get fire detection arming time capability | 4-byte DWORD channel No. | Schedule
NET_DVR_GET_THERMALPOWER_CAPABILITIES | 6689 | Get camera power configuration capability | NULL | Power
NET_DVR_GET_PTZ_CAPABILITIES | 3619 | Get PTZ channel control capability | 4-byte DWORD channel No. | PTZChanelCap
NET_DVR_GET_PTZABSOLUTEEX_CAPABILITIES | 6695 | Get high accuracy PTZ absolute location configuration extension capability | 4-byte DWORD channel No. | PTZAbsoluteEx
NET_DVR_GET_CRUISE_CAPABILITIES | 6698 | Get device patrol mode configuration capability | 4-byte DWORD channel No. | Cruise
NET_DVR_GET_ TEMP_HUMI_CAPABILITIES | 6700 | Get device real-time temperature and humidity capability | 4-byte DWORD channel No. | TempHumi
NET_DVR_GET_MANUALTHERM_CAPABILITIES | 6707 | Get real-time manual temperature measurement data capability | 4-byte DWORD channel No. | ManualThermometry
NET_DVR_GET_MANUALTHERM_BASIC_CAPABILITIES | 6715 | Get manual temperature measurement basic parameter configuration capability | 4-byte DWORD channel No. | ManualThermBasic
NET_DVR_GET_FIRESHIELDMASK_CAPABILITIES | 6718 | Get fire source region blocking capability | 4-byte DWORD channel No. | FireShieldMask

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDConfig

Get device configuration information.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] NET_DVR_Login_V40 wait for the return value from interface.
dwCommand
[in] Device configuration command. See Remarks for detailed information.
lpConfigParam
[in&out] Configure input and output parameters. Different configuration functions correspond to different input and output parameters. See Remarks for details.

Return Values

TRUE means success, FALSE means failure. To get error code, callNET_DVR_GetLastError

Remarks

When gaining configuration parameter, the lpOutBuffer of lpConfigParamStructure is invalid, set as NULL. For different dwCommand, the IpCondBuffer and lpInBuffer in lpConfigParam respectively correspond to different contents. See details in the following table:

  • Thermal camera has two video channels: the first one is a visible channel; the other is a thermal imaging channel. You can only configure thermal imaging related functions in thermal imaging channel.
dwCommand Macro definition | Definition | lpCondBuffer | lpOutBuffer | Macro definition value
NET_DVR_GET_FIREDetection | Get fire source Detection parameter | 4-byte DWORD camera number | NET_DVR_FIREDetection_CFG | 3636
NET_DVR_GET_FIREDetection_TRIGGER | Get fire position Detection linkage configuration | 4-byte DWORD camera number | NET_DVR_EVENT_TRIGGER | 3638
NET_DVR_GET_LOWPOWER | Get low-power configuration | 4-byte DWORD camera number | NET_DVR_LOWPOWER | 3732
NET_DVR_GET_ZOOMLINKAGE | Get zooming linkage configuration | 4-byte DWORD camera number | NET_DVR_ZOOMLINKAGE | 3735
NET_DVR_GET_THERMOMETRY_BASICPARAM | Getting temperature measurement settings parameters | 4-byte DWORD camera number | NET_DVR_THERMOMETRY_BASICPARAM | 3621
NET_DVR_GET_THERMOMETRY_PRESETINFO | Get preset linked temperature measyrement information settings | NET_DVR_THERMOMETRY_COND | NET_DVR_THERMOMETRY_PRESETINFO | 3624
NET_DVR_GET_THERMOMETRY_ALARMRULE | Get preset temperature alarm rule settings | NET_DVR_THERMOMETRY_COND | NET_DVR_THERMOMETRY_ALARMRULE | 3627
NET_DVR_GET_THERMOMETRY_DIFFCOMPARISON | Get preset temperature difference alarm rule settings | NET_DVR_THERMOMETRY_COND | NET_DVR_THERMOMETRY_DIFFCOMPARISON | 3630
NET_DVR_GET_THERMOMETRY_TRIGGER | Get temperature measurement linkage settings | NET_DVR_THERMOMETRY_TRIGGER_COND | NET_DVR_EVENT_TRIGGER | 3632
NET_DVR_GET_BAREDATAOVERLAY_CFG | Get thermal rae data overlay parameters | 4-byte DWORD camera number | NET_DVR_BAREDATAOVERLAY_CFG | 6662
NET_DVR_GET_THERMINTELL | Get thermal smart mutual exclusion parameters | 4-byte DWORD camera number | NET_DVR_THERMINTELL_PARAM | 6712
NET_DVR_GET_MANUALDEICING | Getting manual deicing settings | 4-byte(DWORD) channel No. | NET_DVR_MANUALDEICING_CFG | 6680
NET_DVR_GET_FIREDETECTION_SCHEDULE | Get fire & smoke detection arming time configuration | 4-byte (DWORD) channel No. | NET_DVR_EVENT_SCHEDULE | 6672
NET_DVR_GET_THERMALPOWER | Get camera power configuration parameters | NULL | NET_DVR_THERMALPOWER_PARAM | 6690
NET_DVR_GET_PTZABSOLUTEEX | Get high accuracy PTZ absolute location configuration extension | 4-byte (DWORD) channel No. | NET_DVR_PTZABSOLUTEEX_CFG | 6696
NET_DVR_GET_CRUISE_INFO | Get device patrol mode | 4-byte (DWORD) channel No. | NET_DVR_CRUISE_PARAM | 6699
NET_DVR_GET_TEMP_HUMI_INFO | Get real-time temperature and humidity | 4-byte (DWORD) channel No. | NET_DVR_TEMP_HUMI_INFO | 6701
NET_DVR_GET_MANUALTHERM_BASICPARAM | Get manual temperature measurement basic parameter | 4-byte (DWORD) channel No. | NET_SDK_MANUALTHERM_BASICPARAM | 6717
NET_DVR_GET_FIRESHIELDMASK_CFG | Get fire source region blocking parameter | 4-byte (DWORD) channel No. | NET_SDK_FIRESHIELDMASK_CFG | 6724
NET_DVR_GET_SMOKESHIELDMASK_CFG | Get smoke region blocking parameter | 4-byte (DWORD) channel No. | NET_SDK_SMOKESHIELDMASK_CFG | 6727
NET_DVR_GET_AREASCAN_CFG | Get region scanning status | 4-byte (DWORD) channel No. | NET_SDK_AREASCAN_CFG | 6730

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Configure device configuration information.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] NET_DVR_Login_V40 wait for the return value from interface.
dwCommand
[in] Device configuration command. See Remarks for detailed inoformation.
lpConfigParam
[in&out] Configure input and output parameters. Different control function correspond to different input and output parameters. See Remarks for details.

Return Values

TRUE means success, FALSE means failure. To get error code, callNET_DVR_GetLastError

Remarks

When configuring configuration parameter, the lpOutBuffer of lpConfigParamStructure is invalid, set as NULL. For different dwCommand, the IpCondBuffer and lpInBuffer in lpConfigParam respectively correspond to different contents. See details in the following table:

  • Thermal camera has two video channels: the first one is a visible channel; the other is a thermal imaging channel. You can only configure thermal imaging related functions in thermal imaging channel.
dwCommand Macro definition | Definition | lpCondBuffer | lpInBuffer | Macro definition value
NET_DVR_GET_FIREDetection | Set fire position Detection parameter | 4-byte DWORD camera number | NET_DVR_FIREDetection_CFG | 3637
NET_DVR_GET_FIREDetection_TRIGGER | Set fire position Detection linkage configuration | 4-byte DWORD camera number | NET_DVR_EVENT_TRIGGER | 3639
NET_DVR_GET_LOWPOWER | Set low-power configuration | 4-byte DWORD camera number | NET_DVR_LOWPOWER | 3733
NET_DVR_GET_ZOOMLINKAGE | Set zooming linkage configuration | 4-byte DWORD camera number | NET_DVR_ZOOMLINKAGE | 3736
NET_DVR_GET_THERMOMETRY_BASICPARAM | Set temperature measurement settings parameters | 4-byte DWORD camera number | NET_DVR_THERMOMETRY_BASICPARAM | 3622
NET_DVR_GET_THERMOMETRY_PRESETINFO | Set preset linked temperature measyrement information settings | NET_DVR_THERMOMETRY_COND | NET_DVR_THERMOMETRY_PRESETINFO | 3625
NET_DVR_GET_THERMOMETRY_ALARMRULE | Set preset temperature alarm rule settings | NET_DVR_THERMOMETRY_COND | NET_DVR_THERMOMETRY_ALARMRULE | 3628
NET_DVR_GET_THERMOMETRY_DIFFCOMPARISON | Set preset temperature difference alarm rule settings | NET_DVR_THERMOMETRY_COND | NET_DVR_THERMOMETRY_DIFFCOMPARISON | 3631
NET_DVR_GET_THERMOMETRY_TRIGGER | Set temperature measurement linkage settings | NET_DVR_THERMOMETRY_TRIGGER_COND | NET_DVR_EVENT_TRIGGER | 3633
NET_DVR_GET_BAREDATAOVERLAY_CFG | Set thermal rae data overlay parameters | 4-byte DWORD camera number | NET_DVR_BAREDATAOVERLAY_CFG | 6661
NET_DVR_GET_THERMINTELL | Set thermal smart mutual exclusion parameters | 4-byte DWORD camera number | NET_DVR_THERMINTELL_PARAM | 6713
NET_DVR_GET_MANUALDEICING | Set manual deicing settings | 4-byte(DWORD) channel No. | NET_DVR_MANUALDEICING_CFG | 6679
NET_DVR_SET_FIREDETECTION_SCHEDULE | Set fire & smoke detection arming time configuration | 4-byte (DWORD) channel No. | NET_DVR_EVENT_SCHEDULE | 6673
NET_DVR_SET_THERMALPOWER | Set camera power configuration parameter | NULL | NET_DVR_THERMALPOWER_PARAM | 6691
NET_DVR_SET_PTZABSOLUTEEX | Set high accuracy PTZ absolute location configuration extension | 4-byte (DWORD) channel No. | NET_DVR_PTZABSOLUTEEX_CFG | 6697
NET_DVR_SET_MANUALTHERM | Set manual temperature measurement data | 4-byte (DWORD) channel No. | NET_SDK_MANUAL_THERMOMETRY | 6708
NET_DVR_SET_MANUALTHERM_BASICPARAM | Set manual temperature measurement basic parameter | 4-byte (DWORD) channel No. | NET_SDK_MANUALTHERM_BASICPARAM | 6716
NET_DVR_SET_FIRESHIELDMASK_CFG | Set fire source region blocking parameter | 4-byte (DWORD) channel No. | NET_SDK_FIRESHIELDMASK_CFG | 6723
NET_DVR_SET_SMOKESHIELDMASK_CFG | Set smoke region blocking parameter | 4-byte (DWORD) channel No. | NET_SDK_SMOKESHIELDMASK_CFG | 6726

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_STDControl

Remote control.

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] NET_DVR_Login_V40 wait for the return value from interface.
dwCommand
[in] Control comand. See Remarks for detailed inoformation.
lpControlParam
[in&out] Remote control input and output parameters. Different control function correspond to different input and output parameters. See Remarks for details.

Return Values

TRUE means success, FALSE means failure. To get error code, callNET_DVR_GetLastError

Remarks

For different dwCommand, the lpCondBuffer of lpControlParam correspond to different contents. See details in the following table:

  • Thermal camera has two video channels: the first one is a visible channel; the other is a thermal imaging channel.该功能只支持在热成像通道上设置.
dwCommand Macro definition | Macro definition value | Definition | lpCondBuffer corresponding Structure
NET_DVR_FIRE_FOCUSZOOM_CTRL | 6670 | According to fire position focus and zoom the visible lens | 4-byte DWORD camera number
NET_DVR_DEL_AREASCAN_CFG | 6731 | Delete scanning region | 4-byte DWORD camera number
NET_DVR_AREASCAN_INIT_CTRL | 6732 | Enter region scanning configuration | 4-byte DWORD camera number
NET_DVR_AREASCAN_CONFIRM_CTRL | 6733 | Confirm to execute region scanning configuration | 4-byte DWORD camera number
NET_DVR_AREASCAN_STOP_CTRL | 6734 | Stop region scanning configuration | 4-byte DWORD camera number
NET_DVR_SAVE_SCANZOOM_CTRL | 6735 | Configure scanning ratio (save current optical zoom ratio as scanning ratio) | 4-byte DWORD camera number
NET_DVR_GET_SCANZOOM_CTRL | 6736 | Get scanning ratio (set the optical zoom ratio in live view back to current scanning ratio) | 4-byte DWORD camera number
NET_DVR_DEL_FIRESHIELDMASK_CTRL | 6737 | Delete fire source blocking region | NET_SDK_FIRESHIELDMASK_COND
NET_DVR_DEL_SMOKESHIELDMASK_CTRL | 6738 | Delete smoke blocking region | NET_SDK_SMOKESHIELDMASK_COND
  • Through the Capability Set of device to judge whether device support fire position visible lens focusing and zooming capacity, corresponding Capability Set(ThermalCap), related interface:NET_DVR_GetSTDAbility,Capability Set type:NET_DVR_GET_THERMAL_CAPABILITIES, node: <isFireFocusZoomSupport>.
  • Whether the device supports capability of scanning region deleting, entering region scanning, confirming executing region configuration, stopping region scanning configuring, configuring scanning ratio, getting scanning ratio, can be determined through device capability set (AreaScan), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_AREASCAN_CAPABILITIES, node: <isSupportDelAreaScan>, <isSupportInitialization>, <isSupportConfirm>, <isSupportStop>, <isSupportSavaZoom>, <isSupportGetZoom>.

    • See Also

    NET_DVR_Login_V40


NET_DVR_ShutterCompensation

This API is used to set manual shutter compensation of thermal network camera.

BOOL NET_DVR_ShutterCompensation(
  LONG     lUserID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_CorrectDeadPixel

This API is used to correct dead pixel of thermal network camera.

BOOL NET_DVR_CorrectDeadPixel(
  LONG                                 lUserID,
  LONG                                 lChannel,
  LPNET_DVR_CORRECT_DEADPIXEL_PARAM    lpInParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpInParam
[in] Dead pixel correction parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_InquestGetCDRWScheme

This API is used to get CDRW configuration.

BOOL NET_DVR_InquestGetCDRWScheme(
  LONG                         lUserID,
  LPNET_DVR_INQUEST_CDRW_CFG   lpCDRWCfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpCDRWCfg
[out] Structure of CDRW configuration

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestSetCDRWScheme
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_InquestSetCDRWScheme

This API is used to set CDRW configuration.

BOOL NET_DVR_InquestSetCDRWScheme(
  LONG                         lUserID,
  LPNET_DVR_INQUEST_CDRW_CFG   lpCDRWCfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpCDRWCfg
[in] Structure of CDRW configuration

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestGetCDRWScheme
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_InquestGetPIPStatus_V30

This API is used to get status of picture in picture.

BOOL NET_DVR_InquestGetPIPStatus_V30(
  LONG                           lUserID,
  LPNET_DVR_INQUEST_ROOM         lpInquestRoom,
  LPNET_DVR_INQUEST_PIP_STATUS   pStatus
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pInquestRoom
[in] Inquest room information
pStatus
[out] Structure of picture-in-picture status

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestSetPIPStatus_V30
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestGetPIPStatus


NET_DVR_InquestSetPIPStatus_V30

This API is used to set status of picture in picture.

BOOL NET_DVR_InquestSetPIPStatus_V30(
  LONG                           lUserID,
  LPNET_DVR_INQUEST_ROOM         lpInquestRoom,
  LPNET_DVR_INQUEST_PIP_STATUS   pStatus
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInquestRoom
[in] Inquest room information
pStatus
[in] Structure of picture-in-picture status

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestGetPIPStatus_V30
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestSetPIPStatus


NET_DVR_InquestGetSystemInfo

This API is used to get system information.

BOOL NET_DVR_InquestGetSystemInfo(
  LONG                             lUserID,
  LPNET_DVR_INQUEST_SYSTEM_INFO    lpSystemInfo,
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpSystemInfo
[out] System information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestSetSystemInfo
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_InquestSetSystemInfo

This API is used to set system information.

BOOL NET_DVR_InquestSetSystemInfo(
  LONG                             lUserID,
  LPNET_DVR_INQUEST_SYSTEM_INFO    lpSystemInfo,
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpSystemInfo
[in] System information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestGetSystemInfo
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, get capability set.

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return Value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

The transparent transmission of ISAPI protocol commands are available through this interface to realize the functions of parameter configuration and getting capability set. Calling the interface requires the device to support ISAPI protocol (PUT, GET, POST and DELETE commands), for details, see the table below:

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get CD driver configuration capability set | GET /ISAPI/ContentMgmt/ Trial/TrayConfiguration/capabilities\r\n | NULL | TrayConfiguration
Get CD driver configuration information | GET /ISAPI/ContentMgmt/Trial/TrayConfiguration/<ID>\r\n(ID means CD driver No., from 1) |  | TrayConfiguration
Set CD driver configuration information | PUT /ISAPI/ContentMgmt/Trial/TrayConfiguration/<ID>\r\n(ID means CD driver No., from 1) | TrayConfiguration | NULL

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocl command transparent transmission, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

Use this interface for ISAPI protocol command transparent transmission, to configure parameters and get capability set. Ensure the device supports ISAPI protocol (e.g. PUT, GET, POST, DELETE commands) before calling the interface. The input and output parameters for getting and setting different type of parameters may vary, for details, see the table below:

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get audio configuration capability set | GET /ISAPI/System/Audio/capabilities\r\n | NULL | AudioCap
Get group audio mix configuration capability set | GET /ISAPI/System/Audio/Mixing/capabilities\r\n | NULL | AudioMixingList
Get single channel group audio mix configuration | GET /ISAPI/System/Audio/Mixing/<ID>\r\n(ID=group No.) | NULL | AudioMixing
Set single channel group audio mix configuration | PUT /ISAPI/System/Audio/Mixing/<ID>\r\n(ID=group No.) | AudioMixing | NULL
Batch get group audio mix configuration | GET /ISAPI/System/Audio/Mixing\r\n | NULL | AudioMixingList
Batch set group audio mix configuration | PUT /ISAPI/System/Audio/Mixing\r\n | AudioMixingList | NULL

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol transparent transmission, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

Use this interface for ISAPI protocol command transparent transmission, to configure parameters and get capability set. Ensure the device supports ISAPI protocol (e.g. PUT, GET, POST, DELETE commands) before calling the interface. The input and output parameters for getting and setting different type of parameters may vary, for details, see the table below:

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get device serial port capability set | GET /ISAPI/System/Serial/capabilities\r\n | NULL | SerialCap
Get single serial port parameter capability set | GET /ISAPI/System/Serial/ports/<ID>/capabilities\r\n(ID=serial port No.) | NULL | SerialPort
Get single serial port parameter | GET /ISAPI/System/Serial/ports/<ID>\r\n(ID=serial port No.) | NULL | SerialPort
Set single serial port parameter | PUT /ISAPI/System/Serial/ports/<ID>\r\n(ID=serial port No.) | SerialPort | NULL
Batch get serial port parameter | GET /ISAPI/System/Serial/ports\r\n | NULL | SerialPortList

See Also

NET_DVR_Login_V40


NET_DVR_InquestGetDeviceVersion

This API is used to get device version information.

BOOL NET_DVR_InquestGetDeviceVersion(
  LONG                               lUserID,
  LPNET_DVR_INQUEST_DEVICE_VERSION   lpVersionInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpVersionInfo
[out] Version information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_InquestFindFile_V30

This API is used to search inquest file.

LONG NET_DVR_InquestFindFile_V30(
  LONG                     lUserID
  LPNET_DVR_INQUEST_ROOM   lpInquestRoom
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInquestRoom
[in] Inquest room information

Return Values

Return -1 if it is failed , and other return values could be used as parameter of NET_DVR_InquestFindNextFile. Please call NET_DVR_GetLastError to get the error code.

Remarks

After calling it successfully, we can call NET_DVR_FindNextFile to get file information.

See Also

NET_DVR_InquestFindNextFile NET_DVR_InquestFindClose
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestFindFile


NET_DVR_InquestFindNextFile

This API is used to get listed inquest files one by one.

LONG NET_DVR_InquestFindNextFile(
  LONG                         lFindHandle,
  LPNET_DVR_INQUEST_FILEINFO   lpFindData
);

Parameters

lFindHandle
[in] Handle of file searching, the return value of NET_DVR_FindFile
lpFindData
[out] Pointer to save file information

Return Values

Return -1 if it is failed, and other value is message of current obtained status, details listed bellow. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get information of the file successfully
NET_DVR_FILE_NOFIND | 1001 | Find no file
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more file, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception during searching

Remarks

We should call NET_DVR_InquestFindFile to get current searching handle before calling the interface to get file. The interface only supports getting one of found file information. If want to get all information, we should call the interface repeatedly.

See Also

NET_DVR_InquestFindFile


NET_DVR_InquestFindClose

This API is used to stop searching inquest file, and release resource.

BOOL NET_DVR_InquestFindClose(
  LONG   lFindHandle
);

Parameters

lFindHandle
[in] Handle of file query, the return value of NET_DVR_InquestFindFile

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestFindFile


NET_DVR_InquestDeleteFile_V30

This API is used to delete inquest file.

BOOL NET_DVR_InquestDeleteFile_V30(
  LONG                      lUserID,
  LPNET_DVR_INQUEST_ROOM    lpInquestRoom,
  LPNET_DVR_INQUEST_FILES   lpDeleteFile
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInquestRoom
[in] Inquest room information
lpDeleteFile
[in] Pointer of inquest file to be deleted

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

We can get information of the file by calling NET_DVR_InquestFindFile and NET_DVR_InquestFindNextFile.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestDeleteFile


NET_DVR_InquestCDWByFile

This API is used to burn CD by file name.

BOOL NET_DVR_InquestCDWByFile(
  LONG                      lUserID,
  LPNET_DVR_INQUEST_FILES   lpCdrwFile
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpCdrwFile
[in] Pointer of CDrw file

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

We can get the information of burned file by calling NET_DVR_InquestFindFile and NET_DVR_InquestFindNextFile.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_InquestUploadFile_V30

This API is used to upload inquest file to device.

LONG NET_DVR_InquestUploadFile_V30(
  LONG                     lUserID,
  LPNET_DVR_INQUEST_ROOM   lpInquestRoom,
  char                     *sFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInquestRoom
[in] Inquest room information
sFileName
[in] File name to be uploaded (full path format), the size is max 128 bytes, and min 32bytes (include the last '\0')

Return Values

Return -1 if it is failed, and other value set to be parameter of NET_DVR_InquestUploadClose. NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestUploadClose
NET_DVR_InquestGetUploadState
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestUploadFile


NET_DVR_InquestGetUploadState

This API is used to get progress and state of uploading.

int NET_DVR_InquestGetUploadState(
  LONG      lUpgradeHandle,
  LPDWORD   pProgress
);

Parameters

lUpgradeHandle
[in] The return value of NET_DVR_InquestUploadFile
pProgress
[out] Progress of file uploading, ranging from 0 to 100

Return Values

-1- calling failed
1 - upload successful
2 - uploading
3 - upload failed
4 - network disconnected

Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestUploadFile


NET_DVR_InquestUploadClose

This API is used to stop uploading inquest file.

BOOL NET_DVR_InquestUploadClose(
  LONG   lUploadHandle
);

Parameters

lUploadHandle
[in] Uploading handle, the return value of NET_DVR_InquestUploadFile

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestUploadFile


NET_DVR_InquestStartCDW_V30

This API is used to start burning CD during inquest.

BOOL NET_DVR_InquestStartCDW_V30(
  LONG                      lUserID,
  LPNET_DVR_INQUEST_ROOM    lpInquestRoom,
  BOOL                      bPause
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInquestRoom
[in] Inquest room information
bPause
[in] Whether to pause(reserved)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestStopCDW_V30
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestStartCDW


NET_DVR_InquestStopCDW_V30

This API is used to stop burning CD during inquest.

BOOL NET_DVR_InquestStopCDW_V30(
  LONG                      lUserID,
  LPNET_DVR_INQUEST_ROOM    lpInquestRoom,
  BOOL                      bCancelWrite
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInquestRoom
[in] Inquest room information
bCancelWrite
[in] Under normal circumstances, it will finalize CDW after finish inquesting; it represent inquest pausing, and it will not finalize CDW. TRUE- not finalize, FALSE- finalize

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestStartCDW_V30
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestStopCDW


NET_DVR_InquestGetCDWState_V30

This API is used to get status of CDW.

BOOL NET_DVR_InquestGetCDWState_V30(
  LONG                            lUserID,
  LPNET_DVR_INQUEST_ROOM          lpInquestRoom,
  LPNET_DVR_INQUEST_CDRW_STATUS   pStatus
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInquestRoom
[in] Inquest room information
pStatus
[out] CDW status information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestGetCDWState


NET_DVR_InquestSendMessage

This API is used to send key marker message.

BOOL NET_DVR_InquestSendMessage(
  LONG                      lUserID,
  LPNET_DVR_INQUEST_ROOM    lpInquestRoom,
  LPNET_DVR_INQUEST_MESSAGE  lpInquestMessage
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInquestRoom
[in] Inquest room information
lpInquestMessage
[in] Key marker message

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_InquestResumeEvent

This API is used to resume inquest event.

LONG NET_DVR_InquestResumeEvent(
  LONG                              lUserID,
  LPNET_DVR_INQUEST_RESUME_EVENT    lpResumeEvent,
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpResumeEvent
[in] Event information that requires to be resumed

Return Values

Return -1 if it is failed , and other return values could be used as parameter of NET_DVR_InquestGetResumeProgress. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestGetResumeProgress
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_InquestGetResumeProgress

This API is used to get the status and progress of resuming inquest event.

BOOL NET_DVR_InquestGetResumeProgress(
  LONG                      lHandle,
  DWORD                     *pState,
);

Parameters

lHandle
[in] File searching handle, the return value of NET_DVR_InquestResumeEvent
pState
[in] Returned status, 1-99 means the progress, and 100 means that the backup is complete. Other value is defined as follows:
Macro Definition | Value | Implication
It just begins backup, and device does initialization operation
BACKUP_SEARCH_DEVICE | 300 | Searching for backup device
BACKUP_SEARCH_FILE | 301 | Searching for record files
Backup error
BACKUP_EXCEPTION | 400 | Backup exception
BACKUP_FAIL | 500 | Backup failed
BACKUP_TIME_SEG_NO_FILE | 501 | No record file during the period
BACKUP_NO_RESOURCE | 502 | No resource
BACKUP_DEVICE_LOW_SPACE | 503 | Insufficient capacity in backup device
BACKUP_DISK_FINALIZED | 504 | Disk is finalized
BACKUP_DISK_EXCEPTION | 505 | Disk exception
BACKUP_DEVICE_NOT_EXIST | 506 | Backup device not exist
BACKUP_OTHER_BACKUP_WORK | 507 | Other backup operation is working
BACKUP_USER_NO_RIGHT | 508 | The user is not authorized
BACKUP_OPERATE_FAIL | 509 | Operation failed

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

If the progress is 100, or backup is failed, please call NET_DVR_InquestStopResume to stop resuming.

See Also

NET_DVR_InquestResumeEvent NET_DVR_InquestStopResume


NET_DVR_InquestStopResume

This API is used to stop resuming the inquest file.

BOOL NET_DVR_InquestStopResume(
  LONG   lHandle,
);

Parameters

lUserID
[in] File searching handle, the return value of NET_DVR_InquestResumeEvent

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestResumeEvent


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The structures and command numbers are different according to the various functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_RS232CFG_V30 | Get RS232 parameter | valid | NET_DVR_RS232CFG_V30 | 1036
NET_DVR_GET_SENSOR_CFG | Get sensor information | valid | NET_DVR_SENSOR_INFO | 1181
NET_DVR_GET_ALARMIN_PARAM | Get alarm input parameter | Null | NET_DVR_ALARMIN_PARAM | 1183
NET_DVR_GET_ALARMIN_PARAM_V50 | Get arming region parameter V50 | Arming region No., from 0 | NET_DVR_ALARMIN_PARAM_V50 | 1201
NET_DVR_GET_ALARMOUT_PARAM | Get alarm output parameter | Null | NET_DVR_ALARMOUT_PARAM | 1185
NET_DVR_GET_SIREN_PARAM | Get siren parameter | Null | NET_DVR_SIREN_PARAM | 1187
NET_DVR_GET_ALARM_RS485CFG | Get RS-485 parameter of alarm host | RS-485 channel No., from 1 | NET_DVR_ALARM_RS485CFG | 1189
NET_DVR_GET_ALARMHOST_MAIN_STATUS_V40 | Get main status of alarm host | Null | NET_DVR_ALARMHOST_MAIN_STATUS_V40 | 2072
NET_DVR_GET_ALARMHOST_OTHER_STATUS | Get other status of alarm host | Null | NET_DVR_ALARMHOST_OTHER_STATUS | 1191
NET_DVR_GET_ALARMHOST_OTHER_STATUS_V50 | Get alarm host other status V50 |  | NET_DVR_ALARMHOST_OTHER_STATUS_V50 | 2228
NET_DVR_GET_ALARMHOST_ENABLECFG | Get enable configuration of alarm host | Null | NET_DVR_ALARMHOST_ENABLECFG | 1193
NET_DVR_GET_GATEWAY_CFG | Get access control configuration | valid | NET_DVR_GATEWAY_CFG | 1196
NET_DVR_GET_ALARMDIALMODECFG | Get dialing configuration of alarm host | Null | NET_DVR_ALARMHOSTDIALCFG | 1198
NET_DVR_GET_ALARMDIALMODECFG | Get dialing start-up mode of alarm host | Null | NET_DVR_ALARMHOSTDIALSETUPMODE | 1204
NET_DVR_GET_ALARMHOSTSUBSYSTEM_CFG | Get subsystem parameter, please get the number of subsystem from capability set | valid | NET_DVR_ALARMSUBSYSTEMPARAM | 2001
NET_DVR_GET_ALARMHOST_GPRSCFG | Get GPRS configuration | Null | NET_DVR_ALARMHOST_GPRS_CFG | 2005
NET_DVR_GET_ALARMHOST_NETCFG_V50 | Get alarm host network parameter configuration V50 | NIC card No.: 1- main card, 2- extended card | NET_DVR_ALARMHOST_NETCFG_V50 | 2224
NET_DVR_GET_LED_SCREEN_CFG | Get LED screen parameters | valid | NET_DVR_LED_SCREEN_CFG | 2009
NET_DVR_GET_LED_CONTENT_CFG | Get LED screen display content | valid | NET_DVR_LED_CONTENT_CFG | 2011
NET_DVR_GET_LED_TIMER_SWITCH | Get timer switch information of the LED screen | valid | NET_DVR_LED_SWITCH_TIME | 2015
NET_DVR_GET_LED_TIMER_BRIGHTNESS | Get timeshare brightness of the LED screen | valid | NET_DVR_LED_BRIGHTNESS_STEP | 2018
NET_DVR_GET_ALARMHOST_AUDIO_ASSOCIATE_ALARM | Get the audio associated with alarm event | valid | NET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM | 2021
NET_DVR_GET_LED_STATUS | Get the status of LED screen | valid | NET_DVR_LED_STATUS | 2023
NET_DVR_GET_ALARMHOST_SUBSYSTEM_CFG_EX | Get partition expending parameters, get the partition number from the capability | Partition No., start from 1. | NET_DVR_SUBSYSTEM_PARAM_EX | 2030
NET_DVR_GET_ALARMHOST_PRINTER_CFG | Get the printer configuration parameters | Null | NET_DVR_ALARMHOST_PRINTER_CFG | 2032
NET_DVR_GET_ALARMHOST_EVENT_TRIG_ALARMOUT_CFG | Get the event triggering configuration | Start from 0, get the trigger number from the capability | NET_DVR_TRIGGER_EVENT | 2037
NET_DVR_GET_ALARMHOST_FAULT_CFG | Get fault handle configuration information | Null | NET_DVR_ALARMHOST_FAULT_CFG | 2039
NET_DVR_GET_SAFETYCABIN_WORK_MODE | Get ATM room working mode parameters | Null | NET_DVR_SAFETYCABIN_WORK_MODE | 2044
NET_DVR_GET_SAFETYCABIN_PERSON_SIGNAL_CFG | Get ATM room people detection parameters | Null | NET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG | 2046
NET_DVR_GET_ALARMHOST_MODULE_CFG | Get module information | Module No. ( module address):1~253 | NET_DVR_ALARMHOST_MODULE_CFG | 2048
NET_DVR_GET_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE | Get the external device alarm limit | The 2 high bytes indictae the 485 channel, and the 2 low bytes indicate the slot No., start from 1. | NET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE | 2052
NET_DVR_GET_ALARMHOST_SENSOR_JOINT_CFG | Get the analog quantity linkage configuration | Analog quantity No., start from 1. | NET_DVR_ALARMHOST_SENSOR_JOINT_CFG | 2053
NET_DVR_GET_ALARMHOST_RS485_SLOT_CFG | Get securioty control panel 485 slot Parameters | The 2 high bytes indictae the 485 channel, and the 2 low bytes indicate the slot No., start from 1. | NET_DVR_ALARMHOST_RS485_SLOT_CFG | 2056
NET_DVR_GET_ALARMHOST_SENSOR_VALUE | Get analog quantuty real-time data | Analog quantity No. | NET_DVR_SENSOR_ALARM | 2063
NET_DVR_GET_ONE_OUTPUT_SCH_RULECFG_V40 | Get single time control output parameters | Rule index, starts from 1. | NET_DVR_ONE_OUTPUT_SCH_RULECFG_V40 | 2078
NET_DVR_GET_OUTPUT_SCHEDULE_RULECFG_V40 | Get time control output parameters | Null | NET_DVR_OUTPUT_SCHEDULE_RULECFG_V40 | 2080
NET_DVR_GET_DEVICE_SELF_CHECK_STATE | Get device self checking status | Null | NET_DVR_DEVICE_SELF_CHECK_STATE | 2707
NET_DVR_GET_SUBSYSTEM_ALARM | Get partition scheduled arming/disarming parameters | Null | NET_DVR_SUBSYSTEM_ALARM | 1211
NET_DVR_GET_WHITELIST_ALARM | Get white list parameters | White list index No., from 1 | NET_DVR_ALARM_PHONECFG | 1215
NET_DVR_GET_PRIOR_ALARM | Get partition arming/disarming prior schedule parameters | Null | NET_DVR_PRIOR_SCHEDTIME | 1224
NET_DVR_GET_TAMPER_ALARMIN_PARAM | Get zone tampering alarm parameters | Zone No., start from 0. | NET_DVR_TAMPER_ALARMIN_PARAM | 1226
NET_DVR_GET_ALARM_CAPTRUE_CFG | Get alarm capture parameters | Channel No. | NET_DVR_ALARM_CAPTRUE_CFG | 2074
NET_DVR_GET_REMOTECONTROLLER_PERMISION_CFG | Get the remote control permission | Remote control user index | NET_DVR_REMOTECONTROLLER_PERMISSION_CFG | 2200
NET_DVR_GET_PREVIEW_DELAY_CFG | Get live view delay configuration | Channel No. | NET_DVR_PREVIEW_DELAY_CFG | 2206
NET_DVR_GET_ZONE_CHANNEL_LINKAGE_CFG | Get zone linked video channel configuration | Zone No., start from 0. | NET_DVR_ZONE_CHANNEL_LINKAGE_CFG | 2208
NET_DVR_GET_CENTER_SERVER_CFG | Get central alarm monitoring station server configuration | Null | NET_DVR_CENTER_SERVER_CFG | 2210
NET_DVR_GET_ALARM_CHAN_ABLITITY | Get alarm related channel capability | Null | NET_DVR_ALARM_CHAN_ABLITITY | 2714
NET_DVR_GET_ALARMCENTER_NETCFG | Get central alarm monitoring station network parameters configuration | Null | NET_DVR_ALARMCENTER_NETCFG | 2715
NET_DVR_GET_SAFETYCABIN_STATE | Get ATM room status | Null | NET_DVR_ALARMHOST_SAFETYCABINSTATE | 2197
NET_DVR_GET_RS485_CASCADE_CFG | Get RS485 cascading device configuration | Null | NET_DVR_RS485_CASCADE_CFG | 2198

See Also

NET_DVR_SetDVRConfig


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuration commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Remarks

Different obtain function corresponds to different structure and command number:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.
dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Structure | Value
NET_DVR_SET_RS232CFG_V30 | Set RS232 parameter | valid | NET_DVR_RS232CFG_V30 | 1037
NET_DVR_SET_SENSOR_CFG | Set sensor parameter | valid | NET_DVR_SENSOR_INFO | 1180
NET_DVR_SET_ALARMIN_PARAM | Set alarm input parameter | invalid | NET_DVR_ALARMIN_PARAM | 1182
NET_DVR_SET_ALARMIN_PARAM_V50 | Set arming region parameter V50 | Arming region No., from 0 | NET_DVR_ALARMIN_PARAM_V50 | 1200
NET_DVR_SET_ALARMOUT_PARAM | Set alarm output parameter | invalid | NET_DVR_ALARMOUT_PARAM | 1184
NET_DVR_SET_SIREN_PARAM | Set siren parameter | invalid | NET_DVR_SIREN_PARAM | 1186
NET_DVR_SET_ALARM_RS485CFG | Set RS-485 parameter of alarm host | valid | NET_DVR_ALARM_RS485CFG | 1188
NET_DVR_SET_ALARMHOST_ENABLECFG | Set enable configuration of alarm host | invalid | NET_DVR_ALARMHOST_ENABLECFG | 1192
NET_DVR_SET_GATEWAY_CFG | Set access control configuration | valid | NET_DVR_GATEWAY_CFG | 1197
NET_DVR_SET_ALARMDIALMODECFG | Set dialing configuration of alarm host | invalid | NET_DVR_ALARMHOSTDIALCFG | 1199
NET_DVR_SET_ALARMHOSTDIALSETUPMODE | Set dialing start-up mode of alarm host | invalid | NET_DVR_ALARMHOSTDIALSETUPMODE | 1205
NET_DVR_SET_ALARMHOSTSUBSYSTEM_CFG | Set subsystem parameter, please get the number of subsystem from capability set | valid | NET_DVR_ALARMSUBSYSTEMPARAM | 2002
NET_DVR_SET_ALARMHOST_GPRSCFG | Set GPRS configuration | invalid | NET_DVR_ALARMHOST_GPRS_CFG | 2006
NET_DVR_SET_ALARMHOST_NETCFG_V50 | Set alarm host network parameter configuration V50 | NIC card No.: 1- main card, 2- extended card | NET_DVR_ALARMHOST_NETCFG_V50 | 2225
NET_DVR_SET_LED_SCREEN_CFG | Set LED screen parameters | valid | NET_DVR_LED_SCREEN_CFG | 2010
NET_DVR_SET_LED_CONTENT_CFG | Set display content of the LED screen | valid | NET_DVR_LED_CONTENT_CFG | 2012
NET_DVR_SET_LED_TIMER_SWITCH | Set timer switch parameters of the LED screen | valid | NET_DVR_LED_SWITCH_TIME | 2016
NET_DVR_SET_LED_TIMER_BRIGHTNESS | Set timeshare brightness of the LED screen | valid | NET_DVR_LED_BRIGHTNESS_STEP | 2019
NET_DVR_LED_CHECKTIME | Set time of the LED screen | valid | NET_DVR_TIME_EX | 2020
NET_DVR_SET_ALARMHOST_AUDIO_ASSOCIATE_ALARM | Set the audio associated with alarm event | valid | NET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM | 2022
NET_DVR_GET_ALARMHOST_SUBSYSTEM_CFG_EX | Set partition expending parameters, get the partition number from the capability | Partition No., start from 1. | NET_DVR_SUBSYSTEM_PARAM_EX | 2031
NET_DVR_GET_ALARMHOST_PRINTER_CFG | Set the printer configuration parameters | Invalid | NET_DVR_ALARMHOST_PRINTER_CFG | 2033
NET_DVR_GET_ALARMHOST_EVENT_TRIG_ALARMOUT_CFG | Set the event triggering configuration | Start from 0, get the trigger number from the capability | NET_DVR_TRIGGER_EVENT | 2038
NET_DVR_GET_ALARMHOST_FAULT_CFG | Set fault handle configuration information | Invalid | NET_DVR_ALARMHOST_FAULT_CFG | 2040
NET_DVR_GET_SAFETYCABIN_WORK_MODE | Set ATM room working mode parameters | Invalid | NET_DVR_SAFETYCABIN_WORK_MODE | 2045
NET_DVR_GET_SAFETYCABIN_PERSON_SIGNAL_CFG | Set ATM room people detection parameters | Invalid | NET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG | 2047
NET_DVR_GET_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE | Set the external device alarm limit | The 2 high bytes indicate the 485 channel, and the 2 low bytes indicate the slot No., start from 1. | NET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE | 2051
NET_DVR_GET_ALARMHOST_SENSOR_JOINT_CFG | Set the analog quantity linkage configuration | Analog quantity No., start from 1. | NET_DVR_ALARMHOST_SENSOR_JOINT_CFG | 2054
NET_DVR_SET_ALARMHOST_RS485_SLOT_CFG | Set alarm host 485 slot parameters | 2 high bytes indicate 485 channel No. and 2 low bytes indicate slot No., from 1 | NET_DVR_ALARMHOST_RS485_SLOT_CFG | 2055
NET_DVR_GET_ONE_OUTPUT_SCH_RULECFG_V40 | Set single time control output parameters | Rule index, starts from 1. | NET_DVR_ONE_OUTPUT_SCH_RULECFG_V40 | 2079
NET_DVR_GET_OUTPUT_SCHEDULE_RULECFG_V40 | Set time control output parameters | Invalid | NET_DVR_OUTPUT_SCHEDULE_RULECFG_V40 | 2081
NET_DVR_SET_SUBSYSTEM_ALARM | Set sub-system timed arming/disarming parameters | Invalid | NET_DVR_SUBSYSTEM_ALARM | 1210
NET_DVR_GET_WHITELIST_ALARM | Set white list parameters | White list index No., from 1 | NET_DVR_ALARM_PHONECFG | 1216
NET_DVR_SET_PRIOR_ALARM | Set priority plan of sub-system timed arming/disarming parameters | Invalid | NET_DVR_PRIOR_SCHEDTIME | 1223
NET_DVR_GET_PRIOR_ALARM | Set partition arming/disarming prior schedule parameters | Invalid | NET_DVR_PRIOR_SCHEDTIME | 1225
NET_DVR_GET_ALARM_CAPTRUE_CFG | Set alarm capture parameters | Channel No. | NET_DVR_ALARM_CAPTRUE_CFG | 2075
NET_DVR_GET_REMOTECONTROLLER_PERMISION_CFG | Set the remote control permission | Remote control user index | NET_DVR_REMOTECONTROLLER_PERMISSION_CFG | 2201
NET_DVR_GET_PREVIEW_DELAY_CFG | Set live view delay configuration | Channel No. | NET_DVR_PREVIEW_DELAY_CFG | 2207
NET_DVR_GET_ZONE_CHANNEL_LINKAGE_CFG | Set zone linked video channel configuration | Zone No., start from 0. | NET_DVR_ZONE_CHANNEL_LINKAGE_CFG | 2209
NET_DVR_GET_CENTER_SERVER_CFG | Set central alarm monitoring station server configuration | Invalid | NET_DVR_CENTER_SERVER_CFG | 2211
NET_DVR_GET_ALARMCENTER_NETCFG | Set central alarm monitoring station network parameters configuration | Invalid | NET_DVR_ALARMCENTER_NETCFG | 2716
NET_DVR_GET_RS485_CASCADE_CFG | Set RS485 cascading device configuration | Invalid | NET_DVR_RS485_CASCADE_CFG | 2199

See Also

NET_DVR_GetDVRConfig


NET_DVR_RemoteControl

This API is used to remotely control the device.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Control command, please kindly refer to the list below
lpInBuffer
[in] Buffer that saves the input parameters, the content is related to the control command, details listed below
dwInBufferSize
[in] Size of the buffer (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below:

dwCommand Macro Definition | dwCommand Value | Control Function | lpInBuffer Structure
NET_DVR_TURNON_LED | 2013 | Turn on the LED screen | NET_DVR_CONTROL_PARAM
NET_DVR_TURNOFF_LED | 2014 | Turn the LED screen off | NET_DVR_CONTROL_PARAM
NET_DVR_SET_LED_BRIGHTNESS | 2017 | Set the brightness of the LED screen manually | NET_DVR_CONTROL_PARAM

See Also

NET_DVR_Login_V30


NET_DVR_GetDeviceAbility

This API is used to get capability set of video matrix system.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAbilityType
[in] Type of ability, details listed below:
Macro Definition | Value | Implication
ALARMHOST_ABILITY | 0x500 | Alarm host device ability
pInBuf
[in] Pointer of the input buffer (according to description mode of ability parameter, defined by device, it supports XML text or structure format)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer of the output buffer(according to description mode of ability set, defined by device, it supports XML text or structure format)
dwOutLength
[in] Length of output buffer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices, too. The input and output parameter format when getting intelligent traffic camera ability are defined as below:

Macro Definition | Type of Ability | pInBuf | pOutBuf
ALARMHOST_ABILITY | Get alarm host device ability | none | NET_DVR_ALARMHOST_ABILITY

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetAlarmDeviceUser

This API is used to get device user configuration of alarm host.

BOOL NET_DVR_GetAlarmDeviceUser(
  LONG                        lUserID,
  LONG                        lUserIndex,
  NET_DVR_ALARM_DEVICE_USER   *lpDeviceUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lUserIndex
[in] User index of alarm host
lpDeviceUser
[out] Device user configuration

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetAlarmDeviceUser
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetAlarmDeviceUser

This API is used to set device user configuration of alarm host.

BOOL NET_DVR_SetAlarmDeviceUser(
  LONG                        lUserID,
  LONG                        lUserIndex,
  NET_DVR_ALARM_DEVICE_USER   *lpDeviceUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lUserIndex
[in] User index of alarm host
lpDeviceUser
[in] Device user configuration

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetAlarmDeviceUser
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetKeyboardUser

This API is used to get keyboard user configuration of alarm host.

BOOL NET_DVR_GetKeyboardUser(
  LONG                      lUserID,
  LONG                      lUserIndex,
  NET_DVR_KEYBOARD_USER     *lpKeyboardUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lUserIndex
[in] User index of keyboard
lpKeyboardUser
[out] Keyboard user configuration

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetKeyboardUser
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetKeyboardUser

This API is used to set keyboard user configuration of alarm host.

BOOL NET_DVR_SetKeyboardUser(
  LONG                      lUserID,
  LONG                      lUserIndex,
  NET_DVR_KEYBOARD_USER     *lpKeyboardUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lUserIndex
[in] User index of keyboard
lpKeyboardUser
[in] Keyboard user configuration

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetKeyboardUser
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetOperateUser

This API is used to get operator user configuration.

BOOL NET_DVR_GetOperateUser(
  LONG                        lUserID,
  LONG                        lUserIndex,
  NET_DVR_OPERATE_USER   *lpOperateUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lUserIndex
[in] Operator user index
lpOperateUser
[out] Operator user configuration

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetOperateUser
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetOperateUser

This API is used to set operator user configuration.

BOOL NET_DVR_SetOperateUser(
  LONG                        lUserID,
  LONG                        lUserIndex,
  NET_DVR_OPERATE_USER   *lpOperateUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lUserIndex
[in] Operator user index
lpOperateUser
[in] Operator user configuration

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetOperateUser
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDeviceTypeList

This API is used to get RS-485 front-end device ability list.

BOOL NET_DVR_GetDeviceTypeList(
  LONG                       lUserID,
  NET_DVR_DEVICE_TYPE_LIST   *lpDeviceTypeList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpOperateUser
[out] RS-485 front-end device ability list

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDeviceProtoList

This API is used to get protocol list supported by RS-485 front-end device.

BOOL NET_DVR_GetDeviceProtoList(
  LONG                            lUserID,
  LONG                            lDeviceType,
  NET_DVR_DEVICE_PROTO_LIST   *lpDeviceProtoList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lDeviceType
[in] Device type
lpDeviceProtoList
[out] Protocol list supported by RS-485 front-end device

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_AlarmHostSerialStart

This API is used to setup transparent channel with alarm host.

LONG NET_DVR_AlarmHostSerialStart(
  LONG                            lUserID,
  LONG                            lSerialType,
  fAlarmHostSerialDataCallBack    cbSerialDataCallBack,
  DWORD                           dwUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lSerialType
[in] Transparent channel type: 1- 232, 2- 485
cbSerialDataCallBack
[in] Callback function, used to receive transparent channal data
dwUser
[in] User data

Callback Function

typedef void(CALLBACK *fAlarmHostSerialDataCallBack)(
  LONG     lSerialHandle,
  LONG     lPort,
  LONG     lDateType,
  char     *pRecvDataBuffer,
  DWORD    dwBufSize,
  DWORD    dwUser
);

Callback Function Parameters

lSerialHandle
[out] The return value of NET_DVR_AlarmHostSerialStart
lPort
[out] The value means slot number receiving data, and starts from 1
lDateType
[out] Data type: 0- data receiving is normal, 1- the channel doesn't support transparent channel(for 485)
pRecvDataBuffer
[out] Pointer to data buffer
dwBufSize
[out] Data size
dwUser
[out] User data

Return Values

Return -1 if it is failed, and other values are as handle parameter of functions like NET_DVR_AlarmHostSerialSend. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostSerialStop NET_DVR_AlarmHostSerialSend
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_AlarmHostSerialSend

This API is used to send data to assigned 485 or 232 port by transparent channel.

BOOL NET_DVR_AlarmHostSerialSend(
  LONG     lSerialHandle,
  LONG     lPort,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lSerialHandle
[in] The return value of NET_DVR_AlarmHostSerialStart
lPort
[in] The value means slot number receiving data, and starts from 1
pSendBuf
[in] Pointer of data buffer to be sent
dwBufSize
[in] Buffer size

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostSerialStart


NET_DVR_AlarmHostSerialStop

This API is used to stop transparent channel.

BOOL NET_DVR_AlarmHostSerialStop(
  LONG  lSerialHandle
);

Parameters

lSerialHandle
[in] The return value of NET_DVR_AlarmHostSerialStart

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostSerialStart


NET_DVR_AlarmHostSetupAlarmChan

This API is used to setup alarm channel of alarm input port.

BOOL NET_DVR_AlarmHostSetupAlarmChan(
  LONG                        lUserID,
  NET_DVR_ALARMIN_SETUP       *lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInter
[in] Parameter of alarm input port

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostCloseAlarmChan
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_AlarmHostCloseAlarmChan

This API is used to close alarm channel of alarm input port.

BOOL NET_DVR_AlarmHostCloseAlarmChan(
  LONG                        lUserID,
  NET_DVR_ALARMIN_SETUP       *lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInter
[in] Parameter of alarm input port

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostSetupAlarmChan
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_BypassAlarmChan

This API is used to set bypass of alarm input port.

BOOL NET_DVR_BypassAlarmChan(
  LONG                        lUserID,
  NET_DVR_ALARMIN_SETUP       *lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInter
[in] Parameter of alarm input port

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The situation can't be set bypass: the defense zone is armed; the 24-hour zone; the host is in programming mode or pacing mode.

See Also

NET_DVR_UnBypassAlarmChan
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_UnBypassAlarmChan

This API is used to cancel bypass of alarm input port.

BOOL NET_DVR_UnBypassAlarmChan(
  LONG                        lUserID,
  NET_DVR_ALARMIN_SETUP       *lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInter
[in] Parameter of alarm input port

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_BypassAlarmChan
NET_DVR_Login NET_DVR_Login_V30


NET_DVR_SetAlarmHostOut

This API is used to set alarm output(alarm host or alarm board)

BOOL NET_DVR_SetAlarmHostOut(
  LONG     lUserID,
  LONG     lAlarmOutPort,
  LONG     lAlarmOutStatic
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lAlarmOutPort
[in] Alarm output port. The initial output starts from 0, and 0xffffffff means all alarm output ports
lAlarmOutStatic
[in] Alarm output status: 0－stop output, 1－output

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_AlarmHostAssistantControl

This API is used to control auxiliary function.

BOOL NET_DVR_AlarmHostAssistantControl(
  LONG      lUserID,
  DWORD     dwType,
  DWORD     dwNumber,
  DWORD     dwCmdParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwType
[in] Auxiliary function type: 1- electric lock, 2- mobile gate, 3- voice output, 4- siren, 5- alarm lamp
dwNumber
[in] Control number.
For electric lock and mobile gate, it is indicated by bit, and starts from bit0;
For voice output, it is not indicated by bit, and corresponds to voice output number;
For siren (only one output), the parameter value is 1; for alarm lamp (only one output), the parameter value is 1
dwCmdParam
[in] Command parameter: 0- close, 1- open

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Please call NET_DVR_SetDVRConfig(command: NET_DVR_GET_ALARMHOST_ENABLECFG) to enable the function before calling this API.

E.g. if you want to open the siren no.1, you should enable the siren firstly.

If the function is disabled, the API will return FALSE, and the error code will be 29 (Device operation failed).


NET_DVR_AlarmHostArrayBypass

This API is used to set the alarm input to array bypass.

BOOL NET_DVR_AlarmHostArrayBypass(
  LONG     lUserID,
);

Parameters

lUserID
lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostArrayBypassResume


NET_DVR_AlarmHostArrayBypassResume

This API is used to resume the alarm input from array bypass.

BOOL NET_DVR_AlarmHostArrayBypassResume(
  LONG     lUserID,
);

Parameters

lUserID
lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostArrayBypass


NET_DVR_AlarmHostSubSystemSetupAlarmChan

This API is used to setup alarm channel of the alarm-input subsystem.

BOOL NET_DVR_AlarmHostSubSystemSetupAlarmChan(
  LONG     lUserID,
  DWORD    dwSubSystemNum
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwSubSystemNum
[in] Subsystem number, oxffffffff means all subsystems

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostSubSystemCloseAlarmChan


NET_DVR_AlarmHostSubSystemCloseAlarmChan

This API is used to remove the alarm channel of alarm-input subsystem.

BOOL NET_DVR_AlarmHostSubSystemCloseAlarmChan(
  LONG     lUserID,
  DWORD    dwSubSystemNum
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwSubSystemNum
[in] Subsystem number, oxffffffff means all subsystems

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostSubSystemSetupAlarmChan


NET_DVR_AlarmHostClearAlarm

This API is used to clear alarm of the alarm-input subsystem.

BOOL NET_DVR_AlarmHostClearAlarm(
  LONG     lUserID,
  DWORD    dwSubSystemNum
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwSubSystemNum
[in] Subsystem number, oxffffffff means all subsystems

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostSubSystemSetupAlarmChan

NET_DVR_AlarmHostSubSystemCloseAlarmChan


NET_DVR_AlarmHostGetReportMode

This API is used to get alarm uploading mode.

BOOL NET_DVR_AlarmHostGetReportMode(
  LONG     lUserID,
  LPVOID   lpOutputBuf,
  DWORD    dwOutputBufLen
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpOutputBuf
[out] Output buffer, corresponding to NET_DVR_ALARMHOST_REPORTCENTER_CFG
dwOutputBufLen
[in] The size of output buffer, please allocate the buffer according to the total number of center groups in capability set, that is N*sizeof(NET_DVR_ALARMHOST_REPORTCENTER_CFG)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostSetReportMode

NET_DVR_ALARMHOST_REPORTCENTER_CFG


NET_DVR_AlarmHostSetReportMode

This API is used to set alarm uploading mode.

BOOL NET_DVR_AlarmHostSetReportMode(
  LONG     lUserID,
  LONG     lCenterNum,
  LPVOID   lpInputBuf,
  DWORD    dwInputBufLen
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lCenterNum
[in] the total number of center groups, got from capability set
lpInputBuf
[in] Input buffer
dwInputBufLen
[in] The size of input buffer: lCenterNum*sizeof(NET_DVR_ALARMHOST_REPORTCENTER_CFG)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_AlarmHostGetReportMode

NET_DVR_ALARMHOST_REPORTCENTER_CFG


NET_DVR_SetAirCondition

This API is used to contol aircondition

BOOL NET_DVR_SetAirCondition(
  LONG                          lUserID,
  LONG                          l485Index,
  NET_DVR_AIR_CONDITION_PARAM   *lpAirConditionParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
l485Index
[in] 485 index
lpAirConditionParam
[in] Air condition remote control parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetBatteryVoltage

This API is used to get battery voltage.

BOOL NET_DVR_GetBatteryVoltage(
  LONG            lUserID,
  float           *pVoltage
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pVoltage
[out] Battery voltage

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_FindAlarmHostLog

This API is used to search log of alarm host.

LONG NET_DVR_FindAlarmHostLog(
  LONG                                  lUserID,
  LONG                                  lSelectMode,
  NET_DVR_ALARMHOST_SEARCH_LOG_PARAM    *lpSearchParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lSelectMode
[in] Search mode: 0- all; 1- according to type; 2- according to time; 3- according to time and type
lpSearchParam
[in] Structure of log searching parameter

Return Values

Return -1 if it is failed, and the other values could be used as a parameter of NET_DVR_FindNextAlarmHostLog. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_FindNextAlarmHostLog

NET_DVR_FindAlarmHostLogClose


NET_DVR_FindNextAlarmHostLog

This API is used to get log one by one.

LONG NET_DVR_FindNextAlarmHostLog(
  LONG                        lFindHandle,
  NET_DVR_ALARMHOST_LOG_RET   *lpFindData
);

Parameters

lFindHandle
[in] Handle of log query, the return value of NET_DVR_FindAlarmHostLog
lpFindData
[out] Pointer for saving file information

Return Values

Return -1 if it is failed, and other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get log information successfully
NET_DVR_FILE_NOFIND | 1001 | No log found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more log found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when searching log

Remarks

Before calling this function, please call NET_DVR_FindAlarmHostLog to get current searching handle firstly.

See Also

NET_DVR_FindAlarmHostLog


NET_DVR_FindAlarmHostLogClose

This API is used to close log query and release resource.

BOOL NET_DVR_FindAlarmHostLogClose(
  LONG   lFindHandle
);

Parameters

lFindHandle
[in] Handle of log query, the return value of NET_DVR_FindAlarmHostLog

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_FindAlarmHostLog


NET_DVR_AudioCtrl

This API is used to control voice.

BOOL NET_DVR_AudioCtrl(
  LONG    lUserID,
  DWORD   dwAudioNum,
  DWORD   dwCtrlParam,
);

Parameters

lAudioHandle
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAudioNum
[in] Voice number: 1- entrance welcome prompt tone, 2- exit welcome prompt tone, 3- some people prompt tone, 4- ATM temporarily suspended, 5- prompt tone that the door is not closed, 6- (reserved)
dwCtrlParam
[in] Control parameter: 1- play the voice, 2- empty the voice

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login_V30


NET_DVR_StartUploadFile

This API is used to start uploading the data.

LONG NET_DVR_StartUploadFile(
  LONG                                lUserID,
  LPNET_DVR_ALARMHOST_UPLOAD_PARAM    lpStruUploadParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpStruDownloadParam
[in] The uploading parameter

Return Values

Return -1 if it is failed, other values are as parameter of NET_DVR_StopUploadFile or other API. Please call NET_DVR_GetLastError to get the error code.

Remarks

The size of the data to be upload should not exceed 1M and the data format is 2~16 bit, single channel, and the sampling rate is 22K.

See Also

NET_DVR_GetUploadFileProgress NET_DVR_GetUploadFileState NET_DVR_StopUploadFile


NET_DVR_GetUploadFileProgress

This API is used to get the progress of uploading.

LONG NET_DVR_GetUploadFileProgress(
  LONG    lFileHandle
);

Parameters

lFileHandle
[in] The uploading handle, return value of NET_DVR_StartUploadFile

Return Values

Return -1 if it is failed, 0～100 mean the progress of uploading. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartUploadFile


NET_DVR_GetUploadFileState

This API is used to get the status of uploading.

LONG NET_DVR_GetUploadFileState(
  LONG    lFileHandle
);

Parameters

lFileHandle
[in] The uploading handle, return value of NET_DVR_StartUploadFile

Return Values

The return value: 1- finished, 2- uploading, 3- failed. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartUploadFile


NET_DVR_StopUploadFile

This API is used to stop uploading the data.

BOOL NET_DVR_StopUploadFile(
  LONG    lFileHandle
);

Parameters

lFileHandle
[in] The uploading handle, return value of NET_DVR_StartUploadFile

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartUploadFile


NET_DVR_StartDownloadFile

This API is used to start downloading the data.

LONG NET_DVR_StartDownloadFile(
  LONG                                  lUserID,
  LPNET_DVR_ALARMHOST_DOWNLOAD_PARAM    lpStruDownloadParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpStruDownloadParam
[in] The downloading parameter, to set the data callback function in this structure

Return Values

Return -1 if it is failed, other values are as parameter of NET_DVR_StopDownloadFile or other API. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetDownloadFileProgress NET_DVR_GetDownloadFileState NET_DVR_StopDownloadFile


NET_DVR_GetDownloadFileProgress

This API is used to get the progress of downloading.

LONG NET_DVR_GetDownloadFileProgress(
  LONG    lFileHandle
);

Parameters

lFileHandle
[in] The downloading handle, return value of NET_DVR_StartDownloadFile

Return Values

Return -1 if it is failed, 0～100 mean the progress of downloading. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartDownloadFile


NET_DVR_GetDownloadFileState

This API is used to get the status of downloading.

LONG NET_DVR_GetDownloadFileState(
  LONG    lFileHandle
);

Parameters

lFileHandle
[in] The downloading handle, return value of NET_DVR_StartDownloadFile

Return Values

The return value: 1- finished, 2- downloading, 3- failed. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartDownloadFile


NET_DVR_StopDownloadFile

This API is used to stop downloading.

BOOL NET_DVR_StopDownloadFile(
  LONG    lFileHandle
);

Parameters

lFileHandle
[in] The downloading handle, the return value of NET_DVR_StartDownloadFile

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartDownloadFile


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_USERCFG_V30 | Get user parameter | invalid | NET_DVR_USER_V30 | 1006
NET_DVR_GETSCREENINFO | Get large size display configuration information | valid | NET_DVR_SCREEN_SCREENINFO | 1601
NET_DVR_GET_SCREEN_WINCFG | Get single window parameter | valid | NET_DVR_SCREEN_WINCFG | 1603
NET_DVR_LAYOUTLIST_GET | Get layout list | valid | NET_DVR_LAYOUT_LIST | 1605
NET_DVR_INPUTLIST_GET | Get input signal source list | valid | NET_DVR_INPUTSTREAM_LIST | 1608
NET_DVR_OUTPUT_GET | Get output parameter | valid | NET_DVR_OUTPUTCFG | 1611
NET_DVR_GET_OSDCFG | Get OSD parameter | valid | NET_DVR_OSDCFG | 1613
NET_DVR_BIGSCREEN_GETSERIAL | Get serial port information of large size display | invalid | NET_DVR_SERIAL_CONTROL | 1614

When dwCommand is NET_DVR_GETSCREENINFO, lChannel: the high 2 bytes means the device number, and the low 2 bytes reserved.

When dwCommand is NET_DVR_GET_SCREEN_WINCFG, lChannel: for multi-screen controller, the 4 bytes means the window index.

When dwCommand is NET_DVR_LAYOUTLIST_GET, NET_DVR_INPUTLIST_GET or NET_DVR_OUTPUT_GET, lChannel: for multi-Screen controller, the 4 bytes reserved.

Remarks

For multi-screen controller, the user configuration(NET_DVR_GET_USERCFG_V30) only supports sUserName and sPassword of NET_DVR_USER_INFO_V30, and other parameters are invalid.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to the following configuraition commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_SET_USERCFG_V30 | Set user parameter | invalid | NET_DVR_USER_V30 | 1007
NET_DVR_SETSCREENINFO | Set large size display configuration | valid | NET_DVR_SCREEN_SCREENINFO | 1602
NET_DVR_SET_LAYOUTCFG | Set layout configuration | valid | NET_DVR_LAYOUTCFG | 1606
NET_DVR_LAYOUTCTRL | Layout control | valid | 4-byte variable, 1 means open and 2 means close | 1607
NET_DVR_SET_INPUTSTREAMCFG | Set input signal source | valid | NET_DVR_INPUTSTREAMCFG | 1609
NET_DVR_OUTPUT_SET | Set output parameter | valid | NET_DVR_OUTPUTCFG | 1610
NET_DVR_SET_OSDCFG | Set OSD parameter | valid | NET_DVR_OSDCFG | 1612
NET_DVR_SET_PLAN | Set plan parameter | valid | NET_DVR_PLAN_CFG | 1616

When dwCommand is NET_DVR_SETSCREENINFO, lChannel: the high 2 bytes means the device number, and the low 2 bytes reserved.

When dwCommand is NET_DVR_SET_LAYOUTCFG or NET_DVR_LAYOUTCTRL, lChannel: for large size display server, the high 2 bytes means the device number, and the low 2 bytes means the layout number; for multi-Screen controller, the 4 bytes means the layout number, and there are max 16 layouts, layout number: 0~15.

When dwCommand is NET_DVR_SET_INPUTSTREAMCFG, lChannel: for large size display server, the high 2 bytes means the device number, and the low 2 bytes means the signal source index; for multi-Screen controller, the 4 bytes means the signal source index: 1~224.

When dwCommand is NET_DVR_OUTPUT_SET, lChannel: for large size display server, the high 2 bytes means the device number, and the low 2 bytes reserved; for multi-Screen controller, the 4 bytes reserved.

Remarks

For multi-screen controller, the user configuration(NET_DVR_SET_USERCFG_V30) only supports sUserName and sPassword of NET_DVR_USER_INFO_V30, and other parameters are invalid.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to the following configuraition command list
dwCount
[in] The count of sub devices to be set
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to get quantities of sub-devices configuration with sending data (for the distributed multi-screen controller). lpInBuffer assigns the configuration of which sub-devices to be get, and lpOutBuffer saves the configuration information of dwCount sub-devices.
Currently, it supports to set only one sub-device once, that is, set dwCount to 1.

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_DEV_BASEINFO | Get single device information | dwCount个NET_DVR_DEVICEID_INFO | dwCount个NET_DVR_DEV_BASE_INFO | 1650
NET_DVR_GET_DEV_NETINFO | Get device network parameter | dwCount个NET_DVR_DEVICEID_INFO | dwCount个NET_DVR_NETPARAM | 1652
NET_DVR_GET_SIGNAL_SOURCE_INFO | Get signal source information | dwCount个NET_DVR_DEVICEID_INFO | dwCount个NET_DVR_CHAN_INFO | 1654

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuraition command list
dwCount
[in] The count of sub-devices to be set
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be set, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpInParamBuffer
[in] The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful.
dwInParamBufferSize
[in] The size of the configuration content

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to set quantities of sub-devices configuration with sending data (for the distributed multi-screen controller). lpInBuffer assigns to configure which sub-devices, and lpOutBuffer saves the configuration information of dwCount sub-devices to be set.
Currently, it supports to set only one sub-device once, that is, set dwCount to 1.

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_DEV_BASEINFO | Set single device information | dwCount个NET_DVR_DEVICEID_INFO | dwCount个NET_DVR_DEV_BASE_INFO | 1651
NET_DVR_SET_DEV_NETINFO | Set device network parameter | dwCount个NET_DVR_DEVICEID_INFO | dwCount个NET_DVR_NETPARAM | 1653
NET_DVR_SET_SIGNAL_SOURCE_INFO | Set signal source information | dwCount个NET_DVR_DEVICEID_INFO | dwCount个NET_DVR_CHAN_INFO | 1655
NET_DVR_ADJUST_PIC_V40 | Image fine-tuning | dwCount个NET_DVR_DEVICEID_INFO | dwCount个NET_DVR_PIC_ADJUST | 1656
NET_DVR_RESTORE_V40 | Restore the default parameters | dwCount个NET_DVR_DEVICEID_INFO | NULL | 1657
NET_DVR_SET_NET_SIGNAL | Set network signal source | dwCount个NET_DVR_DEVICEID_INFO | dwCount个NET_DVR_NETSIGNAL_INFO | 1658
NET_DVR_REBOOT_V40 | Reboot | dwCount个NET_DVR_DEVICEID_INFO | NULL | 1659

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetDevList

This API is used to get distributed sub device.

BOOL NET_DVR_GetDevList(
  LONG                lUserID,
  LPNET_DVR_DEVLIST   lpDevListInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpDevListInfo
[out] Information of distributed sub device

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Please set pBuffer in NET_DVR_DEVLIST to NULL and set dwBufLen to 0, and the API will return the count of distributed sub devices.

Then allocate the size of pBuffer by the returned number, and call this API again to get the device list.


NET_DVR_GetScreenList

This API is used to get the list of display mapping relationship.

BOOL NET_DVR_GetScreenList(
  LONG                    lUserID,
  LPNET_DVR_SCREENLIST    lpScreenListInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpScreenListInfo
[out] The list of display mapping relationship

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetScreenRelation


NET_DVR_SetScreenRelation

This API is used to set display mapping relationship.

BOOL NET_DVR_SetScreenRelation(
  LONG                     lUserID,
  LPNET_DVR_DISP_SCREEN    lpScreenInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpScreenInfo
[in] Display mapping relationship

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetScreenList


NET_DVR_TextShowCtrl

This API is used to control text show of distributed display.

BOOL NET_DVR_TextShowCtrl(
  LONG                  lUserID,
  DWORD                 dwDeviceIndex,
  LPNET_DVR_TEXTSHOW    lpText
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDeviceIndex
[in] Distributed sub device ID, could not exceed 16 bytes
lpText
[in] Display control

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_AddNetSignal

This API is used to add network signal source.

BOOL NET_DVR_AddNetSignal(
  LONG                         lUserID,
  LPNET_DVR_NETSIGNAL_INFO     lpStruSignal,
  void                         *lpOutBuf,
  DWORD                        dwBufLen
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpStruSignal
[in] Network signal source information
lpOutBuf
[out] Output buffer, points to NET_DVR_DEVICEID_INFO
dwBufLen
[in] The buffer size

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to add a network signal source on the client and the device will return the allocated deviceID. The different channel of one device is as different source and please input the transmission protocol type(byTransProtocol) and stream type(byTransMode).

See Also

NET_DVR_DEVICEID_INFO


NET_DVR_GetInputSignalList

This API is used to get signal source list.

BOOL NET_DVR_GetInputSignalList(
  LONG                           lUserID,
  DWORD                          dwDevNum,
  LPNET_DVR_INPUT_SIGNAL_LIST    lpInputSignalList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDevNum
[in] Reserved, please set to 0
lpInputSignalList
[out] Signal source list

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

1. Please call this API and set pBuffer of NET_DVR_INPUT_SIGNAL_LIST to NULL and dwBufLen to 0, then it will get the count of input signal source (dwInputSignalNums);
2. Please allocate the size of pBuffer according to the value of dwInputSignalNums, and then call this API again, it will get the signal source list (pBuffer).


NET_DVR_GetPlanList

This API is used to get plan list.

BOOL NET_DVR_GetPlanList(
  LONG                   lUserID,
  DWORD                  dwDevNum,
  LPNET_DVR_PLAN_LIST    lpPlanList
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDevNum
[in] Reserved, please set to 0
lpPlanList
[out] Plan list

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

1. Please call this API and set pBuffer of NET_DVR_PLAN_LIST to NULL and dwBufLen to 0, then it will get the count of plans (dwPlanNums);
2. Please allocate the size of pBuffer according to the value of dwPlanNums, and then call this API again, it will get plan list (pBuffer).


NET_DVR_RemoteControl

This API is used to remotely control the device.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Control command, please kindly refer to the list below
lpInBuffer
[in] Buffer that saves the input parameters, the content is related to the control command, details listed below
dwInBufferSize
[in] Size of the buffer (unit: byte)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below:

dwCommand Macro Definition | dwCommand Value | Control Function | lpInBuffer Structure
NET_DVR_CTRL_PLAN | 1617 | Control plan | NET_DVR_CONTROL_PARAM

See Also

NET_DVR_Login_V30


NET_DVR_GetAllValidWinInfo

This API is used to get information of all valid windows.

BOOL NET_DVR_GetAllValidWinInfo(
  LONG                lUserID,
  LPNET_DVR_WINLIST   lpWinListInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpWinListInfo
[out] Window list

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_ScreenWinCtrl


NET_DVR_ScreenWinCtrl

This API is used to control window.

BOOL NET_DVR_ScreenWinCtrl(
  LONG                     lUserID,
  DWORD                    dwWinIndex,
  DWORD                    dwCommand,
  LPNET_DVR_SCREEN_WINCFG  lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwWinIndex
[in] Window index, for large size display server, the high 2 bytes means the device number, and the low 2 bytes means the window index; for multi-Screen controller, the 4 bytes means the window index, and the window index should be consistent with wInputIdx in the structure NET_DVR_SCREEN_WINCFG.
dwCommand
[in] Command: 1- open, 2- close(window index = 0xffff means the operation of all windows), 3- top (set the window up to top)
lpInter
[in] Pointer of NET_DVR_SCREEN_WINCFG, input the parameter when command is "open"

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_MatrixPicAdjust

This API is used to adjust the image position on the display channel.

BOOL NET_DVR_MatrixPicAdjust(
  LONG    lUserID,
  DWORD   dwDispChan,
  DWORD   dwPicAdjust,
  DWORD   dwCmdParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDispChan
[in] Display channel number
dwPicAdjust
[in] Fine-tuning command
Macro Definition | Value | Implication
DECODEPIC_LEFTADJUST | 1 | Image shift left
DECODEPIC_RIGHTADJUST | 2 | Image shift right
DECODEPIC_UPADJUST | 3 | Image move up
DECODEPIC_DOWNADJUST | 4 | Image move down
DECODEPIC_REDUCEADJUST | 5 | Image reduce
dwCmdParam
[in] Fine-tuning parameter, integer value higher than 0, and it means the movement distance, unit: pixel. E.g. dwPicAdjust = DECODEPIC_LEFTADJUST and dwCmdParam = 1, it means that the picture moves left by one pixel.

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used for centralized multi-screen controller (V1.1, V2.0), the value range of dwCmdParam is listed as below:
When the signal source is VGA, the max value of right and left distance are 50, the max up distance is 4, and the down is 20;
When the signal source is BNC, the max value of right, left, up and down distance are all 8.
The other source doesn't support Fine-tuning.
If fine-tuning parameter is larger than the max value, the device will handle as the max value.

For this function of distributed multi-screen controller, it is achieved by NET_DVR_SetDeviceConfig (command: NET_DVR_ADJUST_PIC_V40).

See Also

NET_DVR_Login_V30


NET_DVR_ScreenCtrl

This API is used to control the screens.

BOOL NET_DVR_ScreenCtrl(
  LONG                        lUserID,
  DWORD                       dwDeviceNum,
  LPNET_DVR_SCREEN_CONTROL    lpStruScreenCtrl
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDeviceNum
[in] The higher 2 bytes mean the device number, and the lower 2 bytes mean the screen serial number (0xffff means all screens)
lpStruScreenCtrl
[in] Structure of screen control

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_PicUpload

This API is used to upload the picture as traced drawing to the device.

LONG NET_DVR_PicUpload(
  LONG                    lUserID,
  char const              *sFileName,
  LPNET_DVR_PICTURECFG    lpPictureCfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sFileName
[in] The path of the picture to be uploaded
lpPictureCfg
[in] Picture parameter

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_GetPicUploadState. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetPicUploadProgress NET_DVR_GetPicUploadState NET_DVR_CloseUploadHandle


NET_DVR_GetPicUploadProgress

This API is used to get the progress of uploading the picture.

LONG NET_DVR_GetPicUploadProgress(
  LONG    lUploadHandle
);

Parameters

lUploadHandle
[in] Uploading handle, the return value of NET_DVR_PicUpload

Return Values

Return -1 if it is failed, and 0~100 mean the uploading progress. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_PicUpload


NET_DVR_CloseUploadHandle

This API is used to close uploading handle and release the resource.

BOOL NET_DVR_CloseUploadHandle(
  LONG    lUploadHandle
);

Parameters

lUploadHandle
[in] The return value of NET_DVR_PicUpload

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_PicUpload


NET_DVR_PicControl

This API is used to control picture.

BOOL NET_DVR_PicControl(
  LONG    lUserID,
  BYTE    byUseType,
  BYTE    byPicIndex,
  BYTE    byCtrlCmd
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
byUseType
[in] Picture use purpose: 1- OSD, 2- traced drawing
byLogoSeq
[in] Picture sequence number
byCtrlCmd
[in] Control command: 1- display, 2- hide

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_StartScreenPic

This API is used to start callback the picture.

LONG NET_DVR_StartScreenPic(
  LONG               lUserID,
  DWORD              nInputNum,
  SCREENPICDATACB    PicDataCallback,
  LPVOID             pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
nInputNum
[in] The input source index
PicDataCallback
[in] Picture data callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *SCREENPICDATACB)(
  LONG      nScreenPicHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  void      *pUser
);

Callback Function Parameters

nScreenPicHandle
[out] Picture callback handle
dwDataType
[out] Data type
Macro Definition | Value | Implication
DATA_BMP | 0 | BMP picture
STREAM_SYSHEAD | 1 | System head data
STREAM_DATA | 2 | Stream data (including separate audio and video stream or composite video stream data)
pBuffer
[out] Buffer pointer for saving data
dwBufSize
[out] Buffer size
pUser
[out] User data

Return Values

Return -1 if it is failed, and the other values could be used as a parameter of NET_DVR_StopScreenPic. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StopScreenPic


NET_DVR_StopScreenPic

This API is used to stop picture callback.

BOOL NET_DVR_StopScreenPic(
  LONG    nScreenPicHandle
);

Parameters

nScreenPicHandle
[in] Picture callback handle, the return value of NET_DVR_StartScreenPic or NET_DVR_StartPicPreview

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartScreenPic NET_DVR_StartPicPreview


NET_DVR_Upgrade

Remote Upgrade Device Firmware

LONG NET_DVR_Upgrade(
  LONG   lUserID,
  char   *sFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sFileName
[in] The path of upgrade file(including the file name). The path is related to the operation system, and will not be limited by SDK. The default length of windows path should be less than 256 bytes (including the file name).

Return Values

>-1: Failed, other value will be the parameters of functions such as NET_DVR_GetUpgradeState, To get the error code, callNET_DVR_GetLastError

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_CloseUpgradeHandle
NET_DVR_GetUpgradeState NET_DVR_GetUpgradeProgress

Reference Interface

The Expanding API:

NET_DVR_Upgrade_V40


NET_DVR_StartUpgrade

This API is used to start the upgrade.

LONG NET_DVR_StartUpgrade(
  LONG                        lUserID,
  LPNET_DVR_OPERATE_DEVICE    lpStruOperate,
  DVCS_UPGRADESTATE_CB        UpgradeStateCallback,
  void                        *pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpStruOperate
[in] Device upgrade operation parameter
UpgradeStateCallback
[in] Device upgrade callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *DVCS_UPGRADESTATE_CB)(
  LONG      nUpgradeHandle,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  void      *pUser
);

Callback Function Parameters

nUpgradeHandle
[out] Current upgrade handle, the return value of NET_DVR_StartUpgrade
pBuffer
[out] The buffer to save data, corresponding to the structure: NET_DVR_UPGRADE_STATE
dwBufSize
[out] Buffer size
pUser
[out] User data

Return Values

Return -1 if it is failed, and other values are as handle parameters of functions like NET_DVR_StopUpgrade. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_UPGRADE_STATE

NET_DVR_StopUpgrade


NET_DVR_StopUpgrade

This API is used to stop the upgrade.

BOOL NET_DVR_StopUpgrade(
  LONG                        lUserID,
  LPNET_DVR_OPERATE_DEVICE    lpStruOperate,
  LONG                        lUpgradeHandle
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpStruOperate
[in] Device upgrade operation parameter, please set dwSubCommand to 2
lUpgradeHandle
[in] Device upgrade handle, return value of NET_DVR_StartUpgrade

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartUpgrade


NET_DVR_GetScreenInputStatus

This API is used to get screen status.

BOOL NET_DVR_GetScreenInputStatus(
  LONG                           lUserID,
  LPNET_DVR_SCREENINPUTSTATUS    lpStatus
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpStatus
[out] Status information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_StartServer

This API is used to start sever listening.

LONG NET_DVR_StartServer(
  char     *sLocalIP,
  WORD     wLocalPort,
  BYTE     byMode
);

Parameters

sLocalIP
[in] Local IP address, the value set to NULL means SDK gets current IP adress of the PC automatically
wLocalPort
[in] Local listening port number, set by user
byMode
[in] Listening mode: 0- TCP, 1- UDP(not support, reserved), UDP mode is used for device to query its external network address

Return Values

-1 means false, and other values could be used as handle of NET_DVR_StopServer. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to start sever listening, and then receive request information of register, preview, playback, voice talk, and alarm arming.

It requests setting CMS server address same to the IP address of client PC (same with parameter sLocalIP in the API), and setting CMS port same to listening port of client PC (same with parameter wLocalPort in the API).

See Also

NET_DVR_StopServer


NET_DVR_StopServer

This API is used to stop sever listening.

BOOL NET_DVR_StopServer(
  LONG     lServerHandle
);

Parameters

lServerHandle
[in] Listening handle, the return value of NET_DVR_StartServer

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartServer


NET_DVR_PreviewRequest

This API is used to set preview request.

BOOL NET_DVR_PreviewRequest(
  LONG                         lUserID,
  LONG                         lChannel,
  LPNET_DVR_PREVIEWPARAM       lpPreviewParam,
  LPNET_DVR_DEVICENATINFO      lpOuter
);

Parameters

lUserID
[in] Device register ID
lChannel
[in] Channel number
lpPreviewParam
[in] Preview parameter
lpOuter
[out] the network information of PU-side NAT mode, used when set NAT preview request

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_PlaybackRequest

This API is used to set playback request.

BOOL NET_DVR_PlaybackRequest(
  LONG                              lUserID,
  LPNET_DVR_PLAYBACKREQUESTPARAM    lpPlayBackRequestParam
);

Parameters

lUserID
[in] Device register ID
lpPlayBackRequestParam
[in] Playback request parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_VoiceRequest

This API is used to set voice talk request.

BOOL NET_DVR_VoiceRequest(
  LONG                           lUserID,
  LPNET_DVR_VOICEREQUESTPARAM    lpVoiceParam
);

Parameters

lUserID
[in] Device register ID
lpVoiceParam
[in] Voice talk parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_AlarmSetupRequest

This API is used to set alarm arming request.

BOOL NET_DVR_AlarmSetupRequest(
  LONG                                lUserID,
  LPNET_DVR_ALARMSETUPREQUESTPARAM    lpAlarmSetupParam
);

Parameters

lUserID
[in] Device register ID
lpAlarmSetupParam
[in] Arming parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] Device register ID
dwCommand
[in] Device configuration commands, refer to configuration commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, please set to 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Different obtain function corresponds to different structure and command number:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_CMSPARA | Get CMS parameter | invalid | NET_DVR_CMSPARAM | 1170
NET_DVR_GET_DIALSTATUS | Get dialing status parameter | invalid | NET_DVR_DIALSTATUS | 1172
NET_DVR_GET_SMSRELATIVEPARA | Get SMS parameter | invalid | NET_DVR_SMSRELATIVEPARAM | 1173
NET_DVR_GET_PINSTATUS | Get PIN status | invalid | NET_DVR_PINSTATUS | 1175
NET_DVR_GET_MB_POWERCTRLPARA | Get startup control parameter | invalid | NET_DVR_MB_POWERCTRLPARA | 8000
NET_DVR_GET_AUTOBACKUPPARA | Get automatic backup parameter | invalid | NET_DVR_MB_AUTOBACKUPPARA | 8002
NET_DVR_GET_MB_GPSPARA | Get GPS parameter | invalid | NET_DVR_MB_GPSPARA | 8004
NET_DVR_GET_MB_SENSORINPARA | Get SENSOR parameter | invalid | NET_DVR_MB_SENSORINPARA | 8006
NET_DVR_GET_MB_DOWNLOADSVRPARA | Get download server parameter | invalid | NET_DVR_MB_DOWNLOADSVRPARA | 8010
NET_DVR_GET_PLATERECOG_PARA | Get license plate recognition parameter | invalid | NET_DVR_PLATERECOG_PARA | 8012
NET_DVR_GET_ENFORCESYS_PARA | Get vehicle inspection parameter | invalid | NET_DVR_ENFORCESYS_PARA | 8014

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] Device register ID
dwCommand
[in] Device configuration commands, refer to configuration commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, please set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Different obtain function corresponds to different structure and command number:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Structure | Value
NET_DVR_SET_CMSPARA | Set CMS parameter | invalid | NET_DVR_CMSPARAM | 1171
NET_DVR_SET_SMSRELATIVEPARA | Set SMS parameter | invalid | NET_DVR_SMSRELATIVEPARAM | 1174
NET_DVR_SET_PINCMD | Set PIN command | invalid | NET_DVR_PINCODEPARAM | 1176
NET_DVR_SET_MB_POWERCTRLPARA | Set startup control parameter | invalid | NET_DVR_MB_POWERCTRLPARA | 8001
NET_DVR_SET_AUTOBACKUPPARA | Set automatic backup parameter | invalid | NET_DVR_MB_AUTOBACKUPPARA | 8003
NET_DVR_SET_MB_GPSPARA | Set GPS parameter | invalid | NET_DVR_MB_GPSPARA | 8005
NET_DVR_SET_MB_SENSORINPARA | Set SENSOR parameter | invalid | NET_DVR_MB_SENSORINPARA | 8007
NET_DVR_SET_GSENSORPARA | Set GSENSOR parameter | invalid | NET_DVR_GSENSORPARA | 8009
NET_DVR_SET_MB_DOWNLOADSVRPARA | Set download server parameter | invalid | NET_DVR_MB_DOWNLOADSVRPARA | 8011
NET_DVR_SET_PLATERECOG_PARA | Set license plate recognition parameter | invalid | NET_DVR_PLATERECOG_PARA | 8013
NET_DVR_SET_ENFORCESYS_PARA | Set vehicle inspection parameter | invalid | NET_DVR_ENFORCESYS_PARA | 8015

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_SetPushModeParam

This API is used to set push-mode parameter.

BOOL NET_DVR_SetPushModeParam(
  LPNET_DVR_PUSHMODEPARAM     pPushParam
);

Parameters

pPushParam
[in] Push-mode parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_SetDialParam

This API is used to set dial parameter.

NET_DVR_SetDialParam(
 LONG                    lUserID,
 LPNET_DVR_DIALREQUEST   lpDialRequest,
 LPNET_DVR_DIALPARAM     lpDialParam,
);

Parameters

lUserID
[in] Device register ID
lpDialRequest
[in] Dial parameter request structure
lpDialParam
[in]Dial parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetDialParam


NET_DVR_GetDialParam

This API is used to get dial parameter.

NET_DVR_GetDialParam(
 LONG                    lUserID,
 LPNET_DVR_DIALREQUEST   lpDialRequest,
 LPNET_DVR_DIALPARAM     lpDialParam,
);

Parameters

lUserID
[in] Device register ID
lpDialRequest
[in] Dial parameter request structure
lpDialParam
[out]Dial parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetDialParam


NET_DVR_SpringJPEGPicture

This API is used to trigger the device to capture picture.

BOOL NET_DVR_SpringJPEGPicture(
  LONG                        lUserID,
  LONG                        lChannel,
  NET_DVR_PUSHJPEGPARA const  *lpJpegPara
);

Parameters

lUserID
[in] Device register ID
lChannel
[in] Channel number
lpJpegPara
[in] Picture quality

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetSmsListInfo

This API is used to get SMS list information.

LONG NET_DVR_GetSmsListInfo(
  LONG                     lUserID,
  LPNET_DVR_TIME_EX        lpStartTime,
  LPNET_DVR_TIME_EX        lpStopTime,
  LPNET_DVR_SMSLISTINFO    lpSmsListInfo
);

Parameters

lUserID
[in] Device register ID
lpStartTime
[in] Starting time
lpStopTime
[in] Stopping time
lpSmsListInfo
[out] SMS list

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetSmsContent

This API is used to get SMS content.

LONG NET_DVR_GetSmsContent(
  LONG                   lUserID,
  DWORD                  dwSmsIndex,
  LPNET_DVR_SMSCONTENT   lpSmsContent
);

Parameters

lUserID
[in] Device register ID
dwSmsIndex
[in] SMS serial number
lpSmsContent
[out] SMS content.

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It reads only one SMS once.


NET_DVR_SendSms

This API is used to send SMS.

LONG NET_DVR_SendSms(
  LONG                   lUserID,
  LPNET_DVR_SMSCONTENT   lpSmsContent,
);

Parameters

lUserID
[in] Device register ID
lpSmsContent
[in] SMS content

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_SetPreviewResponseCallBack

This API is used to set response callback function of the preview stream pushed from device.

BOOL NET_DVR_SetPreviewResponseCallBack(
  PREVIEWRESPONSECallBack   fPreviewResponseCallBack,
  void                      *pUser
);

Parameters

fPreviewResponseCallBack
[in] Response callback function of the stream pushed from device
pUser
[in] User data

Callback Function

typedef LONG(CALLBACK *PREVIEWRESPONSECallBack)(
  LONG                             lUserID,
  LONG                             lStreamHandle,
  LPNET_DVR_PREVIEWCALLBACKPARAM   pPewviewCallbackParam,
  void                             *pUser
);

Callback Function Parameters

lUserID
[out] User ID
lStreamHandle
[out] Preview handle
pPewviewCallbackParam
[out] Preview callback parameter
pUser
[out] User data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

If callback function returns 0, it means successful to verify the preview request.

Remarks

After calling this API to set the callback function, please call NET_DVR_SetRealDataCallBack to get real-time stream data.

See Also

NET_DVR_SetRealDataCallBack NET_DVR_StopRealPlay


NET_DVR_SetPlaybackResponseCallBack

This API is used to set response callback function of the playback stream pushed from device.

BOOL NET_DVR_SetPlaybackResponseCallBack(
  PLAYBACKRESPONSECallBack  fPlaybackResponseCallBack,
  void                      *pUser
);

Parameters

fPlaybackResponseCallBack
[in] Response callback function of the playback stream pushed from device
pUser
[in] User data

Callback Function

typedef LONG(CALLBACK *PLAYBACKRESPONSECallBack)(
  LONG                             lUserID,
  LONG                             lPlaybackHandle,
  LPNET_DVR_PLAYBACKCALLBACKPARAM  lpPlaybackParam,
  void                             *pUser
);

Callback Function Parameters

lUserID
[out] User ID
lPlaybackHandle
[out] Playback handle
lpPlaybackParam
[out] Playback callback parameter
pUser
[out] User data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

If callback function returns 0, it means successful to verify the playback request.

Remarks

After calling this API to set the callback function, please call NET_DVR_PlayBackControl and use the playing command (NET_DVR_PLAYSTART) to start playback, and then call NET_DVR_SetPlayDataCallBack to get the playback stream data.

See Also

NET_DVR_PlayBackControl NET_DVR_SetPlayDataCallBack NET_DVR_StopPlayBack


NET_DVR_SetVoiceResponseCallBack

This API is used to set response callback function of voice talk.

BOOL NET_DVR_SetVoiceResponseCallBack(
  VOICERESPONSECallBack    fVoiceResponseCallBack,
  void                     *pUser
);

Parameters

fVoiceResponseCallBack
[in] Response callback function of voice talk
pUser
[in] User data

Callback Function

typedef LONG(CALLBACK *VOICERESPONSECallBack)(
  LONG    lUserID,
  LONG    lVoiceHandle,
  LONG    lVoiceChannel,
  BYTE    nAudioType,
  void    *pUser
);

Callback Function Parameters

lUserID
[out] User ID
lVoiceHandle
[out] Voice talk handle
lVoiceChannel
[out] Voice talk channel
nAudioType
[out] Audio encoding type: 0- G722, 1- G711
pUser
[out] User data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

If callback function returns 0, it means successful to verify the voice talk request.

See Also

NET_DVR_StopVoiceCom


NET_DVR_SetDVRMessageCallBack_V30

This API is used to register callback function to receive device alarm message.

BOOL NET_DVR_SetDVRMessageCallBack_V30(
  MSGCallBack    fMessageCallBack,
  void           *pUser
);

Parameters

fMessageCallBack
[in] Callback function
pUser
[in] User data

Callback Function

typedef void(CALLBACK *MSGCallBack)(
  LONG               lCommand,
  NET_DVR_ALARMER    *pAlarmer,
  char               *pAlarmInfo,
  DWORD              dwBufLen,
  void               *pUser
);

Callback Function Parameters

lCommand
[out] Uploaded message type:
Macro Definition | Value | Implication
COM_PUSHALARM | 0x1200 | Basic alarm information uploaded from the devices supported by SDK lower than V3.0
COM_PUSHALARM_V30 | 0x1201 | Basic alarm information uploaded from the devices supported by SDK higher than V3.0
COMM_ALARM_ALARMGPS | 0x1202 | GPS alarm information uploaded by the device
pAlarmer
[out] Alarm device information
pAlarmInfo
[out] Alarm information
dwBufLen
[out] Length of alarm information buffer
pUser
[out] User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The first parameter(lCommand) and third parameter(pAlarmInfo) of this interface callback function is related:

Message Type(lCommand) | Uploaded Content | pAlarmInfo Corresponding Structure
COM_PUSHALARM | Basic alarm information uploaded from the devices supported by SDK lower than V3.0 | NET_DVR_PUSHALARMINFO
COM_PUSHALARM_V30 | Basic alarm information uploaded from the devices supported by SDK higher than V3.0 | NET_DVR_PUSHALARMINFO_V30
COMM_ALARM_ALARMGPS | GPS alarm information | NET_DVR_GPSALARMINFO

See Also

NET_DVR_SetAlarmSetupResponseCallBack

NET_DVR_StartListen_V30


NET_DVR_SetAlarmSetupResponseCallBack

This API is used to set callback function of alarm arming request.

BOOL NET_DVR_SetAlarmSetupResponseCallBack(
  ALARMSETUPRESPONSECallBack  fAlarmSetupResponseCallBack,
  void                        *pUser
);

Parameters

fAlarmSetupResponseCallBack
[in] Callback function of alarm arming request
pUser
[in] User data

Callback Function

typedef LONG(CALLBACK *ALARMSETUPRESPONSECallBack)(
  LONG              lUserID,
  LONG              lAlarmHandle,
  void              *pUser
);

Callback Function Parameters

lUserID
[out] User ID
lAlarmHandle
[out] Arming handle
pUser
[out] User data

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

If callback function returns 0, it means successful to verify the arming request.

See Also

NET_DVR_CloseAlarmChan_V30


NET_DVR_StartListen_V30

This API is used to start listening and receive alarm information uploaded actively from device (muti-thread).

LONG NET_DVR_StartListen_V30(
  char           *sLocalIP,
  WORD           wLocalPort,
  MSGCallBack    DataCallback,
  void           *pUserData
);

Parameters

sLocalIP
[in] Local IP, can set to NULL
wLocalPort
[in] Local listening port number of PC, configured by user, should be consistent with that set in device.
DataCallback
[in] Callback function, can't be NULL
pUser
[in] User data

Callback Function

typedef void(CALLBACK *MSGCallBack)(
  LONG               lCommand,
  NET_DVR_ALARMER    *pAlarmer,
  char               *pAlarmInfo,
  DWORD              dwBufLen,
  void               *pUser
);

Callback Function Parameters

lCommand
[out] Uploaded message type:
Macro Definition | Value | Implication
COM_PUSHALARM | 0x1200 | Basic alarm information uploaded from the devices supported by SDK lower than V3.0
COM_PUSHALARM_V30 | 0x1201 | Basic alarm information uploaded from the devices supported by SDK higher than V3.0
COMM_ALARM_ALARMGPS | 0x1202 | GPS alarm information uploaded by the device
COMM_UPLOAD_PICTUREINFO | 0x2900 | Picture information uploaded by the device
pAlarmer
[out] Alarm device information
pAlarmInfo
[out] Alarm information
dwBufLen
[out] Length of alarm information buffer
pUser
[out] User data

Return Values

Return -1 if it is failed, other values are as handle parameters of function NET_DVR_StopListen_V30. Please call NET_DVR_GetLastError to get the error code.

Remarks

In order to make PC able to receive alarm information uploaded actively by device, it requires to set "remote management host IP address" or "remote alarm host IP address" in network configuration of device to same with the IP address of PC (the parameter sLocalIP in the API) , and set "remote management host port" or "remote alarm host port" to same with the listening port of the PC (the parameter wLocalPort in the API)

In order to get normally the picture information, it requires to set address and port of picture server in CMS configuration(NET_DVR_CMSPARAM) then call NET_DVR_StartListen() to start listening and set the callback function.

The callback in the API is higher priority than other callback function. That is, if the callback function set here, other callback function will not able to receive the alarm information.

The first parameter(lCommand) and third parameter(pAlarmInfo) of this interface callback function is related:

Message Type(lCommand) | Uploaded Content | pAlarmInfo Corresponding Structure
COM_PUSHALARM | Basic alarm information uploaded from the devices supported by SDK lower than V3.0 | NET_DVR_PUSHALARMINFO
COM_PUSHALARM_V30 | Basic alarm information uploaded from the devices supported by SDK higher than V3.0 | NET_DVR_PUSHALARMINFO_V30
COMM_ALARM | GPS alarm information | NET_DVR_GPSALARMINFO
COMM_UPLOAD_PICTUREINFO | Picture information | NET_DVR_PICTUREINFO

See Also

NET_DVR_StopListen_V30


NET_DVR_GetDeviceAbility

This API is used to get capability set of access controller.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAbilityType
[in] Type of ability, details listed below:
Macro Definition | Value | Implication
ACS_ABILITY | 0x801 | Access Control Capability
ALARMHOST_ABILITY | 0x500 | Device alarm host capability set
DEVICE_ABILITY_INFO | 0x011 | Device general capability type, varies with the sent capability node
pInBuf
[in] Pointer of the input buffer (according to description mode of ability parameter, defined by device, it supports XML text or structure format)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer of the output buffer(according to description mode of ability set, defined by device, it supports XML text or structure format)
dwOutLength
[in] Length of output buffer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError

Remarks

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices, too. The input and output parameter format when getting intelligent traffic camera ability are defined as below:

Get alarm host XML capability set
Macro Definition | Type of Ability | pInBuf | pOutBuf
ACS_ABILITY | Get Access Control Capability | The Input of Getting Access Control Capability | The XML Description of Access Control Capability(AcsAbility)
ALARMHOST_ABILITY | Get alarm host capability set | Null | NET_DVR_ALARMHOST_ABILITY
DEVICE_ABILITY_INFO | Device general capability type, varies with the sent capability node | Get protocol access capability set | Device protocol access capability XML description (AccessProtocolAbility)
 |  | Alarm host XML capability set get input description | Alarm host capability set XML description (AlarmHostAbility)

See Also

NET_DVR_Login_V30


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please refer to the DwCommand type definition below for details.
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF, refer to DwCommand type definition below for details.
lpOutBuffer
[out] The buffer to save the output parameters
dwOutBufferSize
[in] The size of the buffer (unit: byte ), it cannot be 0.
lpBytesReturned
[out] The actual size of the returned buffer, it can't be NULL.

Remarks

The structures and command numbers are different according to the various functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_WEEK_PLAN_CFG | Get Door Status Weekly Schedule Parameters | Weekly Schedule NO.(starts from 1) | NET_DVR_WEEK_PLAN_CFG | 2100
NET_DVR_GET_VERIFY_WEEK_PLAN | Get Card Reader Authentication Mode Weekly Schedule Parameters | Weekly Schedule NO.(starts from 1) | NET_DVR_WEEK_PLAN_CFG | 2124
NET_DVR_GET_CARD_RIGHT_WEEK_PLAN | Get Card Permission Weekly Schedule Parameters | Weekly Schedule NO.(starts from 1) | NET_DVR_WEEK_PLAN_CFG | 2126
NET_DVR_GET_DOOR_STATUS_HOLIDAY_PLAN | Get Door Status Holiday Schedule Parameters | Holiday Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_PLAN_CFG | 2102
NET_DVR_GET_VERIFY_HOLIDAY_PLAN | Get Card Reader Authentication Mode Holiday Schedule Parameters | Holiday Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_PLAN_CFG | 2128
NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN | Get Card Permission Holiday Schedule Parameters | Holiday Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_PLAN_CFG | 2130
NET_DVR_GET_DOOR_STATUS_HOLIDAY_GROUP | Get Door Status Holiday Group Schedule Parameters | Holiday Group Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_GROUP_CFG | 2104
NET_DVR_GET_VERIFY_HOLIDAY_GROUP | Get Card Reader Authentication Mode Holiday Group Schedule Parameters | Holiday Group Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_GROUP_CFG | 2132
NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP | Get Card Permission Holiday Group Schedule Parameters | Holiday Group Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_GROUP_CFG | 2134
NET_DVR_GET_DOOR_STATUS_PLAN_TEMPLATE | Get Door Status Holiday Group Schedule Template Parameters | Schedule Template Schedule NO.(starts from 1) | NET_DVR_PLAN_TEMPLATE | 2106
NET_DVR_GET_VERIFY_PLAN_TEMPLATE | Get Card Reader Authentication Mode Schedule Template Parameters | Schedule Template Schedule NO.(starts from 1) | NET_DVR_PLAN_TEMPLATE | 2136
NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE | Get Card Permission Schedule Template Parameters | Schedule Template Schedule NO.(starts from 1) | NET_DVR_PLAN_TEMPLATE | 2138
NET_DVR_GET_DOOR_CFG | Get Door Parameters | Door NO.(starts from 1) | NET_DVR_DOOR_CFG | 2108
NET_DVR_GET_DOOR_STATUS_PLAN | Get Door Status Schedule Parameters | Door NO.(starts from 1) | NET_DVR_DOOR_STATUS_PLAN | 2110
NET_DVR_GET_CARD_READER_PLAN | Get Card Reader Authentication Schedule Parameters | Card Reader NO.(starts from 1) | NET_DVR_CARD_READER_PLAN | 2142
NET_DVR_GET_GROUP_CFG | Get Group Parameters | Group NO.(starts from 1) | NET_DVR_GROUP_CFG | 2112
NET_DVR_GET_MULTI_CARD_CFG | Get Multiple Authentication Parameters | Door MO.(starts from 1) | NET_DVR_MULTI_CARD_CFG | 2114
NET_DVR_GET_SNEAK_CFG | Get Anti-passback Parameters | Invalid | NET_DVR_ANTI_SNEAK_CFG | 2119
NET_DVR_GET_CARD_READER_ANTI_SNEAK_CFG | Get Card Reader Anti-passback Parameters | Card Reader NO. | NET_DVR_CARD_READER_ANTI_SNEAK_CFG | 2146
NET_DVR_GET_MULTI_DOOR_INTERLOCK_CFG | Get Multi-door Interlocking Parameters | Invalid | NET_DVR_MULTI_DOOR_INTERLOCK_CFG | 2121
NET_DVR_GET_CARD_READER_CFG | Get Card Reader Parameters | Card Reader NO. | NET_DVR_CARD_READER_CFG | 2140
NET_DVR_GET_ACS_WORK_STATUS | Get Access Control Host Working Status | Invalid | NET_DVR_ACS_WORK_STATUS | 2123
NET_DVR_GET_ACS_WORK_STATUS_V50 | Get access control host operating status (V50) | Invalid | NET_DVR_ACS_WORK_STATUS_V50 | 2180
NET_DVR_GET_CASE_SENSOR_CFG | Get Event Alarm Input Parameters | Event Alarm Input NO.(starts from 1) | NET_DVR_CASE_SENSOR_CFG | 2144
NET_DVR_GET_PHONE_DOOR_RIGHT_CFG | Get mobile phone related door permission parameters | Mobile phone white list No., start from 1. | NET_DVR_PHONE_DOOR_RIGHT_CFG | 2148
NET_DVR_GET_EVENT_CARD_LINKAGE_CFG | Get event/card No. linkage configuration parameters | Linked event No., start from 1. | NET_DVR_EVENT_CARD_LINKAGE_CFG | 2153
NET_DVR_GET_ACS_CFG | Get access controller parameters | Invalid | NET_DVR_ACS_CFG | 2159
NET_DVR_GET_ACS_EXTERNAL_DEV_CFG | Get access control host serial port peripheral parameters | RS485 serial No., from 1 | NET_DVR_ACS_EXTERNAL_DEV_CFG | 2165
NET_DVR_GET_PERSONNEL_CHANNEL_CFG | Get personnel channel parameters | Personnel channel No., from 1 | NET_DVR_PERSONNEL_CHANNEL_CFG | 2167
NET_DVR_GET_PERSON_STATISTICS_CFG | Get people counting parameters | Invalid | NET_DVR_PERSON_STATISTICS_CFG | 2170
NET_DVR_GET_ACS_SCREEN_DISPLAY_CFG | Get screen string display parameters | Screen No., from 0 | NET_DVR_ACS_SCREEN_DISPLAY_CFG | 2172
NET_DVR_GET_GATE_TIME_CFG | Get personnel channel gate time parameters | Invalid | NET_DVR_GATE_TIME_CFG | 2174
NET_VCA_GET_FACEDETECT_RULECFG_V41 | Get face detection rule | Channel No. | NET_DVR_FACEDETECT_RULECFG_V41 | 5017

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration parameters of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, Refer to Remarks for detailes.
lChannel
[in] Channel number, if command needn't channel number, this parameter is null, set to 0xFFFFFFFF , Refer to Remarks for detailes.
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Remarks

Different obtain function corresponds to different structure and command number:

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_WEEK_PLAN_CFG | Configure Door Status Weekly Schedule Parameters | Weekly Schedule NO.(starts from 1) | NET_DVR_WEEK_PLAN_CFG | 2101
NET_DVR_SET_VERIFY_WEEK_PLAN | Configure Card Reader Authentication Mode Weekly Schedule Parameters | Weekly Schedule NO.(starts from 1) | NET_DVR_WEEK_PLAN_CFG | 2125
NET_DVR_SET_CARD_RIGHT_WEEK_PLAN | Configure Card Permission Weekly Schedule Parameters | Weekly Schedule NO.(starts from 1) | NET_DVR_WEEK_PLAN_CFG | 2127
NET_DVR_SET_DOOR_STATUS_HOLIDAY_PLAN | Configure Door Status Holiday Schedule Parameters | Holiday Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_PLAN_CFG | 2103
NET_DVR_SET_VERIFY_HOLIDAY_PLAN | Configure Card Reader Authentication Mode Holiday Schedule Parameters | Holiday Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_PLAN_CFG | 2129
NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN | Configure Card Permission Holiday Schedule Parameters | Holiday Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_PLAN_CFG | 2131
NET_DVR_SET_DOOR_STATUS_HOLIDAY_GROUP | Configure Door Status Holiday Group Schedule Parameters | Holiday Group Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_GROUP_CFG | 2105
NET_DVR_SET_VERIFY_HOLIDAY_GROUP | Configure Card Reader Authentication Mode Holiday Group Schedule Parameters | Holiday Group Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_GROUP_CFG | 2133
NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP | Configure Card Permission Holiday Group Schedule Parameters | Holiday Group Schedule NO.(starts from 1) | NET_DVR_HOLIDAY_GROUP_CFG | 2135
NET_DVR_SET_DOOR_STATUS_PLAN_TEMPLATE | Configure Door Status Schedule Template Parameters | Schedule Template Schedule NO.(starts from 1) | NET_DVR_PLAN_TEMPLATE | 2107
NET_DVR_SET_VERIFY_PLAN_TEMPLATE | Configure Card Reader Authentication Mode Schedule Template Parameters | Schedule Template Schedule NO.(starts from 1) | NET_DVR_PLAN_TEMPLATE | 2137
NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE | Configure Card Permission Schedule Template Parameters | Schedule Template Schedule NO.(starts from 1) | NET_DVR_PLAN_TEMPLATE | 2139
NET_DVR_SET_DOOR_CFG | Configure Door Parameters | Door NO.(starts from 1) | NET_DVR_DOOR_CFG | 2109
NET_DVR_SET_DOOR_STATUS_PLAN | Configure Door Status Schedule Parameters | Door NO.(starts from 1) | NET_DVR_DOOR_STATUS_PLAN | 2111
NET_DVR_SET_CARD_READER_PLAN | Configure Card Reader Authentication Schedule Parameters | Card Reader NO.(starts from 1) | NET_DVR_CARD_READER_PLAN | 2143
NET_DVR_SET_GROUP_CFG | Configure Group Parameters | Group NO.(starts from 1) | NET_DVR_GROUP_CFG | 2113
NET_DVR_SET_MULTI_CARD_CFG | Configure Multiple Authentication Parameters | Door MO.(starts from 1) | NET_DVR_MULTI_CARD_CFG | 2115
NET_DVR_SET_SNEAK_CFG | Configure Anti-passback Parameters | Null | NET_DVR_ANTI_SNEAK_CFG | 2120
NET_DVR_SET_CARD_READER_ANTI_SNEAK_CFG | Configure Card Reader Anti-passback Parameters | Card Reader NO. | NET_DVR_CARD_READER_ANTI_SNEAK_CFG | 2147
NET_DVR_SET_MULTI_DOOR_INTERLOCK_CFG | Configure Multi-door Interlocking Parameters | Null | NET_DVR_MULTI_DOOR_INTERLOCK_CFG | 2122
NET_DVR_SET_CARD_READER_CFG | Configure Card Reader Parameters | Card Reader NO. | NET_DVR_CARD_READER_CFG | 2141
NET_DVR_SET_CASE_SENSOR_CFG | Configure Event Alarm Input Parameters | Event Alarm Input NO.(starts from 1) | NET_DVR_CASE_SENSOR_CFG | 2145
NET_DVR_GET_PHONE_DOOR_RIGHT_CFG | Set mobile phone related door permission parameters | Mobile phone white list No., start from 1. | NET_DVR_PHONE_DOOR_RIGHT_CFG | 2149
NET_DVR_GET_EVENT_CARD_LINKAGE_CFG | Set event/card No. linkage configuration parameters | Linked event No., start from 1. | NET_DVR_EVENT_CARD_LINKAGE_CFG | 2154
NET_DVR_GET_ACS_CFG | Set access controller parameters | Null | NET_DVR_ACS_CFG | 2160
NET_DVR_SET_ACS_EXTERNAL_DEV_CFG | Set access control host serial port external device parameters | RS485 serial port No., starting from 1 | NET_DVR_ACS_EXTERNAL_DEV_CFG | 2166
NET_DVR_SET_PERSONNEL_CHANNEL_CFG | Set personnel channel parameters | Personnel channel No., starting from 1 | NET_DVR_PERSONNEL_CHANNEL_CFG | 2168
NET_DVR_SET_PLATFORM_VERIFY_CFG | Apply platform verification result | Null | NET_DVR_PLATFORM_VERIFY_CFG | 2169
NET_DVR_SET_PERSON_STATISTICS_CFG | Set people counting parameters | Null | NET_DVR_PERSON_STATISTICS_CFG | 2171
NET_DVR_SET_ACS_SCREEN_DISPLAY_CFG | Set screen string display parameters | Screen No., starting form 0 | NET_DVR_ACS_SCREEN_DISPLAY_CFG | 2173
NET_DVR_SET_GATE_TIME_CFG | Set personnel channel gate time parameters | Null | NET_DVR_GATE_TIME_CFG | 2175
NET_VCA_SET_FACEDETECT_RULECFG_V41 | Set face detection rule | Channel No. | NET_DVR_FACEDETECT_RULECFG_V41 | 5018

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

This API is used to get configuration of the device(batch).

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to the following configuraition command lis
dwCount
[in]The count to be set, both 0 and 1 mean one, 2 means two, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out]Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in]The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastErrorfor error code.

Remarks

This API is used to get quantities of configuration with sending data. lpInBuffer assigns to configure which window or scene, and lpOutBuffer saves the configuration information of dwCount windows or scenes to be set.

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_CARD_USERINFO_CFG | Get the card No. related user data , Set dwCount as 1 | dwCount * NET_DVR_CARD_CFG_SEND_DATA | dwCount * NET_DVR_CARD_USER_INFO_CFG | 2163
NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V50 | Get event card No. linkage configuration parameter (V50), set dwCount as 1 | dwCount * NET_DVR_EVENT_CARD_LINKAGE_COND | dwCount * NET_DVR_EVENT_CARD_LINKAGE_CFG_V50 | 2181
NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50 | Get card permission week plan parameter (V50), set dwCount as 1 | dwCount * NET_DVR_WEEK_PLAN_COND | dwCount * NET_DVR_WEEK_PLAN_CFG | 2304
NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN_V50 | Get card permission holiday plan parameter (V50), set dwCount as 1 | dwCount * NET_DVR_HOLIDAY_PLAN_COND | dwCount * NET_DVR_HOLIDAY_PLAN_CFG | 2310
NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP_V50 | Get card permission holiday group parameter (V50), set dwCount as 1 | dwCount * NET_DVR_HOLIDAY_GROUP_COND | dwCount * NET_DVR_HOLIDAY_GROUP_CFG | 2316
NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE_V50 | Get card permission plan template parameter (V50), set dwCount as 1 | dwCount * NET_DVR_PLAN_TEMPLATE_COND | dwCount * NET_DVR_PLAN_TEMPLATE | 2322

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

This API is used to set configuration of the device(batch).

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to configuraition command list
dwCount
[in] The count of cameras to be set, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in]The buffer of configuration condition, such as stream ID
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be set, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpInParamBuffer
[in] The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful.
dwInParamBufferSize
[in] The size of the configuration content

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. For error code, please callNET_DVR_GetLastError.

Remarks

This API is used to configure quantities of cameras with sending data. lpInBuffer assigns to configure which cameras, and lpOutBuffer saves the configuration information of dwCount cameras to be set. The structures and command numbers are different according to the different dwCommand, and they are listed below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_CARD_USERINFO_CFG | Set the card No. related user data , set dwCount as 1 | dwCount * NET_DVR_CARD_CFG_SEND_DATA | dwCount * NET_DVR_CARD_USER_INFO_CFG | 2164
NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V50 | Set event card No. linkage configuration parameter (V50), set dwCount as 1 | dwCount * NET_DVR_EVENT_CARD_LINKAGE_COND | dwCount * NET_DVR_EVENT_CARD_LINKAGE_CFG_V50 | 2182
NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50 | Set card permission week plan parameter (V50), set dwCount as 1 | dwCount * NET_DVR_WEEK_PLAN_COND | dwCount * NET_DVR_WEEK_PLAN_CFG | 2305
NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN_V50 | Set card permission holiday plan parameter (V50), set dwCount as 1 | dwCount * NET_DVR_HOLIDAY_PLAN_COND | dwCount * NET_DVR_HOLIDAY_PLAN_CFG | 2311
NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP_V50 | Set card permission holiday group parameter (V50), set dwCount as 1 | dwCount * NET_DVR_HOLIDAY_GROUP_COND | dwCount * NET_DVR_HOLIDAY_GROUP_CFG | 2317
NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50 | Set card permission plan template parameter (V50), set dwCount as 1 | dwCount * NET_DVR_PLAN_TEMPLATE_COND | dwCount * NET_DVR_PLAN_TEMPLATE | 2323

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_StartRemoteConfig

This API is used to start the remote configuration for the device.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Control command, please refer to the list below:
dwCommand Macro Definition | Value | Control Function | lpInBuffer | cbStateCallback
NET_DVR_GET_CARD_CFG | 2116 | Get Card Parameters | NET_DVR_CARD_CFG_COND | Return Status and data
NET_DVR_SET_CARD_CFG | 2117 | Configure Card Parameters | NET_DVR_CARD_CFG_COND | Return Status
NET_DVR_GET_CARD_CFG_V50 | 2178 | Get card parameter (V50) | NET_DVR_CARD_CFG_COND | Return status, information data
NET_DVR_SET_CARD_CFG_V50 | 2179 | Get card parameter (V50) | NET_DVR_CARD_CFG_COND | Return status
NET_DVR_GET_FINGERPRINT_CFG | 2150 | Get fingerprint parameters | NET_DVR_FINGER_PRINT_INFO_COND | Return status, information data
NET_DVR_SET_FINGERPRINT_CFG | 2151 | Set fingerprint parameters | NET_DVR_FINGER_PRINT_INFO_COND | Return status, information data
NET_DVR_GET_CARD_PASSWD_CFG | 2161 | Get parameters of enabling card password to open the door | NET_DVR_CARD_CFG_COND | Return status, information data
NET_DVR_SET_CARD_PASSWD_CFG | 2162 | Set parameters of enabling card password to open the door | NET_DVR_CARD_CFG_COND | Return status, information data
NET_DVR_GET_LOCAL_CONTROLLER_STATUS | 2176 | Get distributed access controller status | NET_DVR_LOCAL_CONTROLLER_STATUS_COND | Return status, information data
NET_DVR_GET_ONLINE_LOCAL_CONTROLLER | 2177 | Search distributed access controller | NULL | Return status, information data
lpInBuffer
[in] Input Paraneters, The detailed content is related to the configuration command.
dwInBufferLen
[in] The size of input buffer
cbStateCallback
[in] Status Call-back Function
pUserData
[in]User Data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD    dwType,
  void     *lpBuffer,
  DWORD    dwBufLen,
  void     *pUserData
);

Callback Function Parameters

dwType
[out] Configuration Status, the detailed definition is shown as follows:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Call-back Status
NET_SDK_CALLBACK_TYPE_PROGRESS
Call-back Progress(not supported currently)
NET_SDK_CALLBACK_TYPE_DATA
Call-back Data
lpBuffer
[out] The Buffer that saves the input parameters, the content is related to dwType, details listed below.
dwType | Description | lpBuffer Related Content
NET_SDK_CALLBACK_TYPE_STATUS | Status | The first 4 bytes are the value of status. dwStatus is NET_SDK_CALLBACK_STATUS_SUCCESS,getting and configuring parameters completed and succeeded; dwStatus is NET_SDK_CALLBACK_STATUS_PROCESSING,lpBuffer: 4 bytes of status + 32 bytes of card NO. dwStatus is NET_SDK_CALLBACK_STATUS_FAILED,lpBuffer: 4 bytes of status + 4 bytes of error code+ 32 bytes of card NO.; dwStatus is NET_SDK_CALLBACK_STATUS_EXCEPTION,represents long-connection configuration exception. dwStatus is NET_DVR_CALLBACK_STATUS_SEND_WAIT, means wait for a moment before sending.
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress | The value of lpBuffer represents the progress.(DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Data Information | The value of lpBuffer represents the information data. For NET_DVR_GET_CARD_CFG, the structure isNET_DVR_CARD_CFG For NET_DVR_GET_CARD_CFG_V50, the structure isNET_DVR_CARD_CFG_V50 For NET_DVR_GET_FINGERPRINT_CFG, the structure isNET_DVR_FINGER_PRINT_CFG For NET_DVR_SET_FINGERPRINT_CFG, the structure isNET_DVR_FINGER_PRINT_STATUS For NET_DVR_GET_CARD_PASSWD_CFG, the structure isNET_DVR_CARD_PASSWD_CFG For NET_DVR_SET_CARD_PASSWD_CFG, the structure isNET_DVR_CARD_PASSWD_STATUS For NET_DVR_GET_LOCAL_CONTROLLER_STATUS, the structure isNET_DVR_LOCAL_CONTROLLER_STATUS For NET_DVR_GET_ONLINE_LOCAL_CONTROLLER, the structure isNET_DVR_ONLINE_LOCAL_CONTROLLER_CFG
dwBufLen
[out] The size of buffer
pUserData
[out] User Data

Return Values

-1: Failed; Otehr value is conducted as the handle of interface such as NET_DVR_SendRemoteConfig. To get the error code ,call NET_DVR_GetLastError.

Remarks

  • When getting card parameters (NET_DVR_GET_CARD_CFG), after calling this function to enable the long connection remote configuration , the function of NET_DVR_SendRemoteConfig also needs to be called for sending the search criteria data, and the results will be returned in the call-back function configured by NET_DVR_StartRemoteConfig.
  • When configuring card parameters (NET_DVR_SET_CARD_CFG), after calling this function to enable the long connection remote configuration , the card information can be issued by calling NET_DVR_SendRemoteConfig
  • When getting fingerprint parameters via NET_DVR_GET_FINGERPRINT_CFG, call this API to start query, the result will be returned in the callback function configured via NET_DVR_StartRemoteConfig. When configuring fingerprint parameters via NET_DVR_SET_FINGERPRINT_CFG, after enabling remote configuration by calling this API. Send fingerprint data by calling NET_DVR_SendRemoteConfig, the status information will be returned in the callback function of NET_DVR_StartRemoteConfig.
  • When getting parameters of enabling card password to open door via NET_DVR_GET_CARD_PASSWD_CFG, after enabling remote configuration via this API,you need to also call NET_DVR_SendRemoteConfig to send condition data. The result will be returned in the callback function configured via NET_DVR_StartRemoteConfig. NET_DVR_SET_CARD_PASSWD_CFG. When configuring card password opening door parameters, after enabling remote configuration by calling this API, send data of enabling card password opening door by calling NET_DVR_SendRemoteConfig, Return status data in the callback function configured via NET_DVR_StartRemoteConfig.

See Also

NET_DVR_SendRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_SendRemoteConfig

Send long connection data.

BOOL NET_DVR_SendRemoteConfig(
  LONG     lHandle,
  DWORD    dwDataType,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lHandle
[in] Long Connection Handle, the return value of NET_DVR_StartRemoteConfig
dwDataType
[in] Data Type,and is related to the command (dwCommand) of long connection interface NET_DVR_StartRemoteConfig, Refer to Remarks for details.
pSendBuf
[in] The buffer for saving and sending the data, and is related to dwDataType. Refer to Remarks for details.
dwBufSize
[in] The Length of the Sending Data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

Remarks

For different datatype(dwDataType),pSendBuf relates to different architecture, refer to the following table for details.

dwCommand Macro Definition | Value | Function
NET_DVR_GET_CARD_CFG | 2116 | Get Card Parameters
dwDataType Macro Definition | Value | Function | pSendBuf Corresponded Architecture
ENUM_ACS_SEND_DATA | 0x3 | Access Control Host Type | NET_DVR_CARD_CFG_SEND_DATA
dwCommand Macro Definition | Value | Function
NET_DVR_SET_CARD_CFG | 2117 | Configure Card Parameters
dwDataType Macro Definition | Value | Function | pSendBuf Corresponded Architecture
ENUM_ACS_SEND_DATA | 0x3 | Access Control Data Type | NET_DVR_CARD_CFG

dwCommand Macro Definition | Value | Function
NET_DVR_GET_CARD_CFG_V50 | 2178 | Get card parameters (new)
dwDataType Macro Definition | Value | Function | pSendBuf Structure
ENUM_ACS_SEND_DATA | 0x3 | Access Control Data Type | NET_DVR_CARD_CFG_SEND_DATA

dwCommand Macro Definition | Value | Function
NET_DVR_SET_CARD_CFG_V50 | 2179 | Set card parameters (new)
dwDataType Macro Definition | Value | Function | pSendBuf Structure
ENUM_ACS_SEND_DATA | 0x3 | Access Control Data Type | NET_DVR_CARD_CFG_V50

dwCommand Macro Definition | Value | Description
NET_DVR_SET_FINGERPRINT_CFG | 2151 | Set fingerprint parameters
dwDataType Definition | Value | Description | pSendBuf Structure
ENUM_ACS_SEND_DATA | 0x3 | Access controller type | NET_DVR_FINGER_PRINT_CFG

dwCommand Macro Definition | Value | Description
NET_DVR_GET_CARD_PASSWD_CFG | 2161 | Get parameters of enable card password to open door
dwDataType Macro Definition | Value | Description | pSendBuf Structure
ENUM_ACS_SEND_DATA | 0x3 | Access control data type | NET_DVR_CARD_CFG_SEND_DATA

dwCommand Macro Definition | Value | Description
NET_DVR_SET_CARD_PASSWD_CFG | 2162 | Set parameters of enable card password to open door
dwDataType Macro Definition | Value | Description | pSendBuf Structure
ENUM_ACS_SEND_DATA | 0x3 | Access controller data type | NET_DVR_CARD_PASSWD_CFG
  • Before calling the interface, you must call NET_DVR_StartRemoteConfig to get the long connection handle.
  • When getting card parameters through NET_DVR_GET_CARD_CFG (conducts pSendBuf as the searching criteria), The found card parameters data will be returned in the call-back function configured by NET_DVR_StartRemoteConfig.
  • When configuring the card parameters(NET_DVR_SET_CARD_CFG), the pSendBuf is the data of the issued card. The card NO. must be incremental from small to large (can be discontinuous) , and the integer value of the card number cannot be repeated (for example, the value of 1and 01 can not be exist simultaneously), Otherwise it will return a failure. li>

See Also

NET_DVR_StartRemoteConfig


NET_DVR_StopRemoteConfig

Close the handle created by the long connection configuration interface, and release the data.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle,The return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_GetRemoteConfigState

Get long connection configuration status

BOOL NET_DVR_GetRemoteConfigState(
  LONG    lHandle,
  void    *pState
);

Parameters

lHandle
[in] Handle, return value of NET_DVR_StartRemoteConfig
pState
[out] Return 4-byte long connection status value, see below for details
pState Status Definition | Macro Definition | Description
NET_SDK_CALLBACK_STATUS_SUCCESS | 1000 | Success
NET_SDK_CALLBACK_STATUS_PROCESSING | 1001 | Processing
NET_SDK_CALLBACK_STATUS_FAILED | 1002 | Failure
NET_SDK_CALLBACK_STATUS_EXCEPTION | 1003 | Exception
NET_SDK_CALLBACK_STATUS_LANGUAGE_MISMATCH | 1004 | (IPC configuration file import) language mismatches
NET_SDK_CALLBACK_STATUS_DEV_TYPE_MISMATCH | 1005 | (IPC configuration file import) device type mismatches
NET_DVR_CALLBACK_STATUS_SEND_WAIT | 1006 | Wait for sending

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code

  • When sending interface NET_DVR_SendRemoteConfig returns failure, call the interface to get long connection status. If the status value is NET_DVR_CALLBACK_STATUS_SEND_WAIT, it means waiting for sending; if the status value is NET_SDK_CALLBACK_STATUS_PROCESSING, call the sending interface again to send data.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_RemoteControl

This API is used to remotely control the device.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Control command, please refer to the list below
lpInBuffer
[in] Buffer that saves the input parameters, the content is related to the control command, details listed below
dwInBufferSize
[in] Buffer that saves the input parameters, the content is related to the control command, details listed below

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below:

dwCommand Macro Definition | Value | Control Function | lpInBuffer Structure
NET_DVR_CLEAR_ACS_PARAM | 2118 | Clear Access Control Host Parameters | NET_DVR_ACS_PARAM_TYPE
NET_DVR_DEL_FINGERPRINT_CFG | 2152 | Delete fingerprint parameters | NET_DVR_FINGER_PRINT_INFO_CTRL

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

See Also

NET_DVR_Login_V30


NET_DVR_ControlGateway

Access Control

BOOL NET_DVR_ControlGateway(
  LONG     lUserID,
  LONG     lGatewayIndex,
  DWORD    dwStaic
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lGatewayIndex
[in] Access Controller NO., Starts from 1, -1- Operates on all doors.
dwStaic
[in] Command Value, 0- Close,1- Open, 2- Remain Open, 3- Remain Closed

Return Values

Returns TRUE on success, FALSE on failure. Please callNET_DVR_GetLastErrorto get error code.

Remarks

This API is used for access control. The API for electric lock of the auxiliary function and movable door control can be implemented by NET_DVR_AlarmHostAssistantControl


NET_DVR_STDXMLConfig

ISAPI protocol command pass-through, distributed access controller management

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Returns TRUE on success, FALSE on failure. Please callNET_DVR_GetLastErrorto get the error code.

Remarks

Use this interface to pass through ISAPI protocol command, to configure parameters and get capability set. Ensure the device supports ISAPI protocol (e.g. PUT, GET, POST, DELETE commands) before calling the interface. The input and output parameters for getting and setting different type of parameters may vary, for details, see the table below:

Function | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Add distributed access controller | PUT /ISAPI/AccessControl/localController/addDevice\r\n | LocalController | NULL
Get distributed access controller parameter | GET /ISAPI/AccessControl/localController/localControllerID/<ID>\r\n (ID is the controller number) | NULL | LocalController
Set distributed access controller parameter | PUT /ISAPI/AccessControl/localController/localControllerID/<ID>\r\n (ID is the controller number) | LocalController | NULL
Delete single distributed access controller | DELETE /ISAPI/AccessControl/localController/localControllerID/<ID>\r\n (ID is the controller number) | NULL | NULL
Delete all distributed access controller | DELETE /ISAPI/AccessControl/localController\r\n | NULL | NULL
Get capability of distributed access controller | GET /ISAPI/AccessControl/localController/capabilities\r\n | NULL | LocalController
  • Note: the "\r\n" in the strings of lpInputParam->lpRequestUrl cannot be omitted.

See Also

NET_DVR_GetLastError


NET_DVR_STDXMLConfig

ISAPI protocol command pass-through, distributed access controller control

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

Remarks

Use this interface to pass through ISAPI protocol command, to configure parameters and get capability set. Ensure the device supports ISAPI protocol (e.g. PUT, GET, POST, DELETE commands) before calling the interface. The input and output parameters for getting and setting different type of parameters may vary, for details, see the table below:

Capability set type | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get distributed access controller capability | GET /ISAPI/AccessControl/localController/control/capabilities\r\n | NULL | LocalControllerControl
Distributed access controller control | PUT /ISAPI/AccessControl/localController/control/localControllerID/<ID>\r\n (ID is the controller number) | LocalControllerControl When the command is "recover", change the timeout limit to 20s | NULL
  • Note: the "\r\n" in the strings of lpInputParam->lpRequestUrl cannot be omitted.

See Also

NET_DVR_GetLastError


NET_DVR_STDXMLConfig

ISAPI protocol pass-through, USB device management

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Use this interface to pass through ISAPI protocol command, to configure parameters and get capability set. Ensure the device supports ISAPI protocol (e.g. PUT, GET, POST, DELETE commands) before calling the interface. The input and output parameters for getting and setting different type of parameters may vary, for details, see the table below:

Function | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get USB device status | GET /ISAPI/AccessControl/USBStatus/USBNumber/<ID>\r\n (ID is USB No.) | NULL | USBStatus
Get USB device status capability | GET /ISAPI/AccessControl/USBStatus/capabilities\r\n | NULL | USBStatus
USB control | PUT /ISAPI/AccessControl/USBControl/USBNumber/<ID>\r\n (ID is USB No.) | USBControl | NULL
Get USB control capability | GET /ISAPI/AccessControl/USBControl/capabilities\r\n | NULL | USBControl
Get USB control progress | GET /ISAPI/AccessControl/USBControlProgress/USBNumber/<ID>\r\n (ID is USB No.) | NULL | USBControlProgress
Get USB control progress capability | GET /ISAPI/AccessControl/USBControlProgress/capabilities\r\n | NULL | USBControlProgress
  • Note: the "\r\n" in the strings of lpInputParam->lpRequestUrl cannot be omitted.

USB control function sequence

  • The returned success from USB control interface only means the interface is successfully called, call the interface of getting USB control progress and the progress value 100 means the control is finished. Call the interface every 3 seconds to update the progress. If any errors occur during the progress, error code 29 (device operation failed) will be returned.
  • Only one control command is allowed for one device at a time, and the following command will be proceeded after the previous command returns end or error, or the error code 28 (not enough device resource) will be returned

See Also

NET_DVR_GetLastError


NET_DVR_StartRemoteConfig

Enable long connection remote configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V40
dwCommand
[in] Configuration command, for details, see the table below:
dwCommand Macro Definition | Value | Description | Structure | cbStateCallback
NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM | 2034 | Get all arming regions within specified sub system | NET_DVR_LIST_INFO | NULL
NET_DVR_GET_ALARMHOST_TRIGGER_LIST | 2035 | Get all triggers | NULL | NULL
NET_DVR_SEARCH_ARMHOST_EXTERNAL_MODULE | 2041 | Auto search external module | NULL | Return progress and status
NET_DVR_REGISTER_ALARMHOST_EXTERNAL_MODULE | 2042 | Auto register external module | NULL | Return progress and status
lpInBuffer
[in] Input parameter, details depend on configuration command
dwInBufferLen
[in] Input buffer size
cbStateCallback
[in] Status callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status, for details, see below:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Callback status
NET_SDK_CALLBACK_TYPE_PROGRESS
Callback progress
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] Pointer to buffer of stored data, varying with dwType, for details, see the table below
dwType | Description | Content
NET_SDK_CALLBACK_TYPE_STATUS | Status | 4-byte status typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Success NET_SDK_CALLBACK_STATUS_PROCESSING, //Processing NET_SDK_CALLBACK_STATUS_FAILED //Failure }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress | lpBuffer value means progress (DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information data | lpBuffer value means information data
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

-1 means failure, other value used as handles of NET_DVR_GetNextRemoteConfig and NET_DVR_StopRemoteConfig. Please call NET_DVR_GetLastErrorto get the error code.

Remarks

After calling the interface to enable long connection remote configuration, call other interfaces to get parameters, see the table below:

dwCommand Macro Definition | Description | Follow-up interface calling
NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM | Get all arming regions within specified sub system | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_ALARMHOST_TRIGGER_LIST | Get all triggers | NET_DVR_GetNextRemoteConfig
NET_DVR_SEARCH_ARMHOST_EXTERNAL_MODULE | Continue to sort and number currently added external modules of unnumbered arming region and alarm output according to sorted arming regions and alarm outputs | NET_DVR_StopRemoteConfig
NET_DVR_REGISTER_ALARMHOST_EXTERNAL_MODULE | Re-sort and re-number all currently added external module arming region and alarm output | NET_DVR_StopRemoteConfig
  • When dwCommand is NET_DVR_SEARCH_ARMHOST_EXTERNAL_MODULE or NET_DVR_REGISTER_ALARMHOST_EXTERNAL_MODULE, call this interface to enable auto search or auto register and get progress and status through Callback function fRemoteConfigCallback. After auto search and auto register are finished, call NET_DVR_StopRemoteConfig to release resources. Then call the interface again, use NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM and NET_DVR_GET_ALARMHOST_TRIGGER_LIST to get information of all arming regions within specified sub system and all triggers.
  • Auto search: search current external modules available for communication; auto register: after auto register, the address of original module (including external trigger and external arming region) will be changed. The device will reallocate address to the modules accordingly.

    • See Also

    NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

Get information of found results in order.

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] Search handle, return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] Output data buffer, related to NET_DVR_StartRemoteConfig command (dwCommand), see "Remarks" for details
dwOutBuffSize
[in] Buffer length

Return Values

-1 means failure, other values means the information such as current obtaining status, see the table below for details. Please call NET_DVR_GetLastError for error code.

Macro Definition | Value | Description
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | Data successfully read, call NET_DVR_GetNextRemoteConfig to get the next data entry
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Wait for the device to send data, call NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | Data all loaded, call NET_DVR_StopRemoteConfig to end long connection
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Exception, call NET_DVR_StopRemoteConfig to end long connection

Remarks

Input different commands (dwCommand) when calling NET_DVR_StartRemoteConfig, for details, see the table below:

dwCommand Macro Definition | Value | Description | Strucutre
NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM | 2034 | Get all arming regions within specified sus system | NET_DVR_ALARMIN_PARAM
NET_DVR_GET_ALARMHOST_TRIGGER_LIST | 2035 | Get all triggers | NET_DVR_ALARMOUT_PARAM

Before calling the interface to get search results, call NET_DVR_StartRemoteConfig to get current search handle. The interface is used to get one found entry, repeat calling the interface to get all found information.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StopRemoteConfig

Disable handle created by long connection configuration interface and release resources

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle, return value of NET_DVR_StartRemoteConfig

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError for error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_CaptureJPEGPicture

This API is used to capture a frame and save to JPEG file.

BOOL NET_DVR_CaptureJPEGPicture(
  LONG                  lUserID,
  LONG                  lChannel,
  LPNET_DVR_JPEGPARA    lpJpegPara,
  char                  *sPicFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpJpegPara
[in] JPEG image parameter
sPicFileName
[in] URL of JPEG file

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_CREATEFILE_ERROR | 34 | Failed to create a file, during local recording, saving picture, getting configuration file or downloading record file.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_WRITEFILE_FAILED | 77 | Failed to write file, during local recording, saving picture or downloading record file.

Remarks

The API is used to capture a frame and save to JPEG file.

For IPC, it supports to capture JPEG image of current resolution; For other devices, it supports to capture JPEG image of 4CIF or below the resolution.

See Also

NET_DVR_Login_V40


NET_DVR_CaptureJPEGPicture_NEW

This API is used to capture a frame and save to the specified memory as JPEG.

BOOL NET_DVR_CaptureJPEGPicture_NEW(
  LONG                 lUserID,
  LONG                 lChannel,
  LPNET_DVR_JPEGPARA   lpJpegPara,
  char                 *sJpegPicBuffer,
  DWORD                dwPicSize,
  LPDWORD              lpSizeReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpJpegPara
[in] JPEG file parameter
sJpegPicBuffer
[in] The buffer to save the JPEG data
dwPicSize
[in] The size of input buffer
lpSizeReturned
[out] Return the size of the picture

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.

Remarks

The API is used to capture a frame and save to the specified memory.
For IPC, it supports to capture JPEG image of current resolution; For other devices, it supports to capture JPEG image of 4CIF or below the resolution.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_RemoteControl

Remote Control

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details, see the list below.
lpInBuffer
[in] Input parameters, for detailed contents (related to the control command), refer to the list below.
dwInBufferSize
[in] The size of input parameters

The lpInBuffer structures and command numbers are different according to the different control, and they are listed below:

dwCommand Macro Definition | Macro Value | Function | lpInBuffer Structure
NET_DVR_DELETE_PICTURE | 9126 | Delete the background picture | 4 bytes of background picture No.

Return Values

Return TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError

See Also

NET_DVR_Login_V30


NET_DVR_GetDeviceAbility

Get device capability set

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details see below:
Macro Definition | Value | Description
DEVICE_ABILITY_INFO | 0x011 | General device capability type, detailed capability is determined by sending nodes
pInBuf
[in] Pointer to input buffer (combined according to description of capability parameters of device, and can be XML text string pointer or structure pointer)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer to output buffer
dwOutLength
[in] Length of buffer of receiving data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices, too. The input and output parameter format when getting different capability set are defined as below:

Capability Type Macro Definition | Capability Type Description | pInBuf | pOutBuf
DEVICE_ABILITY_INFO | General device capability type, detailed capability is determined by sending nodes | education sharing system capability getting input description | Education sharing system capability set XML description (RecordingHostAbility)

See Also

NET_DVR_Login_V30


NET_DVR_GetSTDAbility

Get device capability set

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details see "Remarks"
lpAbilityParam
[in&out] Device capability set parameter (including input and output parameter)

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

If the device does not support getting capacity via ISAPI protocol, please call NET_DVR_GetDeviceAbilityto get the capability set.

For different capability set type(dwAbilityType), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, as shown below:

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_FILM_MODE_CFG_CAP | 6389 | Get movie mode configuration capability set | NULL | FilmModeCfg
NET_DVR_GET_DIRECTED_STRATEGY_CFG_CAP | 6392 | Get directed strategy configuration capability set | NULL | DirectedStrategyCfg
NET_DVR_GET_FRAME_CFG_CAP | 6395 | Get image frame configuration capability set | NULL | FrameCfg
NET_DVR_GET_AUDIO_EFFECTIVE_CFG_CAP | 6398 | Get audio effect optimization configuration capability set | 4-byte (DWORD) channel No. | AudioEffectiveCfg
NET_DVR_GET_RECORDING_PUBLISH_FILE_CAP | 6422 | Get file publishing capability set | 4-byte (DWORD) channel No. | PublishFile
NET_DVR_GET_RECORD_VIDEO_CFG_CAP | 6424 | Get recording video configuration capability set | NULL | RecordingVideoCfg
NET_DVR_GET_RTMP_CFG_CAP | 6427 | Get RTMP configuration capability set | NET_DVR_RTMP_COND | RTMPCfg
NET_DVR_GET_BACKGROUND_PIC_INFO_CAP | 6432 | Get background picture configuration capability set | NULL | BackPicInfo
NET_DVR_GET_RECORD_HOST_CAP | 6433 | Get education sharing system total capability set | NULL | RecordHostCap
NET_DVR_GET_IMAGE_DIFF_DETECTION_CFG_CAP | 6439 | Get image differential detection configuration capability set | NULL | ImageDiffDetectionCfg
NET_DVR_GET_RECORDING_PUBLISH_FILE_INFO_CAP | 6442 | Get publishing file information configuration capability set | NULL | PublishFileCfg
NET_DVR_MANUAL_CURRICULUM_CONTROL_CAP | 6443 | Get manual course recording capability set | NULL | ManualCurriculumCap

See Also

NET_DVR_GetLastError


NET_DVR_GetDVRConfig

Get device configuration information

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lChannel
[in] Channel No., set as 0xFFFFFFFF if null, for details see "Remarks"
lpOutBuffer
[out] Pointer to buffer of receiving data
dwOutBufferSize
[in] Length of buffer of receiving data (in byte), cannot be 0
lpBytesReturned
[out] Pointer to length of actually received data, cannot be null

Remarks

For details see below.

  • Channel No. means device video channel No., get number of analog channels (byChanNum), analog channel start channel No. (byStartChan) and max. number of supported IP channels (byIPChanNum+ byHighDChanNum*256) and digital channel start channel No.(byStartDChan) from the device information (NET_DVR_DEVICEINFO_V30) returned through registering device (NET_DVR_Login_V30).

    • dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_LOGO_OVERLAYCFG | Get LOGO overlay parameters | Null | NET_DVR_LOGO_OVERLAYCFG | 3234
NET_DVR_GET_RECORDING_AUTO_TRACK_CFG | Get SDI auto-tracking configuration information | Null | NET_DVR_AUTO_TRACK_CFG | 6307
NET_DVR_GET_RECORDING_PUBLISH_CFG | Get one-click publishing information | Null | NET_DVR_PUBLISH_CFG | 6309
NET_DVR_GET_RECORDING_END_TIME | Get left recording time (end time point) | Null | NET_DVR_TIME_EX | 6312
NET_DVR_GET_COURSE_INDEX_CFG | Get course information index | Course index No., from 1 | NET_DVR_COURSE_RECORDING_INFO | 6316
NET_DVR_GET_PPT_CHANNEL | Get PPT supported channel No. | Null | NET_DVR_PPT_CHANNEL_CFG | 6318
NET_DVR_GET_PPT_DETECT_CFG | Get PPT detection parameters | Channel No. | NET_DVR_PPT_DETECT_CFG | 6319
NET_DVR_GET_RECORDINGHOST_CFG | Get education sharing system configuration information | Null | NET_DVR_RECORDING_HOST_CFG | 6321
NET_DVR_GET_BACKUP_RECORD_CFG | Get one-click backup configuration information | Null | NET_DVR_BACKUP_RECORD_PARAM | 6323
NET_DVR_GET_MIX_AUDIOIN_CFG | Get audio mix input port parameter configuration | Audio input port No., from 1 | NET_DVR_MIX_AUDIOIN_CFG | 6351
NET_DVR_GET_MIX_AUDIOOUT_CFG | Get audio mix output port parameter configuration | Audio output port No., from 1 | NET_DVR_MIX_AUDIOOUT_CFG | 6353
NET_DVR_GET_AUDIOIN_VOLUME_CFG | Get audio input port volume adjustment parameters | Audio input port No., from 1 | NET_DVR_VOLUME_CFG | 6355
NET_DVR_GET_AUDIOOUT_VOLUME_CFG | Get audio output port volume adjustment parameters | Audio output No., from 1 | NET_DVR_VOLUME_CFG | 6369
NET_DVR_GET_VIDEOOUT_RESOLUTION_CFG | Get device local video output port resolution | Video output port No., from 1 | NET_DVR_VIDEOOUT_RESOLUTION_CFG | 6367
NET_DVR_GET_MEMU_OUTPUT_MODE | Get menu output mode | Null | NET_DVR_MENU_OUTPUT_MODE | 155649

    Return Values

    Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

    Below are the possible error codes

    Type | Value | Description
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Creating SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

    See Also

    NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lChannel
[in] Channel No., set as 0xFFFFFFFF if null, for details see "Remarks"
lpInBuffer
[in] Pointer to buffer of input data
dwInBufferSize
[in] Length of buffer of input data (in byte)

Remarks

For details see below.

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_LOGO_OVERLAYCFG | Set LOGO overlay parameters | Null | NET_DVR_LOGO_OVERLAYCFG | 3235
NET_DVR_SET_RECORDING_AUTO_TRACK_CFG | Set SDI auto-tracking configuration information | Null | NET_DVR_AUTO_TRACK_CFG | 6308
NET_DVR_SET_RECORDING_PUBLISH_CFG | Set one-click publishing information | Null | NET_DVR_PUBLISH_CFG | 6310
NET_DVR_RECORDING_ONEKEY_CONTROL | One-click configuration for education sharing system | Null | NET_DVR_RECORDING_CONTROL_CFG | 6311
NET_DVR_SET_COURSE_INDEX_CFG | Set course information index | Course index No., from 1 | NET_DVR_COURSE_RECORDING_INFO | 6317
NET_DVR_SET_PPT_DETECT_CFG | Set PPT detection parameters | Channel No. | NET_DVR_PPT_DETECT_CFG | 6320
NET_DVR_SET_RECORDINGHOST_CFG | Set education sharing system configuration information | Null | NET_DVR_RECORDING_HOST_CFG | 6322
NET_DVR_SET_BACKUP_RECORD_CFG | Set one-click backup configuration information | Null | NET_DVR_BACKUP_RECORD_PARAM | 6324
NET_DVR_SET_MIX_AUDIOIN_CFG | Set audio mix input port parameter configuration | Channel No. | NET_DVR_MIX_AUDIOIN_CFG | 6352
NET_DVR_SET_MIX_AUDIOOUT_CFG | Set audio mix output port parameter configuration | Audio output port No., from 1 | NET_DVR_MIX_AUDIOOUT_CFG | 6354
NET_DVR_SET_AUDIOIN_VOLUME_CFG | Set audio input port volume adjustment parameters | Audio input port No., from 1 | NET_DVR_VOLUME_CFG | 6356
NET_DVR_SET_AUDIOOUT_VOLUME_CFG | Set audio output port volume adjustment parameters | Audio output No., from 1 | NET_DVR_VOLUME_CFG | 6370
NET_DVR_SET_VIDEOOUT_RESOLUTION_CFG | Set device local video output port resolution | Video output port No., from 1 | NET_DVR_VIDEOOUT_RESOLUTION_CFG | 6368
NET_DVR_SET_MEMU_OUTPUT_MODE | Set menu output mode | Null | NET_DVR_MENU_OUTPUT_MODE | 155650

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Below are the possible error codes

Type | Value | Description
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Creating SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Get device configuration information in batch (with sending data)

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see below
dwCount
[in] Number of cameras to get for once, 0 and 1 both mean information of 1 camera, 2 means 2 camera, and so forth, max 64
lpInBuffer
[in] Pointer to configuration condition buffer, such as stream ID
dwInBufferSize
[in] Length of configuration condition buffer
lpStatusList
[out] Error information list, corresponding to each cameras to search, e.g., lpStatusList[2] corresponds to lpInBuffer[2]. The memory is assigned by user, every error information is 4 bytes (a 32-bit non-character integer), value: 0 or 1 means success, other values are error codes
lpOutBuffer
[out] Parameter returned by device, corresponding to each camera to search. If the lpStatusList information of a certain camera is over 1, its lpOutBuffer is invalid
dwOutBufferSize
[in] Total size of dwCount*return result

Return Values

Return TRUE on success, but it doesn't mean all configurations are successful. Identify which one is successful by checking the corresponding value of lpStatusList[n]. Return FALSE on all failure. Call NET_DVR_GetLastError to get error code.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of wCount cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras.
For details see below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_CURRICULUM_CFG | Get course list configuration information | dwCount*NET_DVR_DATE | dwCount*NET_DVR_CURRICULUM_CFG | 6314

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Set device configuration information in batch (with sending data)

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Set device command, for details see below
dwCount
[in] Number of cameras to set for once, 0 and 1 both mean information of 1 camera, 2 means 2 camera, and so forth, max 64
lpInBuffer
[in] Pointer to configuration condition buffer, such as stream ID
dwInBufferSize
[in] Length of configuration condition buffer
lpStatusList
[out] Error information list, corresponding to each cameras to search, e.g., lpStatusList[2] corresponds to lpInBuffer[2]. The memory is assigned by user, every error information is 4 bytes (a 32-bit non-character integer), value: 0 or 1 means success, other values are error codes
lpInParamBuffer
[in] Parameter to set for the device, corresponding to each camera to search. If the lpStatusList information of a certain camera is over 1, its lpOutBuffer is invalid, 0 or 1 means success
dwInParamBufferSize
[in] Set size of content buffer

Return Values

Return TRUE on success, but it doesn't mean all configurations are successful. Identify which one is successful by checking the corresponding value of lpStatusList[n]. Return FALSE on all failure. Call NET_DVR_GetLastError to get error code.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of wCount cameras to be set, and lpOutBuffer saves the configuration information of dwCount cameras.

For details see below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_CURRICULUM_CFG | Set course list configuration information | dwCount个NET_DVR_DATE | dwCount个NET_DVR_CURRICULUM_CFG | 6315

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configure input and output parameters, for details see "Remarks"

Return Values

TRUE means success, FALSE means failure. Call NET_DVR_GetLastError to get error code.

Remarks

When getting configuration parameters, lpInBuffer of structure lpConfigParam is invalid, and is set to null. For different configuration function(dwCommand), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, as shown in the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_FILM_MODE_CFG | Get movie mode | NULL | NET_DVR_FILM_MODE_CFG | 6387
NET_DVR_GET_DIRECTED_STRATEGY_CFG | Get directed strategy type | NULL | NET_DVR_DIRECTED_STRATEGY_CFG | 6390
NET_DVR_GET_FRAME_CFG | Get image frame | NET_DVR_FRAME_COND | NET_DVR_FRAME_CFG | 6393
NET_DVR_GET_AUDIO_EFFECTIVE_CFG | Get audio optimization parameter | 4-byte (DWORD) channel No. | NET_DVR_AUDIO_EFFECTIVE_CFG | 6396
NET_DVR_GET_RECORD_VIDEO_CFG | Get recording video parameter | NULL | NET_DVR_RECORD_VIDEO_CFG | 6399
NET_DVR_GET_PUBLISH_PROGRESS | Get publishing progress | NET_DVR_PUBLISH_PROGRESS_COND | NET_DVR_PUBLISH_PROGRESS_CFG | 6423
NET_DVR_GET_RTMP_CFG | Get RTM parameter | NET_DVR_RTMP_COND | NET_DVR_RTMP_CFG | 6425
NET_DVR_GET_BACKGROUND_PIC_CFG | Search background picture file | NET_DVR_BACKGROUND_PIC_COND | NET_DVR_BACKGROUND_PIC_CFG | 6429
NET_DVR_GET_BACKGROUND_PIC_INFO | Which picture to be used as background picture | NULL | NET_DVR_BACKGROUND_PIC_INFO | 6430
NET_DVR_GET_RECORD_STATUS | Search current status of education sharing system | NULL | NET_DVR_RECORD_STATUS | 6435
NET_DVR_GET_IMAGE_DIFF_DETECTION_CFG | Get image differential detection parameter | Channel No. | NET_DVR_IMAGE_DIFF_DETECTION_CFG | 6437
NET_DVR_GET_RECORDING_PUBLISH_FILE_INFO | Get publishing file information parameter | NET_DVR_RECORDING_PUBLISH_FILE_COND | NET_DVR_RECORDING_PUBLISH_FILE_CFG | 6440

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Set device configuration information

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configure input and output parameters, for details see "Remarks"

Return Values

TRUE means success, FALSE means failure. Call NET_DVR_GetLastError to get error code.

Remarks

When setting configuration parameters, lpInBuffer of structure lpConfigParam is invalid, and is set to null. For different configuration function(dwCommand), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, as shown in the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_FILM_MODE_CFG | Set movie mode | NULL | NET_DVR_FILM_MODE_CFG | 6388
NET_DVR_SET_DIRECTED_STRATEGY_CFG | Set directed strategy type | NULL | NET_DVR_DIRECTED_STRATEGY_CFG | 6391
NET_DVR_SET_FRAME_CFG | Set image frame | NET_DVR_FRAME_COND | NET_DVR_FRAME_CFG | 6394
NET_DVR_SET_AUDIO_EFFECTIVE_CFG | Set audio optimization parameter | 4-byte (DWORD) channel No. | NET_DVR_AUDIO_EFFECTIVE_CFG | 6397
NET_DVR_SET_RECORD_VIDEO_CFG | Set recording video parameter | NULL | NET_DVR_RECORD_VIDEO_CFG | 6400
NET_DVR_RECORDING_PUBLISH_FILE | File publishing | 4-byte (DWORD) channel No. | NET_DVR_RECORDING_PUBLISH_FILE_CFG | 6421
NET_DVR_SET_RTMP_CFG | Set RTMP parameter | NET_DVR_RTMP_COND | NET_DVR_RTMP_CFG | 6426
NET_DVR_SET_BACKGROUND_PIC_INFO | Which picture to be used as background picture | NULL | NET_DVR_BACKGROUND_PIC_INFO | 6431
NET_DVR_SET_IMAGE_DIFF_DETECTION_CFG | Set image differential detection parameter | Channel No. | NET_DVR_IMAGE_DIFF_DETECTION_CFG | 6438
NET_DVR_SET_RECORDING_PUBLISH_FILE_INFO | Set publishing file information parameter | NET_DVR_RECORDING_PUBLISH_FILE_COND | NET_DVR_RECORDING_PUBLISH_FILE_CFG | 6441

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_StartRemoteConfig

Start remote configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Configuration command, for details see below:
dwCommand Macro Definition | Value | Control Function | lpInBuffer Structure | cbState Callback
NET_DVR_RECORDING_PUBLISH | 6313 | One-key publish video | NET_DVR_ONEKEY_PUBLISH_CFG | NULL
NET_DVR_GET_COURSE_LIST | 6434 | Get course list | NET_DVR_COURSE_LIST_COND | NULL
NET_DVR_GET_STATISTIC_DATA_LIST | 6444 | Get statistics data list | NET_DVR_STATISTIC_DATA_COND | NULL
lpInBuffer
[in] Input parameter, for details see configuration command
dwInBufferLen
[in] Size of input buffer
cbStateCallback
[in] Status callback function, set as null
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status
lpBuffer
[out] Pointer to buffer for storing data, corresponding to dwType, for details see list below
dwType | Description | lpBuffer Content
NET_SDK_CALLBACK_TYPE_STATUS | Status | The first 4 bytes are status value (dwStatus): dwStatus=NET_SDK_CALLBACK_STATUS_SUCCESS, means getting and configuring is successful and finished; dwStatusΪNET_SDK_CALLBACK_STATUS_PROCESSING, lpBuffer: 4-byte status + 32-byte card No.; dwStatusΪNET_SDK_CALLBACK_STATUS_FAILED, lpBuffer: 4-byte status + 4-byte error code + 32-byte card No.; dwStatusΪNET_SDK_CALLBACK_STATUS_EXCEPTION, means long connection configuration exception dwStatusΪNET_DVR_CALLBACK_STATUS_SEND_WAIT, means wait for a period of time and send
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | lpBuffer value means progress (DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information data | lpBuffer value means information data For NET_DVR_GET_COURSE_LIST, corresponding structure: NET_DVR_COURSE_CFG NET_DVR_GET_STATISTIC_DATA_LIST, structure:NET_DVR_ STATISTIC_DATA_CFG
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

-1 means failure, other values serve as handles of NET_DVR_GetNextRemoteConfig and NET_DVR_StopRemoteConfig. When failure is returned, call NET_DVR_GetLastError to get error code.

Remarks

After enabling one-key publish through the interface, call NET_DVR_GetNextRemoteConfig to get progress.

See Also

NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

Get found information in order

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] Search handle, return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] Output data buffer, related to NET_DVR_StartRemoteConfig command (dwCommand), for details see list below
dwOutBuffSize
[in] Buffer length

Input different command No.(dwCommand) when calling NET_DVR_StartRemoteConfig, lpOutBuff corresponds to different structures, as shown below:

dwCommand Macro Definition | Value | Control Function | lpOutBuff Structure
NET_DVR_RECORDING_PUBLISH | 6313 | One-key publish video | 4-byte progress value (DWORD), 0 to 100

Return Values

-1 means failure, other values mean information including current getting status, for details see below. If failure is returned, call NET_DVR_GetLastError to get error code.

Macro Definition | Value | Description
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | Data is successfully read. After this data is processed, call NET_DVR_GetNextRemoteConfig again to get next data
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Wait for the device to send data, continue to call NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | Data is completely read, call NET_DVR_StopRemoteConfig to end long connection
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Exception occurred, call NET_DVR_StopRemoteConfig to end long connection

Remarks

Before calling the interface to get progress, NET_DVR_StartRemoteConfig must be called to get long connection handle.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StopRemoteConfig

Close the handle created by long connection configuration interface and release resource.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle, return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_STDControl

Remote control

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details see "Remarks"
lpControlParam
[in&out] Remote control input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

For different configuration function (dwCommand), lpCondBuffer of lpControlParam corresponds to different content, for details see below

dwCommand Macro Definition | Value | Description | lpCondBuffer Structure
NET_DVR_DEL_BACKGROUND_PIC | 6428 | Delete background picture file | NET_DVR_BACKGROUND_PIC_COND
NET_DVR_MANUAL_CURRICULUM_CONTROL | 6436 | Manual course list recording control | NET_DVR_MANUAL_CURRICULUM_CFG

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_UploadFile_V40

Upload file

LONG NET_DVR_UploadFile_V40(
  LONG      lUserID,
  DWORD     dwUploadType,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  char      *sFileName,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwUploadType
[in] Upload file type, for details see below
lpInBuffer
[in] Input parameter. Different dwUploadType corresponds to different input parameter, for details see below
dwInBufferSize
[in] Input buffer size
sFileName
[in] File ID assigned by device, empty when uploading new file, and cannot be empty when resume uploading (return file ID when input new file upload)
lpOutBuffer
[out] Output parameter. Different dwUploadType correspond to different output parameters, for details see below
dwInBufferSize
[in] Size of output buffer

Return Values

-1 means failure, other values serve as parameters of NET_DVR_UploadSend and NET_DVR_UploadClose. Call NET_DVR_GetLastError to get error code.

Remarks

Different upload file types correspond to different command No. (dwUploadType), and input parameters correspond to different structures, as shown below:

dwUploadType Macro Definition | Value | dwUploadType Description | lpInBuffer Structure | lpOutBuffer Structure
UPLOAD_BACKGROUND_PIC | 10 | Upload background picture | NET_DVR_BACKGROUND_PIC_PRARAM | NET_DVR_UPLOAD_DB_OUT

See Also

NET_DVR_GetUploadState NET_DVR_UploadClose


NET_DVR_GetUploadState

Get file upload progress and status

LONG NET_DVR_GetUploadState(
  LONG       lUploadHandle,
  LPDWORD    pProgress
);

Parameters

lUploadHandle
[in] File upload handle, return value of NET_DVR_UploadFile_V40
pProgress
[out] Return progress value

Return Values

-1 means calling function failure, others are upload status value: 1- upload succeeded, 2- uploading, 3- upload failed, 4- network disconnection, status unknown, 6- HDD error, 7- no inquest storage HDD, 8- not enough capacity, 9- not enough device resources, 10- number of files exceeded 40, 19- incorrect file format, 20- incorrect file content, 21- upload audio sampling rate not supported. Call NET_DVR_GetLastError to get error code.

Remarks

When getting status is 4- network disconnection, status unknown, call NET_DVR_UploadClose to stop upload and release resources, and call NET_DVR_UploadFile_V40 to resume upload after network is recovered.

See Also

NET_DVR_UploadFile_V40 NET_DVR_UploadClose


NET_DVR_UploadClose

Stop file upload

BOOL NET_DVR_UploadClose(
  LONG    lUploadHandle
);

Parameters

lUploadHandle
[in] File upload handle, return value of NET_DVR_UploadFile_V40 or NET_DVR_UploadFile

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

See Also

NET_DVR_UploadFile_V40


CVR API Description

Functions of CVR include live view, video data getting, video file locking and unlocking, play back, download, backup, manual record, alarm upload, voice talk, HDD management, and remote configuration、

Device Model | Function | API | Parameters
Get device capability set
CVR Get device capability set NET_DVR_GetDeviceAbility Capability set type: DEVICE_SOFTHARDWARE_ABILITY、
DEVICE_ABILITY_INFO (in which CVR device capability set CVRAbility)
CVR Get storage total capability set (RACM capability) NET_DVR_GetSTDAbility Capability set type: NET_DVR_GET_RACM_CAP
(added in V2.3.2-4)
CVR Get history video passback capability set NET_DVR_GetSTDAbility Capability set type: NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG_CAP、
NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG_CAP
(added in V2.3.2-4)
Live view
CVR | Set play display mode | NET_DVR_SetShowMode
CVR | Create a key frame in main stream | NET_DVR_MakeKeyFrame
CVR | Create a key frame in sub stream | NET_DVR_MakeKeyFrameSub
CVR | Real-time live view | NET_DVR_RealPlay_V30
CVR | Stop live view | NET_DVR_StopRealPlay
CVR | Get player handle for decoding and display when preview real time | NET_DVR_GetRealPlayerIndex
CVR | Overlay characters or image on preview DC, no such interface on Linux system | NET_DVR_RigisterDrawFun
CVR | Set audio play mode | NET_DVR_SetAudioMode
CVR | Open sound under exclusive sound card mode | NET_DVR_OpenSound
CVR | Close sound on monopolistic sound card mode | NET_DVR_CloseSound
CVR | Open sound under shared sound card mode | NET_DVR_OpenSoundShare
CVR | Close sound on share sound card mode | NET_DVR_CloseSoundShare
CVR | Adjust playing volume | NET_DVR_Volume
CVR | Set callback function and user handle the data received from the client-end | NET_DVR_SetRealDataCallBack
CVR | Set callback function for capturing standard stream | NET_DVR_SetStandardDataCallBack
CVR | Capture data and save it into specified file | NET_DVR_SaveRealData
CVR | Stop stream data capture | NET_DVR_StopSaveRealData
CVR | Capture a frame and save to BMP file | NET_DVR_CapturePicture
Video lock
CVR | Lock the file by time | NET_DVR_LockFileByTime
CVR | Unlock record file by time | NET_DVR_UnLockFileByTime
CVR | Lock the record file of one period by the stream ID | NET_DVR_LockStreamFileByTime
CVR | Unlock the record file of one period by the stream ID | NET_DVR_UnlockStreamFileByTime
Search video files by channel No.
CVR | Search record files by file type and time | NET_DVR_FindFile_V40
CVR | Get record file one by one | NET_DVR_FindNextFile_V40
CVR | Close file search and release the resource | NET_DVR_FindClose_V30
Search video files by stream ID
CVR | Search record files by eve | NET_DVR_FindFileByEvent
CVR | Get the record file searched by event one by one. | NET_DVR_FindNextEvent
CVR | Close file search and release the resource | NET_DVR_FindClose_V30
Video playback
CVR | Playback by stream ID and time | NET_DVR_PlayBackByTime_V40
Smart search
CVR | Start smart search | NET_DVR_SmartSearch_V40 | (Added in V2.3.1)
CVR | Get found smart video information by order | NET_DVR_SearchNextInfo
CVR | Stop smart search | NET_DVR_StopSearch
CVR Control video playback status NET_DVR_PlayBackControl_V40 Playback frame extraction: NET_DVR_START_DRAWFRAME,
NET_DVR_STOP_DRAWFRAME
(Added in V2.3.1)
CVR | Stop video playback | NET_DVR_StopPlayBack
CVR | Capture playback data and save as file | NET_DVR_PlayBackSaveData
CVR | Stop saving video data | NET_DVR_StopPlayBackSave
CVR | Register callback function and capture video data | NET_DVR_SetPlayDataCallBack
CVR | Get OSD time displayed in video playback | NET_DVR_GetPlayBackOsdTime
CVR | Capture in playback and save in file | NET_DVR_PlayBackCaptureFile
CVR | Refresh display playback window | NET_DVR_RefreshPlay
CVR | Get player SDK handle used for decoding and display in playback | NET_DVR_GetPlayBackPlayerIndex
Video Download
CVR | Download video by time | NET_DVR_GetFileByTime_V40
CVR | Control playback status | NET_DVR_PlayBackControl_V40
CVR | Stop downloading record files | NET_DVR_StopGetFile
Video File Locking and Unlocking
CVR | Lock the file by time | NET_DVR_LockFileByTime
CVR | Unlock record file by time | NET_DVR_UnLockFileByTime
CVR | Lock the record file of one period by the stream ID | NET_DVR_LockStreamFileByTime
CVR | Unlock the record file of one period by the stream ID | NET_DVR_UnlockStreamFileByTime
Video integrity detection
CVR Enable remote configuration long connection NET_DVR_StartRemoteConfig Configuration command: NET_DVR_RECORD_CHECK
(Added in V2.3.2-3)
CVR Get found information by order NET_DVR_GetNextRemoteConfig Configuration command: NET_DVR_RECORD_CHECK
(Added in V2.3.2-3)
CVR | Close the handle created by long connection configuration interface and release resources | NET_DVR_StopRemoteConfig
Get total size of video segment
CVR Start remote configuration long connection NET_DVR_StartRemoteConfig Configuration command: NET_DVR_GET_RECORD_SEGMENT_CFG
(Added in V2.3.2-3)
CVR Get found information by order NET_DVR_GetNextRemoteConfig Configuration command: NET_DVR_GET_RECORD_SEGMENT_CFG
(Added in V2.3.2-3)
CVR | Close the handle created by long connection configuration interface and release resources | NET_DVR_StopRemoteConfig
Video thumbnail
CVR Start remote configuration long connection NET_DVR_StartRemoteConfig Configuration command:
NET_DVR_GET_THUMBNAILS(Added in V2.3.2-5)
NET_DVR_GET_FIGURE(Added in V2.3.2-5)
CVR | Close the handle created by long connection configuration interface and release resources | NET_DVR_StopRemoteConfig
Manual recording
CVR | Start remote device record manually | NET_DVR_StartDVRRecord
CVR | Stop remote device record manually | NET_DVR_StopDVRRecord
CVR | Remotely start the manual record of the device by stream ID | NET_DVR_StartManualRecord
CVR | Remotely stop the manual record of the device by stream ID | NET_DVR_StopManualRecord
Arming/Disarming/Listening
CVR Register callback function to receive device alarm message NET_DVR_SetDVRMessageCallBack_V30 Uploaded alarm information:
COMM_ALARM_DEVICE
COMM_ALARM_CVR(Added in V2.2.0>
COMM_ALARM_DEVICE_V40(Added in V2.3.1)
CVR | Setup the uploading channel of alarm message | NET_DVR_SetupAlarmChan_V30
CVR | Remove the alarm upload channel | NET_DVR_CloseAlarmChan_V30
CVR Start listening and receive alarm information uploaded actively from device (muti-thread) NET_DVR_StartListen_V30 Uploaded alarm information:
COMM_ALARM_DEVICE,
COMM_ALARM_CVR
CVR | Stop listening (support multi-thread) | NET_DVR_StopListen_V30
Remote parameter configuration
CVR Get device time parameter NET_DVR_GetDVRConfig Command: NET_DVR_GET_TIMECFG
Structure: NET_DVR_TIME
CVR Set device time parameter NET_DVR_SetDVRConfig Command: NET_DVR_SET_TIMECFG
Structure: NET_DVR_TIME
CVR Get network parameter NET_DVR_GetDVRConfig Command: NET_DVR_GET_NETCFG_V30
Structure: NET_DVR_NETCFG_V30
CVR Set network parameter NET_DVR_SetDVRConfig Command: NET_DVR_SET_NETCFG_V30
Structure: NET_DVR_NETCFG_V30
CVR Get user parameter NET_DVR_GetDVRConfig Command: NET_DVR_GET_USERCFG_V40
Structure: NET_DVR_USER_V40
CVR Set user parameter NET_DVR_SetDVRConfig Command: NET_DVR_SET_USERCFG_V40
Structure: NET_DVR_USER_V40
CVR Get video parameter NET_DVR_GetDVRConfig Command: NET_DVR_GET_RECORDCFG_V40
Structure: NET_DVR_RECORD_V40
CVR Set video parameter NET_DVR_SetDVRConfig Command: NET_DVR_SET_RECORDCFG_V40
Structure: NET_DVR_RECORD_V40
CVR Get channel recording status information NET_DVR_GetDVRConfig Command: NET_DVR_GET_RECORD_CHANNEL_INFO
Structure: NET_DVR_CHAN_GROUP_RECORD_STATUS
CVR Set channel recording status information NET_DVR_SetDVRConfig Command: NET_DVR_SET_RECORD_CHANNEL_INFO
Structure: NET_DVR_CHAN_GROUP_RECORD_STATUS
CVR Get video information NET_DVR_GetDeviceConfig Command: NET_DVR_GET_STREAM_RECORD_INFO
Structure: NET_DVR_STREAM_RECORD_INFO
CVR Set video parameter NET_DVR_SetDeviceConfig Command: NET_DVR_SET_STREAM_RECORD_INFO
Structure: NET_DVR_STREAM_RECORD_INFO
CVR Get stream status information NET_DVR_GetDeviceConfig Command: NET_DVR_GET_STREAM_RECORD_STATUS
Structure: NET_DVR_STREAM_RECORD_STATUS
CVR Set stream status information NET_DVR_SetDeviceConfig Command: NET_DVR_SET_STREAM_RECORD_STATUS
Structure: NET_DVR_STREAM_RECORD_STATUS
CVR Get IP access configuration parameter NET_DVR_GetDVRConfig Command: NET_DVR_GET_IPPARACFG_V40
Structure: NET_DVR_IPPARACFG_V40
CVR Set IP access configuration parameter NET_DVR_SetDVRConfig Command: NET_DVR_SET_IPPARACFG_V40
Structure: NET_DVR_IPPARACFG_V40
CVR Get stream source information NET_DVR_GetDeviceConfig Command: NET_DVR_GET_STREAM_SRC_INFO_V40
Structure: NET_DVR_STREAM_SRC_INFO_V40
(V2.3.1 extension)
CVR Set stream source information NET_DVR_SetDeviceConfig Command: NET_DVR_SET_STREAM_SRC_INFO_V40
Structure: NET_DVR_STREAM_SRC_INFO_V40
(V2.3.1 extension)
CVR Get HDD management parameter NET_DVR_GetDVRConfig Command: NET_DVR_GET_HDCFG_V40
Structure: NET_DVR_HDCFG
CVR Set HDD management parameter NET_DVR_SetDVRConfig Command: NET_DVR_SET_HDCFG_V40
Structure: NET_DVR_HDCFG
CVR Get data copyback status NET_DVR_GetDVRConfig Command: NET_DVR_GET_DATA_CALLBACK_CFG
Structure: NET_DVR_DATA_CALLBACK_CFG
(Added in V2.2.0)
CVR Set data copyback parameter NET_DVR_SetDVRConfig Command: NET_DVR_SET_DATA_CALLBACK_CFG
Structure: NET_DVR_DATA_CALLBACK_CFG
(Added in V2.2.0)
CVR Get device storage information NET_DVR_GetDVRConfig Command: NET_DVR_GET_DEV_STORAGE_CFG
Structure: NET_DVR_DEV_STORAGE_CFG
(Added in V2.3.2-3)
CVR Get max. number of backup devices NET_DVR_GetDVRConfig Command: NET_DVR_GET_MAX_MACHINE_NUM_CFG
Structure: NET_DVR_MACHINE_MAX_NUM_CFG
(Added in V2.2.0)
CVR Set max. number of backup devices NET_DVR_SetDVRConfig Command: NET_DVR_SET_MAX_MACHINE_NUM_CFG
Structure: NET_DVR_MACHINE_MAX_NUM_CFG
(Added in V2.2.0)
CVR Get user permission NET_DVR_GetDeviceConfig Command: NET_DVR_GET_USER_RIGHT_CFG
Structure: NET_DVR_USER_RIGHT_CFG
(Added in V2.2.0)
CVR Set user permission NET_DVR_SetDeviceConfig Command: NET_DVR_SET_USER_RIGHT_CFG
Structure: NET_DVR_USER_RIGHT_CFG
(Added in V2.2.0)
Video passback configuration
CVR Manual add video passback task NET_DVR_SetDeviceConfig Command: NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL
Structure: NET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG
(Added in V2.3.2-3)
CVR Delete manual video passback task NET_DVR_SetDeviceConfig Command: NET_DVR_DEL_RECORD_PASSBACK_TASK_MANUAL
Structure: NET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG
(Added in V2.3.2-3)
CVR Get video passback plan configuration NET_DVR_GetDeviceConfig Command: NET_DVR_GET_RECORD_PASSBACK_PLAN_CFG
Structure: NET_DVR_RECORD_PASSBACK_SCH_CFG
(Added in V2.3.2-3)
CVR Set video passback plan configuration NET_DVR_SetDeviceConfig Command: NET_DVR_SET_RECORD_PASSBACK_PLAN_CFG
Structure: NET_DVR_RECORD_PASSBACK_SCH_CFG
(Added in V2.3.2-3)
CVR Control manual added video passback task NET_DVR_RemoteControl Command: NET_DVR_RECORD_PASSBACK_TASK_MANUAL_CTRL
Structure: NET_DVR_RECORD_PASSBACK_MANUAL_CTRL
(Added in V2.3.2-3)
CVR Manual add video passback task V50 (return task ID) NET_DVR_SetDeviceConfigEx Command: NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL_V50
(Added in V2.3.2-4)
CVR Get passback basic configuration NET_DVR_GetSTDConfig Command: NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG
Structure: NET_DVR_REC_PASSBACK_BASIC_CFG
(Added in V2.3.2-4)
CVR Set passback basic configuration NET_DVR_SetSTDConfig Command: NET_DVR_SET_RECORD_PASSBACK_BASIC_CFG
Structure: NET_DVR_REC_PASSBACK_BASIC_CFG
(Added in V2.3.2-4)
CVR Get passback history recording plan configuration NET_DVR_GetSTDConfig Command: NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG
Structure: NET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG
(Added in V2.3.2-4)
CVR Set passback history recording plan configuration NET_DVR_SetSTDConfig Command: NET_DVR_SET_RECORD_PASSBACK_HISTORY_PLAN_CFG
Structure: NET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG
(Added in V2.3.2-4)
Get all manual added video passback task
CVR Start remote configuration long connection NET_DVR_StartRemoteConfig Configuration command: NET_DVR_GET_ALL_RECORD_PASSBACK_TASK_MANUAL
(Added in V2.3.2-3)
CVR Get found information by order NET_DVR_GetNextRemoteConfig Configuration command: NET_DVR_GET_ALL_RECORD_PASSBACK_TASK_MANUAL
(Added in V2.3.2-3)
CVR | Close the handle created by long connection configuration interface and release resources | NET_DVR_StopRemoteConfig
Get N+1 device information
CVR Start remote configuration long connection NET_DVR_StartRemoteConfig Configuration command: NET_DVR_GET_N_PLUS_ONE_DEVICE_INFO
(Added in V2.2.0)
CVR Get found N+1 device information by order NET_DVR_GetNextRemoteConfig Configuration command: NET_DVR_GET_N_PLUS_ONE_DEVICE_INFO
(Added in V2.2.0)
CVR | Close the handle created by long connection configuration interface and release resources | NET_DVR_StopRemoteConfig
N+0 redirecting
CVR Get redirecting information under N+0 mode NET_DVR_GetDeviceConfig Command: NET_DVR_GET_RELOCATE_INFO
Structure: NET_DVR_RELOCATE_INFO
Added in V2.3.2
One-key CVR configuration
CVR Start remote configuration long connection NET_DVR_StartRemoteConfig Configuration command:
NET_DVR_ONE_KEY_CONFIG(Added in V2.2.0)
NET_DVR_ONE_KEY_CONFIG_V50(Added in V2.3.2-5)
CVR Get one-key configuration status NET_DVR_GetRemoteConfigState Configuration command:
NET_DVR_ONE_KEY_CONFIG(Added in V2.2.0)
NET_DVR_ONE_KEY_CONFIG_V50(Added in V2.3.2-5)
CVR | Close the handle created by long connection configuration interface and release resources | NET_DVR_StopRemoteConfig
Remote control
CVR Add, delete N+1 mode device NET_DVR_RemoteControl Control command: NET_DVR_ADD_DEVICE、NET_DVR_DEL_DEVICE
(Added in V2.2.0)
CVR Reboot CVR service NET_DVR_RemoteControl Control command: NET_DVR_RESTART_SERVICE
(Added in V2.2.0)
HDD Management
CVR | Format hard disk remotely | NET_DVR_FormatDisk
CVR | Get the progress of formatting | NET_DVR_GetFormatProgress
CVR | Close the HD format handle and release the resource | NET_DVR_CloseFormatHandle
Device Maintenance and Management
CVR Get online user parameters NET_DVR_GetDVRConfig Command: NET_DVR_GET_ONLINE_USER_CFG
Structure：NET_DVR_ONLINE_USER_INFO
V2.3.2-3 added
CVR Get device running status NET_DVR_GetDeviceStatus Command: NET_DVR_GET_DEVICE_RUN_STATUS
Structure：NET_DVR_DEVICE_RUN_STATUS
V2.3.2-3 added
CVR | Set network environment of remote upgrade | NET_DVR_SetNetworkEnvironment
CVR | Remote upgrade | NET_DVR_Upgrade
CVR | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress
CVR | Get the state of remote upgrade | NET_DVR_GetUpgradeState
CVR | Close the remote upgrade handle, and release resource | NET_DVR_CloseUpgradeHandle
CVR | Search log of device | NET_DVR_FindDVRLog_V30
CVR | Get log one by one | NET_DVR_FindNextLog_V30
CVR | Release log query resource | NET_DVR_FindLogClose_V30
CVR | Resume device default parameters | NET_DVR_RestoreConfig
CVR | Export configuration file | NET_DVR_GetConfigFile_V30
CVR | Export configuration file | NET_DVR_GetConfigFile
CVR | Import the configuration file | NET_DVR_SetConfigFile_EX
CVR | Import the configuration file | NET_DVR_SetConfigFile
Shutdown and Reboot
CVR | Reboot the device | NET_DVR_RebootDVR

Below are encoding type and encapsulation format supported by device

Device Model | Encapsulation Format | Encoding Type | Remarks
CVR | Determined by accessed front-end device | Determined by accessed front-end device |


NET_DVR_GetDeviceAbility

Get the capability set of the device.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] Returned value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type. See detailed definition in the following table:
Macro Definition | Value | Description
IP_VIEW_DEV_ABILITY | 0x014 | Capability set of IP-based video intercom controller
pInBuf
[in] Input buffer (it can be in XML format or Structure format)
dwInLength
[in] Input buffer size
pOutBuf
[out] OUtput buffer (it can be in XML format or Structure format)
dwOutLength
[in] Output buffer size

Return Values

Return TRUE on success, and FALSE on failure. Please call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

The detailed definitions of pInBuf are different according to different requirements of devices, and can be in structure format or XML format. Similarly, output format of pOutBuf can also be in structure format or XML format according to different requirement of devices.

Macro Definition of Capability Type | Description | pInBuf | pOutBuf
IP_VIEW_DEV_ABILITY | Get the ability of IP-based video intercom controller | None | Describe the IP-based video intercom controller in XML formatIP

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDVRConfig

Get device configuration info

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] Return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command
lChannel
[in] Channel, 0xFFFFFFFF- invalid: when command does not required channel
lpOutBuffer
[out] Buffer of receive data
dwOutBufferSize
[in] Buffer size of receive data,unit: byte, 0 is unallowed
lpBytesReturned
[out] Bytes receives, NULL is unallowed

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Differrnt function coorresponding different structure and command, shown as follows:

dwCommand Macro Definition | dwCommand Implication | lChannel | Structure of lpOutBuffer | Value
NET_DVR_GET_SIP_CFG | Get IP visual intercom host SIP server parameters | invalid | NET_DVR_SIP_CFG | 11001
NET_DVR_GET_IP_VIEW_DEVCFG | Get configuration parameter of IP visual intercon host | invalid | NET_DVR_IP_VIEW_DEVCFG | 11003
NET_DVR_GET_IP_VIEW_AUDIO_CFG | Get audible parameters of IP visual intercom host | invalid | NET_DVR_IP_VIEW_AUDIO_CFG | 11005
NET_DVR_GET_IP_VIEW_CALL_CFG | Get call parameters of IP visual intercon host | invalid | NET_DVR_IP_VIEW_CALL_CFG | 11007
NET_DVR_GET_AUDIO_LIMIT_ALARM_CFG | Get audio overrun configuration parameters | invalid | NET_IPC_AUDIO_LIMIT_ALARM_CFG | 11009
NET_DVR_GET_BUTTON_DOWN_ALARM_CFG | Get button down alarm configuration parameters | invalid | NET_IPC_BUTTON_DOWN_ALARM_CFG | 11011

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set the device configuration.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Configuration command of the device. See details in "Remarks".
lChannel
[in] Channel number. Different commands correspond to different values, set as 0xFFFFFFFF when it is invalid. See details in "Remarks".
lpInBuffer
[in] Input buffer.
dwInBufferSize
[in] Input buffer size (byte).

Remarks

Different functions correspond to different structures and commands.

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Corresponding Structure | Value
NET_DVR_SET_SIP_CFG | Set the SIP server of the IP-based video intercom controller | Invalid | NET_DVR_SIP_CFG | 11002
NET_DVR_SET_IP_VIEW_DEVCFG | Set the configuration parameters of IP-based video intercom controller | Invalid | NET_DVR_IP_VIEW_DEVCFG | 11004
NET_DVR_SET_IP_VIEW_AUDIO_CFG | Set the audio parameters of the IP-based video intercom | Invalid | NET_DVR_IP_VIEW_AUDIO_CFG | 11006
NET_DVR_SET_IP_VIEW_CALL_CFG | Set the calling parameters of the IP-based video intercom | Invalid | NET_DVR_IP_VIEW_CALL_CFG | 11008
NET_DVR_SET_AUDIO_LIMIT_ALARM_CFG | Set the configuration of audio limit | Invalid | NET_IPC_AUDIO_LIMIT_ALARM_CFG | 11010
NET_DVR_SET_BUTTON_DOWN_ALARM_CFG | Set the configuration that an alarm is triggered by pressing the button | Invalid | NET_IPC_BUTTON_DOWN_ALARM_CFG | 11012

Return Values

Return TRUE on success，and FALSE on failure. Please call NET_DVR_GetLastError to get the error code and find the reason.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceAbility

Get the capability set of the device.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type.
Macro Definition | Value | Description
STREAM_ABILITY | 0x012 | Capability set of device stream
IP_VIEW_DEV_ABILITY | 0x014 | Capability set of IP-based video intercom controller
ACS_ABILITY | 0x801 | Capability set of access control
pInBuf
[in] Input buffer.
dwInLength
[in] Input buffer size.
pOutBuf
[out] Output buffer.
dwOutLength
[in] Output buffer size.

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reaseon.

Remarks

The detailed definitions of pInBuf are different according to different requirements of devices, and can be in structure format or XML format. Similarly, output format of pOutBuf can also be in structure format or XML format according to different requirement of devices.

Macro Definition of Capability Type | Description | pInBuf | pOutBuf
STREAM_ABILITY | Get the ability of device stream | Get the capability set of the stream | Describe the stream ability in XML format(StreamAbility)
IP_VIEW_DEV_ABILITY | Get teh ability of IP-based video intercom controller | None | Describe the IP-based video intercom controller ability in XML format
ACS_ABILITY | Get the capability set of access control | Describe the getting of access control capability set | Describe the access control capability set in XML format(AcsAbility)

See Also

NET_DVR_Login_V30


NET_DVR_GetDVRConfig

Get the device configuration.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Configuration command. See details in "Remarks".
lChannel
[in] Channel number. Different commands correspond to different values, set as 0xFFFFFFFF when it is invalid. See details in "Remarks".
lpOutBuffer
[out] Buffer for receiving data.
dwOutBufferSize
[in] Buffer size for receiving data (byte), can not be 0.
lpBytesReturned
[out] Returned buffer size, cannot be NULL.

Remarks

Different functions correspond to different structures and commands.

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Corresponding Structure | Value
NET_DVR_GET_VIDEO_INTERCOM_DEVICEID_CFG | Get the device number of the video intercom | Invalid | NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG | 16001
NET_DVR_GET_OPERATION_TIME_CFG | Get operation time configuration | Invalid | NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG | 16004
NET_DVR_GET_VIDEO_INTERCOM_RELATEDEV_CFG | GSet the linked network device parameters | Invalid | NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG | 16006
NET_DVR_GET_VIDEOINTERCOM_STREAM | Get the steam channel parameters of the video intercom | Channel number | NET_DVR_VIDEOINTERCOM_STREAM | 16022
NET_DVR_GET_VIDEO_INTERCOM_IOIN_CFG | Get I/O input parameters of the video intercom | I/O input number, starting from 1 | NET_DVR_VIDEO_INTERCOM_IOIN_CFG | 16016
NET_DVR_GET_VIDEO_INTERCOM_IOOUT_CFG | Get I/O output parameters of the video intercom | I/O output number, starting from 1 | NET_DVR_VIDEO_INTERCOM_IOOUT_CFG | 16018
NET_DVR_GET_WDR_CFG | Get WDR parameters | Channel number | NET_DVR_WDR_CFG | 16024
NET_DVR_GET_ELEVATORCONTROL_CFG_V40 | Get the elevator controller parameters | Elevator number, starting from 1 | NET_DVR_ELEVATORCONTROL_CFG_V40 | 16028
NET_DVR_GET_CALL_ROOM_CFG | Get the configuration of calling resident by pressing the button | Button number, starting from 1 | NET_DVR_CALL_ROOM_CFG | 16030
NET_DVR_GET_AUDIOIN_VOLUME_CFG | Get the volume configuration of the audio input | Audio input number, starting from 1 | NET_DVR_VOLUME_CFG | 6355
NET_DVR_GET_AUDIOOUT_VOLUME_CFG | Get the volume configuration of the audio output | Audio output number, starting from 1 | NET_DVR_VOLUME_CFG | 6369
NET_DVR_GET_VIDEO_INTERCOM_ALARM_CFG | Get video intercom alarm event parameters | Invalid | NET_DVR_VIDEO_INTERCOM_ALARM_CFG | 16037

Return Values

Return TRUE on success，and FALSE on failure. Please call NET_DVR_GetLastError to get the error code and find the reason.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set the device configuration.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Configuration command. See details in "Remarks".
lChannel
[in] Channel number. Different commands correspond to different values, set as 0xFFFFFFFF when it is invalid. See details in "Remarks".
lpInBuffer
[in] Input buffer.
dwInBufferSize
[in] Input buffer size (byte).

Remarks

Different functions correspond to different structures and commands.

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Corresponding Structure | Value
NET_DVR_SET_VIDEO_INTERCOM_DEVICEID_CFG | Set the device number of the video intercom | Invalid | NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG | 16002
NET_DVR_SET_PRIVILEGE_PASSWORD | Set the permission password configuration | Invalid | NET_DVR_PRIVILEGE_PASSWORD_CFG | 16003
NET_DVR_SET_OPERATION_TIME_CFG | Set operation time configuration | Invalid | NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG | 16005
NET_DVR_SET_VIDEO_INTERCOM_RELATEDEV_CFG | Set the linked network device parameters | Invalid | NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG | 16007
NET_DVR_SET_VIDEOINTERCOM_STREAM | Set the steam channel parameters of the video intercom | Channel number, starting from 1 | NET_DVR_VIDEOINTERCOM_STREAM | 16023
NET_DVR_SET_VIDEO_INTERCOM_IOIN_CFG | Set I/O input parameters of the video intercom | I/O input number, starting from 1 | NET_DVR_VIDEO_INTERCOM_IOIN_CFG | 16017
NET_DVR_SET_VIDEO_INTERCOM_IOOUT_CFG | Set I/O output parameters of the video intercom | I/O output number, starting from 1 | NET_DVR_VIDEO_INTERCOM_IOOUT_CFG | 16019
NET_DVR_SET_WDR_CFG | Set WDR parameters | Channel number | NET_DVR_WDR_CFG | 16025
NET_DVR_SET_ELEVATORCONTROL_CFG_V40 | Set the elevator controller parameters | Elevator number, starting from 1 | NET_DVR_ELEVATORCONTROL_CFG_V40 | 16029
NET_DVR_SET_CALL_ROOM_CFG | Set the configuration of calling resident by pressing the button | Button number, starting from 1 | NET_DVR_CALL_ROOM_CFG | 16031
NET_DVR_SET_AUDIOIN_VOLUME_CFG | Set the volume configuration of the audio input | Audio input number, starting from 1 | NET_DVR_VOLUME_CFG | 6356
NET_DVR_SET_AUDIOOUT_VOLUME_CFG | Set the volume configuration of the audio output | Audio output number, starting from 1 | NET_DVR_VOLUME_CFG | 6370
NET_DVR_SET_VIDEO_INTERCOM_ALARM_CFG | Set video intercom alarm event parameters | Invalid | NET_DVR_VIDEO_INTERCOM_ALARM_CFG | 16038

Return Values

Return TRUE on success，and FALSE on failure. Please call NET_DVR_GetLastError to get the error code and find the reason.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Get the device configuration information in batch with the funciton of sending data.

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Configuration command of the device.
dwCount
[in] The amount of monitoring points that be configured at a time. 0, 1- information for 1 monitoring point, 2- information for 2 monitoring points. The value increases progressively, and the maximum value is 64.
lpInBuffer
[in] Buffer of configuration condition, like stream ID.
dwInBufferSize
[in] Buffer size of configuration condition.
lpStatusList
[out] Error messages list, be correspondent to cameras respectively. For example, lpStatusList[2] corresonds to lpInBuffer[2]. The internal storage is allocated by the user. Each error message is 4-byte (one 32-bit integral value without special symbols).The value: 0 or 1- successed, other values- error numbers.
lpOutBuffer
[out] The device content parameters that need configuring, be correspondent to cameras respectively. If the value of lpStatusList is over 1, it means that corresponding configuratino of lpInBufferis failed. While 0 or 1- succeeded.
dwOutBufferSize
[in] Total buffer size of dwCount returned results.

Return Values

Return TRUE on success, but it doesn't mean all configuration are successful. You can identify which one is successful by checking the corresponding value of lpStatusList[n]. Returned FALSE on failure. Please call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

This interface is a general interface that can configure the monitoring points in batch with function of sending data. lpInBuffer is used to appoint the dwCount monitoring points inforamtion, and lpOutBuffer is used to save the dwCount monitoring points that need configuring.

Different functions correspond to different structures and commands.

dwCommand Macro Definition | dwCommand Implication | lpInBuffer Corresponding Structure | lpOutBuffer Corresponding Structure | Value
NET_DVR_GET_STREAM_SRC_INFO | Get the source information of the stream | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_SRC_INFO | 6017
NET_DVR_GET_ALLSTREAM_SRC_INFO | Get the information of all streams (when getting all streams) | NULL | 4-byte4 (N) + N*NET_DVR_STREAM_SRC_CFG | 9105
NET_DVR_GET_FTPCFG_V40 | Get the FTP information | dwCount*NET_DVR_FTP_TYPE | dwCount*NET_DVR_FTPCFG_V40 | 6162

When getting all data, set dwCount as 0xffffffff, lpInBuffer as NULL，dwInBufferSize as 0，and lpStatusList as NULL. The first 4 bytes of IpOutBuffer stand number, and the rest stand returned N*information.

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Set the device configuration in batch with the function of sending data.

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Configuration command.
dwCount
[in] The amount of monitoring points that be configured at a time. 0, 1- information for 1 monitoring point, 2- information for 2 monitoring points. The value increases progressively, and the maximum value is 64.
lpInBuffer
[in] Buffer of configuration condition, like stream ID.
dwInBufferSize
[in] Buffer size of configuration condition.
lpStatusList
[out] Error messages list, be correspondent to cameras respectively. For example, lpStatusList[2] corresonds to lpInBuffer[2]. The internal storage is allocated by the user. Each error message is 4-byte (one 32-bit integral value without special symbols).The value: 0 or 1- successed, other values- error numbers.
lpInParamBuffer
[in] The device content parameters that need configuring, be correspondent to cameras respectively. If the value of lpStatusList is over 1, it means that corresponding configuratino of lpInBufferis failed. While 0 or 1- succeeded.
dwInParamBufferSize
[in] Buffer size of configuration content.

Return Values

Return TRUE on success, but it doesn't mean all configuration are successful. You can identify which one is successful by checking the corresponding value of lpStatusList[n]. Returned FALSE on failure. Please call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

This interface is a general interface that can configure the monitoring points in batch with function of sending data. lpInBuffer is used to appoint the dwCount monitoring points inforamtion, and lpOutBuffer is used to save the dwCount monitoring points that need configuring.

Different functions correspond to different structures and commands.

dwCommand Macro Definitino | dwCommand Implication | lpInBuffer Corresponding Structure | lpInParamBuffer Corresponding Structure | Value
NET_DVR_SET_STREAM_SRC_INFO | Set the source information of the stream | dwCount*NET_DVR_STREAM_INFO | dwCount*NET_DVR_STREAM_SRC_INFO | 6018
NET_DVR_SET_FTPCFG_V40 | Set FTP information | dwCount*NET_DVR_FTP_TYPE | dwCount*NET_DVR_FTPCFG_V40 | 6163

When dwCommand is NET_DVR_SET_STREAM_SRC_INFO, IP address is null, and URL is null, it means to delete the stream ID, while when dwCound is 0xffffffff, it means to delete all streams IDs.

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_StartRemoteConfig

Enable the remote configuration.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Configuration command. Different functions corresponds to different commands (dwCommand), and parameters like IpInBuffer also correspond to different contents.
dwCommand Macro Definition | Value | Description | lpInBuffer | cbStateCallback
NET_DVR_GET_VIS_REGISTER_INFO | 16027 | Get the registration information of the door station | NULL | NULL
NET_DVR_VIDEO_CALL_SIGNAL_PROCESS | 16032 | Two-way audio signaling processing of the video intercom | NET_DVR_VIDEO_CALL_COND | Information data
lpInBuffer
[in] Input parameter, related with configuration command.
dwInBufferLen
[in] Input buffer size.
cbStateCallback
[in] Callback funciton of the status.
pUserData
[in] User data.

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD    dwType,
  void     *lpBuffer,
  DWORD    dwBufLen,
  void     *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status, see detailed definitions as follows:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
The value of callback status
NET_SDK_CALLBACK_TYPE_PROGRESS
The value of callback progress
NET_SDK_CALLBACK_TYPE_DATA
The content of callback content
lpBuffer
[out] The buffer to save the data, related with teh value of dwType.
dwType | Description | lpBuffer Corresponding Content
NET_SDK_CALLBACK_TYPE_STATUS | Status value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Succeeded NET_SDK_CALLBACK_STATUS_PROCESSING, //Be in processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | The value of lpBuffer stands the progress(DWORD).
NET_SDK_CALLBACK_TYPE_DATA | Information data | The value of lpBuffer stands the information data. The value of IpBuffer corresponds to teh structure NET_DVR_VIDEO_CALL_PARAM when the dwCommand is NET_DVR_VIDEO_CALL_SIGNAL_PROCESS.
dwBufLen
[out] Buffer size.
pUserData
[out] User data.

Return Values

Return -1 on failure, and other values as teh handle of NET_DVR_GetNextRemoteConfig. Please call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

After calling this interface to enable the long connection remote configuration, you should call other interfaces to get or set related parameters.
dwCommand Macro Definition | Description | Follow-Up Interfaces
NET_DVR_GET_VIS_REGISTER_INFO | Get the registration information of the door station | NET_DVR_GetNextRemoteConfig
NET_DVR_VIDEO_CALL_SIGNAL_PROCESS | Signaling processing of the video intercom | NET_DVR_SendRemoteConfig

See Also

NET_DVR_SendRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

Get founded information one by one.

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] The handle. The returned value of NET_DVR_StartRemoteConfig.
lpOutBuff
[out] The buffer for output data, related with NET_DVR_StartRemoteConfig.
dwOutBuffSize
[out] Output buffer size

Input different commands (dwCommand) when calling NET_DVR_StartRemoteConfig, and the value of lpOutBuff corresponds different structures:

dwCommand Macro Definitino | Value | Function | lpOutBuff Corresponding Structure
NET_DVR_GET_VIS_REGISTER_INFO | 16027 | Get the registration information of the door station | NET_DVR_VIS_REGISTER_INFO

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Description
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | Read the data successfully. NET_DVR_GetNextRemoteConfig should be read again to get the next data
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Call NET_DVR_GetNextRemoteConfig to wait the device for delivering the data
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | All data has been read. Call NET_DVR_StopRemoteConfig to end the long connection.
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Exceptions occur. Call NET_DVR_StopRemoteConfig to end the long connection.

Remarks

Before calling this interface to get the finding file, you should call NET_DVR_StartRemoteConfig to get the current handle. This interface only supports getting a piece of information each time. You should call this interface repeadly if you want to get all information.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_SendRemoteConfig

Send the data of long connection.

BOOL NET_DVR_SendRemoteConfig(
  LONG     lHandle,
  DWORD    dwDataType,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lHandle
[in] Handle of long connection. The returned value of NET_DVR_StartRemoteConfig.
dwDataType
[in] Data type, related with parameters of NET_DVR_StartRemoteConfig, and see details in "Remarks".
pSendBuf
[in] The buffer for saving the sending data, related with dwDataType, and see details in "Remarks".
[in] The size of sending data.

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

Different data types (dwDataType) and pSendBuf correspond to different structures:

dwCommand Macro Definition | Value | Description | dwDataType Value | pSendBuf Corresponding Structure
NET_DVR_VIDEO_CALL_SIGNAL_PROCESS | 16032 | Signaling processinf of the video intercom | 0 | NET_DVR_VIDEO_CALL_PARAM

Beforing calling this interface, you should call NET_DVR_StartRemoteConfig to get the handle of long connection firstly.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_StopRemoteConfig

Close the handle created by the long connection configuration interface, and release the resource.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle. The returned value of NET_DVR_StartRemoteConfig.

Return Values

Return TRUE on success, and FALSE on failure. Please call NET_DVR_GetLastError to get the error code and find the reason.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_RemoteControl

Remote control.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40.
dwCommand
[in] Control command.
lpInBuffer
[in] Input buffer.
dwInBufferSize
[in] Input buffer size.

Different functions correspond to different commands (dwCommand), and different values of IpInBuffer correspond to different structures.

dwCommand Macro Definition | Value | Function | lpInBuffer Corresponding Structure
NET_DVR_REMOTECONTROL_NOTICE_DATA | 16008 | Send the notice data | NET_DVR_NOTICE_DATA
NET_DVR_REMOTECONTROL_GATEWAY | 16009 | Unlock remotely | NET_DVR_CONTROL_GATEWAY

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

See Also

NET_DVR_Login_V30


NET_DVR_GetDeviceAbility

This API is used to get capability set of the device.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwAbilityType
[in] Type of capability, details listed below:
Macro Definition | Value | Description
LCD_SCREEN_ABILITY | 0x800 | LCD splicing screen capability
pInBuf
[in] Pointer of the input buffer (according to description mode of capability parameter which is defined by device,it supports XML text or structure format)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer of the output buffer (according to description mode of ability set which is defined by device,it supports XML text or structure format)
dwOutLength
[in] Length of the output buffer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorfor error code.

Remarks

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices, too. The input and output parameter format when getting different capability set are defined as below:

Macro Definition | Capability Type | pInBuf | pOutBuf
LCD_SCREEN_ABILITY | Get LCD splicing screen capability | NULL |

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDVRConfig

Get the device configuration.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40
dwCommand
[in] Configuration command. See details in "Remarks".
lChannel
[in] Channel number. Different commands correspond to different values, set as 0xFFFFFFFF when it is invalid. See details in "Remarks".
lpOutBuffer
[out] Buffer for receiving data.
dwOutBufferSize
[in] Buffer size for receiving data (byte), can not be 0.
lpBytesReturned
[out] Returned buffer size, cannot be NULL.

Remarks

Different functions correspond to different structures and commands.

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Corresponding Structure | Value
NET_DVR_BIGSCREEN_GETSERIAL | Get screen serial port information | Invalid | NET_DVR_SERIAL_CONTROL | 1614
NET_DVR_GET_VCS_USER_CFG | Get user information | User ID, starts from 1 | NET_DVR_VCS_USER_INFO | 1623
NET_DVR_GET_USING_SERIALPORT | Get curren used serial port | Invalid | NET_DVR_USING_SERIALPORT | 1742
NET_DVR_GET_WIN_ZOOM_STATUS | Get window e-zoom status | Window No. | NET_DVR_WIN_ZOOM_STATUS | 9033
NET_DVR_GET_SCREEN_SIGNAL_CFG | Get screen singnal resource | Invalid | NET_DVR_SCREEN_SIGNAL_CFG | 9037
NET_DVR_GET_SCREEN_SPLICE_CFG | Get screen splicing information | Invalid | NET_DVR_SCREEN_SPLICE_CFG | 9039
NET_DVR_GET_SCREEN_FAN_WORK_MODE | Get fan working mode | Invalid | NET_DVR_SCREEN_FAN_WORK_MODE_CFG | 9040
NET_DVR_GET_VGA_CFG | Get VGA signal configuration | Invalid | NET_DVR_SCREEN_VGA_CFG | 9045
NET_DVR_GET_SCREEN_MENU_CFG | Get screen menu configuration | Invalid | NET_DVR_SCREEN_MENU_CFG | 9048
NET_DVR_GET_SCREEN_DISPLAY_CFG | Get display parameters | Invalid | NET_DVR_SCREEN_DISPLAY_CFG | 9051
NET_DVR_GET_PIP_CFG | Get window in window parameters | Invalid | NET_DVR_PIP_CFG | 9061
NET_DVR_GET_DEFOG_LCD | Get defog parameters | Invalid | NET_DVR_DEFOG_LCD | 9074
NET_DVR_GET_SCREEN_POS | Get screen position parameters | Invalid | NET_DVR_SCREEN_POS_CFG | 9078
NET_DVR_GET_POWERON_DELAY_CFG | Get power-on delay parameters | Invalid | NET_DVR_DELAY_TIME | 9088
NET_DVR_GET_EXTERNAL_MATRIX_RELATION | Get external matrix input and output relationship | Matrix ID | NET_DVR_IO_RELATION_INFO | 9095
NET_DVR_GET_LCD_AUDIO_CFG | Get LCD screen audio parameters | Invalid | NET_DVR_LCD_AUDIO_CFG | 9096
NET_DVR_GET_LCD_WORK_STATE | Get LCD screen working status | Invalid | NET_DVR_SCREEN_WORK_STATE | 9098
NET_DVR_GET_BOOT_LOGO_CFG | Get LCD power-on logo diaplay parameters | Invalid | NET_DVR_BOOT_LOGO_CFG | 9099

Return Values

Return TRUE on success, and FALSE on failure, for error code, please call NET_DVR_GetLastError

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Parameter type. Please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number if it is not the channel parameter, do not use lChannel, and set it as 0xFFFFFFFF
lpInBuffer
[in] Buffer that saves the input parameters
dwInBufferSize
[in]Size of the buffer (unit: byte )

Remarks

The structures and command numbers are different according to the various configuration functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Corresponding Structure | Value
NET_DVR_BIGSCREEN_GETSERIAL | Set screen serial port information | Invalid | NET_DVR_SERIAL_CONTROL | 1615
NET_DVR_SET_VCS_USER_CFG | Set user information | User ID, starts from 1 | NET_DVR_VCS_USER_INFO | 1624
NET_DVR_SET_USING_SERIALPORT | Set curren used serial port | Invalid | NET_DVR_USING_SERIALPORT | 1743
NET_DVR_SET_WIN_ZOOM_STATUS | Set window e-zoom status | Window No. | NET_DVR_WIN_ZOOM_STATUS | 9034
NET_DVR_SET_SCREEN_SIGNAL_CFG | Set screen singnal resource | Invalid | NET_DVR_SCREEN_SIGNAL_CFG | 9038
NET_DVR_SET_SCREEN_SPLICE_CFG | Set screen splicing information | Invalid | NET_DVR_SCREEN_SPLICE_CFG | 9040
NET_DVR_SET_SCREEN_FAN_WORK_MODE | Set fan working mode | Invalid | NET_DVR_SCREEN_FAN_WORK_MODE_CFG | 9041
NET_DVR_SET_VGA_CFG | Set VGA signal configuration | Invalid | NET_DVR_SCREEN_VGA_CFG | 9046
NET_DVR_SET_SCREEN_MENU_CFG | Set screen menu configuration | Invalid | NET_DVR_SCREEN_MENU_CFG | 9049
NET_DVR_SET_SCREEN_DISPLAY_CFG | Set display parameters | Invalid | NET_DVR_SCREEN_DISPLAY_CFG | 9052
NET_DVR_SET_PIP_CFG | Set window in window parameters | Invalid | NET_DVR_PIP_CFG | 9062
NET_DVR_SET_DEFOG_LCD | Set defog parameters | Invalid | NET_DVR_DEFOG_LCD | 9075
NET_DVR_SET_SCREEN_POS | Set screen position parameters | Invalid | NET_DVR_SCREEN_POS_CFG | 9079
NET_DVR_SET_POWERON_DELAY_CFG | Set power-on delay parameters | Invalid | NET_DVR_DELAY_TIME | 9089
NET_DVR_SET_EXTERNAL_MATRIX_RELATION | Set external matrix input and output relationship | Matrix ID | NET_DVR_IO_RELATION_INFO | 9096
NET_DVR_SET_LCD_AUDIO_CFG | Set LCD screen audio parameters | Invalid | NET_DVR_LCD_AUDIO_CFG | 9097
NET_DVR_SET_LCD_WORK_STATE | Set LCD screen working status | Invalid | NET_DVR_SCREEN_WORK_STATE | 9099
NET_DVR_SET_BOOT_LOGO_CFG | Set LCD power-on logo diaplay parameters | Invalid | NET_DVR_BOOT_LOGO_CFG | 9100

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorfor error code.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

This API is used to get configuration of the device(batch).

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to the following configuraition command list
dwCount
[in]The count of channels to be query, set as 1.
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError for error code.

Remarks

  • This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras.
  • The structures and command numbers are different according to the different dwCommand, and they are listed as below:
    • dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_SCREEN_INDEX_GET | Get screen index parameters | dwCount * 4 bytes of index No. | dwCount * NET_DVR_SCREEN_INDEX_CFG | 9080
NET_DVR_GET_SCREEN_POSITION | Get sreen position | dwCount * 4 bytes of index No. | dwCount * NET_DVR_VIDEOWALLDISPLAYPOSITION | 9090
NET_DVR_GET_CURRENT_SCREEN_SCENE | Get current screen scene No.(dwCount is 1) | NET_DVR_VIDEO_WALL_INFO | 4 bytes of scene No. | 9092
NET_DVR_GET_SCREEN_SCENE_PARAM | Get screen scene parameters | dwCount * NET_DVR_VIDEO_WALL_INFO | dwCount * NET_DVR_WALLSCENECFG | 9093
NET_DVR_GET_SWITCH_CFG | Get scheduled turning on/off parameters(dwCount is 1) | NET_DVR_VIDEO_WALL_AREA | NET_DVR_TIME_SWITCH_CFG | 9086
NET_DVR_GET_EXTERNAL_MATRIX_CFG | Get matrix information | dwCount * 4 bytes of matrix ID | dwCount * NET_DVR_EXTERNAL_MATRIX_CFG | 1619
  • If you want to get all windows or scenes(except NET_DVR_SCREEN_INDEX_GET), please set dwCount to 0xffffffff, set lpInBuffer to NULL, set dwInBufferSize to 0, and set lpStatusList to NULL.

    • See Also

    NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Set the device configuration in batch with the function of sending data.

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in]The returned value of NET_DVR_Login_V40
dwCommand
[in] Configuration command
dwCount
[in] The amount of monitoring points that be configured at a time. 0, 1- information for 1 monitoring point, 2- information for 2 monitoring points. The value increases progressively, and the maximum value is 64.
lpInBuffer
[in] Buffer of configuration condition, like stream ID.
dwInBufferSize
[in] Buffer size of configuration condition.
lpStatusList
[out] Error messages list, be correspondent to cameras respectively. For example, lpStatusList[2] corresonds to lpInBuffer[2]. The internal storage is allocated by the user. Each error message is 4-byte (one 32-bit integral value without special symbols).The value: 0 or 1- successed, other values- error numbers.
lpInParamBuffer
[in] The device content parameters that need configuring, be correspondent to cameras respectively. If the value of lpStatusList is over 1, it means that corresponding configuratino of lpInBufferis failed. While 0 or 1- succeeded.
dwInParamBufferSize
[in] Buffer size of configuration content.

Return Values

Return TRUE on success, but it doesn't mean all configuration are successful. You can identify which one is successful by checking the corresponding value of lpStatusList[n]. Returned FALSE on failure. Please callNET_DVR_GetLastError。

Remarks

  • This interface is a general interface that can configure the monitoring points in batch with function of sending data. lpInBuffer is used to appoint the dwCount monitoring points inforamtion, and lpOutBuffer is used to save the dwCount monitoring points that need configuring. 。

    • Different functions correspond to different structures and commands.

    dwCommand Macro Definition | dwCommand Implication | lpInBuffer Corresponding Structure | lpInParamBuffer Corresponding Structure | Value
NET_DVR_SCREEN_INDEX_GET | Get screen index parameters | dwCount * 4 bytes of index No. | dwCount * NET_DVR_SCREEN_INDEX_CFG | 9079
NET_DVR_GET_SCREEN_POSITION | Get sreen position | dwCount * 4 bytes of index No. | dwCount * NET_DVR_VIDEOWALLDISPLAYPOSITION | 9089
NET_DVR_GET_SCREEN_SCENE_PARAM | Set screen scene parameters | dwCount * NET_DVR_VIDEO_WALL_INFO | dwCount * NET_DVR_WALLSCENECFG | 9094
NET_DVR_GET_SWITCH_CFG | Set scheduled turning on/off parameters(dwCount is 1) | NET_DVR_VIDEO_WALL_AREA | NET_DVR_TIME_SWITCH_CFG | 9085
NET_DVR_GET_EXTERNAL_MATRIX_CFG | Set matrix information | dwCount * 4 bytes of matrix ID | dwCount * NET_DVR_EXTERNAL_MATRIX_CFG | 1620
  • 4 bytes of index No.: 1 byte of device No. +1 byte of reservation +2 bytes of index No., device No. and index No. start from 1.

    • See Also

    NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_StartRemoteConfig

Start remote configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Configuration command, please kindly refer to the list below
dwCommand Macro Definition | Value | Description | lpInBuffer | cbStateCallback
NET_DVR_SCREEN_SPLICE_SET | 9081 | Set screen splicing parameters设 | NULL | Return status
NET_DVR_SCREEN_SPLICE_GET | 9082 | Get screen splicing parameters | NULL | Return status and information data
NET_DVR_SET_SCREEN_PARAM | 9083 | Set screen corresponded parameters | NET_DVR_MSC_SCREEN_REMOTE_CFG | Return status
NET_DVR_GET_SCREEN_PARAM | 9084 | Get screen corresponded parameters | NET_DVR_MSC_SCREEN_PARAM_COND | Return status and information data
lpInBuffer
[in] The input parameter, related with the configuration command.
dwInBufferLen
[in] The size of input buffer
cbStateCallback
[in] Status callback function
pUserData
[in]User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status, the definitions are shown below. ：
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Callback status value
NET_SDK_CALLBACK_TYPE_PROGRESS
Callback progress value (not suppported currently)
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] The buffer that saves output data, related with dwType, please refer to the table below
dwType | Description | lpBuffer Content
NET_SDK_CALLBACK_TYPE_STATUS | Status | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Succeeded NET_SDK_CALLBACK_STATUS_PROCESSING, //In processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | lpBuffer value indicates the progress(DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information data | The structure of getting screen splicing parameters:NET_DVR_MSC_SPLICE_CFG The structure of getting screen cprresponded information: NET_DVR_MSC_SCREEN_PARAM_CFG
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_GetNextRemoteConfig and NET_DVR_StopRemoteConfig. For error code, please callNET_DVR_GetLastError.

See Also

NET_DVR_SendRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_SendRemoteConfig

Send remote data. 。

BOOL NET_DVR_SendRemoteConfig(
  LONG     lHandle,
  DWORD    dwDataType,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lHandle
[in] Habdle, return value of NET_DVR_StartRemoteConfig
dwDataType
[in] Data type, related with parameters of NET_DVR_StartRemoteConfig, and see details in "Remarks".
pSendBuf
[in] The buffer for saving the sending data, related with dwDataType, and see details in "Remarks".
dwBufSize
[in]The size of sending data.

Return Values

Return TRUE on success, and FALSE on failure. For error code, please callNET_DVR_GetLastError

Remarks

Different data types (dwDataType) and pSendBuf correspond to different structures:

dwCommand Macro Definition | Value | Description
NET_DVR_SCREEN_SPLICE_SET | 9081 | Set screen splicing parameters
dwDataType Macro Definition | Value | Decription | pSendBuf Structure
ENUM_MSC_SEND_DATA | 2 | Screen controller data type | NET_DVR_MSC_SPLICE_CFG

Call NET_DVR_StartRemoteConfig to get the long connection handle before all this API.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_StopRemoteConfig

Disable remote control and release resource.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle,return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success,and FALSE on failure. Please callNET_DVR_GetLastErrorfor error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_RemoteControl

This API is used for remote control.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in]Control command, for details, please refer to the list below.
lpInBuffer
[in]Input parameters, for detailed contents (related to the control command), refer to the list below.
dwInBufferSize
[in] The size of input parameters

Return Values

Return TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError.

Remarks

The lpInBuffer structures and command numbers are different according to the different control, and they are listed below:

dwCommand Macro Definition | Value | Description | lpInBuffer Structure
NET_DVR_SWITCH_MATRIX_IO | 1334 | Matrix input/output switch | NET_DVR_MATRIX_SWITCH_INFO
NET_DVR_CONTROL_SCREEN | 1625 | Screen control | NET_DVR_SCREEN_CONTROL_V41
NET_DVR_SIMULATE_REMOTE_CONTROL | 9035 | Virtual remote control key | NET_DVR_SIMULATE_SCREEN_REMOTE_CTRL
NET_DVR_SHOW_SCREEN_WORK_STATUS | 9044 | Display screen status | NULL
NET_DVR_SHOW_IP | 9075 | Remote control device displkay ID on the video wall | NULL
NET_DVR_SCREEN_MAINTENANCE_WALL | 9076 | Video wall | NET_DVR_SCREEN_WALL_CFG
NET_DVR_SCREEN_SCENE_CONTROL | 9091 | Screen scene control | NET_DVR_SCENE_CONTROL_INFO

See Also

NET_DVR_Login_V30


Notice

Device Network SDK Programming Manual

Notes

  • Priority use structures and interfaces with the "_V30" "_V40" suffix
There are some changes and improverments on interfaces and structures, recommended "_V30" "_V40"identified functions and interfaces when excuting a same function.
  • Need reboot operation
  • import configuration parameters file(NET_DVR_SetConfigFile_EX and NET_DVR_SetConfigFile):
    DS-90xx will reboot automatically and become effective, other devices should reboot manually.
  • Enable/disable analog channels(parameter configuration NET_DVR_IPPARACFG):
    DS-90xx will reboot automatically and become effective, other devices don't have this function.
  • Hard disk parameters, group parameters
    DS-90xx should reboot manually and become effective, other devices don't have this function.
  • Remote device upgrade(NET_DVR_Upgrade):
    All devices need to reboot manually, then become effective.
  • Serial port RS232 transmission mode switch-transparent channel(parameter configuration NET_DVR_RS232CFG_V30 and NET_DVR_RS232CFG):
    All devices need to reboot manually, then become effective.
  • Record plan(parameter configuration NET_DVR_RECORD_V30 and parameter configuration NET_DVR_RECORD):
    1.Whether to start record:DS-90xx devices become effctive directly,other devices should do manual reboot;
    2.Enable or disable switch of whole day record:DS-90xx devices become effective directly,other devices should do manual reboot;
    3.Alter record types:DS-90xx devices become effective directly,other devices should do manual reboot;
    4.Alter record time:DS-90xx devices become effective directly,other devices should do manual reboot;
  • Basic network configuration(parameter configuration NET_DVR_NETCFG_V30 and NET_DVR_NETCFG):
    1.Device communicaiton port modify(default 8000):All devices need to reboot manually, then become effective.
    2.DHCP configuration modify:DS-90xx should reboot manually and become effective, other devices don't have this function.
    3.HTTP port, NIC type,DS-90xx devices become effective directly,other devices should do manual reboot;
    4.PPPOE parameters configuration:DS-90xx devices need to do manual reboot, then become effective. Other devices become effective directly without any other operations.
  • Alarmer type alter of alarm input(parameter configuration NET_DVR_ALARMINCFG):
    "Normally open" and "Nomrally closed" of alarm input configuration parameters, all devices need to do manual reboot, then become effective, the digital channels of DS-90XX device corresponding IP devices will automatically reboot.
  • Compression parameters(parameter configuration NET_DVR_COMPRESSIONCFG_V30):
    Need to manually reboot for taking effect when changing video codec types of compression parameters.


FAQ

Device Network SDK Programming Manual

FAQ

1. Alarm Function

1.1 How to identify the alarm channel number from the callback function of API NET_DVR_SetDVRMessCallBack

1.2 How to get/set alarm type

1.3 No alarm message received by Device Network SDK while there is alarm info on DVR after alarm configuration

2. Picture Snapshot

2.1 How to save the captured picture in memory for user handling

3. Playback & Download

3.1 How to locate the start time of files playback/download by time

3.2 There is only 0 and 100 for file position when playback/download by time

3.3 No video after calling playback API

3.4 Playback control function of API NET_DVR_PlayBackByName & NET_DVR_PlayBackByTime

3.5 Drop B Frame and open sound failure when playback by time

4. Transparent Channel

4.1 Send data failure while using 232 as transparent channel

4.2 Cannot get decoder callback after sending transparent channel data via 232/485

4.3 Is there any method for PTZ control other than 232/485 transparent channel?

5. Set/Get Remote Parameters

5.1 Notice for API NET_DVR_SetDVRConfig

5.2 API NET_DVR_PTZControl Command failure of for some PTZ

5.3 View tamper parameters duplicated in NET_DVR_HIDEALARM parameter of API NET_DVR_PICCFG

5.4 How to get PPPoE Info

6.Voice talk & transmit

6.1 What’s the function and application for voice transmit?

6.2 Can users set the callback function of voice talk as Null

6.3 The device will automatically disconnect if there is no data send to it after voice talk starts

6.4 Function & application of voice broadcast

7. Preview

7.1 No video on preview

7.2 How to avoid the limitation of maximum connection number for one device

7.3 Necessary APIs and calling reference for remote preview

7.4 Preview mode supported and multicast preview configuration

8.Device Upgrade

8.1 What are the possible reasons for network failure on remote device upgrading?

9. Network Listening(2009-3-4)

9.1 What’s the difference between "remote control center address" and "remote alarm center address"?

9.2 How many listening ports does NET_DVR_StartListen_V30 support?

10. How to check if there is video signal input(2009-3-3)

10.1 How to check if there is video signal on the input interface

1. Alarm Function

1.1 How to identify the alarm channel number from the callback function of API NET_DVR_SetDVRMessCallBack

The 3rd parameter of the callback function (NET_DVR_ALARMINFO structure) contains alarm information, and parameter dwAlarmType stands for the alarm type: 0-I/O alarm, 1-HD full, 2-signal loss, 3-motion detect, 4-HD unformatted, 5-read/write HD error, 6-view tamper, 7-video standard not match, 8-illegal access. If the alarm type is signal loss or motion detect, users can identify the alarm channel number from the parameter dwChannel in this structure. i.e. if the value of dwChannel[1] is 1, then it stands for alarm in channel 1.

1.2 How to get/set alarm type

The ‘on guard’ status stands for SDK connects to the device initiatively, and upload message to center once the alarm is triggered. Therefore, users need to call API NET_DVR_SetupAlarmChan() to set the connection between SDK and the device besides alarm configuration and callback settings.

In initiavely alarm upload mode, users need to configure the alarm center IP and port number, and the alarm center PC will get the alarm message send by the DVR. Users need to call NET_DVR_StartListen() first to open the port for SDK, and then call NET_DVR_NETCFG to configure the alarm center IP and port number. This mode is suitable for applications that multiple devices sending alarm information to the same client, and it does not require DVR login. Alarm upload will still function after device reboot, yet the DVR only support 1 alarm center settings.

1.3 No alarm message received by client SDK while there is alarm info on DVR after alarm configuration

Please kindly check : 1. Network status 2) alarm upload center settings on initiative upload mode 3) if users has enabled ‘alarm upload to center’ under on Guard mode,

2. Picture Snapshot

2.1 How to save the captured picture in memory for user handling

Users can save the snapshot in memory via Player SDK API PlayM4_GetBMP & PlayM4_GetJPEG. The parameter LONG nPort (player handle of the relative channel) can be read from NET_DVR_GetRealPlayerIndex.

3. Playback & Download

3.1 How to locate the start time of files playback/download by time

The playback/download will start from the neighbor key frame.

3.2 There is only 0 and 100 for file position when playback/download by time

The device only support 2 file status query for playback/download according to time: 1. 0 for playback/download not complete 2. 100 for playback/download complete.

3.3 No video after calling playback API

After calling NET_DVR_PlayBackByName() or NET_DVR_PlayBackByTime(), users must call API NET_DVR_PlayBackControl to start playback (NET_DVR_PLAYSTART)

3.4 Playback control function of API NET_DVR_PlayBackByName & NET_DVR_PlayBackByTime

If the parameter hWnd of these 2 APIs are set as NULL, then only NET_DVR_PLAYSTART will be valid, and the other parameters will be invalid. Therefore, it is not suggested to set hWnd as NULL if users want to enable the playback control function.

3.5 Drop B Frame and open sound failure when playback by time

In playback by time mode, the SDK will wait the DVR to return a 40byte header, and caused time delay on opening player. If users call relative APIs to set B frame drop number, open sound, etc, it may leads to API calling failure.

4. Transparent Channel

4.1 Send data failure while using 232 as transparent channel

Please kindly check if the 232 port configuration has been modified accordingly. Please set ‘dwWorkMode’ in structure NET_DVR_RS232CFG as transparent channel mode.

4.2 Cannot get decoder callback after sending transparent channel data via 232/485

The DVR only has data transmit function, and does not handle with the data send under transparent channel mode. If there is no data in the callback, then it stands for the decoder does not support data sendback.

4.3 Is there any method for PTZ control other than 232/485 transparent channel?

Users can send command code directly to the PTZ without transparent channel via API NET_DVR_TransPTZ & NET_DVR_TransPTZ_Other.

5. Set/Get Remote Parameters

5.1 Notice for API NET_DVR_SetDVRConfig

As the API NET_DVR_SetDVRConfig requires complete structure parameter input, and otherwise it may cause configuration error; therefore, it is suggested to call NET_DVR_GetDVRConfig and get an initial value for the structure which may need modification, and then modify on the structure parameter, and call the API NET_DVR_SetDVRConfig afterwards.

5.2 API NET_DVR_PTZControl Command failure of for some PTZ

The device will send commend message to the PTZ according to the protocol type, address, etc; and if the settings are not match with the PTZ connected, or the protocol is not supported by the device, then the PTZ control will be failed.

5.3 View tamper parameters duplicated in NET_DVR_HIDEALARM parameter of API NET_DVR_PICCFG

Parameter NET_DVR_SHELTER in API NET_DVR_PICCFG is used for setting privacy mask area on device, and all the client connected to the device cannot view the setting area if this function is enabled; while NET_DVR_HIDEALARM stans for view tamper alarm, which means that alarm will be triggered if the video has been covered in settings area.

5.4 How to get PPPoE Info

Users can get PPPoE info either via IP Server software, or via API NET_DVR_GetDVRIPByResolveSvr() in the SDK.

6.Voice talk & transmit

6.1 What’s the function and application for voice transmit?

Vioce tranmit is the network part of voice talk function, that is, to send and receive audio data. Users can get the DVR audio data via callback function,or send audio data to DVR via API NET_DVR_VoiceComSendData. The audio data can be from audio files, audio input, etc.

6.2 Can users set the callback function of voice talk as Null

Yes. The voice talk function will still work properly, yet users cannot handle the data by themselves under this mode.

6.3 The device will automatically disconnect if there is no data send to it after voice talk starts

Users need to call API NET_DVR_VoiceComSendData(), and send voice talk/ audio data to the device, as otherwise the DVR will handle it as connection failure, and disconnect with the client.

6.4 Function & application of voice broadcast

On voice broadcast mode, the client send the audio data to multiple DVRs, but do not handle the audio data from the DVR. The DVR can only be set at one state among voice broadcast, voice talk and voice transmit mode.

7. Preview

7.1 No video on preview

Please kindly check if : 1.no data was received from the network; 2. Decode SDK/ network SDK version not match with the device 3. Exceed the maximum preview user number.

7.2 How to avoid the limitation of maximum connection number for one device

Each channel on the device supports up to 6 connections at the same time, and each devices supports up to 24 connections totally. If users want to exceed this limitation, it is suggested to the stream media mode.

7.3 Necessary APIs and calling reference for remote preview

NET_DVR_Init() -> NET_DVR_Login() -> NET_DVR_RealPlay() -> NET_DVR_StopRealPlay() -> NET_DVR_Logout() -> NET_DVR_Cleanup().

7.4 Preview mode supported and multicast preview configuration

The SDK support TCP, UDP, RTP and MULTICAST preview mode. Uses can set multicast preview mode via ‘lLinkMode’ of the parameter lpClientInfo (NET_DVR_CLIENTINFO structure) of API NET_DVR_RealPlay.

8.Device Upgrade

8.1 What are the possible reasons for network failure on remote device upgrading?

1. Network blocking 2. Some of the packages send to the PC are blocked by Firewalls such as Kaspersky, and leads to upgrading failure.

9. Network Listening(2009-3-4)

9.1 What’s the difference between "remote control center address" and "remote alarm center address"?

The IP of control center is defined as "remote alarm center" in 9000 DVR and the following models, and they get the same meaning.

9.2 How many listening ports does NET_DVR_StartListen_V30 support?

NET_DVR_StartListen_V30 supports up to 10 ports.

10. How to check if there is video signal input(2009-3-3)

10.1 How to check if there is video signal on the input interface

Users can get this information from NET_DVR_CHANNELSTATE_V30


Device Network SDK

Programming Manual

V5.2


EventTriggersCap XML Block

EventTriggersCap Event triggering capability set XML description

<EventTriggersCap version="2.0">

<DiskfullTriggerCap><!--opt, HDD full, xs: EventTriggerCapType --></DiskfullTriggerCap>

<DiskerrorTriggerCap><!--opt, HDD error, xs: EventTriggerCapType --></DiskerrorTriggerCap>

<NicbrokenTriggerCap><!--opt, network disconnection, xs: EventTriggerCapType --></NicbrokenTriggerCap>

<IpconflictTriggerCap><!--opt, IP conflict, xs: EventTriggerCapType --></IpconflictTriggerCap>

<IllaccesTriggerCap><!--opt, illegal access, xs: EventTriggerCapType --></IllaccesTriggerCap>

<BadvideoTriggerCap><!--opt, video signal exception, xs: EventTriggerCapType--></BadvideoTriggerCap>

<VideomismatchTriggerCap><!--opt, video standard mismatch, xs: EventTriggerCapType --></VideomismatchTriggerCap>

<IOTriggerCap><!--opt, I/O alarm, xs: EventTriggerCapType --></IOTriggerCap>

<LineDetectTriggerCap><!--opt, line crossing detection, xs: EventTriggerCapType --></LineDetectTriggerCap>

<RegionEntranceTriggerCap><!--opt, region entrance detection, xs: EventTriggerCapType--></RegionEntranceTriggerCap>

<RegionExitingTriggerCap><!--opt, region exiting detection, xs: EventTriggerCapType--></RegionExitingTriggerCap>

<LoiteringTriggerCap><!--opt, loitering detection, xs: EventTriggerCapType--></LoiteringTriggerCap>

<GroupDetectionTriggerCap><!--opt, people gathering detection, xs: EventTriggerCapType--></GroupDetectionTriggerCap>

<RapidMoveTriggerCap><!--opt, fast moving detection, xs: EventTriggerCapType--></RapidMoveTriggerCap>

<ParkingTriggerCap><!--opt, parking detection, xs: EventTriggerCapType--></ParkingTriggerCap>

<UnattendedBaggageTriggerCap><!--opt, unattended baggage detection, xs: EventTriggerCapType--></UnattendedBaggageTriggerCap>

<AttendedBaggageTriggerCap><!--opt, object removal detection, xs: EventTriggerCapType--></AttendedBaggageTriggerCap>

<FireDetectionCap><!--opt, fire source detection, xs: EventTriggerCapType--></FireDetectionCap>

<StorageDetectionTriggerCap><!--opt, storage health detection, xs: EventTriggerCapType--></StorageDetectionTriggerCap>

<ShipsDetectionTriggerCap><!--opt, ship detection alarm, xs: EventTriggerCapType--></ShipsDetectionTriggerCap>

<ThermometryCap><!--opt, thermal imaging temperature detection alarm, xs: EventTriggerCapType--></ThermometryCap>

<VandalProofTriggerCap><!--opt, vandal-proof alarm, xs: EventTriggerCapType--></VandalProofTriggerCap>

<BlackListTriggerCap><!--opt, blacklist, xs: EventTriggerCapType--></BlackListTriggerCap>

<WhiteListTriggerCap><!--opt, whitelist, xs: EventTriggerCapType--></WhiteListTriggerCap>

<AllVehicleListTriggerCap><!--opt, all vehicle detection list, xs: EventTriggerCapType--></AllVehicleListTriggerCap>

<OtherVehicleListTriggerCap><!--opt, other vehicle detection list, xs: EventTriggerCapType--></OtherVehicleListTriggerCap>

<PeopleDetectionTriggerCap><!--opt, people detection, xs: EventTriggerCapType--></PeopleDetectionTriggerCap>

<TamperDetectionTriggerCap><!--opt, tampering alarm, xs: EventTriggerCapType--></TamperDetectionTriggerCap>

<DefocusDetectionTriggerCap><!--opt, defocus detection, xs: EventTriggerCapType--></DefocusDetectionTriggerCap>

<FaceDetectionTriggerCap><!--opt, face detection, xs: EventTriggerCapType--></FaceDetectionTriggerCap>

<SceneChangeDetectionTriggerCap><!--opt, scene change detection, xs: EventTriggerCapType--></SceneChangeDetectionTriggerCap>

<VideoLossTriggerCap><!--opt, video signal loss detection, xs: EventTriggerCapType--></VideoLossTriggerCap>

<HideTriggerCap><!--opt, video tempering alarm, xs: EventTriggerCapType--></HideTriggerCap>

<AlarmInTriggerCap><!--opt, alarm input, xs: EventTriggerCapType--></AlarmInTriggerCap>

<VehicleDetectionTriggerCap ><!--opt, vehicle detection, xs: EventTriggerCapType--></VehicleDetectionTriggerCap>

<VCATriggerCap><!--opt, decoder smart decoding detection, xs: EventTriggerCapType--></VCATriggerCap>

<AudioExceptionCap><!--opt, audio exception detection, xs: EventTriggerCapType--></AudioExceptionCap>

<PIRCap><!--opt, PIR alarm detection, xs: EventTriggerCapType--></PIRCap>

<FiledDetectTriggerCap><!--opt, region detection, xs: EventTriggerCapType--></FiledDetectTriggerCap>

<MotionDetectionTriggerCap><!--opt, motion detection, xs: EventTriggerCapType--></MotionDetectionTriggerCap>

<CountingTriggerCap><!--opt, line crossing detection, xs: EventTriggerCapType--></CountingTriggerCap>

<AlarmInCap><!--opt, alarm input, xs: EventTriggerCapType--></AlarmInCap>

<EmergencyCallhelpCap><!--opt, emergency alarm, xs: EventTriggerCapType--></EmergencyCallhelpCap>

<ConsultCap><!--opt, service inquiry, xs: EventTriggerCapType--></ConsultCap>

</EventTriggersCap>

See Also

NET_DVR_STD_ABILITY


SensorPortList XML Block

SensorPortList sensor capability set XML description

<SensorPortList version="2.0">
<SensorPort/>
<!-- opt -->
</SensorPortList>

<SensorPort version="2.0">
<id><!-- req, xs:string;id "Terminal1-4,Socket1-2,Analog1-8"sensor id--></id>
<enabled><!-- req, xs:boolean whether to enable sensor--></enabled>
<name><!-- req, xs:string, 1-32Bytes sensor name--> </name>
<samplingTime><!-- req, xs:integer, 1-3600s sensor sampling time--></samplingTime>
<AnalogRegions><!-- dep analog sensor parameters--></AnalogRegions>
<ACTerminal><!-- dep electrical terminal parameters--></ACTerminal>
<SocketRegions><!-- dep electrical socket parameters--></SocketRegions>
</SensorPort>

<AnalogRegions version="2.0">
<type><!--req,xs:string,"temperature, humidity, wind speed, gas, AC voltage, AC current, DC voltage, DC current, water pressure, pressure transmitter, flow transmitter, water leakage, integrated temperature detector, isolation temperature detector, residual chlorine sensor check type, indicated by actual value--></type>
<maxValue><!-- req, xs:integer range upper limit--> </maxValue>
<minValue><!-- req, xs:integer range lower limit--> </minValue>
<sensitivity><!-- req, xs:integer, 0.01-1 sensitivity--></sensitivity>
<unit><!--opt,xs:string,"℃, V, mA…, 0-32Bytes" unit of the actual value--></unit>
<Region><!-- dep -->
<id><!-- req, xs:integer --></id>
<regionMin><!-- req, xs:integer--></regionMin>
<regionMax><!-- req, xs:integer--></regionMax>
<normalOrExcept>
<!-- req, xs:integer 1-normal, 2-exception-->
</normalOrExcept>
</Region>
</AnalogRegions>

<ACTerminal>
<isPowerOn><!-- req, xs:boolean true-on, false-off whether powered on--></isPowerOn>
<normalOrExcept><!-- req, xs:integer 1-normal, 2-exception the section is normal or exception--></normalOrExcept>
</ACTerminal>

<SocketRegions version="2.0">
<CurrentRegion><!-- opt electrical current section parameters-->
<id><!-- req, xs:integer --> </id>
<regionMin><!-- req, xs:integer--></regionMin>
<regionMax><!-- req, xs:integer--></regionMax>
<normalOrExcept>
<!-- req, xs:integer 1-normal, 2-exception-->
</normalOrExcept>
</CurrentRegion>

<VoltageRegion><!-- opt voltage section parameters-->
<id><!-- req, xs:integer --> </id>
<regionMin><!-- req, xs:integer--></regionMin>
<regionMax><!-- req, xs:integer--></regionMax>
<normalOrExcept>
<!-- req, xs:integer 1-normal, 2-exception-->
</normalOrExcept>
</VoltageRegion>

<PowerStatus><!-- opt whether powered on-->
<isPowerOn><!-- req, xs:boolean true-on, false-off--></isPowerOn>
<normalOrExcept>
<!-- req, xs:integer 1-normal, 2-exception-->
</normalOrExcept>
</PowerStatus>
</SocketRegions>

See Also

NET_DVR_STD_ABILITY


ResponseStatus XML Block

Response Status XML Description

<ResponseStatus version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<requestURL>/ISAPI/Intelligent/channels/1/capabilities </requestURL>
<statusCode>4</statusCode>
<statusString>Invalid Operation</statusString>
<subStatusCode>invalidOperation</subStatusCode>
</ResponseStatus>

See Also

The following table shows the possible content of statusCode, subStatusCode, and statusString:

statusCode | subStatusCode | statusString
1 | ok | indicate a successful operation is done
2 | noMemory | Device doesn’t have enough memory
 | serviceUnavailable | service unavailable
 | upgrading | upgrading
 | deviceBusy | Device busy or no response
 | reConnectIpc | Reconnect the video server
3 | deviceError | Device hardware error
 | badFlash | Operate flash error
 | 28181Uninitialized | 28181 configuration uninitialized
4 | notSupport | The device does’t support this resource
 | lowPrivilege | Not have enough privilege for this operation
 | badAuthorization | The user has not passed the authentication
 | methodNotAllowed | http method is not allowed
 | notSetHdiskRedund | can't set redundancy attribute for hdd disk(system exists more than one non-operate hdd disk,and the attribution of a hdd disk is WR )
 | invalidOperation | Invalid operation
5 | badXmlFormat | Wrong XML format
6 | badParameters | Parameters error
 | badHostAddress | Wrong Host Address
 | badXmlContent | Wrong XMLcontent
 | badIPv4Address | Wrong IPv4 address
 | badIPv6Address | Wrong IPv6 address
 | conflictIPv4Address | IPV4 address conflict
 | conflictIPv6Address | IPV6 address conflict
 | badDomainName | Wrong Domain
 | connectSreverFail | Failed to connect with Server
 | conflictDomainName | Domain conflict
 | badPort | Port conflict
 | portError | Port error
 | importErrorData | Failed to import data
 | badNetMask | Wrong subnet mask
 | badVersion | Version mismatching
 | badDevType | Device type mismatching
 | badLanguage | Language mismatching
 | incorrentUserNameOrPassword | The user name or the password is incorrect
 | invalidStoragePoolOfCloudServer | The storage pool of the cloud server is invalid, no configured storage pool or the storage pool ID is incorrect
 | noFreeSpaceOfStoragePool | No free space for the storage pool.
7 | rebootRequired | A reboot is required before the operation taking effect


NET_DVR_AddDVR

This API is used to add device to the broadcast group which supports receiving audio from PC.

BOOL NET_DVR_AddDVR(
  LONG    lUserID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.

Remarks

To achieve audio broadcast, firstly please call NET_DVR_ClientAudioStart or NET_DVR_ClientAudioStart_V30 to collect audio data of local PC, and then call NET_DVR_AddDVR or NET_DVR_AddDVR_V30 to add device one by one, and transfer collected audio data to these device in the meantime. Audio broadcast only supports G722 at present.

It supports to add 512 devices by this SDK.

See Also

NET_DVR_DelDVR NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_AddDVR_V30


NET_DVR_ClientAudioStart

This API is used to start capturing PC audio for voice broadcast.

BOOL NET_DVR_ClientAudioStart(
);

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_ORDER_ERROR | 12 | API calling order error.

Remarks

The interface will return FALSE if there is no peripheral audio device on Windows 7 OS.
To achieve voice broadcast, should call firstly NET_DVR_ClientAudioStart or NET_DVR_ClientAudioStart_V30 to collect audio data of current PC, and then call NET_DVR_AddDVR or NET_DVR_AddDVR_V30 to add device one by one and transfer collected audio data to devices in the meantime.

See Also

NET_DVR_ClientAudioStop

Reference Interface

NET_DVR_ClientAudioStart_V30


NET_DVR_CloseAlarmChan

This API is used to remove alarm upload channel.

BOOL NET_DVR_CloseAlarmChan(
  LONG   lAlarmHandle
);

Parameters

lAlarmHandle
[in] The return value of NET_DVR_SetupAlarmChan

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetupAlarmChan


NET_DVR_DecCtrlDec

This API is used to control decoder status.

BOOL NET_DVR_DecCtrlDec(
  LONG    lUserID,
  LONG    lChannel,
  DWORD   dwControlCode
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number, and 0xffffffff stands for all channels
dwControlCode
[in] Control code: 1- start decoding, 2- stop decoding, 3- stop switching, 4- continue switching

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_DecCtrlScreen

This API is used to set a decode window of decoder to full screen, or restore it to previous status.

BOOL NET_DVR_DecCtrlScreen(
  LONG    lUserID,
  LONG    lChannel,
  DWORD   dwControl
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwControl
[in] 1- full screen, 2- restore

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_DecPlayBackCtrl

This API is used to control remote playback file of decode devices.

BOOL NET_DVR_DecPlayBackCtrl(
  LONG                       lUserID,
  LONG                       lChannel,
  DWORD                      dwControlCode,
  DWORD                      dwInValue,
  DWORD                      *lpOutValue,
  LPNET_DVR_PLAYREMOTEFILE   lpRemoteFileInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwControlCode
[in] Control command, listed below:
Macro Definition | Value | Implication
NET_DVR_PLAYSTART | 1 | Start playback
NET_DVR_PLAYSTOP | 2 | Stop playback
NET_DVR_PLAYPAUSE | 3 | Pause
NET_DVR_PLAYRESTART | 4 | Resume
NET_DVR_PLAYFAST | 5 | Fast forward
NET_DVR_PLAYSLOW | 6 | Playback at lower speed
dwInValue
[in] Set value
lpOutValue
[out] Pointer of output value
lpRemoteFileInfo
[in] Parameter structure of playback file

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_DelDVR

This API is used to delete one DVR from the broadcast group which can receive audio data from PC.

BOOL NET_DVR_DelDVR(
  LONG   lUserID
);

Parameters

lUserID
[in] The value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_AddDVR

Reference Interface

NET_DVR_DelDVR_V30


NET_DVR_DrawAreaInit

This API is used to initialize SDK. The interface is valid only for Linux system.

BOOL NET_DVR_DrawAreaInit(
  INITINFO  InitInfo
);

Parameters

InitInfo
[in] Initialization information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

If preview on Linux OS, please call firstly the interface to initialize STL window.

See Also

INITINFO NET_DVR_DrawAreaRelease


NET_DVR_DrawAreaRelease

This API is used to release resource of the window. The interface is valid only for Linux SDK.

BOOL NET_DVR_DrawAreaRelease(
);

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_DrawAreaInit


NET_DVR_FindBlackList

Black and white list information inquery.

LONG NET_DVR_FindBlackList(
  LONG                       lUserID,
  LPNET_VCA_BLACKLIST_COND   lpBlackListCond
);

Parameters

lUserID
[in] Return value of NET_DVR_Login and NET_DVR_Login_V30
lpBlackListCond
[in] Inquery condition parameters

Return Values

Return -1 on failure, and other value is the parameters of NET_DVR_FindNextBlackList.Please callNET_DVR_GetLastErrorto get the error code.

Remarks

The API assign the info of the black/white list. You can call NET_DVR_FindNextBlackList to get the info of black and white list after successfully called the API.

See Also

NET_DVR_FindNextBlackList NET_DVR_FindBlackListClose


NET_DVR_FindBlackListClose

Close the inquery of the black and white list info

BOOL NET_DVR_FindBlackListClose(
  LONG   lFindHandle
);

Parameters

lFindHandle
[in] Handle, return value of NET_DVR_FindBlackList

Return Values

TRUE means the success and FALSE is failure. Please callNET_DVR_GetLastErrorto get the error code

See Also

NET_DVR_FindBlackList


NET_DVR_FindClose

This API is used to close file search and release the resource.

BOOL NET_DVR_FindClose(
  LONG   lFindHandle
);

Parameters

lFindHandle
[in] The handle of file search, the return value of NET_DVR_FindFile

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

See Also

NET_DVR_FindFile

Reference Interface

NET_DVR_FindClose_V30


NET_DVR_FindDVRLog

This API is used to search log of device.

LONG NET_DVR_FindDVRLog(
  LONG              lUserID,
  LONG              lSelectMode,
  DWORD             dwMajorType,
  DWORD             dwMinorType,
  LPNET_DVR_TIME    lpStartTime,
  LPNET_DVR_TIME    lpStopTime
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lSelectMode
[in] Search mode: 0- all, 1- according to type, 2- according to time, 3- according to time and type
dwMajorType
[in] Major type (it is invalid when search in S.M.A.R.T), 0 means all types, and the other types are listed below:
Macro Definition | Value | Implication
MAJOR_ALARM | 0x1 | Alarm
MAJOR_EXCEPTION | 0x2 | Exception
MAJOR_OPERATION | 0x3 | Operation
MAJOR_INFORMATION | 0x4 | Additional information of log
dwMinorType
[in] Minor type (it is invalid when search in S.M.A.R.T), 0 means all types, and the other types based on major types are listed below:
Macro Definition of Major Type | Value | Implication
MAJOR_ALARM | 0x1 | Alarm
Macro Definition of Minor Type | Value | Implication
MINOR_ALARM_IN | 0x1 | Input of alarm
MINOR_ALARM_OUT | 0x2 | Output of alarm
MINOR_MOTDET_START | 0x3 | Start motion detection alarm
MINOR_MOTDET_STOP | 0x4 | Stop motion detection alarm
MINOR_HIDE_ALARM_START | 0x5 | Start tampering alarm
MINOR_HIDE_ALARM_STOP | 0x6 | Stop tampering alarm
MINOR_VCA_ALARM_START | 0x7 | Start intelligent alarm
MINOR_VCA_ALARM_STOP | 0x8 | Stop intelligent alarm

Macro Definition of Major Type | Value | Implication
MAJOR_EXCEPTION | 0x2 | Exception
Macro Definition of Minor Type | Value | Implication
MINOR_VI_LOST | 0x21 | Lose video signal
MINOR_ILLEGAL_ACCESS | 0x22 | Illegal access
MINOR_HD_FULL | 0x23 | Hard disk full
MINOR_HD_ERROR | 0x24 | Hard disk error
MINOR_DCD_LOST | 0x25 | MODEM off-line(reserved)
MINOR_IP_CONFLICT | 0x26 | IP conflict
MINOR_NET_BROKEN | 0x27 | Network not connected
MINOR_REC_ERROR | 0x28 | Recoding error
MINOR_IPC_NO_LINK | 0x29 | IPC connection failed
MINOR_VI_EXCEPTION | 0x2a | Exception of video input (only for analog channels)
MINOR_IPC_IP_CONFLICT | 0x2b | IP conflict of IPC

Macro Definition of Major Type | Value | Implication
MAJOR_OPERATION | 0x3 | Operation
Macro Definition of Minor Type | Value | Implication
MINOR_START_DVR | 0x41 | Start DVR
MINOR_STOP_DVR | 0x42 | Close DVR
MINOR_STOP_ABNORMAL | 0x43 | Stop abnormal
MINOR_REBOOT_DVR | 0x44 | reboot DVR (local)
MINOR_LOCAL_LOGIN | 0x50 | Login (local)
MINOR_LOCAL_LOGOUT | 0x51 | Logout (local)
MINOR_LOCAL_CFG_PARM | 0x52 | Local configuration
MINOR_LOCAL_PLAYBYFILE | 0x53 | Playback or download by file (local)
MINOR_LOCAL_PLAYBYTIME | 0x54 | Playback or download by time (local)
MINOR_LOCAL_START_REC | 0x55 | start recoding (local)
MINOR_LOCAL_STOP_REC | 0x56 | Stop recoding (local)
MINOR_LOCAL_PTZCTRL | 0x57 | Local PTZ control
MINOR_LOCAL_PREVIEW | 0x58 | Local preview(reserved)
MINOR_LOCAL_MODIFY_TIME | 0x59 | Modify time (local,reserved)
MINOR_LOCAL_UPGRADE | 0x5a | Upgrade (local)
MINOR_LOCAL_RECFILE_OUTPUT | 0x5b | Backup (local)
MINOR_LOCAL_FORMAT_HDD | 0x5c | HD format (local)
MINOR_LOCAL_CFGFILE_OUTPUT | 0x5d | Export configuration (local)
MINOR_LOCAL_CFGFILE_INPUT | 0x5e | Import configuration (local)
MINOR_LOCAL_COPYFILE | 0x5f | Backup file (local)
MINOR_LOCAL_LOCKFILE | 0x60 | Lockup file (local)
MINOR_LOCAL_UNLOCKFILE | 0x61 | Unlock file (local)
MINOR_LOCAL_DVR_ALARM | 0x62 | Clear/Trigger alarm (local)
MINOR_IPC_ADD | 0x63 | Add IPC (local)
MINOR_IPC_DEL | 0x64 | Delete IPC (local)
MINOR_IPC_SET | 0x65 | Set IPC (local)
MINOR_LOCAL_START_BACKUP | 0x66 | Start backup locally
MINOR_LOCAL_STOP_BACKUP | 0x67 | Stop backup locally
MINOR_LOCAL_COPYFILE_START_TIME | 0x68 | Start time of local backup
MINOR_LOCAL_COPYFILE_END_TIME | 0x69 | End time of local backup
MINOR_LOCAL_ADD_NAS | 0x6a | Add network disk locally
MINOR_LOCAL_DEL_NAS | 0x6b | Delete network disk locally
MINOR_LOCAL_SET_NAS | 0x6c | Set NAS locally
MINOR_REMOTE_LOGIN | 0x70 | Login (remote)
MINOR_REMOTE_LOGOUT | 0x71 | Logout (remote)
MINOR_REMOTE_START_REC | 0x72 | Start record (remote)
MINOR_REMOTE_STOP_REC | 0x73 | Stop record (remote)
MINOR_START_TRANS_CHAN | 0x74 | Start transparent channel
MINOR_STOP_TRANS_CHAN | 0x75 | Stop transparent channel
MINOR_REMOTE_GET_PARM | 0x76 | Get parameter remotely
MINOR_REMOTE_CFG_PARM | 0x77 | Remote configuration
MINOR_REMOTE_GET_STATUS | 0x78 | Get status remotely
MINOR_REMOTE_ARM | 0x79 | Arm(remote)
MINOR_REMOTE_DISARM | 0x7a | Disarm remotely
MINOR_REMOTE_REBOOT | 0x7b | Reboot remotely
MINOR_START_VT | 0x7c | Start voice talk
MINOR_STOP_VT | 0x7d | Stop voice talk
MINOR_REMOTE_UPGRADE | 0x7e | Upgrade remotely
MINOR_REMOTE_PLAYBYFILE | 0x7f | Playback by file name remotely
MINOR_REMOTE_PLAYBYTIME | 0x80 | Playback by time remotely
MINOR_REMOTE_PTZCTRL | 0x81 | Remote PTZ control
MINOR_REMOTE_FORMAT_HDD | 0x82 | Format hard disk remotely
MINOR_REMOTE_STOP | 0x83 | Shut down remotely
MINOR_REMOTE_LOCKFILE | 0x84 | Lockup file remotely
MINOR_REMOTE_UNLOCKFILE | 0x85 | Unlock file remotely
MINOR_REMOTE_CFGFILE_OUTPUT | 0x86 | Export configuration remotely
MINOR_REMOTE_CFGFILE_INTPUT | 0x87 | Import configuration remotely
MINOR_REMOTE_RECFILE_OUTPUT | 0x88 | Backup recording files remotely
MINOR_REMOTE_DVR_ALARM | 0x89 | Trigger/clear alarm remotely
MINOR_REMOTE_IPC_ADD | 0x8a | Add IPC remotely
MINOR_REMOTE_IPC_DEL | 0x8b | Delete IPC remotely
MINOR_REMOTE_IPC_SET | 0x8c | Set IPC remotely
MINOR_REBOOT_VCA_LIB | 0x8d | Restart VCA library
MINOR_REMOTE_ADD_NAS | 0x8e | Add NAS remotely
MINOR_REMOTE_DEL_NAS | 0x8f | Delete NAS remotely
MINOR_REMOTE_SET_NAS | 0x90 | Set NAS remotely

Macro Definition of Major Type | Value | Implication
MAJOR_INFORMATION | 0x4 | Additional information
Macro Definition of Minor Type | Value | Implication
MINOR_HDD_INFO | 0xa1 | HD information
MINOR_SMART_INFO | 0xa2 | S.M.A.R.T information
MINOR_REC_START | 0xa3 | Start recording
MINOR_REC_STOP | 0xa4 | Stop recording
MINOR_REC_OVERDUE | 0xa5 | Record overdue and deleted
MINOR_LINK_START | 0xa6 | Connect to front-end device
MINOR_LINK_STOP | 0xa7 | Disconnect front-end device
MINOR_NET_DISK_INFO | 0xa8 | Network disk information
lpStartTime
[in] Start time
lpStopTime
[in] End time

Return Values

Return -1 if it is failed, and the other values could be used as a parameter of NET_DVR_FindNextLog. Please call NET_DVR_GetLastError to get the error code.

Remarks

The interface supports searching 2000 normal logs.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_FindNextLog NET_DVR_FindLogClose

Reference Interface

NET_DVR_FindDVRLog_V30


NET_DVR_FindFaceMatchAlarm

Alarm result of black and white list comparision search

LONG NET_DVR_FindFaceMatchAlarm(
  LONG                         lUserID,
  LPNET_VCA_FIND_PICTURECOND   lpFindParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login and NET_DVR_Login_V30
pFindCond
[in] Parameter of search condition

Return Values

Return -1 if it is failed, and other value are the parameters of NET_DVR_FindNextFaceMatchAlarm. Please callNET_DVR_GetLastErrorto get error code.

Remarks

The API destinated the info of searching video file, please call NET_DVR_FindNextFaceMatchAlarm to get comparision alarm result of black and white list after successful called the API.

See Also

NET_DVR_Login_V30
NET_DVR_FindNextFaceMatchAlarm NET_DVR_FindFaceMatchAlarmClose


NET_DVR_FindFile

This API is used to search record files by file type and time.

LONG NET_DVR_FindFile(
  LONG               lUserID,
  LONG               lChannel,
  DWORD              dwFileType,
  LPNET_DVR_TIME     lpStartTime,
  LPNET_DVR_TIME     lpStopTime
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwFileType
[in] The file type to be found: 0xff – all, 0 – scheduled recording, 1 – motion detection, 2 – alarm recording, 3 – alarm | motion detection,
4 - alarm & motion detection, 5- command trigger, 6 –manual recording, 7 – intelligent recording
lpStartTime
[in] Start time
lpStopTime
[in] End time

Return Values

Return -1 if it is failed, and the other values could be used as a parameter of NET_DVR_FindClose. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOENOUGHPRI | 2 | Not authorized to do this operation.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_CHANNEL_ERROR | 4 | Channel number error. There is no corresponding channel number on the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NODISK | 19 | No hard disk on the device, and the operation of recording and hard disk configuration will fail.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

The interface has assigned the file type and time-range to search. After calling it successfully, we can call NET_DVR_FindNextFile to get file information.

See Also

NET_DVR_FindNextFile NET_DVR_FindClose

Reference Interface

NET_DVR_FindFile_V30


NET_DVR_FindFile_V30

This API is used to search record files by file type and time.

LONG NET_DVR_FindFile_V30(
  LONG                  lUserID,
  LPNET_DVR_FILECOND    pFindCond
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pFindCond
[in] The structure of file information to be found

Return Values

Return -1 if it is failed, and other values could be used as a parameter of NET_DVR_FindClose and other APIs. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOENOUGHPRI | 2 | Not authorized to do this operation.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_CHANNEL_ERROR | 4 | Channel number error. There is no corresponding channel number on the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NODISK | 19 | No hard disk on the device, and the operation of recording and hard disk configuration will fail.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

The interface has assigned the file type and time-range to search. After calling it successfully, please call NET_DVR_FindNextFile_V30 to get file information.

See Also

NET_DVR_FindNextFile_V30 NET_DVR_FindClose_V30

Reference Interface

NET_DVR_FindFile_V40

NET_DVR_FindFile


NET_DVR_FindLogClose

This API is used to release log query resource.

BOOL NET_DVR_FindLogClose(
  LONG   lLogHandle
);

Parameters

lLogHandle
[in] Handle of log query, the return value of NET_DVR_FindDVRLog

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_FindDVRLog

Reference Interface

NET_DVR_FindLogClose_V30


NET_DVR_FindNextBlackList

Inquery the black list info one by one

LONG NET_DVR_FindNextBlackList(
  LONG                       lFindHandle,
  LPNET_VCA_BLACKLIST_INFO   lpFindData
);

Parameters

lFindHandle
[in] Handle, return value of NET_DVR_FindBlackList
lpFindData
[out] Pointer of searching result

Return Values

Return -1 on failure, and other value is the current status. Please refer to the list below.Please call NET_DVR_GetLastErrorto get the error code.

Macro Definition | Vlaue | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get file info succeed
NET_DVR_FILE_NOFIND | 1001 | No file find
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more files, searching end
NET_DVR_FILE_EXCEPTION | 1004 | Exception when searching

Remarks

You need get the current handle by calling NET_DVR_FindBlackList before calling the API. The API used for getting a info that had been searched. Please loop call the API to get the all info of black list.

The max number that you can search at one time is 2000

See Also

NET_DVR_FindBlackList


NET_DVR_FindNextFaceMatchAlarm

Search black list info one by one

LONG NET_DVR_FindNextFaceMatchAlarm(
  LONG                                 lFindHandle,
  LPNET_VCA_FACESNAP_MATCH_ALARM_LOG   lpFaceMatchAlarmLog
);

Parameters

lFindHandle
[in] Handle, return value of NET_DVR_FindFaceMatchAlarm
lpFindData
[out] Pointer of saving searching result

Return Values

Return -1 if it is failed, and other value is the value of current status. Please call NET_DVR_GetLastErrorto get error code

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get file info success
NET_DVR_FILE_NOFIND | 1001 | Not find the file
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more file, searching finished
NET_DVR_FILE_EXCEPTION | 1004 | Searching exception

Remarks

Please get the current handle by calling NET_DVR_FindFaceMatchAlarm before calling the API to get searching images.Please loop call the API to get all results of searched images./p>

The max number of black list is 2000.

See Also

NET_DVR_FindFaceMatchAlarm


NET_DVR_FindNextFile

This API is used to get record file one by one.

LONG NET_DVR_FindNextFile(
  LONG                   lFindHandle,
  LPNET_DVR_FIND_DATA    lpFindData
);

Parameters

lFindHandle
[in] Handle of file searching, return value of NET_DVR_FindFile
lpFindData
[out] Pointer for saving file information

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get the file information successfully
NET_DVR_FILE_NOFIND | 1001 | No file found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more file found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when searching file

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

Before calling this function, please call NET_DVR_FindFile to get current handle firstly. The interface only supports to get one file. We should call the interface repetitively to get all files.

See Also

NET_DVR_FindFile

Reference Interface

NET_DVR_FindNextFile_V30


NET_DVR_FindNextLog

This API is used to get log one by one.

LONG NET_DVR_FindNextLog(
  LONG             lLogHandle,
  LPNET_DVR_LOG    lpLogData
);

Parameters

lLogHandle
[in] Handle of log searching, the return value of NET_DVR_FindDVRLog
lpLogData
[out] Pointer for saving file information

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. Please call NET_DVR_GetLastError to get the error code.

Macro Definition | Value | Implication
NET_DVR_FILE_SUCCESS | 1000 | Get log information successfully
NET_DVR_FILE_NOFIND | 1001 | No log found
NET_DVR_ISFINDING | 1002 | Searching, please wait
NET_DVR_NOMOREFILE | 1003 | No more log found, search is finished
NET_DVR_FILE_EXCEPTION | 1004 | Exception when searching log

Remarks

Before calling this function, please call NET_DVR_FindDVRLog to get current searching handle firstly.

See Also

NET_DVR_FindDVRLog

Reference Interface

NET_DVR_FindNextLog_V30


NET_DVR_FindNextPicture_V40

Get picture information one by one in search result.

LONG NET_DVR_FindNextPicture_V40(
  LONG                          lFindHandle,
  LPNET_DVR_FIND_PICTURE_V40    lpFindData
);

Parameters

lFindHandle
[in] Picture searching handle, the return value of NET_DVR_FindPicture
lpFindData
[out] Save compass for picture information

Return Values

-1 means failure, other values mean the present getting status and other information. To get error code, callNET_DVR_GetLastError.

Macro definition | Macro definition value | Definition
NET_DVR_FILE_SUCCESS | 1000 | Successfully get file information.
NET_DVR_FILE_NOFIND | 1001 | File not found.
NET_DVR_ISFINDING | 1002 | Searching... Please wait.
NET_DVR_NOMOREFILE | 1003 | No more files. Search completed.
NET_DVR_FILE_EXCEPTION | 1004 | Error search.

Remarks

Before you call this interface to get found information, call NET_DVR_FindPicture to get the presend searching handle. This interface is used to get one found picture information. To get all the found picture information, repeatedly call this interface.

See Also

NET_DVR_FindPicture

Reference Interface

This interface reference is from
NET_DVR_FindNextPicture


NET_DVR_GetAudioProgress

This API is used to get the progress of voice uploading or downloading.

BOOL NET_DVR_GetAudioProgress(
  LONG    lAudioHandle
);

Parameters

lAudioHandle
[in] Uploading or downloading handle, the return value of NET_DVR_StartUploadAudio or NET_DVR_StartDownloadAudio

Return Values

-1 means false, and 0~100 mean the progress of voice uploading or downloading. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartUploadAudio NET_DVR_StartDownloadAudio


NET_DVR_GetDDrawDeviceTotalNums

This API is used to get available display device number.

LONG NET_DVR_GetDDrawDeviceTotalNums(
);

Return Values

Return -1 if it is failed. 0 means there is only one main graphics; 1 means there are two or more graphics are installed, but only one is combined to windows desktop; other values stand for the number of graphics combined to desktop. Please call NET_DVR_GetLastError to get the error code.

Remarks

This interface is invalid when playCtrl.dll version is higher than 6.1.


NET_DVR_GetDecCurLinkStatus

This API is used to get current decoder connection status.

BOOL NET_DVR_GetDecCurLinkStatus(
  LONG                  lUserID,
  LONG                  lChannel,
  LPNET_DVR_DECSTATUS   lpDecStatus
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpDecStatus
[out] NET_DVR_DECSTATUS structure

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDecInfo

This API is used to get decoder parameter.

BOOL NET_DVR_GetDecInfo(
  LONG               lUserID,
  LONG               lChannel,
  LPNET_DVR_DECCFG   lpDecoderinfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpDecoderinfo
[out] Pointer to NET_DVR_DECCFG structure

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_SetDecInfo


NET_DVR_GetDecTransPort

This API is used to get transparent channel parameter of decoder.

BOOL NET_DVR_GetDecTransPort(
  LONG                lUserID,
  LPNET_DVR_PORTCFG   lpTransPort
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpTransPort
[out] Transparent channel parameter structure of decoder

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_SetDecTransPort


NET_DVR_GetDeviceAbility

Get device capability set

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, see below for details:
Macro Definition | Value | Description
DEVICE_ABILITY_INFO | 0x011 | General device capability type, details determined by sending capability node
pInBuf
[in] Pointer to input buffer (combined according to description of capability parameters of device, and can be XML text or structure form)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer to output buffer (combined according to description of capability set of device, and can be XML text or structure form)
dwOutLength
[in] Length of buffer of receiving data

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices. The input and output parameter format when getting intelligent traffic camera ability are defined as below:

Capability Type Macro Definition | Capability Type Description | pInBuf | pOutBuf
DEVICE_ABILITY_INFO | Get inquest host capability set | Get inquest host capability set | Inquest host capability XML description (InquestAbility)
 | Get inquest host capability set | Get inquest host capability set | Inquest host capability XML description(TrialHostAbility)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Below are the possible error codes

Type | Value | Information
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Creating SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

See Also

NET_DVR_Login_V30


NET_DVR_GetDeviceAbility

This API is used to get capability set of the device.

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAbilityType
[in] Type of ability, details listed below:
Macro Definition | Value | Implication
DEVICE_SOFTHARDWARE_ABILITY | 0x001 | Software/hardware capability set
DEVICE_NETWORK_ABILITY | 0x002 | Network capability set
DEVICE_ENCODE_ALL_ABILITY | 0x003 | All encoding capability set
DEVICE_ENCONE_CURRENT | 0x004 | Current encoding capability set
IPC_FRONT_PARAMETER | 0x005 | Parameter of front-end
DEVICE_RAID_ABILITY | 0x007 | Capability set of RAID
DEVICE_ALARM_ABILITY | 0x00a | Capability set of alarm
VCA_DEV_ABILITY | 0x100 | Capability set of intelligent device
VCA_CHAN_ABILITY | 0x110 | Capability set of intelligent channel
MATRIXDECODER_ABILITY | 0x200 | Display/decoding capability set of multi-channel decoder
SNAPCAMERA_ABILITY | 0x300 | Capability set of intelligent traffic camera
COMPRESSIONCFG_ABILITY | 0x400 | Capability set of getting encoding parameter
COMPRESSION_LIMIT | 0x401 | Compression capability limit of main and sub stream
PIC_CAPTURE_ABILITY | 0x402 | Capability set of picture capturing resolution
pInBuf
[in] Pointer of the input buffer (according to description mode of ability parameter, defined by device, it supports XML text or structure format)
dwInLength
[in] Length of input buffer
pOutBuf
[out] Pointer of the output buffer (according to description mode of ability set, defined by device, it supports XML text or structure format)
dwOutLength
[in] Length of output buffer

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The definitions of pInBuf are different according to different devices, described by structure or XML text format. Similarly, pOutBuf can be described in structure or XML format according to different devices, too. The input and output parameter format when getting different capability set are defined as below:

Macro Definition | Type of Ability | pInBuf | pOutBuf
DEVICE_SOFTHARDWARE_ABILITY | Get software and hardware capability of current device | None | Software and Hardware Capability
DEVICE_NETWORK_ABILITY | Get network capability of current device | None | Wireless Network Capability
DEVICE_ENCODE_ALL_ABILITY | Get all encoding capability of current device | None | All Encoding Capability
IPC_FRONT_PARAMETER | Get front-end parameter of current device | None | Camera Capability
DEVICE_RAID_ABILITY | Get capability of RAID | None | RAID Capability
DEVICE_ALARM_ABILITY | Get capability of alarm | The Input Description | Alarm Capability
VCA_DEV_ABILITY | Get capability of intelligent device | None | NET_VCA_DEV_ABILITY
VCA_CHAN_ABILITY | Get capability of intelligent channel | NET_VCA_CHAN_IN_PARAM | NET_VCA_BEHAVIOR_ABILITY
MATRIXDECODER_ABILITY | Get display/decoding capability of matrix decoder | None | NET_DVR_MATRIX_ABILITY
SNAPCAMERA_ABILITY | Get capability of intelligent traffic camera | None | NET_DVR_SNAP_ABILITY
COMPRESSIONCFG_ABILITY | Get capability of getting encoding parameter | Channel number(4 bytes) | NET_DVR_COMPRESSIONCFG_ABILITY
COMPRESSION_LIMIT | Get compression capability limit of main and sub stream | NET_DVR_COMPRESSION_LIMIT | NET_DVR_COMPRESSIONCFG_ABILITY
PIC_CAPTURE_ABILITY | Get picture capability | Channel number(4 bytes) | NET_DVR_COMPRESSIONCFG_ABILITY

Remarks

Capability sets have been extended in V4.2 SDK, and please refer to NET_DVR_GetDeviceAbility.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_GetDeviceConfig

Batching get device configuration info （with sending data)

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in]Command, refer to configuration command
dwCount
[in] Number of obtained configuration,0,1- Get a dwCommand specified configuration , 2- Get 2 dwCommand specified configuration and so on,up to 64
lpInBuffer
[in] Buffer
dwInBufferSize
[in] Buffer size
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, greater than 0- failed;
lpOutBuffer
[out]The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The total size of dwCount results

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastErrorNET_DVR_GetLastErrorto get the error code.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras .

The structures and command numbers are different according to the different dwCommand, and they are listed as below：

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_VCA_CTRLINFO_CFG | get VCA parameter | dwCountNET_DVR_VCA_CTRLINFO_COND | dwCountNET_DVR_VCA_CTRLINFO_CFG | 5022
NET_DVR_GET_ROI_DETECT_NUM | get ROI detect number | dwCountNET_DVR_MUL_STREAM_CHANNEL_GROUP | dwCountNET_DVR_ROI_DETECT_NUM | 3349
NET_DVR_GET_ROI_DETECT | get ROI region configuration | dwCountNET_DVR_ROI_DETECT_COND | dwCountNET_DVR_ROI_DETECT_CFG | 3350
NET_DVR_GET_FACE_DETECT | get face detection configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_DVR_DETECT_FACE | 3352
NET_DVR_GET_SCENECHANGE_DETECTIONCFG | Get scence change alarm configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_DVR_SCENECHANGE_DETECTION | 3356
NET_DVR_GET_TRAVERSE_PLANE_DETECTION | get traverse plane detection configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_VCA_TRAVERSE_PLANE_DETECTION | 3360
NET_DVR_GET_FIELD_DETECTION | get field detection configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_VCA_FIELDDETECION | 3362
NET_DVR_GET_DEFOCUSPARAM | get defocus detection configration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_VCA_DEFOCUSPARAM | 3364
NET_DVR_GET_AUDIOEXCEPTIONPARAM | get audio exception configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_DVR_AUDIO_EXCEPTION | 3366
NET_DVR_GET_HEATMAP_CFG | get heat map configurationInterface Definition | dwCountNET_DVR_HEATMAP_COND | dwCountNET_DVR_HEATMAP_CFG | 3407

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Get the device configuration in batch with the function of sending data.

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command
dwCount
[in] The number of cameras to set at a time, up to 64, 0 and 1 mean information of 1 camera, 2 means information of 2 cameras, and so forth
lpInBuffer
[in] Pointer to configuration condition buffer, such as stream ID
dwInBufferSize
[in] Length of configuration condition buffer
lpStatusList
[out] Error information list, corresponding to cameras to search, e.g., lpStatusList[2] is for lpInBuffer[2], memory is allocated by user, each error information is 4 bytes (a 32-bit integer without symbol), parameter value: 0 or 1 mean success, other values means error codes.
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The total size of dwCount results

Return Values

Return TRUE on success, but it doesn't mean all configuration are successful. You can identify which one is successful by checking the corresponding value of lpStatusList[n]. Returned FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

This API is used to get camera configuration in batch with sending data. lpInBuffer assigns the dwCount*configuration information to get, lpOutBuffer saves obtained dwCount*configuration information.

See below for details:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_ACCESS_DEVICE_CHANNEL_INFO | Get information of device channel to be accessed, dwCount=0 | dwCount*NET_DVR_ACCESS_DEVICE_INFO | dwCount*NET_DVR_ACCESS_DEVICE_CHANNEL_INFO | 6165
NET_DVR_GET_STREAM_SRC_INFO_V40 | Get stream source information | dwCount*NET_DVR_STREAM_INFO | dwCount*NET_DVR_STREAM_SRC_INFO_V40 | 6024

See Also

NET_DVR_SetDeviceConfig NET_DVR_Login_V30


NET_DVR_GetDeviceConfig

Batch get device configuration information (with sending messages).

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait for the return value from interface.
dwCommand
[in] Configure dwCommand. Refer to dwComand.
dwCount
[in] The configuration number to be gained at once. 0 and 1 both mean 1 piece of camera information, 2 means 2 pieces of camera information, etc. The maximum is 64.
lpInBuffer
[in] Configure condition buffer compass
dwInBufferSize
[in] Configure condition buffer length
lpStatusList
[out] Error message list, should correspond one by one with query camera. For example, lpStatusList[2] should correspond with lpInBuffer[2]. Memory is divived by users. Each error message contains 4 bytes (a 32-digit none-character integer). Parameter value: 0 or 1 means success, other values are corresponding error numbers.
lpOutBuffer
[out] The parameter content returned by device should correspond one by one with query camera. If a cameara's corresponding lpStatusList information is a number greater than 1, its corresponding lpOutBuffer content is invalid.
dwOutBufferSize
[in] dwCount number of return result

Return Values

TRUE means success, but does not mean each configuration succeeded. Check corresponding lpStatusList[n] value to see which one is successful; FALSE means all failed.For error code, callNET_DVR_GetLastError。

Remarks

This interface is a general interface with sending message that can batch gain camera configuration information. lpInBuffer indicates dwCount configuration information that should be gained, lpOutBuffer saves gained dwCount configuration information.

Different gaining functions correspond to different structures and command numbers. See details in the following table:

dwCommand Macro definition | dwCommand Definition | lpInBuffer corresponding Structure | lpOutBuffer corresponding Structure | Macro definition value
NET_DVR_GET_RECORD_PASSBACK_PLAN_CFG | Get video passback plan configuration, dwCount set as 1 | NET_DVR_STREAM_INFO | NET_DVR_RECORD_PASSBACK_SCH_CFG | 6238

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Batching get device configuration info （with sending data)

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Command, refer to configuration command
dwCount
[in] Number of obtained configuration,0,1- Get a dwCommand specified configuration , 2- Get 2 dwCommand specified configuration and so on,up to 64
lpInBuffer
[in] Buffer
dwInBufferSize
[in] Buffer size
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, greater than 1- failed;
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The total size of dwCount results

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastErrorNET_DVR_GetLastErrorto get the error code.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras .

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_PDC_RULECFG_V42 | Get PDC rules | dwCountNET_DVR_PDC_RULE_COND | dwCountNET_DVR_PDC_RULE_CFG_V42 | 3405

Please set dwCount to 0xffffffff， lpInBuffer to NULL，dwInBufferSize to 0 and lpStatusList to NULL；The front 4 bytes if lpOutBuffer is the number(N)，the else is the content that returned

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Get device configuration information in batch (with sending data)

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command
dwCount
[in] Number of configurations to get for once, 0 and 1 mean 1 camera information, 2 means 2 camera information, and so forth, max. 64
lpInBuffer
[in] Pointer to configuration condition buffer
dwInBufferSize
[in] Length of configuration condition buffer
lpStatusList
[out] List of error information, should be matched with the cameras to search, e.g., lpStatusList[2] corresponds to lpInBuffer[2], the memory is assigned by user, each error information is 4 bytes (a 32-bit non-symbol integer), value: 0 or 1 means success, other values correspond to error codes
lpOutBuffer
[out] Parameter returned by device, should be matched with the cameras to search. If the lpStatusList information of a camera is greater than 1, its corresponding lpOutBuffer is null
dwOutBufferSize
[in] Total size of dwCount*return value

Return Values

Return TRUE on success, but it doesn't mean all configuration are successful. You can identify which one is successful by checking the corresponding value of lpStatusList[n]. Returned FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

The interface is used to get camera configuration information in batch with sending data. lpInBuffer assigns dwCount*configuration information to get, and lpOutBuffer saves obtained dwCount*configuration information.

See below for details:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_MONTHLY_RECORD_DISTRIBUTION | Get calendar video distribution, dwCount is 0 | NET_DVR_MRD_SEARCH_PARAM | NET_DVR_MRD_SEARCH_RESULT | 6164

See Also

NET_DVR_Login_V30


NET_DVR_GetDeviceConfig

Get configuration of the device in batch(with sending data)

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value ofNET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to the following configuration command list.
dwCount
[in]The count of channels to be query, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed.
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in]The size of dwCount*lpOutBuffer.

Return Values

Return TRUE on success, FALSE on failure. Please call to get the error code.NET_DVR_GetLastError.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras. The structures and command numbers are different according to the different dwCommand, and they are listed as below.

dwCommand | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Macro Value
NET_GET_CRUISEPOINT_V40 | Get patrol path configuration | dwCount*NET_DVR_CRUISEPOINT_COND | dwCount*NET_DVR_CRUISEPOINT_V40 | 1018
NET_GET_CRUISEPOINT_V50 | Get patrol path configuration extension | dwCount个NET_DVR_CRUISEPOINT_COND | dwCount个NET_DVR_CRUISEPOINT_V50 | 6714
NET_DVR_GET_LIMITCFG | Get limit configuration parameters | dwCount*NET_DVR_PTZ_LIMITCOND | dwCount*NET_DVR_PTZ_LIMITCFG | 3276
NET_DVR_GET_PRIVACY_MASKSCFG | Get PTZ privacy mask configuration | dwCount*NET_DVR_PRIVACY_MASKS_COND | dwCount*NET_DVR_PRIVACY_MASKS_CFG | 3285

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

This API is used to get configuration of the device(batch).

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to the following configuraition command list
dwCount
[in] The count of channels to be query, both 0 and 1 mean one channel, 2 means two channels, and so forth, the max value is 64
lpInBuffer
[in]The buffer of configuration condition
dwInBufferSize
[in]The size of the input buffer
lpStatusList
[out]Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is successful or failed. FALSE means all configuration failed. For error code, please call NET_DVR_GetLastError。

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras.

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_USER_RIGHT_CFG | Get user right,the value of dwCount is 1 | NET_DVR_USER_COND | NET_DVR_USER_RIGHT_CFG | 6210

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetDeviceConfig

Batching get device configuration info （with transmitter data)

BOOL NET_DVR_GetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in]Command, refer to configuration command
dwCount
[in] Number of obtained configuration,0,1- one info of surveillance point, 2- two infos of surveillance points and so on,up to 64
lpInBuffer
[in] Buffer
dwInBufferSize
[in] Buffer size
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, 1- failed
lpOutBuffer
[out] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwOutBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError b>NET_DVR_GetLastErrorto get the error code.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpOutBuffer Structure | Value
NET_DVR_GET_ROI_DETECT_NUM | Get number of ROI detection region | dwCount*NET_DVR_MUL_STREAM_CHANNEL_GROUP | dwCount*NET_DVR_ROI_DETECT_NUM | 3349
NET_DVR_GET_ROI_DETECT | Get ROI detection region configuration | dwCount*NET_DVR_ROI_DETECT_COND | dwCount*NET_DVR_ROI_DETECT_CFG | 3350
NET_DVR_GET_FACE_DETECT | Get face detection configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_DVR_DETECT_FACE | 3352
NET_DVR_GET_SCENECHANGE_DETECTIONCFG | Get scene change alarm configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_DVR_SCENECHANGE_DETECTION | 3356
NET_DVR_GET_TRAVERSE_PLANE_DETECTION | Get traverse plane detection configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_VCA_TRAVERSE_PLANE_DETECTION | 3360
NET_DVR_GET_FIELD_DETECTION | Get region detection configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_VCA_FIELDDETECION | 3362
NET_DVR_GET_DEFOCUSPARAM | Get defocus detection parameter configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_VCA_DEFOCUSPARAM | 3364
NET_DVR_GET_AUDIOEXCEPTIONPARAM | Get audio exception configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_DVR_AUDIO_EXCEPTION | 3366
NET_DVR_GET_VCA_CTRLINFO_CFG | Get intelligent control parameter | dwCount*NET_DVR_VCA_CTRLINFO_COND | dwCount*NET_DVR_VCA_CTRLINFO_CFG | 5022

See Also

NET_DVR_SetDeviceConfig NET_DVR_GetLastError


NET_DVR_GetDownloadStateInfo

Get file download status information

int NET_DVR_GetDownloadStateInfo(
  LONG    lDownloadHandle,
  void    *pStatusInfo
);

Parameters

lDownloadHandle
[in] File download handle, return value of NET_DVR_StartDownload
pStatusInfo
[out] Status information, for different return status values of NET_DVR_GetDownloadState, the parameter corresponds to different structure content, for details see below:
Status value | Description | pStatusInfo Structure
6 | Failed to export GUID file | NET_DVR_GUID_FILE_STATUS_INFO

Return Values

Returns 0 on success, -1 on failure.Please call NET_DVR_GetLastError to get error code.

See Also

NET_DVR_StartDownload NET_DVR_GetDownloadState


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, please kindly refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpOutBuffer Structure | Value
NET_DVR_GET_TIMECFG | Get time parameters | invalid | NET_DVR_TIME | 118
NET_DVR_GET_ZONEANDDST | Get time zone & DST parameters | invalid | NET_DVR_ZONEANDDST | 128
NET_DVR_GET_FTPCFG | Get FTP configuration to upload picture | invalid | NET_DVR_FTPCFG | 134
NET_DVR_GET_AUXOUTCFG | Get aux output configuration triggered by alarm | invalid | NET_DVR_AUXOUTCFG | 140
NET_DVR_GET_NETAPPCFG | Get network application parameters(NTP/DDNS) | invalid | NET_DVR_NETAPPCFG | 222
NET_DVR_GET_NTPCFG | Get network application parameters(NTP) | invalid | NET_DVR_NTPPARA | 224
NET_DVR_GET_NFSCFG | Get NFS (Network File System) configuration | invalid | NET_DVR_NFSCFG | 230
NET_DVR_GET_PTZPOS | Get PTZ parameters of IP speed dome | valid | NET_DVR_PTZPOS | 293
NET_DVR_GET_PTZSCOPE | Get PTZ scope of IP speed dome | valid | NET_DVR_PTZSCOPE | 294
NET_DVR_GET_AP_INFO_LIST | Get wireless network resource parameters | invalid | NET_DVR_AP_INFO_LIST | 305
NET_DVR_GET_WIFI_CFG | Get wireless configuration of IP device | invalid | NET_DVR_WIFI_CFG | 307
NET_DVR_GET_WIFI_WORKMODE | Get network adapter mode of IP device | invalid | NET_DVR_WIFI_WORKMODE | 309
NET_DVR_GET_NETCFG_V30 | Get network parameters | invalid | NET_DVR_NETCFG_V30 | 1000
NET_DVR_GET_PICCFG_V30 | Get image parameters | valid | NET_DVR_PICCFG_V30 | 1002
NET_DVR_GET_RECORDCFG_V30 | Get record parameters | valid | NET_DVR_RECORD_V30 | 1004
NET_DVR_GET_USERCFG_V30 | Get user parameters | invalid | NET_DVR_USER_V30 | 1006
NET_DVR_GET_DDNSCFG_V30 | Get network application parameters(DDNS) | invalid | NET_DVR_DDNSPARA_V30 | 1010
NET_DVR_GET_EMAILCFG_V30 | Get network application parameters(EMAIL) | invalid | NET_DVR_EMAILCFG_V30 | 1012
NET_DVR_GET_CRUISE | Get PTZ cruise parameters | valid | NET_DVR_CRUISE_PARA | 1020
NET_DVR_GET_ALARMINCFG_V30 | Get alarm input parameters | valid | NET_DVR_ALARMINCFG_V30 | 1024
NET_DVR_GET_ALARMOUTCFG_V30 | Get alarm output parameters | valid | NET_DVR_ALARMOUTCFG_V30 | 1026
NET_DVR_GET_VIDEOOUTCFG_V30 | Get video out parameters | invalid | NET_DVR_VIDEOOUT_V30 | 1028
NET_DVR_GET_SHOWSTRING_V30 | Get OSD parameters | valid | NET_DVR_SHOWSTRING_V30 | 1030
NET_DVR_GET_EXCEPTIONCFG_V30 | Get exception parameters | invalid | NET_DVR_EXCEPTION_V30 | 1034
NET_DVR_GET_RS232CFG_V30 | Get 232 parameters | invalid | NET_DVR_RS232CFG_V30 | 1036
NET_DVR_GET_NET_DISKCFG | Get network disk configuration | invalid | NET_DVR_NET_DISKCFG | 1038
NET_DVR_GET_COMPRESSCFG_V30 | Get compression parameters | valid | NET_DVR_COMPRESSIONCFG_V30 | 1040
NET_DVR_GET_DECODERCFG_V30 | Get (PTZ) decoder parameters | valid | NET_DVR_DECODERCFG_V30 | 1042
NET_DVR_GET_PREVIEWCFG_V30 | Get local preview parameters | invalid | NET_DVR_PREVIEWCFG_V30 | 1044
NET_DVR_GET_PREVIEWCFG_AUX_V30 | Get AUX preview parameters | invalid | NET_DVR_PREVIEWCFG_V30 | 1046
NET_DVR_GET_IPALARMINCFG | Get IP alarm input configuration | invalid | NET_DVR_IPALARMINCFG | 1050
NET_DVR_GET_IPALARMOUTCFG | Get IP alarm output configuration | invalid | NET_DVR_IPALARMOUTCFG | 1052
NET_DVR_GET_HDCFG | Get hard disk management parameters | invalid | NET_DVR_HDCFG | 1054
NET_DVR_GET_HDGROUP_CFG | Get hard disk group management parameters | invalid | NET_DVR_HDGROUP_CFG | 1056
NET_DVR_GET_COMPRESSCFG_AUD | Get audio parameters of voice talk | invalid | NET_DVR_COMPRESSION_AUDIO | 1058
NET_DVR_GET_IPPARACFG_V31 | Get IP channel configuration | invalid | NET_DVR_IPPARACFG_V31 | 1060
NET_DVR_GET_IPPARACFG_V40 | Get IP channel configuration(extended) | invalid | NET_DVR_IPPARACFG_V40 | 1062
NET_DVR_GET_CCDPARAMCFG | Get front-end parameters | invalid | NET_DVR_CAMERAPARAMCFG | 1067
NET_DVR_GET_DEVICECFG_V40 | Get device parameters (extended) | invalid | NET_DVR_DEVICECFG_V40 | 1100
NET_DVR_GET_ZEROCHANCFG | Get compression parameters of zero channel | valid | NET_DVR_ZEROCHANCFG | 1102
NET_DVR_GET_ZERO_PREVIEWCFG_V30 | Get local preview parameters of zero channel | valid | NET_DVR_PREVIEWCFG_V30 | 1104
NET_DVR_GET_ZERO_ZOOM | Get zoom parameters of zero channel | valid | NET_DVR_ZERO_ZOOMCFG | 1107
NET_DVR_GET_SNMPCFG | Get SNMP parameter | invalid | NET_DVR_SNMPCFG | 1112
NET_DVR_GET_NETCFG_MULTI | Get multi network card parameter | invalid | NET_DVR_NETCFG_MULTI | 1161
NET_DVR_GET_HOLIDAY_PARAM_CFG | Get holiday parameter | invalid | NET_DVR_HOLIDAY_PARAM_CFG | 1240
NET_DVR_GET_MOTION_HOLIDAY_HANDLE | Get holiday alarm handling mode of motion detection | valid | NET_DVR_HOLIDAY_HANDLE | 1242
NET_DVR_GET_VILOST_HOLIDAY_HANDLE | Get holiday alarm handling mode of video signal lost | valid | NET_DVR_HOLIDAY_HANDLE | 1244
NET_DVR_GET_HIDE_HOLIDAY_HANDLE | Get holiday alarm handling mode of video tampering | valid | NET_DVR_HOLIDAY_HANDLE | 1246
NET_DVR_GET_ALARMIN_HOLIDAY_HANDLE | Get holiday alarm handling mode of alarm input | valid | NET_DVR_HOLIDAY_HANDLE | 1248
NET_DVR_GET_ALARMOUT_HOLIDAY_HANDLE | Get holiday alarm handling mode of alarm output | valid | NET_DVR_HOLIDAY_HANDLE | 1250
NET_DVR_GET_HOLIDAY_RECORD | Get holiday recording paramter | valid | NET_DVR_HOLIDAY_RECORD | 1252
NET_DVR_GET_NETWORK_BONDING | Get BONDING network card parameter | invalid | NET_DVR_NETWORK_BONDING | 1254
NET_DVR_GET_LINK_STATUS | Get link status of channel | valid | NET_DVR_LINK_STATUS | 1256
NET_DVR_GET_DISK_QUOTA_CFG | Get disk quota configuration | invalid | NET_DVR_DISK_QUOTA_CFG | 1278
NET_DVR_GET_JPEG_CAPTURE_CFG | Get capture configuration | valid | NET_DVR_JPEG_CAPTURE_CFG | 1280
NET_DVR_GET_SCHED_CAPTURECFG | Get capturing schedule | valid | NET_DVR_SCHED_CAPTURECFG | 1282
NET_DVR_GET_VIDEO_INPUT_EFFECT | Get the video effect | valid | NET_DVR_VIDEO_INPUT_EFFECT | 1286
NET_DVR_GET_AUDIO_INPUT | Get audio input parameter | valid | NET_DVR_AUDIO_INPUT_PARAM | 3201
NET_DVR_GET_CAMERA_DEHAZE_CFG | Get the de-haze parameter | valid | NET_DVR_CAMERA_DEHAZE_CFG | 3203
NET_IPC_GET_AUX_ALARMCFG | Get aux alarm parameter | valid | NET_IPC_AUX_ALARMCFG | 3209
NET_DVR_GET_DISK_RAID_INFO | Get RAID information of hard disk | invalid | NET_DVR_DISK_RAID_INFO | 6001
NET_DVR_GET_DVR_SYNCHRONOUS_IPC | Get the information of whether to synchronize front-end IPC parameter | valid | NET_DVR_SYNCHRONOUS_IPC | 6005
NET_DVR_GET_DEVICE_NET_USING_INFO | Get device current network resource usage | invalid | NET_DVR_DEVICE_NET_USING_INFO | 6009
NET_DVR_GET_RECORD_CHANNEL_INFO | Get recording status of the channel | valid | NET_DVR_CHAN_GROUP_RECORD_STATUS | 6013
NET_DVR_GET_FTPCFG_SECOND | Get the second FTP configuration to upload picture(it takes effect if the default first FTP don't work) | invalid | NET_DVR_FTPCFG | 6103
NET_DVR_GET_DRAWFRAME_DISK_QUOTA_CFG | Get disk quota configuration of the draw-frame channel | valid | NET_DVR_DRAWFRAME_DISK_QUOTA_CFG | 6109
NET_DVR_GET_NAT_CFG | Get the NAT mapping parameters | invalid | NET_DVR_NAT_CFG | 6111
NET_DVR_GET_AES_KEY | Get the AES encryption key | invalid | NET_DVR_AES_KEY_INFO | 6113
NET_DVR_GET_POE_CFG | Get POE parameter | invalid | NET_DVR_POE_CFG | 6114
NET_DVR_GET_CUSTOM_PRO_CFG | Get the custom protocol parameter | invalid | NET_DVR_CUSTOM_PROTOCAL | 6116
NET_DVR_GET_STREAM_CABAC | Get stream compression performance option | invalid | NET_DVR_STREAM_CABAC | 6118
NET_DVR_GET_ESATA_MINISAS_USAGE_CFG | Get the usage of eSATA and miniSAS | invalid | NET_DVR_ESATA_MINISAS_USAGE | 6120
NET_DVR_GET_HDCFG_V40 | Get hard disk management parameter(extended) | valid | NET_DVR_HDCFG | 6122
NET_DVR_GET_POE_CHANNEL_ADD_MODE | Get the adding mode of POE channel | invalid | NET_DVR_POE_CHANNEL_ADD_MODE | 6124
NET_DVR_GET_DIGITAL_CHANNEL_STATE | Get the status of the digital channel | invalid | NET_DVR_DIGITAL_CHANNEL_STATE | 6126
NET_DVR_GET_PICCFG_V40 | Get image parameters(expand) | valid | NET_DVR_PICCFG_V40 | 6179
NET_DVR_GET_ACCESS_CAMERA_INFO | Get the camera information of the channel | valid | NET_DVR_ACCESS_CAMERA_INFO | 6201

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

Get device configuration information

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details, see the "remark" section below.
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed below.

For the configuration command NET_DVR_GET_ALARMINCFG_V30 and NET_DVR_GET_ALARMOUTCFG_V30，lChannel starts from 0，which indicates the alarm input/output No.. It is recommended to use the i+1 channel No. that is displayed on the screen to keep consistent with the device local logs.

For other configuration command, the value of valid lChannel indicates the device channel No..

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Macro Value
NET_DVR_GET_ALARMINCFG_V40 | Get alarm input parameters | Alarm input No., starts from 0. | NET_DVR_ALARMINCFG_V40 | 6181
NET_DVR_GET_ALARMOUTCFG_V30 | Get alarm output parameters | Alarm output No., starts from 0. | NET_DVR_ALARMOUTCFG_V30 | 1026
NET_DVR_GET_ALARMIN_HOLIDAY_HANDLE | Get alarm inout holiday alarm handle mode | Alarm input No., start from 0. | NET_DVR_HOLIDAY_HANDLE | 1248
NET_DVR_GET_ALARMOUT_HOLIDAY_HANDLE | Get alarm output holiday alarm handle mode. | Alarm output No., starts from 0. | NET_DVR_HOLIDAY_HANDLE | 1250

Return Values

Return TRUE on success, FALSE on failure. Please callNET_DVR_GetLastErrorfor error code.

The following table shows the returned error code.

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

Get device configuration information

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, see "Remarks" below for details
lChannel
[in] Channel No., different commands correspond to different values, if the parameter is invalid, set it as 0xFFFFFFFF, see "Remarks" for details
lpOutBuffer
[out] Pointer to buffer of receiving data
dwOutBufferSize
[in] Length of pointer to buffer of receiving data (in byte), and cannot be 0
lpBytesReturned
[out] Pointer to length of actually received data, cannot be null

Remarks

Different functions correspond to different structure and command No., see below for details:

dwCommand Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_ALARMCENTER_NETCFG | Get alarm center network parameters | Null | NET_DVR_ALARMCENTER_NETCFG | 2715

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Configuration command, please refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] The size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Remarks

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_NFSCFG | Get NFS (Network File System) configuration | invalid | NET_DVR_NFSCFG | 230
NET_DVR_GET_HDCFG | Get hard disk management parameters | Invalid | NET_DVR_HDCFG | 1054
NET_DVR_GET_HDCFG_V40 | Get hard disk management parameter(extended) | Group No., start from 0, 33*HDDs each group. | NET_DVR_HDCFG | 6122
NET_DVR_GET_HDGROUP_CFG_V40 | Get the HDD group mamagement parameters | Group No.start from 0, 16*HDD groups each group. | NET_DVR_HDGROUP_CFG_V40 | 6192
NET_DVR_GET_NET_DISKCFG | Get network disk configuration | Invalid | NET_DVR_NET_DISKCFG | 1038
NET_DVR_GET_NET_DISKCFG_V40 | Get the accessing parameters of network HDD (expanding)) | Invalid | NET_DVR_NET_DISKCFG_V40 | 3392
NET_DVR_GET_DISK_QUOTA_CFG | Get disk quota configuration | Channel No. | NET_DVR_DISK_QUOTA_CFG | 1278
NET_DVR_GET_DRAWFRAME_DISK_QUOTA_CFG | Get disk quota configuration of the draw-frame channel | Invalid | NET_DVR_DRAWFRAME_DISK_QUOTA_CFG | 6109
NET_DVR_GET_ESATA_MINISAS_USAGE_CFG | Get the usage of eSATA and miniSAS | Invalid | NET_DVR_ESATA_MINISAS_USAGE | 6120
NET_DVR_GET_HD_STATUS | Get the hibernate status of HDD. | Invalid | NET_DVR_HD_STATUS | 6170
NET_DVR_GET_RAID_BACKGROUND_TASK_SPEED | Get the background task speed of RAID. | Invalid | NET_DVR_RAID_BTS_CFG | 6175
NET_DVR_GET_DATA_CALLBACK_CFG | Get teh moving -back status of the data. | Invalid | NET_DVR_DATA_CALLBACK_CFG | 6218
NET_DVR_GET_RECORD_PACK | Get the video package parameters | Invalid | NET_DVR_RECORD_PACK | 6301
NET_DVR_GET_CLOUD_STORAGE_CFG | Get the working mode of cloud storage | Invalid | NET_DVR_CLOUD_STORAGE_CFG | 6303

Return Values

Returns TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

Getting the configuration information of the device

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Configuration command, please refer to the DwCommand type definition below
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpOutBuffer
[out] The buffer to save the received data
dwOutBufferSize
[in] he size of the buffer (unit: byte), it can't be 0
lpBytesReturned
[out] The size of the returned buffer, it can't be NULL

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed below.

  • The channel No. indicates the video channel No. Get analog channel number(byChanNum), initial analog channel No.(byStartChan), Max.supported IP channel number(byIPChanNum+ byHighDChanNum*256), and the initial digital channel No.(byStartDChan) through the returned device information (NET_DVR_DEVICEINFO_V30)of the logon device(NET_DVR_Login_V30).
    • dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_IPPARACFG_V40 | Get IP channel configuration(extended) | invalid | NET_DVR_IPPARACFG_V40 | 1062
NET_DVR_GET_POE_CHANNEL_ADD_MODE | Get the adding mode of POE channel | invalid | NET_DVR_POE_CHANNEL_ADD_MODE | 6124
NET_DVR_GET_DIGITAL_CHANNEL_STATE | Get the status of the digital channel | invalid | NET_DVR_DIGITAL_CHANNEL_STATE | 6126
NET_DVR_GET_IPALARMINCFG_V40 | Get IP alarm input connection configuration parameters | Invalid | NET_DVR_IPALARMINCFG_V40 | 6183
NET_DVR_GET_IPALARMOUTCFG_V40 | Get IP alarm output connection configuration parameters | Invalid | NET_DVR_IPALARMOUTCFG_V40 | 6185
NET_DVR_GET_DVR_SYNCHRONOUS_IPC | Get the information of whether to synchronize front-end IPC parameter | valid | NET_DVR_SYNCHRONOUS_IPC | 6005
NET_DVR_GET_CUSTOM_PRO_CFG | Get the custom protocol parameter | invalid | NET_DVR_CUSTOM_PROTOCAL | 6116
NET_DVR_GET_DIGITAL_CHAN_SECURITY_STATUS | Get the security status of the digital channel corresponding device | Channel No. | NET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS | 13001

    Return Values

    Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

    The possible error codes returned from the API are listed as below:

    Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

    See Also

    NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

This API is used to get configuration of the device.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuration commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpOutBuffer
[out] Output data buffer
dwOutBufferSize
[in] Output data buffer length (unit: byte) , the value can't be 0
lpBytesReturned
[out] The length pointer of the actual received data, the value can't be NULL

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

  • Channel number description: The users can get the analog channel number (byChanNum), start channel of analog channel(byStartChan), the max supported IP channels number (byIPChanNum+ byHighDChanNum*256) and the start number of digital channel(byStartDChan) through the returned info (NET_DVR_Login_V30）after registering the devices （NET_DVR_DEVICEINFO_V30）.
    • dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer structure | Value
NET_DVR_GET_CAPTUREPIC_CFG | Get the capture configuration | Channel number | NET_DVR_MOBILE_CAPTUREPIC_CFG | 3108
NET_DVR_GET_MOBILEPLATE_RECOG_CFG | Get the LPR configration | Channel number | NET_DVR_MOBILE_PLATE_RECOGCFG | 3110
NET_DVR_GET_MOBILE_RADAR_CFG | Get the radar configuration of mobile devices | Channel number | NET_DVR_MOBILE_RADAR_CFG | 3112
NET_DVR_GET_MOBILE_LOCALPLATECHK_CFG | Get the local comparison configuration of blacklist | Channel number | NET_DVR_MOBILE_LOCALPLATECHK_CFG | 3114

    Return Values

    Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

    See Also

    NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

Get device configuration information.

BOOL NET_DVR_GetDVRConfig(
  LONG       lUserID,
  DWORD      dwCommand,
  LONG       lChannel,
  LPVOID     lpOutBuffer,
  DWORD      dwOutBufferSize,
  LPDWORD    lpBytesReturned
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait for the return value from interface.
dwCommand
[in] Device configure command, see Remarks for detailed explanation.
lChannel
[in] Channel number. Different commnads correspond with different values. If parameter is invalid, set it as 0xFFFFFFFF. See details in Remarks.
lpOutBuffer
[out] Buffer compass that is used to receive data
dwOutBufferSize
[in] Th ebuffer length for receiving data (unit: byte) should not be 0.
lpBytesReturned
[out] The real data length compass should not be NULL.

Remarks

Different gaining functions correspond to different structures and command numbers. See details in the following table:

dwCommandMacro definition | dwCommandDefinition | lChannel | lpOutBuffer Structure | Macro definition value
NET_DVR_GET_ONLINE_USER_CFG | Get online user parameter | Invalid | NET_DVR_ONLINE_USER_INFO | 6241

Return Values

TRUE means success, FALSE means failure. For error code, callNET_DVR_GetLastError

See Also

NET_DVR_Login_V40 NET_DVR_GetLastError


NET_DVR_GetDVRConfig

Get device configuration information

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lChannel
[in] Channel No., different commands correspond to different values, if invalid, set to 0xFFFFFFFF, for details see "Remarks"
lpOutBuffer
[out] Pointer to buffer of receiving data
dwOutBufferSize
[in] Length of buffer of receiving data, in byte, cannot be 0
lpBytesReturned
[out] Pointer to length of actually received data, cannot be NULL

Remarks

For details of different structures and command No., see below:

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Structure | Value
NET_DVR_GET_AUDIO_ACTIVATION_CFG | Get audio activation configuration parameter | Audio input channel No., from 1 | NET_DVR_AUDIO_ACTIVATION_CFG | 6326
NET_DVR_GET_INFRARED_CMD_NAME_CFG | Get IR command name parameter configuration | IR output port index, from 1 | NET_DVR_INFRARED_CMD_NAME_CFG | 6331
NET_DVR_GET_TRIAL_SYSTEM_CFG | Get trial DVR system information | Null | NET_DVR_TRIAL_SYSTEM_INFO | 6334
NET_DVR_GET_TRIAL_MICROPHONE_STATUS | Get microphone status information | Null | NET_DVR_TRIAL_MICROPHONE_STATUS | 6336
NET_DVR_GET_TRIAL_HOST_STATUS | Get trial DVR status information | Null | NET_DVR_TRIAL_HOST_STATUS | 6338
NET_DVR_GET_LAMP_OUT | Get LAMP output port information | Null | NET_DVR_LAMP_OUT | 6339
NET_DVR_GET_LOCAL_INPUT_CFG | Get trial DVR local input information | Channel No. | NET_DVR_LOCAL_INPUT_INFO | 6343
NET_DVR_GET_CASE_INFO | Get current case information | Null | NET_DVR_CASE_INFO | 6345
NET_DVR_GET_MIX_AUDIOIN_CFG | Get mixed audio input port parameter configuration | Audio input port No., from 1 | NET_DVR_MIX_AUDIOIN_CFG | 6351
NET_DVR_GET_MIX_AUDIOOUT_CFG | Get mixed output port parameter configuration | Audio output port No., from 1 | NET_DVR_MIX_AUDIOOUT_CFG | 6353
NET_DVR_GET_AUDIOIN_VOLUME_CFG | Get audio input port volume adjustment parameter | Audio input port No., from 1 | NET_DVR_VOLUME_CFG | 6355
NET_DVR_GET_AUDIOOUT_VOLUME_CFG | Get audio output port volume adjustment parameter | Audio output port No., from 1 | NET_DVR_VOLUME_CFG | 6369
NET_DVR_GET_AREA_MASK_CFG | Get mosaic area configuration | Channel No. | NET_DVR_AREA_MASK_CFG | 6357
NET_DVR_GET_AUDIO_DIACRITICAL_CFG | Get audio diacritical configuration | Channel No. | NET_DVR_AUDIO_DIACRITICAL_CFG | 6359
NET_DVR_GET_WIFI_DHCP_ADDR_CFG | Get WIFI DHCP address range parameter | Null | NET_DVR_WIFI_DHCP_ADDR_CFG | 6361
NET_DVR_GET_MULTISTREAM_RELATION_CHAN_CFG | Get multi-stream linkage channel parameter configuration | Multi-stream No., from 1 | NET_DVR_MULTISTREAM_RELATION_CHAN_CFG | 6365
NET_DVR_GET_VIDEOOUT_RESOLUTION_CFG | Get device local video output port resolution | Video output port, from 1 | NET_DVR_VIDEOOUT_RESOLUTION_CFG | 6367
NET_DVR_GET_INPUT_CHAN_CFG | Get input channel configuration | Input channel No., from 1 | NET_DVR_PICCFG_V30 (Only support its video loss alarm parameter struVILost) | 6373
NET_DVR_GET_INQUEST_MIX_AUDIOIN_CFG | Get inquest DVR audio input mixed audio configuration | Inquest channel No., from 1 | NET_DVR_INQUEST_MIX_AUDIOIN_CFG | 6375
NET_DVR_GET_INQUEST_USER_RIGHT | Get inquest DVR user permission | User index: 1- admin, from 2- normal user | NET_DVR_INQUEST_USER_RIGHT_CFG | 6378
NET_DVR_GET_INQUEST_CASE_INFO | Get inquest case information configuration | Inquest channel No., from 1 | NET_DVR_INQUEST_CASE_INFO | 6380

Return Values

Return TRUE on success, FALSE on failure. Call to get error code.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRConfig

Get the device configuration information.

BOOL NET_DVR_GetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpOutBuffer,
  DWORD    dwOutBufferSize,
  LPDWORD  lpBytesReturned
);

Parameters

lUserID
[in] The returned value of login API, such as NET_DVR_Login_V40.
dwCommand
[in] Device configuration command, see Remarks for details.
lChannel
[in] Camera No., and different commands correspond with different values. If the parameter is invalid, set the value as 0xFFFFFFFF. See Remarks for details.
lpOutBuffer
[out] The pointer of the receiving data buffer.
dwOutBufferSize
[in] The length of pointer of receiving data buffer (byte), which cannot be 0.
lpBytesReturned
[out] The pointer of the actual length of received data, which cannot be NULL.

Remarks

Different functions correspond with different structures and commands, as shown in the following table:

dwCommand Macro Definition | dwCommand Description | lChannel | lpOutBuffer Corresponding Structure | Macro Definition Value
NET_DVR_GET_USERCFG_V40 | Get user parameters. | Group No., starts from 0. Each group contains 32 users. | NET_DVR_USER_V40 | 6187
NET_DVR_GET_SECURITY_CFG | Get the security authorization configuration. | Invalid | NET_DVR_SECURITY_CFG | 147

Return Values

TRUE means success and FALSE means failure. Call NET_DVR_GetLastError to get the error message.

You can check the probable error value below.

Error Type | Error Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | Uninitialized SDK
NET_DVR_VERSIONNOMATCH | 6 | Version mismatches. The device version and SDK version mismatches.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Connecting to the device failed. The device is offline or the network is unstable.
NET_DVR_NETWORK_SEND_ERROR | 8 | Sending to the device failed.
NET_DVR_NETWORK_RECV_ERROR | 9 | Receiving from the device failed
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Receiving from the device timed out.
NET_DVR_ORDER_ERROR | 12 | Calling sequence error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. The input or output parameter of SDK interface is incorrect or empty.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | SDK resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | The buffer is not enough. The buffer for receiving device data or saving pictures is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Creating socket error.
NET_DVR_USERNOTEXIST | 47 | The user does not exist. The registered user is unavailable or has been deleted.
NET_DVR_BINDSOCKET_ERROR | 72 | Binding the socket failed.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket connection interrupted or the unreachable destination.
NET_DVR_PROGRAM_EXCEPTION | 76 | Program error.

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


NET_DVR_GetDVRIPByResolveSvr

This API is used to get the dynamic IP address of the device by IP server.

BOOL NET_DVR_GetDVRIPByResolveSvr(
  char     *sServerIP,
  WORD     wServerPort,
  BYTE     *sDVRName,
  WORD     wDVRNameLen,
  BYTE     *sDVRSerialNumber,
  WORD     wDVRSerialLen,
  char     *sGetIP
);

Parameters

sServerIP
[in] IP address of the IP server
wServerPort
[in] The server port of the IP server. Default port is 7071
sDVRName
[in] The name of the device, it can be NULL
wDVRNameLen
[in] The length of the device’s name
sDVRSerialNumber
[in] The serial number of the device, can be NULL
wDVRSerialLen
[in] The length of the serial number of the device
sGetIP
[out] Pointer to save the obtained IP

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The name and the serial no. of the DVR cannot be NULL at the same time.
IPServer is one domain name analysis server.


NET_DVR_GetDVRWorkState

This API is used to get device status.

BOOL NET_DVR_GetDVRWorkState(
  LONG                   lUserID,
  LPNET_DVR_WORKSTATE    lpWorkState
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpWorkState
[out] Pointer to NET_DVR_WORKSTATE structure

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_GetDVRWorkState_V30


NET_DVR_GetErrorMsg

Return error code information of last operation

char* NET_DVR_GetErrorMsg(
  LONG   *pErrorNo
);

Parameters

pErrorNo
[out] Pointer to error code value

Return Values

Return value is the pointer to error codes. For details, see the table below.

Network communication library error codes

Error type | Error value | Error information
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOENOUGHPRI | 2 | Not authorized to do this operation.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_CHANNEL_ERROR | 4 | Channel number error. There is no corresponding channel number on the device.
NET_DVR_OVER_MAXLINK | 5 | The number of connection with the device has exceeded the max limit.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving data from the device.
NET_DVR_NETWORK_ERRORDATA | 11 | The data sent to the device is illegal, or the data received from the device error. E.g. The input data is not supported by the device for remote configuration.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_OPERNOPERMIT | 13 | Not authorized for this operation.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_ERRORSERIALPORT | 15 | Serial port number error. The assigned serial port does not exist on the device.
NET_DVR_ERRORALARMPORT | 16 | Alarm port number error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL, or the value or format of the parameters does not match with the requirement.
NET_DVR_CHAN_EXCEPTION | 18 | Device channel is in exception status.
NET_DVR_NODISK | 19 | No hard disk on the device, and the operation of recording and hard disk configuration will fail.
NET_DVR_ERRORDISKNUM | 20 | Hard disk number error. The assigned hard disk number does not exist during hard disk management.
NET_DVR_DISK_FULL | 21 | Device hark disk is full.
NET_DVR_DISK_ERROR | 22 | Device hard disk error.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_BUSY | 24 | Device is busy.
NET_DVR_MODIFY_FAIL | 25 | Failed to modify device parameters.
NET_DVR_PASSWORD_FORMAT_ERROR | 26 | The inputting password format is not correct.
NET_DVR_DISK_FORMATING | 27 | Hard disk is formatting, and the operation cannot be done.
NET_DVR_DVRNORESOURCE | 28 | Not enough resource on the device.
NET_DVR_DVROPRATEFAILED | 29 | Device operation failed.
NET_DVR_OPENHOSTSOUND_FAIL | 30 | Failed to collect local audio data or to open audio output during voice talk / broadcasting.
NET_DVR_DVRVOICEOPENED | 31 | Voice talk channel on the device has been occupied.
NET_DVR_TIMEINPUTERROR | 32 | Time input is not correct.
NET_DVR_NOSPECFILE | 33 | There is no selected file for playback.
NET_DVR_CREATEFILE_ERROR | 34 | Failed to create a file, during local recording, saving picture, getting configuration file or downloading record file.
NET_DVR_FILEOPENFAIL | 35 | Failed to open a file.
NET_DVR_OPERNOTFINISH | 36 | The last operation has not been completed.
NET_DVR_GETPLAYTIMEFAIL | 37 | Failed to get the current played time.
NET_DVR_PLAYFAIL | 38 | Failed to start playback.
NET_DVR_FILEFORMAT_ERROR | 39 | The file format is not correct.
NET_DVR_DIR_ERROR | 40 | File directory error.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_AUDIO_MODE_ERROR | 42 | Sound adapter mode error. Currently opened sound playing mode does not match with the set mode.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_SETSOCKET_ERROR | 45 | Set SOCKET error
NET_DVR_MAX_NUM | 46 | The number of login or preview connections has exceeded the SDK limitation.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_WRITEFLASHERROR | 48 | Writing FLASH error. Failed to write FLASH during device upgrade.
NET_DVR_UPGRADEFAIL | 49 | Failed to upgrade device. It is caused by network problem or the language mismatch between the device and the upgrade file.
NET_DVR_CARDHAVEINIT | 50 | The decode card has alreadly been initialed.
NET_DVR_PLAYERFAILED | 51 | Failed to call API of player SDK.
NET_DVR_MAX_USERNUM | 52 | The number of login user has reached the maximum limit.
NET_DVR_GETLOCALIPANDMACFAIL | 53 | Failed to get the IP address or physical address of local PC.
NET_DVR_NOENCODEING | 54 | This channel hasn't started encoding.
NET_DVR_IPMISMATCH | 55 | IP address not match
NET_DVR_MACMISMATCH | 56 | MAC address not match
NET_DVR_UPGRADELANGMISMATCH | 57 | The language of upgrading file does not match the language of the device.
NET_DVR_MAX_PLAYERPORT | 58 | The number of player ports has reached the maximum limit.
NET_DVR_NOSPACEBACKUP | 59 | No enough space to backup file in backup device.
NET_DVR_NODEVICEBACKUP | 60 | No backup device.
NET_DVR_PICTURE_BITS_ERROR | 61 | The color quality seeting of the picture does not match the requirement, and it should be limited to 24.
NET_DVR_PICTURE_DIMENSION_ERROR | 62 | The dimension is over 128x256.
NET_DVR_PICTURE_SIZ_ERROR | 63 | The size of picture is over 100K
NET_DVR_LOADPLAYERSDKFAILED | 64 | Failed to load player SDK.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKFAILED | 66 | Failed to load the library file-"DsSdk".
NET_DVR_LOADDSSDKPROC_ERROR | 67 | Can not find the API in "DsSdk".
NET_DVR_DSSDK_ERROR | 68 | Failed to call the API in "DsSdk".
NET_DVR_VOICEMONOPOLIZE | 69 | Sound adapter has been monopolized.
NET_DVR_JOINMULTICASTFAILED | 70 | Failed to join to multicast group.
NET_DVR_CREATEDIR_ERROR | 71 | Failed to create log file directory.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_USERID_ISUSING | 74 | The user ID is operating when logout.
NET_DVR_SOCKETLISTEN_ERROR | 75 | Failed to listen
NET_DVR_PROGRAM_EXCEPTION | 76 | Sdk program exception
NET_DVR_WRITEFILE_FAILED | 77 | Failed to write file, during local recording, saving picture or downloading record file.
NET_DVR_FORMAT_READONLY | 78 | Failed to format read-only HD
NET_DVR_WITHSAMEUSERNAME | 79 | This user name already exists in the user configuration structure.
NET_DVR_DEVICETYPE_ERROR | 80 | Device type does not match when import configuration.
NET_DVR_LANGUAGE_ERROR | 81 | Language does not match when import configuration.
NET_DVR_PARAVERSION_ERROR | 82 | Software version does not match when import configuration.
NET_DVR_IPCHAN_NOTALIVE | 83 | IP channel is not on-line when previewing.
NET_DVR_RTSP_SDK_ERROR | 84 | Load StreamTransClient.dll failed
NET_DVR_CONVERT_SDK_ERROR | 85 | Load SystemTransform.dll failed
NET_DVR_IPC_COUNT_OVERFLOW | 86 | over maximun ipc count
NET_DVR_MAX_ADD_NUM | 87 | add label or other operation reach the maximum number
NET_DVR_PARAMMODE_ERROR | 88 | Image intensifier, parameter mode error. This error may occur when client sets software or hardware parameters.
NET_DVR_CODESPITTER_OFFLINE | 89 | Code splitter is offline.
NET_DVR_BACKUP_COPYING | 90 | Device is backing up.
NET_DVR_CHAN_NOTSUPPORT | 91 | Channel not support
NET_DVR_CALLINEINVALID | 92 | The height line location is too concentrated, or the length line is not inclined enough.
NET_DVR_CALCANCELCONFLICT | 93 | Cancel calibration conflict, if the rule and overall actual size filter have been set.
NET_DVR_CALPOINTOUTRANGE | 94 | Calibration point exceeds the range.
NET_DVR_FILTERRECTINVALID | 95 | The size filter does not meet the requirement.
NET_DVR_DDNS_DEVOFFLINE | 96 | Device has not registered to DDNS.
NET_DVR_DDNS_INTER_ERROR | 97 | DDNS inner error.
NET_DVR_FUNCTION_NOT_SUPPORT_OS | 98 | This function don't support this OS.
NET_DVR_DEC_CHAN_REBIND | 99 | Decode channel can not bind with two display channel.
NET_DVR_INTERCOM_SDK_ERROR | 100 | Failed to load the audio intercom SDK from current directory.
NET_DVR_NO_CURRENT_UPDATEFILE | 101 | No current upgrade pack.
NET_DVR_USER_NOT_SUCC_LOGIN | 102 | The user has not logined the device.
NET_DVR_USE_LOG_SWITCH_FILE | 103 | It is using the log swtich file.
NET_DVR_POOL_PORT_EXHAUST | 104 | The ports used to bound in port pool is exhausted.
NET_DVR_PACKET_TYPE_NOT_SUPPORT | 105 | The packet type of stream is error.
NET_DVR_IPPARA_IPID_ERROR | 106 | IPID of IP access configuration is error.
NET_DVR_LOAD_HCPREVIEW_SDK_ERROR | 107 | Load Preview component Failed.
NET_DVR_LOAD_HCVOICETALK_SDK_ERROR | 108 | Load Voice talk component Failed.
NET_DVR_LOAD_HCALARM_SDK_ERROR | 109 | Load Alarm component Failed.
NET_DVR_LOAD_HCPLAYBACK_SDK_ERROR | 110 | Load Playback component Failed.
NET_DVR_LOAD_HCDISPLAY_SDK_ERROR | 111 | Load Display component Failed.
NET_DVR_LOAD_HCINDUSTRY_SDK_ERROR | 112 | Load Industry component Failed.
NET_DVR_LOAD_HCGENERALCFGMGR_SDK_ERROR | 113 | Load general configuration management component failed.
NET_DVR_LOAD_HCCOREDEVCFG_SDK_ERROR | 114 | Load configuration core component failed.
NET_DVR_CORE_VER_MISMATCH | 121 | There is a mismatch between the component and core version.
NET_DVR_CORE_VER_MISMATCH_HCPREVIEW | 122 | There is a mismatch between Live view component and core version.
NET_DVR_CORE_VER_MISMATCH_HCVOICETALK | 123 | There is a mismatch between voice component and core version.
NET_DVR_CORE_VER_MISMATCH_HCALARM | 124 | There is a mismatch between alarm component and core version.
NET_DVR_CORE_VER_MISMATCH_HCPLAYBACK | 125 | There is a mismatch between playback component and core version.
NET_DVR_CORE_VER_MISMATCH_HCDISPLAY | 126 | There is a mismatch between display component and core version.
NET_DVR_CORE_VER_MISMATCH_HCINDUSTRY | 127 | There is a mismatch between industrial application component and core version.
NET_DVR_CORE_VER_MISMATCH_HCGENERALCFGMGR | 128 | There is a mismatch between general configuration management component and the core version.
NET_DVR_COM_VER_MISMATCH_HCPREVIEW | 136 | There is a mismatch between Live view component and HCNetSDK version.
NET_DVR_COM_VER_MISMATCH_HCVOICETALK | 137 | There is a mismatch between voice component and HCNetSDK version.
NET_DVR_COM_VER_MISMATCH_HCALARM | 138 | here is a mismatch between alarm component and HCNetSDK version.
NET_DVR_COM_VER_MISMATCH_HCPLAYBACK | 139 | There is a mismatch between playback component and HCNetSDK version.
NET_DVR_COM_VER_MISMATCH_HCDISPLAY | 140 | There is a mismatch between display component and HCNetSDK version.
NET_DVR_COM_VER_MISMATCH_HCINDUSTRY | 141 | There is a mismatch between industrial application component and HCNetSDK version.
NET_DVR_COM_VER_MISMATCH_HCGENERALCFGMGR | 142 | There is a mismatch between General configuration management component and the HCNetSDK version.
NET_DVR_ALIAS_DUPLICATE | 150 | Alias is duplicate (for HiDDNS)
NET_DVR_USERNAME_NOT_EXIST | 152 | The user name doesn't exist.
NET_ERR_USERNAME_LOCKED | 153 | The user name is locked.
NET_DVR_INVALID_USERID | 154 | Invalid User ID.
NET_DVR_LOW_LOGIN_VERSION | 155 | The login version is too low.
NET_DVR_LOAD_LIBEAY32_DLL_ERROR | 156 | Failed to load libeay32.dll.
NET_DVR_LOAD_SSLEAY32_DLL_ERROR | 157 | Failed to load ssleay32.dll.
NET_ERR_LOAD_LIBICONV | 158 | Failed to load libiconv.dll。
NET_DVR_TEST_SERVER_FAIL_CONNECT | 165 | Failed to connect to test server.
NET_DVR_NAS_SERVER_INVALID_DIR | 166 | Failed to mount to NAS server (No such directory, or user name/password error).
NET_DVR_NAS_SERVER_NOENOUGH_PRI | 167 | Failed to mount to NAS server (not authorized)
NET_DVR_EMAIL_SERVER_NOT_CONFIG_DNS | 168 | DNS has not been configured, so domain address may invalid.
NET_DVR_EMAIL_SERVER_NOT_CONFIG_GATEWAY | 169 | GateWay of Email server has not been configured, so it may be failed to send mail.
NET_DVR_TEST_SERVER_PASSWORD_ERROR | 170 | User name and password tried to login the test server are not matching.
NET_DVR_EMAIL_SERVER_CONNECT_EXCEPTION_WITH_SMTP | 171 | The connection between device and SMTP server is abnormal.
NET_DVR_FTP_SERVER_FAIL_CREATE_DIR | 172 | Failed to create directory in the FTP server.
NET_DVR_FTP_SERVER_NO_WRITE_PIR | 173 | Do not have permission to write in the FTP server.
NET_DVR_IP_CONFLICT | 174 | IP conflict.
NET_DVR_INSUFFICIENT_STORAGEPOOL_SPACE | 175 | The storage pool is full.
NET_DVR_STORAGEPOOL_INVALID | 176 | The storage pool of cloud server is invalid, for not configure the storage pool or the ID of storage pool error.
NET_DVR_EFFECTIVENESS_REBOOT | 177 | Need reboot the device.
NET_ERR_ANR_ARMING_EXIST | 178 | ANR arming is already established.
NET_ERR_UPLOADLINK_EXIST | 179 | Upload Link is already established.
NET_ERR_INCORRECT_FILE_FORMAT | 180 | Incorrect file format.
NET_ERR_INCORRECT_FILE_CONTENT | 181 | Incorrect file content.
NET_ERR_MAX_HRUDP_LINK | 182 | HRUDP limit the number of connections over equipment.
Array error codes |  |
NET_DVR_NAME_NOT_ONLY | 200 | Existing name.
NET_DVR_OVER_MAX_ARRAY | 201 | Number of arrays has reached its limit.
NET_DVR_OVER_MAX_VD | 202 | Number of virtual disks has reached its limit.
NET_DVR_VD_SLOT_EXCEED | 203 | Virtual disk slot is full.
NET_DVR_PD_STATUS_INVALID | 204 | Physical disk for rebuilding array is with error status.
NET_DVR_PD_BE_DEDICATE_SPARE | 205 | Physical disk for rebuilding array is specified as spare drive.
NET_DVR_PD_NOT_FREE | 206 | Physical disk for rebuilding array is not idle.
NET_DVR_CANNOT_MIG2NEWMODE | 207 | Unable to migrate from the current array type to the new array type.
NET_DVR_MIG_PAUSE | 208 | The migration operation has been paused.
NET_DVR_MIG_CANCEL | 209 | The migration operation has been cancelled.
NET_DVR_EXIST_VD | 210 | Operation failed! Please delete the virtual disk existed in the array first.
NET_DVR_TARGET_IN_LD_FUNCTIONAL | 211 | Target physical disk is part of the virtual disk and is functional.
NET_DVR_HD_IS_ASSIGNED_ALREADY | 212 | Specified physical disk is assigned to a virtual disk
NET_DVR_INVALID_HD_COUNT | 213 | Number of physical disks doesn't fit the specified RAID level.
NET_DVR_LD_IS_FUNCTIONAL | 214 | Specified virtual disk is functional.
NET_DVR_BGA_RUNNING | 215 | BGA is running.
NET_DVR_LD_NO_ATAPI | 216 | Can not create virtual disk with ATAPI drive.
NET_DVR_MIGRATION_NOT_NEED | 217 | Migration is not necessary.
NET_DVR_HD_TYPE_MISMATCH | 218 | Physical disks are not of the same type.
NET_DVR_NO_LD_IN_DG | 219 | No virtual disk exist on the specified array.
NET_DVR_NO_ROOM_FOR_SPARE | 220 | Disk space is too small to be assigned as spare drive.
NET_DVR_SPARE_IS_IN_MULTI_DG | 221 | Disk is already assigned as a spare drive for an array.
NET_DVR_DG_HAS_MISSING_PD | 222 | Disk is missing from an array.
NET_DVR_NAME_EMPTY | 223 | Name is empty.
NET_DVR_INPUT_PARAM | 224 | The input parameter is error.
NET_DVR_PD_NOT_AVAILABLE | 225 | The physical disk is not available.
NET_DVR_ARRAY_NOT_AVAILABLE | 226 | The RAID is not available
NET_DVR_PD_COUNT | 227 | The count of physical disks is not correct.
NET_DVR_VD_SMALL | 228 | Virtual disk is too small.
NET_DVR_NO_EXIST | 229 | Not exist.
NET_DVR_NOT_SUPPORT | 230 | Not support the operation.
NET_DVR_NOT_FUNCTIONAL | 231 | The status of RAID is abnormal.
NET_DVR_DEV_NODE_NOT_FOUND | 232 | The device node of virtual disk does not exist.
NET_DVR_SLOT_EXCEED | 233 | The count of slots reaches the upper limit.
NET_DVR_NO_VD_IN_ARRAY | 234 | There is not virtual disk in the RAID.
NET_DVR_VD_SLOT_INVALID | 235 | The slot of virtual disk is invalid.
NET_DVR_PD_NO_ENOUGH_SPACE | 236 | The required space of physical disk is not enough.
NET_DVR_ARRAY_NONFUNCTION | 237 | Only the RAID on normal state supports to be migrated.
NET_DVR_ARRAY_NO_ENOUGH_SPACE | 238 | The space of RAID is not enough.
NET_DVR_STOPPING_SCANNING_ARRAY | 239 | It is pulling the disk out safely or rescanning the disk.
NET_DVR_NOT_SUPPORT_16T | 240 | Not support create the RAID larger than 16T.
Security activation related error codes |  |
NET_DVR_ERROR_DEVICE_NOT_ACTIVATED | 250 | The device has not been activated.
NET_DVR_ERROR_RISK_PASSWORD | 251 | There is a risk of the password.
NET_DVR_ERROR_DEVICE_HAS_ACTIVATED | 252 | The device has been activated.
Smart device error value |  |
NET_DVR_ID_ERROR | 300 | Configuration ID is illegal.
NET_DVR_POLYGON_ERROR | 301 | Polygon does not match requirement.
NET_DVR_RULE_PARAM_ERROR | 302 | Rule parameter is illegal.
NET_DVR_RULE_CFG_CONFLICT | 303 | Configuration conflict.
NET_DVR_CALIBRATE_NOT_READY | 304 | Calibration not ready.
NET_DVR_CAMERA_DATA_ERROR | 305 | Camera parameter is illegal.
NET_DVR_CALIBRATE_DATA_UNFIT | 306 | Not tilt enough, not fit to calibrate.
NET_DVR_CALIBRATE_DATA_CONFILICT | 307 | Calibration error.
NET_DVR_CALIBRATE_CALC_FAIL | 308 | Failed to calculate camera calibration parameter.
NET_DVR_CALIBRATE_LINE_OUT_RECT | 309 | The input calibrating line exceeds the external rectangle sample.
NET_DVR_ENTER_RULE_NOT_READY | 310 | Enter rule not ready.
NET_DVR_AID_RULE_NO_INCLUDE_LANE | 311 | It does not include lane in the traffic event rule (especial for traffic jam or driving against the traffic).
NET_DVR_LANE_NOT_READY | 312 | Lane not ready.
NET_DVR_RULE_INCLUDE_TWO_WAY | 313 | There are two different directions in event rule.
NET_DVR_LANE_TPS_RULE_CONFLICT | 314 | The lane conflicts with the data rule.
NET_DVR_NOT_SUPPORT_EVENT_TYPE | 315 | The event type is not supported by the device.
NET_DVR_LANE_NO_WAY | 316 | The lane has no direction.
NET_DVR_SIZE_FILTER_ERROR | 317 | The size of filter is illegal.
NET_DVR_LIB_FFL_NO_FACE | 318 | There is no face when feature point positioning.
NET_DVR_LIB_FFL_IMG_TOO_SMALL | 319 | The input image is too small when feature point positioning.
NET_DVR_LIB_FD_IMG_NO_FACE | 320 | The input image has no face when detecting face in single image.
NET_DVR_LIB_FACE_TOO_SMALL | 321 | Face is too small when building model.
NET_DVR_LIB_FACE_QUALITY_TOO_BAD | 322 | Face image is of poor quality when building model.
NET_DVR_KEY_PARAM_ERR | 323 | Advanced parameter setting error.
NET_DVR_CALIBRATE_DATA_ERR | 324 | Calibration sample size error, or data value error, or sample points beyond the horizon
NET_DVR_CALIBRATE_DISABLE_FAIL | 325 | The configured rules do not allow to cancel calibration.
NET_DVR_VCA_LIB_FD_SCALE_OUTRANGE | 326 | Filter scale is out range.
NET_DVR_LIB_FD_REGION_TOO_LARGE | 327 | Region is too big.
NET_DVR_TRIAL_OVERDUE | 328 | Trial overdue.
NET_DVR_CONFIG_FILE_CONFLICT | 329 | Config file conflict.
NET_DVR_FR_FPL_FAIL | 330 | Feature points location is error in face recognition.
NET_DVR_FR_IQA_FAIL | 331 | Image quality assessment is error in face recognition.
NET_DVR_FR_FEM_FAIL | 332 | Feature extract & match error in face recognition.
NET_DVR_FPL_DT_CONF_TOO_LOW | 333 | Detection confidence is too low in feature points location.
NET_DVR_FPL_CONF_TOO_LOW | 334 | Confidence is too low in feature points location.
NET_DVR_E_DATA_SIZE | 335 | Size of model data error.
NET_DVR_FR_MODEL_VERSION_ERR | 336 | Model version is error.
NET_DVR_FR_FD_FAIL | 337 | Face detection error in face recognition.
NET_DVR_FA_NORMALIZE_ERR | 338 | Face attribute normalize error.
NET_DVR_DOG_PUSTREAM_NOT_MATCH | 339 | Pustream and softdog are mismatched.
NET_DVR_DEV_PUSTREAM_NOT_MATCH | 340 | Pustream device version is error.
NET_DVR_PUSTREAM_ALREADY_EXISTS | 341 | The pustream has existence.
NET_DVR_SEARCH_CONNECT_FAILED | 342 | Failed to connect face retrieval device.
NET_DVR_INSUFFICIENT_DISK_SPACE | 343 | Storage space is insufficient.
NET_DVR_DATABASE_CONNECTION_FAILED | 344 | Failed to connect database.
NET_DVR_DATABASE_ADM_PW_ERROR | 345 | Username or password is error for database.
NET_DVR_DECODE_YUV | 346 | Failed to decode image.
NET_DVR_IMAGE_RESOLUTION_ERROR | 347 | Image resolution is unreasonable.
NET_DVR_CHAN_WORKMODE_ERROR | 348 | Channel work mode error.
Error code of RTSP communication library | 400 to 446 | For details, seeError code of RTSP communication library
Error code of software decoding library | 500 to 528 | For details, seeError code of software decoding library
Error code of transcode library | 581 | For details, seeError code of transcode library
Error code of two-way audio library | 600 to 619 | For details, seeError code of two-way audio library
Error code of Qos stream library | 678 to 700 | For details, seeError code of Qos stream library
Other error codes |  |
NET_ERROR_SCENE_USING | 717 | The scene is in use.
NET_ERR_TERMINAL_BUSY | 780 | The terminal is busy, and the terminal is in one meeting.
NET_ERR_TERMINAL_BUSY | 780 | Equipment other resource-intensive function, cause the function could not be opened.
NET_DVR_DEV_NET_OVERFLOW | 800 | Network traffic is over device ability limit.
NET_DVR_STATUS_RECORDFILE_WRITING_NOT_LOCK | 801 | The video file is recording and can't be locked.
NET_DVR_STATUS_CANT_FORMAT_LITTLE_DISK | 802 | The hard disk capacity is too small and can not be formatted.
N+1 function error code |  |
NET_SDK_ERR_REMOTE_DISCONNEC | 803 | Unable to connect to the remote device.
NET_SDK_ERR_RD_ADD_RD | 804 | It does not support add spare device to a spare device.
NET_SDK_ERR_BACKUP_DISK_EXCEPT | 805 | The backup disk is abnormal.
NET_SDK_ERR_RD_LIMIT | 806 | The count of spare devices has reached the maximum limit.
NET_SDK_ERR_ADDED_RD_IS_WD | 807 | The spare device to be added is a working device.
NET_SDK_ERR_ADD_ORDER_WRONG | 808 | The adding order is wrong, such as, to add the working device to the spare device before adding the spare device to the working device.
NET_SDK_ERR_WD_ADD_WD | 809 | It does not support add working device to a working device.
NET_SDK_ERR_WD_SERVICE_EXCETP | 810 | The CVR server is abnormal.
NET_SDK_ERR_RD_SERVICE_EXCETP | 811 | The spare device is abnormal.
NET_SDK_ERR_ADDED_WD_IS_RD | 812 | The working device to be added is a spare device.
NET_SDK_ERR_PERFORMANCE_LIMIT | 813 | The performance reaches the upper limit
NET_SDK_ERR_ADDED_DEVICE_EXIST | 814 | The devcie to be added has existed.
Error code of interrogation device |  |
NET_SDK_ERR_INQUEST_RESUMING | 815 | Inquest resuming.
NET_SDK_ERR_RECORD_BACKUPING | 816 | Record backuping.
NET_SDK_ERR_DISK_PLAYING | 817 | Disk playing.
NET_SDK_ERR_INQUEST_STARTED | 818 | Inquest started.
NET_SDK_ERR_LOCAL_OPERATING | 819 | Local operating.
NET_SDK_ERR_INQUEST_NOT_START | 820 | Inquest not start.
Other error code |  |
NET_SDK_ERR_CHAN_AUDIO_BIND | 821 | Chan bind aduio error or no bind.
NET_DVR_N_PLUS_ONE_MODE | 822 | Not support to set cloud storage mode, for the device is in N+1 mode.
NET_DVR_CLOUD_STORAGE_OPENED | 823 | The cloud storage mode has been opened.
NET_DVR_ERR_OPER_NOT_ALLOWED | 824 | Fot the device has been taken over, the operation is not allowed.
NET_DVR_ERR_NEED_RELOCATE | 825 | Fot the device has been taken over, it requires to get the redirection information and then re-operate.
Error code of court trail device |  |
NET_SDK_ERR_IR_PORT_ERROR | 830 | The IR output error.
NET_SDK_ERR_IR_CMD_ERROR | 831 | The command of IR output is not correct.
NET_SDK_ERR_NOT_INQUESTING | 832 | The device is not inquestiong.
NET_SDK_ERR_INQUEST_NOT_PAUSED | 833 | The device is not in paused status.
Other error code |  |
NET_DVR_CHECK_PASSWORD_MISTAKE_ERROR | 834 | Check the password mistake.
NET_DVR_UNABLE_CALIB_ERROR | 836 | Unable to calibrate currently.
NET_DVR_PLEASE_CALIB_ERROR | 837 | Please finish the calibration first.
NET_DVR_ERR_PANORAMIC_CAL_EMPTY | 838 | No panorama image for PanoVu camera calibration in flash.
NET_DVR_ERR_CALIB_FAIL_PLEASEAGAIN | 839 | Calibration failed. Please calibrate again.
NET_DVR_ERR_DETECTION_LINE | 840 | Please set detection line again. The detection line should be within the red count area.
NET_ERR_ALARM_INPUT_OCCUPIED | 845 | Alarm Input No. A<-1 is used to trigger vehicle capture.
Error code of multi-screen controller |  |
NET_ERR_WINCHAN_IDX | 901 | Window channel index error.
NET_ERR_WIN_LAYER | 902 | Window layer number error(the count of window layers on a single screen exceeds the max number).
NET_ERR_WIN_BLK_NUM | 903 | Window block number error(the count of screens that single window overlays exceeds the max number).
NET_ERR_OUTPUT_RESOLUTION | 904 | The output resolution error.
NET_ERR_LAYOUT | 905 | Layout index error.
NET_ERR_INPUT_RESOLUTION | 906 | The input resolution is not supported.
NET_ERR_SUBDEVICE_OFFLINE | 907 | The sub-device is off-line.
NET_ERR_NO_DECODE_CHAN | 908 | There is no free decoding channel.
NET_ERR_MAX_WINDOW_ABILITY | 909 | The upper limit of window number.
NET_ERR_ORDER_ERROR | 910 | Calling order error.
NET_ERR_PLAYING_PLAN | 911 | Be playing plan.
NET_ERR_DECODER_USED | 912 | Decoder board is in use.
NET_ERR_OUTPUT_BOARD_DATA_OVERFLOW | 913 | The data of output board is over the limit.
NET_ERR_SAME_USER_NAME | 914 | The user name is duplicate.
NET_ERR_INVALID_USER_NAME | 915 | Invalid username.
NET_ERR_MATRIX_USING | 916 | The input matrix is in use.
NET_ERR_DIFFERENT_CHAN_TYPE | 917 | The channel type is error (the output channel of matrix is different with the input of controller)
NET_ERR_INPUT_CHAN_BINDED | 918 | The input channel has been bound by other matrix.
NET_ERR_BINDED_OUTPUT_CHAN_OVERFLOW | 919 | The number of the matrix output channels in use has exceeded the number of channels bound with controller.
NET_ERR_MAX_SIGNAL_NUM | 920 | The number of input signal sources is over the limit.
NET_ERR_INPUT_CHAN_USING | 921 | The input channel is in use.
NET_ERR_MANAGER_LOGON | 922 | The operation failed, for the manager has logged in.
NET_ERR_USERALREADY_LOGON | 923 | The operation failed, for the user has logged in.
NET_ERR_LAYOUT_INIT | 924 | The operation failed, for the layout is being initialized.
NET_ERR_BASEMAP_SIZE_NOT_MATCH | 925 | The size of traced drawing not match
NET_ERR_WINDOW_OPERATING | 926 | The operation failed, for the window is performing other operation.
NET_ERR_SIGNAL_UPLIMIT | 927 | The number of windows has reached the maximum limit.
Error code of decoder |  |
NET_ERR_WINDOW_SIZE_OVERLIMIT | 943 | The window size exceeds the limit.
NET_ERR_MAX_WIN_OVERLAP | 951 | The number of windows overlap has reached the maximum limit.
NET_ERR_STREAMID_CHAN_BOTH_VALID | 952 | stream ID and channel number are both valid.
NET_ERR_NO_ZERO_CHAN | 953 | The device has no zero channel.
NEED_RECONNECT | 955 | Need redirection (for transcoding system)
NET_ERR_NO_STREAM_ID | 956 | The stream ID does not exist.
NET_DVR_TRANS_NOT_START | 957 | The transcoding has not been started.
NET_ERR_MAXNUM_STREAM_ID | 958 | The number of stream ID has reached the maximum limit.
NET_ERR_WORKMODE_MISMATCH | 959 | The work mode does not match with the requirement.
NET_ERR_MODE_IS_USING | 960 | It Has been working in current mode.
NET_ERR_DEV_PROGRESSING | 961 | The device is in processing
NET_ERR_PASSIVE_TRANSCODING | 962 | It is in transcoding.
NET_DVR_ERR_WINDOW_SIZE_PLACE | 975 | Wrong window position.
NET_DVR_ERR_RGIONAL_RESTRICTIONS | 976 | Screen distance exceeds the limit.
NET_DVR_ERR_CLOSE_WINDOWS | 984 | Operation failed. Close the window first.
NET_DVR_ERR_MATRIX_LOOP_ABILITY | 985 | Beyond the cycle decoding capacity.
NET_DVR_ERR_MATRIX_LOOP_TIME | 986 | Invalid cycle decoding time.
NET_DVR_ERR_LINKED_OUT_ABILITY | 987 | No more linked camera can be added.
Error code of capability set |  |
XML_ABILITY_NOTSUPPORT | 1000 | Not support to get this node of the capability set.
XML_ANALYZE_NOENOUGH_BUF | 1001 | The output buffer is not enough
XML_ANALYZE_FIND_LOCALXML_ERROR | 1002 | Can not find the corresponding xml file.
XML_ANALYZE_LOAD_LOCALXML_ERROR | 1003 | Failed to load the local xml file.
XML_NANLYZE_DVR_DATA_FORMAT_ERROR | 1004 | Data format of the capability is wrong.
XML_ANALYZE_TYPE_ERROR | 1005 | The type of capability set is wrong.
XML_ANALYZE_XML_NODE_ERROR | 1006 | Format of XML capability node is wrong.
XML_INPUT_PARAM_ERROR | 1007 | The input value of XML capability node is wrong.
XML_VERSION_MISMATCH | 1008 | XML version not match
Other error code |  |
NET_ERR_TRANS_CHAN_START | 1101 | The operation is failed, for transparent channel has been opened.
NET_ERR_DEV_UPGRADING | 1102 | The device is upgrading.
NET_ERR_MISMATCH_UPGRADE_PACK_TYPE | 1103 | The type of upgrade package not match.
NET_ERR_DEV_FORMATTING | 1104 | The device is being formatted.
NET_ERR_MISMATCH_UPGRADE_PACK_VERSION | 1105 | The version of upgrade package not match.
Error code of alarm device |  |
NET_ERR_SEARCHING_MODULE | 1201 | The device is searching for the external module.
NET_ERR_REGISTERING_MODULE | 1202 | The device is registering to the external module.
NET_ERR_GETTING_ZONES | 1203 | The device is getting defense zone parameters.
NET_ERR_GETTING_TRIGGERS | 1204 | The device is getting triggers.
NET_ERR_ARMED_STATUS | 1205 | The system is armed.
NET_ERR_PROGRAM_MODE_STATUS | 1206 | The system is in programming mode.
NET_ERR_WALK_TEST_MODE_STATUS | 1207 | The system is in pacing mode.
NET_ERR_BYPASS_STATUS | 1208 | Bypass state
NET_ERR_DISABLED_MODULE_STATUS | 1209 | The function is disabled.
NET_ERR_NOT_SUPPORT_OPERATE_ZONE | 1210 | The defense zone does not support the operation.
NET_ERR_NOT_SUPPORT_MOD_MODULE_ADDR | 1211 | The module address can not be modified.
NET_ERR_UNREGISTERED_MODULE | 1212 | The module is unregistered.
NET_ERR_PUBLIC_SUBSYSTEM_ASSOCIATE_SELF | 1213 | The public subsystem is set to associate with itself.
NET_ERR_EXCEEDS_ASSOCIATE_SUBSYSTEM_NUM | 1214 | The number of subsystems associated with the public subsystem exceeds the max limit.
NET_ERR_BE_ASSOCIATED_BY_PUBLIC_SUBSYSTEM | 1215 | The subsystem has been associated with the other public subsystem.
NET_ERR_ZONE_FAULT_STATUS | 1216 | The defense zone is in the fault state.
NET_ERR_SAME_EVENT_TYPE | 1217 | The opening and close of alarm output triggered by event have associated with same event type.
NET_ERR_ZONE_ALARM_STATUS | 1218 | The defense zone is in the alarm state.
NET_ERR_EXPANSION_BUS_SHORT_CIRCUIT | 1219 | Short circuit of expansion bus.
NET_ERR_PWD_CONFLICT | 1220 | Password conflict.
NET_ERR_DETECTOR_GISTERED_BY_OTHER_ZONE | 1221 | Detector gistered by other zone.
NET_ERR_DETECTOR_GISTERED_BY_OTHER_PU | 1222 | Detector gistered by other PU.
NET_ERR_DETECTOR_DISCONNECT | 1223 | Detector disconnect.
NET_ERR_CALL_BUSY | 1224 | Call busy.
NET_ERR_FILE_NAME | 1357 | File name error, null or illegal.
NET_ERR_BROADCAST_BUSY | 1358 | Broadcast busy.
Error code of smart traffic camera |  |
NET_DVR_ERR_LANENUM_EXCEED | 1400 | The number of lanes exceeds the limit.
NET_DVR_ERR_PRAREA_EXCEED | 1401 | License plate recognition region is too large.
NET_DVR_ERR_LIGHT_PARAM | 1402 | The access parameters of traffic light is error.
NET_DVR_ERR_LANE_LINE_INVALID | 1403 | The configuration of lane line is invalid.
NET_DVR_ERR_STOP_LINE_INVALID | 1404 | The configuration of stop line is invalid.
NET_DVR_ERR_LEFTORRIGHT_LINE_INVALID | 1405 | The boundary line configuration of left-turn or right-turn lane is invalid.
NET_DVR_ERR_LANE_NO_REPEAT | 1406 | The overlaid lane number is repeated.
NET_DVR_ERR_PRAREA_INVALID | 1407 | The polygon region of license plate recognition does not meet the requirement.
NET_DVR_ERR_LIGHT_NUM_EXCEED | 1408 | The number of traffic lights of the video detection exceeds the max limit.
NET_DVR_ERR_SUBLIGHT_NUM_INVALID | 1409 | The number of the sub traffic lights of video detection is illegal.
NET_DVR_ERR_LIGHT_AREASIZE_INVALID | 1410 | The input area size of the video detection traffic light is illegal.
NET_DVR_ERR_LIGHT_COLOR_INVALID | 1411 | The color of the video detection traffic light is illegal.
NET_DVR_ERR_LIGHT_DIRECTION_INVALID | 1412 | The direction of the video detection traffic light is illegal.
NET_DVR_ERR_LACK_IOABLITY | 1413 | Lack of IO ablity.
NET_DVR_ERR_FTP_PORT | 1414 | FTP port error.
NET_DVR_ERR_FTP_CATALOGUE | 1415 | FTP catalogue error.
NET_DVR_ERR_FTP_UPLOAD_TYPE | 1416 | FTP upload type error.
NET_DVR_ERR_FLASH_PARAM_WRITE | 1417 | Setting param flash write error.
NET_DVR_ERR_FLASH_PARAM_READ | 1418 | Getting param flash read error.
NET_DVR_ERR_PICNAME_DELIMITER | 1419 | Pic name delimiter error.
NET_DVR_ERR_PICNAME_ITEM | 1420 | Pic name item error.
NET_DVR_ERR_PLATE_RECOGNIZE_TYPE | 1421 | Plate recognize type error.
NET_DVR_ERR_CAPTURE_TIMES | 1422 | Capture times error.
NET_DVR_ERR_LOOP_DISTANCE | 1423 | Loop distance error.
NET_DVR_ERR_LOOP_INPUT_STATUS | 1424 | Loop input status error.
NET_DVR_ERR_RELATE_IO_CONFLICT | 1425 | Related IO conflict.
NET_DVR_ERR_INTERVAL_TIME | 1426 | Interval time error.
NET_DVR_ERR_SIGN_SPEED | 1427 | Sign speed error.
NET_DVR_ERR_PIC_FLIP | 1428 | Flip is used.
NET_DVR_ERR_RELATE_LANE_NUMBER | 1429 | Related lane number error.
NET_DVR_ERR_TRIGGER_MODE | 1430 | Trigger mode error.
NET_DVR_ERR_DELAY_TIME | 1431 | Delay time error.
NET_DVR_ERR_EXCEED_RS485_COUNT | 1432 | Exceed RS485 count.
NET_DVR_ERR_RADAR_TYPE | 1433 | Radar type error.
NET_DVR_ERR_RADAR_ANGLE | 1434 | Radar angle error.
NET_DVR_ERR_RADAR_SPEED_VALID_TIME | 1435 | Radar speed valid time error.
NET_DVR_ERR_RADAR_LINE_CORRECT | 1436 | Radar line correct error.
NET_DVR_ERR_RADAR_CONST_CORRECT | 1437 | Radar const correct error.
NET_DVR_ERR_RECORD_PARAM | 1438 | Record param error.
NET_DVR_ERR_LIGHT_WITHOUT_COLOR_AND_DIRECTION | 1439 | Light number and other param error.
NET_DVR_ERR_LIGHT_WITHOUT_DETECTION_REGION | 1440 | Light number and detection region error.
NET_DVR_ERR_RECOGNIZE_PROVINCE_PARAM | 1441 | Plate recognize Province param error.
NET_DVR_ERR_SPEED_TIMEOUT | 1442 | IO Speed TimeOut Param error.
NET_DVR_ERR_NTP_TIMEZONE | 1443 | NTP TimeZone Param error.
NET_DVR_ERR_NTP_INTERVAL_TIME | 1444 | NTP Interval Time error.
NET_DVR_ERR_NETWORK_CARD_NUM | 1445 | Network Card Num error.
NET_DVR_ERR_DEFAULT_ROUTE | 1446 | Default Route error.
NET_DVR_ERR_BONDING_WORK_MODE | 1447 | Banding Work Mode error.
NET_DVR_ERR_SLAVE_CARD | 1448 | Slave Card error.
NET_DVR_ERR_PRIMARY_CARD | 1449 | Primary Card error.
NET_DVR_ERR_DHCP_PPOE_WORK | 1450 | DHCP and PPOE not Meanwhile start.
NET_DVR_ERR_NET_INTERFACE | 1451 | Net Interface invalid.
NET_DVR_ERR_MTU | 1452 | MTU Param invalid.
NET_DVR_ERR_NETMASK | 1453 | Netmask address invalid.
NET_DVR_ERR_IP_INVALID | 1454 | IP address invalid.
NET_DVR_ERR_MULTICAST_IP_INVALID | 1455 | Multicast IP address invalid.
NET_DVR_ERR_GATEWAY_INVALID | 1456 | Gateway address invalid.
NET_DVR_ERR_DNS_INVALID | 1457 | DNS Param invalid.
NET_DVR_ERR_ALARMHOST_IP_INVALID | 1458 | AlarmHost IP invalid.
NET_DVR_ERR_IP_CONFLICT | 1459 | IP address Conflict.
NET_DVR_ERR_NETWORK_SEGMENT | 1460 | IP not support Multi Network segment.
NET_DVR_ERR_NETPORT | 1461 | NetPort param error.
NET_DVR_ERR_PPPOE_NOSUPPORT | 1462 | Unsupport PPPOE.
NET_DVR_ERR_DOMAINNAME_NOSUPPORT | 1463 | Not Support Domain Name.
NET_DVR_ERR_NO_SPEED | 1464 | Speed Not Enabled.
NET_DVR_ERR_IOSTATUS_INVALID | 1465 | IO Status invalid.
NET_DVR_ERR_BURST_INTERVAL_INVALID | 1466 | Burst Interval invalid.
NET_DVR_ERR_RESERVE_MODE | 1467 | Reserve Mode invalid.
NET_DVR_ERR_LANE_NO | 1468 | Lane No error.
NET_DVR_ERR_COIL_AREA_TYPE | 1469 | Coil Area Type error.
NET_DVR_ERR_TRIGGER_AREA_PARAM | 1470 | Trigger Area Param error.
NET_DVR_ERR_SPEED_LIMIT_PARAM | 1471 | Speed Limit Param error.
NET_DVR_ERR_LANE_PROTOCOL_TYPE | 1472 | Lane Protocol Type error.
NET_DVR_ERR_INTERVAL_TYPE | 1473 | Capture Interval Type error.
NET_DVR_ERR_INTERVAL_DISTANCE | 1474 | Capture Interval Distance error.
NET_DVR_ERR_RS485_ASSOCIATE_DEVTYPE | 1475 | Rs485 Associate DevType error.
NET_DVR_ERR_RS485_ASSOCIATE_LANENO | 1476 | Rs485 Associate LaneNo error.
NET_DVR_ERR_LANENO_ASSOCIATE_MULTIRS485 | 1477 | LaneNo Associate MulitRs485 error.
NET_DVR_ERR_LIGHT_DETECTION_REGION | 1478 | Light Detection Region error.
NET_DVR_ERR_DN2D_NOSUPPORT | 1479 | UnSupport Capture Frame 2D Noise Reduction.
NET_DVR_ERR_IRISMODE_NOSUPPORT | 1480 | UnSupport scene Mode.
NET_DVR_ERR_WB_NOSUPPORT | 1481 | UnSupport White Balance Mode.
NET_DVR_ERR_IO_EFFECTIVENESS | 1482 | IO Effectiveness invalid.
NET_DVR_ERR_LIGHTNO_MAX | 1483 | Access Detector Lights Red / Yellow Overrun.
NET_DVR_ERR_LIGHTNO_CONFLICT | 1484 | Access Detector Lights Red / Yellow Conflict.
NET_DVR_ERR_CANCEL_LINE | 1485 | Trigger straight line error.
NET_DVR_ERR_STOP_LINE | 1486 | Subject line area stop line error.
NET_DVR_ERR_RUSH_REDLIGHT_LINE | 1487 | Red light trigger lines error.
NET_DVR_ERR_IOOUTNO_MAX | 1488 | IO out port error.
NET_DVR_ERR_IOOUTNO_AHEADTIME_MAX | 1489 | IO out ahead time error.
NET_DVR_ERR_IOOUTNO_IOWORKTIME | 1490 | IO out inwork time error.
NET_DVR_ERR_IOOUTNO_FREQMULTI | 1491 | IO out frequency multiplication error.
NET_DVR_ERR_IOOUTNO_DUTYRATE | 1492 | IO out duty rate error.
NET_DVR_ERR_VIDEO_WITH_EXPOSURE | 1493 | IO out work mode error.
NET_DVR_ERR_PLATE_BRIGHTNESS_WITHOUT_FLASHDET | 1494 | Plate enable in plate compensate mode on.
NET_DVR_ERR_RECOGNIZE_TYPE_PARAM | 1495 | Recognize Type error.
NET_DVR_ERR_PALTE_RECOGNIZE_AREA_PARAM | 1496 | Plate Recognize Area Param error.
NET_DVR_ERR_PORT_CONFLICT | 1497 | Port Conflict.
NET_DVR_ERR_LOOP_IP | 1498 | IP cannot be the loopback address.
NET_DVR_ERR_DRIVELINE_SENSITIVE | 1499 | Driveline sensitivity error.
VQD error code |  |
NET_ERR_VQD_TIME_CONFLICT | 1500 | The time period conflict.
NET_ERR_VQD_PLAN_NO_EXIST | 1501 | The diagnostic plan of VQD dese not exist.
NET_ERR_VQD_CHAN_NO_EXIST | 1502 | The channel dese not exist.
NET_ERR_VQD_CHAN_MAX | 1503 | The total number of VQD plans exceeds the max limit.
NET_ERR_VQD_TASK_MAX | 1504 | The total number of VQD tasks exceeds the max limit.
Newly added error code of capture camera |  |
NET_DVR_ERR_EXCEED_MAX_CAPTURE_TIMES | 1600 | Capture times exceed 2 in flash mode.
NET_DVR_ERR_REDAR_TYPE_CONFLICT | 1601 | Radar type conflict.
NET_DVR_ERR_LICENSE_PLATE_NULL | 1602 | The license plate is null.
NET_DVR_ERR_WRITE_DATABASE | 1603 | Failed to write data into the database.
NET_DVR_ERR_LICENSE_EFFECTIVE_TIME | 1604 | The effective time of licence plate error.
NET_DVR_ERR_PRERECORDED_STARTTIME_LONG | 1605 | The pre recorded start time is greater than the number of illegal capture.
NET_DVR_ERR_TRIGGER_RULE_LINE | 1606 | Trigger rule line error.
NET_DVR_ERR_LEFTRIGHT_TRIGGERLINE_NOTVERTICAL | 1607 | Left and right trigger line is not vertical.
NET_DVR_ERR_FLASH_LAMP_MODE | 1608 | Flash lamp mode error.
NET_DVR_ERR_ILLEGAL_SNAPSHOT_NUM | 1609 | Illegal capture number error.
NET_DVR_ERR_ILLEGAL_DETECTION_TYPE | 1610 | Illegal detection type error.
NET_DVR_ERR_POSITIVEBACK_TRIGGERLINE_HIGH | 1611 | Positive back to trigger line height error.
NET_DVR_ERR_MIXEDMODE_CAPTYPE_ALLTARGETS | 1612 | Mixed mode only supports capture type all targets.
NET_DVR_ERR_CARSIGNSPEED_GREATERTHAN_LIMITSPEED | 1613 | Car sign speed greater than speed limit value.
NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_LIMITSPEED | 1614 | Big car sign speed limit greater than speed limit value.
NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_CARSIGNSPEED | 1615 | Big car sign speed limit is greater than the car sign speed limit value.
NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_CARLIMITSPEED | 1616 | Big car speed limit value is greater than the car speed limit value.
NET_DVR_ERR_BIGCARLOWSPEEDLIMIT_GREATERTHAN_CARLOWSPEEDLIMIT | 1617 | Big car low speed limit value is greater than the car low speed limit value.
NET_DVR_ERR_CARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED | 1618 | Car speed limit greater than exception high speed value.
NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED | 1619 | Big car speed limit greater than exception high speed value.
NET_DVR_ERR_STOPLINE_MORETHAN_TRIGGERLINE | 1620 | Stopping more than straight lines trigger lines.
Error code of access control host |  |
NET_ERR_TIME_OVERLAP | 1900 | The time period is overlapped.
NET_ERR_HOLIDAY_PLAN_OVERLAP | 1901 | The holiday plan is overlapped.
NET_ERR_CARDNO_NOT_SORT | 1902 | The card number is not sorted.
NET_ERR_CARDNO_NOT_EXIST | 1903 | The card number is not existed.
NET_ERR_ILLEGAL_CARDNO | 1904 | The card number is false.
NET_ERR_ZONE_ALARM | 1905 | The zone is armed(the modification of parameters is not allowed)
NET_ERR_ZONE_OPERATION_NOT_SUPPORT | 1906 | The zone does not support the operation.
NET_ERR_INTERLOCK_ANTI_CONFLICT | 1907 | Both the multi-door interlocking and anti-sneak configuration are false.
NET_ERR_DEVICE_CARD_FULL | 1908 | The card is full(return when up to 10W).
Error code of video intercom |  |
NET_DVR_ERR_OUTDOOR_COMMUNICATION | 1950 | Communication the door machine abnormality.
NET_DVR_ERR_ROOMNO_UNDEFINED | 1951 | Not configured room no.
NET_DVR_ERR_NO_CALLING | 1952 | No call.
NET_DVR_ERR_RINGING | 1953 | Ring the bell.
NET_DVR_ERR_IS_CALLING_NOW | 1954 | Is calling now.
NET_DVR_ERR_LOCK_PASSWORD_WRONG | 1955 | Intelligent lock password mistake.
NET_DVR_ERR_CONTROL_LOCK_FAILURE | 1956 | Switch lock failure.
NET_DVR_ERR_CONTROL_LOCK_OVERTIME | 1957 | Switch lock timeout.
NET_DVR_ERR_LOCK_DEVICE_BUSY | 1958 | Intelligent lock device is busy.
NET_DVR_ERR_UNOPEN_REMOTE_LOCK_FUNCTION | 1959 | Remote lock function is not open.
Other error code |  |
NET_DVR_ERR_FILE_NOT_COMPLETE | 2100 | The downloaded file is incomplete.
NET_DVR_ERR_IPC_EXIST | 2101 | The IPC has been existed.
NET_DVR_ERR_ADD_IPC | 2102 | The channel has added one IPC.
NET_DVR_ERR_OUT_OF_RES | 2103 | Out of network bandwidth capacity.
NET_DVR_ERR_CONFLICT_TO_LOCALIP | 2104 | IP conflict between IPC and DVR.
NET_DVR_ERR_IP_SET | 2105 | Illegal IP.
NET_DVR_ERR_PORT_SET | 2106 | Illegal port.
NET_ERR_WAN_NOTSUPPORT | 2107 | Not in the same WLAN, not support security question config or export GUID.
NET_ERR_MUTEX_FUNCTION | 2108 | Mutual exclusion function error.
NET_ERR_QUESTION_CONFIGNUM | 2109 | Security question config amount error.
NET_DVR_ERR_NOTSUPPORT_DEICING | 3001 | Not support Deicing.
NET_DVR_ERR_THERMENABLE_CLOSE | 3002 | Thermometry is not enabled.
NET_DVR_ERR_PANORAMIC_LIMIT_OPERATED | 3004 | Panoramic view and Limit can not be operated at the same time.

Error Code of RTSP Communication Library

Type | Value | Message
NET_DVR_RTSP_ERROR_NOENOUGHPRI | 401 | Authentication failed: if server returns 401, it will change to this error code
NET_DVR_RTSP_ERROR_ALLOC_RESOURCE | 402 | Failed to allocate the resource
NET_DVR_RTSP_ERROR_PARAMETER | 403 | Parameter error
NET_DVR_RTSP_ERROR_NO_URL | 404 | The assigned URL does not exist: when the server returns 404, SDK turns into this error code. E.g. the channel is not available, or the channel does not support sub stream
NET_DVR_RTSP_ERROR_FORCE_STOP | 406 | The user forces to exit midway
NET_DVR_RTSP_GETPORTFAILED | 407 | RTSP port getting error.
NET_DVR_RTSP_DESCRIBERROR | 410 | RTSP DESCRIBE communicate error
NET_DVR_RTSP_DESCRIBESENDTIMEOUT | 411 | Sending RTSP DESCRIBE is timeout.
NET_DVR_RTSP_DESCRIBESENDERROR | 412 | Failed to send RTSP DESCRIBE.
NET_DVR_RTSP_DESCRIBERECVTIMEOUT | 413 | Receiving RTSP DESCRIBE is timeout.
NET_DVR_RTSP_DESCRIBERECVDATALOST | 414 | Receiving data of RTSP DESCRIBE error.
NET_DVR_RTSP_DESCRIBERECVERROR | 415 | Failed to receive RTSP DESCRIBE.
NET_DVR_RTSP_DESCRIBESERVERERR | 416 | RTSP DESCRIBE device returns the error.
NET_DVR_RTSP_SETUPERROR | 420 | (or 419), RTSP SETUP interaction error. Generally, it is that the address(URL) returned by the device is not accessible, or it is rejected by the server
NET_DVR_RTSP_SETUPSENDTIMEOUT | 421 | Sending RTSP SETUP is timeout.
NET_DVR_RTSP_SETUPSENDERROR | 422 | Sending RTSP SETUP error.
NET_DVR_RTSP_SETUPRECVTIMEOUT | 423 | Receiving RTSP SETUP is timeout.
NET_DVR_RTSP_SETUPRECVDATALOST | 424 | Receiving data of RTSP SETUP error.
NET_DVR_RTSP_SETUPRECVERROR | 425 | Failed to receive RTSP SETUP.
NET_DVR_RTSP_OVER_MAX_CHAN | 426 | It exceeds the max connection number of server. or server has not enough resource.
NET_DVR_RTSP_SETUPSERVERERR | 427 | RTSP SETUP device returns the error.
NET_DVR_RTSP_PLAYERROR | 430 | RTSP PLAY interaction error.
NET_DVR_RTSP_PLAYSENDTIMEOUT | 431 | Sending RTSP PLAY is timeout.
NET_DVR_RTSP_PLAYSENDERROR | 432 | Sending RTSP PLAY error.
NET_DVR_RTSP_PLAYRECVTIMEOUT | 433 | Receiving RTSP PLAY is timeout.
NET_DVR_RTSP_PLAYRECVDATALOST | 434 | Receiving data of RTSP PLAY error.
NET_DVR_RTSP_PLAYRECVERROR | 435 | Failed to receive RTSP PLAY.
NET_DVR_RTSP_PLAYSERVERERR | 436 | RTSP PLAY device returns the error.
NET_DVR_RTSP_TEARDOWNERROR | 440 | RTSP TEARDOWN interaction error.
NET_DVR_RTSP_TEARDOWNSENDTIMEOUT | 441 | Sending RTSP TEARDOWN is timeout.
NET_DVR_RTSP_TEARDOWNSENDERROR | 442 | Sending RTSP TEARDOWN error.
NET_DVR_RTSP_TEARDOWNRECVTIMEOUT | 443 | Receiving RTSP TEARDOWN is timeout.
NET_DVR_RTSP_TEARDOWNRECVDATALOST | 444 | Receiving data of RTSP TEARDOWN error.
NET_DVR_RTSP_TEARDOWNRECVERROR | 445 | Failed to receive RTSP TEARDOWN.
NET_DVR_RTSP_TEARDOWNSERVERERR | 446 | RTSP TEARDOWN device returns the error.

Error Code of Software Decoding Library

Type | Value | Message
NET_PLAYM4_NOERROR | 500 | no error
NET_PLAYM4_PARA_OVER | 501 | input parameter is invalid
NET_PLAYM4_ORDER_ERROR | 502 | The order of the function to be called is error
NET_PLAYM4_TIMER_ERROR | 503 | Create multimedia clock failed
NET_PLAYM4_DEC_VIDEO_ERROR | 504 | Decode video data failed
NET_PLAYM4_DEC_AUDIO_ERROR | 505 | Decode audio data failed
NET_PLAYM4_ALLOC_MEMORY_ERROR | 506 | Allocate memory failed
NET_PLAYM4_OPEN_FILE_ERROR | 507 | Open the file failed
NET_PLAYM4_CREATE_OBJ_ERROR | 508 | Create thread or event failed
NET_PLAYM4_CREATE_DDRAW_ERROR | 509 | Create DirectDraw object failed
NET_PLAYM4_CREATE_OFFSCREEN_ERROR | 510 | failed when creating off-screen surface
NET_PLAYM4_BUF_OVER | 511 | buffer is overflow
NET_PLAYM4_CREATE_SOUND_ERROR | 512 | failed when creating audio device
NET_PLAYM4_SET_VOLUME_ERROR | 513 | Set volume failed
NET_PLAYM4_SUPPORT_FILE_ONLY | 514 | The function only support play file
NET_PLAYM4_SUPPORT_STREAM_ONLY | 515 | The function only support play stream
NET_PLAYM4_SYS_NOT_SUPPORT | 516 | System not support
NET_PLAYM4_FILEHEADER_UNKNOWN | 517 | No file header
NET_PLAYM4_VERSION_INCORRECT | 518 | The version of decoder and encoder is not adapted
NET_PALYM4_INIT_DECODER_ERROR | 519 | nitialize decoder failed
NET_PLAYM4_CHECK_FILE_ERROR | 520 | The file data is unknown
NET_PLAYM4_INIT_TIMER_ERROR | 521 | Initialize decoder failed
NET_PLAYM4_BLT_ERROR | 522 | Blt failed
NET_PLAYM4_UPDATE_ERROR | 523 | Update failed
NET_PLAYM4_OPEN_FILE_ERROR_MULTI | 524 | openfile error, streamtype is multi
NET_PLAYM4_OPEN_FILE_ERROR_VIDEO | 525 | openfile error, streamtype is video
NET_PLAYM4_JPEG_COMPRESS_ERROR | 526 | JPEG compress error
NET_PLAYM4_EXTRACT_NOT_SUPPORT | 527 | Don't support the version of this file.
NET_PLAYM4_EXTRACT_DATA_ERROR | 528 | Extract video data failed.

Error Code of Transcode Library

Type | Value | Message
NET_CONVERT_ERROR_NOT_SUPPORT | 581 | Convert not support.

Error Code of Two-way Audio Library

Type | Value | Message
NET_AUDIOINTERCOM_OK | 600 | No error.
NET_AUDIOINTECOM_ERR_NOTSUPORT | 601 | Not support.
NET_AUDIOINTECOM_ERR_ALLOC_MEMERY | 602 | Memory allocation error.
NET_AUDIOINTECOM_ERR_PARAMETER | 603 | Parameter error.
NET_AUDIOINTECOM_ERR_CALL_ORDER | 604 | API calling order error.
NET_AUDIOINTECOM_ERR_FIND_DEVICE | 605 | No audio device
NET_AUDIOINTECOM_ERR_OPEN_DEVICE | 606 | Failed to open the audio device
NET_AUDIOINTECOM_ERR_NO_CONTEXT | 607 | Context error.
NET_AUDIOINTECOM_ERR_NO_WAVFILE | 608 | WAV file error.
NET_AUDIOINTECOM_ERR_INVALID_TYPE | 609 | The type of WAV parameter is invalid
NET_AUDIOINTECOM_ERR_ENCODE_FAIL | 610 | Failed to encode data
NET_AUDIOINTECOM_ERR_DECODE_FAIL | 611 | Failed to decode data
NET_AUDIOINTECOM_ERR_NO_PLAYBACK | 612 | Failed to play audio
NET_AUDIOINTECOM_ERR_DENOISE_FAIL | 613 | Failed to denoise
NET_AUDIOINTECOM_ERR_UNKOWN | 619 | Unknown

Error Code of Qos Stream Control Library

Type | Value | Message
NET_QOS_ERR_SCHEDPARAMS_BAD_MINIMUM_INTERVAL | 678 | Scheduled parameter of minimum interval is bad .
NET_QOS_ERR_SCHEDPARAMS_BAD_FRACTION | 679 | Scheduled parameter of fraction is bad.
NET_QOS_ERR_SCHEDPARAMS_INVALID_BANDWIDTH | 680 | Scheduled parameter of bandwidth is not invalid.
NET_QOS_ERR_PACKET_TOO_BIG | 687 | Packet too big.
NET_QOS_ERR_PACKET_LENGTH | 688 | Packet length error.
NET_QOS_ERR_PACKET_VERSION | 689 | Packet version error.
NET_QOS_ERR_PACKET_UNKNOW | 690 | Packet unknow.
NET_QOS_ERR_OUTOFMEM | 695 | Out of memory.
NET_QOS_ERR_LIB_NOT_INITIALIZED | 696 | Lib not initialized.
NET_QOS_ERR_SESSION_NOT_FOUND | 697 | Session not found.
NET_QOS_ERR_INVALID_ARGUMENTS | 698 | Invalid arguments.
NET_QOS_ERROR | 699 | Qos error.
NET_QOS_OK | 700 | No error.

Remarks

Error code value can be obtained through NET_DVR_GetLastError.

See Also

NET_DVR_GetLastError


NET_DVR_GetFileByTime

This API is used to download video by time.

LONG NET_DVR_GetFileByTime(
  LONG              lUserID,
  LONG              lChannel,
  LPNET_DVR_TIME    lpStartTime,
  LPNET_DVR_TIME    lpStopTime,
  char              *sSavedFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpStartTime
[in] Start time
lpStopTime
[in] End time
sSavedFileName
[in] The files name saved in the computer after downloaded, it should be absolute path

Return Values

Return -1 if it is failed, and other values could be used as the parameter of functions NET_DVR_StopGetFile. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_OVER_MAXLINK | 5 | The number of clients connected to the device has exceeded the max limit.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_CREATEFILE_ERROR | 34 | Failed to create a file, during local recording, saving picture, getting configuration file or downloading record file.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

  • The interface has assigned the file to be downloaded currently. After calling it successfully, it needs to call starting play control command NET_DVR_PLAYSTART of NET_DVR_PlayBackControl_V40 to download the file.
  • For the V5.0.3.2 or later version, if users save videos through the interface, the maximum limit of the file is 1024 MB. If the file is more than 1024 MB, the SDK will abstract it into the new file automatically, file name naming rules is "add the digital identity basis on the file name (for example: * _1.Mp4, * _2.Mp4). Get and set the abstracting mode and max. file byte restriction through NET_DVR_GetSDKLocalCfg, NET_DVR_SetSDKLocalCfg (configuration type: NET_DVR_LOCAL_CFG_TYPE_GENERAL).

See Also

NET_DVR_PlayBackControl NET_DVR_StopGetFile
NET_DVR_Login NET_DVR_Login_V40

Reference Interface

NET_DVR_GetFileByTime_V40


NET_DVR_GetLocalIP

This API is used to get all IP address of the computer, supporting multi network card.

BOOL NET_DVR_GetLocalIP(
  char      strIP[16][16],
  DWORD     *pValidNum,
  BOOL      *pEnableBind
);

Parameters

strIP
[out] The buffer to save IP, couldnot be NULL
pValidNum
[out] The count of all valid IP
pEnableBind
[out] Whether bind or not

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API is used to get all IP address, and please call NET_DVR_SetValidIP to select which IP to use.

See Also

NET_DVR_SetValidIP


NET_DVR_GetNextRemoteConfig

This API is used to get the related configuration one by one

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] Query handle, the return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] The output buffer, related with the value of dwCommand when calling NET_DVR_StartRemoteConfig, please kindly refer to the list below
dwOutBuffSize
[out] The output buffer size

Return Values

Return -1 if it is failed, and the other values stand for current status or other information, details listed below. For error code, please callNET_DVR_GetLastError

Macro Definition | Value | Description
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | get the data successfully, please call NET_DVR_GetNextRemoteConfig to get next one after handling the data
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Searching, please wait, and then continue to call NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | No more found, search is finished, and then call NET_DVR_StopRemoteConfig to release resource
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Abnormal, please call NET_DVR_StopRemoteConfig to release resource

Remarks

The lpOutBuff is different according to the value of dwCommand when calling NET_DVR_StartRemoteConfig, and they are listed as below:

dwCommand Macro Definition | Value |  | lpOutBuff
NET_DVR_GET_ALARMHOST_MODULE_LIST | 1222 | Get all module | NET_DVR_MODULE_INFO
NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM | 2034 | Get all zones in the specified partition | NET_DVR_ALARMIN_PARAM
NET_DVR_GET_ALARMHOST_TRIGGER_LIST | 2035 | Get all triggers | NET_DVR_ALARMOUT_PARAM
NET_DVR_GET_ALL_VARIABLE_INFO | 2057 | Get all variable information | NET_DVR_ALARM_VARIABLE_CFG
NET_DVR_GET_HISTORY_VALUE | 2060 | Get the historical data | NET_DVR_HISTORY_DATA
NET_DVR_GET_ALL_REMOTECONTROLLER_LIST | 2205 | Get all remote controls | NET_DVR_REMOTECONTROLLER_PERMISSION_CFG
NET_DVR_GET_ALL_ALARM_RS485CFG | 2705 | Get the RS485 parameters | NET_DVR_ALARM_RS485CFG
NET_DVR_GET_ALL_ALARMHOST_RS485_SLOT_CFG | 2706 | Get the security control panel 485 slot parameters | NET_DVR_ALARMHOST_RS485_SLOT_CFG
NET_DVR_GET_ALL_ALARM_POINT_CFG | 2708 | Get all the point No. | NET_DVR_ALARM_POINT_CFG
NET_DVR_GET_ALL_ALARM_SENSOR_CFG | 2709 | Get all the analog quantity parameters | NET_DVR_SENSOR_INFO
NET_DVR_GET_ALL_ALARM_SENSOR_JOINT | 2710 | Get all the analog quantity linked parameters | NET_DVR_ALARMHOST_SENSOR_JOINT_CFG

Before calling this API to get the query result, you should call NET_DVR_StartRemoteConfig first to get the current query handle. This API is for getting a piece of query result, for getting all results, you should call this API in loop.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

Get the next remote configuration info one by one

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] Search handle, return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] Output buffer, is related to the NET_DVR_StartRemoteConfig (dwCommand), please see the details in "Remarks".
dwOutBuffSize
[out] Buffer size

Return Values

-1 stands for failure, Please call NET_DVR_GetLastError NET_DVR_GetLastErrorto get the error code.

Macro Definition | Value | Implication
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | After succesfully getting the data, please call NET_DVR_GetNextRemoteConfig to get the next data.
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Waiting for the device sending data and contious call NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | After obtaining all of datas, please call NET_DVR_StopRemoteConfig to stop.
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Excpetion, please call NET_DVR_StopRemoteConfig to stop.

Remarks

Commands of NET_DVR_StartRemoteConfig(dwCommand) and structure that pOutBuff corresponding to are as follows:

dwCommand Macro Definition | Value | Function | lpOutBuff Structure
NET_DVR_GET_HEATMAP_RESULT | 5083 | Haeter map query | NET_DVR_HEATMAP_INFO
NET_DVR_GET_PDC_RESULT | 5089 | PDC data query | NET_DVR_PDC_RESULT

Please call NET_DVR_StartRemoteConfig to get the query habdle before calling the API, the API is just suitable for get the info that has been searhed. If you want to get all of the info, please looped call the API.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

Get information one by one.

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] Search handle, the return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] Export data buffer region, related with the dwCommand of NET_DVR_StartRemoteConfig. See details in the following table:
dwOutBuffSize
[in] Buffer length

When calling NET_DVR_StartRemoteConfig, different dwCommand come in. lpOutBuff correspond to different structures. See the following table:

dwCommandMacro definition | Macro definition value | Control function | lpOutBuff corrsponding Structure
NET_DVR_GET_ALL_RECORD_PASSBACK_TASK_MANUAL | 6235 | Get all manually added record passback tasks. | NET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET

Return Values

-1 means failure. Other values mean present gaining status and other information. See details in the following table:For error code, callNET_DVR_GetLastError

Macro definition | Macro definition value | Definition
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | Data read. After processing data, call again NET_DVR_GetNextRemoteConfig to get next data.
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Wait for the devices to send data, continue calling NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | All data collected, call NET_DVR_StopRemoteConfig to stop remote connection
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Error, call NET_DVR_StopRemoteConfig to stop remote connection

Remarks

Before calling this interface to get search file, call ET_DVR_StartRemoteConfig to get the present search handle. This interface is used to get a piece of found information. To get all found information, you need to repetitively call this interface.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetNextRemoteConfig

Get information one by one.

LONG NET_DVR_GetNextRemoteConfig(
  LONG     lHandle,
  void     *lpOutBuff,
  DWORD    dwOutBuffSize
);

Parameters

lHandle
[in] Search handle, the return value of NET_DVR_StartRemoteConfig
lpOutBuff
[out] Export data buffer region, related with the dwCommand of NET_DVR_StartRemoteConfig. See details in the following table:
dwOutBuffSize
[in] Buffer length

When calling NET_DVR_StartRemoteConfig, different dwCommands come in, lpOutBuff correspond to different structures. See the following table:

dwCommandMacro definition | Macro definition value | Control function | lpOutBuff corresponding Structure
NET_DVR_RECORD_CHECK | 6233 | Record integrity check | NET_DVR_RECORD_CHECK_RET
NET_DVR_GET_RECORD_SEGMENT_CFG | 6242 | Get record segment total number. | NET_DVR_RECORD_SEGMENT_RET

Return Values

-1 means failure. Other values mean present gaining status and other information. See details in the following table:For error code, callNET_DVR_GetLastError

Macro definition | Macro definition value | Definition
NET_SDK_GET_NEXT_STATUS_SUCCESS | 1000 | Data read. After processing data, call again NET_DVR_GetNextRemoteConfig to get next data.
NET_SDK_GET_NETX_STATUS_NEED_WAIT | 1001 | Waiting for device to send data, continue calling NET_DVR_GetNextRemoteConfig
NET_SDK_GET_NEXT_STATUS_FINISH | 1002 | Data all collected, call NET_DVR_StopRemoteConfig to end remote connection.
NET_SDK_GET_NEXT_STATUS_FAILED | 1003 | Error, call NET_DVR_StopRemoteConfig to end remote connection.

Remarks

Before calling this interface to get search file, call ET_DVR_StartRemoteConfig to get the present search handle. This interface is used to get a piece of found information. To get all found information, you need to repetitively call this interface.

See Also

NET_DVR_StartRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_GetPicUploadState

This API is used to get the state of the uploading.

LONG NET_DVR_GetPicUploadState(
  LONG   lUploadHandle
);

Parameters

lUploadHandle
[in] The return value of NET_DVR_PicUpload

Return Values

Return -1 if it is failed. Other value is defined as below:
1- upload successful
2- be uploading
3- upload failed
4- unkown error
Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_PicUpload


NET_DVR_GetPTZProtocol_Ex

This API is used to get PTZ protocol supported by device according to channel.

BOOL NET_DVR_GetPTZProtocol_Ex(
  LONG               lUserID,
  LONG               lChannel,
  NET_DVR_PTZCFG     *pPtzcfg
);

Parameters

lUserID
[in] Return value of logging in encoding subsystem
lChannel
[in] Encoding channel number of subsystem
pPtzcfg
[out] Parameter of PTZ protocol

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_GetRemoteConfigState

Get the status of long connection

BOOL NET_DVR_GetRemoteConfigState(
  LONG    lHandle,
  void    *pState
);

Parameters

lHandle
[in] handle,the return value of NET_DVR_StartRemoteConfig
pState
[out] the return value of status, see below:
pState | definition
29 | Device operation failed
165 | Device connect to testing server failed
166 | NAS server fail to mount the directory, the directory is invalid
167 | NAS server to mount the directory fails, there is no privilege or username password error
168 | The server uses the domain name, but not configured DNS, may cause an invalid domain name
169 | Gateway is not configured, it may result in failure to send mail
170 | Username or password of test server is incorrect
171 | The interaction of device and smtp server abnormal
172 | this user fails to create directory on the server
173 | The user does not have write permission
174 | IP conflict

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_GetSDKLocalConfig

This API is used to get the local parameters of SDK.

BOOL NET_DVR_GetSDKLocalConfig(
  LPNET_DVR_SDKLOCAL_CFG    lpSdkLocalCfg
);

Parameters

lpSdkLocalCfg
[out] Local parameter of SDK, including the status of simulate capability set and voice talk library

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetSDKLocalConfig


NET_DVR_GetSTDAbility

Get device capability set

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwAbilityType
[in] Capability type, for details see "Remarks"
lpAbilityParam
[in&out] Device capability set parameter (including input and output parameters)

Return Values

Returns TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

If the device does not support getting capacity via ISAPI protocol, call NET_DVR_GetDeviceAbility to get the capability set.

For different capability set type(dwAbilityType), lpCondBuffer and lpOutBuffer of lpAbilityParam correspond to different content, as shown in the following table:

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_EMERGENCE_ALARM_PRODUCT_CAP | 2212 | Get emergency alarm product capability set | NULL | EmergencyAlarmProductCap
NET_DVR_GET_CALL_WAITTING_CFG_CAP | 2213 | Get call waiting parameter configuration capability set | NULL | CallWaittingCfg
NET_DVR_GET_ALARM_LAMP_CFG_CAP | 2216 | Get siren parameter configuration capability set | NULL | AlarmLampConfig
NET_DVR_GET_VOICE_PROMPTION_CFG_CAP | 2219 | Get voice prompt configuration capability set | NULL | VoicePromptionCfg
NET_DVR_GET_EMERGENCE_ALARM_RESPONSE_CAP | 2222 | Get emergency alarm processing capability set | NULL | EmergencyAlarmResponseCtrl
NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES | 3501 | Get event trigger capability set | NULL | EventTriggerCap

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDAbility

Getting device capability

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] The return value of the login structures such as NET_DVR_Login_V40
dwAbilityType
[in] Capability Type, see detailed definition in Remarks list
lpAbilityParam
[in&out] Device Capability Set Definition (involving input and output parameter)

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

To get Capability Set from this interface, the support from device is required. If device does not support ISAPI protocol to get Capability Set, through NET_DVR_GetDeviceAbility to Get related Capability Set。

For different Capability Set types (dwAbilityType), the lpCondBuffer and lpOutBuffer in lpAbilityParam correspond to different contents. See details in the following table:

Macro definition
Value Description lpCondBuffer lpOutBuffer
NET_DVR_GET_TERMINAL_INPUT_CFG_CAP | 9137 | Get terminal input Capability Set | NULL | InputConfig
NET_DVR_GET_CONFERENCE_REGION_CAP | 9140 | Get conference region Capability Set | NULL | ConferenceRegion
NET_DVR_GET_TERMINAL_CALL_CFG_CAP | 9143 | Get terminal call configuration Capability Set | NULL | CallConfiguration
NET_DVR_GET_TERMINAL_CTRL_CAP | 9146 | Get terminal call control Capability Set | NULL | ControlParam
NET_DVR_GET_CALL_QUERY_CAP | 9148 | Get call query Capability Set | 4 bytes(DWORD) conference number | CallQueryProfile
NET_DVR_GET_VCS_CAP | 9152 | Get terminal MCU Capability Set | NULL | VCSCap
NET_DVR_GET_TERMINAL_GK_CFG_CAP | 9153 | Get terminal register GK configuration Capability Set | NULL | GkConfig

NET_DVR_GET_TERMINAL_INPUT_CFG_CAP corresponds to ISAPI command line URL: GET /ISAPI/VCS/terminals/inputConfig/capabilities

NET_DVR_GET_TERMINAL_CALL_CFG_CAP corresponds to ISAPI URL: GET /ISAPI/VCS/terminals/callConfiguration/capabilities

NET_DVR_GET_TERMINAL_CTRL_CAP corresponds to ISAPI URL: GET /ISAPI/VCS/terminals/control/capabilities

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDAbility

Get the capability set of the device.

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] Returned value of NET_DVR_Login_V40
dwAbilityType
[in] Ability type. For detail definitions, see "Remarks".
lpAbilityParam
[in&out] Device capability set parameters (including input and output parameters)

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

If the device supports the ISAPI protocol, the capability set can be obtained by this API; while if not, the capability set can be obtained by NET_DVR_GetDeviceAbility.

For different capability set (dwAbilityType) types, parameters lpCondBuffer and lpOutBuffer in lpAbilityParam correspond to different contents respectively. For details, see the table in below.

Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_CENTRALIZEDCTRL_CAPABILITIES | 3700 | Get the centralized control capability set | 4-byte (DWORD) channel | CentralizedControl
NET_DVR_GET_COMPASS_CAPABILITIES | 3703 | Get the capability set of the digital compass | 4-byte (DWORD) channel | CompassCap

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDAbility

Getting device capability

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] The return value of the login structures such as NET_DVR_Login_V40
dwAbilityType
[in] Capability Type, for details, see the following table:
Macro Definition | Value | Description | lpCondBuffer | lpOutBuffer
NET_DVR_GET_ALARMCTRL_CAPABILITIES | 3146 | Get capability set of alarm control | 4 bytes(DWORD) channel number | AlarmCtrlParam
NET_DVR_GET_PXOFFLINE_CAPABILITIES | 3652 | Get Capability Set of setting parking lot ticket machine offline parameters | 4 bytes(DWORD) channel number | TMEOfflineConfiguration
NET_DVR_GET_PAPERCHARGEINFO_CAPABILITIES | 3655 | Get Capability Set of sending ticket info to parking lot entrance and exit | 4 bytes(DWORD) channel number | PaperChargeInfo
NET_DVR_GET_PARKINGSAPCE_CAPABILITIES | 3657 | Get Capability Set of sending parking space info to parking lot entrance and exit | 4 bytes(DWORD) channel number | ParkingSpaceInfo
NET_DVR_GET_PXMULTICTRL_CAPABILITIES | 3659 | Get Capability Set of setting muti-channel parameters of parking lot ticket machine slave devices | 4 bytes(DWORD) channel number | TMEMultiCtrlConfiguration
NET_DVR_GET_CHARGEACCOUNT_CAPABILITIES | 3661 | Get Capability Set of sending parking fee to parking lot entrance and exit | 4 bytes(DWORD) channel number | ChargeAmount
NET_DVR_GET_TME_CHARGERULE_CAPABILITIES | 3667 | Get Capability Set of setting parking fee rule parameters of the parking lot entrance and exit | 4 bytes(DWORD) channel number | ChargeRuleInfoList
NET_DVR_GET_ILLEGALCARDFILTERING_CAPABILITIES | 3668 | Get Capability Set of setting parking lot ticket machine parameters | 4 bytes(DWORD) channel number | TMEConfiguration
NET_DVR_GET_TME_CAPABILITIES | 3684 | Get Capability Set of parking lot entrance and exit devices | 4 bytes(DWORD) channel number | TMECap
NET_DVR_GET_LEDDISPLAY_CAPABILITIES | 3671 | Get Capability Set of setting LED display parameters | 4 bytes(DWORD) channel number | LEDConfiguration
NET_DVR_GET_VOICEBROADCAST_CAPABILITIES | 3674 | Get Capability Set of setting voice alarm control parameters | 4 bytes(DWORD) channel number | VoiceBroadcastInfo
NET_DVR_GET_PAPERPRINTFORMAT_CAPABILITIES | 3676 | Get Capability Set of setting ticket print format | 4 bytes(DWORD) channel number | PaperPrintFormatInfo
NET_DVR_GET_LOCkGATE_CAPABILITIES | 3679 | Get Capability Set of setting smart barrier | 4 bytes(DWORD) channel number | LockGateConfigList
NET_DVR_GET_TMEVOICE_CAPABILITIES | 3686 | Get voice talk settings information capability set | 4 bytes(DWORD) channel number | TMEVoiceConfiguration
lpAbilityParam
[in&out] Device Capability Set Definition (involving input and output parameter)

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDAbility

Get Device Capability Set

BOOL NET_DVR_GetSTDAbility(
  LONG                     lUserID,
  DWORD                    dwAbilityType,
  LPNET_DVR_STD_ABILITY    lpAbilityParam
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait for the return value from login interface
dwAbilityType
[in] Ability Type, see detailed definition in Remarks list
lpAbilityParam
[in&out] Device Capability Set Definition (involving input and output parameter)

Return Values

TRUE means success, FALSE means failure. To get error code, callNET_DVR_GetLastError

Remarks

To get Capability Set from this interface, the support from device is required. If device does not support ISAPI protocol to get Capability Set, throughNET_DVR_GetDeviceAbility to Get related Capability Set.

For different Capability Set types (dwAbilityType), the lpCondBuffer and lpInBuffer in lpConfigParam correspond to differnet contents. See details in the following table:

Macro definition | Macro definition value | Definition | lpCondBuffer | lpOutBuffer
NET_DVR_GET_MASTERSLAVETRACKING_CAPABILITIES | 3608 | Get master-slave tracking Capability Set | NULL | MasterSlaveTrackingCap
NET_DVR_GET_SLAVECAMERA_CAPABILITIES | 3599 | Get slave camera IP information configuration Capability Set | 4 bytes(DWORD) channel number | SlaveCamera
NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES | 3603 | Slave camera calibration configuration | 4 bytes(DWORD) channel number | SlaveCameraCalibrating

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

When getting the configuration parameters, the parameter IpInBuffer in lpConfigParamStructure is invalid, and should be set as 0. For different configuration functions (dwCommand), parameters lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. See details in the table in below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_CALL_WAITTING_CFG | Get call waiting parameter configuration | NULL | NET_DVR_CALL_WAITTING_CFG | 2214
NET_DVR_GET_ALARM_LAMP_CFG | Get siren parameter configuration | NULL | NET_DVR_ALARM_LAMP_CFG | 2217
NET_DVR_GET_VOICE_PROMPTION_CFG | Get voice prompt configuration | NULL | NET_DVR_VOICE_PROMPTION_CFG | 2220
NET_DVR_GET_ALARMIN_TRIGGER | Get alarm host arming region linkage configuration | NET_DVR_ALARMIN_TRIGGER_COND | NET_DVR_EVENT_TRIGGER | 2230
NET_DVR_GET_EMERGENCY_CALL_HELP_TRIGGER | Get alarm host emergency linkage configuration | NET_DVR_ALARMIN_TRIGGER_COND | NET_DVR_EVENT_TRIGGER | 2232
NET_DVR_GET_CONSULT_TRIGGER | Get alarm host service inquiry linkage configuration | NET_DVR_ALARMIN_TRIGGER_COND | NET_DVR_EVENT_TRIGGER | 2234

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get the device configuration information.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in]The return value of the login structures such as NET_DVR_Login_V40
dwCommand
[in] Settings command of the device, see details in "Remarks"
lpConfigParam
[in&out] The input and output parameters of configuration. Different functions correspond with different input and output parameters, refer to "Remarks" description for details

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

When getting settings parameters, IpInBuffer in the structure IpConfigParam is invalid, and is set to NULL. Besides, in IpConfigParam, IpCondBuffer and IpOutBuffer correspond to different contents according to different settings functions (dwCommand). See details in the following table.

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_TERMINAL_CONFERENCE_STATUS | Get the status of terminal conference | NULL | NET_DVR_TERMINAL_CONFERENCE_STATUS | 9136
NET_DVR_GET_TERMINAL_INPUT_CFG | Get the input parameters of terminal video conference | NULL | NET_DVR_TERMINAL_INPUT_CFG | 9138
NET_DVR_GET_CONFERENCE_REGION | Get the parameters of terminal conference region | NULL | NET_DVR_CONFERENCE_REGION | 9141
NET_DVR_GET_TERMINAL_CALL_CFG | Get the parameters of terminal call | NULL | NET_DVR_TERMINAL_CALL_CFG | 9144
NET_DVR_GET_CALLINFO_BY_COND | Get call information through condition querying | NET_DVR_CALL_QUERY_COND | NET_DVR_CALL_QUERY_RESULT | 9149
NET_DVR_GET_TERMINAL_GK_CFG | Get the parameters of terminal register GK | NULL | NET_DVR_TERMINAL_GK_CFG | 9154

NET_DVR_GET_TERMINAL_INPUT_CFG corresponds to ISAPI command line URL:GET /ISAPI/VCS/terminals/inputConfig

NET_DVR_GET_TERMINAL_CALL_CFG corresponds to ISAPI URL: GET /ISAPI/VCS/terminals/callConfiguration

NET_DVR_GET_TERMINAL_CONFERENCE_STATU corresponds to ISAPI URL: GET /ISAPI/VCS/terminals/conferenceStatus

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get the device configuration information.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The returned value of login API, such as NET_DVR_Login_V40.
dwCommand
[in] The device configuration command, see "Remarks" for details.
lpConfigParam
[in&out] The input and output parameters of configuration. Different functions correspond with different input and output parameters, refer to "Remarks" description for details

Return Values

TRUE means success and FALSE means failure. Call NET_DVR_GetLastError to get the error code.

Remarks

To get the configuration parameters, the lpInBuffer of the lpConfigParam structure should be set as NULL. For different configuration functions (dwCommand), the lpCondBuffer, lpOutBuffer and lpXmlBuffer of the lpConfigParam structure respectively correspond with different content. Currently, the following commands only support XML method (byDataType should be set as 1), thus the lpOutBuffer is NULL and the lpXmlBuffer varies according to the different commands.See the table below for details.

dwCommand Macro Definition | Description | lpCondBuffer | lpXmlBuffer | Macro Definition Value
NET_DVR_GET_ALARM_PROCESS_CFG | Get the alarm linkage action parameters. | NULL | AlarmProcess | 5220
NET_DVR_GET_BLACKLIST_ALARM_INFO | Get the whitelist and blacklist alarm track. | ListAlarmParam | ListAlarm | 5222
NET_DVR_GET_STORAGE_RESOURCE_CFG | Get the storage resource parameters. | NET_DVR_STORAGE_RESOURCE_COND | StorageResource | 5225
NET_DVR_GET_BLACKLIST_GROUP_INFO | Remotely get the all group list. | NET_DVR_BLACKLIST_GROUP_COND | ListGroup | 5231
NET_DVR_GET_BLACKLIST_GROUP_RECORD_CFG | Remotely get the grouping record parameters. | SearchRecordCond | ListGroupRecord | 5234
NET_DVR_GET_AREA_MONITOR_CFG | Get the camera parameters in the region. | NET_DVR_AREA_MONITOR_COND | AreaMonitor | 5236
NET_DVR_RETRIEVAL_SNAP_RECORD | Search in the capture lib. | RetrievalSnapRecord | RetrievalSnapRecordRet | 5240
NET_DVR_GET_ALARMLIST | Get the alarm name list. | AlarmListCond | AlarmListRet | 5241
NET_DVR_DETECT_IMAGE | Detection by single picture. | FDProcImage | ProcImageResult | 5242
NET_DVR_GET_SNAP_RECORD | Get the capture record. | SnapRecordCond | SnapRecordRet | 5243
NET_DVR_GET_FACE_RECORD | Get the face record list. | InquireRecordCond | FaceRecordRet | 5245
NET_DVR_GET_FACE_DATABASE | Get the face library configuration parameters. | RetrievalFaceDBCond | FaceDBRet | 5248
NET_DVR_RETRIEVAL_FACE_DATABASE | Search in the face library. | RetrievalFaceRecord | RetrievalFaceRecordRet | 5251
  • You can get up to 10 camera information at one time with the NET_DVR_GET_AREA_MONITOR_CFG. You can call the API several times to get all camera information. Call the NET_DVR_AREA_MONITOR_COND and set the dwMonitorID to specify the maximum value of the last get camera number +1.

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get the configuration information of the device.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Returned value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command. For detail definitions, see "Remarks".
lpConfigParam
[in&out] Configure input and output parameters. Different configuration functions correspond to different input and output parameters. For details, see "Remarks".

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastErrorto get the error code and find the reason.

Remarks

When getting the configuration parameters, the parameter IpInBuffer in lpConfigParamStructure is invalid, and should be set as 0. For different configuration functions (dwCommand), parameters lpCondBuffer and lpOutBuffer in lpConfigParam correspond to different contents. See details in the table in below.

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_CENTRALIZEDCTRL | Get the centralized control configuration | 4-byte (DWORD) channel | NET_DVR_CENTRALIZEDCTRL_CFG | 3701
NET_DVR_GET_VANDALPROOFALARM | Get the vandal-proof alarm parameters | 4-byte (DWORD) channel | NET_DVR_VANDALPROOFALARM_CFG | 3704
NET_DVR_GET_GISINFO | Get the GIS information of the current dome. | 4-byte (DWORD) channel | NET_DVR_GIS_INFO | 3711

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, see "Remarks" for details
lpConfigParam
[in&out] Configuration input and output parameter, see "Remarks" for details

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

When getting configuration parameters, lpInBuffer of lpConfigParam is invalid, and set as null. For different configuration function (dwCommand), lpCondBuffer and lpOutBuffer of lpConfigParam correspond to different content, see the table below for details:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_ALARMIN_PARAM_LIST | Get arming region parameter in batch | NET_DVR_MULTI_ALARMIN_COND | NET_DVR_ALARMIN_PARAM_LIST | 2227

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDConfig

Get the device configuration information.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Settings command of the device, see details in "Remarks"
lpConfigParam
[in&out] The input and output parameters of configuration. Different functions correspond with different input and output parameters, refer to "Remarks" description for details

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError for error code.

Remarks

When getting settings parameters, IpInBuffer in the structure IpConfigParam is invalid, and is set to NULL. Besides, in IpConfigParam, IpCondBuffer and IpOutBuffer correspond to different contents according to different settings functions (dwCommand). See details in the following table.

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_SHIPSDETECTION_EVENT_TRIGGER | Get ship detection corresponded configuration | NULL | NET_DVR_EVENT_TRIGGER | 6665
NET_DVR_GET_SHIPSDETECTION_SCHEDULE | Get ship detection arming schedule | 4 bytes of (DWORD) channel No. | NET_DVR_EVENT_SCHEDULE | 6663
NET_DVR_GET_SHIPSDETECTION_CFG | Get ship detection configruation | 4 bytes of (DWORD) channel No. | NET_DVR_SHIPSDETECTION_CFG | 6656

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get the device configuration information.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of the login structures such as NET_DVR_Login_V40
dwCommand
[in] Settings command of the device, see details in "Remarks"
lpConfigParam
[in&out]The input and output parameters of configuration. Different functions correspond with different input and output parameters, refer to "Remarks" description for details

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

When getting settings parameters, IpInBuffer in the structure IpConfigParam is invalid, and is set to NULL. Besides, in IpConfigParam, IpCondBuffer and IpOutBuffer correspond to different contents according to different settings functions (dwCommand). See details in the following table.

dwCommand Macro Definition | Value | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_ALARMCTRL_CFG | Get alarm control | 4 bytes(DWORD) channel number | NET_DVR_ALARMCTRL_CFG | 3148
NET_DVR_GET_PXOFFLINE_CFG | Get offline parameters of parking lot ticket machine | 4 bytes(DWORD) channel number | NET_DVR_PXOFFLINE_CFG | 3654
NET_DVR_GET_PXMULTICTRL_CFG | Get multi-channel parameters of parking lot ticket machine slave devices | 4 bytes(DWORD) channel number | NET_DVR_PXMULTICTRL_CFG | 3664
NET_DVR_GET_TME_CHARGERULE | Get parking fee rule parameters of the parking lot entrance and exit | NET_DVR_TME_CHARGERULE_COND | ChargeRuleInfo | 3665
NET_DVR_GET_ILLEGALCARDFILTERING_CFG | Get the parameters of parking lot ticket machine | 4 bytes(DWORD) channel number | NET_DVR_ILLEGALCARDFILTERING_CFG | 3669
NET_DVR_GET_LEDDISPLAY_CFG | Get the parameters of LED display | 4 bytes(DWORD) channel number | NET_DVR_LEDDISPLAY_CFG | 3673
NET_DVR_GET_PAPERPRINTFORMAT_CFG | Get the parameters of ticket print format | 4 bytes(DWORD) channel number | NET_DVR_PAPERPRINTFORMAT_CFG | 3677
NET_DVR_GET_LOCKGATE_CFG | Get the parameters of smart barrier | 4 bytes(DWORD) channel number | NET_DVR_LOCKGATE_CFG | 3680

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get the configuration information of device.

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait for the return value from login interface
dwCommand
[in] Device configuration command, see detailed definition in Remarks list
lpConfigParam
[in&out] Configure input/output parameters. Different configuration functions correspond to different inout/output parameters.See detaild in Remarks.

Return Values

TRUE means success, FALSE means failure. To get error code, callNET_DVR_GetLastError

Remarks

When configuring parameters, the lpOutBuffer in lpConfigParamStructure is invalid, set as NULL. For different configuration fucntions (dwCommand), the lpCondBuffer and lpInBuffer in lpConfigParam correspond to differnet contents. See details in the following table:

dwCommand Macro definition | Definition | lpCondBuffer | lpOutBuffer | Macro definition value
NET_DVR_GET_SLAVECAMERA | Get slave camera IP information configuration | NET_DVR_SLAVECAMERA_COND | NET_DVR_SLAVECAMERA_CFG | 3600
NET_DVR_GET_SLAVECAMERA_STATUS | Get slave camera connection status | 4 bytes(DWORD) channel number | NET_DVR_SLAVECAMERA_STATUS | 3602
NET_DVR_GET_SLAVECAMERA_CALIB | Configure slave camera calibration configuration | NET_DVR_SLAVECAMERA_COND | NET_DVR_SLAVECAMERA_CALIB_CFG | 3604
NET_DVR_GET_SLAVECAMERA_CALIB_V50 | Configure slave camera calibration configuration (expand) | NET_DVR_SLAVECAMERA_COND | NET_DVR_SLAVECAMERA_CALIB_V50 | 3614
NET_DVR_GET_TRACKING | Get master and slave tracking camera tracking configuration | NET_DVR_SLAVECAMERA_COND | NET_DVR_TRACKING | 3611
NET_DVR_GET_TRACKINGRATIO_MANUAL | Configure slave camera manual tracking ratio | NET_DVR_SLAVECAMERA_COND | NET_DVR_MANUAL_TRACKRATIO | 3617

See Also

NET_DVR_SetSTDConfig NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Get device configuration information

BOOL NET_DVR_GetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configure input and output parameters, for details see "Remarks"

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

When configuring parameters, the lpOutBuffer in lpConfigParam is invalid, set as NULL. For different configuration functions (dwCommand), the lpCondBuffer and lpInBuffer in lpConfigParam correspond to different contents. See details in the following table:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_SECURITY_QUESTION_CFG | Get device security question | NULL | NET_DVR_SECURITY_QUESTION_CFG | 4365

See Also

NET_DVR_SetSTDConfig NET_DVR_Login_V40


NET_DVR_GetUploadState

Get file uploading progress and status

LONG NET_DVR_GetUploadState(
  LONG       lUploadHandle,
  LPDWORD    pProgress
);

Parameters

lUploadHandle
[in] Handle of file uploading, the return value of NET_DVR_UploadFile_V40 or NET_DVR_UploadFile.
pProgress
[out] The returned progress value

Return Values

-1 indicates failure, other value indicate the uploading status: 1- Successfully uploaded; 2- Uploading now, 3- Uploading failed, 4-Network disconnected, unknown status; 6-HDD error; 7-No Interrogation file; 8-No enough space; 9-No enough device resource; 10-The file No. exceeds 40 NET_DVR_GetLastError.

See Also

NET_DVR_UploadFile_V40


NET_DVR_InitDDrawDevice

This API is used to initialize display device of system.

BOOL NET_DVR_InitDDrawDevice(
);

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This interface is invalid when playCtrl.dll version is higher than 6.1.

See Also

NET_DVR_ReleaseDDrawDevice


NET_DVR_InquestDeleteFile

This API is used to delete inquest file.

BOOL NET_DVR_InquestDeleteFile(
  LONG                      lUserID,
  LPNET_DVR_INQUEST_FILES   lpDeleteFile
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpDeleteFile
[in] Pointer of inquest file to be deleted

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

We can get information of the file by calling NET_DVR_InquestFindFile and NET_DVR_InquestFindNextFile.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestDeleteFile_V30


NET_DVR_InquestFindFile

This API is used to search inquest file.

LONG NET_DVR_InquestFindFile(
  LONG   lUserID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Return -1 if it is failed , and other return values could be used as parameter of NET_DVR_InquestFindNextFile. Please call NET_DVR_GetLastError to get the error code.

Remarks

After calling it successfully, we can call NET_DVR_FindNextFile to get file information.

See Also

NET_DVR_InquestFindNextFile NET_DVR_InquestFindClose
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestFindFile_V30


NET_DVR_InquestGetCDWState

This API is used to get status of CDW.

BOOL NET_DVR_InquestGetCDWState(
  LONG                            lUserID,
  LPNET_DVR_INQUEST_CDRW_STATUS   pStatus
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pStatus
[out] Message of CDW status

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestGetCDWState_V30


NET_DVR_InquestGetPIPStatus

This API is used to get status of picture in picture.

BOOL NET_DVR_InquestGetPIPStatus(
  LONG                           lUserID,
  LPNET_DVR_INQUEST_PIP_STATUS   pStatus
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pStatus
[out] Structure of picture in picture status

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestSetPIPStatus
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestGetPIPStatus_V30


NET_DVR_InquestSetPIPStatus

This API is used to set status of picture in picture.

BOOL NET_DVR_InquestSetPIPStatus(
  LONG                           lUserID,
  LPNET_DVR_INQUEST_PIP_STATUS   pStatus
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
pStatus
[in] Structure of picture-in-picture status

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestGetPIPStatus
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestSetPIPStatus_V30


NET_DVR_InquestStartCDW

This API is used to start burning CD during inquest.

BOOL NET_DVR_InquestStartCDW(
  LONG   lUserID,
  BOOL   bPause
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
bPause
[in] Whether to pause(reserved)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestStopCDW
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestStartCDW_V30


NET_DVR_InquestStopCDW

This API is used to stop burning CD during inquest.

BOOL NET_DVR_InquestStopCDW(
  LONG   lUserID,
  BOOL   bCancelWrite
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
bCancelWrite
[in] TRUE- not finalize CDW, FALSE- finalize CDW

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestStartCDW
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestStopCDW_V30


NET_DVR_InquestUploadFile

This API is used to upload inquest file to device.

LONG NET_DVR_InquestUploadFile(
  LONG   lUserID,
  char   *sFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
sFileName
[in] File name to be uploaded, the size is 128 bytes max, and 32bytes min

Return Values

Return -1 if it is failed, and other value set to be parameter of NET_DVR_InquestUploadClose. NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_InquestUploadClose
NET_DVR_InquestGetUploadState
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_InquestUploadFile_V30


NET_DVR_Login

This API is used to login user to the device.

LONG NET_DVR_Login(
  char                   *sDVRIP,
  WORD                   wDVRPort,
  char                   *sUserName,
  char                   *sPassword,
  LPNET_DVR_DEVICEINFO   lpDeviceInfo
);

Parameters

sDVRIP
[in] IP address of the device
wServerPort
[in] Port number of the device
sUserName
[in] User's name
sPassword
[in] Password
lpDeviceInfo
[out] Information of device

Return Values

Return -1 if it is failed, and other value is the value of returned user ID. The user ID is unique, and next operations should be realized through this ID.

Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_MAX_USERNUM | 52 | The number of login user has reached the maximum limit.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

It supports 32 different user names for DS7116, DS81xx, DS90xx and DS91xx series devices, and 128 users login at the same time. Other devices support 16 different user names and 128 users login at the same time.

See Also

NET_DVR_Logout

Reference Interface

NET_DVR_Login_V30


NET_DVR_Login_V30

This API is used to login user to the device.

LONG NET_DVR_Login_V30(
  char                       *sDVRIP,
  WORD                       wDVRPort,
  char                       *sUserName,
  char                       *sPassword,
  LPNET_DVR_DEVICEINFO_V30   lpDeviceInfo
);

Parameters

sDVRIP
[in] IP address or static domain name of the device, the count of the characters should not more than 128
wServerPort
[in] Port NO. of the device
sUserName
[in] User's name
sPassword
[in] Password
lpDeviceInfo
[out] Information of device

Return Values

Return -1 if it is failed, and other value is the value of returned user ID. The user ID is unique, and next operations should be realized through this ID.

Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_MAX_NUM | 46 | The number of login or preview connections has exceeded the SDK limitation.
NET_DVR_MAX_USERNUM | 52 | The number of login user has reached the maximum limit.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

sDVRIP supports IP address or domain name, e.g. sDVRIP= "192.0.0.64" or sDVRIP= "test.vicp.net".

It supports 32 different user names for DS7116, DS81xx, DS90xx and DS91xx series devices, and 128 users login at the same time. Other devices support 16 different user names and 128 users login at the same time.

SDK supports the count of login at the same time is 2048, the value of UserID ranges from 0 to 2047.

See Also

NET_DVR_Logout_V30

Reference Interface

NET_DVR_Login


NET_DVR_Logout_V30

This API is used to logout certain user.

BOOL NET_DVR_Logout_V30(
  LONG    lUserID
);

Parameters

lUserID
[in] User's ID, the return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

The interface forces the user stopping all operation and releases all resource relatively. Please make sure the thread corresponding to the ID has exited safely.

See Also

NET_DVR_Login_V30

Reference Interface

NET_DVR_Logout


NET_DVR_ManualSnap

This API is used to realize manual triggering capture of intelligent traffic camera.

BOOL NET_DVR_ManualSnap(
  LONG                      lUserID,
  LPNET_DVR_MANUALSNAP      lpInter,
  LPNET_DVR_PLATE_RESULT    lpOuter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpInter
[in] Manual capture parameter structure, reserved
lpOuter
[out] Vehicle test result parameter of intelligent traffic camera

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetCodeSplitter

This API is used to get code splitter configuration parameters.

BOOL NET_DVR_MatrixGetCodeSplitter(
  LONG                           lUserID,
  DWORD                          dwCodeChan,
  LPNET_DVR_CODESPLITTERINFO     lpInter
);

Parameters

lUserID
[in] The return value of login encoding sub system
dwCodeChan
[in] Sub system encoding channel number
lpInter
[out] Code splitter configuration parameters

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixSetCodeSplitter NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetDecChanInfo

This API is used to get current decode channel information.

BOOL NET_DVR_MatrixGetDecChanInfo(
  LONG                             lUserID,
  DWORD                            dwDecChanNum,
  LPNET_DVR_MATRIX_DEC_CHAN_INFO   lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpInter
[out] Decode channel information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetDecChanInfo_V30

This API is used to get current decode channel information.

BOOL NET_DVR_MatrixGetDecChanInfo_V30(
  LONG                                 lUserID,
  DWORD                                dwDecChanNum,
  LPNET_DVR_MATRIX_DEC_CHAN_INFO_V30   lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpInter
[out] Decode channel information

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_MatrixGetDecChanInfo_V41


NET_DVR_MatrixGetDeviceStatus

This API is used to get device status of multi-channel decoder.

BOOL NET_DVR_MatrixGetDeviceStatus(
  LONG                             lUserID,
  LPNET_DVR_DECODER_WORK_STATUS    lpDecoderCfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpDecoderCfg
[out] Device status parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_MatrixGetDeviceStatus_V41


NET_DVR_MatrixGetDisplayCfg

This API is used to get display channel configuration of multi-channel decoder.

BOOL NET_DVR_MatrixGetDisplayCfg(
  LONG                           lUserID,
  LONG                           dwDispChanNum,
  LPNET_DVR_VGA_DISP_CHAN_CFG    lpDisplayCfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDispChanNum
[in] Display channel. 1-8: VGA output; 9-24: BNC output; 25-28: HDMI output; 29-32: DVI output
lpDisplayCfg
[out] Display channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MatrixSetDisplayCfg

Reference Interface

NET_DVR_MatrixGetDisplayCfg_V41


NET_DVR_MatrixGetLoopDecChanInfo

This API is used to get loop decode channel parameter.

BOOL NET_DVR_MatrixGetLoopDecChanInfo(
  LONG                            lUserID,
  DWORD                           dwDecChanNum,
  LPNET_DVR_MATRIX_LOOP_DECINFO   lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpInter
[out] Loop decode channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to set loop decode parameter of one decode channel in multi-channel decoder, and every decode channel can connect to 16 front-end channels for loop decode. We can set the loop cycle. After set successfully, if the start flag of connection information is enabled, that the channel go into loop status and start loop decoding; if disabled, then not start loop decoding. We can use with the decode loop switch API to achieve the loop decode control, details refer to the part of getting decode loop switch.

See Also

NET_DVR_MatrixSetLoopDecChanInfo


NET_DVR_MatrixGetLoopDecChanInfo_V30

This API is used to get loop decode channel parameter.

BOOL NET_DVR_MatrixGetLoopDecChanInfo_V30(
  LONG                                lUserID,
  DWORD                               dwDecChanNum,
  LPNET_DVR_MATRIX_LOOP_DECINFO_V30   lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpInter
[out] Loop decoding channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to set loop decode parameter of one decode channel in multi-channel decoder, and every decode channel can connect to 16 front-end channels for loop decode. We can set the loop cycle. After set successfully, if the start flag of connection information is enabled, that the channel go into loop status and start loop decoding; if disabled, then not start loop decoding. We can use with the decode loop switch API to achieve the loop decode control, details refer to the part of getting decode loop switch.

See Also

NET_DVR_MatrixSetLoopDecChanInfo_V30

Reference Interface

NET_DVR_MatrixGetLoopDecChanInfo_V41


NET_DVR_MatrixGetSubSystemInfo

This API is used to get all sub system parameters of video integrated platform.

BOOL NET_DVR_MatrixGetSubSystemInfo(
  LONG                          lUserID,
  LPNET_DVR_ALLSUBSYSTEMINFO    lpInter
);

Parameters

lUserID
[in] The return value of logging in the central main control board
lpInter
[out] Sub system parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This section only describes part of the new interfaces of video integrated platform, and for the decode part, please refer introduction of multi-channel decoder.

See Also

NET_DVR_MatrixSetSubSystemInfo NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixGetTranInfo

This API is used to get transparent channel information.

BOOL NET_DVR_MatrixGetTranInfo(
  LONG                                 lUserID,
  LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG    lpTranInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpTranInfo
[out] Transparent channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Here transparent channel configuration is to build network transparent channel between the decoder and the front-end device, not between client and the decoder. Because most multi-channel decoders don't support building 232/485 transparent channel between with the PC client, local serial port can only be the access port of the serial console (via RS 232) or device like control keyboard (via RS232/RS485).

Notes: Currently, one multi-channel decoder supports 64 transparent channels at most, including 232 and 485 transparent channels. It supports only one 232 full-duplex transparent channel and one 485 full-duplex transparent channel, and it supports not to set full-duple transparent channel.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MatrixSetTranInfo

Reference Interface

NET_DVR_MatrixGetTranInfo_V30


NET_DVR_MatrixSetCodeSplitter

This API is used to configure code splitter.

BOOL NET_DVR_MatrixSetCodeSplitter(
  LONG                           lUserID,
  DWORD                          dwDecChanNum,
  LPNET_DVR_CODESPLITTERINFO     lpInter
);

Parameters

lUserID
[in] The return value of login encoding sub system
dwCodeChan
[in] Encoding channel number of sub system
lpInter
[in] Code splitter configuration parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixGetCodeSplitter NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixSetDisplayCfg

This API is used to set display channel configuration of multi-channel decoder.

BOOL NET_DVR_MatrixSetDisplayCfg(
  LONG                           lUserID,
  LONG                           dwDispChanNum,
  LPNET_DVR_VGA_DISP_CHAN_CFG    lpDisplayCfg
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDispChanNum
[in] Display channel, 1-8: VGA output; 9-24: BNC output; 25-28: HDMI output; 29-32: DVI output
lpDisplayCfg
[in] Display channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

For DS6401HD, it supports only to display on one channel of the four display channels, VGA, BNC, HDMI and DVI. The display channel set at last takes effect.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MatrixGetDisplayCfg

Reference Interface

NET_DVR_MatrixSetDisplayCfg_V41


NET_DVR_MatrixSetLoopDecChanInfo

This API is used to get loop decode channel parameter.

BOOL NET_DVR_MatrixSetLoopDecChanInfo(
  LONG                            lUserID,
  DWORD                           dwDecChanNum,
  LPNET_DVR_MATRIX_LOOP_DECINFO   lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpInter
[in] Loop decode channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code

Remarks

It is used to set loop decode parameter of one decode channel in mulit-channel decoder, and every decode channel can connect to 16 front-end channels for loop decode. We can set the loop cycle. After set successfully, if the start flag of connection information is enabled, that the channel go into loop status and start loop decoding; if disabled, then not start loop decoding. We can use with the decode loop switch API to achieve the loop decode control, details refer to the part of getting decode loop switch.

See Also

NET_DVR_MatrixGetLoopDecChanInfo


NET_DVR_MatrixSetLoopDecChanInfo_V30

This API is used to configure loop decode channel.

BOOL NET_DVR_MatrixSetLoopDecChanInfo_V30(
  LONG                                lUserID,
  DWORD                               dwDecChanNum,
  LPNET_DVR_MATRIX_LOOP_DECINFO_V30   lpInter
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpInter
[in] Loop decode channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to set loop decode parameter of one decode channel in multi-channel decoder, and every decode channel can connect to 16 front-end channels for loop decode. We can set the loop cycle. After set successfully, if the start flag of connection information is enabled, that the channel go into loop status and start loop decoding; if disabled, then not start loop decoding. We can use with the decode loop switch API to achieve the loop decode control, details refer to the part of getting decode loop switch.

See Also

NET_DVR_MatrixGetLoopDecChanInfo_V30

Reference Interface

NET_DVR_MatrixSetLoopDecChanInfo_V41


NET_DVR_MatrixSetSubSystemInfo

This API is used to set inner key word.

BOOL NET_DVR_MatrixSetSubSystemInfo(
  LONG                          lUserID,
  LPNET_DVR_ALLSUBSYSTEMINFO    lpInter
);

Parameters

lUserID
[in] The return value of logging in central main control board
lpInter
[in] Sub system parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_MatrixGetSubSystemInfo NET_DVR_Login NET_DVR_Login_V30


NET_DVR_MatrixSetTranInfo

This API is used to set transparent channel information.

BOOL NET_DVR_MatrixSetTranInfo(
  LONG                                 lUserID,
  LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG    lpTranInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpTranInfo
[in] Transparent channel parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Here transparent channel configuration is to build network transparent channel between the decoder and the front-end device, not between client and the decoder. Because most multi-channel decoders don't support building 232/485 transparent channel between with the PC client, local serial port can only be the access port of the serial console (via RS 232) or device like control keyboard (via RS232/RS485).

Notes: Currently, one multi-channel decoder supports 64 transparent channels at most, including 232 and 485 transparent channels. It supports only one 232 full-duplex transparent channel and one 485 full-duplex transparent channel, and it supports not to set full-duple transparent channel.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_MatrixGetTranInfo


NET_DVR_MatrixStartDynamic

This API is used to start dynamic decode.

BOOL NET_DVR_MatrixStartDynamic(
  LONG                            lUserID,
  DWORD                           dwDecChanNum,
  LPNET_DVR_MATRIX_DYNAMIC_DEC    lpDynamicInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decode channel
lpDynamicInfo
[in] Dynamic decode parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to connect one decode channel of multi-channel decoder to one channel of front-end device, and continue to decode until call the stop interface or set decode switch off. If decoding interruption is caused by network interrupted during the decoding process, the multi-channel decoder will automatically re-connect to the front device, till the connection is successful or the stop interface is called. During re-connecting, the decode channel is in the black state.

See Also

NET_DVR_MatrixStopDynamic


NET_DVR_MatrixStartDynamic_V30

This API is used to start dynamic decoding.

BOOL NET_DVR_MatrixStartDynamic_V30(
  LONG                      lUserID,
  DWORD                     dwDecChanNum,
  LPNET_DVR_PU_STREAM_CFG   lpDynamicInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwDecChanNum
[in] Decoding channel, or it is window number for DS-6400HD-S
lpDynamicInfo
[in] Dynamic decoding parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

It is used to connect one decode channel of multi-channel decoder to one channel of front-end device, and continue to decode until call the stop interface or set decode switch off. If decoding interruption is caused by network interrupted during the decoding process, the multi-channel decoder will automatically re-connect to the front device, till the connection is successful or the stop interface is called. During re-connecting, the decode channel is in the black state.

See Also

NET_DVR_MatrixStopDynamic

Reference Interface

NET_DVR_MatrixStartDynamic_V41


NET_DVR_PlayBackByTime

This API is used to playback by time.

LONG NET_DVR_PlayBackByTime(
  LONG              lUserID,
  LONG              lChannel,
  LPNET_DVR_TIME    lpStartTime,
  LPNET_DVR_TIME    lpStopTime,
  HWND              hWnd
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpStartTime
[in] Start time of file
lpStopTime
[in] Finish time of file
hWnd
[in] Handle of playback window. If set to NULL, SDK can still receive stream data, but not decode and display.

Return Values

Return -1 if it is failed, and other values could be used as parameter of NET_DVR_StopPlayBack. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_OVER_MAXLINK | 5 | The number of clients connected to the device has exceeded the max limit.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSPECFILE | 33 | There is no selected file for playback.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_LOADPLAYERSDKFAILED | 64 | Failed to load the player SDK.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKFAILED | 66 | Failed to load the library file-"DsSdk".
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

This interface assigns the current record file to play. After calling the interface successfully, it needs to call the interface NET_DVR_PlayBackControl with the command NET_DVR_PLAYSTART to start playback.

When the record files to playback are searched by event, for each file has pre-record and delay part, please extend end time and ahead start time. Recommended value:up to 10 minutes, at least 5 seconds.

After calling the interface successfully, you can register callback function by calling NET_DVR_SetPlayDataCallBack, capture the stream data and handle by yourself.

In Linux system

For v4.1 SDK or above version,HWND means the handle of playing window, defined as below:
typedef unsigned int HWND;

If you use the Qt interface development, here take an example:

NET_DVR_CLIENTINFO tmpclientinfo;
tmpclientinfo.hPlayWnd = (HWND)m_framePlayWnd->GetPlayWndId();

For the SDK under v4.1, HWND is defined as below:

typedef struct __PLAYRECT
{
int x; //X axis coordinate of the display region’s upper left corner
int y; //Y axis coordinate of the display region’s upper left corner
int uWidth; //Width of the display region
int uHeight; //Height of the display region
}PLAYRECT;
typedef PLAYRECT HWND;

For the structure NET_DVR_CLIENTINFO, if hPlayWnd = {0}, SDK can still get stream but not decode and display, so it is able to record on the client end. It is not able to set hPlayWnd = 0(that is, NULL), or it will result to crumble when calling hPlayWnd.x.

See Also

NET_DVR_PlayBackControl NET_DVR_StopPlayBack NET_DVR_SetPlayDataCallBack
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_PlayBackByTime_V40


NET_DVR_PlayBackControl

This API is used to control playback status.

BOOL NET_DVR_PlayBackControl(
  LONG     lPlayHandle,
  DWORD    dwInValue,
  DWORD    *lpOutValue
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime
PUSH MODE: playback handle(lStreamHandle), output parameter in the callback function set by NET_DVR_SetPlaybackResponseCallBack
dwControlCode
[in] Commands to control playback:
Macro Definition | Macro Definition value | Implication
NET_DVR_PLAYSTART | 1 | Start playing
NET_DVR_PLAYPAUSE | 3 | Stop playing
NET_DVR_PLAYRESTART | 4 | Resume
NET_DVR_PLAYFAST | 5 | Fast
NET_DVR_PLAYSLOW | 6 | Slow
NET_DVR_PLAYNORMAL | 7 | Normal speed
NET_DVR_PLAYFRAME | 8 | Play frame one by one (using the command NET_DVR_PLAYNORMAL to resume normal playback)
NET_DVR_PLAYSTARTAUDIOTAUDIO | 9 | Open sound
NET_DVR_PLAYSTOPAUDIO | 10 | Close sound
NET_DVR_PLAYAUDIOVOLUME | 11 | Adjust the volume
NET_DVR_PLAYSETPOS | 12 | Change the progress of playback by file
NET_DVR_PLAYGETPOS | 13 | Get the progress of playback by file
NET_DVR_PLAYGETTIME | 14 | Get current played time (valid when playing back by file)
NET_DVR_PLAYGETFRAMETFRAME | 15 | Get current played frames (valid when playing back by file)
NET_DVR_GETTOTALFRAMESFRAMES | 16 | Get current total frames (valid when playing back by file)
NET_DVR_GETTOTALTIMEALTIME | 17 | Get current total time (valid when playing back by file)
NET_DVR_THROWBFRAMEBFRAME | 20 | Throw B frame
dwInValuenValue
[in] Configuring parameters. When the command is NET_DVR_PLAYSETPOS, it is used to configure progress of file playback, and the parameter means progress value; when the command is NET_DVR_PLAYSTART, the parameter means the offset to play (Byte).
lpOutValue
[out] Obtained parameter. E.g. to get total time of current playing file (when command is NET_DVR_GETTOTALTIME), the parameter means total time.

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_OVER_MAXLINK | 5 | The number of clients connected to the device has exceeded the max limit.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_NOSPECFILE | 33 | There is no selected file for playback.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_LOADPLAYERSDKFAILED | 64 | Failed to load the player SDK.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKFAILED | 66 | Failed to load the library file-"DsSdk".
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

Whether the third parameter of this interface need to input value has affairs with the control commands, details refer to the following table. Specially, when control command is starting play(NET_DVR_PLAYSTART), the third parameter value means offset value of current played file, if this value is 0 means play from the file start location, if this value isn't 0 means HTTP file location(Byte).
The forth parameter of this interface means current control command Obtained corresponding parameter, NET_DVR_PLAYGETPOS,NET_DVR_PLAYGETTIME,NET_DVR_PLAYGETFRAME,NET_DVR_GETTOTALFRAMES and NET_DVR_GETTOTALTIME of control commands can all Get corresponding values through this parameter, details refer to the following table. When command value is NET_DVR_PLAYGETPOS, Get file playback or download progress, 0-100 means progress value is normal, value larger than 100 means playback or download is abnormal.
Status command Macro Definition | Status command caption | dwInValue | lpOutValue
NET_DVR_PLAYSTART | Start playing | A 64-bit integer offset | None
NET_DVR_PLAYSETPOS | Change playback progress | A 64-bit integer progress(0-100) | None
NET_DVR_PLAYGETPOS | Get playback progress | None | A 64-bit integer progress(0-100)
NET_DVR_PLAYGETTIMEETTIME | Get currently played time(valid when playing back by file) | None | A 64-bit integer
NET_DVR_PLAYGETFRAME | Get currently played frames(valid when playing back by file) | None | A 64-bit integer
NET_DVR_GETTOTALFRAMES | Get total frames of current playing file(valid when playing back by file) | None | A 64-bit integer
NET_DVR_GETTOTALTIME | Get total time of current playing file (valid when playing back by file) | None | A 64-bit integer

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime

NET_DVR_SetPlaybackResponseCallBack

Reference Interface

NET_DVR_PlayBackControl_V40


NET_DVR_PlayBackControl

This API is used to control download status.

BOOL NET_DVR_PlayBackControl(
  LONG     lPlayHandle,
  DWORD    dwControlCode,
  DWORD    dwInValue,
  DWORD    *lpOutValue
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime
dwControlCode
[in] Control video download status commands:
Macro Definition | Macro Definition value | Implication
NET_DVR_PLAYSTART | 1 | Start downloading
NET_DVR_PLAYPAUSE | 3 | Pause
NET_DVR_PLAYRESTART | 4 | Resume
NET_DVR_PLAYSETPOS | 12 | Change the progress of the file download (valid when downloading by file)
NET_DVR_PLAYGETPOS | 13 | Get the progress of the file download (valid when downloading by file)
NET_DVR_GETTOTALFRAMES | 16 | Get the total number of frames of the file downloaded currently(valid when downloading by filename)
NET_DVR_GETTOTALTIME | 17 | Get the total time of the file downloaded currently(valid when downloading by filename)
s
dwInValue
[in] Configure parameter. When setting file download progress(command value NET_DVR_PLAYSETPOS), this parameter means progress value; when start downloading(NET_DVR_PLAYSTART), this parameter means location offset (Byte).
lpOutValue
[out] Obtained parameters, such as get total time of current downloading file (command value NET_DVR_GETTOTALTIME), this parameter is obtained total time.

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Whether the third parameter of this interface need to input value has affairs with the control commands, this parameter means download progress in NET_DVR_PLAYSETPOS command; when control command is starting download(NET_DVR_PLAYSTART), value of the third parameter means offset of downloading current file, if this value if 0 means downloading from file start location, if this value isn't 0 means offset value (Bytes) (currently only DS-90xx and DS-81xx DVRs support the offset function).

The forth parameter of this interface means corresponding parameter obtained by current control command. The control commands, NET_DVR_PLAYGETPOS, NET_DVR_GETTOTALFRAMES and NET_DVR_GETTOTALTIME, can get the corresponding value by this parameter.

Progress value ranges from 0 to 100. when getting file download progress, 0-100 mean normal progress value, and value larger than 100 means playback or download is abnormal.

See Also

NET_DVR_GetFileByName NET_DVR_GetFileByTime

Reference Interface

NET_DVR_PlayBackControl_V40


NET_DVR_PTZControl_EX

This API is used to control PTZ (need start preview at first). It send commands through preview connection (performs better than NET_DVR_PTZControl, yet it does not support live view in RTSP mode).

BOOL NET_DVR_PTZControl_EX(
  LONG     lRealHandle,
  DWORD    dwPTZCommand,
  DWORD    dwStop
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwPTZCommand
[in] PTZ control commands, as follows:
Macro Definition | Macro Definition value | Implication
LIGHT_PWRON | 2 | Connect lighting power
WIPER_PWRON | 3 | Turn on wiper switch
FAN_PWRON | 4 | Turn on fan switch
HEATER_PWRON | 5 | Turn on heater switch
AUX_PWRON1 | 6 | Turn on auxiliary device switch
AUX_PWRON2 | 7 | Turn on auxiliary device switch
ZOOM_IN | 11 | Focal distance enlarge(Magnification enlarge)
ZOOM_OUT | 12 | Focal distance decrease(Magnification decrease)
FOCUS_NEAR | 13 | Focus front
FOCUS_FAR | 14 | Focus Back
IRIS_OPEN | 15 | Aperture enlarge
IRIS_CLOSE | 16 | Aperture narrow
TILT_UP | 21 | PTZ tilt up
TILT_DOWN | 22 | PTZ tilt down
PAN_LEFT | 23 | PTZ turns left
PAN_RIGHT | 24 | PTZ turns right
UP_LEFT | 25 | PTZ turns up and left
UP_RIGHT | 26 | PTZ turns up and right
DOWN_LEFT | 27 | PTZ turns down and left
DOWN_RIGHT | 28 | PTZ turns down and right
PAN_AUTO | 29 | PTZ scans left and right automatically
dwStop
[in] PTZ stop or start operation: 0-start, 1-stop

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every movement of operating PTZ needs to call the interface twice: start and stop control, decided by the last parameter(dwStop) in the interface.

It needs to start preview before calling this interface. Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, this interface can't be called to control PTZ.

Default: PTZ turns around at the maximum speed.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_PTZCruise_EX

This API is used to control PTZ cruise (need to start preview at first). It send commands through preview connection(better than NET_DVR_PTZPreset, RTSP preview doesn't support this function).

BOOL NET_DVR_PTZCruise_EX(
LONG   lRealHandle,
DWORD  dwPTZCruiseCmd,
BYTE  byCruiseRoute,
BYTE  byCruisePoint,
WORD  wInput
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwPTZCruiseCmd
[in] Control PTZ patrol commands:
Macro Definition | Value | Implication
FILL_PRE_SEQ | 30 | Add preset to the cruise sequence
SET_SEQ_DWELL | 31 | Set dwell time of the cruise point
SET_SEQ_SPEED | 32 | Set cruise speed
CLE_PRE_SEQ | 33 | Delete preset point from cruise sequence
RUN_SEQ | 37 | Start cruise
STOP_SEQ | 38 | Stop cruise
byCruiseRoute
[in] The number of cruise route, it supports maximum 32 routes, the number starts from 1
byCruisePoint
[in] The number of preset, it supports maximum 32 presets, the number starts from 1
wInput
[in] The value is different for different commands, preset(maximum is 128), dwell time (maximum is 255), speed (maximum is 40)

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, this interface can't be called to control PTZ.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_PTZPreset_EX

This API is used to control PTZ preset (need to start preview at first). It sends commands through preview connection (better than NET_DVR_PTZPreset, RTSP preview doesn't support this function).

BOOL NET_DVR_PTZPreset_EX(
  LONG     lRealHandle,
  DWORD    dwPTZPresetCmd,
  DWORD    dwPresetIndex
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwPTZPresetCmd
[in] Control PTZ preset point commands:
Macro Definition | Value | Implication
SET_PRESET | 8 | Set preset point
CLE_PRESET | 9 | Clear preset point
GOTO_PRESET | 39 | Goto preset point
dwPresetIndex
[in] The number of preset, it supports max 255 presets, the number starts from 1

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, this interface can't be called to control PTZ.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_PTZTrack_EX

This API is used to realize PTZ trace operation (need to start preview at first). It sends commands through preview connection (better than NET_DVR_PTZTrack, RTSP preview doesn't support this function).

BOOL NET_DVR_PTZTrack_EX(
  LONG     lRealHandle,
  DWORD    dwPTZTrackCmd
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwPTZTrackCmd
[in] Control PTZ trace commands:
Macro Definition | Value | Implication
STA_MEM_CRUISE | 34 | Start recording trace
STO_MEM_CRUISE | 35 | Stop recording trace
RUN_CRUISE | 36 | Start trace

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Every operation command corresponds to the control code between the device and the PTZ, and the device will send control code to PTZ based on the current decoder type and address.

If decoder configuration of the current device doesn't match the PTZ device, it needs to re-configure the decoder parameter. If the PTZ doesn't support the parameter, this interface can't be called to control PTZ.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_RealPlay

This API is used to realize real-time preview.

LONG NET_DVR_RealPlay(
  LONG                   lUserID,
  LPNET_DVR_CLIENTINFO   lpClientInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpClientInfo
[in] Preview parameter

Return Values

-1 means false, and other values could be used as the handle of functions like NET_DVR_StopRealPlay. Please call NET_DVR_GetLastError to get the error code.

Remarks

After calling this interface successfully, if you want to capture real time stream data, please call interface NET_DVR_SetRealDataCallBack or NET_DVR_SetStandardDataCallBack to register the callback function of capturing data stream, and you can handle the obtained data by yourself in the callback function.

See Also

NET_DVR_StopRealPlay NET_DVR_GetRealPlayerIndex NET_DVR_ClientSetVideoEffect
NET_DVR_ClientGetVideoEffect NET_DVR_RigisterDrawFun NET_DVR_SetPlayerBufNumber
NET_DVR_ThrowBFrame NET_DVR_OpenSound NET_DVR_OpenSoundShare
NET_DVR_CloseSoundShare NET_DVR_Volume NET_DVR_SetRealDataCallBack
NET_DVR_SetStandardDataCallBack NET_DVR_SaveRealData NET_DVR_StopSaveRealData

Reference Interface

NET_DVR_RealPlay_V30


NET_DVR_RealPlay_V30

This API is used to realize real-time preview.

LONG NET_DVR_RealPlay_V30(
  LONG                     lUserID,
  LPNET_DVR_CLIENTINFO     lpClientInfo,
  fRealDataCallBack_V30    cbRealDataCallBack,
  void                     *pUser,
  BOOL                     bBlocked
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpClientInfo
[in] Preview parameter
cbRealDataCallBack
[in] Data stream callback function
pUser
[in] User data
bBlocked
[in] Whether to set data stream requesting process blocked or not: 0-no, 1-yes

Callback Function

typedef void(CALLBACK *fRealDataCallBack_V30)(
  LONG      lRealHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  void      *pUser
);

Callback Function Parameters

lRealHandle
Current preview handle
dwDataType
Data type
Macro Definition | Value | Implication
NET_DVR_SYSHEAD | 1 | System head data
NET_DVR_STREAMDATA | 2 | Stream data (include video and audio stream, or only the video data of stream that video and audio is separate)
NET_DVR_AUDIOSTREAMDATA | 3 | Audio data
NET_DVR_PRIVATE_DATA | 112 | Private data, including intelligent information
pBuffer
Buffer pointer for saving data
dwBufSize
Buffer size
pUser
User data

Return Values

-1 means false, and other values could be used as handle of interface like NET_DVR_StopRealPlay. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_PASSWORD_ERROR | 1 | User name or password error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_OVER_MAXLINK | 5 | The number of clients connected to the device has exceeded the max limit.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_COMMANDTIMEOUT | 14 | Executing command on the device is timeout.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_LOADPLAYERSDKFAILED | 64 | Failed to load the player SDK.
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | Can not find the function in player SDK.
NET_DVR_LOADDSSDKFAILED | 66 | Failed to load the library file "DsSdk".
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_IPCHAN_NOTALIVE | 83 | IP channel is not on-line when previewing.
NET_DVR_RTSP_SDK_ERROR | 84 | Load StreamTransClient.dll failed.
NET_DVR_CONVERT_SDK_ERROR | 85 | Load SystemTransform.dll failed.

Remarks

This API is used to realize live view. It supports to set current operation to be blocked or not (by the parameter: bBlocked). If set to be unblocked, it means it will think the connection is successful when start to connect with the device. If failed to receive stream and play, it will notify the upper layer by preview exception mode. And it can reduce dwell time of loop play, the same to NET_DVR_RealPlay. If set to be blocked, it means it will return whether successful or not after playing operation.

The callback function of this API can be set to NULL, and it will not callback the stream data to user. And then user can call NET_DVR_SetRealDataCallBack or NET_DVR_SetStandardDataCallBack to register callback function to capture stream data.

If the client off-line, the device will keep the stream connection 10s. If over 10s, SDK will connect again to resume live view.

See Also

NET_DVR_StopRealPlay NET_DVR_GetRealPlayerIndex NET_DVR_ClientSetVideoEffect
NET_DVR_ClientGetVideoEffect NET_DVR_RigisterDrawFun NET_DVR_SetPlayerBufNumber
NET_DVR_ThrowBFrame NET_DVR_OpenSound NET_DVR_OpenSoundShare
NET_DVR_CloseSoundShare NET_DVR_Volume NET_DVR_SetRealDataCallBack
NET_DVR_SetStandardDataCallBack NET_DVR_SaveRealData NET_DVR_StopSaveRealData

Reference Interface

NET_DVR_RealPlay


NET_DVR_ReleaseDDrawDevice

This API is used to release resource occupied by the display device.

BOOL NET_DVR_ReleaseDDrawDevice(
);

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This interface is invalid when playCtrl.dll version is higher than 6.1.

See Also

NET_DVR_InitDDrawDevice


NET_DVR_RemoteControl

Remote control

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] Return values of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Control command, see the list for details
lpInBuffer
[in] Input parameters,relate to the control command, see the list for details
dwInBufferSize
[in] Input buffer size

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Different control function has different command, meanwhile lpInBuffer cooresponds different structures，shown as follows：

defined dwCommand | defined value | control function | corresponding structure of lpInBuffer
NET_DVR_CLOSE_ALL_WND | 9016 | Close all windows of TV wall | NULL
NET_DVR_SWITCH_WIN_TOP | 9017 | Window top | 4 byte，window number
NET_DVR_SWITCH_WIN_BOTTOM | 9018 | Window bottom | 4 byte，window number
NET_DVR_DEC_PLAY_REMOTE_FILE | 9032 | Decoding and play the remote file | NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX

See Also

NET_DVR_Login_V30


NET_DVR_RemoteControl

This API is used for remote control.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details, please refer to the list below.
lpInBuffer
[in]Input parameters, for detailed contents (related to the control command), refer to the list below.
dwInBufferSize
[in] The size of input parameters

The lpInBuffer structures and command numbers are different according to the different control, and they are listed below:

dwCommand Macro Definition | Value | Function | lpInBuffer Corresponded Structure
NET_DVR_DPC_CTRL | 3410 | Dead Pixel Control | NET_DVR_DPC_PARAM

Return Values

Return TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError

Remarks

  • NET_DVR_DPC_CTRL is not compatible with the APINET_DVR_CorrectDeadPixel，it is supported by specific device
  • Check whether the device supported this function via the device capability set(CAMERAPARA)，API：NET_DVR_GetDeviceAbility，Capability set：IPC_FRONT_PARAMETER_V20，node：<DPCParam>.

See Also

NET_DVR_Login_V40


NET_DVR_RemoteControl

This API is used to remotely control the device.

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Control command, please refer to the list below
lpInBuffer
[in] Buffer that saves the input parameters, the content is related to the control command, details listed below
dwInBufferSize
[in] Size of the buffer (unit: byte)

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below:

dwCommand Macro Definition | dwCommand Value | Description | lpInBuffer Structure
NET_DVR_CONTROL_RESTORE_SUPPORT | 3311 | Remotely restore the default parameters of speed dome | NET_DVR_REMOTECONTROL_STUDY_PARAM
NET_DVR_CONTROL_RESTART_SUPPORT | 3312 | Remotely reboot the speed dome | NET_DVR_REMOTECONTROL_STUDY_PARAM
NET_DVR_COMPLETE_RESTORE_CTRL | 3420 | Set to restore to teh default settings. | NET_DVR_COMPLETE_RESTORE_INFO
NET_DVR_RESTART_SERVICE | 6213 | Restore the CVR server. | NULL

Return Values

Returns TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError

See Also

NET_DVR_Login_V30


NET_DVR_RemoteControl

Remote Control

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Command, refer to the list below
lpInBuffer
[in] Input parameters, the content is related to the control command
dwInBufferSize
[in] Input data length

The lpInBuffer structures and command numbers are different according to the different control, and they are listed as below.

dwCommand Macro Definition | Value | Control Function | lpInBuffer Structure
NET_DVR_RECORD_PASSBACK_TASK_MANUAL_CTRL | 6236 | Control the manually added recording passback task | NET_DVR_RECORD_PASSBACK_MANUAL_CTRL

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorfor error code.

See Also

NET_DVR_Login_V40


NET_DVR_RemoteControl

Remote Control

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Control Command, refer the following table for details.
lpInBuffer
[in] Input parameters
dwInBufferSize
[in] Length of the input parameters

The lpInBuffer structures and command numbers are different according to the different control：

dwCommand Macro Definition | Value | Description | lpInBuffer Structure
NET_DVR_PTZLIMIT_CTRL | 3278 | Limit parameters control | NET_DVR_PTZ_LIMITCTRL
NET_DVR_PTZLIMIT_CTRL | 3279 | Clear PTZ settings | NET_DVR_CLEARCTRL
NET_DVR_PTZ_INITIALPOSITIONCTRL | 3283 | Initialized position control | NET_DVR_INITIALPOSITIONCTRL
NET_DVR_PTZ_ZOOMRATIOCTRL | 3289 | Set tracking zoom | NET_DVR_ZOOMRATIOCTRL
NET_DVR_CONTROL_PTZ_PATTERN | 3313 | Speed dome PTZ pattern | NET_DVR_PTZ_PATTERN
NET_DVR_CONTROL_PTZ_MANUALTRACE | 3316 | Manual tracking and position | NET_DVR_PTZ_MANUALTRACE
NET_DVR_CLEAR_IPC_PARAM | 3230 | Clearing front-end device parameters | NET_DVR_IPC_PARAM_TYPE

Return Values

Return TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError

Remarks

See Also

NET_DVR_Login_V30


NET_DVR_RemoteControl

Remote control

BOOL NET_DVR_RemoteControl(
  LONG      lUserID,
  DWORD     dwCommand,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details see the list below
lpInBuffer
[in] Input parameter, for details see the list below
dwInBufferSize
[in] Input parameter length

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

Different control functions correspond to different command No., lpInBuffer corresponds to different structures, as shown below:

dwCommand Macro Definition | Value | Control Function | lpInBuffer Structure
NET_DVR_VEHICLE_DELINFO_CTRL | 3125 | Delete device blacklist database information | NET_DVR_VEHICLE_CONTROL_DELINFO
NET_DVR_BARRIERGATE_CTRL | 3128 | Remote control barrier gate | NET_DVR_BARRIERGATE_CFG
NET_DVR_GATELAMP_CTRL | 3129 | Constant light function | NET_DVR_GATELAMP_INFO
NET_DVR_SET_ITS_ENDEVCMD | 5087 | Set ITS terminal entrance control command (control card information application) | NET_DVR_ENTRANCEDEV_COMMAND
NET_DVR_SET_ENISSUED_DATADEL | 5088 | Set ITS terminal control command (clear applied card data) | NET_DVR_ENISSUED_DATADEL

See Also

NET_DVR_Login_V40


NET_DVR_SendRemoteConfig

Sending the remote connection data.

BOOL NET_DVR_SendRemoteConfig(
  LONG     lHandle,
  DWORD    dwDataType,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lHandle
[in] Handle, the return value of NET_DVR_StartRemoteConfig
dwDataType
[in] Data type, it is associated to the dwCommand parameter of NET_DVR_StartRemoteConfig, please see details in "Remarks"
pSendBuf
[in] Buffer of keep sending data, is associated to the dwDataType, please see details in "Remarks"
dwBufSize
[in] Buffer size

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorto get the error code.

Remarks

The data type(dwDataType) is different and the pSendBuf will corresponding to the different structure.Please see the list below:

dwCommand Macro Definition | Value | Implication |
NET_DVR_VEHICLE_CHECK_START | 3106 | Data backhaul of the blacklist check |
dwDataType Macro Definition | Value | Implication | pSendBuf Structure
ENUM_DVR_VEHICLE_CHECK | 1 | Check type of vehicle data in the blacklist | NET_DVR_VEHICLE_CHECK

Please get the handle of remote connection through NET_DVR_StartRemoteConfig before calling the API.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_SendRemoteConfig

Send remote configuration data

BOOL NET_DVR_SendRemoteConfig(
  LONG     lHandle,
  DWORD    dwDataType,
  char     *pSendBuf,
  DWORD    dwBufSize
);

Parameters

lHandle
[in] The handle of the remote configuration, the return value of NET_DVR_StartRemoteConfig
dwDataType
[in] Data type,related to the command of (dwCommand) of the interface NET_DVR_StartRemoteConfig
pSendBuf
[in] The buffer of saving the sending data, related to dwDataType
dwBufSize
[in] The length of the sending data

Return Values

TRUE represents that it is succeeded to return value, FALSE Represents that it is failed to return value. To get the error, callNET_DVR_GetLastError

Remarks

For different ata types of (dwDataType),pSendBuf corresponds to different structure.

dwCommand Macro Definition | Macro Definition Value | Description
NET_DVR_VEHICLE_CONTROL_LIST_START | 3123 | Remote configuration of vehicle black list and white list
dwDataType Macro Definition | Macro Definition Value | Description | pSendBuf related structure
DVR_VEHICLE_CONTROL_LIST | 0x1 | Send the vehicle black list and white list data | NET_DVR_VEHICLE_CONTROL_LIST_INFO
dwCommand Macro Definition | Macro Definition Value | Description
NET_DVR_VEHICLELIST_CTRL_START | 3133 | Configure the vehicle black list and white list ( on batch)
dwDataTypedw Macro Definition | Macro Definition Value | Description | pSendBuf related structure
ENUM_SENDDATA | 0x0 | Send vehicle black list and white list data | m*(the max value of m is 128) NET_DVR_VEHICLE_CONTROL_LIST_INFO

You need to call the NET_DVR_StartRemoteConfig to get the handle of remote configuration before calling this interface.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_SetConnectTime

This API is used to set network connection timeout and connection attempts.

BOOL NET_DVR_SetConnectTime(
  DWORD   dwWaitTime,
  DWORD   dwTryTimes
);

Parameters

dwWaitTime
[in] Timeout,ms,value range[300,75000],different with different system connect timeout
dwTryTimes
[in] connect attempts (reserved)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Default timeout of SDK to establish a connection is 3 seconds. Interface will not return failed when the set timeout value is greater or less than the limit, please take the nearest upper and lower limit value as the actual timeout.


NET_DVR_SetDDrawDevice

This API is used to set play window using Graphics.

BOOL NET_DVR_SetDDrawDevice(
  LONG     lPlayPort,
  DWORD    nDeviceNum
);

Parameters

lPlayPort
[in] Handle of PlayCtrl, this value can be got from function NET_DVR_GetRealPlayerIndex or NET_DVR_GetPlayBackPlayerIndex
nDeviceNum
[in] Display device serial number, begin with 0 (0 means main screen)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This interface is invalid when playCtrl.dll version is higher than 6.1.

See Also

NET_DVR_GetRealPlayerIndex NET_DVR_GetPlayBackPlayerIndex


NET_DVR_SetDecInfo

This API is used to set decode device paramters.

BOOL NET_DVR_SetDecInfo(
  LONG               lUserID,
  LONG               lChannel,
  LPNET_DVR_DECCFG   lpDecoderinfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpDecoderinfo
[in] Decode device parameter pointer

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_GetDecInfo


NET_DVR_SetDecInfo

Device Network SDK Programming Manual

NET_DVR_SetDecTransPort

This API is used to set transparent channel parameters of decode device.

BOOL NET_DVR_SetDecTransPort(
  LONG                lUserID,
  LPNET_DVR_PORTCFG   lpTransPort
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpTransPort
[in] Transparent channel parameter structure of decode device

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_GetDecTransPort


NET_DVR_SetDeviceConfig

Set the device configuration in batch with the function of sending data.

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command
dwCount
[in] The number of cameras to set at a time, up to 64, 0 and 1 mean information of 1 camera, 2 means information of 2 cameras, and so forth
lpInBuffer
[in] Pointer to configuration condition buffer, such as stream ID
dwInBufferSize
[in] Length of configuration condition buffer
lpStatusList
[out] Error information list, corresponding to cameras to search, e.g., lpStatusList[2] is for lpInBuffer[2], memory is allocated by user, each error information is 4 bytes (a 32-bit integer without symbol), parameter value: 0 or 1 mean success, other values means error codes.
lpInParamBuffer
[in] Parameters to set for the device, corresponding to cameras to search. If the lpStatusList information that corresponds to certain camera is over 1, it means its corresponding lpOutBuffer setting failed, the setting is successful when the value is 0 or 1.
dwInParamBufferSize
[in] Set size of content buffer

Return Values

Return TRUE on success, but it doesn't mean all configuration are successful. You can identify which one is successful by checking the corresponding value of lpStatusList[n]. Returned FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

This API is used to get camera configuration in batch with sending data. lpInBuffer assigns the dwCount*configuration information to get, lpOutBuffer saves obtained dwCount*configuration information.

See below for details:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_MULTI_STREAM_COMPRESSIONCFG | Remote set multi-stream compression parameter | dwCount*NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND | dwCount*NET_DVR_MULTI_STREAM_COMPRESSIONCFG | 3217
NET_DVR_SET_STREAM_RECORD_INFO | Set recording information | dwCount*NET_DVR_STREAM_INFO | dwCount*NET_DVR_STREAM_RECORD_INFO | 6020
NET_DVR_SET_STREAM_RECORD_STATUS | Set stream video status information | dwCount*NET_DVR_STREAM_INFO | dwCount*NET_DVR_STREAM_RECORD_STATUS | 6022
NET_DVR_SET_JPEG_CAPTURE_CFG_V40 | Set device capture configuration, dwCount=0 | NET_DVR_CHANNEL_GROUP | NET_DVR_JPEG_CAPTURE_CFG_V40 | 6191

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Batching get device configuration info （with sending data)

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Command, refer to configuration command
dwCount
[in] Number of surveillence points,0,1- Get a dwCommand surveillence point, 2- Get 2 dwCommand surveillence points and so on,up to 64
lpInBuffer
[in] Buffer, such as stream id and so on
dwInBufferSize
[in] Buffer length
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, greater than 0- failed;
lpInParamBuffer
[in] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwInParamBufferSize
[in] The size of the returned buffer, it can't be NULL

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please callNET_DVR_GetLastErrorto get the error code.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras .

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_VCA_CTRLINFO_CFG | set VCA parameter | dwCountNET_DVR_VCA_CTRLINFO_COND | dwCountNET_DVR_VCA_CTRLINFO_CFG | 5023
NET_DVR_SET_ROI_DETECT | set ROI detect configuration | dwCountNET_DVR_ROI_DETECT_COND | dwCountNET_DVR_ROI_DETECT_CFG | 3351
NET_DVR_SET_FACE_DETECT | set face detection configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_DVR_DETECT_FACE | 3353
NET_DVR_SET_SCENECHANGE_DETECTIONCFG | set scence change alarm configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_DVR_SCENECHANGE_DETECTION | 3357
NET_DVR_SET_TRAVERSE_PLANE_DETECTION | set traverse plane detection configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_VCA_TRAVERSE_PLANE_DETECTION | 3361
NET_DVR_SET_FIELD_DETECTION | set field detection configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_VCA_FIELDDETECION | 3363
NET_DVR_SET_DEFOCUSPARAM | set defocus detection configration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_VCA_DEFOCUSPARAM | 3365
NET_DVR_SET_AUDIOEXCEPTIONPARAM | set audio exception configuration | dwCountNET_DVR_CHANNEL_GROUP | dwCountNET_DVR_AUDIO_EXCEPTION | 3367
NET_DVR_SET_HEATMAP_CFG | set heat map configurationInterface Definition | dwCountNET_DVR_HEATMAP_COND | dwCountNET_DVR_HEATMAP_CFG | 3408

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Set the device configuration in batch with the function of sending data.

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command
dwCount
[in] The number of cameras to set at a time, up to 64, 0 and 1 mean information of 1 camera, 2 means information of 2 cameras, and so forth
lpInBuffer
[in] Pointer to configuration condition buffer, such as stream ID
dwInBufferSize
[in] Length of configuration condition buffer
lpStatusList
[out] Error information list, corresponding to cameras to search, e.g., lpStatusList[2] is for lpInBuffer[2], memory is allocated by user, each error information is 4 bytes (a 32-bit integer without symbol), parameter value: 0 or 1 mean success, other values means error codes.
lpInParamBuffer
[in] Parameters to set for the device, corresponding to cameras to search. If the lpStatusList information that corresponds to certain camera is over 1, it means its corresponding lpOutBuffer setting failed, the setting is successful when the value is 0 or 1.
dwInParamBufferSize
[in] Set size of content buffer

Return Values

Return TRUE on success, but it doesn't mean all configuration are successful. You can identify which one is successful by checking the corresponding value of lpStatusList[n]. Returned FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

This API is used to get camera configuration in batch with sending data. lpInBuffer assigns the dwCount*configuration information to get, lpOutBuffer saves obtained dwCount*configuration information.

See below for details:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_STREAM_SRC_INFO_V40 | Set stream source information | dwCount*NET_DVR_STREAM_INFO | dwCount*NET_DVR_STREAM_SRC_INFO_V40 | 6025

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Batch get device configuration information (with sending messages).

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait for the return value from interface.
dwCommand
[in] Configure dwCommand. Refer to dwComand.
dwCount
[in] The configuration number to be configured at once. 0 and 1 both mean 1 piece of camera information, 2 means 2 pieces of camera information, etc. The maximum is 64.
lpInBuffer
[in] Configure condition buffer compass, such as stream id, etc.
dwInBufferSize
[in] Configure condition buffer length
lpStatusList
[out] Error message list, should correspond one by one with query camera. For example, lpStatusList[2] should correspond with lpInBuffer[2]. Memory is divived by users. Each error message contains 4 bytes (a 32-digit none-character integer). Parameter value: 0 or 1 means success, other values are corresponding error numbers.
lpInParamBuffer
[in] The parameter content to be configured for device should correspond one by one with query camera. If a cameara's corresponding lpStatusList information is a number greater than 1, its corresponding lpOutBuffer configuration fails. If the number is 0 or 1, corresponding lpOutBuffer configuration succeeds.
dwInParamBufferSize
[in] Configure content dbffer length

Return Values

TRUE means success, but does not mean each configuration succeeded. Check corresponding lpStatusList[n] value to see which one is successful; FALSE means all failed.For error code, callNET_DVR_GetLastError。

Remarks

This interface is a general interface with sending message that can batch gain camera configuration information. lpInBuffer indicates dwCount configuration information that should be gained, lpOutBuffer saves gained dwCount configuration information.

Different configuration function correspond to different structures and command no., see the following table:

dwCommandMacro definition | dwCommandDefinition | lpInBuffer corresponding Structure | lpInParamBuffer corresponding Structure | Macro definition value
NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL | Manually add record passback task | dwCount * NET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND | dwCount * NET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG | 6234
NET_DVR_DEL_RECORD_PASSBACK_TASK_MANUAL | Manually delete record passback task | dwCount * NET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND | dwCount * NET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG | 6237
NET_DVR_SET_RECORD_PASSBACK_PLAN_CFG | Configure record passback plan configuration, dwCount set as 1 | NET_DVR_STREAM_INFO | NET_DVR_RECORD_PASSBACK_SCH_CFG | 6239

See Also

NET_DVR_Login_V40 NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Batching set device configuration info （with sending data)

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Command, refer to configuration command
dwCount
[in] Number of obtained configuration,0,1- one info of surveillance point, 2- two infos of surveillance points and so on,up to 64
lpInBuffer
[in] Buffer , such as stream ID and so on
dwInBufferSize
[in] Buffer size
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, greater than 1- failed
lpInParamBuffer
[in] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid.
dwInParamBufferSize
[in] The size of Buffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastError NET_DVR_GetLastErrorto get the error code.

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras .

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_PDC_RULECFG_V42 | Set PDC rules | dwCountNET_DVR_PDC_RULE_COND | dwCountNET_DVR_PDC_RULE_CFG_V42 | 3406

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Set Configuration of the Device in Batch(with sending data)

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in]The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to configuraition command list
dwCount
[in] The count to be set, both 0 and 1 mean one, 2 means two, and so forth, the max value is 64
lpInBuffer
[in] The buffer of configuration condition
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be set, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed.
lpInParamBuffer
[in] The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful.
dwInParamBufferSize
[in]The size of the configuration content.

Return Values

Return TRUE on success, FALSE on failure. Please callNET_DVR_GetLastError to get the error code。

Remarks

This API is used to configure quantities of cameras with sending data. lpInBuffer assigns to configure which cameras, and lpOutBuffer saves the configuration information of dwCount cameras to be set.

The structures and command numbers are different according to the different dwCommand, and they are listed as below.

dwCommand | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Macro Value
NET_DVR_SET_LIMITCFG | Set limit parameters | dwCount*NET_DVR_PTZ_LIMITCOND | dwCount*NET_DVR_PTZ_LIMITCFG | 3277
NET_DVR_SET_PRIVACY_MASKSCFG | Set PTZ privacy mask parameters | dwCount*NET_DVR_PRIVACY_MASKS_COND | dwCount*NET_DVR_PRIVACY_MASKS_CFG | 3286

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

This API is used to set configuration of the device(batch).

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration commands, refer to the configuration command list for details.
dwCount
[in]The number of cameras to be configured, both 0 and 1 represent one camera, 2 means two cameras, by such analogy, the Max. value is 64.
lpInBuffer
[in] The buffer of configuration condition, such as stream ID
dwInBufferSize
[in] The size of the input buffer
lpStatusList
[out] Error message list, corresponding to the channel to be set, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, >0- failed .
lpInParamBuffer
[in] The configuration content to set, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, means the set of corresponding lpInBuffer is failed, and equal to 0 means successful. .
dwInParamBufferSize
[in] The size of the configuration content

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is successful or failed. FALSE means all configuration failed. For error code, please callNET_DVR_GetLastError。

Remarks

This API is used to configure quantities of cameras with sending data. lpInBuffer assigns to configure which cameras, and lpOutBuffer saves the configuration information of dwCount cameras to be set.

The structures and command numbers are different according to the different dwCommand, and they are listed below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_USER_RIGHT_CFG | Set user right,the value of dwCount is 1 | NET_DVR_USER_COND | NET_DVR_USER_RIGHT_CFG | 6211

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDeviceConfig

Batching set device configuration info （with transmitter data)

BOOL NET_DVR_SetDeviceConfig(
  LONG      lUserID,
  DWORD     dwCommand,
  DWORD     dwCount,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  LPVOID    lpStatusList,
  LPVOID    lpInParamBuffer,
  DWORD     dwInParamBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Command, refer to configuration command
dwCount
[in] Number of obtained configuration,0,1- one info of surveillance point, 2- two infos of surveillance points and so on,up to 64
lpInBuffer
[in] Buffer, such as stream ID and so on
dwInBufferSize
[in] Buffer size
lpStatusList
[out] Error message list, corresponding to the channel to be query, e.g. lpStatusList[2] corresponds to lpInBuffer[2], memory allocated by user. The size of one error message is 4 bytes(32 bit unsigned integer value), the value: 0- successful, 1- failed
lpInParamBuffer
[in] The parameter content returned by the device, corresponding to the channel to be query. If lpStatusList that corresponds to the channel is larger than 0, the content of corresponding lpOutBuffer is invalid. And when the lpStatusList is 0, it means success
dwInParamBufferSize
[in] The size of dwCount*lpOutBuffer

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_GetLastErrorto get the error code

Remarks

This API is used to get quantities of cameras(channels) configuration with sending data. lpInBuffer assigns the configuration of which cameras to be get, and lpOutBuffer saves the configuration information of dwCount cameras

The structures and command numbers are different according to the different dwCommand, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lpInBuffer Structure | lpInParamBuffer Structure | Value
NET_DVR_SET_ROI_DETECT | Set ROI detection region configuration | dwCount*NET_DVR_ROI_DETECT_COND | dwCount*NET_DVR_ROI_DETECT_CFG | 3351
NET_DVR_SET_FACE_DETECT | Set face detection configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_DVR_DETECT_FACE | 3353
NET_DVR_SET_SCENECHANGE_DETECTIONCFG | Set scene change alarm configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_DVR_SCENECHANGE_DETECTION | 3357
NET_DVR_SET_TRAVERSE_PLANE_DETECTION | Set traverse plane detection configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_VCA_TRAVERSE_PLANE_DETECTION | 3361
NET_DVR_SET_FIELD_DETECTION | Set region detection configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_VCA_FIELDDETECION | 3363
NET_DVR_SET_DEFOCUSPARAM | Set defocus detection parameter configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_VCA_DEFOCUSPARAM | 3365
NET_DVR_SET_AUDIOEXCEPTIONPARAM | Set audio exception configuration | dwCount*NET_DVR_CHANNEL_GROUP | dwCount*NET_DVR_AUDIO_EXCEPTION | 3367
NET_DVR_SET_VCA_CTRLINFO_CFG | Set intelligent control parameter | dwCount*NET_DVR_VCA_CTRLINFO_COND | dwCount*NET_DVR_VCA_CTRLINFO_CFG | 5023

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Parameter type. Please kindly refer to the DwCommand Type Definition below
lChannel
[in] Channel number if it is not the channel parameter, do not use lChannel, and set it as 0xFFFFFFFF
lpInBuffer
[in] Buffer that saves the input parameters
dwInBufferSize
[in] Size of the buffer (unit: byte )

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

Remarks

The structures and command numbers are different according to the various configuration functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | Channel Number | lpInBuffer Structure | Value
NET_DVR_SET_TIMECFG | Set time parameters | invalid | NET_DVR_TIME | 119
NET_DVR_SET_ZONEANDDST | Set time zone and DST parameters | invalid | NET_DVR_ZONEANDDST | 129
NET_DVR_SET_FTPCFG | Set FTP configuration to upload picture | invalid | NET_DVR_FTPCFG | 135
NET_DVR_SET_AUXOUTCFG | Set parameters of aux output triggered by alarm | invalid | NET_DVR_AUXOUTCFG | 141
NET_DVR_SET_NETAPPCFG | Set network application parameters(NTP/DDNS) | invalid | NET_DVR_NETAPPCFG | 223
NET_DVR_SET_NTPCFG | Set network application parameters(NTP) | invalid | NET_DVR_NTPPARA | 225
NET_DVR_SET_NFSCFG | Set NFS (Network File System) parameters | invalid | NET_DVR_NFSCFG | 231
NET_DVR_SET_PTZPOS | Set PTZ parameters of IP speed dome | valid | NET_DVR_PTZPOS | 292
NET_DVR_SET_WIFI_CFG | Set wireless configuration of IP device | invalid | NET_DVR_WIFI_CFG | 306
NET_DVR_SET_WIFI_WORKMODE | Set network adapter mode of IP device | invalid | NET_DVR_WIFI_WORKMODE | 308
NET_DVR_SET_NETCFG_V30 | Set network parameters | invalid | NET_DVR_NETCFG_V30 | 1001
NET_DVR_SET_PICCFG_V30 | Set image parameters | valid | NET_DVR_PICCFG_V30 | 1003
NET_DVR_SET_RECORDCFG_V30 | Set record parameters | valid | NET_DVR_RECORD_V30 | 1005
NET_DVR_SET_USERCFG_V30 | Set user parameters | invalid | NET_DVR_USER_V30 | 1007
NET_DVR_SET_DDNSCFG_V30 | Set network application parameters(DDNS) | invalid | NET_DVR_DDNSPARA_V30 | 1011
NET_DVR_SET_EMAILCFG_V30 | Set network application parameters(EMAIL) | invalid | NET_DVR_EMAILCFG_V30 | 1013
NET_DVR_SET_CRUISE | Set cruise parameters | valid | NET_DVR_CRUISE_PARA | 1021
NET_DVR_SET_ALARMINCFG_V30 | Set alarm input parameters | valid | NET_DVR_ALARMINCFG_V30 | 1025
NET_DVR_SET_ALARMOUTCFG_V30 | Set alarm output parameters | valid | NET_DVR_ALARMOUTCFG_V30 | 1027
NET_DVR_SET_VIDEOOUTCFG_V30 | Set video out parameters | invalid | NET_DVR_VIDEOOUT_V30 | 1029
NET_DVR_SET_SHOWSTRING_V30 | Set OSD parameters | valid | NET_DVR_SHOWSTRING_V30 | 1031
NET_DVR_SET_EXCEPTIONCFG_V30 | Set exception parameters | invalid | NET_DVR_EXCEPTION_V30 | 1035
NET_DVR_SET_RS232CFG_V30 | Set 232 serial port parameters | invalid | NET_DVR_RS232CFG_V30 | 1037
NET_DVR_SET_NET_DISKCFG | Set network disk access parameters | invalid | NET_DVR_NET_DISKCFG | 1039
NET_DVR_SET_COMPRESSCFG_V30 | Set compression parameters | valid | NET_DVR_COMPRESSIONCFG_V30 | 1041
NET_DVR_SET_DECODERCFG_V30 | Set PTZ decoder parameters | valid | NET_DVR_DECODERCFG_V30 | 1043
NET_DVR_SET_PREVIEWCFG_V30 | Set local preview parameters | invalid | NET_DVR_PREVIEWCFG_V30 | 1045
NET_DVR_SET_PREVIEWCFG_AUX_V30 | Set auxiliary preview parameters | invalid | NET_DVR_PREVIEWCFG_V30 | 1047
NET_DVR_SET_HDCFG | Set hard disk management parameters | invalid | NET_DVR_HDCFG | 1055
NET_DVR_SET_HDGROUP_CFG | Set hard disk group management parameters | invalid | NET_DVR_HDGROUP_CFG | 1057
NET_DVR_SET_COMPRESSCFG_AUD | Set audio parameters of voice talk | invalid | NET_DVR_COMPRESSION_AUDIO | 1059
NET_DVR_SET_IPPARACFG_V31 | Set IP channel access parameters | invalid | NET_DVR_IPPARACFG_V31 | 1061
NET_DVR_SET_IPPARACFG_V40 | Set IP channel access parameters(extended) | invalid | NET_DVR_IPPARACFG_V40 | 1063
NET_DVR_SET_CCDPARAMCFG | Set front-end parameters | invalid | NET_DVR_CAMERAPARAMCFG | 1068
NET_DVR_SET_DEVICECFG_V40 | Set device parameters (extended) | invalid | NET_DVR_DEVICECFG_V40 | 1101
NET_DVR_SET_ZEROCHANCFG | Set compression parameters of zero channel | valid | NET_DVR_ZEROCHANCFG | 1103
NET_DVR_SET_ZERO_PREVIEWCFG_V30 | Set local preview parameters of zero channel | valid | NET_DVR_PREVIEWCFG_V30 | 1105
NET_DVR_SET_ZERO_ZOOM | Set zoom parameters of zero channel | valid | NET_DVR_ZERO_ZOOMCFG | 1106
NET_DVR_SET_SNMPCFG | Set SNMP parameters | invalid | NET_DVR_SNMPCFG | 1113
NET_DVR_SET_NETCFG_MULTI | Set multi network card parameters | invalid | NET_DVR_NETCFG_MULTI | 1162
NET_DVR_SET_HOLIDAY_PARAM_CFG | Set holiday parameters | invalid | NET_DVR_HOLIDAY_PARAM_CFG | 1241
NET_DVR_SET_MOTION_HOLIDAY_HANDLE | Set holiday alarm handling mode of motion detection | valid | NET_DVR_HOLIDAY_HANDLE | 1243
NET_DVR_SET_VILOST_HOLIDAY_HANDLE | Set holiday alarm handling mode of video signal lost | valid | NET_DVR_HOLIDAY_HANDLE | 1245
NET_DVR_SET_HIDE_HOLIDAY_HANDLE | Set holiday alarm handling mode of video tampering | valid | NET_DVR_HOLIDAY_HANDLE | 1247
NET_DVR_SET_ALARMIN_HOLIDAY_HANDLE | Set holiday alarm handling mode of alarm input | valid | NET_DVR_HOLIDAY_HANDLE | 1249
NET_DVR_SET_ALARMOUT_HOLIDAY_HANDLE | Set holiday alarm handling mode of alarm output | valid | NET_DVR_HOLIDAY_HANDLE | 1251
NET_DVR_SET_HOLIDAY_RECORD | Set holiday recording paramter | valid | NET_DVR_HOLIDAY_RECORD | 1253
NET_DVR_SET_NETWORK_BONDING | Set BONDING network card parameters | invalid | NET_DVR_NETWORK_BONDING | 1255
NET_DVR_SET_DISK_QUOTA_CFG | Set disk quota configuration | invalid | NET_DVR_DISK_QUOTA_CFG | 1279
NET_DVR_SET_JPEG_CAPTURE_CFG | Set capture configuration | valid | NET_DVR_JPEG_CAPTURE_CFG | 1281
NET_DVR_SET_SCHED_CAPTURECFG | Set capturing schedule | valid | NET_DVR_SCHED_CAPTURECFG | 1283
NET_DVR_SET_VIDEO_INPUT_EFFECT | Set the video effect | valid | NET_DVR_VIDEO_INPUT_EFFECT | 1287
NET_DVR_SET_AUDIO_INPUT | Set audio input parameter | valid | NET_DVR_AUDIO_INPUT_PARAM | 3202
NET_DVR_SET_CAMERA_DEHAZE_CFG | Set the de-haze parameter | valid | NET_DVR_CAMERA_DEHAZE_CFG | 3204
NET_IPC_SET_AUX_ALARMCFG | Set aux alarm parameter | valid | NET_IPC_AUX_ALARMCFG | 3210
NET_DVR_SET_DISK_RAID_INFO | Set RAID information of hard disk | invalid | NET_DVR_DISK_RAID_INFO | 6002
NET_DVR_SET_DVR_SYNCHRONOUS_IPC | Set whether to synchronize front-end IPC parameter | valid | NET_DVR_SYNCHRONOUS_IPC | 6006
NET_DVR_SET_DVR_IPC_PASSWD | Set IPC user name and password | valid | NET_DVR_IPC_PASSWD | 6008
NET_DVR_SET_DVR_IPC_NET | Set IPC network parameter | valid | NET_DVR_IPC_NETCFG | 6012
NET_DVR_SET_RECORD_CHANNEL_INFO | Set recording status of the channel | valid | NET_DVR_CHAN_GROUP_RECORD_STATUS | 6014
NET_DVR_SET_FTPCFG_SECOND | Set the second FTP configuration to upload picture(it takes effect if the default first FTP don't work) | invalid | NET_DVR_FTPCFG | 6104
NET_DVR_SET_DRAWFRAME_DISK_QUOTA_CFG | Set disk quota configuration of the draw-frame channel | valid | NET_DVR_DRAWFRAME_DISK_QUOTA_CFG | 6110
NET_DVR_SET_NAT_CFG | Set the NAT mapping parameters | invalid | NET_DVR_NAT_CFG | 6112
NET_DVR_SET_POE_CFG | Set the POE parameter | invalid | NET_DVR_POE_CFG | 6115
NET_DVR_SET_CUSTOM_PRO_CFG | Set the custom protocol parameter | invalid | NET_DVR_CUSTOM_PROTOCAL | 6117
NET_DVR_SET_STREAM_CABAC | Set stream compression performance option | invalid | NET_DVR_STREAM_CABAC | 6119
NET_DVR_SET_ESATA_MINISAS_USAGE_CFG | Set the usage of eSATA and miniSAS | invalid | NET_DVR_ESATA_MINISAS_USAGE | 6121
NET_DVR_SET_HDCFG_V40 | Set hard disk management parameter(extended) | valid | NET_DVR_HDCFG | 6123
NET_DVR_SET_POE_CHANNEL_ADD_MODE | Set the adding mode of POE channel | invalid | NET_DVR_POE_CHANNEL_ADD_MODE | 6125
NET_DVR_SET_PICCFG_V40 | Set image parameters | valid | NET_DVR_PICCFG_V40 | 6180
NET_DVR_SET_ACCESS_CAMERA_INFO | Set the camera information of the channel | valid | NET_DVR_ACCESS_CAMERA_INFO | 6202

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details, see the 'remark' section.
lChannel
[in] Channel number, if the channel parameter is not required, lChannel is invalid, and set it as 0xFFFFFFFF
lpInBuffer
[in] The buffer pointer of inputting data.
dwInBufferSize
[in] The buffer length of inputting data (unit: byte)

Remarks

Different functions correspond to different structures and commands.

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_ALARMINCFG_V40 | Set alarm input parameters | Alarm inpout No., starts from 0. | NET_DVR_ALARMINCFG_V40 | 6182
NET_DVR_SET_ALARMOUTCFG_V30 | Set alarm output parameters | Alarm output No., starts from 0. | NET_DVR_ALARMOUTCFG_V30 | 1027
NET_DVR_SET_ALARMIN_HOLIDAY_HANDLE | Set alarm input holiday alarm handle mode | Alarm input No., starts from 0. | NET_DVR_HOLIDAY_HANDLE | 1249
NET_DVR_SET_ALARMOUT_HOLIDAY_HANDLE | Set alarm output holiday alarm handle mode | Alarm output No., starts from 0. | NET_DVR_HOLIDAY_HANDLE | 1251

Return Values

Return TRUE on success，and FALSE on failure. Please call NET_DVR_GetLastErrorfor the error code

The following table shows the returned error code.

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, see "Remarks" below for details
lChannel
[in] Channel No., different commands correspond to different values, if the parameter is invalid, set it as 0xFFFFFFFF, see "Remarks" for details
lpInBuffer
[in] Pointer to buffer of input data
dwInBufferSize
[in] Length of pointer to buffer of input data (in byte)

Remarks

Different functions correspond to different structure and command No., see below for details:

dwCommand Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_ALARMCENTER_NETCFG | Set alarm center network parameters | Null | NET_DVR_ALARMCENTER_NETCFG | 2716

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.。

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Parameter type. Please kindly refer to the DwCommand Type Definition below.
lChannel
[in] Channel number if it is not the channel parameter, do not use lChannel, and set it as 0xFFFFFFFF.
lpInBuffer
[in] Buffer that saves the input parameters.
dwInBufferSize
[in] Size of the buffer (unit: byte )

Remarks

The structures and command numbers are different according to the various configuration functions, and they are listed as below:

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_NFSCFG | Set NFS (Network File System) parameters | Invalid | NET_DVR_NFSCFG | 231
NET_DVR_SET_HDCFG | Set hard disk management parameters | Invalid | NET_DVR_HDCFG | 1055
NET_DVR_SET_HDCFG_V40 | Set hard disk management parameter(extended). | Group No., start from 0, 33* HDDs each group. | NET_DVR_HDCFG | 6123
NET_DVR_SET_HDGROUP_CFG_V40 | Set HDD group management parameters. | Group No., start from 0, 16* HDD groups each group. | NET_DVR_HDGROUP_CFG_V40 | 6193
NET_DVR_SET_NET_DISKCFG | Set network disk access parameters. | Invalid | NET_DVR_NET_DISKCFG | 1039
NET_DVR_SET_NET_DISKCFG_V40 | Set the accessing parameters of network HDD (expanding). | 无效 | NET_DVR_NET_DISKCFG_V40 | 3393
NET_DVR_SET_DISK_QUOTA_CFG | Set disk quota configuration | Channel No. | NET_DVR_DISK_QUOTA_CFG | 1279
NET_DVR_SET_DRAWFRAME_DISK_QUOTA_CFG | Set disk quota configuration of the draw-frame channel. | Invalid | NET_DVR_DRAWFRAME_DISK_QUOTA_CFG | 6110
NET_DVR_SET_DISK_RAID_INFO | Set RAID information of hard disk | Invalid | NET_DVR_DISK_RAID_INFO | 6002
NET_DVR_SET_ESATA_MINISAS_USAGE_CFG | Set the usage of eSATA and miniSAS | Invalid | NET_DVR_ESATA_MINISAS_USAGE | 6121
NET_DVR_SET_HD_STATUS | Set the hibernate status of HDD | Invalid | NET_DVR_HD_STATUS | 6171
NET_DVR_SET_RAID_BACKGROUND_TASK_SPEED | Set the background task speed of RAID | Invalid | NET_DVR_RAID_BTS_CFG | 6176
NET_DVR_SET_DATA_CALLBACK_CFG | Set the moving -back status of data | Invalid | NET_DVR_DATA_CALLBACK_CFG | 6219
NET_DVR_SET_RECORD_PACK | Set the video package parameters | Invalid | NET_DVR_RECORD_PACK | 6302
NET_DVR_SET_CLOUD_STORAGE_CFG | Set the cloud storage working mode | Invalid | NET_DVR_CLOUD_STORAGE_CFG | 6304

Return Values

Return TRUE on success, FALSE on failure. For error code, please call NET_DVR_GetLastError

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer to save stream or picture data is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Establish SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | SDK program exception.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command
lChannel
[in] Channel number, if command needn't channel number, this parameter is null, set to 0xFFFFFFFF , Refer to Remarks for details.
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Remarks

See below details:

  • Channel number description: The users can get the analog channel number (byChanNum), start channel of analog channel(byStartChan), the max supported IP channels number (byIPChanNum+ byHighDChanNum*256) and the start number of digital channel(byStartDChan) through the returned info (NET_DVR_DEVICEINFO_V30) after registering the devices (NET_DVR_Login_V30).
    • dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_IPPARACFG_V40 | Set IP access configuration parameter | Group No., from 0, 64 channels for each group | NET_DVR_IPPARACFG_V40 | 1063
NET_DVR_SET_POE_CHANNEL_ADD_MODE | Set POE channel add mode | Channel No. | NET_DVR_POE_CHANNEL_ADD_MODE | 6125
NET_DVR_SET_DVR_SYNCHRONOUS_IPC | Set whether synv IP camera device parameter | Channel No. | NET_DVR_SYNCHRONOUS_IPC | 6006
NET_DVR_SET_DVR_IPC_PASSWD | Set IP camera password | Channel No. | NET_DVR_IPC_PASSWD | 6008
NET_DVR_SET_DVR_IPC_NET | Set IP camera network address | Channel No. | NET_DVR_IPC_NETCFG | 6012
NET_DVR_SET_CUSTOM_PRO_CFG | Set custom protocol parameter | Protocol No., from 1 | NET_DVR_CUSTOM_PROTOCAL | 6117

    Return Values

    Returns TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

    Below are possible error code

    Type | Value | Description
NET_DVR_NOERROR | 0 | No error
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.
NET_DVR_PROGRAM_EXCEPTION | 76 | Program error

    See Also

    NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

This API is used to set configuration of the device.

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Device configuration commands, refer to configuration commands
lChannel
[in] Channel number, if command needn't channel number, this parameter is invalid, set to 0xFFFFFFFF
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Remarks

The structures and command numbers are different according to the various getting functions, and they are listed as below:

  • Channel number description: The users can get the analog channel number (byChanNum), start channel of analog channel(byStartChan), the max supported IP channels number (byIPChanNum+ byHighDChanNum*256) and the start number of digital channel(byStartDChan) through the returned info (NET_DVR_DEVICEINFO_V30) after registering the devices (NET_DVR_Login_V30).
    • dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer structure | Value
NET_DVR_SET_CAPTUREPIC_CFG | Set the capture configuration | Channel number | NET_DVR_MOBILE_CAPTUREPIC_CFG | 3107
NET_DVR_SET_MOBILEPLATE_RECOG_CFG | Set the LPR configration | Channel number | NET_DVR_MOBILE_PLATE_RECOGCFG | 3109
NET_DVR_SET_MOBILE_RADAR_CFG | Set the radar configuration of mobile devices | Channel number | NET_DVR_MOBILE_RADAR_CFG | 3111
NET_DVR_SET_MOBILE_LOCALPLATECHK_CFG | Set the local comparison configuration of blacklist | Channel number | NET_DVR_MOBILE_LOCALPLATECHK_CFG | 3113

    Return Values

    Returns TRUE on success, FALSE on failure. Please callNET_DVR_GetLastErrorto get the error code.

    See Also

    NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lChannel
[in] Channel No., different commands correspond to different values, if invalid, set to 0xFFFFFFFF, for details see "Remarks"
lpInBuffer
[in] Pointer to buffer of input data
dwInBufferSize
[in] Length of buffer of input data, in byte

Remarks

For details of different structures and command No., see below:

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_AUDIO_ACTIVATION_CFG | Set audio activation configuration parameter | Audio input channel No., from 1 | NET_DVR_AUDIO_ACTIVATION_CFG | 6327
NET_DVR_SET_INFRARED_CMD_NAME_CFG | Set IR command name parameter configuration | IR output port index, from 1 | NET_DVR_INFRARED_CMD_NAME_CFG | 6332
NET_DVR_SET_CASE_INFO | Case information input | Null | NET_DVR_CASE_INFO | 6335
NET_DVR_SET_TRIAL_MICROPHONE_STATUS | Set microphone status information | Null | NET_DVR_TRIAL_MICROPHONE_STATUS | 6337
NET_DVR_SET_LAMP_OUT | Set LAMP output port information | Null | NET_DVR_LAMP_OUT | 6340
NET_DVR_REMOTE_CONTROL_PLAY | Remote control device local playback | Null | NET_DVR_REMOTE_PLAY | 6342
NET_DVR_SET_LOCAL_INPUT_CFG | Set trial DVR local input information | Channel No. | NET_DVR_LOCAL_INPUT_INFO | 6344
NET_DVR_SET_MIX_AUDIOIN_CFG | Set mixed audio input port parameter configuration | Channel No. | NET_DVR_MIX_AUDIOIN_CFG | 6352
NET_DVR_SET_MIX_AUDIOOUT_CFG | Set mixed audio output port parameter configuration | Audio output port No., from 1 | NET_DVR_MIX_AUDIOOUT_CFG | 6354
NET_DVR_SET_AUDIOIN_VOLUME_CFG | Set audio input port volume adjustment parameter | Audio input port No., from 1 | NET_DVR_VOLUME_CFG | 6356
NET_DVR_SET_AUDIOOUT_VOLUME_CFG | Set audio output port volume adjustment parameter | Audio output port No., from 1 | NET_DVR_VOLUME_CFG | 6370
NET_DVR_SET_AREA_MASK_CFG | Set mosaic area configuration | Channel No. | NET_DVR_AREA_MASK_CFG | 6358
NET_DVR_SET_AUDIO_DIACRITICAL_CFG | Set audio diacritic configuration | Channel No. | NET_DVR_AUDIO_DIACRITICAL_CFG | 6360
NET_DVR_SET_WIFI_DHCP_ADDR_CFG | Set Wi-Fi DHCP address range parameter | Null | NET_DVR_WIFI_DHCP_ADDR_CFG | 6362
NET_DVR_SET_MULTISTREAM_RELATION_CHAN_CFG | Set multi-stream linkage channel parameter configuration | Multi-stream No., from 1 | NET_DVR_MULTISTREAM_RELATION_CHAN_CFG | 6366
NET_DVR_SET_VIDEOOUT_RESOLUTION_CFG | Set device local video output port resolution | Video output port, from 1 | NET_DVR_VIDEOOUT_RESOLUTION_CFG | 6368
NET_DVR_SET_INPUT_CHAN_CFG | Set input channel configuration | Input channel No., from 1 | NET_DVR_PICCFG_V30 (only support its video loss alarm parameter struVILost) | 6374
NET_DVR_SET_INQUEST_MIX_AUDIOIN_CFG | Set inquest DVR audio input mixed audio configuration | Inquest channel No., from 1 | NET_DVR_INQUEST_MIX_AUDIOIN_CFG | 6376
NET_DVR_SET_INQUEST_USER_RIGHT | Set inquest DVR user permission | User index: 1- admin, from 2- normal user | NET_DVR_INQUEST_USER_RIGHT_CFG | 6379
NET_DVR_SET_INQUEST_CASE_INFO | Set inquest case information configuration | Inquest channel No., from 1 | NET_DVR_INQUEST_CASE_INFO | 6381

Return Values

Return TRUE on success, FALSE on failure. Call to get error code.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRConfig

Set device configuration information

BOOL NET_DVR_SetDVRConfig(
  LONG     lUserID,
  DWORD    dwCommand,
  LONG     lChannel,
  LPVOID   lpInBuffer,
  DWORD    dwInBufferSize
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command
lChannel
[in] Channel number, if command needn't channel number, this parameter is null, set to 0xFFFFFFFF , Refer to Remarks for details.
lpInBuffer
[in] Input data buffer pointer
dwInBufferSize
[in] Input data buffer length (unit: byte)

Return Values

Returns TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

See below for details:

dwCommand Macro Definition | dwCommand Description | lChannel | lpInBuffer Structure | Value
NET_DVR_SET_USERCFG_V50 | Set user parameter (support password confirmation) | Group No., from 0, 32 users for each group | NET_DVR_USER_V50 | 6247
NET_DVR_SET_USERCFG_V40 | Set user parameter | Group No., from 0, 32 users for each group | NET_DVR_USER_V40 | 6188
NET_DVR_SET_SECURITY_CFG | Set security configuration | Null | NET_DVR_SECURITY_CFG | 148

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_SetDVRMessageCallBack

This API is used to register callback function to receive device alarm message.

BOOL NET_DVR_SetDVRMessageCallBack(
  fMessageCallBack    cbMessageCallBack
  DWORD               dwUser
);

Parameters

cbMessCallBack
[in] callbak function
dwUser
[in] user data

Callback Function

BOOL(CALLBACK *fMessageCallBack)(
  LONG     lCommand,
  char     *sDVRIP,
  char     *pBuf,
  DWORD    dwBufLen,
  DWORD    dwUser
);

Callback Function Parameters

lCommand
Upload message type, as follows
Macro Definition | Value | Implication
COMM_ALARM | 0x1100 | Alarm message upload of devices supported lower than V3.0
COMM_ALARM_RULE | 0x1102 | Behavior analysis information upload
COMM_ALARM_PDC | 0x1103 | Pedestrian counting alarm upload
COMM_TRADEINFO | 0x1500 | ATM DVR transaction information upload
COMM_UPLOAD_PLATE_RESULT | 0x2800 | Intelligent traffic camera alarm upload
COMM_ALARM_V30 | 0x4000 | Alarm message upload of devices supported higher than V3.0
COMM_IPCCFG | 0x4001 | Alarm information upload when the IPC access to Hybrid DVR configuration changes
COMM_IPCCFG_V31 | 0x4002 | Alarm information upload when the IPC access to Hybrid DVR configuration changes(extend)
sDVRIP
Device IP address
pBuf
alarm information
dwBufLen
Alarm information buffer size
dwUser
User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

The first parameter(lCommand)and the third parameter (pAlarmInfo)is closely related, as follows:
Message Type (lCommand) | Upload Content | pAlarmInfo Corresponding Structure
COMM_ALARM | Device alarm message upload supported by Version lower than V3.0 | NET_DVR_ALARMINFO
COMM_ALARM_RULE | Behaviour analyze message upload | NET_VCA_RULE_ALARM
COMM_ALARM_PDC | Pedestrian counting alarm upload | NET_DVR_PDC_ALRAM_INFO
COMM_TRADEINFO | ATM DVR transaction message | NET_DVR_TRADEINFO
COMM_UPLOAD_PLATE_RESULT | Intelligent traffic camera alarm upload | NET_DVR_PLATE_RESULT
COMM_ALARM_V30 | Device alarm message upload supported by Version higher than V3.0 | NET_DVR_ALARMINFO_V30
COMM_IPCCFG | Alarm message upload of hybrid DVR when IPC access configuration changes | NET_DVR_IPALARMINFO
COMM_IPCCFG_V31 | Alarm message upload of hybrid DVR when IPC access configuration changes (extend) | NET_DVR_IPALARMINFO_V31

See Also

NET_DVR_SetupAlarmChan_V30 NET_DVR_SetupAlarmChan NET_DVR_StartListen

Reference Interface

NET_DVR_SetDVRMessageCallBack_V30

NET_DVR_SetDVRMessCallBack

NET_DVR_SetDVRMessCallBack_EX

NET_DVR_SetDVRMessCallBack_NEW


NET_DVR_SetDVRMessageCallBack_V30

This API is used to register callback function for receiving device alarm messages.

BOOL NET_DVR_SetDVRMessageCallBack_V30(
  MSGCallBack    fMessageCallBack,
  void           *pUser
);

Parameters

fMessageCallBack
[in] Callback function
pUser
[in] User data

Callback Function

typedef void(CALLBACK *MSGCallBack)(
  LONG               lCommand,
  NET_DVR_ALARMER    *pAlarmer,
  char               *pAlarmInfo,
  DWORD              dwBufLen,
  void               *pUser
);

Callback Function Parameters

lCommand
[out]Uploaded message type, and the types vary with alarm information. You can distinguish the alarm information according to the types,see details in the "Remarks" table.
pAlarmer
[out]Alarm device information, including device series No., IP address, user login ID handle.
pAlarmInfo
[out]Alarm information, judge the pAlarm structure via the lCommand value, see details in the "Remark" table.
dwBufLen
[out]Alarm information buffer size
pUser
[out]User data

Return Values

Return TRUE on success, FALSE on failure.Please callNET_DVR_GetLastErrorto get the error code.

Remarks

  • The callback function in the API is with higher priority than other callback function. That is, if the callback function in the API has been set, other callback function will not able to receive the alarm information. All the device alarm information will be returned in one callback function, distinguish the devices via the alarm information (pAlarmInfo).
  • The first parameter(lCommand)and the third parameter (pAlarmInfo)is closely related, as follows:
    Message Type（lCommand） | Micro Definition | Upload Content | pAlarmInfo Corresponded Structure
    VCA Alarm
    COMM_ALARM_RULE | 0x1102 | Behavior analysis information | NET_VCA_RULE_ALARM
    COMM_ALARM_PDC | 0x1103 | People counting alarm information | NET_DVR_PDC_ALRAM_INFO
    COMM_RULE_INFO_UPLOAD | 0x1107 | Event data information | NET_DVR_RULE_INFO_ALARM
    COMM_ALARM_FACE | 0x1106 | Face recognition alarm information | NET_DVR_FACEDETECT_ALARM
    COMM_UPLOAD_FACESNAP_RESULT | 0x1112 | Face capture information | NET_VCA_FACESNAP_RESULT
    COMM_FACECAPTURE_STATISTICS_RESULT | 0x112a | Statistics information of face captured persons | NET_DVR_FACECAPTURE_STATISTICS_RESULT
    COMM_SNAP_MATCH_ALARM | 0x2902 | Results of face blacklist and white list comparison | NET_VCA_FACESNAP_MATCH_ALARM
    COMM_ALARM_FACE_DETECTION | 0x4010 | Face detection alarm information | NET_DVR_FACE_DETECTION
    COMM_ALARM_TARGET_LEFT_REGION | 0x4011 | Teacher away from platform alarm | NET_DVR_TARGET_LEFT_REGION_ALARM
    COMM_PEOPLE_DETECTION_UPLOAD | 0x4014 | People detection information | NET_DVR_PEOPLE_DETECTION_RESULT
    COMM_ALARM_VQD_EX | 0x1116 | VQD alarm information | NET_DVR_VQD_ALARM
    COMM_ALARM_VQD | 0x6000 | VQD diagnosis alarm information | NET_DVR_VQD_DIAGNOSE_INFO
    COMM_SCENECHANGE_DETECTION_UPLOAD | 0x1130 | Scene change alarm information | NET_DVR_SCENECHANGE_DETECTION_RESULT
    COMM_CROSSLINE_ALARM | 0x1131 | Over lane line alarm information | NET_DVR_CROSSLINE_ALARM
    COMM_ALARM_AUDIOEXCEPTION | 0x1150 | Audio exception alarm information | NET_DVR_AUDIOEXCEPTION_ALARM
    COMM_ALARM_DEFOCUS | 0x1151 | Defocus alarm information | NET_DVR_DEFOCUS_ALARM
    COMM_SWITCH_LAMP_ALARM | 0x6002 | Alarm information of light turn on/off detection | NET_DVR_SWITCH_LAMP_ALARM
    COMM_UPLOAD_HEATMAP_RESULT | 0x4008 | Heat map alarm information | NET_DVR_HEATMAP_RESULT
    COMM_FIREDETECTION_ALARM | 0x4991 | Fire detection alarm information | NET_DVR_FIREDETECTION_ALARM
    COMM_THERMOMETRY_DIFF_ALARM | 0x5211 | Temperature difference alarm information | NET_DVR_THERMOMETRY_DIFF_ALARM
    COMM_THERMOMETRY_ALARM | 0x5212 | Temperature alarm information | NET_DVR_THERMOMETRY_ALARM
    COMM_ALARM_SHIPSDETECTION | 0x4521 | Ship detection alarm information | NET_DVR_SHIPSDETECTION_ALARM
    Intelligent Traffic
    COMM_ALARM_AID | 0x1110 | Traffic event alarm information | NET_DVR_AID_ALARM
    COMM_ALARM_TPS | 0x1111 | Alarm information of traffic parameter statistics | NET_DVR_TPS_ALARM
    COMM_ALARM_TFS | 0x1113 | Traffic enforcement alarm information | NET_DVR_TFS_ALARM
    COMM_ALARM_TPS_V41 | 0x1114 | Alarm information of traffic parameter statistics (expanded) | NET_DVR_TPS_ALARM_V41
    COMM_ALARM_AID_V41 | 0x1115 | Traffic event alarm information(expanded) | NET_DVR_AID_ALARM_V41
    COMM_UPLOAD_PLATE_RESULT | 0x2800 | Traffic capture result | NET_DVR_PLATE_RESULT
    COMM_ITS_PLATE_RESULT | 0x3050 | Traffic capture result(new alarm information) | NET_ITS_PLATE_RESULT
    COMM_ITS_TRAFFIC_COLLECT | 0x3051 | Traffic statistic data upload | NET_ITS_TRAFFIC_COLLECT
    COMM_ITS_BLACKLIST_ALARM | 0x3057 | Vehicle blacklist alarm upload | NET_ITS_ECT_BLACKLIST
    COMM_VEHICLE_CONTROL_LIST_DSALARM | 0x3058 | Synchronize vehicle blacklist &whitelist data with alarm upload | NET_DVR_VEHICLE_CONTROL_LIST_DSALARM
    COMM_VEHICLE_CONTROL_ALARM | 0x3059 | Alarm upload of vehicles in blacklist &whitelist | NET_DVR_VEHICLE_CONTROL_ALARM
    COMM_FIRE_ALARM | 0x3060 | Fire control alarm upload | NET_DVR_FIRE_ALARM
    COMM_VEHICLE_RECOG_RESULT | 0x3062 | Upload results of vehicle secondary recognition | NET_DVR_VEHICLE_RECOG_RESULT
    COMM_ALARM_SENSORINFO_UPLOAD | 0x3077 | Uploaded sensor information | NET_DVR_SENSOR_INFO_UPLOAD
    COMM_ALARM_CAPTURE_UPLOAD | 0x3078 | Captured picture upload | NET_DVR_CAPTURE_UPLOAD
    COMM_SIGNAL_LAMP_ABNORMAL | 0x3080 | Signal lamp exception detection upload | NET_DVR_SIGNALLAMP_DETCFG
    COMM_ALARM_TPS_REAL_TIME | 0x3081 | TPS real-time vehicle passing data upload | NET_DVR_TPS_REAL_TIME_INFO
    COMM_ALARM_TPS_STATISTICS | 0x3082 | TPS vehicle passing statistics data upload | NET_DVR_TPS_STATISTICS_INFO
    COMM_ITS_ROAD_EXCEPTION | 0x4500 | Alarm information of intersection device exception | NET_ITS_ROADINFO
    COMM_ITS_EXTERNAL_CONTROL_ALARM | 0x4520 | Alarm information of indicator external control | NET_DVR_EXTERNAL_CONTROL_ALARM
    COMM_ITS_GATE_FACE | 0x3053 | Face capture data of entrance/exit | NET_ITS_GATE_FACE
    COMM_ITS_GATE_ALARMINFO | 0x3061 | Entrance/exit controller data | NET_DVR_GATE_ALARMINFO
    COMM_GATE_CHARGEINFO_UPLOAD | 0x3064 | Entrance/exit payment information | NET_DVR_GATE_CHARGEINFO
    COMM_TME_VEHICLE_INDENTIFICATION | 0x3065 | Vehicle capture information of entrance/exit controller(TME) | NET_DVR_TME_VEHICLE_RESULT
    COMM_GATE_CARDINFO_UPLOAD | 0x3066 | Entrance/exit card information | NET_DVR_GATE_CARDINFO
    Security Control Panel
    COMM_ALARM_ALARMHOST | 0x1105 | Alarm information of network security control panel | NET_DVR_ALARMHOST_ALARMINFO
    COMM_SENSOR_VALUE_UPLOAD | 0x1120 | Real-time information of sensor data | NET_DVR_SENSOR_ALARM
    COMM_SENSOR_ALARM | 0x1121 | Sensor alarm information | NET_DVR_SENSOR_ALARM
    COMM_SWITCH_ALARM | 0x1122 | Relay alarm information | NET_DVR_SWITCH_ALARM
    COMM_ALARMHOST_EXCEPTION | 0x1123 | Fault alarm information | NET_DVR_ALARMHOST_EXCEPTION_ALARM
    COMM_ALARMHOST_SAFETYCABINSTATE | 0x1125 | ATM room status information | NET_DVR_ALARMHOST_SAFETYCABINSTATE
    COMM_ALARMHOST_ALARMOUTSTATUS | 0x1126 | Alarm output or siren status information | NET_DVR_ALARMHOST_ALARMOUTSTATUS
    COMM_ALARMHOST_CID_ALARM | 0x1127 | Alarm upload of CID report of security control panel | NET_DVR_CID_ALARM
    COMM_ALARMHOST_EXTERNAL_DEVICE_ALARM | 0x1128 | Alarm information of external devices of security control panel | NET_DVR_485_EXTERNAL_DEVICE_ALARMINFO
    COMM_ALARMHOST_DATA_UPLOAD | 0x1129 | Alarm data information | NET_DVR_ALARMHOST_DATA_UPLOAD
    Other Device Alarm
    COMM_ALARM | 0x1100 | Alarm information of motion detection, video loss,video tampering and I/O (supported by the device with version 3.0 or lower) | NET_DVR_ALARMINFO
    COMM_ALARM_V30 | 0x4000 | Alarm information of motion detection, video loss,video tampering and I/O (supported by the device with version 3.0 or higher) | NET_DVR_ALARMINFO_V30
    COMM_ALARM_V40 | 0x4007 | Alarm information of motion detection, video loss,video tampering and I/O, the alarm data length is variable. | NET_DVR_ALARMINFO_V40
    COMM_IPCCFG | 0x4001 | Settings changed(when devices such as HDVR or NV connect to IPC)alarm information | NET_DVR_IPALARMINFO
    COMM_IPCCFG_V31 | 0x4002 | Settings changed(when devices such as HDVR or NV connect to IPC) alarm information (Expended) | NET_DVR_IPALARMINFO_V31
    COMM_IPC_AUXALARM_RESULT | 0x2820 | PIR alarm, wireless alarm, and emergency alarm information | NET_IPC_AUXALARM_RESULT
    COMM_ALARM_DEVICE | 0x4004 | CVR device alarm information, expended because the channel No. is more than 256. | NET_DVR_ALARMINFO_DEV
    COMM_ALARM_DEVICE_V40 | 0x4009 | CVR device alarm information (expanded, alarm information sub-structure is added) | NET_DVR_ALARMINFO_DEV_V40
    COMM_ALARM_CVR | 0x4005 | CVR external alarm information | NET_DVR_CVR_ALARM
    COMM_TRADEINFO | 0x1500 | ATM DVR transaction information | NET_DVR_TRADEINFO
    COMM_ALARM_HOT_SPARE | 0x4006 | Hot spare exception alarm (in N+1 mode) information | NET_DVR_ALARM_HOT_SPARE
    COMM_ALARM_BUTTON_DOWN_EXCEPTION | 0x1152 | Press button alarm information (IP main door station) | NET_BUTTON_DOWN_EXCEPTION_ALARM
    COMM_ALARM_ACS | 0x5002 | Alarm information of access controller | NET_DVR_ACS_ALARM_INFO
    COMM_SCREEN_ALARM | 0x5000 | Alarm information uploaded by multi-screen controller | NET_DVR_SCREENALARMCFG
    COMM_ALARM_LCD | 0x5011 | LCD screen alarm information | NET_DVR_LCD_ALARM
    COMM_UPLOAD_VIDEO_INTERCOM_EVENT | 0x1132 | Log information of video intercom event | NET_DVR_VIDEO_INTERCOM_EVENT
    COMM_ALARM_VIDEO_INTERCOM | 0x1133 | Video intercom alarm information | NET_DVR_VIDEO_INTERCOM_ALARM
    COMM_ALARM_DEC_VCA | 0x5010 | VCA decoding alarm information of decoder | NET_DVR_DEC_VCA_ALARM
    COMM_GISINFO_UPLOAD | 0x4012 | GIS information | NET_DVR_GIS_UPLOADINFO
    COMM_VANDALPROOF_ALARM | 0x4013 | Vandal-proof alarm information | NET_DVR_VANDALPROOF_ALARM
    COMM_ALARM_STORAGE_DETECTION | 0x4015 | Alarm information of storage VCA detection | NET_DVR_STORAGE_DETECTION_ALARM
    COMM_ALARM_ALARMGPS | 0x1202 | GPS alarm information | NET_DVR_GPSALARMINFO
    COMM_ALARM_SWITCH_CONVERT | 0x5004 | Switcher alarm information | NET_DVR_SWITCH_CONVERT_ALARM
    COMM_INQUEST_ALARM | 0x6005 | Inquest DVR alarm information | NET_DVR_INQUEST_ALARM
    COMM_PANORAMIC_LINKAGE_ALARM | 0x5213 | Panoramic view linkage to event information | NET_DVR_PANORAMIC_LINKAGE

Example

The following example shows the configuration of receiving alarm information via callback function by arming mode.

void CALLBACK MessageCallback(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser)
{
  int i;
  switch(lCommand)
  {
  case COMM_ALARM:
      {
          NET_DVR_ALARMINFO struAlarmInfo;
          memcpy(&struAlarmInfo, pAlarmInfo, sizeof(NET_DVR_ALARMINFO));
          switch (struAlarmInfo.dwAlarmType)
          {
          case 3: //Motion detection alarm
               for (i=0; i<16; i++)   //#define MAX_CHANNUM   16  //Maximum channel number
               {
                   if (struAlarmInfo.dwChannel[i] == 1)
                   {
                       printf("The channel No. with triggered motion detection alarm %d\n", i+1);
                   }
               }
          break;
          default:
          break;
          }
       }
  break;
  default:
  break;
  }
}

void main() {

  //---------------------------------------
  // Initialization
  NET_DVR_Init();
  //Set the connection time and reconnection time
  NET_DVR_SetConnectTime(2000, 1);
  NET_DVR_SetReconnect(10000, true);

  //---------------------------------------
  // Register device
  LONG lUserID;
  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  lUserID = NET_DVR_Login_V30("172.0.0.100", 8000, "admin", "12345", &struDeviceInfo);
  if (lUserID < 0)
  {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return;
  }

  //Set alarm callback function
  NET_DVR_SetDVRMessageCallBack_V30(MessageCallback, NULL);

  //Enable Arming
  LONG lHandle;
  lHandle = NET_DVR_SetupAlarmChan_V30(lUserID);
  if (lHandle < 0)
  {
      printf("NET_DVR_SetupAlarmChan_V30 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  Sleep(5000);
  //Disarming uploading channel
  if (!NET_DVR_CloseAlarmChan_V30(lHandle))
  {
      printf("NET_DVR_CloseAlarmChan_V30 error, %d\n", NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //User logout
  NET_DVR_Logout(lUserID);
  //Release SDK resource
  NET_DVR_Cleanup();
  return;
}

See Also

NET_DVR_SetupAlarmChan_V41

NET_DVR_StartListen_V30

Reference Interface

Expanded API is visible

NET_DVR_SetDVRMessageCallBack_V31

NET_DVR_SetDVRMessageCallBack_V50


NET_DVR_SaveRealData

Device Network SDK Programming Manual

NET_DVR_SetDVRMessCallBack

This API is used to register callback function to receive device alarm messages(callback IP address at the same time, to distinguish different alarm messages).

BOOL NET_DVR_SetDVRMessCallBack(
  fMessCallBack    cbMessCallBack
);

Parameters

cbMessCallBack
[in] Callback function

Callback Function

BOOL(CALLBACK *fMessCallBack)(
  LONG     lCommand,
  char     *sDVRIP,
  char     *pBuf,
  DWORD    dwBufLen
);

Callback Function Parameters

lCommand
Upload message types, as below table:
Macro Definition | Value | Implication
COMM_ALARM | 0x1100 | Alarm message upload of devices supported lower than V3.0
COMM_ALARM_RULE | 0x1102 | Behavior analysis information upload
COMM_ALARM_PDC | 0x1103 | Pedestrian counting alarm upload
COMM_TRADEINFO | 0x1500 | ATM DVR transaction information upload
COMM_UPLOAD_PLATE_RESULT | 0x2800 | Intelligent traffic camera alarm upload
COMM_ALARM_V30 | 0x4000 | Alarm message upload of devices supported higher than V3.0
COMM_IPCCFG | 0x4001 | Alarm information upload when the IPC access to Hybrid DVR configuration changes
COMM_IPCCFG_V31 | 0x4002 | Alarm information upload when the IPC access to Hybrid DVR configuration changes(extend)
sDVRIP
Device IP address
pBuf
Alarm message
dwBufLen
Alarm message buffer size

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

The first parameter (lCommand) and the third parameter (pBuf) of this API callback is closely related, the relationship as below table:
Message Type (lCommand) | Upload Content | pAlarmInfo Corresponding Structure
COMM_ALARM | Device alarm message upload supported by Version lower than V3.0 | NET_DVR_ALARMINFO
COMM_ALARM_RULE | Behaviour analyze message upload | NET_VCA_RULE_ALARM
COMM_ALARM_PDC | Pedestrian counting alarm upload | NET_DVR_PDC_ALRAM_INFO
COMM_TRADEINFO | ATM DVR transaction message | NET_DVR_TRADEINFO
COMM_UPLOAD_PLATE_RESULT | Intelligent traffic camera alarm upload | NET_DVR_PLATE_RESULT
COMM_ALARM_V30 | Device alarm message upload supported by Version higher than V3.0 | NET_DVR_ALARMINFO_V30
COMM_IPCCFG | Alarm message upload of hybrid DVR when IPC access configuration changes | NET_DVR_IPALARMINFO
COMM_IPCCFG_V31 | Alarm message upload of hybrid DVR when IPC access configuration changes (extend) | NET_DVR_IPALARMINFO_V31

See Also

NET_DVR_SetupAlarmChan_V30 NET_DVR_SetupAlarmChan NET_DVR_StartListen

Reference Interface

NET_DVR_SetDVRMessageCallBack_V30

NET_DVR_SetDVRMessCallBack_EX

NET_DVR_SetDVRMessCallBack_NEW

NET_DVR_SetDVRMessageCallBack


NET_DVR_SetDVRMessCallBack_EX

This API is used to register callback function to receive device alarm messages(callback IP address at the same time, to distinguish different alarm messages).

BOOL NET_DVR_SetDVRMessCallBack_EX(
  fMessCallBack_EX    cbMessCallBack
);

Parameters

cbMessCallBack
[in] Callback function

Callback Function

BOOL(CALLBACK *fMessCallBack_EX)(
  LONG     lCommand,
  LONG     lUserID,
  char     *pBuf,
  DWORD    dwBufLen
);

Callback Function Parameters

lCommand
Upload message types, as below table:
Macro Definition | Macro Definition Value | Implication
COMM_ALARM | 0x1100 | Device alarm message upload supported by Version lower than V3.0
COMM_ALARM_RULE | 0x1102 | Behaviour analyze message upload
COMM_ALARM_PDC | 0x1103 | Flow of people statistics alarm upload
COMM_TRADEINFO | 0x1500 | ATM DVR transaction message
COMM_UPLOAD_PLATE_RESULT | 0x2800 | Intelligent traffic camera alarm upload
COMM_ALARM_V30 | 0x4000 | Device alarm message upload supported by Version higher than V3.0
COMM_IPCCFG | 0x4001 | Alarm message upload of hybrid DVR when IPC access configuration changes
COMM_IPCCFG_V31 | 0x4002 | Alarm message upload of hybrid DVR when IPC access configuration changes (extend)
lUserID
User login ID, the return value of NET_DVR_Login or NET_DVR_Login_V30
pBuf
Alarm message
dwBufLen
Alarm message buffer size

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

The first parameter (lCommand) and the third parameter (pBuf) of this API callback is closely related, the relationship as below table:
Message Type(lCommand) | Upload Content | pAlarmInfo Corresponding Structure
COMM_ALARM | Alarm message upload of devices supported lower than V3.0 | NET_DVR_ALARMINFO
COMM_ALARM_RULE | Behavior analysis information | NET_VCA_RULE_ALARM
COMM_ALARM_PDC | Pedestrian counting alarm upload | NET_DVR_PDC_ALRAM_INFO
COMM_TRADEINFO | ATM DVR transaction information upload | NET_DVR_TRADEINFO
COMM_UPLOAD_PLATE_RESULT | Intelligent traffic camera alarm upload | NET_DVR_PLATE_RESULT
COMM_ALARM_V30 | Alarm message upload of devices supported higher than V3.0 | NET_DVR_ALARMINFO_V30
COMM_IPCCFG | Alarm information upload when the IPC access to Hybrid DVR configuration changes | NET_DVR_IPALARMINFO
COMM_IPCCFG_V31 | Alarm information upload when the IPC access to Hybrid DVR configuration changes(extend) | NET_DVR_IPALARMINFO_V31

See Also

NET_DVR_SetupAlarmChan_V30 NET_DVR_SetupAlarmChan NET_DVR_StartListen

Reference Interface

NET_DVR_SetDVRMessageCallBack_V30

NET_DVR_SetDVRMessCallBack

NET_DVR_SetDVRMessCallBack_NEW

NET_DVR_SetDVRMessageCallBack


NET_DVR_SetDVRMessCallBack_NEW

This API is used to register callback function to receive device alarm messages(callback IP address at the same time, to distinguish different alarm messages).

BOOL NET_DVR_SetDVRMessCallBack_NEW(
  fMessCallBack_NEW    cbMessCallBack
);

Parameters

cbMessCallBack
[in] Callback function

Callback Function

BOOL(CALLBACK *fMessCallBack_NEW)(
  LONG     lCommand,
  char     *sDVRIP,
  char     *pBuf,
  DWORD    dwBufLen,
  WORD     dwLinkDVRPort
);

Callback Function Parameters

lCommand
Upload message types, as below table:
Macro Definition | Value | Implication
COMM_ALARM | 0x1100 | Alarm message upload of devices supported lower than V3.0
COMM_ALARM_RULE | 0x1102 | Behavior analysis information upload
COMM_ALARM_PDC | 0x1103 | Pedestrian counting alarm upload
COMM_TRADEINFO | 0x1500 | ATM DVR transaction information upload
COMM_UPLOAD_PLATE_RESULT | 0x2800 | Intelligent traffic camera alarm upload
COMM_ALARM_V30 | 0x4000 | Alarm message upload of devices supported higher than V3.0
COMM_IPCCFG | 0x4001 | Alarm information upload when the IPC access to Hybrid DVR configuration changes
COMM_IPCCFG_V31 | 0x4002 | Alarm information upload when the IPC access to Hybrid DVR configuration changes(extend)
sDVRIP
Device IP address
pBuf
Alarm message
dwBufLen
Alarm message buffer size
dwLinkDVRPort
Device port aceess to device

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

Remarks

The first parameter (lCommand) and the third parameter (pBuf) of this API callback is closely related, the relationship as below table:
Message Type (lCommand) | Upload Content | pAlarmInfo Corresponding Structure
COMM_ALARM | Device alarm message upload supported by Version lower than V3.0 | NET_DVR_ALARMINFO
COMM_ALARM_RULE | Behaviour analyze message upload | NET_VCA_RULE_ALARM
COMM_ALARM_PDC | Pedestrian counting alarm upload | NET_DVR_PDC_ALRAM_INFO
COMM_TRADEINFO | ATM DVR transaction message | NET_DVR_TRADEINFO
COMM_UPLOAD_PLATE_RESULT | Intelligent traffic camera alarm upload | NET_DVR_PLATE_RESULT
COMM_ALARM_V30 | Device alarm message upload supported by Version higher than V3.0 | NET_DVR_ALARMINFO_V30
COMM_IPCCFG | Alarm message upload of hybrid DVR when IPC access configuration changes | NET_DVR_IPALARMINFO
COMM_IPCCFG_V31 | Alarm message upload of hybrid DVR when IPC access configuration changes (extend) | NET_DVR_IPALARMINFO_V31

See Also

NET_DVR_SetupAlarmChan_V30 NET_DVR_SetupAlarmChan NET_DVR_StartListen

Reference Interface

NET_DVR_SetDVRMessageCallBack_V30

NET_DVR_SetDVRMessCallBack

NET_DVR_SetDVRMessCallBack_EX

NET_DVR_SetDVRMessageCallBack


NET_DVR_SetPicViewDataCallBack

This API is used to set view callback function.

BOOL NET_DVR_SetPicViewDataCallBack(
  LONG               lPicViewHandle,
  SCREENPICDATACB    fPicDataCallback,
  void               *pUserData
);

Parameters

lPicViewHandle
[in] The handle in the NET_DVR_PICVIEW_CALLBACKPARAM returned by NET_DVR_SetPicViewResponseCallBack
fPicDataCallback
[in] Data callback function
pUserData
[in] User data

Callback Function

typedef LONG(CALLBACK *SCREENPICDATACB)(
  LONG     nScreenPicHandle,
  DWORD    dwDataType,
  BYTE     *pBuffer,
  DWORD    dwBufSize,
  void     *pUser
);

Callback Function Parameters

nScreenPicHandle
[out] The view callback handle
dwDataType
[out] Data type
enum _PIC_PREVIEW_DATATYPE_{
  NET_DVR_DATA_BMP  = 0,
  NET_DVR_START_CALLBACK,
  NET_DVR_STREAM_SYSHEAD,
  NET_DVR_STREAM_DATA
}TRAFFIC_SCENE_MODE
NET_DVR_DATA_BMP
BMP data
NET_DVR_START_CALLBACK
Start callback
NET_DVR_STREAM_SYSHEAD
System head
NET_DVR_STREAM_DATA
Stream data
pBuffer
[out] Data buffer
dwBufSize
[out] Buffer size
pUser
[out] User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_SetPicViewResponseCallBack


NET_DVR_SetPicViewResponseCallBack

This API is used to set the response callback function of view callback.

BOOL NET_DVR_SetPicViewResponseCallBack(
  PicViewCallBack    fPicViewResponseCallBack,
  void               *pUser
);

Parameters

fPicViewResponseCallBack
[in] The response callback function of view callback
pUser
[in] User data

Callback Function

typedef LONG(CALLBACK *PicViewCallBack)(
  LPNET_DVR_PICVIEW_CALLBACKPARAM    pStruPicViewParam,
  void                               *pUser
);

Callback Function Parameters

pStruPicViewParam
[out] Registration parameter of view callback
pUser
[out] User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.


NET_DVR_SetPlayDataCallBack

This API is used to register callback function and capture record data.

BOOL NET_DVR_SetPlayDataCallBack(
  LONG                 lPlayHandle,
  fPlayDataCallBack    cbPlayDataCallBack,
  DWORD                dwUser
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime
PUSH MODE: playback handle(lStreamHandle), output parameter in the callback function set by NET_DVR_SetPlaybackResponseCallBack
fPlayDataCallBack
[in] Record data callback function
dwUser
[in] User data

Callback Function

typedef void(CALLBACK *fPlayDataCallBack)(
  LONG      lPlayHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  DWORD     dwUser
);

Callback Function Parameters

lPlayHandle
Current record play handle
dwDataType
Data type
Macro Definition | Value | Implication
NET_DVR_SYSHEAD | 1 | System head data
NET_DVR_STREAMDATA | 2 | Stream data(compound stream or only video stream )
pBuffer
Buffer pointer for stroing data
dwBufSize
Buffer size
dwUser
User data

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.

Remarks

This function includes start and stop users to handle SDK captured data, when callback function cbPlayDataCallback is set to not NULL value, that indicates callback and process data; when set to NULL, that indicates stop callback and handle data. The first callback package is a 40 bytes file head, used for following decoding, then is the compressed stream data.

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime

NET_DVR_SetPlaybackResponseCallBack

Reference Interface

NET_DVR_SetPlayDataCallBack_V40


NET_DVR_SetPlayerBufNumber

This API is used to set frame number of player buffer.

BOOL NET_DVR_SetPlayerBufNumber(
  LONG      lRealHandle,
  DWORD     dwBufNum
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwBufNum
[in] The greatest video frames need to set when single video play, value range[1,50], the default frame buffer size is 15.
If the value is out of the range[1,50], SDK will automatically set it to default value.

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Network delay and play fluency can be adjusted through this interface. dwBufNum value is larger, the play fluency is better and delay is larger, too; dwBufNum value is larger, the play delay is smaller, but when network is not smooth, there will be frame loss phenomenon, affecting the flow of play. If current is mixed flow, in order to ensure effective proposal to set audio and video synchronization, frame buffer is advised to be greater than or equal to 6 frames. This function must be used immediately after NET_DVR_RealPlay, the image settings are not working after playing.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_SetReconnect

This API is used to set reconnect time interval.

BOOL NET_DVR_SetReconnect(
  DWORD   dwInterval,
  BOOL    bEnableRecon
);

Parameters

dwInterval
[in] Reconnect interval in milliseconds, default value:30 seconds
bEnableRecon
[in] Enable or disable reconnect function, 0-disable, 1-enable(default)

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

This API can set the reconnect function for preview, transparent channel and alar on guard status. If the user does not call this API, the SDK will initial the reconnect function for preview, transparent channel and alarm on guard status by default, and the reconnect interval is 5 seconds.


NET_DVR_SetSDKLocalConfig

This API is used to get the local parameters of SDK.

BOOL NET_DVR_SetSDKLocalConfig(
  LPNET_DVR_SDKLOCAL_CFG    lpSdkLocalCfg
);

Parameters

lpSdkLocalCfg
[in] Local parameter of SDK, including the status of simulate capability set and voice talk library

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetSDKLocalConfig


NET_DVR_SetSTDConfig

Set device configuration information

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

When setting the configuration parameters, IpOutBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpInBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_CALL_WAITTING_CFG | Set calling waiting parameter configuration | NULL | NET_DVR_CALL_WAITTING_CFG | 2215
NET_DVR_SET_ALARM_LAMP_CFG | Set siren parameter configuration | NULL | NET_DVR_ALARM_LAMP_CFG | 2218
NET_DVR_SET_VOICE_PROMPTION_CFG | Set voice prompt configuration | NULL | NET_DVR_VOICE_PROMPTION_CFG | 2221
NET_DVR_REGISTER_ALARM_RS485 | RS485 register | NULL | NET_DVR_REGISTER_RS485CFG | 2226
NET_DVR_SET_ALARMIN_TRIGGER | Set alarm host arming region linkage configuration | NET_DVR_ALARMIN_TRIGGER_COND | NET_DVR_EVENT_TRIGGER | 2231
NET_DVR_SET_EMERGENCY_CALL_HELP_TRIGGER | Set alarm host emergency help linkage configuration | NET_DVR_ALARMIN_TRIGGER_COND | NET_DVR_EVENT_TRIGGER | 2233
NET_DVR_SET_CONSULT_TRIGGER | Set alarm host service consulting linkage configuration | NET_DVR_ALARMIN_TRIGGER_COND | NET_DVR_EVENT_TRIGGER | 2235

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Device Configuration Information Settings.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of the login structures such as NET_DVR_Login_V40
dwCommand
[in] Device configuration command. See "Remarks" for details
lpConfigParam
[in&out] Configure the input and output parameters. Different configuration functions correspond to different input and output parameters. See "Remarks" for details.

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastErrorto get the error code and find the reason.

Remarks

When getting the configuration parameters, lpOutBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpInBuffer in lpConfigParam correspond to different contents. For details, see the table below.

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_TERMINAL_INPUT_CFG | Set the input parameters of terminal video conference | NULL | NET_DVR_TERMINAL_INPUT_CFG | 9139
NET_DVR_SET_CONFERENCE_REGION | Set the parameters of terminal conference region | NULL | NET_DVR_CONFERENCE_REGION | 9142
NET_DVR_SET_TERMINAL_CALL_CFG | Set the parameters of terminal call | NULL | NET_DVR_TERMINAL_CALL_CFG | 9145
NET_DVR_SET_TERMINAL_GK_CFG | Set the parameters of terminal register GK | NULL | NET_DVR_TERMINAL_GK_CFG | 9155

NET_DVR_SET_TERMINAL_INPUT_CFG corresponds to ISAPI URL: PUT /ISAPI/VCS/terminals/inputConfig

NET_DVR_SET_TERMINAL_CALL_CFG corresponds to ISAPI URL: PUT /ISAPI/VCS/terminals/callConfiguration

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Set the device configuration information.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The returned value of login API, such as NET_DVR_Login_V40.
dwCommand
[in] Device configuration command. See "Remarks" for details.
lpConfigParam
[in&out] Configure the input and output parameters. Different configuration function corresponds with different input and output parameter. See "Remarks" for details.

Return Values

TRUE means success and FALSE means failure. Call NET_DVR_GetLastError to get the error code.

Remarks

To set the configuration parameters, the lpOutBuffer of the lpConfigParam structure should be set as NULL. For different configuration functions (dwCommand), the lpCondBuffer, lpInBuffer and lpXmlBuffer of the lpConfigParam structure respectively correspond with different content. Currently, the following commands only support XML method (byDataType should be set as 1), thus the lpInBuffer is NULL and the lpXmlBuffer varies according to the different commands.See the table below for details.

dwCommand Macro Definition | Description | lpCondBuffer | lpXmlBuffer | Macro Definition Value
NET_DVR_SET_ALARM_PROCESS_CFG | Set the alarm linkage action parameters. | NULL | AlarmProcess | 5221
NET_DVR_SET_STORAGE_RESOURCE_CFG | Set the storage resource parameters. | NULL | StorageResource | 5226
NET_DVR_SET_BLACKLIST_GROUP_INFO | Remotely set the group list. | NULL | ListGroupInfo | 5229
NET_DVR_SET_BLACKLIST_GROUP_RECORD_CFG | Set the grouping record. | NULL | RecordInfo | 5232
NET_DVR_SET_AREA_MONITOR_CFG | Set the regional camera parameters. | 4-byte (DWORD) region number. | AreaMonitor | 5237
NET_DVR_SET_FACE_RECORD | Add face record. | NULL | FaceRecord | 5246
NET_DVR_SET_FACE_DATABASE | Set the face library configuration parameters. | NULL | FaceDataBase | 5249
NET_DVR_SET_BLACKLIST_REL_DEV_CFG | Link the name list to the device by grouping.. | NULL | GroupRelDevInfo | 5252
  • To get the device linked name list grouping information, you can call the NET_DVR_GetSTDConfig (Command: NET_DVR_GET_AREA_MONITOR_CFG). The information will be contained in the regional camera information.
  • Before you add the face record, you can call the NET_DVR_GetSTDConfig (Command: NET_DVR_DETECT_IMAGE) to upload the face sub-pictures which are detected in the original picture.

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Set the device configuration information.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Returned value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command. For detail definitions, see "Remarks".
lpConfigParam
[in&out] configure input and output parameters. Different configuration functions correspond to different input and output parameters. For details, see "Remarks".

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

When setting the configuration parameters, the parameter lpOutBuffer in lpConfigParamStructure is invalid, and should be set as NULL. For different configuration functions, parameters lpCondBuffer and lpInBuffer in lpConfigParam correspond to different contents. For details, see the table in below.

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_CENTRALIZEDCTRL | Set the centralized control configuration | 4-byte (DWORD) channel | NET_DVR_CENTRALIZEDCTRL_CFG | 3702
NET_DVR_SET_VANDALPROOFALARM | Set the vandal-proof alarm parameters | 4-byte (DWORD) channel | NET_DVR_VANDALPROOFALARM_CFG | 3705

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Device Configuration Information Settings

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of the login structures such as NET_DVR_Login_V40.
dwCommand
[in] Device configuration command, for details, see"Remarks".
lpConfigParam
[in&out] The configuration of the input/output parameters, for details, see"Remarks".

Return Values

Return TRUE on success, FALSE on failure. Please callNET_DVR_GetLastError for the error code.

Remarks

When setting the configuration parameters, lpOutBuffer in the structure of lpConfigParam is invalid, and is set as NULL. for different configuration function(dwCommand), the lpCondBuffer and lpInBuffer in the lpConfigParam are different.

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_IPDEVICE_ACTIVATED | Activating the front-end device through NVR | NULL | NET_DVR_IPDEVICE_ACTIVATE_CFG | 13000


NET_DVR_SetSTDConfig

Set device configuration information

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configuration input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

When setting the configuration parameters, IpOutBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpInBuffer in lpConfigParam correspond to different contents. For details, see the table below:

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_SET_EAGLEFOCUSING_CALCFG | Set eagle focus calibration configuration | 4-byte (DWORD) channel No. | NET_DVR_EAGLEFOCUSING_CALCFG | 3648
NET_DVR_SET_EAGLEFOCUSING_CTRL | Set eagle focus calibration configuration | 4-byte (DWORD) channel No. | NET_DVR_EAGLEFOCUSING_CTRL | 3651

See Also

NET_DVR_GetSTDConfig NET_DVR_Login_V40


NET_DVR_SetSTDConfig

Set the device configuration information.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Settings command of the device, see details in "Remarks"
lpConfigParam
[in&out] The input and output parameters of configuration. Different functions correspond with different input and output parameters, refer to "Remarks" description for details

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError for error code.

Remarks

When getting settings parameters, IpInBuffer in the structure IpConfigParam is invalid, and is set to NULL. Besides, in IpConfigParam, IpCondBuffer and IpOutBuffer correspond to different contents according to different settings functions (dwCommand). See details in the following table.

dwCommand Macro Definition | Description | lpCondBuffer | lpOutBuffer | Value
NET_DVR_GET_SHIPSDETECTION_EVENT_TRIGGER | set ship detection corresponded configuration | NULL | NET_DVR_EVENT_TRIGGER | 6666
NET_DVR_GET_SHIPSDETECTION_SCHEDULE | set ship detection arming schedule | 4 bytes of (DWORD) channel No. | NET_DVR_EVENT_SCHEDULE | 6664
NET_DVR_GET_SHIPSDETECTION_CFG | set ship detection configruation | 4 bytes of (DWORD) channel No. | NET_DVR_SHIPSDETECTION_CFG | 6655

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Device Configuration Information Settings.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] The return value of the login structures such as NET_DVR_Login_V40
dwCommand
[in] Device configuration command. See "Remarks" for details.
lpConfigParam
[in&out] Configure the input and output parameters. Different configuration functions correspond to different input and output parameters. See "Remarks" for details.

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

When getting the configuration parameters, lpOutBuffer in the structure lpConfigParam is invalid, and is set to NULL. For different configuration functions (dwCommand), lpCondBuffer and lpInBuffer in lpConfigParam correspond to different contents. For details, see the table below.

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_ALARMCTRL_CFG | Set alarm control | 4 bytes(DWORD) channel number | NET_DVR_ALARMCTRL_CFG | 3147
NET_DVR_SET_PXOFFLINE_CFG | Set offline parameters of parking lot ticket machine | 4 bytes(DWORD) channel number | NET_DVR_PXOFFLINE_CFG | 3653
NET_DVR_SET_PAPERCHARGEINFO | Send ticket info to parking lot entrance and exit | 4 bytes(DWORD) channel number | NET_DVR_PAPERCHARGEINFO_CFG | 3656
NET_DVR_SET_PARKINGSAPCE_INFO | Send parking space info to parking lot entrance and exit | 4 bytes(DWORD) channel number | NET_DVR_PARKINGSAPCE_CFG | 3658
NET_DVR_SET_CHARGE_ACCOUNTINFO | Broadcast parking fee info at the parking lot entrance and exit | 4 bytes(DWORD) channel number | NET_DVR_CHARGEACCOUNT_CFG | 3662
NET_DVR_SET_PXMULTICTRL_CFG | Set multi-channel parameters for parking lot ticket machine slave devices | 4 bytes(DWORD) channel number | NET_DVR_PXMULTICTRL_CFG | 3663
NET_DVR_SET_TME_CHARGERULE | Set parking fee rule parameters for the parking lot entrance and exit | NET_DVR_ENTRANCE_CHARGE_COND | ChargeRuleInfo | 3666
NET_DVR_SET_ILLEGALCARDFILTERING_CFG | Set the parameters of parking lot ticket machine | 4 bytes(DWORD) channel number | NET_DVR_ILLEGALCARDFILTERING_CFG | 3670
NET_DVR_SET_LEDDISPLAY_CFG | Set the parameters of LED display | 4 bytes(DWORD) channel number | NET_DVR_LEDDISPLAY_CFG | 3672
NET_DVR_SET_VOICEBROADCAST_CFG | Set the parameters of voice alarm control | 4 bytes(DWORD) channel number | NET_DVR_VOICEBROADCAST_CFG | 3675
NET_DVR_SET_PAPERPRINTFORMAT_CFG | Set the parameters of ticket print format | 4 bytes(DWORD) channel number | NET_DVR_PAPERPRINTFORMAT_CFG | 3678
NET_DVR_SET_LOCKGATE_CFG | Set the parameters of smart barrier | 4 bytes(DWORD) channel number | NET_DVR_LOCKGATE_CFG | 3681

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Set the configuration information of device.

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait for the return value from login interface
dwCommand
[in] Device configuration command, see detailed definition in Remarks list
lpConfigParam
[in&out] Configure input/output parameters. Different configuration functions correspond to different inout/output parameters.See detaild in Remarks.

Return Values

TRUE means success, FALSE means failure. To get error code, callNET_DVR_GetLastError

Remarks

When configuring parameters, the lpOutBuffer in lpConfigParamStructure is invalid, set as NULL. For different configuration fucntions (dwCommand), the lpCondBuffer and lpInBuffer in lpConfigParam correspond to differnet contents. See details in the following table:

dwCommand Macro definition | Definition | lpCondBuffer | lpInBuffer | Macro definition value
NET_DVR_SET_SLAVECAMERA | Configure slave camera IP information configuration | NET_DVR_SLAVECAMERA_COND | NET_DVR_SLAVECAMERA_CFG | 3601
NET_DVR_SET_SLAVECAMERA_CALIB | Configure slave camera calibration configuration | NET_DVR_SLAVECAMERA_COND | NET_DVR_SLAVECAMERA_CALIB_CFG | 3605
NET_DVR_SET_SLAVECAMERA_CALIB_V50 | Configure slave camera calibration configuration (expand) | NET_DVR_SLAVECAMERA_COND | NET_DVR_SLAVECAMERA_CALIB_V50 | 3615
NET_DVR_SET_TRACKING | Master and slave tracking camera tracking configuration | NET_DVR_SLAVECAMERA_COND | NET_DVR_TRACKING | 3612
NET_DVR_SET_TRACKINGRATIO_MANUAL | Configure slave camera manual tracking ratio | NET_DVR_SLAVECAMERA_COND | NET_DVR_MANUAL_TRACKRATIO | 3616

See Also

NET_DVR_GetSTDConfig NET_DVR_GetLastError


NET_DVR_SetSTDConfig

Set device configuration information

BOOL NET_DVR_SetSTDConfig(
  LONG                    lUserID,
  DWORD                   dwCommand,
  LPNET_DVR_STD_CONFIG    lpConfigParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Device configuration command, for details see "Remarks"
lpConfigParam
[in&out] Configure input and output parameters, for details see "Remarks"

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

When configuring parameters, the lpOutBuffer in lpConfigParam is invalid, set as NULL. For different configuration functions (dwCommand), the lpCondBuffer and lpInBuffer in lpConfigParam correspond to different contents. See details in the following table:

dwCommand Macro Definition | Description | lpCondBuffer | lpInBuffer | Value
NET_DVR_SET_SECURITY_QUESTION_CFG | Set device security question | NULL | NET_DVR_SECURITY_QUESTION_CFG | 4366

See Also

NET_DVR_GetSTDConfig NET_DVR_Login_V40


NET_DVR_SetupAlarmChan

This API is used to set alarm upload channel and obtain alarm message.

LONG NET_DVR_SetupAlarmChan(
  LONG   lUserID
);

Parameters

lUserID
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30

Return Values

-1 means false, other values are as handle parameters of function NET_DVR_CloseAlarmChan. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_DVRNORESOURCE | 28 | Not enough resource on the device.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_MAX_NUM | 46 | The number of login or preview connections has exceeded the SDK limitation.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

Start deployment, need to call up the callback function connector(only call one of NET_DVR_SetDVRMessageCallBack_V30, NET_DVR_SetDVRMessCallBack, NET_DVR_SetDVRMessCallBack_EX, NET_DVR_SetDVRMessCallBack_NEW and NET_DVR_SetDVRMessageCallBack for demands) for obtaining upload alarm information.

See Also

NET_DVR_CloseAlarmChan

NET_DVR_Login NET_DVR_Login_V30

NET_DVR_SetDVRMessageCallBack_V30

NET_DVR_SetDVRMessCallBack

NET_DVR_SetDVRMessCallBack_EX

NET_DVR_SetDVRMessCallBack_NEW

NET_DVR_SetDVRMessageCallBack

Reference Interface

NET_DVR_SetupAlarmChan_V30


NET_DVR_SetupAlarmChan_V30

This API is used to setup the uploading channel of alarm message.

LONG NET_DVR_SetupAlarmChan_V30(
  LONG   lUserID
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30

Return Values

-1 means false, other values are as handle parameters of function NET_DVR_CloseAlarmChan. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_DVRNORESOURCE | 28 | Not enough resource on the device.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_MAX_NUM | 46 | The number of login or preview connections has exceeded the SDK limitation.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

Before calling this API to start arming, it requires to call NET_DVR_SetDVRMessageCallBack_V30 to get the uploaded alarm message.

See Also

NET_DVR_CloseAlarmChan_V30

NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_SetupAlarmChan

NET_DVR_SetupAlarmChan_V41


NET_DVR_SetValidIP

This API is used to select which IP to use.

BOOL NET_DVR_SetValidIP(
  DWORD     dwIPIndex,
  BOOL      bEnableBind
);

Parameters

dwIPIndex
[in] The IP subscript which select to use, got by NET_DVR_GetLocalIP
bEnableBind
[in] Whether bind or not

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_GetLocalIP


NET_DVR_SmartSearch_V40

Start smart search

LONG NET_DVR_SmartSearch_V40(
  LONG                                lUserID,
  LPNET_DVR_SMART_SEARCH_PARAM_V40    lpSmartSearchParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpSmartSearchParam
[in] Smart search structure

Return Values

-1 means failure, other values serve as parameter of NET_DVR_SearchNextInfo and NET_DVR_StopSearch. Call NET_DVR_GetLastError to get error code.

Below are possible error code

Type | Value | Description
NET_DVR_NOERROR | 0 | No error
NET_DVR_NOENOUGHPRI | 2 | Not authorized to do this operation. Compare with remote user configuration.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_CHANNEL_ERROR | 4 | Channel number error. There is no corresponding channel number on the device.
NET_DVR_NETWORK_FAIL_CONNECT | 7 | Failed to connect to the device. The device is off-line, or connection timeout caused by network.
NET_DVR_NETWORK_SEND_ERROR | 8 | Failed to send data to the device.
NET_DVR_NETWORK_RECV_ERROR | 9 | Failed to receive data from the device.
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | Timeout when receiving the data from the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameters in the SDK API is NULL.
NET_DVR_NODISK | 19 | No hard disk on the device, and the operation of recording and hard disk configuration will fail.
NET_DVR_NOSUPPORT | 23 | Device does not support this function.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_NOENOUGH_BUF | 43 | Buffer is not enough.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

Remarks

The interface specifies the search condition information, when successfully called, call NET_DVR_SearchNextInfo to get search result. The found video file is for start and enforcement time, so only playback by time is supported (NET_DVR_PlayBackByTime_V40).

See Also

NET_DVR_SearchNextInfo NET_DVR_StopSearch
NET_DVR_Login_V40

Reference Interface

The interface extends from

NET_DVR_SmartSearch


NET_DVR_StartDecSpecialCon

This API is used to start dynamic control of connected decoder channels.

BOOL NET_DVR_StartDecSpecialCon(
  LONG                    lUserID,
  LONG                    lChannel,
  LPNET_DVR_DECCHANINFO   lpDecChanInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
lpDecChanInfo
[in] Decode device channel parameter structure

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_StopDecSpecialCon


NET_DVR_StartDownload

This API is used to download files.

LONG NET_DVR_StartDownload(
  LONG          lUserID,
  DWORD         dwDownloadType,
  LPVOID        lpInBuffer,
  DWORD         dwInBufferSize,
  char const    *sFileName
);

Parameters

lUserID
[in]The return value of NET_DVR_Login_V40
dwDownloadType
[in] The download file type, please refer to the 'Remarks' section below for details.
lpInBuffer
[in] The input buffer, for different dwUploadType, the input parameter is different,please refer to the 'Remarks' section below for details.
dwInBufferSize
[in] The size of input buffer
sFileName
[in]The absolute path to save the file, including the filename

Return Values

Return -1 if it is failed, other values are as parameter of NET_DVR_StopDownload and NET_DVR_GetDownloadState. For error code, please callNET_DVR_GetLastError

Remarks

Different file type corresponds to different command (dwUploadType) and different lpInBuffer, and they are listed below:

dwUploadType Macro Definition | Value | dwUploadType Description | lpInBuffer Structure
NET_SDK_DOWNLOAD_THERMOMETRIC_FILE | 15 | Download temperature calibration | NULL

See Also

NET_DVR_GetDownloadState NET_DVR_StopDownload


NET_DVR_StartDownloadAudio

This API is used to download voice data form the device.

LONG NET_DVR_StartDownloadAudio(
  LONG       lUserID,
  DWORD      dwAudioNum,
  char       *sAudioFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAudioNum
[in] Voice number: 1- entrance welcome prompt tone, 2- exit welcome prompt tone, 3- some people prompt tone, 4- ATM temporarily suspended, 5- prompt tone that the door is not closed, 6- (reserved)
sAudioFileName
[in] The absolute path of saving the audio file, including the filename

Return Values

-1 means false, and other values could be used as parameter of NET_DVR_GetAudioProgress or NET_DVR_StopAudioOperate. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login_V30


NET_DVR_StartListen

This API is used to start listening and receive alarm information uploaded actively from device (muti-thread).

BOOL NET_DVR_StartListen(
  char    *sLocalIP,
  WORD    wLocalPort
);

Parameters

sLocalIP
[in] local IP, can set to NULL
wLocalPort
[in] Local listening port number, configured by user, according with device

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_VERSIONNOMATCH | 6 | Version mismatch. SDK version is not matching with the device.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | Resource allocation error.
NET_DVR_CREATESOCKET_ERROR | 44 | Create SOCKET error.
NET_DVR_USERNOTEXIST | 47 | User doest not exist. The user ID has been logged out or unavailable.
NET_DVR_BINDSOCKET_ERROR | 72 | Failed to bind socket.
NET_DVR_SOCKETLISTEN_ERROR | 75 | Failed to listen.

Remarks

If you want client-end can receive the message sent by the DVR, please set the "remote host IP address" in the DVR network configuration to be the IP address of the PC, "remote host port no." to be the listen port no. of the PC.

See Also

NET_DVR_StopListen

NET_DVR_SetDVRMessageCallBack_V30

NET_DVR_SetDVRMessCallBack

NET_DVR_SetDVRMessCallBack_NEW

NET_DVR_SetDVRMessageCallBack

Reference Interface

NET_DVR_StartListen_V30


NET_DVR_StartPicPreview

This API is used to start callback the picture in client end.

LONG NET_DVR_StartPicPreview(
  LONG                             lUserID,
  LPNET_DVR_START_PIC_VIEW_INFO    lpStruStartPicView,
  SCREENPICDATACB                  PicDataCallback,
  void                             *pUserData
);

Parameters

lUserID
[in] Device register ID
lpStruStartPicView
[in] The callback information
PicDataCallback
[in] Picture data callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *SCREENPICDATACB)(
  LONG      nScreenPicHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  void      *pUser
);

Callback Function Parameters

nScreenPicHandle
[out] Picture callback handle
dwDataType
[out] Data type
enum _PIC_PREVIEW_DATATYPE_{
  NET_DVR_DATA_BMP  = 0,
  NET_DVR_START_CALLBACK,
  NET_DVR_STREAM_SYSHEAD,
  NET_DVR_STREAM_DATA
}TRAFFIC_SCENE_MODE
NET_DVR_DATA_BMP
BMP picture data
NET_DVR_START_CALLBACK
Start callback
NET_DVR_STREAM_SYSHEAD
System head data
NET_DVR_STREAM_DATA
Stream data (including separate audio and video stream or composite video stream data)
pBuffer
[out] Buffer pointer for saving data
dwBufSize
[out] Buffer size
pUser
[out] User data

Return Values

Return -1 if it is failed, and the other values could be used as a parameter of NET_DVR_StopScreenPic. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StopScreenPic

NET_DVR_SetPicViewResponseCallBack


NET_DVR_StartRemoteConfig

Start remote configuration。

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Control command, please refer to the list below:
dwCommand Macro Definition | Value | Description | lpInBuffer Structure | cbStateCallback
NET_DVR_GET_ALARMHOST_MODULE_LIST | 1222 | Get all modules | 4 bytes of module type: 1- Keyboard, 2- Trigger | NULL
NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM | 2034 | Get all zones of the sepecified partition | NET_DVR_LIST_INFO | NULL
NET_DVR_GET_ALARMHOST_TRIGGER_LIST | 2035 | Get all triggers | NULL | NULL
NET_DVR_SEARCH_ARMHOST_EXTERNAL_MODULE | 2041 | Continue to sort and number currently added external modules of unnumbered arming region and alarm output according to sorted arming regions and alarm outputs | NULL | Return the progress and status
NET_DVR_REGISTER_ALARMHOST_EXTERNAL_MODULE | 2042 | Re-sort and re-number all currently added external module arming region and alarm output | NULL | Return the progress and status
NET_DVR_GET_ALL_VARIABLE_INFO | 2057 | Get all variable information | NET_DVR_INPUT_INFO | NULL
NET_DVR_GET_HISTORY_VALUE | 2060 | Get the historical data | NET_DVR_SEARCH_CONDITION | NULL
NET_DVR_GET_ALL_REMOTECONTROLLER_LIST | 2205 | Get all remote controls | NULL | NULL
NET_DVR_GET_ALL_ALARM_RS485CFG | 2705 | Get all RS485 parameters | NET_DVR_485LIST_INFO | NULL
NET_DVR_GET_ALL_ALARMHOST_RS485_SLOT_CFG | 2706 | Get all 485 slot parameters | NET_DVR_485_SLOT_LIST_INFO | NULL
NET_DVR_GET_ALL_ALARM_POINT_CFG | 2708 | Get parameters for all points | NULL | NULL
NET_DVR_GET_ALL_ALARM_SENSOR_CFG | 2709 | Get all analog quantity parameters | NULL | NULL
NET_DVR_GET_ALL_ALARM_SENSOR_JOINT | 2710 | Get all analog linkage parameters | NULL | NULL
lpInBuffer
[in] Input Paraneters, The detailed content is related to the configuration command.
dwInBufferLen
[in] The size of input buffer
cbStateCallback
[in] Status callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status, the detailed definition are shown below.
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Callback status value
NET_SDK_CALLBACK_TYPE_PROGRESS
Callback progress value
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] The buffer pointer for saving data, the content is related to dwType.
dwType | Description | lpBuffer Related Content
NET_SDK_CALLBACK_TYPE_STATUS | Status Value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Successful NET_SDK_CALLBACK_STATUS_PROCESSING, //In processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress Value | lpBuffer value indicates the prgress(DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information data | lpBuffer value indicates the information data
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

-1: Failed; Otehr value is conducted as the handle of interface such as NET_DVR_SendRemoteConfig. For error code ,call NET_DVR_GetLastError.

Remarks

After calling this API to start remote configuration, you need t call other API to get the related parameters.

dwCommand Macro Definition | Description | API
NET_DVR_GET_ALARMHOST_MODULE_LIST | Get all module | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM | Get all zones in the specified partition | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_ALARMHOST_TRIGGER_LIST | Get all triggers | NET_DVR_GetNextRemoteConfig
NET_DVR_SEARCH_ARMHOST_EXTERNAL_MODULE | Search for the external module automatically | NULL
NET_DVR_REGISTER_ALARMHOST_EXTERNAL_MODULE | Register the external module automatically | NULL
NET_DVR_GET_ALL_VARIABLE_INFO | Get all variable information | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_HISTORY_VALUE | Get the historical data | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_ALL_REMOTECONTROLLER_LIST | Get all remote controls | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_ALL_ALARM_RS485CFG | Get all RS485 parameters | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_ALL_ALARMHOST_RS485_SLOT_CFG | Get all 485 slot parameters | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_ALL_ALARM_POINT_CFG | Get parameters for all points | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_ALL_ALARM_SENSOR_CFG | Get all analog quantity parameters | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_ALL_ALARM_SENSOR_JOINT | Get all analog likage parameters | NET_DVR_GetNextRemoteConfig
  • If the command (dwCommand) is NET_DVR_SEARCH_ARMHOST_EXTERNAL_MODULE or NET_DVR_REGISTER_ALARMHOST_EXTERNAL_MODULE, call this API to enable auto-search or auto-register, Get the progress and status via the callback function of fRemoteConfigCallback. Release resources by calling NET_DVR_StopRemoteConfig after auto-search or auto register. Call the API, and get the information of all zones in the partition and all triggers separately by the command of NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM or NET_DVR_GET_ALARMHOST_TRIGGER_LIST
  • Auto-search: search for the current valid external module. Auto-register: search for the current valid external module and allocate the address.

    • See Also

    NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StartRemoteConfig

Enable remote configration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] Return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] The structures and command numbers are different according to the different dwCommand, and they are listed as below:
dwCommand Macro Definition | Value | Function | lpInBuffer Structure | cbStateCallback
NET_DVR_GET_HEATMAP_RESULT | 5083 | Heat map data query | NET_DVR_HEATMAP_QUERY_COND | NULL
NET_DVR_GET_PDC_RESULT | 5089 | PDC data query | NET_DVR_PDC_QUERY_COND | NULL
lpInBuffer
[in] Input parameter,specific content is associated with configuration commands.
dwInBufferLen
[in] Input buffer size
cbStateCallback
[in] Status callback
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] configuration status, specific define is as follows:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Status value
NET_SDK_CALLBACK_TYPE_PROGRESS
Progress value
NET_SDK_CALLBACK_TYPE_DATA
Data
lpBuffer
[out] Buffer ponter of data, specific content is associated with dwType, please see in the list below:
dwType | Implication | content of lpBuffer
NET_SDK_CALLBACK_TYPE_STATUS | Status value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //succeed NET_SDK_CALLBACK_STATUS_PROCESSING, //processing NET_SDK_CALLBACK_STATUS_FAILED //failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | Value of lpBuffer (DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Data | Value of lpBuffer
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

-1 stands failure, other vlaue is act as the handle of NET_DVR_GetNextRemoteConfig and NET_DVR_StopRemoteConfig.Please call NET_DVR_GetLastError NET_DVR_GetLastErrorto get the error code.

Remarks

  • The API defines the info that need to be searched, after successfully calles, the user can call NET_DVR_GetNextRemoteConfig to get the info.

    • See Also

    NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StartRemoteConfig

Enable the remote configuration.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command,different function corresponding to the different command. The content of the lpInBuffer parameter is also different. Please see the details below:
dwCommand Macro Definition | Value | Control function | lpInBuffer | cbStateCallback
NET_DVR_VEHICLE_CHECK_START | 3106 | Data backhaul of blacklist check | NULL | The return status or the data
lpInBuffer
[in] Input buffer,the content is related to to configure command
dwInBufferLen
[in] Input buffer size
cbStateCallback
[in] State callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] State,please see the details below:
enum _NET_SDK_CALLBACK_STATUS_NORMAL_{
  NET_SDK_CALLBACK_STATUS_SUCCESS = 1000,
  NET_SDK_CALLBACK_STATUS_PROCESSING,
  NET_SDK_CALLBACK_STATUS_FAILED,
  NET_SDK_CALLBACK_STATUS_EXCEPTION,
  NET_SDK_CALLBACK_STATUS_LANGUAGE_MISMATCH,
  NET_SDK_CALLBACK_STATUS_DEV_TYPE_MISMATCH
}NET_SDK_CALLBACK_STATUS_NORMAL
NET_SDK_CALLBACK_STATUS_SUCCESS
success
NET_SDK_CALLBACK_STATUS_PROCESSING
processing
NET_SDK_CALLBACK_STATUS_FAILED
failed
NET_SDK_CALLBACK_STATUS_EXCEPTION
exception
lpBuffer
[out] Buffer pointer of store data
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

-1 returns failure, and other value will be handle of NET_DVR_StopRemoteConfig API. Please call NET_DVR_GetLastError to get the error code.

Remarks

Call the API to enable the remote connection, then judge the state in the callback function.After the state is successfully returned, please send the configuration info through NET_DVR_SendRemoteConfig .

See Also

NET_DVR_SendRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StartRemoteConfig

Start remote configuration.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait for the return value from interface.
dwCommand
[in] Configure command. Different functions correspond to different dwCommand. IpInBuffer and other parameters also correspond to different contents. See details in the following table:
dwCommandMacro definition | Macro definition value | Definition | lpInBuffer | cbStateCallback
NET_DVR_GET_ALL_RECORD_PASSBACK_TASK_MANUAL | 6235 | Get all manually added record passback tasks. | NET_DVR_RECORD_PASSBACK_MANUAL_COND | NULL
lpInBuffer
[in] Input parameter, detailed contents are related with dwCommand.
dwInBufferLen
[in] Input buffer length
cbStateCallback
[in] State callback
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD    dwType,
  void     *lpBuffer,
  DWORD    dwBufLen,
  void     *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status. See detailed definition in the following part:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Callback status value
NET_SDK_CALLBACK_TYPE_PROGRESS
Call-back progress value
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] Buffer compass used to store data, detailed contents is related with dwType. See details in the following list:
dwType | Definition | lpBuffer Corresponding content
NET_SDK_CALLBACK_TYPE_STATUS | Status value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Success NET_SDK_CALLBACK_STATUS_PROCESSING, //Processing NET_SDK_CALLBACK_STATUS_FAILED //Failure }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | lpBuffer value indicates progress (DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information data | lpBuffer value indicates information data.
dwBufLen
[out] Buffer length
pUserData
[out] User data

Return Values

-1 means failure. Other numbers are the handles of NET_DVR_GetNextRemoteConfig、NET_DVR_SendRemoteConfig, etc. interface. For error code, callNET_DVR_GetLastError。

Remarks

After call this interface and start remote connection configuration, if you need to call other interfaces to gain or configure related parameters. See detailes in the following table:
dwCommandMacro definition | Definition | Call subsequent API
NET_DVR_GET_ALL_RECORD_PASSBACK_TASK_MANUAL | Get all manually added record passback tasks. | NET_DVR_GetNextRemoteConfig

See Also

NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StartRemoteConfig

Start remote configuration.

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait for the return value from interface.
dwCommand
[in] Configure command. Different functions correspond to different dwCommand. IpInBuffer and other parameters also correspond to different contents. See details in the following table:
dwCommandMacro definition | Macro definition value | Definition | lpInBuffer | cbStateCallback
NET_DVR_RECORD_CHECK | 6233 | Record integrity check | NET_DVR_RECORD_CHECK_COND | NULL
NET_DVR_GET_RECORD_SEGMENT_CFG | 6242 | Get record segment total number. | NET_DVR_RECORD_SEGMENT_COND | NULL
lpInBuffer
[in] Input parameter, detailed contents are related with dwCommand.
dwInBufferLen
[in] Input buffer length
cbStateCallback
[in] State callback
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD    dwType,
  void     *lpBuffer,
  DWORD    dwBufLen,
  void     *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status. See detailed definition in the following part:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Call-back status value
NET_SDK_CALLBACK_TYPE_PROGRESS
Call-back progress value
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] Buffer compass used to store data, detailed contents is related with dwType. See details in the following list:
dwType | Definition | lpBuffer Corresponding content
NET_SDK_CALLBACK_TYPE_STATUS | Status value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Success NET_SDK_CALLBACK_STATUS_PROCESSING, //Processing NET_SDK_CALLBACK_STATUS_FAILED //Failure }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | lpBuffer value indicates progress (DWORD)
NET_SDK_CALLBACK_TYPE_DATA | Information data | lpBuffer value indicates information data.
dwBufLen
[out] Buffer length
pUserData
[out] User data

Return Values

-1 means failure. Other numbers are the handles of NET_DVR_GetNextRemoteConfig、NET_DVR_SendRemoteConfig, etc. interface. For error code, callNET_DVR_GetLastError.

Remarks

After call this interface and start remote connection configuration, if you need to call other interfaces to gain or configure related parameters. See detailes in the following table:
dwCommandMacro definition | Definition | Call subsequent API
NET_DVR_RECORD_CHECK | Record integrity check | NET_DVR_GetNextRemoteConfig
NET_DVR_GET_RECORD_SEGMENT_CFG | Get record segment total number. | NET_DVR_GetNextRemoteConfig

See Also

NET_DVR_GetNextRemoteConfig NET_DVR_StopRemoteConfig


NET_DVR_StartRemoteConfig

Enable remote configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The returned value of NET_DVR_Login_V40
dwCommand
[in] Configuration command, for different configuration command, the parameters such as lpInBuffer correspond to different structure
dwCommand | Macro Definition | Description | lpInBuffer Structure | cbStateCallback
NET_DVR_GET_PTZLOCKINFO | 3290 | Get PTZ locking remaining time | NET_DVR_PTZLOCKINFO_COND | Return data of status and information
lpInBuffer
[in] Input parameters, relates to the configuration command.
dwInBufferLen
[in] Input buffer size
cbStateCallback
[in] Status callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Callback status value
NET_SDK_CALLBACK_TYPE_PROGRESS
Callback progress value
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] Buffer pointer to store data, relates to dwType, refer to the table below.
dwType | Description | lpBuffer Structure
NET_SDK_CALLBACK_TYPE_STATUS | Status Value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Successfully NET_SDK_CALLBACK_STATUS_PROCESSING, //In processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL;
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress Value | lpBuffer value indicates progress value
NET_SDK_CALLBACK_TYPE_DATA | Information Dasta | StructureNET_DVR_PTZLOCKINFO
dwBufLen
[out] Size of the buffer
pUserData
[out] User data

Return Values

-1 indicates failure, others indicates the handle of NET_DVR_StopRemoteConfig. CallNET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StopRemoteConfig


NET_DVR_StartRemoteConfig

Start remote configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Configuration command. Different functions correspond to different commands, and IpInBuffer corresponds to different contents.
dwCommand Macro Definition | Value | Function | lpInBuffer Corrsponded Structure | cbStateCallback
NET_DVR_GET_SHIPSDETECTION_COUNT | 6658 | Get ship counting information | NET_DVR_SHIPSCOUNT_COND | Return status and data
lpInBuffer
[in] Input parameter
dwInBufferLen
[in] Input buffer size
cbStateCallback
[in] Callback function of the status
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Value of callback status
NET_SDK_CALLBACK_TYPE_PROGRESS
Value of callback progress
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] Buffer pointer for saving data. Detailed information is related to dwTypev
dwType | Description | lpBuffer Corresponded Content
NET_SDK_CALLBACK_TYPE_STATUS | Status value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Successful NET_SDK_CALLBACK_STATUS_PROCESSING, //Processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL; If the status value is NET_SDK_CALLBACK_STATUS_FAILED，the last 4 bytes indictaes the error code.
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | lpBuffer value indicates the progress(DWORD)，not supported.
NET_SDK_CALLBACK_TYPE_DATA | Data | lpBuffer value indicates the data The structure of getting ship counting(NET_DVR_GET_SHIPSDETECTION_COUNT)：NET_DVR_SHIPSCOUNT_CFG
dwBufLen
[out] Buffer length
pUserData
[out] User data

Return Values

-1 means failure. Other numbers are the handles of NET_DVR_GetNextRemoteConfig、NET_DVR_SendRemoteConfig, etc. interface. For error code, callNET_DVR_GetLastError

See Also

NET_DVR_StopRemoteConfig


NET_DVR_StartRemoteConfig

Enable remote configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in]the return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] Configuration command, different functions relate to the different command code (dwCommand),the parameters of lpInBuffer,etc. also relate to different content
dwCommand Macro Definition | Macro Definition Value | Description | lpInBuffer | cbStateCallback
NET_DVR_GET_VEHICLE_RECOG_TASK | 423 | Get vehicle recognition task | NET_DVR_VEHICLE_RECOG_TASK_COND | NULL
NET_ITS_GET_ECT_CHAN_INFO | 5082 | Get the access terminal channel status | NULL | NULL
NET_DVR_GET_ITS_EXDEVSTATUS | 5086 | Get the external device information of ITS | NET_DVR_EXTERNAL_DEVCOND | NULL
NET_DVR_VEHICLE_CONTROL_LIST_START | 3123 | Configure the vehicle black list/white list information | NULL | Return Status
NET_DVR_GET_ALL_VEHICLE_CONTROL_LIST | 3124 | Get the vehicle black list/white list information | NET_DVR_VEHICLE_CONTROL_COND | NULL
NET_DVR_VEHICLELIST_CTRL_START | 3133 | Configure the vehicle black list/white list information (on batch) | NULL | Return status
lpInBuffer
[in] Input parameters, the detailed content is independed of the the configuration command
dwInBufferLen
[in] The size of the input buffer
cbStateCallback
[in] The status callback function
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD    dwType,
  void     *lpBuffer,
  DWORD    dwBufLen,
  void     *pUserData
);

Callback Function Parameters

dwType
[out] status:
dwCommand Macro Definition dwType lpInBuffer
NET_DVR_VEHICLE_CONTROL_LIST_START typedef enum{
NET_SDK_CALLBACK_STATUS_SUCCESS = 1000,
//Succeeded
NET_SDK_CALLBACK_STATUS_PROCESSING,
//In processing...
NET_SDK_CALLBACK_STATUS_FAILED
//Failed
}NET_SDK_CALLBACK_STATUS_NORMAL; 		NULL
NET_DVR_VEHICLELIST_CTRL_START typedef enum{
NET_SDK_CALLBACK_TYPE_STATUS = 0,
//Callback status value
NET_SDK_CALLBACK_TYPE_PROGRESS,
//Callback progress value
NET_SDK_CALLBACK_TYPE_DATA
//Callback data content
}NET_SDK_CALLBACK_TYPE;
lpBuffer
[out] The pointer of teh dta storage buffer
dwBufLen
[out] Size od the buffer
pUserData
[out] User data

Return Values

-1 represents that it is failed to return value. Other value can be the handle of NET_DVR_GetNextRemoteConfig,and NET_DVR_StopRemoteConfig. For error code, callNET_DVR_GetLastError.

Remarks

After enabling the remote control configuration, you need to callback other interface to get or configure the related parameters.
NET_DVR_VEHICLELIST_CTRL_START Configure the vehicle black list/white list information (on batch) NET_DVR_SendRemoteConfig

See Also

NET_DVR_SendRemoteConfig


NET_DVR_StartRemoteConfig

Start remote configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwCommand
[in] confituration command, see below table
lpInBuffer
[in] input parameters,corresponding with dwCommand, see below table.
dwInBufferLen
[in] the length of input buffer
cbStateCallback
[in] the callback function of status
pUserData
[in] user data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] status
lpBuffer
[out] data buffer
dwBufLen
[out] the length of buffer
pUserData
[out] user data

Remarks

different features corresponding to differnt command number(dwCommand) and different the structure of lpInBuffer, as following：

dwCommand macro definition | macro definition value | control features | lpInBuffer | cbStateCallback
NET_DVR_NTP_SERVER_TEST | 3387 | NTP Server test | NET_DVR_SERVER_TEST_PARA | NULL
NET_DVR_NAS_SERVER_TEST | 3388 | NAS server testing
NET_DVR_EMAIL_SERVER_TEST | 3389 | Email server testing
NET_DVR_FTP_SERVER_TEST | 3390 | FTP server testing
NET_DVR_IP_TEST | 3391 | IP testing
NET_DVR_CLOUDSTORAGE_SERVER_TEST | 3421 | Cloud storage server testing
NET_DVR_PHONE_NUM_TEST | 3422 | Telephone No. testing(SMS testing)

Get the status by calling NET_DVR_GetRemoteConfigState

calling NET_DVR_GetDeviceAbility(type of capbility set：DEVICE_NETAPP_ABILITY) to get the testing ability of NTP,NAS,Email,FTP,IP.

Return Values

-1- fail, other value is the handle of NET_DVR_GetRemoteConfigState and NET_DVR_StopRemoteConfig, calling NET_DVR_GetLastError to get error code

See Also

NET_DVR_GetRemoteConfigState NET_DVR_StopRemoteConfig


NET_DVR_StartRemoteConfig

Start remote configuration

LONG NET_DVR_StartRemoteConfig(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPVOID                   lpInBuffer,
  DWORD                    dwInBufferLen,
  fRemoteConfigCallback    cbStateCallback,
  LPVOID                   pUserData
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Configuration command. Different functions correspond to different commands, and IpInBuffer corresponds to different contents.
dwCommand Macro Definition | Value | Function | lpInBuffer Corresponded Structure | cbStateCallback
NET_DVR_GET_REALTIME_THERMOMETRY | 3629 | Real time temperature measurement | NET_DVR_REALTIME_THERMOMETRY_COND | Return status and data
NET_DVR_GET_MANUALTHERM_INFO | 6706 | Get real-time manual temperature measurement | NET_DVR_REALTIME_THERMOMETRY_COND | Return status, information data
lpInBuffer
[in] Input parameter
dwInBufferLen
[in] Input buffer size
cbStateCallback
[in] Callback function of the status
pUserData
[in] User data

Callback Function

typedef void(CALLBACK *fRemoteConfigCallback)(
  DWORD     dwType,
  void      *lpBuffer,
  DWORD     dwBufLen,
  void      *pUserData
);

Callback Function Parameters

dwType
[out] Configuration status:
enum _NET_SDK_CALLBACK_TYPE_{
  NET_SDK_CALLBACK_TYPE_STATUS   = 0,
  NET_SDK_CALLBACK_TYPE_PROGRESS,
  NET_SDK_CALLBACK_TYPE_DATA
}NET_SDK_CALLBACK_TYPE
NET_SDK_CALLBACK_TYPE_STATUS
Value of callback status
NET_SDK_CALLBACK_TYPE_PROGRESS
Value of callback progress
NET_SDK_CALLBACK_TYPE_DATA
Callback data content
lpBuffer
[out] Buffer pointer for saving data. Detailed information is related to dwTypev
dwType | Description | lpBuffer Corresponded Content
NET_SDK_CALLBACK_TYPE_STATUS | Status value | typedef enum { NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, //Successful NET_SDK_CALLBACK_STATUS_PROCESSING, //Processing NET_SDK_CALLBACK_STATUS_FAILED //Failed }NET_SDK_CALLBACK_STATUS_NORMAL; If the status value is NET_SDK_CALLBACK_STATUS_FAILED，the last 4 bytes indictaes the error code.
NET_SDK_CALLBACK_TYPE_PROGRESS | Progress value | lpBuffer value indicates the progress(DWORD)，not supported.
NET_SDK_CALLBACK_TYPE_DATA | Data | lpBuffer value indicates the data Structure of real-time temperature measurement(NET_DVR_GET_REALTIME_THERMOMETRY): NET_DVR_THERMOMETRY_UPLOAD Structure of getting real-time manual temperature measurement (NET_DVR_GET_MANUALTHERM_INFO): NET_SDK_MANUAL_THERMOMETRY
dwBufLen
[out] Buffer size
pUserData
[out] User data

Return Values

Return -1 if it is failed, other values are as parameter of NET_DVR_StopDownload and NET_DVR_GetDownloadState. For error code, please call NET_DVR_GetLastError

See Also

NET_DVR_StopRemoteConfig


NET_DVR_StartUploadAudio

This API is used to upload voice file to the device.

LONG NET_DVR_StartUploadAudio(
  LONG       lUserID,
  DWORD      dwAudioNum,
  DWORD      dwAudioType,
  char       *sAudioFileName
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwAudioNum
[in] Voice number: 1- entrance welcome prompt tone, 2- exit welcome prompt tone, 3- some people prompt tone, 4- ATM temporarily suspended, 5- prompt tone that the door is not closed, 6- (reserved)
dwAudioType
[in] Audio format: 0- wave
sAudioFileName
[in] The absolute path to save the audio file, including the filename

Return Values

-1 means false, and other values could be used as parameter of NET_DVR_GetAudioProgress or NET_DVR_StopAudioOperate. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login_V30


NET_DVR_StartVoiceCom

This API is used to start voice talk.

LONG NET_DVR_StartVoiceCom(
  LONG                  lUserID,
  fVoiceDataCallBack    cbVoiceDataCallBack,
  DWORD                 dwUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
cbVoiceDataCallBack
[in] Audio data callback function
dwUser
[in] User data

Callback Function

typedef void(CALLBACK *fVoiceDataCallBack)(
  LONG     lVoiceComHandle,
  char     *pRecvDataBuffer,
  DWORD    dwBufSize,
  BYTE     byAudioFlag,
  DWORD    dwUser
);

Callback Function Parameters

lVoiceComHandle
The return value of NET_DVR_StartVoiceCom
pRecvDataBuffer
BUffer pointer to save audio data
dwBufSize
Audio data size
byAudioFlag
Audio data type: 0-data local(after decoding); 1-data device send(after decoding)
dwUser
User data

Return Values

Return -1 if it is failed, and other values are as handle parameters of functions like NET_DVR_StopVoiceCom. Please call NET_DVR_GetLastError to get the error code.

Remarks

    Under Windows 7 system, if no external audio devices ,this interface will return
    false.
Before calling this interface, please configure device voice talk audio encode type,
    call related paramter of structure NET_DVR_COMPRESSION_AUDIO
Current encode is OggVorbis, audio data sampling frequency is 16000, 16 bytes sampling
    is single channel. So, audio play format defines as following:
const int SAMPLES_PER_SECOND = 16000;
const int CHANNEL = 1;
const int BITS_PER_SAMPLE = 16;
WAVEFORMATEX m_wavFormatEx;
m_wavFormatEx.cbSize = sizeof(m_wavFormatEx);
m_wavFormatEx.nBlockAlign = CHANNEL * BITS_PER_SAMPLE / 8;
m_wavFormatEx.nChannels = CHANNEL;
m_wavFormatEx.nSamplesPerSec = SAMPLES_PER_SECOND;
m_wavFormatEx.wBitsPerSample = BITS_PER_SAMPLE;
m_wavFormatEx.nAvgBytesPerSec = SAMPLES_PER_SECOND*m_wavFormatEx.nBlockAlign

Current encode is G711, audio data sampling frequency is 8000, 16 bytes sampling
    is single channel. So, audio play format defines as following:
const int SAMPLES_PER_SECOND_G711_MU = 8000;
const int CHANNEL = 1;
const int BITS_PER_SAMPLE = 16;
WAVEFORMATEX m_wavFormatEx;
m_wavFormatEx.cbSize = sizeof(m_wavFormatEx);
m_wavFormatEx.nBlockAlign =	CHANNEL * BITS_PER_SAMPLE / 8;
m_wavFormatEx.nChannels = CHANNEL;
m_wavFormatEx.nSamplesPerSec = SAMPLES_PER_SECOND_G711_MU;
m_wavFormatEx.wBitsPerSample = BITS_PER_SAMPLE;
m_wavFormatEx.nAvgBytesPerSec = SAMPLES_PER_SECOND_G711_MU*
m_wavFormatEx.nBlockAlign;

See Also

NET_DVR_StopVoiceCom NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_StartVoiceCom_V30


NET_DVR_StartVoiceCom_MR

This API is used to start voice transmit and obtain the decoded audio data.

LONG NET_DVR_StartVoiceCom_MR(
  LONG                  lUserID,
  fVoiceDataCallBack    cbVoiceDataCallBack,
  DWORD                 dwUser
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
cbVoiceDataCallBack
[in] Callback function of audio data, obtained data is decoded, need call our supplied audio decode function(refer to audio code chapter) to get PCM data
dwUser
[in] User data

Callback Function

typedef void(CALLBACK *fVoiceDataCallBack)(
  LONG     lVoiceComHandle,
  char     *pRecvDataBuffer,
  DWORD    dwBufSize,
  BYTE     byAudioFlag,
  DWORD    dwUser
);

Callback Function Parameters

lVoiceComHandle
The return value of NET_DVR_StartVoiceCom_MR
pRecvDataBuffer
Buffer pointer to save audio data
dwBufSize
Audio data size
byAudioFlag
Audio data type:1-audio data sent from the device
dwUser
User data pointer

Return Values

Return -1 if it is failed, and other values are as handle parameters of functions like NET_DVR_StopVoiceCom. Please call NET_DVR_GetLastError to get the error code.

Remarks

Before calling this interface, please configure device voice talk audio encode type,
    call related paramter of structure
    NET_DVR_COMPRESSION_AUDIO
Current encode is G722, audio data sampling frequency is 16000, 16 bytes
    sampling is single channel. So, audio play format defines as following:
const int SAMPLES_PER_SECOND = 16000;
const int CHANNEL = 1;
const int BITS_PER_SAMPLE = 16;
WAVEFORMATEX m_wavFormatEx;
m_wavFormatEx.cbSize = sizeof(m_wavFormatEx);
m_wavFormatEx.nBlockAlign = CHANNEL * BITS_PER_SAMPLE / 8;
m_wavFormatEx.nChannels = CHANNEL;
m_wavFormatEx.nSamplesPerSec = SAMPLES_PER_SECOND;
m_wavFormatEx.wBitsPerSample = BITS_PER_SAMPLE;
m_wavFormatEx.nAvgBytesPerSec = SAMPLES_PER_SECOND*m_wavFormatEx.nBlockAlign

Current encode is G711, audio data sampling frequency is 8000, 16 bytes sampling
    is single channel. So, audio play format defines as following:
const int SAMPLES_PER_SECOND_G711_MU = 8000;
const int CHANNEL = 1;
const int BITS_PER_SAMPLE = 16;
WAVEFORMATEX m_wavFormatEx;
m_wavFormatEx.cbSize = sizeof(m_wavFormatEx);
m_wavFormatEx.nBlockAlign = CHANNEL * BITS_PER_SAMPLE / 8;
m_wavFormatEx.nChannels = CHANNEL;
m_wavFormatEx.nSamplesPerSec = SAMPLES_PER_SECOND_G711_MU;
m_wavFormatEx.wBitsPerSample = BITS_PER_SAMPLE;
m_wavFormatEx.nAvgBytesPerSec = SAMPLES_PER_SECOND_G711_MU*
    m_wavFormatEx.nBlockAlign

See Also

NET_DVR_StopVoiceCom NET_DVR_VoiceComSendData NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_StartVoiceCom_MR_V30


NET_DVR_STDControl

Remote control

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details see "Remarks"
lpControlParam
[in&out] Remote control input and output parameters, different control functions correspond to different input and output parameters, for details see "Remarks"

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

For different configuration function (dwCommand), lpCondBuffer of lpControlParam corresponds to different content, as shown below:

dwCommand Macro Definition | Value | Description | lpCondBuffer Structure
NET_DVR_EMERGENCE_ALARM_RESPONSE_CTRL | 2223 | Emergency processing control | NET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG

See Also

NET_DVR_Login_V40


NET_DVR_STDControl

Remote control.

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait fot return value from login interface.
dwCommand
[in] Control command, refer to "Remarks" for detailed explanation.
lpControlParam
[in&out] Remote control input/output parameter. Different control capacities respond to different input/output parameters. See "Remarks" for detailed information.

Return Values

TRUE means success, FALSE means failure. To get error code, callNET_DVR_GetLastError

Remarks

For different dwCommand, lpCondBuffer in lpControlParam responds to different contents. See the following table for details:

dwCommand Macro definition | Macro definition | Definition | lpCondBuffer Corresponding structure
NET_DVR_TERMINAL_CTRL | 9147 | Terminal call control | NET_DVR_TERMINAL_CTRL_PARAM

NET_DVR_TERMINAL_CTRL corresponds to ISAPI URL: PUT /ISAPI/VCS/terminals/control

See Also

NET_DVR_Login_V40


NET_DVR_STDControl

Remote control.

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] The returned value of login API, such as NET_DVR_Login_V40.
dwCommand
[in] Control command. See "Remarks" for details.
lpControlParam
[in&out] The input and output parameters for remote control. Different configuration function corresponds with different input and output parameter. See "Remarks" for details.

Return Values

TRUE means success and FALSE means failure. Call NET_DVR_GetLastError to get the error code.

Remarks

For different configuration functions (dwCommand), the lpCondBuffer and lpXmlBuffer of the lpControlParam structure respectively correspond with different content. Currently, the following commands only support XML method (byDataType should be set as 1), thus the lpCondBuffer is NULL and the lpXmlBuffer varies according to the different commands.See the table below for details.

dwCommand Macro Definition | Macro Definition Value | Description | lpXmlBuffer Corresponding Structure
NET_DVR_DEL_BLACKLIST_ALARM_RECORD | 5227 | Remotely delete the alarm information triggered by list. | AlarmRecord
NET_DVR_DEL_BLACKLIST_GROUP_INFO | 5230 | Remotely delete the group list. | ListGroupDelParam
NET_DVR_DEL_BLACKLIST_GROUP_RECORD_CFG | 5235 | Remotely delete the grouping record list. | RecordInfo
NET_DVR_DEL_AREA_MONITOR_CFG | 5238 | Delete the regional camera. | AreaMonitorDelCond
NET_DVR_DEL_SNAP_RECORD | 5244 | Delete the capturing record. | DelSnapRecordCond
NET_DVR_DEL_FACE_RECORD | 5247 | Delete the face record. | DelFaceRecordCond
NET_DVR_DEL_FACE_DATABASE | 5250 | Delete the face library. | FaceDataBase
NET_DVR_DEL_BLACKLIST_REL_DEV | 5253 | Delete the device linked grouping list information. | GroupRelDevInfo


NET_DVR_STDControl

Remote Control

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details, see Remark section.
lpControlParam
[in&out] Remote control input/output parameters, different control commands corresponds to different input/output parameters.

Return Values

Return TRUE on success, FALSE on failure. Please callNET_DVR_GetLastErrorto get the error code.

Remarks

For different configuration commands(dwCommand), the lpCondBuffe in lpControlParam is different.

dwCommand Definition | Macro Value | Description | lpCondBuffer Structure
NET_DVR_STREAMING_REFRESH_FRAME | 3714 | Forced to refresh frame | NET_DVR_STREAMING_COND
  • This function is for stream live view encoded by Smart264. Forced to generate a deep P frame.
  • Check if the device supports Smart264 via the capability(StreamingChannel)-<isSupportRefreshFrame>. API：NET_DVR_GetSTDAbility(Capability type：NET_DVR_GET_STREAMING_CAPABILITIES).
  • Get the stream type of frame supported to be refreshed by the device via capability of (RefreshFrame).API：NET_DVR_GetSTDAbility(Capability type:NET_DVR_GET_REFRESHFRAME_CAPABILITIES).

See Also

NET_DVR_STDControl


NET_DVR_STDControl

Remote control.

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] Returned value of NET_DVR_Login_V40
dwCommand
[in] Control command. For detail definitions, see "Remarks".
lpControlParam
[in&out] Input and output parameters of remote control. Different control functions correspond to different input and output parameters. See details in "Remarks".

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code and find the reason.

Remarks

For different configuration functions (dwCommand), parameter lpCondBuffer in lpControlParam corresponds to different contents. See details in the following table.

dwCommand Macro Definition | Value | Description | Corresponding Structure of lpCondBuffer
NET_DVR_COMPASS_CALIBRATE_CTRL | 3706 | Calibrate the digital compass | NET_DVR_COMPASS_COND
NET_DVR_COMPASS_NORTH_CTRL | 3707 | Control the digital compass to the north | NET_DVR_COMPASS_COND
  • The device capability set can be used to judge whether the device support calibrating the digital compass or not, corresponding to the node <isSupportCalibrate> of the digital compass capability set (CompassCap), API: NET_DVR_GetSTDAbility (Capability Set type: NET_DVR_GET_COMPASS_CAPABILITIES).
  • The device capability set can be used to judge whether the device support controlling the digital compass to the north or not, corresponding to the node <isSupportPointToNorth> of the digital compass capability set(CompassCap), API: NET_DVR_GetSTDAbility (Capability Set type: NET_DVR_GET_COMPASS_CAPABILITIES).

See Also

NET_DVR_Login_V40


NET_DVR_STDControl

Remote Control

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] The returned value of login API, such as NET_DVR_Login_V40.
dwCommand
[in] The control command, refer to "Remarks" description for details.
lpControlParam
[in&out] The input and output parameters of remote control. Different functions correspond with different input and output parameters, refer to "Remarks" description for details.

Return Values

TRUE means success and FALSE means failure. Call NET_DVR_GetLastError to get the error code.

Remarks

For different configuration functions (dwCommand), the lpCondBuffer in the lpControlParam should be set different. See the table below:

dwCommand Macro Definition | Macro Definition Value | Description | lpCondBuffer Corresponding Structure
NET_DVR_SYNC_IPC_PASSWD | 6621 | Synchronize the passwords of all IP cameras connected to the NVR. | NULL
  • Check whether the device support the password synchronization. The corresponding capability set is (BasicCapability), the node<isSupportSyncIPCPassword>, interface: NET_DVR_GetDeviceAbility(Capability set: DEVICE_SOFTHARDWARE_ABILITY).


NET_DVR_STDControl

Remote Control

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in]The return value of NET_DVR_Login_V40
dwCommand
[in]Control command, for details, see Remark section.
lpControlParam
[in&out] Remote control input/output parameters, different control commands corresponds to different input/output parameters.

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

For different configuration commands(dwCommand), the lpCondBuffe in lpControlParam is different.

dwCommand Definition | Macro Value | Description | lpCondBuffer Structure
NET_DVR_SHIPSCOUNT_DELETE_CTRL | 6659 | Clear ship counting information | 4 bytes of (DWORD) channel No.
  • Check whether the device supports this function via the device capability set(ShipsDetectionCap)，API：NET_DVR_GetSTDAbility，Capability set type:NET_DVR_GET_SHIPSDETECTION_CAPABILITIES，node：<isSupportShipsDetectionCount>.

See Also

NET_DVR_Login_V40


NET_DVR_STDControl

Remote Control

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwCommand
[in] Control command, for details, see Remark session.
lpControlParam
[in&out] Remote conrol input/output parameters, different control commands corresponds to different input/output parameters.

Return Values

Remote conrol input/output parameters, different control commands corresponds to different input/output parameters. NET_DVR_GetLastErroreto get the error code.

Remarks

For different configuration commands(dwCommand), the lpCondBuffe in lpControlParam is different.

dwCommand Definition | Macro Value | Description | lpCondBuffer Structure
NET_DVR_SET_SENSOR_SWITCH | 5062 | Sensor remote control | NET_DVR_SENSOR_SWITCH_COND


NET_DVR_STDControl

Remote control.

BOOL NET_DVR_STDControl(
  LONG                     lUserID,
  DWORD                    dwCommand,
  LPNET_DVR_STD_CONTROL    lpControlParam
);

Parameters

lUserID
[in] NET_DVR_Login_V40 Wait for the return value from login interface
dwCommand
[in] Control command, see detailed definition in Remarks list
lpControlParam
[in&out] Remote control input/output parameters. Different configuration functions correspond to different inout/output parameters.See detaild in Remarks.

Return Values

TRUE means success, FALSE means failure. To get error code, callNET_DVR_GetLastError

Remarks

For different configuration fucntions (dwCommand）, the lpCondBuffer and lpInBuffer in lpConfigParam correspond to differnet contents. See details in the following table:

dwCommand Macro denifinition | Macro definition value | Definition | lpCondBuffer Cporresponding Structure
NET_DVR_SET_TRACKINGRATIO | 3610 | Configure slave camera tracking ratio | NET_DVR_SLAVECAMERA_COND
NET_DVR_SET_TRACK_INITPOSTION | 3618 | Configure slave camera initial tracking position | NET_DVR_TRACK_INITPOSTION
  • When camera calibration is completed (accurate calibration requires dome rate equals to 1), you can set slave camera tracking zoom ratio. Steps:1）Camera calibration; 2）Adjust IPD ratio through PTZ operation 3）Configure linked tracking zoom ratio (configure information to IPC, then IPC will calculate IPD linked tracking zoom ratio according to tracking zoom ratio. Ipc controlling IPD linked tracking is realized through SDK protocol interaction.
  • Linked tracking: when configuring linked tracking zoom ratio, target occupies 30% of the picture; when target is moving, keep target occupying 30% of the picture.

See Also

NET_DVR_Login_V40


NET_DVR_GetSTDConfig

Device Network SDK Programming Manual

NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission.

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input value
lpOutputParam
[in&out] Output value

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorfor error code.

Remarks

You can implement ISAPI protocol command transparent transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol (PUT, GET, POST, DELETE). For details, please refer to the following table.

Capability Set Type | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get main station Capability Set | GET /ISAPI/AccessControl/capabilities\r\n | NULL | AccessControl
  • Note: the "\r\n" in the strings of lpInputParam->lpRequestUrl cannot be omitted.

See Also

NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Device Network SDK Programming Manual

NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission.

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input value
lpOutputParam
[in&out] Output value

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorfor error code.

Remarks

You can implement ISAPI protocol command transparent transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol (PUT, GET, POST, DELETE). For details, please refer to the following table.

Capability Set Type | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get status of door security module Capability Set | GET /ISAPI/AccessControl/DoorSecurityModule/moduleStatus/capabilities\r\n | NULL | ModuleStatus
Get status of door security module | GET /ISAPI/AccessControl/DoorSecurityModule/moduleStatus\r\n | NULL | ModuleStatus

See Also

NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Device Network SDK Programming Manual

NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission.

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input value
lpOutputParam
[in&out] Output value

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorfor error code.

Remarks

You can implement ISAPI protocol command transparent transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol (PUT, GET, POST, DELETE). For details, please refer to the following table.

Capability Set Type | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get parameters of triggering snapshot Capability Set | GET /ISAPI/AccessControl/SnapConfig/capabilities\r\n | NULL | SnapConfig
Get parameters of triggering snapshot | GET /ISAPI/AccessControl/SnapConfig\r\n | NULL | SnapConfig

See Also

NET_DVR_GetLastError


NET_DVR_GetSTDConfig

Device Network SDK Programming Manual

NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission.

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input value
lpOutputParam
[in&out] Output value

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastErrorfor error code.

Remarks

You can implement ISAPI protocol command transparent transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol (PUT, GET, POST, DELETE). For details, please refer to the following table.

Capability Set Type | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get Wiegand Configuration Capability Set | GET /ISAPI/AccessControl/WiegandCfg/capabilities\r\n | NULL | WiegandCfg
Get Wiegand Configuration | GET /ISAPI/AccessControl/WiegandCfg/wiegandNo/<ID>\r\n（ID is Wiegand port NO.） | NULL | WiegandCfg
Get Wiegand Configuration | PUT /ISAPI/AccessControl/WiegandCfg/wiegandNo/<ID>\r\n（ID is Wiegand port NO.） | WiegandCfg | NULL

See Also

NET_DVR_GetLastError


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

You can implement ISAPI protocol command transparent transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol (PUT, GET, POST, DELETE). For details, please refer to the following table.

Capability Set Type | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Device system total capability set | GET /ISAPI/System/capabilities\r\n | NULL | DeviceCap
Safety cabin controller capability set | GET /ISAPI/SafetyCabin/capabilities\r\n | NULL | SafetyCabinCap
Device sound parameter control capability set | GET /ISAPI/System/SoundCfg/capabilities\r\n | NULL | SoundCfg
Safety cabin door lock capability set | GET /ISAPI/SafetyCabin/LockCtrl/capabilities\r\n | NULL | LockCtrl
Query safety cabin door lock status capability set | GET /ISAPI/SafetyCabin/LockStatus/capabilities\r\n | NULL | LockStatus
Query security control panel device capability | GET /ISAPI/SecurityCP/capabilities\r\n | NULL | SecurityCPCapabilities

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, set device parameters

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Out parameter

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

You can implement ISAPI protocol command transparent transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol (PUT, GET, POST, DELETE). For details, please refer to the following table.

  • To set a parameter, get capability set through NET_DVR_STDXMLConfig to determine its supported range.
    • Parameter Type | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Set sound configuration parameter | SET /ISAPI/System/SoundCfg | SpeakerCfg | NULL
Get sound configuration parameter | GET /ISAPI/System/SoundCfg | NULL | SpeakerCfg
Search safety cabin lock status | GET /ISAPI/SafetyCabin/LockStatus | NULL | LockCtrl
Safety cabin door lock control parameter | POST /ISAPI/SafetyCabin/LockCtrl | LockCtrl | NULL
Audio input and output configuration capability | GET /ISAPI/SecurityCP/BasicParam/audioInOutCfg/capabilities\r\n | NULL | AudioInOutCfg
Get audio input and output configuration | GET /ISAPI/SecurityCP/BasicParam/audioInOutCfg\r\n | NULL | AudioInOutCfg
Set audio input and output configuration | PUT /ISAPI/SecurityCP/BasicParam/audioInOutCfg\r\n | AudioInOutCfg | NULL
Get voice file list capability | GET /ISAPI/SecurityCP/BasicParam/audioFileList/capabilities\r\n | NULL | AudioFileList
Get voice file list | GET /ISAPI/SecurityCP/BasicParam/audioFileList/type=?\r\n (In URL, ？ means file type string, details can be obtained from capability set) | NULL | AudioFileList
Delete voice file | DELETE /ISAPI/SecurityCP/Control/audioFile/name=?\r\n (In URL, ？ means file type string, details can be obtained from capability set) | NULL | NULL

    See Also

    NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command pass-through, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Call this interface to pass through ISAPI protocol command, to configure parameters and get capability set. The interface requires the device to support ISAPI protocol (PUT, GET, POST, DELETE commands), use different input parameters and output parameters to get different types of capability sets, for details see the table below:

Function description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get channel properties (panoramic camera, fisheye, thermal imaging) data | GET /ISAPI/AUXInfo/attributes/Channels/<ID>\r\n(ID means channel No.) | NULL | ChannelInfo
Get channel properties (panoramic camera, fisheye, thermal imaging) data in batch | GET /ISAPI/AUXInfo/attributes/Channels\r\n | NULL | ChannelInfoList

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol transparent transmission, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

The transparent transmission of ISAPI protocol commands are available through this interface to realize the functions of parameter configuration and getting capability set. Calling the interface requires the device to support ISAPI protocol (PUT, GET, POST and DELETE commands), for details, see the table below:

Capability set type | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Device total capability set | GET /ISAPI/System/capabilities\r\n | NULL | DeviceCap
Justice device capability set | GET /ISAPI/JusticeDev/capabilities\r\n | NULL | JusticeDevCap
Inquest device total capability set | GET /ISAPI/Trial/capabilities\r\n | NULL | TrialCap

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, and get capability set.

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

Use this interface to pass through ISAPI protocol command, to configure parameters and get capability set. Ensure the device supports ISAPI protocol (e.g. PUT, GET, POST, DELETE commands) before calling the interface. The input and output parameters for getting and setting different type of parameters may vary, for details, see the table below:

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get class big data statistics configuration capability | GET /ISAPI/ContentMgmt/RecordingHost/ClassDataControl/capabilities | NULL | ClassDataControl
Get class big data statistics configuration | GET /ISAPI/ContentMgmt/RecordingHost/ClassDataControl | NULL | ClassDataControl
Set class big data statistics configuration | PUT /ISAPI/ContentMgmt/RecordingHost/ClassDataControl | ClassDataControl | NULL

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

Use this interface for ISAPI protocol command transparent transmission, to configure parameters and get capability set. Ensure the device supports ISAPI protocol (e.g. PUT, GET, POST, DELETE commands) before calling the interface. The input and output parameters for getting and setting different type of parameters may vary, for details, see the table below:

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get education server connection capability | GET /ISAPI/ContentMgmt/RecordingHost/EducationServerConfiguration/capabilities\r\n | NULL | EducationServerConfiguration
Get education server connection configuration | GET /ISAPI/ContentMgmt/RecordingHost/EducationServerConfiguration\r\n | NULL | EducationServerConfiguration
Set education server connection configuration | PUT /ISAPI/ContentMgmt/RecordingHost/EducationServerConfiguration\r\n | EducationServerConfiguration | NULL

Remarks

connectStatus only exists when connectServer is true.

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, and get capability set.

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastErrorto get error code.

Remarks

Use this interface to pass through ISAPI protocol command, to configure parameters and get capability set. Ensure the device supports ISAPI protocol (e.g. PUT, GET, POST, DELETE commands) before calling the interface. The input and output parameters for getting and setting different type of parameters may vary, for details, see the table below:

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get education sharing system parameter configuration capability | GET /ISAPI/ContentMgmt/RecordingHost/hostParam/capabilities | NULL | ClassDataStatisticCfg

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code.

Remarks

You can implement ISAPI protocol command transparent transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol (PUT, GET, POST, DELETE). For details, please refer to the following table.

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get statistics data list capability | GET /ISAPI/ContentMgmt/RecordingHost/ClassDataStatisticCfg/getStatisticData/capabilities | NULL | StatisticDataCond

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code.

Remarks

You can implement ISAPI protocol command transparent transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol (PUT, GET, POST, DELETE). For details, please refer to the following table.

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get video switch configuration capability | GET /ISAPI/ContentMgmt/RecordingHost/VideoSwitchConfiguration/capabilities\r\n | NULL | VideoSwitchCfg
Get video switching configuration | GET /ISAPI/ContentMgmt/RecordingHost/VideoSwitchConfiguration\r\n | NULL | VideoSwitchCfg
Set video switching configuration | PUT /ISAPI/ContentMgmt/RecordingHost/VideoSwitchConfiguration\r\n | VideoSwitchCfg | NULL

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, get capability set<

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, and FALSE on failure. Call NET_DVR_GetLastError to get the error code.

Remarks

You can implement ISAPI protocol command transparent transmission, parameters configuration, and get capability via this API. This API is valid only if the device supports ISAPI protocol (PUT, GET, POST, DELETE). For details, please refer to the following table.

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get video opening configuration capability | GET /ISAPI/ContentMgmt/RecordingHost/VideoTitleConfiguration/capabilities\r\n | NULL | VideoTitleCfg
Get video opening configuration | GET /ISAPI/ContentMgmt/RecordingHost/VideoTitleConfiguration\r\n | NULL | VideoTitleCfg
Set video opening configuration | PUT /ISAPI/ContentMgmt/RecordingHost/VideoTitleConfiguration\r\n | VideoTitleCfg | NULL

Remarks

Background picture is uploaded through NET_DVR_UploadFile_V40.

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol command transparent transmission, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] Return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Return TRUE on success, FALSE on failure. Call NET_DVR_GetLastError to get error code.

Remarks

Use this interface for ISAPI protocol command transparent transmission, to configure parameters and get capability set. Ensure the device supports ISAPI protocol (e.g. PUT, GET, POST, DELETE commands) before calling the interface. The input and output parameters for getting and setting different type of parameters may vary, for details, see the table below:

Function Description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get video ending configuration capability | GET /ISAPI/ContentMgmt/RecordingHost/VideoTrailerConfiguration/capabilities\r\n | NULL | VideoTrailerCfg
Get video ending configuration | GET /ISAPI/ContentMgmt/RecordingHost/VideoTrailerConfiguration\r\n | NULL | VideoTrailerCfg
Set video ending configuration | PUT /ISAPI/ContentMgmt/RecordingHost/VideoTrailerConfiguration\r\n | VideoTrailerCfg | NULL

Remarks

Upload background picture through NET_DVR_UploadFile_V40.

See Also

NET_DVR_Login_V40


NET_DVR_STDXMLConfig

ISAPI protocol pass-through, get capability set

BOOL NET_DVR_STDXMLConfig(
  LONG                         lUserID,
  NET_DVR_XML_CONFIG_INPUT     *lpInputParam,
  NET_DVR_XML_CONFIG_OUTPUT    *lpOutputParam
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
lpInputParam
[in] Input parameter
lpOutputParam
[in&out] Output parameter

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get error code.

Remarks

The pass-through of ISAPI protocol commands are available through this interface to realize the functions of parameter configuration and getting capability set. Calling the interface requires the device to support ISAPI protocol (PUT, GET, POST and DELETE commands), for details, see the table below:

Function description | lpInputParam->lpRequestUrl | lpInputParam->lpInBuffer | lpOutputParam->lpOutBuffer
Get online login user information | GET /ISAPI/Security/onlineUser\r\n | NULL | OnlineUserList

Remarks

  • Whether the device supports getting online login user information, can be determined through device security capability set (SecurityCap), API: NET_DVR_STDXMLConfig, command for getting capability set: GET /ISAPI/Security/capabilities, node: <isSupportGetOnlineUserListSC>.

See Also

NET_DVR_Login_V40


NET_DVR_StopAudioOperate

This API is used to stop uploading or downloading the voice file.

BOOL NET_DVR_StopAudioOperate(
  LONG   lAudioHandle
);

Parameters

lAudioHandle
[in] Uploading or downloading handle, the return value of NET_DVR_StartUploadAudio or NET_DVR_StartDownloadAudio

Return Values

Returns TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartUploadAudio NET_DVR_StartDownloadAudio


NET_DVR_StopDecSpecialCon

This API is used to stop dynamic control of connected decoder channels.

BOOL NET_DVR_StopDecSpecialCon(
  LONG                    lUserID,
  LONG                    lChannel,
  LPNET_DVR_DECCHANINFO   lpDecChanInfo
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number, 0xffffffff means all decode channels
lpDecChanInfo
[in] Decode device channel parameter structure

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_StartDecSpecialCon


NET_DVR_StopListen

This API is used to stop listening (support multi-thread).

BOOL NET_DVR_StopListen(
);

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

The possible error codes returned from the API are listed as below:

Error Type | Value | Error Message
NET_DVR_NOERROR | 0 | No error.
NET_DVR_NOINIT | 3 | SDK is not initialized.
NET_DVR_ORDER_ERROR | 12 | API calling order error.
NET_DVR_PARAMETER_ERROR | 17 | Parameter error. Input or output parameter in the SDK API is NULL.

See Also

NET_DVR_StartListen

Reference Interface

NET_DVR_StopListen_V30


NET_DVR_StopRemoteConfig

Close the handle created by the remote configuration API, and release resource

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle, the return value of NET_DVR_StartRemoteConfig

Return Values

Return TRUE on success, and return FALSE on failure. For error code, call NET_DVR_GetLastError.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_StopRemoteConfig

Close the handle of remote control configration and release the resource.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle, return value of NET_DVR_StartRemoteConfig

Return Values

Returns TRUE on success, but it dose not represent all configuration successful, it requires to check lpStatusList[n] to see whether the configuration is succesful or failed. FALSE means all configuration failed. Please call NET_DVR_NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_StopRemoteConfig

Stop the handle created by remote configuration interface, and release recources.

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle, the return value of NET_DVR_StartRemoteConfig

Return Values

TRUE means success, FALSE means failure. For error code, callNET_DVR_GetLastError。

See Also

NET_DVR_StartRemoteConfig


NET_DVR_StopRemoteConfig

Close the handle created by long connection configuration, and release resource

BOOL NET_DVR_StopRemoteConfig(
  LONG    lHandle
);

Parameters

lHandle
[in] Handle, return value of NET_DVR_StartRemoteConfig

Return Values

TRUE means success, FALSE means failure. Call NET_DVR_GetLastError to get error code.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_ThrowBFrame

This API is used to set B frame number to be thrown when in decoding.

BOOL NET_DVR_ThrowBFrame(
  LONG      lRealHandle,
  DWORD     dwNum
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
dwNum
[in] The B frame number to be thrown, value is 0, 1, 2, 0- no throw, 1- throw 1 B frame, 2- throw 2 B frames; when in more than one channel play, throw B frame can reduce the CPU resources, while when in one channel playing, it’d better not to throw the B frame

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Throw B frame can reduce CPU utilization when doing multi-channel playback.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_TransPTZ_EX

This API is used to set transparent PTZ control, please start preview at first, send commands by preview connection(Better than NET_DVR_TransPTZ. It doesn't support RTSP preview).

BOOL NET_DVR_TransPTZ_EX(
  LONG     lRealHandle,
  char     *pPTZCodeBuf,
  DWORD    dwBufSize
);

Parameters

lRealHandle
[in] The return value of NET_DVR_RealPlay or NET_DVR_RealPlay_V30
pPTZCodeBuf
[in] Buffer pointer to save PTZ control code
dwBufSize
[in] Length of PTZ control code

Return Values

Return TRUE on success, FALSE on failure. Please call NET_DVR_GetLastError to get the error code.

Remarks

Please use this interface to send PTZ control code information directly to PTZ device, it's not neccessary to configure decode.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30


NET_DVR_UploadClose

Stop file uploading

BOOL NET_DVR_UploadClose(
  LONG    lUploadHandle
);

Parameters

lUploadHandle
[in] The file uploading handle, the return value of NET_DVR_UploadFile_V40 or NET_DVR_UploadFile

Return Values

Return TRUE on success, return FALSE on failure. For error code, please call NET_DVR_GetLastError。

See Also

NET_DVR_UploadFile_V40


NET_DVR_UploadFile_V40

Upload files.

LONG NET_DVR_UploadFile_V40(
  LONG      lUserID,
  DWORD     dwUploadType,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  char      *sFileName,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The returned value of login API, such as NET_DVR_Login_V40.
dwUploadType
[in] Uploading file type. See below table for details.
lpInBuffer
[in] The input parameter. Different dwUploadType corresponds with different input parameter. See below table for details.
dwInBufferSize
[in] The input buffer size.
sFileName
[in] The uploading file directory (including file name).
lpOutBuffer
[out] The output parameter. Different dwUploadType corresponds with different output parameter. See below table for details.
dwInBufferSize
[in] The output buffer size.

Remarks

The different uploading file type corresponds with the different command code, and the input parameter corresponds with different structure. See in the table below:

dwUploadType Macro Definition | Macro Definition Value | dwUploadType Description | lpInBuffer Corresponding Structure | lpOutBuffer Corresponding Structure
UPLOAD_CERTIFICATE | 1 | Upload certificate (WIFI and so on) | NET_DVR_CERT_PARAM | NULL
UPLOAD_RECORD_FILE | 4 | Upload video file. (Cloud Storage) | NET_DVR_UPLOAD_RECORD_INFO | NET_DVR_UPLOAD_FILE_RET
UPLOAD_VEHICLE_BLACKWHITELST_FILE | 13 | Upload whiltlist and blacklist configuration file. | NULL | NULL

Return Values

-1 stands for failure and other values are the parameters of NET_DVR_UploadClose and NET_DVR_GetUploadState.Call NET_DVR_GetLastError to get the error code.

Remarks

  • Check whether the device support the whiltlist and blacklist configuration file importing. The capability set is (TrafficCap) node <isSupportPlateList>, interface: NET_DVR_GetSTDAbility (Capability set: NET_DVR_GET_TRAFFIC_CAP).

See Also

NET_DVR_GetUploadState NET_DVR_UploadClose

Reference Interface

The interface is expanded from
NET_DVR_UploadFile


NET_DVR_UploadFile_V40

Upload file

LONG NET_DVR_UploadFile_V40(
  LONG      lUserID,
  DWORD     dwUploadType,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  char      *sFileName,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwUploadType
[in]Uploading file type, for details, see the table below.
lpInBuffer
[in]Input parameters, different dwUploadType corresponds to different input parameters, for details, see the table below.
dwInBufferSize
[in] Input buffer size
sFileName
[in]Uploading file path(including file name)
lpOutBuffer
[out] Output parameters, different dwUploadType corresponds to different output parameters, for details, see the table below.
dwInBufferSize
[in] Output buffer size

Remarks

Different uploading file types correspond to different command(dwUploadType), and different input parameters also correspond to different structure, the details are shown below.

dwUploadType Macro Definition | Value | dwUploadType Description | lpInBuffer Structure | lpOutBuffer Structure
UPLOAD_VIOLATION_FILE | 7 | Upload Violation Dictionary File | NULL | NULL
UPLOAD_TME_FILE | 12 | Upload entrance and exit management file | NULL | NULL
UPLOAD_SUBBRAND_FILE | 23 | Upload vehicle sub brand file | NULL | NULL
UPLOAD_AUDIO_FILE | 29 | Upload voice talk file (.wav file) | NULL | NULL

Return Values

-1 indicates failure, other value are the parameters of NET_DVR_UploadClose and NET_DVR_GetUploadState. For error code, refer to NET_DVR_GetLastError。

See Also

NET_DVR_GetUploadState NET_DVR_UploadClose

Reference Interface

This API is expended from
NET_DVR_UploadFile


NET_DVR_UploadFile_V40

上传文件。

LONG NET_DVR_UploadFile_V40(
  LONG      lUserID,
  DWORD     dwUploadType,
  LPVOID    lpInBuffer,
  DWORD     dwInBufferSize,
  char      *sFileName,
  LPVOID    lpOutBuffer,
  DWORD     dwOutBufferSize
);

Parameters

lUserID
[in] The return value of NET_DVR_Login_V40
dwUploadType
[in]Uploading file type, for details, see the table below.
lpInBuffer
[in]Input parameters, different dwUploadType corresponds to different input parameters, for details, see the table below.
dwInBufferSize
[in] Input buffer size
sFileName
[in]Uploading file path(including file name)
lpOutBuffer
[out] Output parameters, different dwUploadType corresponds to different output parameters, for details, see the table below.
dwInBufferSize
[in] Output buffer size

Remarks

Different uploading file types correspond to different command(dwUploadType), and different input parameters also correspond to different structure, the details are shown below.

dwUploadType Macro Definition | Value | dwUploadType Description | lpInBuffer Structure | lpOutBuffer Structure
UPLOAD_THERMOMETRIC_FILE | 22 | Upload temperature measurement calibration file | NULL | NULL

Return Values

-1 indicates failure, other value are the parameters of NET_DVR_UploadClose and NET_DVR_GetUploadState. For error code, refer to NET_DVR_GetLastError

See Also

NET_DVR_GetUploadState NET_DVR_UploadClose


COUNTRY_INDEX

Country Index

enum _COUNTRY_INDEX_{
  COUNTRY_NONSUPPORT   = 0,    //Not supported country
  /*Europe, 48 countries and regions, in which Cyprus is located on the border of Europe and Asia*/
  COUNTRY_CZE          = 1,    //Czech Republic
  COUNTRY_FRA          = 2,    //France
  COUNTRY_DEU          = 3,    //Germany
  COUNTRY_ESP          = 4,    //Spain
  COUNTRY_ITA          = 5,    //Italy
  COUNTRY_NLD          = 6,    ///Netherlands
  COUNTRY_POL          = 7,    //Poland
  COUNTRY_SVK          = 8,    //Slovakia
  COUNTRY_BLR          = 9,    //Belorussia
  COUNTRY_MDA          = 10,   //Moldova
  COUNTRY_RUS          = 11,   //Russia
  COUNTRY_UKR          = 12,   //Ukraine
  COUNTRY_BEL          = 13,   //Belgium
  COUNTRY_BGR          = 14,   //Bulgaria
  COUNTRY_DNK          = 15,   //Denmark
  COUNTRY_FIN          = 16,   //Finland
  COUNTRY_GBR          = 17,   //Great Britain
  COUNTRY_GRC          = 18,   //Greece
  COUNTRY_HRV          = 19,   //Croatia
  COUNTRY_HUN          = 20,   //Hungary
  COUNTRY_ISR          = 21,   //Israel
  COUNTRY_LUX          = 22,   //Luxembourg
  COUNTRY_MKD          = 23,   //Macedonia
  COUNTRY_NOR          = 24,   //Norway
  COUNTRY_PRT          = 25,   //Portugal
  COUNTRY_ROU          = 26,   //Romania
  COUNTRY_SRB          = 27,   //Serbia
  COUNTRY_AZE          = 28,   //Azerbaijan
  COUNTRY_GEO          = 29,   //Georgia
  COUNTRY_KAZ          = 30,   //Kazakhstan
  COUNTRY_LTU          = 31,   //Lithuania
  COUNTRY_TKM          = 32,   //Turkmenistan
  COUNTRY_UZB          = 33,   //Uzbekistan
  COUNTRY_LVA          = 34,   //Latvia
  COUNTRY_EST          = 35,   //Estonia
  COUNTRY_ALB          = 36,   //Albania
  COUNTRY_AUT          = 37,   //Austria
  COUNTRY_BIH          = 38,   //Bosnia and Herzegovina
  COUNTRY_IRL          = 39,   //Ireland
  COUNTRY_ISL          = 40,   //Iceland
  COUNTRY_VAT          = 41,   //Vatican
  COUNTRY_MLT          = 42,   //Malta
  COUNTRY_SWE          = 43,   //Sweden
  COUNTRY_CHE          = 44,   //Switzerland
  COUNTRY_CYP          = 45,   //Cyprus
  COUNTRY_TUR          = 46,   //Turkey
  COUNTRY_SVN          = 47,   //Slovenia
  COUNTRY_MTG          = 48,   //Montenegro
  COUNTRY_KOV          = 49,   //Kosovo
  COUNTRY_ADR          = 50,   //Andorra
  COUNTRY_ARM          = 51,   //Armenia
  COUNTRY_MON          = 52,   //Monaco
  COUNTRY_LIE          = 53,   //Liechtenstein
  COUNTRY_SMO          = 54,   //San Marino
  COUNTRY_RES1         = 55,   //Reserved
  COUNTRY_RES2         = 56,   //Reserved
  COUNTRY_RES3         = 57,   //Reserved
  COUNTRY_RES4         = 58,   //Reserved
  /* Asia, 48 countries, in which Cyprus is located on the border of Europe and Asia*/
  COUNTRY_CHI          = 59,   //China
  COUNTRY_IBN          = 60,   //In bahrain
  COUNTRY_SKR          = 61,   //South Korea
  COUNTRY_LEB          = 62,   //Lebanon
  COUNTRY_NEP          = 63,   //Nepal
  COUNTRY_THA          = 64,   //Thailand
  COUNTRY_PAK          = 65,   //Pakistan
  COUNTRY_EMI          = 66,   //The united Arab emirates
  COUNTRY_BHU          = 67,   //Bhutan
  COUNTRY_OMA          = 68,   //Oman
  COUNTRY_KOR          = 69,   //North Korea
  COUNTRY_PHI          = 70,   //The Philippines
  COUNTRY_CAM          = 71,   //Cambodia
  COUNTRY_QAT          = 72,   //Qatar
  COUNTRY_KYR          = 73,   //Kyrgyzstan
  COUNTRY_MAL          = 74,   //The maldives
  COUNTRY_MLY          = 75,   //Malaysia
  COUNTRY_MOG          = 76,   //Mongolia
  COUNTRY_ARA          = 77,   //Saudi Arabia
  COUNTRY_BRU          = 78,   //brunei
  COUNTRY_LAO          = 79,   //Laos
  COUNTRY_JAP          = 80,   //Japan
  COUNTRY_RES19        = 81,   //Reserved
  COUNTRY_PAS          = 82,   //Palestinian state
  COUNTRY_TAJ          = 83,   //Tajikistan
  COUNTRY_KUW          = 84,   //Kuwait
  COUNTRY_SYR          = 85,   //Syria
  COUNTRY_IND          = 86,   //India
  COUNTRY_ISA          = 87,   //Indonesia
  COUNTRY_AFG          = 88,   //Afghanistan
  COUNTRY_LAN          = 89,   //Sri Lanka
  COUNTRY_IRQ          = 90,   //Iraq
  COUNTRY_VIE          = 91,   //Vietnam
  COUNTRY_IRA          = 92,   //Iran
  COUNTRY_YEM          = 93,   //yemen
  COUNTRY_JOR          = 94,   //Jordan
  COUNTRY_BUR          = 95,   //Burma
  COUNTRY_SIK          = 96,   //Sikkim
  COUNTRY_BAN          = 97,   //Bangladesh
  COUNTRY_SGA          = 98,   //Singapore
  COUNTRY_EAT          = 99,   //East Timor
  COUNTRY_RES5         = 100,  //Reserved
  COUNTRY_RES6         = 101,  //Reserved
  COUNTRY_RES7         = 102,  //Reserved
  COUNTRY_RES8         = 103,  //Reserved
  /*Africa, 60 countries and regions*/
  COUNTRY_EGT          = 104,  //Egypt
  COUNTRY_LIY          = 105,  //Libya
  COUNTRY_SUA          = 106,  //Sudan
  COUNTRY_TUN          = 107,  //Tunisia
  COUNTRY_ALG          = 108,  //Algeria
  COUNTRY_MCC          = 109,  //Morocco
  COUNTRY_ETH          = 110,  //Ethiopia
  COUNTRY_ERI          = 111,  //Eritrea
  COUNTRY_SDE          = 112,  //Somalia Democratic
  COUNTRY_DJI          = 113,  //Djibouti
  COUNTRY_KEN          = 114,  //Kenya
  COUNTRY_TAI          = 115,  //Tanzania
  COUNTRY_UGA          = 116,  //Uganda
  COUNTRY_RWA          = 117,  //Rwanda
  COUNTRY_BUD          = 118,  //Burundi
  COUNTRY_SEY          = 119,  //Seychelles
  COUNTRY_CHA          = 120,  //Chad
  COUNTRY_CEA          = 121,  //Central African
  COUNTRY_CON          = 122,  //Cameroon
  COUNTRY_EQG          = 123,  //Equatorial Guinea
  COUNTRY_GAB          = 124,  //Gabon
  COUNTRY_TCO          = 125,  //the Congo
  COUNTRY_DRC          = 126,  //Democratic Republic of the Congo
  COUNTRY_STP          = 127,  //Sao Tome and Principe
  COUNTRY_MAN          = 128,  //Mauritania
  COUNTRY_WSA          = 129,  //Western Sahara
  COUNTRY_SEL          = 130,  //Senegal
  COUNTRY_TGA          = 131,  //the Gambia
  COUNTRY_MAI          = 132,  //Mali
  COUNTRY_BUF          = 133,  //Burkina Faso
  COUNTRY_GUI          = 134,  //Guinea
  COUNTRY_GUB          = 135,  //Guinea-Bissau
  COUNTRY_CAV          = 136,  //Cape Verde
  COUNTRY_SLE          = 137,  //Sierra Leone
  COUNTRY_LIR          = 138,  //Liberia
  COUNTRY_IVC          = 139,  //Ivory Coast
  COUNTRY_GHA          = 140,  //Ghana
  COUNTRY_TGO          = 141,  //Togo
  COUNTRY_BEN          = 142,  //Benin
  COUNTRY_NIG          = 143,  //Niger
  COUNTRY_ZAB          = 144,  //Zambia
  COUNTRY_ANG          = 145,  //Angola
  COUNTRY_ZBE          = 146,  //Zimbabwe
  COUNTRY_MAW          = 147,  //Malawi
  COUNTRY_MOQ          = 148,  //Mozambique
  COUNTRY_BOT          = 149,  //Botswana
  COUNTRY_NAM          = 150,  //Namibia
  COUNTRY_SAF          = 151,  //South Africa
  COUNTRY_SWD          = 152,  //Swaziland
  COUNTRY_LES          = 153,  //Lesotho
  COUNTRY_MAG          = 154,  //Madagasca
  COUNTRY_UOC          = 155,  //Union of Comoros
  COUNTRY_MAT          = 156,  //Mauritius
  COUNTRY_NGE          = 157,  //Nigeria
  COUNTRY_SSD          = 158,  //South Sudan
  COUNTRY_SAH          = 159,  //Saint Helena
  COUNTRY_MYT          = 160,  //Mayotte
  COUNTRY_REN          = 161,  //Reunion
  COUNTRY_CAI          = 162,  //Canary Islands
  COUNTRY_AZO          = 163,  //AZORES
  COUNTRY_MAD          = 164,  //Madeira
  COUNTRY_RES9         = 165,  //Reserved
  COUNTRY_RES10        = 166,  //Reserved
  COUNTRY_RES11        = 167,  //Reserved
  COUNTRY_RES12        = 168,  //Reserved
  /*America, 55 countries and regions*/
  COUNTRY_CAD          = 169,  //Canada
  COUNTRY_GRE          = 170,  //Greenland Nuuk
  COUNTRY_PIE          = 171,  //Pierre and Miquelon
  COUNTRY_USA          = 172,  //United States
  COUNTRY_BER          = 173,  //Bermuda
  COUNTRY_MEX          = 174,  //Mexico
  COUNTRY_GUA          = 175,  //Guatemala
  COUNTRY_BLI          = 176,  //Belize
  COUNTRY_SAR          = 177,  //El Salvador
  COUNTRY_HOR          = 178,  //Honduras
  COUNTRY_NIC          = 179,  //Nicaragua
  COUNTRY_COR          = 180,  //Costa Rica
  COUNTRY_PAN          = 181,  //Panama
  COUNTRY_TBM          = 182,  //The Bahamas
  COUNTRY_TCI          = 183,  //The Turks and Caicos Islands
  COUNTRY_CUB          = 184,  //Cuba
  COUNTRY_JAM          = 185,  //Jamaica
  COUNTRY_CAY          = 186,  //Cayman Islands
  COUNTRY_HAT          = 187,  //Haiti
  COUNTRY_TDO          = 188,  //The Dominican
  COUNTRY_PUR          = 189,  //Puerto Rico
  COUNTRY_VIL          = 190,  //The United States Virgin Islands
  COUNTRY_BVI          = 191,  //The British Virgin Islands
  COUNTRY_ATV          = 192,  //Anguilla The Valley
  COUNTRY_ANB          = 193,  //Antigua and Barbuda
  COUNTRY_CSM          = 194,  //Collectivité de Saint-Martin
  COUNTRY_ACY          = 195,  //Autonomous country
  COUNTRY_SBY          = 196,  //Saint-Barthélemy
  COUNTRY_SKN          = 197,  //Saint Kitts and Nevis
  COUNTRY_MOT          = 198,  //Montserrat
  COUNTRY_GLP          = 199,  //Guadeloupe
  COUNTRY_DOM          = 200,  //Dominica
  COUNTRY_MTE          = 201,  //Martinique
  COUNTRY_LUC          = 202,  //St. Lucia
  COUNTRY_SVG          = 203,  //Saint Vincent and the Grenadines
  COUNTRY_GRD          = 204,  //Grenada
  COUNTRY_BAR          = 205,  //Barbados
  COUNTRY_TRT          = 206,  //Trinidad and Tobago
  COUNTRY_CUR          = 207,  //Cura?ao
  COUNTRY_ARB          = 208,  //Aruba
  COUNTRY_NEA          = 209,  //Netherlands Antilles
  COUNTRY_COL          = 210,  //Colombia
  COUNTRY_VEN          = 211,  //Venezuela
  COUNTRY_GUY          = 212,  //Guyana
  COUNTRY_SUR          = 213,  //Suriname
  COUNTRY_FRN          = 214,  //Guyane Francaise
  COUNTRY_ECU          = 215,  //Ecuador
  COUNTRY_PER          = 216,  //Peru
  COUNTRY_BOL          = 217,  //Bolivia
  COUNTRY_PAR          = 218,  //Paraguay
  COUNTRY_CLE          = 219,  //Chile
  COUNTRY_BRA          = 220,  //Brazil
  COUNTRY_UGY          = 221,  //Uruguay
  COUNTRY_ARG          = 222,  //Argentina
  COUNTRY_RES13        = 223,  //Reserved
  COUNTRY_RES14        = 224,  //Reserved
  COUNTRY_RES15        = 225,  //Reserved
  COUNTRY_RES16        = 226,  //Reserved
  /*Oceania, 25 countries and regions*/
  COUNTRY_ATN          = 227,  //Australien
  COUNTRY_NED          = 228,  //Neuseeland
  COUNTRY_PNG          = 229,  //Papua New Guinea
  COUNTRY_SAN          = 230,  //Salomonen
  COUNTRY_VAU          = 231,  //Vanuatu
  COUNTRY_NCN          = 232,  //New Caledonia
  COUNTRY_PAU          = 233,  //Palau
  COUNTRY_FSM          = 234,  //Federated States of Micronesia
  COUNTRY_MRI          = 235,  //Marshall Island
  COUNTRY_CNM          = 236,  //Commonwealth of the Northern Mariana Islands
  COUNTRY_TEG          = 237,  //The Territory of Guahan
  COUNTRY_NUR          = 238,  //Nauru
  COUNTRY_KIB          = 239,  //Kiribati
  COUNTRY_FID          = 240,  //Fidschi
  COUNTRY_TNG          = 241,  //Tonga
  COUNTRY_TUV          = 242,  //Tuvalu
  COUNTRY_WEF          = 243,  //Wallis et Futuna
  COUNTRY_TIS          = 244,  //The Independent State of Samoa
  COUNTRY_EAS          = 245,  //Eastern Samoa
  COUNTRY_TOE          = 246,  //Tokelau
  COUNTRY_NUE          = 247,  //Niue
  COUNTRY_TCD          = 248,  //The Cook Islands
  COUNTRY_PFP          = 249,  //Polynésie fran?aiseFrench Polynesia
  COUNTRY_PID          = 250,  //Pitcairn Islands
  COUNTRY_HAW          = 251,  //Hawaii State
  COUNTRY_RES17        = 252,  //Reserved
  COUNTRY_RES18        = 253,  //Reserved
  COUNTRY_UNRECOGNIZED = 0xfe, //Unrecognized
  COUNTRY_ALL          = 0xff  //ALL
}COUNTRY_INDEX

See Also

NET_DVR_FIND_PICTURE_PARAM


DETECTOR_TYPE

Detector type

enum _DETECTOR_TYPE_{
  PANIC_BUTTON = 0,
  MAGNETIC_CONTACT,
  SMOKE_DETECTOR,
  ACTIVE_INFRARED_DETECTOR,
  PASSIVE_INFRARED_DETECTOR,
  GLASS_BREAK_DETECTOR,
  VIBRATION_DETECTOR,
  DUAL_TECHNOLOGY_PIR_DETECTOR,
  TRIPLE_TECHNOLOGY_PIR_DETECTOR,
  HUMIDITY_DETECTOR,
  TEMPERATURE_DETECTOR,
  COMBUSTIBLE_GAS_DETECTOR,
  DYNAMIC_SWITCH,
  CONTROL_SWITCH,
  SMART_LOCK,
  WATER_DETECTOR,
  OTHER_DETECTOR  = 0xffff
}DETECTOR_TYPE
PANIC_BUTTON
0- Panic button
MAGNETIC_CONTACT
1- Magnetic contact
SMOKE_DETECTOR
2- Smoke detector
ACTIVE_INFRARED_DETECTOR
3- Active infrared detector
PASSIVE_INFRARED_DETECTOR
4- Passive infrared detector
GLASS_BREAK_DETECTOR
5- Glass break detector
VIBRATION_DETECTOR
6- Vibration detector
DUAL_TECHNOLOGY_PIR_DETECTOR
7- Dual technology motion detector
TRIPLE_TECHNOLOGY_PIR_DETECTOR
8- Triple technology detector
HUMIDITY_DETECTOR
9- Humidity detector
TEMPERATURE_DETECTOR
10- Temperature detector
COMBUSTIBLE_GAS_DETECTOR
11- Combustible gas detector
DYNAMIC_SWITCH
12- Dynamic switch
CONTROL_SWITCH
13- Control switch
SMART_LOCK
14- Smart lock
WATER_DETECTOR
15- Water detector
OTHER_DETECTOR
0xffff- Other detector

See Also

NET_DVR_ALARMIN_PARAM NET_DVR_SINGLE_ALARMIN_PARAM


Device Alarm Capability XML Description

Macro Definition of Capability Type | Description of Capability Type | pInBuf | pOutBuf
DEVICE_ALARM_ABILITY | Get alarm capability set | Device Alarm Capability XML Description | Device Alarm Capability XML Description

  • XML format of input parameters:
    • <AlarmAbility version="2.0">
  <channelID><!-- req, channel number --></channelID>
</AlarmAbility>
  • XML format of output parameters:
    • <AlarmAbility version="2.0">
  <channelEntry>

   <channelID><!—req,channel number--></channelID>

   <PIRAlarm>
    <enabled opt="true,false"><!-- req,whether enbale PIR alarm or not--></enabled>
    <alarmHandleType opt="monitor,audio,center,alarmout,picture,wirelesslight"></alarmHandleType>
   </PIRAlarm>

   <wirelessAlarm>
    <enabled opt="true,false"><!-- req,whether enbale wireless alarm or not--></enabled>
    <wirelessAlarmID min="1" max="8"><!—req, the count of supported wireless alarm --></wirelessAlarmID>
    <alarmHandleType opt="monitor,audio,center,alarmout,picture,wirelesslight"></alarmHandleType>
   </wirelessAlarm>

  </channelEntry>
</AlarmAbility>

    See Also

    NET_DVR_GetDeviceAbility


INITINFO

Parameters for initializing the window.

struct{
  int      uWidth;
  int      uHeight;
}INITINFO;

Members

uWidth
width of the window
uHeight
height of the window


ITC_MAINMODE_ABILITY

The capability of trigger mode

enum _ITC_MAINMODE_ABILITY_{
  ITC_MODE_UNKNOW      = 0x0,
  ITC_POST_MODE        = 0x1,
  ITC_EPOLICE_MODE     = 0x2,
  ITC_POSTEPOLICE_MODE = 0x4
}ITC_MAINMODE_ABILITY
ITC_MODE_UNKNOW
None
ITC_POST_MODE
Intelligent monitoring and recording system of vehicles
ITC_EPOLICE_MODE
Electronic police mode
ITC_POSTEPOLICE_MODE
Electronic police and intelligent monitoring and recording system of vehicles

See Also

NET_DVR_GetDeviceAbility


ITC_RELA_LANE_DIRECTION_TYPE

The related vehicle lane direction

enum _ITC_RELA_LANE_DIRECTION_TYPE_{
  ITC_RELA_LANE_DIRECTION_UNKNOW     = 0,
  ITC_RELA_LANE_EAST_WEST            = 1,
  ITC_RELA_LANE_WEST_EAST            = 2,
  ITC_RELA_LANE_SOUTH_NORTH          = 3,
  ITC_RELA_LANE_NORTH_SOUTH          = 4,
  ITC_RELA_LANE_EASTSOUTH_WESTNORTH  = 5,
  ITC_RELA_LANE_WESTNORTH_EASTSOUTH  = 6,
  ITC_RELA_LANE_EASTNORTH_WESTSOUTH  = 7,
  ITC_RELA_LANE_WESTSOUTH_EASTNORTH  = 8
}ITC_RELA_LANE_DIRECTION_TYPE
ITC_RELA_LANE_DIRECTION_UNKNOW
Others
ITC_RELA_LANE_EAST_WEST
From east to west
ITC_RELA_LANE_WEST_EAST
From west to east
ITC_RELA_LANE_SOUTH_NORTH
From south to north
ITC_RELA_LANE_NORTH_SOUTH
From north to south
ITC_RELA_LANE_EASTSOUTH_WESTNORTH
From south-east to west-north
ITC_RELA_LANE_WESTNORTH_EASTSOUTH
From north-west to south-east
ITC_RELA_LANE_EASTNORTH_WESTSOUTH
From north-east to south-west
ITC_RELA_LANE_WESTSOUTH_EASTNORTH
From south west to north-east


ITC_TRIGGERMODE_TYPE

Trigger mode

enum _ITC_TRIGGERMODE_TYPE_{
  ITC_POST_IOSPEED_TYPE             = 0x1,
  ITC_POST_SINGLEIO_TYPE            = 0x2,
  ITC_POST_RS485_TYPE               = 0x4,
  ITC_POST_RS485_RADAR_TYPE         = 0x8,
  ITC_POST_VIRTUALCOIL_TYPE         = 0x10,
  ITC_EPOLICE_IO_TRAFFICLIGHTS_TYPE = 0x100,
  ITC_EPOLICE_RS485_TYPE            = 0x200,
  ITC_PE_RS485_TYPE                 = 0x10000,
  ITC_VIDEO_EPOLICE_TYPE            = 0x20000
  ITC_VIA_VIRTUALCOIL_TYPE          = 0x40000,
  ITC_POST_IMT_TYPE                 = 0x80000,
  IPC_POST_HVT_TYPE                 = 0x100000,
  ITC_POST_MOBILE_TYPE              = 0x200000
  ITC_REDLIGHT_PEDESTRIAN_TYPE      = 0x400000,
  ITC_NOCOMITY_PEDESTRIAN_TYPE      = 0x800000
}ITC_TRIGGERMODE_TYPE
ITC_POST_IOSPEED_TYPE
IO speed measuring (intelligent monitoring and recording system of vehicles)
ITC_POST_SINGLEIO_TYPE
Single IO trigger (intelligent monitoring and recording system of vehicles)
ITC_POST_RS485_TYPE
RS485 magnetic vehicle detector trigger (intelligent monitoring and recording system of vehicles)
ITC_POST_RS485_RADAR_TYPE
RS485 radar trigger (intelligent monitoring and recording system of vehicles)
ITC_POST_VIRTUALCOIL_TYPE
Virtual coil trigger (intelligent monitoring and recording system of vehicles)
ITC_EPOLICE_IO_TRAFFICLIGHTS_TYPE
IO traffic lights (electronic police)
ITC_EPOLICE_RS485_TYPE
RS485 magnetic vehicle detector trigger (electronic police)
ITC_PE_RS485_TYPE
RS485 magnetic vehicle detector trigger(electronic police and intelligent monitoring and recording system of vehicles)
ITC_VIDEO_EPOLICE_TYPE
Video trigger (electronic police and intelligent monitoring and recording system of vehicles)
ITC_VIA_VIRTUALCOIL_TYPE
VIA triggering mode
ITC_POST_IMT_TYPE
Intelligent monitoring configuration
IPC_POST_HVT_TYPE
（IPC）Mixed traffic check point mode
ITC_POST_MOBILE_TYPE
Mobile traffic triggering mode
ITC_REDLIGHT_PEDESTRIAN_TYPE
Pedestrian red light triggering
ITC_NOCOMITY_PEDESTRIAN_TYPE
Not yield in crosswalks triggering

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

NET_ITC_SINGLE_TRIGGERCFG NET_ITC_VIDEO_TRIGGER_PARAM

NET_ITC_VIDEO_TRIGGER_COND NET_ITC_RS485_ACCESS_INFO_COND


NET_ALARM_CVR_SUBINFO_UNION

CVR device alarm information union

union{
  BYTE                          byLen[492];
  NET_ALARM_RECORDFILE_LOSS     struRecordLost;
  NET_ALARM_STREAM_EXCEPTION    struStreamException;
  NET_ALARM_RESOURCE_USAGE      struResourceUsage;
  NET_ALARM_RECORD_EXCEPTION    struRecordException;
}NET_ALARM_CVR_SUBINFO_UNION,*LPNET_ALARM_CVR_SUBINFO_UNION;

Members

byLen
The size of the union is 492 bytes.
struRecordLost
Video loss alarm information, the corresponding dwAlarmType is 8.
struStreamException
Streaming getting exception alarm information, the corresponding dwAlarmType is 9.
struResourceUsage
Resource usage alarm information, the corresponding dwAlarmType is 10.
struRecordException
Recording exception alarm information, the corresponding dwAlarmType is 12.

See Also

NET_DVR_ALARMINFO_DEV_V40


NET_ALARM_RECORD_EXCEPTION

The structure of recording exception alarm information

struct{
  BYTE     byReason;
  BYTE     byRes1[3];
  BYTE     sVolumeName[MAX_VOLUMENAME_LEN];
  DWORD    dwVolumeID;
  BYTE     byRes[452];
}NET_ALARM_RECORD_EXCEPTION,*LPNET_ALARM_RECORD_EXCEPTION;

Members

byReason
Exception reason: 0- Full HDD, 1- HDD exception, 2- No valid lun
byRes1
Reserved, set as 0.
sVolumeName
Video volume name
dwVolumeID
Video volume ID(HDD No.)
byRes
Reserved, set as 0

See Also

NET_ALARM_CVR_SUBINFO_UNION


NET_ALARM_RECORDFILE_LOSS

The structure of video loss alarm information

struct{
  NET_DVR_TIME_EX    struInspectStart;
  NET_DVR_TIME_EX    struInspectEnd;
  NET_DVR_IPADDR     struIP;
  DWORD              dwChanNo;
  DWORD              dwIDIndex;
  BYTE               sName[STREAM_ID_LEN];
  NET_DVR_TIME_EX    struLossStartTime;
  NET_DVR_TIME_EX    struLossEndTime;
  DWORD              dwLostNum;
  BYTE               byRes[240];
}NET_ALARM_RECORDFILE_LOSS,*LPNET_ALARM_RECORDFILE_LOSS;

Members

struInspectStart
The start time of patrolling inspect
struInspectEnd
The end time of patrolling inspect
struIP
The IP address of the video loss corresponding channel
dwChanNo
Channel No.
dwIDIndex
Encoder ID
sName
Editor name
struLossStartTime
Start time of video loss
struLossEndTime
End time of video loss
dwLostNum
Number of lost video, 0xffffffff represents lost all.
byRes
Reserved, set as 0.

See Also

NET_ALARM_CVR_SUBINFO_UNION


NET_ALARM_RESOURCE_USAGE

The structure of resource usage alarm information

struct{
  BYTE    byLevel;
  BYTE    byRes[491];
}NET_ALARM_RESOURCE_USAGE,*LPNET_ALARM_RESOURCE_USAGE;

Members

byLevel
The usage situation:0- Normal,1- Level 1 alarm, 2- Level 2 alarm, 3- Level 3 alarm
byRes
Reserved, set as 0.

See Also

NET_ALARM_CVR_SUBINFO_UNION


NET_ALARM_STREAM_EXCEPTION

The structure of video exception alarm

struct{
  NET_DVR_IPADDR    struIP;
  DWORD             dwChanNo;
  DWORD             dwIDIndex;
  BYTE              sName[STREAM_ID_LEN];
  BYTE              byExceptionCase;
  BYTE              byRes[307];
}NET_ALARM_STREAM_EXCEPTION,*LPNET_ALARM_STREAM_EXCEPTION;

Members

struIP
The IP address of the video loss corresponding channel
dwChanNo
Channel No.
dwIDIndex
Encoder ID
sName
Encoder name
byExceptionCase
Exception reason,0- Data writing in exception, 1- Network receiving exception
byRes
Reserved, set as 0.

See Also

NET_ALARM_CVR_SUBINFO_UNION


NET_BUTTON_DOWN_EXCEPTION_ALARM

Button down alarm information structure

struct{
  DWORD               dwSize;
  NET_VCA_DEV_INFO    struDevInfo;
  BYTE                byRes[64];
}NET_BUTTON_DOWN_EXCEPTION_ALARM,*LPNET_BUTTON_DOWN_EXCEPTION_ALARM;

Members

dwSize
Structure size
struDevInfo
Alarm device information
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_485_EXTERNAL_DEVICE_ALARMINFO

Structure for alarm information of RS485 peripherals.

struct{
  DWORD                             dwSize;
  BYTE                              byAlarmType;
  BYTE                              byRes1[3];
  NET_DVR_485_DEVICE_ALARM_UNION    struAlarmInfo;
  BYTE                              byRes2[16];
}NET_DVR_485_EXTERNAL_DEVICE_ALARMINFO,*LPNET_DVR_485_EXTERNAL_DEVICE_ALARMINFO;

Members

dwSize
Structure Size
byAlarmType
Alarm Type:1- UPS Alarm，2- Switch Power Supply Alarm，3- Gas Detection System Alarm，4- Temperature and Humidity Sensor Alarm
byRes1
Reserved
struAlarmInfo
Alarm Information
byRes2
Reserved

Remarks

The DS-19D00-0402BN power supply monitoring system does not support setting this parameter.

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_ STATISTIC_DATA_CFG

Statistics data configuration structure

struct{
  DWORD         dwSize;
  DWORD         dwTypeTarget;
  NET_DVR_TIME  struStartTime;
  NET_DVR_TIME  struStopTime;
  BYTE          byRes[300];
}STATISTIC_DATA_CFG,*LPNET_DVR_ STATISTIC_DATA_CFG;

Members

dwSize
Structure size
dwTypeTarget
Object type, for details see TARGET_TYPE:
enum _VCA_OPERATE_TYPE_{
  NET_SDK_ALL_TARGET       = 0,
  NET_SDK_PPT_TARGET_ALARM,
  NET_SDK_PPT_TARGET_VIEW ,
  NET_SDK_STU_SINGLE_ALARM,
  NET_SDK_STU_SINGLE_VIEW,
  NET_SDK_SUT_MULT_ALARM,
  NET_SDK_STU_MULT_VIEW,
  NET_SDK_STU_TEACHER_VIEW,
  NET_SDK_TEA_UP_DOWN_ALARM,
  NET_SDK_TEA_START_VIEW,
  NET_SDK_BLA_WRITE_ALARM,
  NET_SDK_BLA_WRITE_VIEW,
  NET_SDK_TEA_FULL_VIEW,
  NET_SDK_TEA_START_ALARM,
  NET_SDK_TEA_WALK_ALARM,
  NET_SDK_TEA_LEFT_ALARM,
  NET_SDK_TEA_RUN_ALARM,
  NET_SDK_TEA_MULT_ALARM
}VCA_OPERATE_TYPE
NET_SDK_ALL_TARGET
Include all objects
NET_SDK_PPT_TARGET_ALARM
PPT alarm
NET_SDK_PPT_TARGET_VIEW
PPT view
NET_SDK_STU_SINGLE_ALARM
Single student alarm
NET_SDK_STU_SINGLE_VIEW
Single student view
NET_SDK_SUT_MULT_ALARM
Multiple student alarm
NET_SDK_STU_MULT_VIEW
Multiple student view
NET_SDK_STU_TEACHER_VIEW
Interaction view
NET_SDK_TEA_UP_DOWN_ALARM
Teacher on/off the podium
NET_SDK_TEA_START_VIEW
Teaching view
NET_SDK_BLA_WRITE_ALARM
Writing board alarm
NET_SDK_BLA_WRITE_VIEW
Writing board view
NET_SDK_TEA_FULL_VIEW
Teacher full view
NET_SDK_TEA_START_ALARM
Teaching start alarm
NET_SDK_TEA_WALK_ALARM
Teacher walking alarm
NET_SDK_TEA_LEFT_ALARM
Teacher leaving alarm
NET_SDK_TEA_RUN_ALARM
Teacher running alarm
NET_SDK_TEA_MULT_ALARM
Multiple teacher alarm
struStartTime
Event start time
struStopTime
Event end time
byRes
Reserved, set as 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_ABILITY_LIST

Parameter structure of single ability.

struct{
  DWORD               dwAbilityType;
  BYTE                byRes[32];
  DWORD               dwNodeNum;
  NET_DVR_DESC_NODE   struDescNode[MAX_NODE_NUM];
}NET_DVR_ABILITY_LIST,*LPNET_DVR_ABILITY_LIST;

Members

dwAbilityType
ability type, defined as below:
enum _COMPRESSION_ABILITY_TYPE_{
  COMPRESSION_STREAM_ABILITY = 0,
  MAIN_RESOLUTION_ABILITY,
  SUB_RESOLUTION_ABILITY,
  EVENT_RESOLUTION_ABILITY,
  FRAME_ABILITY,
  BITRATE_TYPE_ABILITY,
  BITRATE_ABILITY
}COMPRESSION_ABILITY_TYPE
COMPRESSION_STREAM_ABILITY
stream compression type
MAIN_RESOLUTION_ABILITY
resolution of main stream
SUB_RESOLUTION_ABILITY
resolution of sub stream
EVENT_RESOLUTION_ABILITY
resolution of EVENT
FRAME_ABILITY
ability of frame rate
BITRATE_TYPE_ABILITY
ability of bit rate type
BITRATE_ABILITY
upper limit of bitrate
byRes
Reserved, please set to 0
dwNodeNum
the number of ability nodes
struDescNode
parameter structure of node ability

Remarks

We take an example to describle the relationship between ability type and parameter of node:
Ability Type (dwAbilityType) | Number of nodes(dwNodeNum) | Node Parameter: struDescNode->iValue | Node Parameter: struDescNode->byDescribe
COMPRESSION_STREAM_ABILITY | 3 | 0 | "Main Stream"
COMPRESSION_STREAM_ABILITY | 3 | 1 | "Sub Stream"
COMPRESSION_STREAM_ABILITY | 3 | 2 | "Event Stream"
BITRATE_ABILITY | 23 | 0 | "16Kbps"
BITRATE_ABILITY | 23 | 1 | "32Kbps"
… | … | … | …
BITRATE_ABILITY | 23 | -1 | "Self-Define(0-65535kbps)"

See Also

NET_DVR_DESC_NODE


NET_DVR_ACCELERATIONCFG

Structure of acceleration configuration.

struct{
  DWORD           dwMaxXAcc;
  DWORD           dwMaxYAcc;
  DWORD           dwMaxZAcc;
  BYTE            byRes[4];
}NET_DVR_ACCELERATIONCFG, *LPNET_DVR_ACCELERATIONCFG;

Members

dwMaxXAcc
X-axis alarm value of acceleration, the value is the actual value multiplied by 10, and the minimum value is 0
dwMaxYAcc
Y-axis alarm value of acceleration, the value is the actual value multiplied by 10, and the minimum value is 0
dwMaxZAcc
Z-axis alarm value of acceleration, the value is the actual value multiplied by 10, and the minimum value is 0
byRes
Reserved, please set to 0

See Also

NET_DVR_GSENSORPARA


NET_DVR_ACCESS_CAMERA_INFO

Structure of front-end camera information.

struct{
  DWORD    dwSize;
  char     sCameraInfo[32];
  BYTE     byInterfaceType;
  BYTE     byRes[31];
}NET_DVR_ACCESS_CAMERA_INFO, *LPNET_DVR_ACCESS_CAMERA_INFO;

Members

dwSize
Structure size
sCameraInfo
Camera information
byInterfaceType
Interface type: 1- VGA, 2- HDMI, 3- YPbPr, 4- SDI, 5- FC
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ACCESS_DEVICE_CHANNEL_INFO

Information of device channel to be accessed structure

struct{
  DWORD    dwSize;
  DWORD    dwTotalChannelNum[32];
  BYTE     byChannel[64];
  BYTE     byRes[32];
}NET_DVR_ACCESS_DEVICE_CHANNEL_INFO, *LPNET_DVR_ACCESS_DEVICE_CHANNEL_INFO;

Members

dwSize
Structure size
dwTotalChannelNum
Total number of device channels, return 0 when device is not online, byChannel invalid
byChannel
Channel information, byChannel[i]=0 means No.(byGroup+1)*(i-1) channel is not connected to NVR, 1 means the channel is connected to NVR. byGroup see structureNET_DVR_ACCESS_DEVICE_INFO.
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig


NET_DVR_ACCESS_DEVICE_INFO

Parameter of device to be accessed structure

struct{
  DWORD             dwSize;
  BYTE              byGroup;
  BYTE              byProType;
  BYTE              byAccessMode;
  BYTE              byRes1;
  char              szUserName[NAME_LEN];
  char              szPassword[PASSWD_LEN];
  char              szDomain[MAX_DOMAIN_NAME];
  NET_DVR_IPADDR    struIP;
  WORD              wPort;
  BYTE              byRes2[34];
}NET_DVR_ACCESS_DEVICE_INFO, *LPNET_DVR_ACCESS_DEVICE_INFO;

Members

dwSize
Structure size
byGroup
Group No., each group can get 64 channels, from 0, 0 means group No.1, and so forth
byProType
Protocol type: 0- private, 1- Panasonic, 2- Sony
byAccessMode
Access mode: 0- IP address, 1- domain name
byRes1
Reserved, set as 0
szUserName
User name
szPassword
Password
szDomain
Device domain name
struIP
IP address
wPort
Port No.
byRes2
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig


NET_DVR_ACCESSORY_CARD_INFO

Accessory board information structure

struct{
  DWORD    dwSize;
  BYTE     szAccessoryCardInfo[MAX_ACCESSORY_CARD];
  BYTE     byRes[512];
}NET_DVR_ACCESSORY_CARD_INFO,*LPNET_DVR_ACCESSORY_CARD_INFO;

Members

dwSize
Structure size
szAccessoryCardInfo
Accessory board model
byRes
Reserved, set as 0.

Remarks

  • Check whether the device supports this function via the device capability(AccessoryCardInfo)，API:NET_DVR_GetSTDAbility，Capability Type：NET_DVR_GET_ACCESSORY_CARD_INFO_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig


NET_DVR_ACS_ALARM_INFO

Structure of access controller alarm information.

struct{
  DWORD                     dwSize;
  DWORD                     dwMajor;
  DWORD                     dwMinor;
  NET_DVR_TIME              struTime;
  BYTE                      sNetUser[MAX_NAMELEN];
  NET_DVR_IPADDR            struRemoteHostAddr ;
  NET_DVR_ACS_EVENT_INFO    struAcsEventInfo;
  DWORD                     dwPicDataLen;
  char                      *pPicData;
  BYTE                      byRes[24];
}NET_DVR_ACS_ALARM_INFO,*LPNET_DVR_ACS_ALARM_INFO;

Members

dwSize
Structure size
dwMajor
Major type of alarm, see details in "Remarks"
dwMinor
Minor type of alarm. Different minor type implications coorespond to different major types, see details in "Remarks"
struTime
Alarm time
sNetUser
Network user name
struRemoteHostAddr
Remote host address
struAcsEventInfo
Detailed parameter of alarm information
dwPicDataLen
Picture data size.
pPicData
Picture data buffer
byRes
Reserved, set as 0.

Remarks

Access control host alarm information can only be obtained by setting alarm callback function through NET_DVR_SetDVRMessageCallBack_V31, and when the callback function returns value, TRUE should be returned to notify that the device has started receiving data, then the device will upload the next message.

Major types definitions of alarm are listed as below.

Macro Definition | Value | Description
MAJOR_ALARM | 0x1 | Alarm
MAJOR_EXCEPTION | 0x2 | Exception
MAJOR_OPERATION | 0x3 | Operation
MAJOR_EVENT | 0x5 | Event

Accroding to different major types, definitions of minor types are listed as below.

Macro Definition of Major Type | Value | Description
MAJOR_ALARM | 0x1 | Alarm
Macro Definition of Minor Type | Value | Description
MINOR_ALARMIN_SHORT_CIRCUIT | 0x400 | Region short circuited alarm
MINOR_ALARMIN_BROKEN_CIRCUIT | 0x401 | Region disconnected alarm
MINOR_ALARMIN_EXCEPTION | 0x402 | Region exception alarm
MINOR_ALARMIN_RESUME | 0x403 | Region alarm recovery
MINOR_HOST_DESMANTLE_ALARM | 0x404 | Device anti-tamper alarm
MINOR_HOST_DESMANTLE_RESUME | 0x405 | Device anti-tamper recovery
MINOR_CARD_READER_DESMANTLE_ALARM | 0x406 | Card reader tampering alarm
MINOR_CARD_READER_DESMANTLE_RESUME | 0x407 | Card reader tampering recovery
MINOR_CASE_SENSOR_ALARM | 0x408 | Event input alarm
MINOR_CASE_SENSOR_RESUME | 0x409 | Event input recovery
MINOR_STRESS_ALARM | 0x40a | Duress alarm
MINOR_OFFLINE_ECENT_NEARLY_FULL | 0x40b | An alarm is triggered if the number of offline events is up to 90%
MINOR_CARD_MAX_AUTHENTICATE_FAIL | 0x40c | Card reading failure alarm
MINOR_SD_CARD_FULL | 0x40d | SD card storage full alarm
MINOR_LINKAGE_CAPTURE_PIC | 0x40e | Linked capture event alarm
MINOR_SECURITY_MODULE_DESMANTLE_ALARM | 0x40f | Security control unit tamper-proof alarm
MINOR_SECURITY_MODULE_DESMANTLE_RESUME | 0x410 | Security control unit tamper-proof recovered
MINOR_POS_START_ALARM | 0x411 | POS start
MINOR_POS_END_ALARM | 0x412 | POS end
MINOR_FACE_IMAGE_QUALITY_LOW | 0x413 | Low face image quality
MINOR_FINGE_RPRINT_QUALITY_LOW | 0x414 | Low fingerprint image quality
MINOR_FIRE_IMPORT_SHORT_CIRCUIT | 0x415 | Fire import short-circuit alarm
MINOR_FIRE_IMPORT_BROKEN_CIRCUIT | 0x416 | Fire import broken-circuit alarm
MINOR_FIRE_IMPORT_RESUME | 0x417 | Fire import recovered

Macro Definition of Major Type | Value | Description
MAJOR_EXCEPTION | 0x2 | Exception
Macro Definition of Minor Type | Value | Description
MINOR_NET_BROKEN | 0x27 | Network disconnected
MINOR_RS485_DEVICE_ABNORMAL | 0x3a | RS485 connection exception
MINOR_RS485_DEVICE_REVERT | 0x3b | RS485 connection exception recovery
MINOR_DEV_POWER_ON | 0x400 | Device power on and start
MINOR_DEV_POWER_OFF | 0x401 | Device power down and shutdown
MINOR_WATCH_DOG_RESET | 0x402 | Watchdog reset
MINOR_LOW_BATTERY | 0x403 | Low battery voltage
MINOR_BATTERY_RESUME | 0x404 | Battery voltage recovery
MINOR_AC_OFF | 0x405 | AC power disconnected
MINOR_AC_RESUME | 0x406 | AC power recovery
MINOR_NET_RESUME | 0x407 | Network recovery
MINOR_FLASH_ABNORMAL | 0x408 | FLASH read and write exception
MINOR_CARD_READER_OFFLINE | 0x409 | Card reader offline
MINOR_CARD_READER_RESUME | 0x40a | Card reader offline recovery
MINOR_INDICATOR_LIGHT_OFF | 0x40b | Indicator turns off
MINOR_INDICATOR_LIGHT_RESUME | 0x40c | Indicator recovered
MINOR_CHANNEL_CONTROLLER_OFF | 0x40d | Channel controller disconnected
MINOR_CHANNEL_CONTROLLER_RESUME | 0x40e | Channel controller recovered
MINOR_SECURITY_MODULE_OFF | 0x40f | Security control unit offline
MINOR_SECURITY_MODULE_RESUME | 0x410 | Security control network connection recovered
MINOR_BATTERY_ELECTRIC_LOW | 0x411 | Low battery voltage
MINOR_BATTERY_ELECTRIC_RESUME | 0x412 | Battery voltage recovered
MINOR_LOCAL_CONTROL_NET_BROKEN | 0x413 | Distributed access controller network disconnection
MINOR_LOCAL_CONTROL_NET_RSUME | 0x414 | Distributed access controller network connection recovered
MINOR_MASTER_RS485_LOOPNODE_BROKEN | 0x415 | Master controller RS-485 loop circuit node disconnected
MINOR_MASTER_RS485_LOOPNODE_RESUME | 0x416 | Master controller RS-485 loop circuit node connection recovered
MINOR_LOCAL_CONTROL_OFFLINE | 0x417 | Distributed access controller offline
MINOR_LOCAL_CONTROL_RESUME | 0x418 | Distributed access controller offline recovered
MINOR_LOCAL_DOWNSIDE_RS485_LOOPNODE_BROKEN | 0x419 | Distributed access controller downlink RS-485 loop circuit disconnected
MINOR_LOCAL_DOWNSIDE_RS485_LOOPNODE_RESUME | 0x41a | Distributed access controller downlink RS-485 loop circuit connection recovered

Macro Definition of Major Type | Value | Description
MAJOR_OPERATION | 0x3 | Operation
Macro Definition of Minor Type | Value | Description
MINOR_LOCAL_UPGRADE | 0x5a | Local upgrade
MINOR_REMOTE_LOGIN | 0x70 | Remote login
MINOR_REMOTE_LOGOUT | 0x71 | Remote logout
MINOR_REMOTE_ARM | 0x79 | Remote arming
MINOR_REMOTE_DISARM | 0x7a | Remote disarming
MINOR_REMOTE_REBOOT | 0x7b | Remote reboot
MINOR_REMOTE_UPGRADE | 0x7e | Remote upgrate
MINOR_REMOTE_CFGFILE_OUTPUT | 0x86 | Remotely export the configuration file
MINOR_REMOTE_CFGFILE_INTPUT | 0x87 | Remotely import the configuration file
MINOR_REMOTE_ALARMOUT_OPEN_MAN | 0xd6 | Remotely enable alarm output manually
MINOR_REMOTE_ALARMOUT_CLOSE_MAN | 0xd7 | Remotely disable alarm output manually
MINOR_REMOTE_OPEN_DOOR | 0x400 | Remotely open door
MINOR_REMOTE_CLOSE_DOOR | 0x401 | Remotely close door
MINOR_REMOTE_ALWAYS_OPEN | 0x402 | Remotely remain door open
MINOR_REMOTE_ALWAYS_CLOSE | 0x403 | Remotely remain door closed
MINOR_REMOTE_CHECK_TIME | 0x404 | Remotely synchronize time manually
MINOR_NTP_CHECK_TIME | 0x405 | NTP auto time synchronization
MINOR_REMOTE_CLEAR_CARD | 0x406 | Remotely clear card number
MINOR_REMOTE_RESTORE_CFG | 0x407 | Remotely restore default settings
MINOR_ALARMIN_ARM | 0x408 | Region arming
MINOR_ALARMIN_DISARM | 0x409 | Region disarming
MINOR_LOCAL_RESTORE_CFG | 0x40a | Local operation: restore defalut settings
MINOR_REMOTE_CAPTURE_PIC | 0x40b | Remote capture
MINOR_MOD_NET_REPORT_CFG | 0x40c | Modify parameters of network center
MINOR_MOD_GPRS_REPORT_PARAM | 0x40d | Modify parameters of GPRS center
MINOR_MOD_REPORT_GROUP_PARAM | 0x40e | Modify parameters of center group
MINOR_UNLOCK_PASSWORD_OPEN_DOOR | 0x40f | Input dismiss code
MINOR_AUTO_RENUMBER | 0x410 | Auto renumbering
MINOR_AUTO_COMPLEMENT_NUMBER | 0x411 | Auto add number
MINOR_NORMAL_CFGFILE_INPUT | 0x412 | Import normal configuration file
MINOR_NORMAL_CFGFILE_OUTTPUT | 0x413 | Export normal configuration file
MINOR_CARD_RIGHT_INPUT | 0x414 | Import card permission parameter
MINOR_CARD_RIGHT_OUTTPUT | 0x415 | Export card permission parameter
MINOR_LOCAL_USB_UPGRADE | 0x416 | Local flash memory drive upgrade
Macro Definition of Major Type | Value | Description
MAJOR_EVENT | 0x5 | Event
Macro Definition of Minor Type | Value | Description
MINOR_LEGAL_CARD_PASS | 0x01 | Legal card authentication passed
MINOR_CARD_AND_PSW_PASS | 0x02 | Card and password authentication passed
MINOR_CARD_AND_PSW_FAIL | 0x03 | Card and password authentication failed
MINOR_CARD_AND_PSW_TIMEOUT | 0x04 | Card and password authentication timeout
MINOR_CARD_AND_PSW_OVER_TIME | 0x05 | Card and password authentication over time
MINOR_CARD_NO_RIGHT | 0x06 | No permission
MINOR_CARD_INVALID_PERIOD | 0x07 | Invalid duratino
MINOR_CARD_OUT_OF_DATE | 0x08 | Expired card number
MINOR_INVALID_CARD | 0x09 | Invalid card
MINOR_ANTI_SNEAK_FAIL | 0x0a | Anti-passing back anthentication failed
MINOR_INTERLOCK_DOOR_NOT_CLOSE | 0x0b | The interlocking door is not closed
MINOR_NOT_BELONG_MULTI_GROUP | 0x0c | The card does not belong to multiple authentication group
MINOR_INVALID_MULTI_VERIFY_PERIOD | 0x0d | The card is not in the multiple authentication duration
MINOR_MULTI_VERIFY_SUPER_RIGHT_FAIL | 0x0e | Multiple authentication super permission authentication failed.
MINOR_MULTI_VERIFY_REMOTE_RIGHT_FAIL | 0x0f | Multiple authentication remote authentication failed.
MINOR_MULTI_VERIFY_SUCCESS | 0x10 | Multiple authentication succeeded
MINOR_LEADER_CARD_OPEN_BEGIN | 0x11 | Start opening door with first card
MINOR_LEADER_CARD_OPEN_END | 0x12 | End opening door with first card
MINOR_ALWAYS_OPEN_BEGIN | 0x13 | Start door remaining open
MINOR_ALWAYS_OPEN_END | 0x14 | Normally open status end
MINOR_LOCK_OPEN | 0x15 | Unlock door
MINOR_LOCK_CLOSE | 0x16 | Lock door
MINOR_DOOR_BUTTON_PRESS | 0x17 | Press door button
MINOR_DOOR_BUTTON_RELEASE | 0x18 | Release door button
MINOR_DOOR_OPEN_NORMAL | 0x19 | Normally open door (door magnetic)
MINOR_DOOR_CLOSE_NORMAL | 0x1a | Normally close door (door magnetic)
MINOR_DOOR_OPEN_ABNORMAL | 0x1b | Abnormally open door (door magnetic)
MINOR_DOOR_OPEN_TIMEOUT | 0x1c | Open door timed out (door magnetic)
MINOR_ALARMOUT_ON | 0x1d | Enable alarm output
MINOR_ALARMOUT_OFF | 0x1e | Disable alarm output
MINOR_ALWAYS_CLOSE_BEGIN | 0x1f | Start normal closed
MINOR_ALWAYS_CLOSE_END | 0x20 | End normal closed
MINOR_MULTI_VERIFY_NEED_REMOTE_OPEN | 0x21 | Multiple authentication: remotely open door
MINOR_MULTI_VERIFY_SUPERPASSWD_VERIFY_SUCCESS | 0x22 | Multiple authentication: super password authentication succeeded
MINOR_MULTI_VERIFY_REPEAT_VERIFY | 0x23 | Multiple authentication: repeat authentication event
MINOR_MULTI_VERIFY_TIMEOUT | 0x24 | Multiple authentication timed out
MINOR_DOORBELL_RINGING | 0x25 | Door bell ringing
MINOR_FINGERPRINT_COMPARE_PASS | 0x26 | Successful fingerprint authentication
MINOR_FINGERPRINT_COMPARE_FAIL | 0x27 | fingerprint authentication failed
MINOR_CARD_FINGERPRINT_VERIFY_PASS | 0x28 | Successful card and fingerprint authentication
MINOR_CARD_FINGERPRINT_VERIFY_FAIL | 0x29 | Card and fingerprint authentication failed
MINOR_CARD_FINGERPRINT_VERIFY_TIMEOUT | 0x2a | Card and fingerprint authentication overtime
MINOR_CARD_FINGERPRINT_PASSWD_VERIFY_PASS | 0x2b | Successful card, fingerprint and password authentication
MINOR_CARD_FINGERPRINT_PASSWD_VERIFY_FAIL | 0x2c | Card, fingerprint and password authentication failed
MINOR_CARD_FINGERPRINT_PASSWD_VERIFY_TIMEOUT | 0x2d | Card, fingerprint and password authentication overtime
MINOR_FINGERPRINT_PASSWD_VERIFY_PASS | 0x2e | Successful fingerprint and password authentication
MINOR_FINGERPRINT_PASSWD_VERIFY_FAIL | 0x2f | Fingerprint and password authentication failed
MINOR_FINGERPRINT_PASSWD_VERIFY_TIMEOUT | 0x30 | Fingerprint and password authentication overtime
MINOR_FINGERPRINT_INEXISTENCE | 0x31 | The fingerprint is not existed.
MINOR_CARD_PLATFORM_VERIFY | 0x32 | Card platform verification
MINOR_CALL_CENTER | 0x33 | Call center event
MINOR_FIRE_RELAY_TURN_ON_DOOR_ALWAYS_OPEN | 0x34 | Fire relay turned on and triggered door to normally open
MINOR_FIRE_RELAY_RECOVER_DOOR_RECOVER_NORMAL | 0x35 | Fire relay recovered and door recovered
MINOR_FACE_AND_FP_VERIFY_PASS | 0x36 | Face and fingerprint verification passed
MINOR_FACE_AND_FP_VERIFY_FAIL | 0x37 | Face and fingerprint verification failed
MINOR_FACE_AND_FP_VERIFY_TIMEOUT | 0x38 | Face and fingerprint verification timed out
MINOR_FACE_AND_PW_VERIFY_PASS | 0x39 | Face and password verification passed
MINOR_FACE_AND_PW_VERIFY_FAIL | 0x3a | Face and password verification failed
MINOR_FACE_AND_PW_VERIFY_TIMEOUT | 0x3b | Face and password verification timed out
MINOR_FACE_AND_CARD_VERIFY_PASS | 0x3c | Face and card verification passed
MINOR_FACE_AND_CARD_VERIFY_FAIL | 0x3d | Face and card verification failed
MINOR_FACE_AND_CARD_VERIFY_TIMEOUT | 0x3e | Face and card verification timed out
MINOR_FACE_AND_PW_AND_FP_VERIFY_PASS | 0x3f | Face, password and fingerprint verification passed
MINOR_FACE_AND_PW_AND_FP_VERIFY_FAIL | 0x40 | Face, password and fingerprint verification failed
MINOR_FACE_AND_PW_AND_FP_VERIFY_TIMEOUT | 0x41 | Face, password and fingerprint verification timed out
MINOR_FACE_CARD_AND_FP_VERIFY_PASS | 0x42 | Face, card and fingerprint verification passed
MINOR_FACE_CARD_AND_FP_VERIFY_FAIL | 0x43 | Face, card and fingerprint verification failed
MINOR_FACE_CARD_AND_FP_VERIFY_TIMEOUT | 0x44 | Face, card and fingerprint verification timed out
MINOR_EMPLOYEENO_AND_FP_VERIFY_PASS | 0x45 | Employee ID and fingerprint verification passed
MINOR_EMPLOYEENO_AND_FP_VERIFY_FAIL | 0x46 | Employee ID and fingerprint verification failed
MINOR_EMPLOYEENO_AND_FP_VERIFY_TIMEOUT | 0x47 | Employee ID and fingerprint verification timed out
MINOR_EMPLOYEENO_AND_FP_AND_PW_VERIFY_PASS | 0x48 | Employee ID, fingerprint and password verification passed
MINOR_EMPLOYEENO_AND_FP_AND_PW_VERIFY_FAIL | 0x49 | Employee ID, fingerprint and password verification failed
MINOR_EMPLOYEENO_AND_FP_AND_PW_VERIFY_TIMEOUT | 0x4a | Employee ID, fingerprint and password verification timed out
MINOR_FACE_VERIFY_PASS | 0x4b | Face verification passed
MINOR_FACE_VERIFY_FAIL | 0x4c | Face verification failed
MINOR_EMPLOYEENO_AND_FACE_VERIFY_PASS | 0x4d | Employee ID and face verification passed
MINOR_EMPLOYEENO_AND_FACE_VERIFY_FAIL | 0x4e | Employee ID and face verification failed
MINOR_EMPLOYEENO_AND_FACE_VERIFY_TIMEOUT | 0x4f | Employee ID and face verification timed out
MINOR_FACE_NO_EXIST | 0x50 | Face do not exist
MINOR_FIRSTCARD_AUTHORIZE_BEGIN | 0x51 | First card authorization start
MINOR_FIRSTCARD_AUTHORIZE_END | 0x52 | First card authorization end
MINOR_DOORLOCK_INPUT_SHORT_CIRCUIT | 0x53 | Door lock input short-circuit alarm
MINOR_DOORLOCK_INPUT_BROKEN_CIRCUIT | 0x54 | Door lock input broken-circuit alarm
MINOR_DOORLOCK_INPUT_EXCEPTION | 0x55 | Door lock input exception alarm
MINOR_DOORCONTACT_INPUT_SHORT_CIRCUIT | 0x56 | Door magnetic input short-circuit alarm
MINOR_DOORCONTACT_INPUT_BROKEN_CIRCUIT | 0x57 | Door magnetic input broken-circuit alarm
MINOR_DOORCONTACT_INPUT_EXCEPTION | 0x58 | Door magnetic input exception alarm
MINOR_OPENBUTTON_INPUT_SHORT_CIRCUIT | 0x59 | Open button input short-circuit alarm
MINOR_OPENBUTTON_INPUT_BROKEN_CIRCUIT | 0x5a | Open button input broken-circuit alarm
MINOR_OPENBUTTON_INPUT_EXCEPTION | 0x5b | Open button input exception alarm
MINOR_DOORLOCK_OPEN_EXCEPTION | 0x5c | Door lock open exception
MINOR_DOORLOCK_OPEN_TIMEOUT | 0x5d | Door lock open timed out
MINOR_FIRSTCARD_OPEN_WITHOUT_AUTHORIZE | 0x5e | First card failed to open door without authorization

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_ACS_CFG

Structure of access controller alarm information.

struct{
  DWORD    dwSize;
  BYTE     byRS485Backup;
  BYTE     byShowCapPic;
  BYTE     byShowCardNo;
  BYTE     byShowUserInfo;
  BYTE     byOverlayUserInfo;
  BYTE     byVoicePrompt;
  BYTE     byUploadCapPic;
  BYTE     bySaveCapPic;
  BYTE     byInputCardNo;
  BYTE     byRes[503];
}NET_DVR_ACS_CFG, *LPNET_DVR_ACS_CFG;

Members

dwSize
Structure size
byRS485Backup
Whether to enable downstream backup function of RS485: 0- no, 1- yes
byShowCapPic
Whether to display captured picture: 0- no, 1- yes
byShowCardNo
Whether to display card number: 0- no, 1- yes
byShowUserInfo
Whether to display user inforamtion: 0- no, 1- yes
byOverlayUserInfo
Whether to overlay user information: 0- no, 1- yes
byVoicePrompt
Whether to enable voice prompts: 0- no, 1- yes
byUploadCapPic
Whether to upload captured picture: 0- no, 1- yes
bySaveCapPic
Whether to save captured picture: 0- no, 1- yes
byInputCardNo
Whether to allow entering card number by keypad: 0- no, 1- yes
byRes
Reserved, please set to 0

Remarks

  • It is the capability set that decides whether the device supports the parameter settings of access controller. Corresponding capability set of access controller is AcsAbility, the related interface is NET_DVR_GetDeviceAbility, the capability set type is ACS_ABILITY, and the node is <AcsHostCfg>.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ACS_EVENT_INFO

Event information of access controller.

struct{
  DWORD    dwSize;
  BYTE     byCardNo[ACS_CARD_NO_LEN];
  BYTE     byCardType;
  BYTE     byWhiteListNo;
  BYTE     byReportChannel;
  BYTE     byCardReaderKind;
  DWORD    dwCardReaderNo;
  DWORD    dwDoorNo;
  DWORD    dwVerifyNo;
  DWORD    dwAlarmInNo;
  DWORD    dwAlarmOutNo;
  DWORD    dwCaseSensorNo;
  DWORD    dwRs485No;
  DWORD    dwMultiCardGroupNo;
  WORD     wAccessChannel;
  BYTE     byDeviceNo;
  BYTE     byRes1[1];
  DWORD    dwEmployeeNo;
  WORD     wLocalControllerID;
  BYTE     byInternetAccess;
  BYTE     byType;
  BYTE     byRes[20];
}NET_DVR_ACS_EVENT_INFO,*LPNET_DVR_ACS_EVENT_INFO;

Members

dwSize
Structure size
byCardNo
Card number
byCardType
Card type: 1- normal card, 2- card for disabled person, 3- card in balcklist, 4- patrol card, 5- duress card, 6- super card, 7- visitor card, 8- releasing card, 0- null
byWhiteListNo
White list number, the range of valid: 1 to 8, 0- null
byReportChannel
Report upload channel: 1- upload by arming, 2- upload by center group 1, 3- upload by center group 2, 0- null
byCardReaderKind
CArd reader type: 0- null, 1- IC card reader, 2- ID card reader, 3- QR code reader, 4- Fingerprint reader
dwCardReaderNo
Card reader number, 0- null
dwDoorNo
Door number, 0- null
dwVerifyNo
Multiple cards authentication number, 0- null
dwAlarmInNo
Alarm input number, 0- null
dwAlarmOutNo
Alarm output number, 0- null
dwCaseSensorNo
Event alarm input number
dwRs485No
RS485 channel number, 0- null
dwMultiCardGroupNo
Group number
wAccessChannel
Personnel channel number
byDeviceNo
Device number, 0- null
byRes1
Reserved, set as 0
dwEmployeeNo
Employee number, 0- null
wLocalControllerID
Distributed access controller number, 0- access control host, 1 to 255- distributed access controller
byInternetAccess
Network port ID: (1- uplink port, 2- uplink 2, 3- downlink port 1)
byType
arming region: 0- instant region, 1- 24-hour sound region, 2- delay region, 3- interior region, 4- key region, 5- fire region, 6- perimeter region, 7- 24-hour silent region, 8- 24-hour auxiliary region, 9- 24-hour vibration region, 10- Emergency open door region, 11- Emergency close door region, 0xff- null
byRes
Reserved, set to 0

See Also

NET_DVR_ACS_ALARM_INFO


NET_DVR_ACS_EXTERNAL_DEV_CFG

Access control host serial port external device parameters configuration structure

struct{
  DWORD    dwSize;
  BYTE     byIDCardUpMode;
  BYTE     byRes1;
  BYTE     byCardVerifyMode;
  BYTE     byACSDevType;
  BYTE     byDoorMode;
  BYTE     byRes2;
  WORD     wDevDetailType;
  BYTE     byRes[300];
}NET_DVR_ACS_EXTERNAL_DEV_CFG,*LPNET_DVR_ACS_EXTERNAL_DEV_CFG;

Members

dwSize
Structure size
byIDCardUpMode
ID information report mode: 0- upload 8-digit ID number, 1- upload all information
byRes1
Reserved, set as 0
byCardVerifyMode
Card verification mode: 0- remote center, 1- client platform
byACSDevType
Device model: 1- ID card reader, 2- IC card reader, 3- QR code reader, 4- fingerprint reader, 5- screen + QR code reader, 6- card collector, 7- screen, 8- fingerprint scanner, 9- voice module
byDoorMode
Door access mode: 0- enter, 1- exit
byRes2
Reserved, set as 0
wDevDetailType
External device model
When byACSDevType=1: 1- iDR210, 2- IDM10
When byACSDevType=7: 0- DC48270RS043_01T, 1- DC80480B070_03T
byRes
Reserved, set as 0

Remarks

  • Whether device supports serial port external device configuration or the supported parameters, can be determined through device capability set, capability set: (AcsAbility ), API: NET_DVR_GetDeviceAbility, type: ACS_ABILITY, node: <ExternalDevCfg>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ACS_PARAM_TYPE

The Access Control Host Parameters Structure

struct{
  DWORD    dwSize;
  DWORD    dwParamType;
  BYTE     byRes[32];
}NET_DVR_ACS_PARAM_TYPE,*LPNET_DVR_ACS_PARAM_TYPE;

Members

dwSize
The size of the structure
dwParamType
Parameter Type, Each byte represent a type,0- Do not Precess; 1; process.
Macro Definition | Value | Description
ACS_PARAM_DOOR_STATUS_WEEK_PLAN | 0x00000001 | Door Status Weekly Schedule
ACS_PARAM_VERIFY_WEEK_PALN | 0x00000002 | Card Rearder Weekly Schedule
ACS_PARAM_CARD_RIGHT_WEEK_PLAN | 0x00000004 | Card Permission Weekly Schedule
ACS_PARAM_DOOR_STATUS_HOLIDAY_PLAN | 0x00000008 | Door Status Holiday Schedule
ACS_PARAM_VERIFY_HOLIDAY_PALN | 0x00000010 | Card Reader Holiday Schedule
ACS_PARAM_CARD_RIGHT_HOLIDAY_PLAN | 0x00000020 | Card Permission Holiday Schedule
ACS_PARAM_DOOR_STATUS_HOLIDAY_GROUP | 0x00000040 | Door Status Holiday Group
ACS_PARAM_VERIFY_HOLIDAY_GROUP | 0x00000080 | Card Reader Authentication Mode Group
ACS_PARAM_CARD_RIGHT_HOLIDAY_GROUP | 0x00000100 | Card Permision Holiday Group
ACS_PARAM_DOOR_STATUS_PLAN_TEMPLATE | 0x00000200 | Door Status Schedule Template
ACS_PARAM_VERIFY_PALN_TEMPLATE | 0x00000400 | Card Reader Authentication Schdule Template
ACS_PARAM_CARD_RIGHT_PALN_TEMPLATE | 0x00000800 | Card Permission Schdule Templalte
ACS_PARAM_CARD | 0x00001000 | Card Parameters
ACS_PARAM_GROUP | 0x00002000 | Group Parameters
ACS_PARAM_ANTI_SNEAK_CFG | 0x00004000 | Anti-passback Parameters
ACS_PAPAM_EVENT_CARD_LINKAGE | 0x00008000 | Event Linked to Card No. Parameters
ACS_PAPAM_CARD_PASSWD_CFG | 0x00010000 | Password Opening Door Parameters
byRes
Reversed, set as 0

See Also

NET_DVR_RemoteControl


NET_DVR_ACS_SCREEN_DISPLAY_CFG

Screen string display parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwFontSize;
  DWORD    dwRowSpacing;
  DWORD    dwColumnSpacing;
  DWORD    dwFirstRowPosition;
  BYTE     byDegree;
  BYTE     byScreenType;
  BYTE     byRes[306];
}NET_DVR_ACS_SCREEN_DISPLAY_CFG, *LPNET_DVR_ACS_SCREEN_DISPLAY_CFG;

Members

dwSize
Structure size
dwFontSize
Font size: [1,10]
dwRowSpacing
Row space, unit: pixel
dwColumnSpacing
Column space, unit: pixel
dwFirstRowPosition
First row position: 0- 0, 1- 1/8, 2- 2/8, 3- 3/8, 4- 4/8, 5- 5/8, 6- 6/8, 7- 7/8
byDegree
Character display direction angle: 0- 0 degree (normal), 1- 90 degree (side)
byScreenType
Screen type: 0- DC48270RS043_01T, 1- DC80480B070_03T
byRes
Reserved, set as 0

Remarks

  • Whether the device supports screen string display configuration or the supported parameter capability, can be determined through device capability set (AcsAbility ), API: NET_DVR_GetDeviceAbility, type: ACS_ABILITY, node: <ScreenDisplayCfg>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ACS_WORK_STATUS

Access Control Host Working Status Structure

struct{
  DWORD    dwSize;
  BYTE     byDoorLockStatus[MAX_DOOR_NUM];
  BYTE     byDoorStatus[MAX_DOOR_NUM];
  BYTE     byMagneticStatus[MAX_DOOR_NUM];
  BYTE     byCaseStatus[MAX_CASE_SENSOR_NUM];
  WORD     wBatteryVoltage;
  BYTE     byBatteryLowVoltage;
  BYTE     byPowerSupplyStatus;
  BYTE     byMultiDoorInterlockStatus;
  BYTE     byAntiSneakStatus;
  BYTE     byHostAntiDismantleStatus;
  BYTE     byIndicatorLightStatus;
  BYTE     byCardReaderOnlineStatus[MAX_CARD_READER_NUM];
  BYTE     byCardReaderAntiDismantleStatus[MAX_CARD_READER_NUM];
  BYTE     byCardReaderVerifyMode[MAX_CARD_READER_NUM];
  BYTE     bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM];
  DWORD    dwCardNum;
  BYTE     byRes2[32];
}NET_DVR_ACS_WORK_STATUS,*LPNET_DVR_ACS_WORK_STATUS;

Members

dwSize
The size of the structure
byDoorLockStatus
Door Lock Status. 0- Close; 1- Open.
byDoorStatus
Door Status. 1- Sleeping, 2- Remain Open; 3- Remain Closed; 4- Normal.
byMagneticStatus
Door Magnet Status 0- Disabled; 1- Enabled.
byCaseStatus
Event Trigger Status. 0- No Input; 1- With Input.
wBatteryVoltage
Battery Power. The value should be multiplied by 10. Unit: V
byBatteryLowVoltage
Low voltage of the battery? 0- No; 1- Yes.
byPowerSupplyStatus
Device Power Supply Status. 1. AC Power Supply; 2- Battery Power Supply.
byMultiDoorInterlockStatus
Multi-door Interlocking Status. 0- Disabled; 1- Enabled.
byAntiSneakStatus
Anti-passback Status. 0- Disabled; 1- Enabled
byHostAntiDismantleStatus
Host Tamper-Proof Status. 0- Disabled; 1- Enabled.
byIndicatorLightStatus
Indicator status
byRes1
Reserved, set as 0
byCardReaderOnlineStatus
Card Reader On-line Status. 0- Offline; 1- Online.
byCardReaderAntiDismantleStatus
Card Reader Tamper-proof Status. 0- Disabled; 1- Enabled.
byCardReaderVerifyMode
Card Reader Authentication Mode. 0- Invalid, 1- Sleeping, 2- Card and password, 3- Card, 4- Card or password, 5- Fingerprint, 6- Fingerprint and password, 7- Fingerprint or card, 8- Fingerprint and Card, 9- Fingerprint and card and password
bySetupAlarmStatus
Alarm input arming status: 0- Related alarm input in the status of disarming, 1- Related alarm input in the status of arming
byAlarmInStatus
Alarm Input Port Alarm status. 0- Alarm Calling 1- No Alarm Calling
byAlarmOutStatus
Alarm Output Port Alarm status. 0- Alarm Calling 1- No Alarm Calling
dwCardNum
The Number of Added Card.
byRes2
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ACS_WORK_STATUS_V50

Access control host operating status structure

struct{
  DWORD    dwSize;
  BYTE     byDoorLockStatus[MAX_DOOR_NUM_256];
  BYTE     byDoorStatus[MAX_DOOR_NUM_256];
  BYTE     byMagneticStatus[MAX_DOOR_NUM_256];
  BYTE     byCaseStatus[MAX_CASE_SENSOR_NUM];
  WORD     wBatteryVoltage;
  BYTE     byBatteryLowVoltage;
  BYTE     byPowerSupplyStatus;
  BYTE     byMultiDoorInterlockStatus;
  BYTE     byAntiSneakStatus;
  BYTE     byHostAntiDismantleStatus;
  BYTE     byIndicatorLightStatus;
  BYTE     byCardReaderOnlineStatus[MAX_CARD_READER_NUM_512];
  BYTE     byCardReaderAntiDismantleStatus[MAX_CARD_READER_NUM_512];
  BYTE     byCardReaderVerifyMode[MAX_CARD_READER_NUM_512];
  BYTE     bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM];
  DWORD    dwCardNum;
  BYTE     byFireAlarmStatus;
  BYTE     byRes2[123];
}NET_DVR_ACS_WORK_STATUS_V50,*LPNET_DVR_ACS_WORK_STATUS_V50;

Members

dwSize
Structure size
byDoorLockStatus
Lock status, 0- close, 1- open, 2- short-circuit alarm, 3- broken-circuit alarm, 4- exception alarm
byDoorStatus
Door status: 1- sleep, 2- normally open, 3- normally closed, 4- normal
byMagneticStatus
Magnet status: 0- close, 1- open, 2- short-circuit alarm, 3- broken-circuit alarm, 4- exception alarm
byCaseStatus
Event alarm input status: 0- no input, 1- input
wBatteryVoltage
Battery voltage, actual value multiplies 10, unit:volt
byBatteryLowVoltage
Whether battery in low voltage status: 0- no, 1- yes
byPowerSupplyStatus
Device power supply status: 1- AC, 2- battery
byMultiDoorInterlockStatus
Interlock status: 0- close, 1- open
byAntiSneakStatus
Anti-passing back status: 0- close, 1- open
byHostAntiDismantleStatus
Host anti-tamper status: 0- close, 1- open
byIndicatorLightStatus
Indicator status: 0- offline, 1- online
byCardReaderOnlineStatus
Card reader online status: 0- offline, 1- online
byCardReaderAntiDismantleStatus
Card reader anti-tamper status: 0- disable, 1- enable
byCardReaderVerifyMode
Card reader current verification method: 0- invalid, 1- sleep, 2- card + password, 3- card, 4- card or password, 5- fingerprint, 6- fingerprint + password, 7- fingerprint or card, 8- fingerprint + card, 9- fingerprint + card + password
bySetupAlarmStatus
Alarm input arming status: 0- disarmed, 1- armed
byAlarmInStatus
Alarm input status by byte: 0- no alarm, 1- alarm
byAlarmOutStatus
Alarm output status by byte: 0- no alarm, 1- alarm
dwCardNum
Number of added cards
byFireAlarmStatus
Fire alarm status display: 0- normal, 1- short-circuit alarm, 2- broken-circuit alarm
byRes2
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ACTIVATECFG

The structure of device activating parameters

struct{
  DWORD    dwSize;
  BYTE     sPassword[PASSWD_LEN];
  BYTE     byRes[108];
 }NET_DVR_ACTIVATECFG,*LPNET_DVR_ACTIVATECFG;

Members

dwSize
The size of the structure
sPassword
Default password
byRes
Reserved, set as 0.

Remarks

The device must be activated first, the default password used for activating the device is required for login.

See Also

NET_DVR_ActivateDevice


NET_DVR_ADAPTER_VERSION

Structure of adapter version parameter.

struct{
  WORD   wMajorVersion;
  WORD   wMinorVersion;
  WORD   wRevisionNumber;
  WORD   wBuildNumber;
}NET_DVR_ADAPTER_VERSION, *LPNET_DVR_ADAPTER_VERSION;

Members

wMajorVersion
Major version number
wMinorVersion
Minor version number
wRevisionNumber
Revision number
wBuildNumber
Build date


NET_DVR_ADC_CFG

Structure of ADC parameters.

struct{
  BYTE    byGainR;
  BYTE    byGainG;
  BYTE    byGainB;
  BYTE    byOffsetR;
  BYTE    byOffsetG;
  BYTE    byOffsetB;
  BYTE    byRes[6];
}NET_DVR_ADC_CFG,*LPNET_DVR_ADC_CFG;

Members

byGainR
Red gain: 0 ~ 100
byGainG
Green gain: 0 ~ 100
byGainB
Blue gain: 0 ~ 100
byOffsetR
Red offset R: 0 ~ 100
byOffsetG
Green offset: 0 ~ 100
byOffsetB
Blue offset: 0 ~ 100
byRes
Reserved, please set to 0

See Also

NET_DVR_SCREEN_DISPLAY_CFG NET_DVR_MSC_SCREEN_PARAM


NET_DVR_ADD_PARAM

Structure of Device addition parameters of N+1 mode

struct{
  NET_DVR_IPADDR    struIP;
  char              szPassword[PASSWD_LEN];
  BYTE              byAddType;
  BYTE              byDisableBackup;
}NET_DVR_ADD_PARAM, *LPNET_DVR_ADD_PARAM;

Members

struIP
IP address
szPassword
Stand by engine password which needs simple encryption
byAddType
0-（on the working engine）add stand by engine，1-（on the stand by engine）add working engine
byDisableBackup
Enable backup function:0- open，1- close，CVR default to open

See Also

NET_DVR_NPO_PARAM_UNION


NET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG

Structure for adding the video pass back task parameters manually.

struct{
  DWORD              dwSize;
  NET_DVR_TIME_EX    struBeginTime;
  NET_DVR_TIME_EX    struEndTime;
  BYTE               byRes[128];
}NET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG, *LPNET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG;

Members

dwSize
Structure size
struBeginTime
Time when video pass back starts
struEndTime
Time when video pass back stops
byRes
Reserved, set as 0.

Remarks

  • According to the capability set, you can understand whether the device supports adding video pass back task manually or not. Corresponding CVR capability set (CVRAbility ), Relevant interface: NET_DVR_GetDeviceAbility, Capability set type: DEVICE_ABILITY_INFO, Node: <AddRecordPassBackManul>.

See Also

NET_DVR_SetDeviceConfig


NET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND

Structure for adding video pass back conditions manually.

struct{
  DWORD                  dwSize;
  NET_DVR_STREAM_INFO    struStreamInfo;
  BYTE                   byRes[128];
}NET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND, *LPNET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND;

Members

dwSize
Structure size
struStreamInfo
Stream information (only valid for the stream ID)
byRes
Reserved, set as 0.

Remarks

  • According to the capability set, you can understand whether the device supports adding the video pass back task manually or not. Corresponding CVR capability set (CVRAbility ), Relevant interface: NET_DVR_GetDeviceAbility, Capability set: DEVICE_ABILITY_INFO, Node: <AddRecordPassBackManul>.

See Also

NET_DVR_SetDeviceConfig


NET_DVR_ADDR_DOMAIN_INFO

Alarm center network parameter structure

struct{
  BYTE    szDomainAddr[MAX_DOMAIN_NAME];
  WORD    wPort;
  BYTE    byRes[2];
}NET_DVR_ADDR_DOMAIN_INFO,*LPNET_DVR_ADDR_DOMAIN_INFO;

Members

szDomainAddr
Alarm center address, either IP address or domain name
wPort
Alarm center port
byRes
Reserved, set as 0

See Also

NET_DVR_ALARMCENTER_NETCFG


NET_DVR_ADVANCE_COND_UNION

Combination search condition complex

union{
  BYTE                      byLen[36];
  NET_VCA_HUMAN_FEATURE     struHumanFeature;
  NET_DVR_OBJECT_FEATURE    struObjectFeature;
}NET_DVR_ADVANCE_COND_UNION,*LPNET_DVR_ADVANCE_COND_UNION;

Members

byLen
Complex length, 36 bytes
struHumanFeature
Human properties
struObjectFeature
Object proporties

See Also

NET_DVR_TRAVERSE_PLANE_SEARCHCOND NET_DVR_INTRUSION_SEARCHCOND


NET_DVR_AEMODECFG

Configuration of exposure, shutter and other camera parameters

struct{
  DWORD    dwSize;
  int      iIrisSet;
  int      iGainSet;
  int      iGainLimit;
  int      iExposureCompensate;
  BYTE     byExposureModeSet;
  BYTE     byShutterSet;
  BYTE     byImageStabilizeLevel;
  BYTE     byCameraIrCorrect;
  BYTE     byHighSensitivity;
  BYTE     byInitializeLens;
  BYTE     byChromaSuppress;
  BYTE     byRes[65];
}NET_DVR_AEMODECFG, *LPNET_DVR_AEMODECFG;

Members

dwSize
Structure size
iIrisSet
Camera iris, 100 times of the actual value, 0 means to close the iris
iGainSet
Gain of speed dome, exposure compensation, 100 times of the actual value, it may be negative
iGainLimit
Gain limit, exposure compensation, 100 times of the actual value, it may be negative
iExposureCompensate
Exposure compensation, 100 times of the actual value, for example, 1050 means 10.5dB, and -750 means -7.5dB
byExposureModeSet
Exposure mode of speed dome: 0- Manual, 1- Auto, 2- Aperture Priority, 3- Shutter Priority, 4- Gain Priority
byShutterSet
Shutter level: 0- close, 1- auto x1, 2- auto x2, 3- auto x4, 4- auto x8, 5- auto x16, 6- auto x32, 7- auto x64, 8- auto x128, 9-1/1, 10-1/2, 11-1/3, 12-1/4, 13-1/6, 14-1/8, 15-1/12, 16-1/15, 17-1/25, 18-1/30, 19-1/50, 20-1/60, 21-1/75, 22-1/90, 23-1/100, 24-1/120, 25-1/125, 26-1/150, 27-1/180, 28-1/200, 29-1/215, 30-1/250, 31-1/300, 32-1/350, 33-1/425, 34-1/500, 35-1/600, 36-1/725, 37-1/1000, 38-1/1250, 39-1500,40-1/1750, 41-1/2000, 42-1/2500, 43-3000,44-1/3500, 45-1/4000, 46-1/6000, 47-1/10000, 48-1/30000, 49-1/100000
byImageStabilizeLevel
Image stabilizer level, value range: 0~3
byCameraIrCorrect
IR corrected: 0- close, 1- open, 2- auto
byHighSensitivity
High sensitivity: 0-close, 1-open
byInitializeLens
Initialize Lens: 0-close, 1-ope
byChromaSuppress
Color suppression, value range: 0~255
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AES_KEY_INFO

Structure of AES encryption key

struct{
  BYTE                  sAESKey[16];
  BYTE                  byRes[64];
}NET_DVR_AES_KEY_INFO, *LPNET_DVR_AES_KEY_INFO;

Members

sAESKey
Stream encryption key
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AGAIN_RELATEDEV

Door phone related network device configuration structure

struct{
  NET_DVR_IPADDR    struSIPServer;
  NET_DVR_IPADDR    struCenterAddr;
  WORD              wCenterPort;
  BYTE              byRes1[2];
  NET_DVR_IPADDR    struIndoorUnit;
  BYTE              byRes[588];
 }NET_DVR_AGAIN_RELATEDEV,*LPNET_DVR_AGAIN_RELATEDEV;

Members

struSIPServer
SIP server IP address
struCenterAddr
Central platform IP address
wCenterPort
Central platform port
byRes
Reserved, set as 0.
struIndoorUnit
Indoor station IP address
byRes
Reserved, set as 0.

See Also

NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION


NET_DVR_AGC_PARAM

AGC parameter structure

struct{
  BYTE    bySceneType;
  BYTE    byLightLevel;
  BYTE    byGainLevel;
  BYTE    byRes[5];
}NET_DVR_AGC_PARAM,*LPNET_DVR_AGC_PARAM;

Members

bySceneType
1- normal scene, 2- strong light scene, 3- manual
byLightLevel
Brightness level, value range: [1,100], valid in manual mode
byGainLevel
Gain level, value range: [1,100], valid in manual mode
byRes
Reserved, set as 0

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_AGEGROUP_PARAM

Age group people counting structure

struct{
  DWORD    dwTeenage;
  DWORD    dwYouth;
  DWORD    dwMidLife;
  DWORD    dwElderly;
  BYTE     byRes[64];
 }NET_DVR_AGEGROUP_PARAM,*LPNET_DVR_AGEGROUP_PARAM;

Members

dwTeenage
People counting for teenager
dwYouth
People counting for youth
dwMidLife
People counting for mid-age group
dwElderly
People counting for elder group
byRes
Reserved, set as 0

See Also

NET_DVR_FACECAPTURE_STATISTICS_RESULT


NET_DVR_AID_ALARM

Structure of traffic event alarm information.

struct{
  DWORD                 dwSize;
  DWORD                 dwRelativeTime;
  DWORD                 dwAbsTime;
  NET_VCA_DEV_INFO      struDevInfo;
  NET_DVR_AID_INFO      struAIDInfo;
  DWORD                 dwPicDataLen;
  BYTE                  *pImage;
  BYTE                  byRes[40];
}NET_DVR_AID_ALARM, *LPNET_DVR_AID_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative time
dwAbsTime
Absolute time
struDevInfo
Device information
struAIDInfo
Traffic event information
dwPicDataLen
Picture length
pImage
The pointer to the image data
byRes
Reserved

See Also

NET_VCA_DEV_INFO NET_DVR_AID_INFO
NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_AID_ALARM_V41

Traffic event alarm information structure

struct{
  DWORD                   dwSize;
  DWORD                   dwRelativeTime;
  DWORD                   dwAbsTime;
  NET_VCA_DEV_INFO        struDevInfo;
  NET_DVR_AID_INFO        struAIDInfo;
  NET_DVR_SCENE_INFO      struSceneInfo;
  DWORD                   dwPicDataLen;
  BYTE                    *pImage;
  BYTE                    byDataType;
  BYTE                    byLaneNo;
  WORD                    wMilliSecond;
  BYTE                    byMonitoringSiteID[MONITORSITE_ID_LEN];
  BYTE                    byDeviceID[DEVICE_ID_LEN];
  BYTE                    byRes[28];
}NET_DVR_AID_ALARM_V41, *LPNET_DVR_AID_ALARM_V41;

Members

dwSize
Structure size
dwRelativeTime
Relative time mark
dwAbsTime
Absolute time mark
struDevInfo
Front-end device information
struAIDInfo
Traffic event information
struSceneInfo
Scene information
dwPicDataLen
Picture length
pImage
Pointer of picture length to picture
byDataType
Data upload method: 0- data direct upload, 1- cloud storage server URL (original picture data turned into URL data, picture length turned into URL length)
byLaneNo
Linked lane No.
wMilliSecond
Time mark millisecond
byMonitoringSiteID
Camera No. (intersection No., internal No.)
byDeviceID
Device No.
byRes
Reserved

Remarks

The algorithm applied to get "year/month/day/hour/minute/second from absolute time mark dwAbsTime is as follows:
#define GET_YEAR(_time_) (((_time_)>>26) + 2000)
#define GET_MONTH(_time_) (((_time_)>>22) & 15)
#define GET_DAY(_time_) (((_time_)>>17) & 31)
#define GET_HOUR(_time_) (((_time_)>>12) & 31)
#define GET_MINUTE(_time_) (((_time_)>>6) & 63)
#define GET_SECOND(_time_) (((_time_)>>0) & 63)

See Also

NET_DVR_StartListen_V30


NET_DVR_AID_INFO

Structure of traffic event information.

struct{
  BYTE                  byRuleID;
  BYTE                  byRes1[3];
  BYTE                  byRuleName[NAME_LEN];
  DWORD                 dwAIDType;
  NET_DVR_DIRECTION     struDirect;
  BYTE                  byRes2[40];
}NET_DVR_AID_INFO, *LPNET_DVR_AID_INFO;

Members

byRuleID
Rule ID, is the subscript of rule configuration
byRes1
Reserved
byRuleName
Rule name
dwAIDType
Alarm event type
struDirect
Area that the alarm points to
byRes2
Reserved

See Also

NET_DVR_DIRECTION
NET_DVR_AID_ALARM


NET_DVR_AID_PARAM

Structure of traffic event parameter.

struct{
  DWORD              wParkingDuration;
  DWORD              wPedestrianDuration;
  DWORD              wDebrisDuration;
  DWORD              wCongestionLength;
  DWORD              wCongestionDuration;
  DWORD              wInverseDuration;
  DWORD              wInverseDistance;
  DWORD              wInverseAngleTolerance;
  BYTE               byRes1[28];
}NET_DVR_AID_PARAM, *LPNET_DVR_AID_PARAM;

Members

wParkingDuration
Parking duration, value range: 10-120s
wPedestrianDuration
Pedestrian duration, value range: 1-120s
wDebrisDuration
Debris duration, value range: 10-120s
wCongestionLength
Congestion length threshold, value range: 5-200m
wCongestionDuration
Congestion duration, value range: 10-120s
wInverseDuration
Inverse duration, value range: 1-10s
wInverseDistance
Inverse distance, value range: 2-100m, default: 10m
wInverseAngleTolerance
Tolerated angle deviation between traffic and inverse, value range: 90-180°
byRes1
Reserved

See Also

NET_DVR_ONE_AID_RULE


NET_DVR_AID_RULECFG

Structure of single traffic event rule.

struct{
  DWORD                         dwSize;
  BYTE                          byPicProType;
  BYTE                          byRes1[3];
  NET_DVR_JPEGPARA              struPictureParam;
  NET_DVR_ONE_AID_RULE          struAIDRule[MAX_AID_RULE];
  BYTE                          byRes2[32];
}NET_DVR_AID_RULECFG,*LPNET_DVR_AID_RULECFG;

Members

dwSize
Structure size
byPicProType
Picture handling mode when alarming: 0- not handle, none 0- upload
byRes1
Reserved. Please set it to 0
struPictureParam
Picture parameter
struAIDRule
Single traffic event rule
byRes2
Reserved

See Also

NET_DVR_JPEGPARA NET_DVR_ONE_AID_RULE
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AIR_CONDITION_PARAM

Structure of aircondition parameter.

struct{
  DWORD              dwSize;
  BYTE               byEnable;
  BYTE               byMode;
  BYTE               byTemperature;
  BYTE               byRes[9];
}NET_DVR_AIR_CONDITION_PARAM,*LPNET_DVR_AIR_CONDITION_PARAM;

Members

dwSize
Structure size
byEnable
0- open, 1- shutdown
byMode
Air conditioning mode, defined as follows:
enum _AIR_CONDITON_MODE_{
  REFRIGERATION  = 0,
  HEARTING,
  DEHUMIDIFIER,
  AUTO
}AIR_CONDITON_MODE
REFRIGERATION
Refrigeration
HEARTING
Heating
DEHUMIDIFIER
Dehumidifying
AUTO
Auto
byTemperature
Temperature,indicated by specific value, general value: 16-30°
byRes
Reserved

See Also

NET_DVR_SetAirCondition


NET_DVR_ALARM_CAPTRUE_CFG

Alarm capture parameters configuration structure

struct{
  DWORD    dwSize;
  BYTE     byBeforeAlarmPic;
  BYTE     byAfterAlarmPic;
  WORD     wInterval;
  BYTE     byResolution;
  BYTE     byRes[63];
}NET_DVR_ALARM_CAPTRUE_CFG,*LPNET_DVR_ALARM_CAPTRUE_CFG;

Members

dwSize
Structure size
byBeforeAlarmPic
The pre-captured picture numbers in corresponded resolution (4CIF：10, 2CIF：20, ， CIF：40， QCIF：80， WD1: 10， VGA：10， XVGA: 10， 720P: 10， 1080P: 10）
byAfterAlarmPic
The post-captured picture number in corresponded resolution（4CIF：10， 2CIF：20， CIF：40， QCIF：80， WD1: 10， VGA：10， XVGA: 10， 720P: 10， 1080P: 10）
wInterval
Time interval, unit：s
byResolution
Picture resolution: 1- CIF， 2- QCIF， 3- 4CIF， 4- 2CIF， 5- WD1， 6- VGA， 7- XVGA， 8- 720P， 9- 1080P
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARM_CHAN_ABLITITY

Alarm related channel parameter capability structure

struct{
  DWORD    dwSize;
  BYTE     bySensorChan[64];
  BYTE     byAlarmInChan[64];
  BYTE     byAlarmOutChan[64]];
  BYTE     by485Chan[64];
  BYTE     byRes[128];
}NET_DVR_ALARM_CHAN_ABLITITY,*LPNET_DVR_ALARM_CHAN_ABLITITY;

Members

dwSize
Structure size
bySensorChan
Sensor channel, number array subscript means channel No., number array: 0- not supported, 1- supported
byAlarmInChan
Alarm input channel, alarm input channel, number array subscript means channel No., number array: 0- not supported, 1- supported
byAlarmOutChan
Alarm output channel, number array subscript means channel No., number array: 0- not supported, 1- supported
by485Chan
RS-485 serial port channel, number array subscript means channel No., number array: 0- not supported, 1- supported
byRes
Reserved

See Also

NET_DVR_GetDVRConfig


NET_DVR_ALARM_DEVICE_USER

Structure of alarm-host device user configuration.

struct{
  DWORD              dwSize;
  BYTE               sUserName[NAME_LEN];
  BYTE               sPassword[PASSWD_LEN];
  NET_DVR_IPADDR     struUserIP;
  BYTE               byMACAddr[MACADDR_LEN];
  BYTE               byUserType;
  BYTE               byAlarmOnRight;
  BYTE               byAlarmOffRight;
  BYTE               byBypassRight;
  BYTE               byOtherRight[MAX_RIGHT];
  BYTE               byRes2[200];
}NET_DVR_ALARM_DEVICE_USER,*LPNET_DVR_ALARM_DEVICE_USER;

Members

dwSize
Structure size
sUserName
User name
sPassword
Password
struUserIP
User IP (0 stands for no IP restriction)
byMACAddr
MAC
byUserType
User type: 0- general user, 1- administrator user
byAlarmOnRight
Arming authority
byAlarmOffRight
Disarming authority
byBypassRight
Bypass authority
byOtherRight
Other authority, value equals 1 means enabled:
Array 0－Log authority
Array 1－Reboot and shutdown
Array 2－Parameter setting
Array 3－Get parameter
Array 4－Reset to default
Array 5－Siren output authority
Array 6－PTZ control authority (used by matrix)
Array 7－Remote upgrade
byRes2
Reserved

See Also

NET_DVR_GetAlarmDeviceUser NET_DVR_SetAlarmDeviceUser


NET_DVR_ALARM_HOT_SPARE

Hot spare (N+1 mode) exception alarm information structure

struct{
  DWORD             dwSize;
  DWORD             dwExceptionCase;
  NET_DVR_IPADDR    struDeviceIP;
  BYTE              byRes[256];
}NET_DVR_ALARM_HOT_SPARE, *LPNET_DVR_ALARM_HOT_SPARE;

Members

dwSize
Structure size
dwExceptionCase
Alarm cause: 0- network exception
struDeviceIP
IP of exception device
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_ALARM_LAMP_CFG

Siren parameter configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1;
  WORD     wFlashDuration;
  WORD     wFlashIntervalTime;
  BYTE     byRes[510];
}NET_DVR_ALARM_LAMP_CFG,*LPNET_DVR_ALARM_LAMP_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable timed flashing: 0- no, 1- yes
byRes1
Reserved, set as 0
wWaitTime
Timed flashing duration, unit: s
wWaitTime
Timed flashing interval, unit: s
byRes
Reserved, set as 0

Remarks

  • Whether device supports siren configuration or supported capability, can be determined through device capability set (AlarmLampConfig), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_ALARM_LAMP_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_ALARM_PHONECFG

White-list uploading configuration structure。

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  BYTE     byPhoneNumber[MAX_PHONE_NUM];
  DWORD    dwArmRight;
  DWORD    dwDisArmRight;
  DWORD    dwClearAlarmRight;
  BYTE     byZoneReport[MAX_ALARMHOST_ALARMIN_NUM];
  DWORD    dwNonZoneReport;
  BYTE     byIntervalTime;
  BYTE     byRes2;
  WORD     wDefineIntervalTime;
  BYTE     byRes3[128];
}NET_DVR_ALARM_PHONECFG,*LPNET_DVR_ALARM_PHONECFG;

Members

dwSize
Structure size
byEnable
Enable? 0- No, 1- Yes
byRes1
Reserved, set as 0.
byPhoneNumber
White-list No.
dwArmRight
Arming permission, represented by byte, eg, bit0 = 1 indicates that the partition 1 has the arming permission.
dwDisArmRight
Disarming permission, represented by byte, eg, bit0 = 1 indicates that the partition 1 has the disarming permission
dwClearAlarmRight
Alarm clearing permission, represented by byte, eg, bit0 = 1 indicates that the partition 1 has the alarm clearing permission.
byZoneReport
Zone report type:0-Not uploading, 1- Uploading
dwNonZoneReport
System alarm report: bit0- Virtual zone report, bit1-System status report, bit2-Cancel report，bit3-Test report，bit4-Arming report，bit5- Disarming report，bit6- Duress report，bit7- Alarm restoring report，bit8-Bypass report，bit9- Bypass restoring report
byIntervalTime
Time interval:0- 0s，1- 10s，2- 30s，3- 1min，4-5min，5-10min，6-Custom (1~5999s)
byRes2
Reserved,set as 0.
wDefineIntervalTime
Custom time(1~5999s)， valid when byIntervalTime is 6
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARM_RADARINFO

Radar alarm information structure

struct{
  DWORD    dwSize;
  DWORD    dwRadarTriggerTimeSecond;
  DWORD    dwRadarTriggerTimeMSecond;
  DWORD    dwVedioTriggerTimeSecond;
  DWORD    dwVedioTriggerTimeMSecond;
  DWORD    dwVedioRadarDiffTimeMSecond;
  DWORD    dwRadarSpeed;
  BYTE     byRes[16];
}NET_DVR_ALARM_RADARINFO,*LPNET_DVR_ALARM_RADARINFO;

Members

dwSize
Structure size
dwRadarTriggerTimeSecond
Radar triggering time, unit: s
dwRadarTriggerTimeMSecond
Radar Triggering time, unit:ms
dwVedioTriggerTimeSecond
Video triggering time,unit:s
dwVedioTriggerTimeMSecond
Video triggering time,unit:ms
dwVedioRadarDiffTimeMSecond
Video triggering time difference,unit:ms
dwRadarSpeed
Radar speed
byRes
Reserved

Remarks

This alarm will be occurred under level 3 arming, the arming level can be selected when arming(NET_DVR_SetupAlarmChan_V41).

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_ALARM_RS485CFG

Structure of alarm host's RS-485 parameter.

struct{
  DWORD    dwSize;
  BYTE     sDeviceName[NAME_LEN];
  WORD     wDeviceType;
  WORD     wDeviceProtocol;
  DWORD    dwBaudRate;
  BYTE     byDataBit;
  BYTE     byStopBit;
  BYTE     byParity;
  BYTE     byFlowcontrol;
  BYTE     byDuplex;
  BYTE     byWorkMode;
  BYTE     byChannel;
  BYTE     bySerialType;
  BYTE     byMode;
  BYTE     byRes[35];
}NET_DVR_ALARM_RS485CFG, *LPNET_DVR_ALARM_RS485CFG;

Members

dwSize
Structure size
sDeviceName
Front-end device name
wDeviceType
Front-end device type
wDeviceProtocol
Front-end device protocol, got by NET_DVR_GetDeviceProtoList
dwBaudRate
Baud rate(bps), 0- 50, 1- 75, 2- 110, 3- 150, 4- 300, 5- 600, 6- 1200, 7- 2400, 8- 4800, 9- 9600, 10- 19200, 11- 38400, 12-57600, 13- 76800, 14- 115.2k
byDataBit
Data bit: 0- 5 bits, 1- 6 bits, 2- 7 bits, 3- 8 bits
byStopBit
Stop bit: 0- 1 bit, 1- 2 bits
byParity
Parity or not: 0- none, 1- odd parity, 2- even parity
byFlowcontrol
Flow control or not: 0-none, 1-software flow control, 2- hardware flow control
byDuplex
0- half duplex, 1- full duplex
byWorkMode
Work mode: 0- console, 1- transparent channel
byChannel
RS485 channel No.
bySerialType
Serial port type: 0- 485，1- 232
byMode
Connection mode: 0- Connects to the card reader，1- Connects to the client, 2- Connect to the extension module
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
NET_DVR_GetDeviceProtoList


NET_DVR_ALARMCENTER_NETCFG

Alarm center network configuration structure

struct{
  DWORD                       dwSize;
  BYTE                        byAuxiliaryAlarmAddr[MAX_DOMAIN_NAME];
  WORD                        wAuxiliaryAlarmPort;
  NET_DVR_ADDR_DOMAIN_INFO    struHostAddr[MAX_CENTERNUM_V40];
  BYTE                        byRes[172];
}NET_DVR_ALARMCENTER_NETCFG,*LPNET_DVR_ALARMCENTER_NETCFG;

Members

dwSize
Structure size
byAuxiliaryAlarmAddr
Auxiliary alarm host IP address or domain name requires device resolving, if letters exist with ".", it will be resolved as domain name, otherwise IP address
wAuxiliaryAlarmPort
Auxiliary alarm host port No.
struHostAddr
Alarm center address, each number array means one alarm center
byRes
Reserved, set as 0

See Also

Alarm host: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Face server: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMCTRL_CFG

The structure of alarm control configuration

struct{
  DWORD    dwSize;
  BYTE     byListenPicUploadEnabled;
  BYTE     byRes[259];
}NET_DVR_ALARMCTRL_CFG, *LPNET_DVR_ALARMCTRL_CFG;

Members

dwSize
Structure size
byListenPicUploadEnabled
Enable listening picture upload: 0- disable，1- enable
byRes
Reserved, set to 0

Remarks

  • According to the capability set, you can understand whether the device supports configuring alarm control manually. Corresponding alarm control capability set (AlarmCtrlParam). Relevant interface: NET_DVR_GetSTDAbility. Capability set type: NET_DVR_GET_ALARMCTRL_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_ALARMER

Structure of alarmer information.

struct{
  BYTE     byUserIDValid;
  BYTE     bySerialValid;
  BYTE     byVersionValid;
  BYTE     byDeviceNameValid;
  BYTE     byMacAddrValid;
  BYTE     byLinkPortValid;
  BYTE     byDeviceIPValid;
  BYTE     bySocketIPValid;
  LONG     lUserID;
  BYTE     sSerialNumber[SERIALNO_LEN];
  DWORD    dwDeviceVersion;
  char     sDeviceName[NAME_LEN];
  BYTE     byMacAddr[MACADDR_LEN];
  WORD     wLinkPort;
  char     sDeviceIP[128];
  char     sSocketIP[128];
  BYTE     byIpProtocol;
  BYTE     byRes2[11];
}NET_DVR_ALARMER,*LPNET_DVR_ALARMER;

Members

byUserIDValid
userid is valid or not: 0－invalid; 1－valid
bySerialValid
serial NO.is valid or not: 0－invalid; 1－valid
byVersionValid
version is valid or not: 0－invalid; 1－valid
byDeviceNameValid
device name is valid or not: 0－invalid; 1－valid
byMacAddrValid
MAC address is valid or not: 0－invalid; 1－valid
byLinkPortValid
login port is valid or not: 0－invalid; 1－valid
byDeviceIPValid
device IP is valid or not: 0－invalid; 1－valid
bySocketIPValid
Socket IP is valid or not: 0－invalid; 1－valid
lUserID
return value of NET_DVR_Login or NET_DVR_Login_V30, valid if fortified
sSerialNumber
serial number
dwDeviceVersion
version information: For V3.0 version or above, the first 8 bits mean the major version number, the next 8 bits mean the minor version number, and the low 16 bits mean repair version number; For version below V3.0, the first 16 bits mean the major version number, the next 16 bits mean the minor version number
sDeviceName
device name
byMacAddr
MAC address
wLinkPort
communication port of device
sDeviceIP
IP address of device
sSocketIP
Socket IP address of uploading alarm.
byIpProtocol
IP protocol: 0－IPV4;1－IPV6
byRes2
Reserved, please set to 0


NET_DVR_ALARMHOST_ABILITY

Structure of alarm host ability.

struct{
  DWORD    dwSize;
  WORD     wTotalAlarmInNum;
  WORD     wLocalAlarmInNum;
  WORD     wExpandAlarmInNum;
  WORD     wTotalAlarmOutNum;
  WORD     wLocalAlarmOutNum;
  WORD     wExpandAlarmOutNum;
  WORD     wTotalRs485Num;
  WORD     wLocalRs485Num;
  WORD     wExpandRs485Num;
  WORD     wFullDuplexRs485Num;
  WORD     wTotalSensorNum;
  WORD     wLocalSensorNum;
  WORD     wExpandSensorNum;
  WORD     wAudioOutNum;
  WORD     wGatewayNum;
  WORD     wElectroLockNum;
  WORD     wSirenNum;
  WORD     wSubSystemNum;
  WORD     wNetUserNum;
  WORD     wKeyboardUserNum;
  WORD     wOperatorUserNum;
  BYTE     bySupportDetector;
  BYTE     bySupportSensitivity;
  BYTE     bySupportArrayBypass;
  BYTE     bySupportAlarmInDelay;
  BYTE     bySupportAlarmInType[16];
  BYTE     byTelNum;
  BYTE     byCenterGroupNum;
  BYTE     byGPRSNum;
  BYTE     byNetNum;
  BYTE     byAudioNum;
  BYTE     by3GNum;
  BYTE     byAnalogVideoChanNum;
  BYTE     byDigitalVideoChanNum;
  BYTE     bySubSystemArmType;
  BYTE     byPublicSubSystemNum;
  DWORD    dwSupport1;
  DWORD    dwSubSystemEvent;
  DWORD    dwOverallEvent;
  DWORD    dwFaultType;
  BYTE     byPublicSubsystemAssociateSubsystemNum;
  BYTE     byOverallKeyboard;
  WORD     wSafetyCabinSupport;
  BYTE     by485SlotNum;
  BYTE     bySubSystemAttributeAbility;
  WORD     wKeyboardAddrNum;
  BYTE     byAlarmLampNum;
  BYTE     byRes[117];
}NET_DVR_ALARMHOST_ABILITY, *LPNET_DVR_ALARMHOST_ABILITY;

Members

dwSize
Structure size
wTotalAlarmInNum
Total number of alarm input ports (including concatenation ones)
wLocalAlarmInNum
Total number of local alarm inputs
wExpandAlarmInNum
Number of extensible alarm input (arming region). Value over 0 means arming region numbering is supported, and byJointSubSystem, byModuleStatus, wModuleAddress, byModuleChan, byModuleType and wZoomZoneIndex of NET_DVR_ALARMIN_PARAM are valid, supporting "get arming region within sub system", "auto search external module" and "auto register exernal module" function.
wTotalAlarmOutNum
Total number of total number of alarm outputs
wLocalAlarmOutNum
Total number of local alarm outputs
wExpandAlarmOutNum
Number of extensible triggers. Value over 0 means trigger numbering is supported, and wTriggerIndex, byModuleType, byModuleStatus, wModuleAddress and byModuleChan of NET_DVR_ALARMOUT_PARAM are valid, supporting "get arming region within sub system", "auto search external module" and "auto register exernal module" function.
wTotalRs485Num
Total number of RS485（supported by device）
wLocalRs485Num
Total number of local RS485 ports
wExpandRs485Num
Total number of extended RS485 ports
wFullDuplexRs485Num
Total number of duplex RS-485 ports
wTotalSensorNum
Total number of sensors (supported by device)
wLocalSensorNum
Total number of local sensors
wExpandSensorNum
Total number of extended sensors
wAudioOutNum
Total number of audio output ports
wMobileGateNum
Total number of mobile gate
wElectroLockNum
Total number of electronic lock
wSirenNum
Total number of host siren
wSubSystemNum
Total number of subsystems that can be divided into
wNetUserNum
Total number of network users
wKeyboardUserNum
Total number of keyboard users
wOperatorUserNum
Total number of operator users
bySupportDetector
Whether it supports normally open or normally closed detectors: 1- yes, 0- no
bySupportSensitivity
Whether it supports defense-zone sensitivity: 1- yes, 0- no
bySupportArrayBypass
Whether it supports array bypass: 1- yes, 0- no
bySupportAlarmInDelay
When bySupportAlarmInDelay is 1, it means the client should use dwParam of NET_DVR_ALARMIN_PARAM to set delay time, and the power supply monitoring host and self-service bank host use this method;
When bySupportAlarmInDelay is 0, it means to use wEnterDelay and wExitDelay of NET_DVR_ALARMSUBSYSTEMPARAM to set delay time
bySupportAlarmInType
The supported defense zone type: array 0- instant zone, array 1- 24-hour sound zone, array 2- delay zone, array 3- interior zone, array 4- key zone, array 5- fire zone, array 6- perimeter zone, array 7- 24-hour silent zone, arary 8- 24-hour auxiliary region, array 9- 24-hour vibration region, array 10- Emergency open door region, array 11- Emergency close door region array, 15- none
byTelNum
Total number of telephones
byCenterGroupNum
Total number of center groups
byGPRSNum
Total number of GPRS centers, maximum: 4
byNetNum
Total number of network centers, maximum: 4
byAudioNum
Total number of audio
by3GNum
Number of 3G modules, max 4
byAnalogVideoChanNum
Number of analog video channels
byDigitalVideoChanNum
Number of digital video channels
bySubSystemArmType
Sub system arming type (valid when number of sub systems is over 0), 0- not supported, 1- supported, by bit: bit0- away arming, bit1- instant arming, bit2- stay arming (note:small network host only supports normal arming)
byPublicSubSystemNum
Number of public sub systems
dwSupport1
Indicated by bit, 0 means not supported, other values means supported: bit0: Whether to support configuration of siren output time within sub system. Configure within the sub system if supported; configure within siren parameters if not supported bit1: Whether to support enable event-triggered alarm output bit2: Whether to support disable event-triggered alarm output bit3: Whether to support enable sub system bit4: Whether to support arming of arming region bit5: Whether to support sub system auto disarming bit6: Whether to support fault-linked sound output bit7: Whether to support fault status search bit8: Whether to support sub system extension configuration bit9: Whether to support key region operation of sub system bit10: Whether to support configuration of "keyboard prompt of successfully sent report" bit11: Whether to support import and export parameter configuration bit12: Whether to support LED display parameter configuration bit13: Whether to support fault-linked local lamp output
dwSubSystemEvent
Sub system event, indicated by bit, 0 means not supported, other values mean supported: bit0- enter delay, bit1- exit delay, bit2- arming, bit3- disarming, bit4- alarm, bit5- clear alarm memory
dwOverallEvent
System event, indicated by bit, 0 means not supported, other values mean supported: bit0- AC disconnection, bit1- low battery, bit2- phone line disconnection, bit3- wired network exception, bit4- wireless network exception
dwFaultType
Fault type supported by device, indicated by bit: bit0- AC disconnection, bit1- battery low voltage, bit2- host anti-tamper, bit3- phone line disconnection, bit4- main keyboard disconnection, bit5- network fault, bit6- GPRS exception, bit7- MBUS exception, bit8- HDD exception, bit9- FPGA fault, bit10- analog fault
byPublicSubsystemAssociateSubsystemNum
Number of sub systems that can be linked to public sub systems
byOverallKeyboard
Number of global keyboards
wSafetyCabinSupport
Safety cabin controller capability, indicated by bit, 0 means not supported, other values mean supported:
bit0: Whether to support safety cabin operating mode configuration
bit1: Whether to support human signal sensor type configuration
bit2: Whether to support curtain sensor parameter configuration (detection delay time, human status change response time)
bit3: Whether to support IR sensor parameter configuration (filtering)
bit4: Whether to support safety cabin usage timeout configuration
by485SlotNum
RS485 virtual slot No.
bySubSystemAttributeAbility
Constantly 1, forbidding disabling of No.1 sub-system
wKeyboardAddrNum
Number of keyboard addresses
byAlarmLampNum
Number of sirens
wRes
Reserved

See Also

NET_DVR_GetDeviceAbility


NET_DVR_ALARMHOST_ALARMINFO

Structure of alarm host uploading alarm.

struct{
  DWORD       dwAlarmType;
  BYTE        byAlarmInputNumber[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE        byRes[160];
}NET_DVR_ALARMHOST_ALARMINFO, *LPNET_DVR_ALARMHOST_ALARMINFO;

Members

dwAlarmType
Reserved,currently alarm of alarm host has no type(fortification network sequence, listening host sequence)
byAlarmInputNumber
Alarm input port which alarms, array 0 corresponds to the first input port
byRes
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_ALARMHOST_ALARMOUTSTATUS

Structure of alarm output port or siren status.

struct{
  DWORD     dwSize;
  BYTE      byName[32];
  BYTE      byAlarmType;
  WORD      wChan;
  BYTE      byAlarmStatus;
  BYTE      byRes[32];
}NET_DVR_ALARMHOST_ALARMOUTSTATUS, *LPNET_DVR_ALARMHOST_ALARMOUTSTATUS;

Members

dwSize
Structure size
byName
Alarm output port or siren name
byAlarmType
1- alarm output port status, 2- siren status
wChan
If it is alarm output port status, the value range: 0~511; if it is siren status, the value range: 1~8 (safety cabin has only one siren output)
byAlarmStatus
Alarm status: 0- no alarm, 1- alarm
byRes
Reserved

Remarks

If there is alarm or cancel the alarm, it will upload the status information. If it is in alarm state, the device will upload the information every 4s.

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM

Parameter structure of the event associated with the audio.

struct{
  DWORD    dwSize;
  BYTE     byEnterDoor[8];
  BYTE     byExitDoor[8];
  BYTE     byAlarmIn[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byRes[128];
}NET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM,*LPNET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM;

Members

dwSize
Structure size
byEnterDoor
The subscript means the sequence number of access control, the value: 0 means not associated, 1~8 means the number of audio that associated with the access control. E.g. byEnterDoor[0]==1 means when someone enter the no.1 door it will alarm with the audio which numbered 1
byExitDoor
The subscript means the sequence number of access control, the value: 0 means not associated, 1~8 means the number of audio that associated with the access control. E.g. byExitDoor[0]==1 means when someone exit the no.1 door it will alarm with the audio which numbered 1
byAlarmIn
The subscript means the sequence number of alarm input, the value: 0 means not associated, 1~8 means the number of audio that associated with the access control. E.g. byAlarmIn[0]==1 means when the event of alarm input no.1 will associated with the audio which numbered 1.
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMHOST_CID_MINOR_TYPE

CID alarm sub type enumeration

enum NET_DVR_ALARMHOST_CID_MINOR_TYPE{
  CID_ALARM                          = 1,    //Alarm
  CID_FIRE_ALARM                     = 110,  //Fire alarm
  CID_ABDUCT_REPORT                  = 121,  //Duress report
  CID_SILENT_24                      = 122,  //24-hour silent
  CID_AUDIO_24                       = 123,  //24-hour audible
  CID_AUXILIARY_24                   = 124,  //24-hour auxiliary
  CID_SHOCK_24 = 125                 = 125,  //24-hour vibrating
  CID_EMERGENCE_CALL_HELP            = 129,  //Emergency alarm
  CID_PERIMETER_ALARM                = 131,  //Perimeter
  CID_INNET_ALARM                    = 132,  //Internal arming region
  CID_ENTER_EXIT                     = 134,  //Entrance/exit
  CID_DEVICE_OPEN                    = 137,  //Device anti-tamper
  CID_ZONE_BUS_BREAK                 = 141,  //Bus open-circuit
  CID_ZONE_BUS_SHORT                 = 142,  //Bus short-circuit
  CID_AC_LOSS                        = 301,  //AC power loss
  CID_LOW_BATT_VOL                   = 302,  //Low battery voltage
  CID_DEV_RESET                      = 305,  //Host reset
  CID_MBUS_MODEL_FAULT               = 333,  //Extension module fault
  CID_PRINTER_FAIL                   = 336,  //Printer offline
  CID_LINE_LOSS                      = 354,  //Phone line communication failure
  CID_BUS_LOSS                       = 382,  //Extension bus module offline
  CID_DETECTOR_OPEN                  = 383,  //Arming region sensor tampered
  CID_GUARD                          = 401,  //Arming/disarming
  CID_GUARD_AUTO                     = 403,  //Auto-arming/disarming
  CID_CANCEL_ARM                     = 406,  //Clear alarm
  CID_GUARD_IMME                     = 408,  //Instant arming/disarming
  CID_KEY_ZONE_GUARD                 = 409,  //Key arming region arming/disarming
  CID_GUARD_STAY                     = 441,  //Stay arming/disarming
  CID_FORCED_ARM                     = 442,  //Force arming
  CID_AUTOCTRL_TRIG                  = 443,  //Trigger timed on/off
  CID_AUTOGUARD_FAIL                 = 455,  //Auto arming failure
  CID_AOPEN_TRIG_FAIL                = 460,  //Trigger timed on failure
  CID_ACLOSE_TRIG_FAIL               = 461,  //Trigger timed off failure
  CID_AUTOUNGUARD_FAIL               = 462,  //Auto disarming failure
  CID_BYPASS                         = 570,  //Bypass
  CID_GROUP_BYPASS                   = 574,  //Group bypass
  CID_MANUAL_TEST_RPT                = 601,  //Manual test report
  CID_AUTO_TEST_RPT                  = 602,  //Timed test report
  CID_ENTER_PROG                     = 627,  //Enter programming
  CID_EXIT_PROG                      = 628,  //Exit programming
  CID_SOFT_INSTAND                   = 810,  //Soft arming region emergency alarm
  CID_SOFT_FIRE                      = 811,  //Soft arming region fire alarm
  CID_SOFT_MOBS                      = 812,  //Soft arming region mobster alarm
  CID_KEY_FAIL                       = 910,  //Keyboard offline
  CID_TRIGGER_FAIL                   = 911,  //Keyboard bus trigger offline
  CID_GPK_FAIL                       = 912,  //Keyboard bus GP/K offline
  CID_MODULE_FAIL                    = 913,  //Keyboard bus MN/K offline
  CID_WIRELESS_DETECTOR_FAIL         = 914,  //Wireless detector offline
  CID_WIRELESS_DETECTOR_BATTERY_LOW  = 915,  //Wireless detector low voltage/battery recovered
  CID_WRIE_LESS_NET                  = 920,  //Wireless network fault
  CID_WIFI_ABNORMAL                  = 922,  //Wi-Fi communication exception/recovered
  CID_RF_ABNORMAL                    = 923,  //RF signal exception/recovered
  CID_IPADDR_CONFLICT                = 930,  //IP conflict
  CID_ETHERNET_BROKEN                = 931,  //Network cable broken
  CID_GROUP_OUT_RP                   = 932,  //Inter-group communication failure
  CID_GROUP_IN_RP                    = 933,  //Channel communication failure
  CID_MOTION_DECTECT                 = 940,  //Motion detection alarm start/end
  CID_MASK_ALARM                     = 941,  //Video tampering alarm start/end
  CID_VS_MISMATCH                    = 943,  //Input/output video standard mismatch
  CID_VI_EXCEPTION                   = 944,  //Video input exception/recovered
  CID_HD_FULL                        = 945,  //HDD full/recovered
  CID_HD_ERROR                       = 946,  //HDD error/recovered
  CID_PIC_SEND_FAILED                = 947,  //Picture upload failed
  CID_ZONE_BUS_SEARCH                = 970,  //Bus search
  CID_ZONE_BUS_REGIST                = 971,  //Bus register
  CID_GUARD_DELAY_OP                 = 972,  //Auto arming/disarming delay operation
  CID_GUARD_SINGLE                   = 973,  //Single arming region arming/disarming
  CID_ZONE_ASSOCIATED_DETECTOR       = 975,  //Arming region add/delete detector
  CID_ZONE_CONSULTING                = 976,  //Service inquiry
}NET_DVR_ALARMHOST_CID_MINOR_TYPE

See Also

NET_DVR_CID_ALARM


NET_DVR_ALARMHOST_DATA_UPLOAD

Structure for uploading alarm data.

struct{
  DWORD                           dwSize;
  BYTE                            byDataType;
  BYTE                            byRes1[3];
  NET_DVR_ALARMHOST_DATA_UNION    struAlarmData;
  BYTE                            byRes2[32];
}NET_DVR_ALARMHOST_DATA_UPLOAD, *LPNET_DVR_ALARMHOST_DATA_UPLOAD;

Members

dwSize
Structure Size
byDataType
Data Type, 1- Upload real-time data of camera
byRes1
Reserved, set as 0
struAlarmData
Alarm Data
byRes2
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_ALARMHOST_DOWNLOAD_PARAM

Structure of downloading parameter

struct{
  DWORD           dwSize;
  BYTE            byDownType;
  BYTE            byDataType;
  BYTE            byDataNum;
  BYTE            byRes1;
  char            sFileName[260];
  DATADOWNLOAD    lpDataCallBack;
  void*           pUserData;
  BYTE            byRes2[128];
}NET_DVR_ALARMHOST_DOWNLOAD_PARAM,*LPNET_DVR_ALARMHOST_DOWNLOAD_PARAM;

Members

dwSize
Structure size
byDownType
Saving type: 1- to save the data by absolute path(including filename), 2- to get the data by callback function and save the data by oneself
byDataType
Data type: 1- audio data
byDataNum
Data number, for audio data, it means the voice number
byRes1
Reserved, please set to 0
sFileName
The absolute path of data file (including filename)
lpDataCallBack
The callback function to get the data downloaded from the device
pUserData
User data, will be returned in the callback function
byRes2
Reserved, please set to 0

Callback Function

typedef void(CALLBACK *DATADOWNLOAD)(
  LONG      nDownloadHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  void      *pUserData
);

Callback Function Parameters

lRealHandle
[out] The downloading handle, return value of NET_DVR_StartDownloadFile
dwDataType
[out] The data type
pBuffer
[out] The buffer to save the data
dwBufSize
[out] Size of the buffer
pUserData
[out] User data

See Also

NET_DVR_StartDownloadFile


NET_DVR_ALARMHOST_ENABLECFG

Structure of enable status configuration.

struct{
  DWORD          dwSize;
  BYTE           byAudioOutEnable[ALARMHOST_MAX_AUDIOOUT_NUM];
  BYTE           byElectroLockEnable[ALARMHOST_MAX_ELECTROLOCK_NUM];
  BYTE           byMobileGateEnable[ALARMHOST_MAX_MOBILEGATE_NUM];
  BYTE           bySirenEnable[ALARMHOST_MAX_SIREN_NUM];
  BYTE           bySerialPurpose;
  BYTE           byRes[63];
}NET_DVR_ALARMHOST_ENABLECFG, *LPNET_DVR_ALARMHOST_ENABLECFG;

Members

dwSize
Structure size
byAudioOutEnable
Enable voice ouput or not, 0- disable, 1- enable
byElectroLockEnable
Enable electronic lock or not, 0- disable, 1- enable
byMobileGateEnable
Enable mobile gateway or not, 0- disable, 1- enable
bySirenEnable
Enable siren or not, 0- disable, 1- enable
bySerialPurpose
Serial purpose, 0- used to cascade with alarm host, 1- used to PTZ control
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMHOST_EXCEPTION_ALARM

Structure of uploaded exception alarm.

struct{
  DWORD                              dwSize;
  DWORD                              dwExceptionType;
  NET_DVR_ALARMHOST_EXCEPTION_PARAM  uExceptionParam;
  DWORD                              dwRelativeTime;
  NET_DVR_TIME_EX                    struOperateTime;
  BYTE                               byRes[4];
}NET_DVR_ALARMHOST_EXCEPTION_ALARM, *LPNET_DVR_ALARMHOST_EXCEPTION_ALARM;

Members

dwSize
Structure size
dwExceptionType
Exception parameter: 1- device tamper alarm, 2- resume to normal after device tamper, 3- alarm of major power off, 4- resume after major power off 5- internal communication failure alarm, 6- resume after internal communication failure, 7- telephone line is disconnected, 8- telephone line disconnection resume, 9- self-test failure alarm, 10- resume after self-test failure, 11- battery under voltage, 12- battery voltage is restored, 13- battery failure, 14- MBUS module dropped, 15-MBUS restored to normal, 16- keyboard dropped, 17- keyboard restored to normal, 18- device is moved, 19- moved device is reset, 20- 485 peripheral circuit broken, 21- 485 peripheral circuit is restored
uExceptionParam
Exception parameter union
dwRelativeTime
Relative time
struOperateTime
Operating time
byRes
Reserved, please set to 0

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_ALARMHOST_EXCEPTION_PARAM

Structure of alarm host exception parameter.

struct{
  DWORD              dwUnionSize[20];
}NET_DVR_ALARMHOST_EXCEPTION_PARAM,*LPNET_DVR_ALARMHOST_EXCEPTION_PARAM;

Members

dwSize
Union size

See Also

NET_DVR_ALARMHOST_EXCEPTION_ALARM


NET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE

External device alarm threshold information structure

struct{
  DWORD                                        dwSize;
  BYTE                                         byDevType;
  BYTE                                         byRes1[3];
  NET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION    struAlarmValue;
  BYTE                                         byRes2[32];
}NET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE,*LPNET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE;

Members

dwSize
Structure size
byDevType
External type: 1- UPS, 2- temperature & humidity sensor
byRes1
Reserved, set as 0
struAlarmValue
Alarm threshold information
byRes2
Reserved, set as 0

Remarks

  • Voltage, current, frequency and temperature are all transmitted after been multiplied by 10, therefore the actual value should be divided by 10, e.g., if the voltage uploaded by device is 200, the actual value is 20.
  • Power factor and load rate will be transmitted after been multiplied by 100, therefore the actual value should be divided by 100, e.g., if the power factor uploaded by device is 7000, the actual value is 70.
  • DS-19D00-0402BN of power supply monitoring host does not support this parameter configuration

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMHOST_FAULT_CFG

Failure processing configuration structure

struct{
  DWORD    dwSize;
  DWORD    dwCheckFault;
  DWORD    dwOverallFaultJointLED;
  DWORD    dwOverallFaultJointSound;
  DWORD    dwSubSystemFaultJointLED[MAX_ALARMHOST_SUBSYSTEM];
  DWORD    dwSubSystemFaultJointSound[MAX_ALARMHOST_SUBSYSTEM];
  DWORD    dwFaultJointFaultLight;
  BYTE     byRes[60];
}NET_DVR_ALARMHOST_FAULT_CFG,*LPNET_DVR_ALARMHOST_FAULT_CFG;

Members

dwSize
Structure size
dwCheckFault
Whether to check failure, failure type is indicated by parameter value by bit, 0- no, 1- yes:
bit0- AC power disconnection, bit1- battery low voltage, bit2- host anti-tamper, bit3- phone line disconnection, bit4- main keyboard offline, bit5- network failure, bit6- GPRS exception, bit7- MBUS exception, bit8- HDD exception, bit9- FPGA failure, bit10- sensor failure
dwOverallFaultJointLED
Failure linked to global keyboard indicator light output, different failure types are indicated by parameter value by bit, 0- not linked, 1- linked: bit0- AC power disconnection, bit1- battery low voltage, bit2- host anti-tamper, bit3- phone line disconnection, bit4- main keyboard offline, bit5- network failure, bit6- GPRS exception, bit7- MBUS exception, bit8- HDD exception, bit9- FPGA failure, bit10- sensor failure
dwOverallFaultJointSound
Failure linked to global keyboard sound output, different failure types are indicated by parameter value by bit, 0- not linked, 1- linked: bit0- AC power disconnection, bit1- battery low voltage, bit2- host anti-tamper, bit3- phone line disconnection, bit4- main keyboard offline, bit5- network failure, bit6- GPRS exception, bit7- MBUS exception, bit8- HDD exception, bit9- FPGA failure, bit10- sensor failure
dwSubSystemFaultJointLED
Failure linked to sub-system keyboard indicator output, dwSubSystemFaultJointLED[0] means linkage information of sub-system 1, dwSubSystemFaultJointLED[1] means sub-system 2, and so forth, different failure types are indicated by number array by bit: bit0- AC power disconnection, bit1- battery low voltage, bit2- host anti-tamper, bit3- phone line disconnection, bit4- main keyboard offline, bit5- network failure, bit6- GPRS exception, bit7- MBUS exception, bit8- HDD exception, bit9- FPGA failure, bit10- sensor failure
dwSubSystemFaultJointSound
Failure linked to sub-system keyboard sound output (the sound output is on the sub-system keyboard), dwSubSystemFaultJointLED[0] means linkage information of sub-system 1, dwSubSystemFaultJointSound [1] means sub-system 2, and so forth, different failure types are indicated by number array by bit: bit0- AC power disconnection, bit1- battery low voltage, bit2- host anti-tamper, bit3- phone line disconnection, bit4- main keyboard offline, bit5- network failure, bit6- GPRS exception, bit7- MBUS exception, bit8- HDD exception, bit9- FPGA failure, bit10- sensor failure
dwFaultJointFaultLight
Failure linked to failure indicator output, different failure types are indicated by parameter value by bit, 0- not linked, 1- linked: bit0- AC power disconnection, bit1- battery low voltage, bit2- host anti-tamper, bit3- phone line disconnection, bit4- main keyboard offline, bit5- network failure, bit6- GPRS exception, bit7- MBUS exception, bit8- HDD exception, bit9- FPGA failure, bit10- sensor failure
byRes
Reserved, set as 0

Remarks

  • Failure type supported by device can be obtained (dwFaultType) from capability set (NET_DVR_ALARMHOST_ABILITY).
  • In power supply monitoring host 2.0, dwCheckFault, dwOverallFaultJointLED, dwOverallFaultJointSound, dwSubSystemFaultJointLED, dwSubSystemFaultJointSound are all invalid, dwFaultJointFaultLight is valid.
  • Alarm sound will be triggered on global keyboard when global failures occur, call NET_DVR_RemoteControl (control command: NET_DVR_CLOSE_ALARMHOST_OVERALL_FAULT_ALARM) to stop the alarm on keyboard. Alternatively, call interface NET_DVR_SetDVRConfig to configure failure reminder parameters, and change its check failure configuration (dwCheckFault) or global failure configuration (dwOverallFaultJointSound), the alarm will be stopped after 2s.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMHOST_GPRS_CFG

Structure of GPRS parameter.

struct{
  DWORD                              dwSize;
  NET_DVR_ALARMHOST_NETPARAM         struNetCenter[2];
  BYTE                               byAPNName[APN_NAME_LEN];
  BYTE                               byAPNUserName[APN_USERNAME_LEN];
  BYTE                               byAPNPassWord[APN_USERPASSWORD_LEN];
  BYTE                               byReconnTime;
  BYTE                               byOverTime;
  BYTE                               byDetectLinkTime;
  BYTE                               bySIMNum[11];
  BYTE                               byRes1[2];
  NET_DVR_IPADDR                     struSIMIP;
  BYTE                               byRes2[32];
}NET_DVR_ALARMHOST_GPRS_CFG, *LPNET_DVR_ALARMHOST_GPRS_CFG;

Members

dwSize
Structure size
struNetCenter
Central GPRS network configuration
byAPNName
Access point name
byAPNUserName
Access point user name
byAPNPassWord
Access point password
byReconnTime
Reconnection time, the time to reconnect after disconnected, unit: 10s, value range: [1,30]
byOverTime
Timeout, it will reconnect when it has not received valid data after the time more than byOverTime, unit: 30s, value range: [1,254]
byDetectLinkTime
Check if the link is intact, range [1, 30], unit: 10s
bySIMNum
SIM card number (telephone number)
byRes1
Reserved, please set to 0
struSIMIP
IP address allocated by the network, read-only
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMHOST_LOG_RET

Structure of searched alarm-host log.

struct{
  NET_DVR_TIME    struLogTime;
  BYTE            sUserName[NAME_LEN];
  NET_DVR_IPADDR  struIPAddr;
  WORD            wMajorType;
  WORD            wMinorType;
  WORD            wParam;
  BYTE            byRes[10];
  DWORD           dwInfoLen;
  char            sInfo[LOG_INFO_LEN];
}NET_DVR_ALARMHOST_LOG_RET, *LPNET_DVR_ALARMHOST_LOG_RET;

Members

struLogTime
Log time
sUserName
Operator user
struIPAddr
Operator IP address
wMajorType
Major type, defined as follows:
enum _ALARMHOST_MAJOR_TYPE_{
  ALARMHOST_MAJOR_ALARM = 1,
  ALARMHOST_MAJOR_EXCEPTION,
  ALARMHOST_MAJOR_OPERATE,
  ALARMHOST_MAJOR_EVENT
}ALARMHOST_MAJOR_TYPE
Macro Definition | Implication
ALARMHOST_MAJOR_ALARM | Alarm
ALARMHOST_MAJOR_EXCEPTION | Exception
ALARMHOST_MAJOR_OPERATE | Operation
ALARMHOST_MAJOR_EVENT | Event
wMinorType
Minor type
enum _ALARMHOST_MINOR_TYPE_{
  MINOR_SHORT_CIRCUIT =0x01,
  MINOR_BROKEN_CIRCUIT,
  MINOR_ALARM_RESET,
  MINOR_ALARM_NORMAL,
  MINOR_PASSWORD_ERROR,
  MINOR_ID_CARD_ILLEGALLY,
  MINOR_KEYPAD_REMOVE,
  MINOR_KEYPAD_REMOVE_RESTORE,
  MINOR_DEV_REMOVE,
  MINOR_DEV_REMOVE_RESTORE,
  MINOR_BELOW_ALARM_LIMIT1,
  MINOR_BELOW_ALARM_LIMIT2,
  MINOR_BELOW_ALARM_LIMIT3,
  MINOR_BELOW_ALARM_LIMIT4,
  MINOR_ABOVE_ALARM_LIMIT1,
  MINOR_ABOVE_ALARM_LIMIT2,
  MINOR_ABOVE_ALARM_LIMIT3,
  MINOR_ABOVE_ALARM_LIMIT4,
  MINOR_URGENCYBTN_ON,
  MINOR_URGENCYBTN_OFF,
  MINOR_POWER_ON      = 0x100,
  MINOR_POWER_OFF,
  MINOR_WDT_RESET,
  MINOR_LOW_BATTERY_VOLTAGE,
  MINOR_AC_LOSS,
  MINOR_AC_RESTORE,
  MINOR_RTC_EXCEPTION,
  MINOR_NETWORK_CONNECT_FAILURE,
  MINOR_NETWORK_CONNECT_RESTORE,
  MINOR_TEL_LINE_CONNECT_FAILURE,
  MINOR_TEL_LINE_CONNECT_RESTORE,
  MINOR_EXPANDER_BUS_LOSS,
  MINOR_EXPANDER_BUS_RESTORE,
  MINOR_KEYPAD_BUS_LOSS,
  MINOR_KEYPAD_BUS_RESTORE,
  MINOR_SENSOR_FAILURE,
  MINOR_SENSOR_RESTORE,
  MINOR_RS485_CONNECT_FAILURE,
  MINOR_RS485_CONNECT_RESTORE,
  MINOR_GUARD         = 0x200,
  MINOR_UNGUARD,
  MINOR_BYPASS,
  MINOR_DURESS_ACCESS,
  MINOR_ALARMHOST_LOCAL_REBOOT,
  MINOR_ALARMHOST_REMOTE_REBOOT,
  MINOR_ALARMHOST_LOCAL_UPGRADE,
  MINOR_ALARMHOST_REMOTE_UPGRADE,
  MINOR_RECOVERY_DEFAULT_PARAM,
  MINOR_ALARM_OUTPUT,
  MINOR_ACCESS_OPEN,
  MINOR_ACCESS_CLOSE,
  MINOR_SIREN_OPEN,
  MINOR_SIREN_CLOSE,
  MINOR_MOD_ZONE_CONFIG,
  MINOR_MOD_ALARMOUT_CONIFG,
  MINOR_MOD_ANALOG_CONFIG,
  MINOR_RS485_CONFIG,
  MINOR_PHONE_CONFIG,
  MINOR_ADD_ADMIN,
  MINOR_MOD_ADMIN_PW,
  MINOR_DEL_ADMIN,
  MINOR_ADD_NETUSER,
  MINOR_MOD_NETUSER_PW,
  MINOR_DEL_NETUSER,
  MINOR_ADD_OPERATORUSER,
  MINOR_MOD_OPERATORUSER_PW,
  MINOR_DEL_OPERATORUSER,
  MINOR_ADD_KEYPADUSER,
  MINOR_DEL_KEYPADUSER,
  MINOR_REMOTEUSER_LOGIN,
  MINOR_REMOTEUSER_LOGOUT,
  MINOR_REMOTE_GUARD,
  MINOR_REMOTE_UNGUARD,
  MINOR_MOD_HOST_CONFIG,
  MINOR_RESTORE_BYPASS,
  MINOR_SCHOOLTIME_IRGI_B =0x300,
  MINOR_SCHOOLTIME_SDK,
  MINOR_SCHOOLTIME_SELFTEST
}ALARMHOST_MINOR_TYPE
Types based on major types are listed below:
Macro Definition of Major Type | Implication
ALARMHOST_MAJOR_ALARM | Alarm
Macro Definition of Minor Type | Implication
MINOR_SHORT_CIRCUIT | Short circuit alarm
MINOR_BROKEN_CIRCUIT | Broken circuit alarm
MINOR_ALARM_RESET | Alarm reset
MINOR_ALARM_NORMAL | Alarm resumes to normal
MINOR_PASSWORD_ERROR | Password error(consecutive times for password error)
MINOR_ID_CARD_ILLEGALLY | Illegal proximity card ID
MINOR_KEYPAD_REMOVE | Keypad tamper
MINOR_KEYPAD_REMOVE_RESTORE | Keypad tamper reset
MINOR_DEV_REMOVE | Device tamper
MINOR_DEV_REMOVE_RESTORE | Device tamper reset
MINOR_BELOW_ALARM_LIMIT1 | Analog lower than alarm limit 1
MINOR_BELOW_ALARM_LIMIT2 | Analog lower than alarm limit 2
MINOR_BELOW_ALARM_LIMIT3 | Analog lower than alarm limit 3
MINOR_BELOW_ALARM_LIMIT4 | Analog lower than alarm limit 4
MINOR_ABOVE_ALARM_LIMIT1 | Analog higher than alarm limit 1
MINOR_ABOVE_ALARM_LIMIT2 | Analog higher than alarm limit 2
MINOR_ABOVE_ALARM_LIMIT3 | Analog higher than alarm limit 3
MINOR_ABOVE_ALARM_LIMIT4 | Analog higher than alarm limit 4
MINOR_URGENCYBTN_ON | Emergency button is pressed
MINOR_URGENCYBTN_OFF | Emergency button reset

Macro Definition of Major Type | Implication
ALARMHOST_MAJOR_EXCEPTION | Exception
Macro Definition of Minor Type | Implication
MINOR_POWER_ON | Power on
MINOR_POWER_OFF | Power off
MINOR_WDT_RESET | WDT reset
MINOR_LOW_BATTERY_VOLTAGE | Low battery voltage
MINOR_AC_LOSS | AC loss
MINOR_AC_RESTORE | AC restore
MINOR_RTC_EXCEPTION | RTC real-time clock exception
MINOR_NETWORK_CONNECT_FAILURE | Network is disconnected
MINOR_NETWORK_CONNECT_RESTORE | Network connection restore
MINOR_TEL_LINE_CONNECT_FAILURE | Telephone line is disconnected
MINOR_TEL_LINE_CONNECT_RESTORE | Telephone line restore
MINOR_EXPANDER_BUS_LOSS | Expansion bus module dropped
MINOR_EXPANDER_BUS_RESTORE | Expansion bus module restore
MINOR_KEYPAD_BUS_LOSS | Keyboard bus module dropped
MINOR_KEYPAD_BUS_RESTORE | Keyboard bus module restore
MINOR_SENSOR_FAILURE | Analog sensor failure
MINOR_SENSOR_RESTORE | Analog sensor restore
MINOR_RS485_CONNECT_FAILURE | RS485 channel is disconnected
MINOR_RS485_CONNECT_RESTORE | RS485 channel disconnection restore
MINOR_BATTERT_VOLTAGE_RESTORE | Battery voltage resume to normal

Macro Definition of Major Type | Implication
ALARMHOST_MAJOR_OPERATE | Operation
Macro Definition of Minor Type | Implication
MINOR_GUARD | Arm
MINOR_UNGUARD | Disarm
MINOR_BYPASS | Bypass
MINOR_DURESS_ACCESS | Duress access
MINOR_ALARMHOST_LOCAL_REBOOT | Local reboot
MINOR_ALARMHOST_REMOTE_REBOOT | Remote reboot
MINOR_ALARMHOST_LOCAL_UPGRADE | Local upgrade
MINOR_ALARMHOST_REMOTE_UPGRADE | Remote upgrade
MINOR_RECOVERY_DEFAULT_PARAM | Recovery default parameter
MINOR_ALARM_OUTPUT | Control alarm output
MINOR_ACCESS_OPEN | Control access open
MINOR_ACCESS_CLOSE | Control access close
MINOR_SIREN_OPEN | Control siren open
MINOR_SIREN_CLOSE | Control siren close
MINOR_MOD_ZONE_CONFIG | Modify defense zone configuration
MINOR_MOD_ALARMOUT_CONIFG | Control alarm output configuration
MINOR_MOD_ANALOG_CONFIG | Modify analog configuration
MINOR_RS485_CONFIG | Modify RS-485 configuration
MINOR_PHONE_CONFIG | Modify dialing configuration
MINOR_ADD_ADMIN | Add administrator
MINOR_MOD_ADMIN_PW | Modify password of administrator
MINOR_DEL_ADMIN | Delete administrator
MINOR_ADD_NETUSER | Add network user
MINOR_MOD_NETUSER_PW | Modify password of network user
MINOR_DEL_NETUSER | Delete network user
MINOR_ADD_OPERATORUSER | Add operator user
MINOR_MOD_OPERATORUSER_PW | Add operator user
MINOR_DEL_OPERATORUSER | Add operator user
MINOR_ADD_KEYPADUSER | Add user of keyboard or card reader
MINOR_DEL_KEYPADUSER | Delete user of keyboard or card reader
MINOR_REMOTEUSER_LOGIN | Remote login
MINOR_REMOTEUSER_LOGOUT | Remote logout
MINOR_REMOTE_GUARD | Remotely arm
MINOR_REMOTE_UNGUARD | Remotely disarm
MINOR_MOD_HOST_CONFIG | Modify host configuration
MINOR_RESTORE_BYPASS | Bypass restore

Macro Definition of Major Type | Implication
ALARMHOST_MAJOR_EVENT | Event
Macro Definition of Minor Type | Implication
MINOR_SCHOOLTIME_IRGI_B | B code timing
MINOR_SCHOOLTIME_SDK | SDK timing
MINOR_SCHOOLTIME_SELFTEST | Scheduled self-test timing
wParam
Operation parameter
byRes
Reserved
dwInfoLen
Length of description information
sInfo
Description information

See Also

NET_DVR_FindNextAlarmHostLog


NET_DVR_ALARMHOST_MAIN_STATUS

Structure of alarm output parameter.

struct{
  DWORD    dwSize;
  BYTE     bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE     byBypassStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     bySubSystemGuardStatus[MAX_ALARMHOST_SUBSYSTEM];
  BYTE     byRes[568];
}NET_DVR_ALARMHOST_MAIN_STATUS, *LPNET_DVR_ALARMHOST_MAIN_STATUS;

Members

dwSize
Structure size
bySetupAlarmStatus
Arming status of alarm input port(support to query max 512 alarm input ports), 0- disarmed, 1- armed
byAlarmInStatus
Alarm status of alarm input port(support to query max 512 alarm input ports), 0- without alarm, 1- with alarm
byAlarmOutStatus
Status of alarm output port(support to query max 512 alarm output ports), 0- without alarm, 1- with alarm
byBypassStatus
Bypass status, array subscript 0 corresponds to alarm input port 1, 0- not bypass, 1- bypass
bySubSystemGuardStatus
Arming status of subsystem: 0- the corresponding subsystem is disarmed, 1- the corresponding subsystem is armed
byRes
Reserved

See Also

NET_DVR_GetDVRConfig


NET_DVR_ALARMHOST_MAIN_STATUS_V40

Security control panel main status structure

struct{
  DWORD    dwSize;
  BYTE     bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE     byBypassStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     bySubSystemGuardStatus[MAX_ALARMHOST_SUBSYSTEM];
  BYTE     byAlarmInFaultStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmInMemoryStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byAlarmInTamperStatus[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byEnableSubSystem[MAX_ALARMHOST_SUBSYSTEM];
  BYTE     bySubSystemGuardType[MAX_ALARMHOST_SUBSYSTEM];
  BYTE     byRes[448];
}NET_DVR_ALARMHOST_MAIN_STATUS_V40, *LPNET_DVR_ALARMHOST_MAIN_STATUS_V40;

Members

dwSize
Structure size
bySetupAlarmStatus
Zone arming status (supports max. 512 zones), the array subscript indicates the associated zone, eg, the subscript 0 corresponds to zone 1 and the subscript 1 corresponds to zone 2, array value: 0- The corresponded zone is in the status of disarming, 1- The corresponded zone is in the status of arming
byAlarmInStatus
Zone alarm status (supports max. 512 zones),the array subscript indicates the associated zone, eg, the subscript 0 corresponds to zone 1 and the subscript 1 corresponds to zone 2, array value: 0- no alarm for the corresponded zone, 1- alarm for the corresponded zone
byAlarmOutStatus
Trigger status (supports max. 512 triggers),the array subscript indicates the trigger, eg, the subscript 0 corresponds to trigger 1 and the subscript 1 corresponds to trigger 2，array value: 0- No alarm for the trigger, 1- Alarm for the trigger
byBypassStatus
Bypass status, the array subscript indicates the associated zone, eg, the subscript 0 corresponds to zone 1 and the subscript 1 corresponds to zone 2，array value: 0- The zone is not bypassed, 1- the zone is bypassed
bySubSystemGuardStatus
Partition arming status (valid when byEnableSubSystem is enabled), the subscript 0 corresponds to partition 1 and the subscript 1 corresponds to partition 2，array value: 0 -The corresponded partition is in the status of disarming, 1- The corresponded partition is in the status of arming
byAlarmInFaultStatus
Zone fault status, the subscript 0 corresponds to zone 1 and the subscript 1 corresponds to zone 2, array value: 0- The corresponded zone is working properly, 1- The corresponded zone is in fault.
byAlarmInMemoryStatus
Zone alarm memory status,the subscript 0 corresponds to zone 1 and the subscript 1 corresponds to zone 2, array value: 0- No alarm for the corresponded zone, 1- Alarm for the corresponded zone
byAlarmInTamperStatus
Zone tampering alarm status, the subscript 0 corresponds to zone 1 and the subscript 1 corresponds to zone 2, array value: 0- No alarm for the corresponded zone, 1- Alarm for the corresponded zone
byEnableSubSystem
Partition enabling status, the subscript 0 corresponds to partition 1 and the subscript 1 corresponds to partition 2, array value：0- Null, 1- Partition is not enabled, 2- Partition is enabled
byRes
Partition alarm type (valid when dwSubSystemGuardStatus is arming),the subscript 0 corresponds to partition 1 and the subscript 1 corresponds to partition 2, array value：0- invalid，1- Away arming, 2- Instant arming, 3- Stay arming
byRes
Reserved

Remarks

  • byAlarmInStatus indicates the real-time alarm status of the zone.
  • byAlarmInMemoryStatus indicates the alarm memory status of the zone. If an alarm is occurred, this parameters will switch to non-alarm status only if the user has clearing the alarm.
  • The main status is for the main function module of zone, trigger and partition.

See Also

NET_DVR_GetDVRConfig


NET_DVR_ALARMHOST_MODULE_CFG

Module information structure

struct{
  DWORD    dwSize;
  BYTE     byModuleType;
  BYTE     byZoneType;
  BYTE     byTriggerType;
  BYTE     byRes1;
  char     sModelInfo[MODULE_INFO_LEN];
  char     sDeviceVersionInfo[VERSION_INFO_LEN];
  BYTE     byRes[188];
}NET_DVR_ALARMHOST_MODULE_CFG,*LPNET_DVR_ALARMHOST_MODULE_CFG;

Members

dwSize
Structure size
byModuleType
Module type: 1- arming region, 2- trigger, 3- arming trigger
byZoneType
Arming region type: 1- local arming region, 2- single arming region, 3- dual-arming region, 4- 8-arming region, 5- 8-ch sensor arming region, 6- single region trigger, 0xff means the parameter is invalid
byTriggerType
Trigger type: 1- local trigger, 2- 4-ch trigger, 3- 8-ch trigger, 4- single arming region trigger, 0xff means the parameter is invalid
byRes1
Reserved
sModelInfo
Module information
sDeviceVersionInfo
Version information
byRes
Reserved

See Also

NET_DVR_GetDVRConfig


NET_DVR_ALARMHOST_NETCFG

Structure of alarm center network parameter.

struct{
  DWORD                              dwSize;
  NET_DVR_ALARMHOST_NETPARAM         struNetCenter[2];
  BYTE                               byRes1[32];
}NET_DVR_ALARMHOST_NETCFG, *LPNET_DVR_ALARMHOST_NETCFG;

Members

dwSize
Structure size
struNetCenter
alarm center network parameter, two alarm center
byRes1
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMHOST_NETCFG_V50

Alarm host center network parameter structure

struct{
  DWORD                             dwSize;
  NET_DVR_ALARMHOST_NETPARAM_V50    struNetCenter[MAX_CENTERNUM];
  BYTE                              byRes1[128];
}NET_DVR_ALARMHOST_NETCFG_V50, *LPNET_DVR_ALARMHOST_NETCFG_V50;

Members

dwSize
Structure size
struNetCenter
Alarm center parameters, up to 4 centers for alarm host and only 1 for access control host
byRes1
Reserved

Remarks

Whether the device supports alarm center network parameter configuration or the supported parameter capability, can be determined through device capability set (AlarmHostAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <netModuleNo> and <NetworkConfig>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMHOST_NETPARAM

struct{
  DWORD             dwSize;
  NET_DVR_IPADDR    struIP;
  WORD              wPort;
  BYTE              byAddressType;
  BYTE              byRes1;
  BYTE              byDomainName[MAX_DOMAIN_NAME];
  BYTE              byReportProtocol;
  BYTE              byDevID[ACCOUNTNUM_LEN_32];
  BYTE              byRes2[7];
}NET_DVR_ALARMHOST_NETPARAM, *LPNET_DVR_ALARMHOST_NETPARAM;

Members

dwSize
Structure size
struIP
IP address
wPort
Network port
byAddressType
Address type: ：0- Invalid, 1- ipv4/ipv6 address, 2- Domain name
byRes1
Reserved, please set to 0
byDomainName
Domain name, valid when byAddressType is 2
byReportProtocol
Report protocol: 1- private, 2- NAL2300, 3- ehome(access controller only supports ehome)
byDevID
Device ID, For aecurity control panel, the valid when report protocol is NAL2300,and valid length is 9；for access controller, the valid length is 32.
Valid characters:0 to 9, a to f, A to F.
byRes2
Reserved, please set to 0

See Also

NET_DVR_ALARMHOST_GPRS_CFG NET_DVR_ALARMHOST_NETCFG


NET_DVR_ALARMHOST_NETPARAM_V50

Upload center network parameter configuration structure

struct{
  DWORD             dwSize;
  NET_DVR_IPADDR    struIP;
  WORD              wPort;
  BYTE              byAddressType;
  BYTE              byEnable;
  BYTE              byDomainName[MAX_DOMAIN_NAME];
  BYTE              byReportProtocol;
  BYTE              byDevID[ACCOUNTNUM_LEN_32];
  BYTE              byRes2[64];
}NET_DVR_ALARMHOST_NETPARAM_V50, *LPNET_DVR_ALARMHOST_NETPARAM_V50;

Members

dwSize
Structure size
struIP
IP address of upload center, valid when byAddressType is 0 or 1
wPort
Port No. of upload center
byAddressType
Address type: 0- no meaning, 1- ipv4/ipv6 address, 2- domain name
byEnable
Enable the upload center: 0- no, 1- yes
byDomainName
Domain name, valid when byAddressType is 2
byReportProtocol
Report protocol: 1- private, 2- NAL2300, 3- eHome (access control host only supports eHome)
byDevID
Device ID, valid for alarm host when protocol is NAL2300, and valid length is 9; for access control host, the valid length is 32
Valid characters: 0 to 9, a to f, A to F
byRes2
Reserved

See Also

NET_DVR_ALARMHOST_NETCFG_V50


NET_DVR_ALARMHOST_OTHER_STATUS

Structure of other status.

struct{
  DWORD              dwSize;
  BYTE               bySirenStatus[ALARMHOST_MAX_SIREN_NUM];
  BYTE               byRes[92];
}NET_DVR_ALARMHOST_OTHER_STATUS,*LPNET_DVR_ALARMHOST_OTHER_STATUS;

Members

dwSize
Structure size
bySirenStatus
Siren output status, 0- in the status without alarm, 1- in the status with alarm
byRes
Reserved

See Also

NET_DVR_GetDVRConfig


NET_DVR_ALARMHOST_OTHER_STATUS_V50

Alarm host other status structure

struct{
  DWORD    dwSize;
  BYTE     bySirenStatus[ALARMHOST_MAX_SIREN_NUM];
  BYTE     byDetetorPower[MAX_DETECTOR_NUM];
  BYTE     byDetetorConnection[MAX_DETECTOR_NUM];
  BYTE     byRes[1024];
}NET_DVR_ALARMHOST_OTHER_STATUS_V50,*LPNET_DVR_ALARMHOST_OTHER_STATUS_V50;

Members

dwSize
Structure size
bySirenStatus
Siren output status, subscript 0 means siren 1, and so forth, number array value: 0- no siren alarm, 1- siren alarm
For DS-PEA panic alarm station products, number array subscript 0 means siren status, number array subscript 1 means lock status, number array subscript 2 means siren output status.
byDetetorPower
Detector battery stats, 0 to 100, by default below 20 means low voltage (valid when the detector connection status is online, otherwise return 0)
byDetetorConnection
Detector connection status: 0- not registered, 1- not online. 2- online
byRes
Reserved

Remarks

  • Whether device supports querying related status or supported capability, can be determined through device capability set (AlarmHostAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <SearchOtherStatus>.

See Also

NET_DVR_GetDVRConfig


NET_DVR_ALARMHOST_PRINTER_CFG

Printer configuration structure

struct{
  DWORD    dwSize;
  BYTE     byPrinterEnable;
  BYTE     byPrintTime;
  BYTE     byFaultDetect;
  BYTE     byRes1;
  DWORD    dwAlarmInfo;
  DWORD    dwDeviceInfo;
  DWORD    dwOperateInfo;
  BYTE     byRes2[256];
}NET_DVR_ALARMHOST_PRINTER_CFG, *LPNET_DVR_ALARMHOST_PRINTER_CFG;

Members

dwSize
Structure size
byPrinterEnable
Whether to enable printer: 0- no, 1- yes
byPrintTime
Whether to print time: 0- no, 1- yes
byFaultDetect
Whether to check printer failure: 0- no, 1- yes
byRes1
Reserved
dwAlarmInfo
Alarm information, by bit: bit0- arming region alarm, bit1- arming region alarm recover, bit2- emergency alarm, bit3- duress alarm
dwDeviceInfo
Device information, by bit: bit0- AC power disconnection, bit1- AC power disconnection recover, bit2- battery low voltage, bit3- battery low voltage recover, bit4- phone line disconnection, bit5- phone line disconnection recover, bit6- test report, bit7- anti-tamper, bit8- anti-tamper recover, bit9- RS-485 device offline, bit10- RS-485 device offline recover, bit11- wireless network exception, bit12- wireless network recover, bit13- wired network exception, bit14- wired network recover, bit15- extension bus exception, bit16- extension bus recover, bit17- HDD failure, bit18- HDD failure recover, bit19- keyboard lock
dwOperateInfo
Operation information, by bit: bit0- arming, bit1- disarming, bit2- clear alarm, bit3- bypass, bit4- bypass recover, bit5- enter programming, bit6- exit programming, bit7- host reset
byRes2
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMHOST_REPORTCENTER_CFG

Structure of alarm uploading type configuration.

struct{
  DWORD                              dwSize;
  BYTE                               byValid;
  BYTE                               byRes[3];
  BYTE                               byChanAlarmMode[MAX_REPORTCHAN_NUM];
  BYTE                               byDealFailCenter[MAX_CENTER_NUM];
  BYTE                               byDataType;
  BYTE                               byRes2[15];
}NET_DVR_ALARMHOST_REPORTCENTER_CFG, *LPNET_DVR_ALARMHOST_REPORTCENTER_CFG;

Members

dwSize
Structure size
byValid
Enable or not: 0- no, 1- yes
byRes
Reserved, please set to 0
byChanAlarmMode
Center group alarm channel: 1- T1, 2- T2, 3- N1, 4- N2, 5- G1, 6- G2
byDealFailCenter
Send report to assigned center group, array subscript means the group number, the value: 0- not select, 1- select
byDataType
1- alarm data, 2- not alarm data, 3- all data
byRes2
Reserved, please set to 0

See Also

NET_DVR_AlarmHostSetReportMode

NET_DVR_AlarmHostGetReportMode


NET_DVR_ALARMHOST_RS485_SLOT_CFG

Alarm host RS485 slot parameter structure

struct{
  DWORD    dwSize;
  BYTE     sDeviceName[NAME_LEN];
  WORD     wDeviceType;
  WORD     wDeviceProtocol;
  WORD     wAddress;
  BYTE     byChannel;
  BYTE     bySlotChan;
  BYTE     byRes[60];
}NET_DVR_ALARMHOST_RS485_SLOT_CFG,*LPNET_DVR_ALARMHOST_RS485_SLOT_CFG;

Members

dwSize
Structure size
sDeviceName
Front-end device name
wDeviceType
Front-end device type, get device list through NET_DVR_GetDeviceTypeList
wDeviceProtocol
Front-end device protocol, get protocol list through NET_DVR_GetDeviceProtoList
wAddress
Address of RS-485 external device address
byChannel
RS-485 channel No.
bySlotChan
Slot No.
byRes
Reserved, set as 0

Remarks

  • Multiple devices of the same type can be connected to one RS-485 serial port, protocols supported by each device may be different, e.g., serial port 1 can be connected to 4 temperature sensors of different brands (different protocols), but the port cannot be connected to UPSs and temperature sensors at the same time.
  • One RS-485 port can support no more than 128 points (parameters), e.g., if the number of variables of voltameter status structure is 100, then no more than 2 voltameters can be connected to the same RS-485 port.
  • Power supply monitoring alarm host, the communication parameters of each slot (baud rate, stop bit and stream control) are the same.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

    NET_DVR_GetDeviceTypeList NET_DVR_GetDeviceProtoList

    NET_DVR_GetNextRemoteConfig


NET_DVR_ALARMHOST_SAFETYCABINSTATE

Safety cabin state structure

struct{
  DWORD    dwSize;
  BYTE     byEnterButton;
  BYTE     byExitButton;
  BYTE     byDoorState;
  BYTE     byLockState;
  BYTE     byUrgencyButton;
  BYTE     byManState;
  BYTE     byAbnormal;
  BYTE     byLightState;
  BYTE     byFanState;
  BYTE     byRes[63];
}NET_DVR_ALARMHOST_SAFETYCABINSTATE, *LPNET_DVR_ALARMHOST_SAFETYCABINSTATE;

Members

dwSize
Structure size
byEnterButton
Enter button state: 0- not pressed, 1- pressed
byExitButton
Exit button state: 0- not pressed, 1- pressed
byDoorState
Door state: 0- door closed, 1- door open
byLockState
Lock state: 0- lock closed, 1- lock open
byUrgencyButton
Urgency button state: 0- not pressed, 1- pressed
byManState
Man state: 0- no people, 1- people
byAbnormal
Abnormal state: 0- normal, 1- abnormal(File uploading is abnormal when safety cabin is used too long.)
byLightState
Light state: 0- closed, 1- open
byFanState
Fan state: 0- closed, 1- open
byRes
Reserved

Remarks

  • Two modes of arming and listening are supported. As long as there is a kind of state is triggered in safety cabin(such as the enter button is pressed), the state is upload every 4 seconds.
  • Check whether the device supports getting ATM room status via the device capability(AlarmHostAbility) node<SafetyCabinStatus>，Corresponding interface:NET_DVR_GetDeviceAbility(Capability type: DEVICE_ABILITY_INFO).

    • See Also

    NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMHOST_SEARCH_LOG_PARAM

Structure for log searching of the security control panel

struct{
  WORD            wMajorType;
  WORD            wMinorType;
  NET_DVR_TIME    struStartTime;
  NET_DVR_TIME    struEndTime;
  BYTE            byRes[8];
}NET_DVR_ALARMHOST_SEARCH_LOG_PARAM, *LPNET_DVR_ALARMHOST_SEARCH_LOG_PARAM;

Members

wMajorType
Major type, definitions listed below:
Macro Definition | Value | Description
ALARMHOST_MAJOR_ALARM | 1 | Alarm
ALARMHOST_MAJOR_EXCEPTION | 2 | Exception
ALARMHOST_MAJOR_OPERATE | 3 | Operation
ALARMHOST_MAJOR_EVENT | 4 | Event
wMinorType
Minor type. Definitions of minor types, following different major types, are listed below:
Macro Definition of Major Type | Value | Description
ALARMHOST_MAJOR_ALARM | 1 | Alarm
Macro Definition of Minor Type | Value | Description
MINOR_SHORT_CIRCUIT | 0x01 | Short circuit alarm
MINOR_BROKEN_CIRCUIT | 0x02 | Disconnected alarm
MINOR_ALARM_RESET | 0x03 | Alarm reset
MINOR_ALARM_NORMAL | 0x04 | Alarm reset normal
MINOR_PASSWORD_ERROR | 0x05 | Incorrect password (consecutive times for entering incorrect password)
MINOR_ID_CARD_ILLEGALLY | 0x06 | Illegal card ID
MINOR_KEYPAD_REMOVE | 0x07 | Keyboard tamper
MINOR_KEYPAD_REMOVE_RESTORE | 0x08 | Keyboard tamper reset
MINOR_DEV_REMOVE | 0x09 | Device tamper
MINOR_DEV_REMOVE_RESTORE | 0x0a | Device tamper reset
MINOR_BELOW_ALARM_LIMIT1 | 0x0b | Sensor value is lower than alarm limit value 1.
MINOR_BELOW_ALARM_LIMIT2 | 0x0c | Sensor value is lower than alarm limit value 2.
MINOR_BELOW_ALARM_LIMIT3 | 0x0d | Sensor value is lower than alarm limit value 3.
MINOR_BELOW_ALARM_LIMIT4 | 0x0e | Sensor value is lower than alarm limit value 4.
MINOR_ABOVE_ALARM_LIMIT1 | 0x0f | Sensor value is higher than alarm limit value 1.
MINOR_ABOVE_ALARM_LIMIT2 | 0x10 | Sensor value is higher than alarm limit value 2.
MINOR_ABOVE_ALARM_LIMIT3 | 0x11 | Sensor value is higher than alarm limit value 3.
MINOR_ABOVE_ALARM_LIMIT4 | 0x12 | Sensor value is higher than alarm limit value 4.
MINOR_URGENCYBTN_ON | 0x13 | Press emergency button
MINOR_URGENCYBTN_OFF | 0x14 | Reset emergency button
MINOR_VIRTUAL_DEFENCE_BANDIT | 0x15 | Robbery alarm of virtual arming region
MINOR_VIRTUAL_DEFENCE_FIRE | 0x16 | Fire alarm of virtual arming region
MINOR_VIRTUAL_DEFENCE_URGENT | 0x17 | Emergency alarm of virtual arming region
MINOR_ALARMHOST_MOTDET_START | 0x18 | Motion detection alarm started
MINOR_ALARMHOST_MOTDET_STOP | 0x19 | Motion detection alarm stopped
MINOR_ALARMHOST_HIDE_ALARM_START | 0x1a | Video tampering alarm started
MINOR_ALARMHOST_HIDE_ALARM_STOP | 0x1b | Video tampering alarm stopped
MINOR_ALARMHOST_UPS_ALARM | 0x1c | UPS alarm
MINOR_ALARMHOST_ELECTRICITY_METER_ALARM | 0x1d | Electicity meter alarm
MINOR_ALARMHOST_SWITCH_POWER_ALARM | 0x1e | Switch power supply alarm
MINOR_ALARMHOST_GAS_DETECT_SYS_ALARM | 0x1f | Gas detection alarm
MINOR_ALARMHOST_TRANSFORMER_TEMPRATURE_ALARM | 0x20 | Transformer temperature alarm
MINOR_ALARMHOST_TEMP_HUMI_ALARM | 0x21 | Temperature-humidity sensor alarm
MINOR_ALARMHOST_UPS_ALARM_RESTORE | 0x22 | UPS alarm recovery
MINOR_ALARMHOST_ELECTRICITY_METER_ALARM_RESTORE | 0x23 | Electicity meter alarm recovery
MINOR_ALARMHOST_SWITCH_POWER_ALARM_RESTORE | 0x24 | Switch power supply alarm recovery
MINOR_ALARMHOST_GAS_DETECT_SYS_ALARM_RESTORE | 0x25 | Gas detection alarm recovery
MINOR_ALARMHOST_TRANSFORMER_TEMPRATURE_ALARM_RESTORE | 0x26 | Transformer temperature alarm recovery
MINOR_ALARMHOST_TEMP_HUMI_ALARM_RESTORE | 0x27 | Temperature-humidity sensor alarm recovery
MINOR_ALARMHOST_WATER_LEVEL_SENSOR_ALARM | 0x28 | Water level sensor alarm
MINOR_ALARMHOST_WATER_LEVEL_SENSOR_ALARM_RESTORE | 0x29 | Water level sensor alarm recovery
MINOR_ALARMHOST_DUST_NOISE_ALARM | 0x2a | Dust-noise sensor alarm
MINOR_ALARMHOST_DUST_NOISE_ALARM_RESTORE | 0x2b | Dust-noise sensor alarm recovery
MINOR_ALARMHOST_ENVIRONMENTAL_LOGGER_ALARM | 0x2c | Environment collection machine alarm
MINOR_ALARMHOST_ENVIRONMENTAL_LOGGER_ALARM_RESTORE | 0x2d | Environment collection machine alarm recovery
MINOR_ALARMHOST_TRIGGER_TAMPER | 0x2e | Detector tamper
MINOR_ALARMHOST_TRIGGER_TAMPER_RESTORE | 0x2f | Detector tamper reset
MINOR_ALARMHOST_EMERGENCY_CALL_HELP_ALARM | 0x30 | Emergency call alarm
MINOR_ALARMHOST_EMERGENCY_CALL_HELP_ALARM_RESTORE | 0x31 | Emergency call alarm recover
MINOR_ALARMHOST_CONSULTING_ALARM | 0x32 | Service inquiry alarm
MINOR_ALARMHOST_CONSULTING_ALARM_RESTORE | 0x33 | Service inquiry alarm recovery

Macro Definition of Major Type | Value | Description
ALARMHOST_MAJOR_EXCEPTION | 2 | Exception
Macro Definition of Minor Type | Value | Description
MINOR_POWER_ON | 0x01 | Power on
MINOR_POWER_OFF | 0x02 | Power off
MINOR_WDT_RESET | 0x03 | WDT reset
MINOR_LOW_BATTERY_VOLTAGE | 0x04 | Storage battery with low voltage
MINOR_AC_LOSS | 0x05 | AC disconnected
MINOR_AC_RESTORE | 0x06 | AC recovery
MINOR_RTC_EXCEPTION | 0x07 | RTC real-time clock exception
MINOR_NETWORK_CONNECT_FAILURE | 0x08 | Network disconnected
MINOR_NETWORK_CONNECT_RESTORE | 0x09 | Network connection recovery
MINOR_TEL_LINE_CONNECT_FAILURE | 0x0a | Telephone line disconnected
MINOR_TEL_LINE_CONNECT_RESTORE | 0x0b | Telephone line connected
MINOR_EXPANDER_BUS_LOSS | 0x0c | Expansion bus module offline
MINOR_EXPANDER_BUS_RESTORE | 0x0d | Expansion bus module online
MINOR_KEYPAD_BUS_LOSS | 0x0e | Keyboard bus module offline
MINOR_KEYPAD_BUS_RESTORE | 0x0f | Keyboard bus module online
MINOR_SENSOR_FAILURE | 0x10 | Analog sensor fault
MINOR_SENSOR_RESTORE | 0x11 | Analog sensor recovery
MINOR_RS485_CONNECT_FAILURE | 0x12 | RS485 disconnected
MINOR_RS485_CONNECT_RESTORE | 0x13 | RS485 connected
MINOR_BATTERT_VOLTAGE_RESTORE | 0x14 | Storage battery voltage recovery
MINOR_WIRED_NETWORK_ABNORMAL | 0x15 | Wired network exception
MINOR_WIRED_NETWORK_RESTORE | 0x16 | Wired network recovery
MINOR_GPRS_ABNORMAL | 0x17 | GPRS communication exception
MINOR_GPRS_RESTORE | 0x18 | GPRS recovery
MINOR_3G_ABNORMAL | 0x19 | 3G communication exception
MINOR_3G_RESTORE | 0x1a | 3G communication recovery
MINOR_SIM_CARD_ABNORMAL | 0x1b | SIM card exception
MINOR_SIM_CARD_RESTORE | 0x1c | SIM card recovery
MINOR_ALARMHOST_VI_LOST, | 0x1d | Video signal loss
MINOR_ALARMHOST_ILLEGAL_ACCESS | 0x1e | Illegal login
MINOR_ALARMHOST_HD_FULL | 0x1f | HDD full
MINOR_ALARMHOST_HD_ERROR | 0x20 | HDD error
MINOR_ALARMHOST_DCD_LOST | 0x21 | MODEM offline (reserved, but not used)
MINOR_ALARMHOST_IP_CONFLICT | 0x22 | IP address conflict
MINOR_ALARMHOST_NET_BROKEN | 0x23 | Network disconnected
MINOR_ALARMHOST_REC_ERROR | 0x24 | Record error
MINOR_ALARMHOST_VI_EXCEPTION | 0x25 | Video input exception (only refer to analog camera)
MINOR_ALARMHOST_FORMAT_HDD_ERROR | 0x26 | Failed to format HDD remotely
MINOR_ALARMHOST_USB_ERROR | 0x27 | USB communication fault
MINOR_ALARMHOST_USB_RESTORE | 0x28 | USB communication recovery
MINOR_ALARMHOST_PRINT_ERROR | 0x29 | Printer error
MINOR_ALARMHOST_PRINT_RESTORE | 0x2a | Printer recovery
MINOR_SUBSYSTEM_COMMUNICATION_ERROR | 0x2b | Sub-board communication error
MINOR_ALARMHOST_IPC_NO_LINK | 0x2c | IPC discronnected
MINOR_ALARMHOST_IPC_IP_CONFLICT | 0x2d | IPC IP address conflict
MINOR_ALARMHOST_VI_MISMATCH | 0x2e | Vedio standard dismatch

Macro Definition of Major Type | Value | Description
ALARMHOST_MAJOR_OPERATE | 3 | Operation
Macro Definition of Minor Type | Value | Description
MINOR_GUARD | 0x01 | Arm
MINOR_UNGUARD | 0x02 | Disarm
MINOR_BYPASS | 0x03 | Bypass
MINOR_DURESS_ACCESS | 0x04 | Duress
MINOR_ALARMHOST_LOCAL_REBOOT | 0x05 | Local reboot
MINOR_ALARMHOST_REMOTE_REBOOT | 0x06 | Remote reboot
MINOR_ALARMHOST_LOCAL_UPGRADE | 0x07 | Local upgrade
MINOR_ALARMHOST_REMOTE_UPGRADE | 0x08 | Remote upgrade
MINOR_RECOVERY_DEFAULT_PARAM | 0x09 | Restore default settings
MINOR_ALARM_OUTPUT | 0x0a | Control trigger
MINOR_ACCESS_OPEN | 0x0b | Access control: open
MINOR_ACCESS_CLOSE | 0x0c | Access control: close
MINOR_SIREN_OPEN | 0x0d | Siren control: open
MINOR_SIREN_CLOSE | 0x0e | Siren control: close
MINOR_MOD_ZONE_CONFIG | 0x0f | Modify arming region settings
MINOR_MOD_ALARMOUT_CONIFG | 0x10 | Control trigger settings
MINOR_MOD_ANALOG_CONFIG | 0x11 | Modify sersor settings
MINOR_RS485_CONFIG | 0x12 | Modiry RS485 settings
MINOR_PHONE_CONFIG | 0x13 | Modify dial-up settings
MINOR_ADD_ADMIN | 0x14 | Add administrator
MINOR_MOD_ADMIN_PW | 0x15 | Modify admin password
MINOR_DEL_ADMIN | 0x16 | Delete administrator
MINOR_ADD_NETUSER | 0x17 | Add DVR/NVR operator
MINOR_MOD_NETUSER_PW | 0x18 | Modify DVR/NVR operator password
MINOR_DEL_NETUSER | 0x19 | Delete DVR/NVR operator
MINOR_ADD_OPERATORUSER | 0x1a | Add camera operator
MINOR_MOD_OPERATORUSER_PW | 0x1b | Modify camera operator password
MINOR_DEL_OPERATORUSER | 0x1c | Delete camera operator
MINOR_ADD_KEYPADUSER | 0x1d | Add keyboard/card reader user
MINOR_DEL_KEYPADUSER | 0x1e | Delete keyboard/card reader user
MINOR_REMOTEUSER_LOGIN | 0x1f | Remote login
MINOR_REMOTEUSER_LOGOUT | 0x20 | Remote log out
MINOR_REMOTE_GUARD | 0x21 | Remote arm
MINOR_REMOTE_UNGUARD | 0x22 | Remote disarm
MINOR_MOD_HOST_CONFIG | 0x23 | Edit control panel settings
MINOR_RESTORE_BYPASS | 0x24 | Bypass recovery
MINOR_ALARMOUT_OPEN | 0x25 | Trigger open
MINOR_ALARMOUT_CLOSE | 0x26 | Trigger closed
MINOR_MOD_SUBSYSTEM_PARAM | 0x27 | Modify sub system parameters settings
MINOR_GROUP_BYPASS | 0x28 | Group bypass
MINOR_RESTORE_GROUP_BYPASS | 0x29 | Group bypass recovery
MINOR_MOD_GRPS_PARAM | 0x2a | Modify GPRS parameters
MINOR_MOD_NET_REPORT_PARAM | 0x2b | Edit network report settings
MINOR_MOD_REPORT_MOD | 0x2c | Edit uploading mode settings
MINOR_MOD_GATEWAY_PARAM | 0x2d | Edit access parameters settings
MINOR_ALARMHOST_REMOTE_START_REC | 0x2e | Start recording remotely
MINOR_ALARMHOST_REMOTE_STOP_REC | 0x2f | Stop recording remotely
MINOR_ALARMHOST_START_TRANS_CHAN | 0x30 | Start transparent transmission
MINOR_ALARMHOST_STOP_TRANS_CHAN | 0x31 | Stop transparent transmission
MINOR_ALARMHOST_START_VT | 0x32 | Start two-way audio
MINOR_ALARMHOST_STOP_VTM | 0x33 | Stop two-way audio
MINOR_ALARMHOST_REMOTE_PLAYBYFILE | 0x34 | Remote operation: playback by file
MINOR_ALARMHOST_RF_RESTORE | 0x35 | RF signal recover
MINOR_ALARMHOST_DETECTOR_ONLINE | 0x36 | Detector online
MINOR_ALARMHOST_REMOTE_FORMAT_HDD | 0x37 | Remote operation: format HDD
MINOR_ALARMHOST_REMOTE_LOCKFILE | 0x38 | Remote operation: lock file
MINOR_ALARMHOST_REMOTE_UNLOCKFILE | 0x39 | Remote operation: unlock file
MINOR_ALARMHOST_REMOTE_CFGFILE_OUTPUT | 0x3a | Remote operation: export configuration file
MINOR_ALARMHOST_REMOTE_CFGFILE_INTPUT | 0x3b | Remote operation: import configuration file
MINOR_ALARMHOST_REMOTE_RECFILE_OUTPUT | 0x3c | Remote operation: export record file
MINOR_ALARMHOST_STAY_ARM | 0x3d | Stay arming
MINOR_ALARMHOST_QUICK_ARM | 0x3e | Instant arming
MINOR_ALARMHOST_AUTOMATIC_ARM | 0x3f | Automatic arming
MINOR_ALARMHOST_AUTOMATIC_DISARM | 0x40 | Automatic disarming
MINOR_ALARMHOST_KEYSWITCH_ARM | 0x41 | Key region arming
MINOR_ALARMHOST_KEYSWITCH_DISARM | 0x42 | Key region disarming
MINOR_ALARMHOST_CLEAR_ALARM | 0x43 | Clear arm
MINOR_ALARMHOST_MOD_FAULT_CFG | 0x44 | Edit system fault settings
MINOR_ALARMHOST_MOD_EVENT_TRIGGER_ALARMOUT_CFG | 0x45 | Edit settings of event linkage trigger
MINOR_ALARMHOST_SEARCH_EXTERNAL_MODULE | 0x46 | Search external module
MINOR_ALARMHOST_REGISTER_EXTERNAL_MODULE | 0x47 | Register external module
MINOR_ALARMHOST_CLOSE_KEYBOARD_ALARM | 0x48 | Disable keyboard audible warning
MINOR_ALARMHOST_MOD_3G_PARAM | 0x49 | Edit 3G parameteres
MINOR_ALARMHOST_MOD_PRINT_PARAM | 0x4a | Edit printer parameters
MINOR_SD_CARD_FORMAT | 0x4b | Format SD card
MINOR_SUBSYSTEM_UPGRADE | 0x4c | Upgrade sub-board firmware
MINOR_ALARMHOST_PLAN_ARM_CFG | 0x4d | Schedule arming/disarming settings
MINOR_ALARMHOST_PHONE_ARM | 0x4e | Mobile arming
MINOR_ALARMHOST_PHONE_STAY_ARM | 0x4f | Mobile stay arming
MINOR_ALARMHOST_PHONE_QUICK_ARM | 0x50 | Mobile instant arming
MINOR_ALARMHOST_PHONE_DISARM | 0x51 | Mobile disarming
MINOR_ALARMHOST_PHONE_CLEAR_ALARM | 0x52 | Mobile clearing alarm
MINOR_ALARMHOST_WHITELIST_CFG | 0x53 | White list settings
MINOR_ALARMHOST_TIME_TRIGGER_CFG | 0x54 | Scheduled switch trigger settings
MINOR_ALARMHOST_CAPTRUE_CFG | 0x55 | Capture settings
MINOR_ALARMHOST_TAMPER_CFG | 0x56 | Arming region temper settings
MINOR_ALARMHOST_REMOTE_KEYPAD_UPGRADE | 0x57 | Remote upgrade keyboard
MINOR_ALARMHOST_ONETOUCH_AWAY_ARMING | 0x58 | One-key away arming
MINOR_ALARMHOST_ONETOUCH_STAY_ARMING | 0x59 | One-key stay arming
MINOR_ALARMHOST_SINGLE_PARTITION_ARMING_OR_DISARMING | 0x5a | Single arming region arming/disarming
MINOR_ALARMHOST_CARD_CONFIGURATION | 0x5b | Card parameter configuration
MINOR_ALARMHOST_CARD_ARMING_OR_DISARMING | 0x5c | Card arming/disarming
MINOR_ALARMHOST_EXPENDING_NETCENTER_CONFIGURATION | 0x5d | Extended network center configuration
MINOR_ALARMHOST_NETCARD_CONFIGURATION | 0x5e | NIC configuration
MINOR_ALARMHOST_DDNS_CONFIGURATION | 0x5f | DDNS configuration
MINOR_ALARMHOST_RS485BUS_CONFIGURATION | 0x60 | 485 bus parameter configuration
MINOR_ALARMHOST_RS485BUS_RE_REGISTRATION | 0x61 | 485 bus re-register
MINOR_ALARMHOST_REMOTE_OPEN_ELECTRIC_LOCK | 0x62 | Remote open lock
MINOR_ALARMHOST_REMOTE_CLOSE_ELECTRIC_LOCK | 0x63 | Remote close lock
MINOR_ALARMHOST_LOCAL_OPEN_ELECTRIC_LOCK | 0x64 | Local open lock
MINOR_ALARMHOST_LOCAL_CLOSE_ELECTRIC_LOCK | 0x65 | Local close lock
MINOR_ALARMHOST_OPEN_ALARM_LAMP | 0x66 | Open siren (remote)
MINOR_ALARMHOST_CLOSE_ALARM_LAMP | 0x67 | Close siren (remote)
MINOR_ALARMHOST_TEMPORARY_PASSWORD | 0x68 | Temporary password operation record
MINOR_ALARMHOST_ONEKEY_AWAY_ARM | 0x69 | One-key away arming
MINOR_ALARMHOST_ONEKEY_STAY_ARM | 0x6a | One-key stay arming
MINOR_ALARMHOST_SINGLE_ZONE_ARM | 0x6b | Single arming region arming
MINOR_ALARMHOST_SINGLE_ZONE_DISARM | 0x6c | Single arming region disarming
MINOR_ALARMHOST_HIDDNS_CONFIG | 0x6d | HIDDNS configuration
MINOR_ALARMHOST_REMOTE_KEYBOARD_UPDATA | 0x6e | Remote keyboard upgrade log
MINOR_ALARMHOST_ZONE_ADD_DETECTOR | 0x6f | Add detector in arming region
MINOR_ALARMHOST_ZONE_DELETE_DETECTOR | 0x70 | Delete detector in arming region
MINOR_ALARMHOST_QUERY_DETECTOR_SIGNAL | 0x71 | Host query of detector signal strength
MINOR_ALARMHOST_QUERY_DETECTOR_BATTERY | 0x72 | Host query of detector battery
MINOR_ALARMHOST_SET_DETECTOR_GUARD | 0x73 | Detector arming
MINOR_ALARMHOST_SET_DETECTOR_UNGUARD | 0x74 | Detector disarming
MINOR_ALARMHOST_SET_WIFI_PARAMETER | 0x75 | Set Wi-Fi configuration parameter
MINOR_ALARMHOST_OPEN_VOICE | 0x76 | Open voice
MINOR_ALARMHOST_CLOSE_VOICE | 0x77 | Close voice
MINOR_ALARMHOST_ENABLE_FUNCTION_KEY | 0x78 | Enable function key
MINOR_ALARMHOST_DISABLE_FUNCTION_KEY | 0x79 | Disable function key
MINOR_ALARMHOST_READ_CARD | 0x7a | Patrol card swiping
MINOR_ALARMHOST_START_BROADCAST | 0x7b | Open voice broadcast
MINOR_ALARMHOST_STOP_BROADCAST | 0x7c | Close voice broadcast
MINOR_ALARMHOST_LOCAL_SET_DEVICE_ACTIVE | 0xf0 | Local operation: activate device
MINOR_ALARMHOST_REMOTE_SET_DEVICE_ACTIVE | 0xf1 | Remote operation: activate device
MINOR_ALARMHOST_LOCAL_PARA_FACTORY_DEFAULT | 0xf2 | Local operation: restore factory settings
MINOR_ALARMHOST_REMOTE_PARA_FACTORY_DEFAULT | 0xf3 | Remote operation: restore factory settings

Macro Definition of Major Type | Value | Description
ALARMHOST_MAJOR_EVENT | 4 | Event
Major Definition of Minor Type | Value | Description
MINOR_SCHOOLTIME_IRGI_B | 0x01 | B code synchronization
MINOR_SCHOOLTIME_SDK | 0x02 | SDK synchronization
MINOR_SCHOOLTIME_SELFTEST | 0x03 | Timed synchronization
MINOR_SUBSYSTEM_ABNORMALINSERT | 0x04 | Plug sub-board
MINOR_SUBSYSTEM_ABNORMALPULLOUT | 0x05 | Unplug sub-board
MINOR_AUTO_ARM | 0x06 | Automatic arming
MINOR_AUTO_DISARM | 0x07 | Automaic disarming
MINOR_TIME_TIGGER_ON | 0x08 | Regularly open trigger
MINOR_TIME_TIGGER_OFF | 0x09 | Regularly close trigger
MINOR_AUTO_ARM_FAILD | 0x0a | Failed to arm automatically
MINOR_AUTO_DISARM_FAILD | 0x0b | failed to disarm automatically
MINOR_TIME_TIGGER_ON_FAILD | 0x0c | Failed to open trigger regularly
MINOR_TIME_TIGGER_OFF_FAILD | 0x0d | Failed to close trigger regularly
MINOR_MANDATORY_ALARM | 0x0e | Forced arming
struStartTime
Start time
struEndTime
End time
byRes
Reserved

See Also

NET_DVR_FindAlarmHostLog


NET_DVR_ALARMHOST_SENSOR_JOINT_CFG

Sensor linkage configuration structure

struct{
  DWORD    dwSize;
  BYTE     bySensorJointAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE     bySensorJointSiren[ALARMHOST_MAX_SIREN_NUM];
  BYTE     bySensorAlarmTypeJointAlarmOut[ALARMHOST_ALARMOUT_NUM];
  BYTE     bySesorAlarmTypeJointSiren[ALARMHOST_MAX_SIREN_NUM];
  BYTE     byChan;
  BYTE     byRes[55];
}NET_DVR_ALARMHOST_SENSOR_JOINT_CFG,*LPNET_DVR_ALARMHOST_SENSOR_JOINT_CFG;

Members

dwSize
Structure size
bySensorJointAlarmOut
Sensor linked trigger, bySensorJointAlarmOut[0]==1 means link trigger 1, bySensorJointAlarmOut[1]==1 means link trigger 2, and so forth
bySensorJointSiren
Sensor linkage siren, bySensorJointSiren[0]==1 means link siren 1, bySensorJointSiren[1]==1 means link siren 2, and so forth
bySensorAlarmTypeJointAlarmOut
Sensor linkage to trigger by bit, the field is the extension of bySensorJointAlarmOut, number array subscript means trigger No., array elements mean alarm type by bit, and the relation between different types is "or". Type value: bit0- threshold 1, bit1- threshold 2, bit2- threshold 3, bit3- threshold 4, bit4- failure, e.g., bySensorAlarmTypeJointAlarmOut[0]==3 means threshold 1 or threshold 2 alarm is linked to the first trigger.
bySesorAlarmTypeJointSiren
Sensor linkage to siren by type, the field is the extension of bySensorJointSiren, number array subscript means siren No., array elements mean alarm type by bit. Type value: bit0- threshold 1, bit1- threshold 2, bit2- threshold 3, bit3- threshold 4, bit4- failure, e.g., bySensorAlarmTypeJointAlarmOut[0]==3 means threshold 1 or threshold 2 alarm is linked to the first siren.
byChan
Sensor channel No.
byRes
Reserved, set as 0

Remarks

Number of triggers and sirens actually supported by device can be obtained from capability set.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_GetNextRemoteConfig


NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE

Temperature & humidity sensor threshold parameter structure

struct{
  int     iTemperatureHighLimit;
  int     iTemperatureLowLimit;
  int     iHumidityHighLimit;
  int     iHumidityLowLimit;
  BYTE    byRes[84];
}NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE,*LPNET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE;

Members

iTemperatureHighLimit
Temperature high threshold, unit: °C
iTemperatureLowLimit
Temperature low threshold, unit: °C
iHumidityHighLimit
Humidity high threshold, unit: %
iHumidityLowLimit
Humidity low threshold, unit: %
byRes
Reserved

See Also

NET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION


NET_DVR_ALARMHOST_UPLOAD_PARAM

Structure of uploading parameter

struct{
  DWORD    dwSize;
  BYTE     byUploadType;
  BYTE     byDataType;
  BYTE     byDataNum;
  BYTE     byAudioType;
  char     sFileName[260];
  char     *lpBuffer;
  DWORD    dwBufferSize;
  BYTE     byRes2[128];
}NET_DVR_ALARMHOST_UPLOAD_PARAM,*LPNET_DVR_ALARMHOST_UPLOAD_PARAM;

Members

dwSize
Structure size
byUploadType
Uploading type: 1- get data according to absolute path(including filename) and then upload to device, 2- get data from buffer and then upload to device
byDataType
Data type: 1- audio data
byDataNum
Data number, for audio data, it means the voice number
byAudioType
Audio format, it supports WAVE ony: 0-wave
sFileName
The absolute path of data file (including filename)
lpBuffer
Data buffer
dwBufferSize
The size of the buffer
byRes2
Reserved, please set to 0

Remarks

It supports getting data according to the filename(sFileName) or getting from the buffer(lpBuffer).

See Also

NET_DVR_StartUploadFile


NET_DVR_ALARMHOST_UPS_LIMIT_VALUE

UPS alarm threshold parameter structure

struct{
  int     iInputVolHigh;
  int     iInputVolLow;
  int     iInputFreHigh;
  int     iInputFreLow;
  int     iOutputVolHigh;
  int     iOutputVolLow;
  int     iBatteryVoltageLow;
  int     iBatterySurply;
  int     iBatteryTempratureHigh;
  BYTE    byRes[64];
}NET_DVR_ALARMHOST_UPS_LIMIT_VALUE,*LPNET_DVR_ALARMHOST_UPS_LIMIT_VALUE;

Members

iInputVolHigh
Input voltage high limit
iInputVolLow
Input voltage low limit
iInputFreHigh
Input frequency high limit
iInputFreLow
Input frequency low limit
iOutputVolHigh
Output voltage high limit
iOutputVolLow
Output voltage low limit
iBatteryVoltageLow
Battery low voltage threshold
iBatterySurply
Battery backup time threshold
iBatteryTempratureHigh
Battery temperature high threshold
byRes
Reserved

See Also

NET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION


NET_DVR_ALARMHOSTDIALCFG

Structure of dialing configuration.

struct{
  DWORD                        dwSize;
  NET_DVR_PHONECENTERDIALCFG   struPhoneCenterParam[MAX_CENTERNUM];
  WORD                         wReportPeriod;
  WORD                         wFirstReportTime;
  BYTE                         byReportValid;
  BYTE                         byRes[19];
}NET_DVR_ALARMHOSTDIALCFG, *LPNET_DVR_ALARMHOSTDIALCFG;

Members

dwSize
Structure size
struPhoneCenterParam
Center parameter
wReportPeriod
Uploading period of test report, unit: hour, value range: 1~168 hours(7days)
wFirstReportTime
The time from device startup to uploding the first test report, value range: 1~3600minutes
byReportValid
0- Disable to upload test report, 1- enable to upload test report
byRes
Reserved, please set to 0

See Also

NET_DVR_PHONECENTERDIALCFG


NET_DVR_ALARMHOSTDIALSETUPMODE

Structure of dialing startup mode configuration.

struct{
  DWORD                        dwSize;
  BYTE                         byEnableMode;
  BYTE                         byCallType;
  BYTE                         byRes1[14];
}NET_DVR_ALARMHOSTDIALSETUPMODE, *LPNET_DVR_ALARMHOSTDIALSETUPMODE;

Members

dwSize
Structure size
byEnableMode
Enable mode: 0- disabled, 1- enabled continuously, 2- enabled when network broken and closed when normal
byCallType
Uploading center type: 1- single center, 2- two center, 3- one report and one spare
byRes1
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMIN_INFO

Structure of alarm inout channel configuration of GBT28181

struct{
  NET_DVR_STREAM_INFO    struStreamInfo;
  DWORD                  dwAlarmInChannel;
  BYTE                   byRes[32];
}NET_DVR_ALARMIN_INFO,*LPNET_DVR_ALARMIN_INFO;

Members

struStreamInfo
Strean information
dwAlarmInChannel
Channel of alarm input
byRes
Reserved, set it to 0

See Also

GB28181 includes ID regulation, for the details, please refer to GB/T 28181-2011

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_ALARMIN_PARAM

Structure of arming region parameter

struct{
  DWORD                dwSize;
  BYTE                 byName[NAME_LEN];
  WORD                 wDetectorType;
  BYTE                 byType;
  BYTE                 byUploadAlarmRecoveryReport;
  DWORD                dwParam;
  NET_DVR_SCHEDTIME    struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
  BYTE                 byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE                 byAssociateSirenOut[8];
  BYTE                 bySensitivityParam;
  BYTE                 byArrayBypass;
  BYTE                 byJointSubSystem;
  BYTE                 byModuleStatus;
  WORD                 wModuleAddress;
  BYTE                 byModuleChan;
  BYTE                 byModuleType;
  WORD                 wZoneIndex;
  WORD                 wInDelay;
  WORD                 wOutDelay;
  BYTE                 byAlarmType;
  BYTE                 byZoneResistor;
  float                fZoneResistorManual;
  BYTE                 byRes2[32];
}NET_DVR_ALARMIN_PARAM, *LPNET_DVR_ALARMIN_PARAM;

Members

dwSize
Structure size
byName
Arming region name
wDetectorType
Detector type, for details, seeDETECTOR_TYPE
byType
Alarm type of arming region: 0- instant region, 1- 24-hour sound region, 2- delay region, 3- interior region, 4- key region, 5- fire region, 6- perimeter region, 7- 24-hour silent region, 8- 24-hour auxiliary region, 9- 24-hour vibration region, 10- Emergency open door region, 11- Emergency close door region, 0xff- null
byUploadAlarmRecoveryReport
Whether to upload alarm recovery report: 0- do not upload, 1- upload
dwParam
Arming region parameter for delay region, and can be used to set the delay time for power supply monitoring system and self-service bank alarm host.
Check bySupportAlarmInDelay of capability setNET_DVR_ALARMHOST_ABILITYto determine whether to use this parameter or wEnterDelay and wExitDelay of NET_DVR_ALARMSUBSYSTEMPARAMto set delay time.
struAlarmTime
Time period of arming
byAssociateAlarmOut
Linked alarm output
byAssociateSirenOut
Linked siren output, subscript 0 means siren NO.1, the value 1 means output, 0 means no output
bySensitivityParam
Arming region sensitivity: 0- 10ms, 1- 250ms, 2- 500ms, 3- 750ms
byArrayBypass
Whether to join the bypass group: 0- no, 1- yes
byJointSubSystem
Sub system No., this parameter can only be obtained
byModuleStatus
External arming region status: 1- online, 2- offline, this parameter can only be obtained
wModuleAddress
Module address, extension module from 1 to 253, 0xFFFF means null, this parameter can only be obtained
byModuleChan
Module channel No., starting from 1, and the upper limit is determined by the module type, 0xFF means null, this parameter can only be obtained
byModuleType
Module type: 1- local region, 2- single region, 3- dual region, 4- 8-region, 5- 8-ch analog region, 6- single region trigger, 7- 1-door distributed access controller, 8- 2-door distributed access controller, 9- 4-door distributed access controller
wZoneIndex
Region No., this parameter can only be obtained
wInDelay
Enter delay, range from 0 to 255 seconds
wOutDelay
Quit delay, range from 0 to 255 seconds
byAlarmType
Alarm type: 0- null, 1- normally open, 2- normally closed
byZoneResistor
Arming region resistance, unit: kΩ, value: 0- null, 1- 2.2, 2- 3.3, 3- 4.7, 4- 5.6, 5- 8.2, 0xff- custom
fZoneResistorManual
Arming region manual resistance, value: 1.0 to 10.0, accurate to one decimal place, unit: kΩ, valid when byZoneResistor is 0xff
byRes2
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMIN_PARAM_LIST

Arming region parameter list information structure

struct{
  DWORD                           dwSize;
  NET_DVR_SINGLE_ALARMIN_PARAM    struSingleAlarmInParam[MAX_MAX_ALARMIN_NUM];
  BYTE                            byRes[128];
}NET_DVR_ALARMIN_PARAM_LIST,*LPNET_DVR_ALARMIN_PARAM_LIST;

Members

dwSize
Structure size
struSingleAlarmInParam
Single arming region parameter, each number array means a region
byRes
Reserved, set as 0

See Also

NET_DVR_GetSTDConfig


NET_DVR_ALARMIN_PARAM_V50

Arming region parameter structure

struct{
  DWORD                dwSize;
  BYTE                 byName[NAME_LEN];
  WORD                 wDetectorType;
  BYTE                 byType;
  BYTE                 byUploadAlarmRecoveryReport;
  DWORD                dwParam;
  NET_DVR_SCHEDTIME    struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
  BYTE                 byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE                 byAssociateSirenOut[8];
  BYTE                 bySensitivityParam;
  BYTE                 byArrayBypass;
  BYTE                 byJointSubSystem;
  BYTE                 byModuleStatus;
  WORD                 wModuleAddress;
  BYTE                 byModuleChan;
  BYTE                 byModuleType;
  WORD                 wZoneIndex;
  WORD                 wInDelay;
  WORD                 wOutDelay;
  BYTE                 byAlarmType;
  BYTE                 byZoneResistor;
  float                fZoneResistorManual;
  BYTE                 byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN_V50];
  BYTE                 byZoneSignalType;
  BYTE                 byDisableDetectorTypeCfg;
  BYTE                 byRes2[2];
  BYTE                 byAssociateLampOut[8];
  BYTE                 byVoiceFileName[32];
  BYTE                 byRes3[512];
}NET_DVR_ALARMIN_PARAM_V50, *LPNET_DVR_ALARMIN_PARAM_V50;

Members

dwSize
Structure size
byName
Arming region name
wDetectorType
Arming region detector type, for details see DETECTOR_TYPE
byType
Alarm type of arming region: 0- instant region, 1- 24-hour sound region, 2- delay region, 3- interior region, 4- key region, 5- fire region, 6- perimeter region, 7- 24-hour silent region, 8- 24-hour auxiliary region, 9- 24-hour vibration region, 10- Emergency open door region, 11- Emergency close door region, 0xff- null
byUploadAlarmRecoveryReport
Whether to upload arming region alarm recovery report: 0- no, 1- yes
dwParam
Arming region parameter, the delay time of delay region. Set the delay time parameter of power monitoring system and self-service bank alarm host through this parameter.
Whether the parameter is set through this interface or wExitDelay and wEnterDelay of NET_DVR_ALARMSUBSYSTEMPARAM, can be determined through bySupportAlarmInDelay of NET_DVR_ALARMHOST_ABILITY.
struAlarmTime
Time period of arming
byAssociateAlarmOut
Linked alarm output
byAssociateSirenOut
Linked siren output, subscript 0 means siren NO.1, the value 1 means output, 0 means no output
bySensitivityParam
Arming region sensitivity: 0- 10ms, 1- 250ms, 2- 500ms, 3- 750ms
byArrayBypass
Whether to join the bypass group: 0- no, 1- yes
byJointSubSystem
Sub system No., this parameter can only be obtained
byModuleStatus
External arming region status: 1- online, 2- offline, this parameter can only be obtained
wModuleAddress
Module address, extension module from 1 to 253, 0xFFFF means null, this parameter can only be obtained
byModuleChan
Module channel No., starting from 1, and the upper limit is determined by the module type, 0xFF means null, this parameter can only be obtained
byModuleType
Module type: 1- local region, 2- single region, 3- dual region, 4- 8-region, 5- 8-ch analog region, 6- single region trigger, 7- 1-door distributed access controller, 8- 2-door distributed access controller, 9- 4-door distributed access controller
wZoneIndex
Region No., this parameter can only be obtained
wInDelay
Enter delay, range from 0 to 255 seconds
wOutDelay
Quit delay, range from 0 to 255 seconds
byAlarmType
Alarm type: 0- null, 1- normally open, 2- normally closed
byZoneResistor
Arming region resistance, unit: kΩ, value: 0- null, 1- 2.2, 2- 3.3, 3- 4.7, 4- 5.6, 5- 8.2, 0xff- custom
fZoneResistorManual
Arming region manual resistance, value: 1.0 to 10.0, accurate to one decimal place, unit: kΩ, valid when byZoneResistor is 0xff
byDetectorSerialNo
Detector serial No. (read-only)
byZoneSignalType
Arming region signal transmission type (read-only), 0- wired, 1- wireless
byDisableDetectorTypeCfg
Whether detector type can be configured: 0- yes, 1- no
byRes2
Reserved
byAssociateLampOut
Siren output, number array subscript 0 means siren 1, and so forth. 1- output, 0- no output.
byVoiceFileName
Voice file name
byRes3
Reserved

Remarks

  • If the wExpandAlarmInNum of capability set NET_DVR_ALARMHOST_ABILITY is over 0, it means supporting arming region numbering function, and the parameter byJointSubSystem, byModuleStatus, wModuleAddress, byModuleChan, byModuleType and wZoomZoneIndex of the structure are valid, supporting "getting sub-system internal arming region", "auto search external module" and "auto register external module" function.
  • Arming region parameters cannot be edited in the following circumstances: 1. The region in arming status. 2. Arming region's sub-system is in arming status. 3. The host is in programming mode. 4. The host is in pacing mode.
  • For DS-19AXX, DS-19SXX series hosts, when editing region type, if the region is in bypass status, the bypass will be auto recovered. For other devices, arming region parameters cannot be edited in bypass status, and error 29 will be returned upon editing (device operation failed).
  • If the region type is 24-hour, then byArrayBypass cannot be set as 1 (supporting group bypass).

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

    NET_DVR_GetNextRemoteConfig


NET_DVR_ALARMIN_SETUP

Structure of alarm input port parameter.

struct{
  BYTE           byAssiciateAlarmIn[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE           byRes[100];
}NET_DVR_ALARMIN_SETUP, *LPNET_DVR_ALARMIN_SETUP;

Members

byAssiciateAlarmIn
Alarm input channel, subscript 0 corresponds to channel NO.1
byRes
Reserved

See Also

NET_DVR_AlarmHostSetupAlarmChan
NET_DVR_AlarmHostCloseAlarmChan
NET_DVR_BypassAlarmChan
NET_DVR_UnBypassAlarmChan


NET_DVR_ALARMIN_TRIGGER_COND

Arming region alarm linkage configuration condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwAlarmInNo;
  BYTE     byRes[256];
}NET_DVR_ALARMIN_TRIGGER_COND,*LPNET_DVR_ALARMIN_TRIGGER_COND;

Members

dwSize
Structure size
dwChannel
Channel No., from 1
dwRegion
Arming region No., from 0
byRes
Reserved, set as 0

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_ALARMINCFG

Parameter structure of alarm-in.

struct{
  DWORD                         dwSize;
  BYTE                          sAlarmInName[NAME_LEN];
  BYTE                          byAlarmType;
  BYTE                          byAlarmInHandle;
  NET_DVR_HANDLEEXCEPTION       struAlarmHandleType;
  NET_DVR_SCHEDTIME             struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
  BYTE                          byRelRecordChan[MAX_CHANNUM];
  BYTE                          byEnablePreset[MAX_CHANNUM];
  BYTE                          byPresetNo[MAX_CHANNUM];
  BYTE                          byEnableCruise[MAX_CHANNUM];
  BYTE                          byCruiseNo[MAX_CHANNUM];
  BYTE                          byEnablePtzTrack[MAX_CHANNUM];
  BYTE                          byPTZTrack[MAX_CHANNUM];
}NET_DVR_ALARMINCFG,*LPNET_DVR_ALARMINCFG;

Members

dwSize
structure size
sAlarmInName
Name
byAlarmType
Alarmer type, 0:always open, 1:always close
byAlarmInHandle
To handle or not: 0- no, 1- yes
struAlarmHandleType
Handle type
struAlarmTime
Time parameter of fortification
byRelRecordChan
Recording channel triggered by alarm: if the value is 1, triggers the channel
byEnablePreset
Whether to call preset or not: 0- no, 1-yes
byPresetNo
The number of the preset which is called , one alarm-in can call presets of multiple channels
byEnableCruise
Whether to call cruise or not: 0- no, 1-yes
byCruiseNo
Cruise path
byEnablePtzTrack
Whether to call PTZ track or not: 0- no, 1-yes
byPTZTrack
The track number which is called

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_HANDLEEXCEPTION NET_DVR_SCHEDTIME


NET_DVR_ALARMINCFG_V30

Parameter structure of alarm-in.

struct{
  DWORD                            dwSize;
  BYTE                             sAlarmInName[NAME_LEN];
  BYTE                             byAlarmType;
  BYTE                             byAlarmInHandle;
  BYTE                             byChannel;
  BYTE                             byInputType;
  NET_DVR_HANDLEEXCEPTION_V30      struAlarmHandleType;
  NET_DVR_SCHEDTIME                struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                             byRelRecordChan[MAX_CHANNUM_V30];
  BYTE                             byEnablePreset[MAX_CHANNUM_V30];
  BYTE                             byPresetNo[MAX_CHANNUM];
  BYTE                             byRes2[192];
  BYTE                             byEnableCruise[MAX_CHANNUM];
  BYTE                             byCruiseNo[MAX_CHANNUM];
  BYTE                             byEnablePtzTrack[MAX_CHANNUM];
  BYTE                             byPTZTrack[MAX_CHANNUM];
  BYTE                             byRes3[16];
}NET_DVR_ALARMINCFG_V30,*LPNET_DVR_ALARMINCFG_V30;

Members

dwSize
Structure size
sAlarmInName
Alarm input name
byAlarmType
Alarmer type, 0:normal-open, 1:normal-close
byAlarmInHandle
Whether to handle or not: 0- no, 1- yes
byChannel
The intelligent recognition channel triggered by the alarm input
byInputType
Input type: 0- relay (corresponding to sensor alarm type), 1- pulse mode (corresponding to pulse alarm mode)
struAlarmHandleType
Handling type
struAlarmTime
Arming time period
byRelRecordChan
The channel to record triggered by the alarm, if the value is 1, it will trigger the channel to record. E.g. byRelRecordChan[0]==1, means to trigger the channel no.1, byRelRecordChan[1]==1, means to trigger the channel no.2.
byEnablePreset
Whether to trigger the channel to call preset or not: 0- no, 1-yes. The array subscript means the channel number, e.g. byPresetNo[0]==1, it means to trigger the no.1 channel to call the preset.
byPresetNo
The preset number to be called by the channel. One alarm input can trigger multi channels to call preset, and one channel supports to call one preset only.
byRes2
Reserved, please set it to be 0
byEnableCruise
Whether to trigger the channel to call the patrol or not: 0- no, 1-yes. The array subscript means the channel number, e.g. byEnableCruise[0]==1, it means to trigger the no.1 channel to call the patrol.
byCruiseNo
The patrol number to be called by the channel. One alarm input can trigger multi channels to call patrol, and one channel supports to call one patrol only.
byEnablePtzTrack
Whether to trigger the channel to call the pattern or not: 0- no, 1-yes. The array subscript means the channel number, e.g. byEnablePtzTrack[0]==1, it means to trigger the no.1 channel to call the pattern.
byPTZTrack
The pattern number to be called by the channel. One alarm input can trigger multi channels to call pattern, and one channel supports to call one pattern only.
byRes3
Reserved, please set it to be 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMINCFG_V40

Alarm input parameters (expended) structure

struct{
  DWORD                        dwSize;
  BYTE                         sAlarmInName[NAME_LEN];
  BYTE                         byAlarmType;
  BYTE                         byAlarmInHandle;
  BYTE                         byChannel;
  BYTE                         byInputType;
  DWORD                        dwHandleType;
  DWORD                        dwMaxRelAlarmOutChanNum;
  DWORD                        dwRelAlarmOutChanNum;
  DWORD                        dwRelAlarmOut[MAX_ALARMOUT_V40];
  NET_DVR_SCHEDTIME            struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  DWORD                        dwMaxRecordChanNum;
  DWORD                        dwCurRecordChanNum;
  DWORD                        dwRelRecordChan[MAX_CHANNUM_V40];
  DWORD                        dwMaxEnablePtzCtrlNun;
  DWORD                        dwEnablePresetChanNum;
  NET_DVR_PRESETCHAN_INFO      struPresetChanInfo[MAX_CHANNUM_V40];
  BYTE                         byRes2[516];
  DWORD                        dwEnableCruiseChanNum;
  NET_DVR_CRUISECHAN_INFO      struCruiseChanInfo[MAX_CHANNUM_V40];
  DWORD                        dwEnablePtzTrackChanNum;
  NET_DVR_PTZTRACKCHAN_INFO    struPtzTrackInfo[MAX_CHANNUM_V40];
  BYTE                         byRes[256];
}NET_DVR_ALARMINCFG_V40,*LPNET_DVR_ALARMINCFG_V40;

Members

dwSize
Structure size
sAlarmInName
Alarm input name
byAlarmType
Alarm device type, 0-NO, 2- NC
byAlarmInHandle
Handle the alarm? 0- No, 1- Yes
byChannel
Alarm input triggered smart recognition channel
byInputType
Input type: 0- relay (corresponding to sensor alarm type), 1- pulse mode (corresponding to pulse alarm mode)
dwHandleType
Exception handling
0x00: no response
0x01: Monitor warning
0x02: audible warning
0x04: notify the surveillence center
0x08: trigger alarm output
0x10: send Jpeg snapshot by E-mail
0x20: interact with wireless sound and light alarm
0x40: e-map linkage (supported by PCNVR only)
0x200：capture image and upload to FTP
E.g. dwHandleType==0x01|0x04, it means set to alarm on monitor and upload the alarm to center
dwMaxRelAlarmOutChanNum
The maximum channel output of devices triggered by alarm (read only)
dwRelAlarmOut
The front value of dwRelAlarmOutChanNum stands for the output channel triggered by alarm, the initial value is 0xfffffffff(not associated to channel). for example, you can configure the output channel dwRelAlarmOut[0]~dwRelAlarmOut[4] triggered by alarm, when dwRelAlarmOutChanNum=5
struAlarmTime
Arming time, 7days/w,8 time segments/day.
dwMaxRecordChanNum
Max. number of device related recording channel
dwRelRecordChan
Actually triggered recording channel
dwEnablePresetChanNum
The used preset number
struPresetChanInfo
Channel that enable preset function,when dwEnablePresetChanNum is not 0, struPresetChanInfo[0]~struPresetChanInfo[dwEnablePresetChanNum-1] is valid, 0 indicates that the preset is not used.
byRes2
Reserved, set as 0.
dwEnableCruiseChanNum
Currently enabled patrol number
struCruiseChanInfo
Channel that enable patrol function:when dwEnableCruiseChanNum is not 0, struCruiseChanInfo[0]~struCruiseChanInfo[dwEnableCruiseChanNum-1] is vaiild,Channel that enable patrol function
dwEnablePtzTrackChanNum
Currently enabled pattern number
struPtzTrackInfo
Channel that enable pattern function: when dwEnablePtzTrackChanNum is not 0, struPtzTrackInfo[0]~struPtzTrackInfo[dwEnablePresetChanNum-1] is valid, Channel that enable pattern function
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

This structure expanded from

NET_DVR_ALARMINCFG_V30


NET_DVR_ALARMINFO

Structure of uploaded alarm information.

struct{
  DWORD     dwAlarmType;
  DWORD     dwAlarmInputNumber;
  DWORD     dwAlarmOutputNumber[MAX_ALARMOUT];
  DWORD     dwAlarmRelateChannel[MAX_CHANNUM];
  DWORD     dwChannel[MAX_CHANNUM];
  DWORD     dwDiskNumber[MAX_DISKNUM];
}NET_DVR_ALARMINFO,*LPNET_DVR_ALARMINFO;

Members

dwAlarmType
Alarm type: 0- semaphore alarm, 1- hard disk full, 2- video lost, 3- motion detection, 4- hard disk unformatted, 5- hard disk error, 6- tampering detection, 7- unmatched video format(PAL or NTSC), 8- illegal access
dwAlarmInputNumber
Alarm input port. If the alarm type is 9, it means serial port status: 0-normal,0xffffffff-exception
dwAlarmOutputNumber
The triggered alarm output port. E.g. dwAlarmOutputNumber[0]==1 means the no.1 output port is triggered; dwAlarmOutputNumber[1]==1 means the no.2 output port is triggered.
dwAlarmRelateChannel
Recording channel triggered by alarm: 0- not triggered, 1- triggered. E.g. dwAlarmRelateChannel[0]==1 means the no.1 channel is triggered to record; dwAlarmRelateChannel[1]==1 means the no.2 channel is triggered to record.
dwChannel
Alarming channel, it is valid when alarm type is 2, 3 or 6. E.g. dwChannel[0]==1 means the no.1 channel alarms; dwChannel[1]==1 means the no.2 channel alarms
dwDiskNumber
Alarming hard disk, it is valid when alarm type is 1, 4, or 5. E.g. dwDiskNumber [0]==1 means the no.1 hard disk is abnormal; dwDiskNumber [1]==1 means the no.2 hard disk is abnormal.


NET_DVR_ALARMINFO_DEV

Structure of device alarm message

struct{
  DWORD            dwAlarmType;
  NET_DVR_TIME     struTime;
  BYTE             byRes[32];
  DWORD            dwNumber;
  WORD             *pNO;
}NET_DVR_ALARMINFO_DEV, *LPNET_DVR_ALARMINFO_DEV;

Members

dwAlarmType
Alarm type: 0- semaphore alarm of encoder or encoding channel, 1- the second private volume damaged, 2- NVR server exit, 3- the encoder status is abnormal, 4- system clock abnormal, 5- the remaining capacity of the recording volume is too low, 6- motion detection alarm of encoder or encoding channel, 7- tampering alarm of encoder or encoding channel
struTime
Alarm time
byRes
Reserved, please set to 0
dwNumber
The count of the channels that occur the alarm
pNO
The size of pNO is dwNumber*WORD, every WORD represents a channel or disk number

Remarks

FOr pNO: if dwAlarmType is 0, 3, 6, or 7, there may be channel number; if dwAlarmType is 5, there may be disk number. The value range: 0~65535.

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_ALARMINFO_DEV_V40

The structure of CVR device alarm information

struct{
  DWORD                          dwAlarmType;
  NET_DVR_TIME                   struTime;
  NET_ALARM_CVR_SUBINFO_UNION    uSubAlarmInfo;
  BYTE                           byRes[256];
  DWORD                          dwNumber;
  WORD                           *pNO;
}NET_DVR_ALARMINFO_DEV_V40, *LPNET_DVR_ALARMINFO_DEV_V40;

Members

dwAlarmType
Alarm type: 0- semaphore alarm of encoder or encoding channel, 1- the second private volume damaged, 2- NVR server exit, 3- the encoder status is abnormal, 4- system clock abnormal, 5- the remaining capacity of the recording volume is too low, 6- motion detection alarm of encoder or encoding channel, 7- tampering alarm of encoder or encoding channel 8- video loss alarm, 9- video real-time monitoring alarm, 10- source usage rate alarm, 11- CVR auto recovery exception, 12-recording exception
struTime
Alarm time
uSubAlarmInfo
Sub structure of the alarm information, and this union is valid when the alarm type is 8/9/10/12.
byRes
Reserved, set as 0.
dwNumber
The count of the channels that occur the alarm
pNO
dwNumber*WORD， each WORD represents a channel No. or a HDD No.
FOr pNO: if dwAlarmType is 0, 3, 6, or 7, there may be channel number; if dwAlarmType is 5, there may be disk number. The value range: 0~65535.

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_ALARMINFO_V30

Structure of uploaded alarm information.

struct{
  DWORD     dwAlarmType;
  DWORD     dwAlarmInputNumber;
  BYTE      byAlarmOutputNumber[MAX_ALARMOUT_V30];
  BYTE      byAlarmRelateChannel[MAX_CHANNUM_V30];
  BYTE      byChannel[MAX_CHANNUM_V30];
  BYTE      byDiskNumber[MAX_DISKNUM_V30];
}NET_DVR_ALARMINFO_V30,*LPNET_DVR_ALARMINFO_V30;

Members

dwAlarmType
Alarm type: 0- semaphore alarm, 1- hard disk full, 2- video lost, 3- motion detection, 4- hard disk unformatted, 5- hard disk error, 6- tampering detection, 7- unmatched video format (PAL or NTSC), 8- illegal access, 9- video signal is abnormal; 10-recording/capture is abnormal, 11- intelligent scene changed, 12- RAID is abnormal, 13- recording resolution does not match with which of front-end camera, 15- VCA, 16- POE power supply exception, 17- flashlight exception, 18- HDD full load exception alarm, 19- audio loss, 23- pulse alarm
dwAlarmInputNumber
Alarm input port, valid when alarm type is 0 or 23
byAlarmOutputNumber
The triggered alarm output port. E.g. dwAlarmOutputNumber[0]==1 means the no.1 output port is triggered; dwAlarmOutputNumber[1]==1 means the no.2 output port is triggered.
byAlarmRelateChannel
Recording channel triggered by alarm: 0- not triggered, 1- triggered. E.g. dwAlarmRelateChannel[0]==1 means the no.1 channel is triggered to record; dwAlarmRelateChannel[1]==1 means the no.2 channel is triggered to record.
byChannel
Alarming channel, it is valid when alarm type is 2, 3, 6, 9, 10 or 11. E.g. dwChannel[0]==1 means the no.1 channel alarms; dwChannel[1]==1 means the no.2 channel alarms
byDiskNumber
Alarming hard disk, it is valid when alarm type is 1, 4, or 5. E.g. dwDiskNumber [0]==1 means the no.1 hard disk is abnormal; dwDiskNumber [1]==1 means the no.2 hard disk is abnormal

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_ALARMINFO_V40

Uploaded alarm information structure

struct{
  NET_DVR_ALRAM_FIXED_HEADER    struAlarmFixedHeader;
  DWORD                         *pAlarmData;
}NET_DVR_ALARMINFO_V40, *LPNET_DVR_ALARMINFO_V40;

Members

struAlarmFixedHeader
Unchangeable alarm data
pAlarmData
Changeable alarm data

Remarks

struAlarmFixedHeader中dwAlarmType Value | Description | pAlarmData Corresponded Content
0, 23 | Sensor alarm, pulse alarm | dwTrigerAlarmOutNum*(DWORD) Alarm output No., +dwTrigerRecordChanNum*(DWORD) Channel No.
2, 3, 6, 9, 10, 11, 13, 15, 16 | Signal loss, motion detection, tampering alarm, viudeo signal exception, recording exception, scene change, Resolution unmatched, VCA detection, POE power supply exception | dwAlarmChanNum*(DWORD) channel No.
1, 4, 5 | HDD full, HDD uninitialized, Writing HDD error | dwAlarmHardDiskNum*(DWORD) HDD No.

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_ALARMOUT_PARAM

Structure of trigger parameter

struct{
  DWORD    dwSize;
  BYTE     byName[NAME_LEN];
  WORD     wDelay;
  WORD     wTriggerIndex;
  BYTE     byAssociateAlarmIn[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byModuleType;
  BYTE     byModuleStatus;
  WORD     wModuleAddress;
  BYTE     byModuleChan;
  BYTE     byWorkMode;
  BYTE     byAlarmOutMode;
  BYTE     byTimeOn;
  BYTE     byTimeOff;
  BYTE     byRes2[51];
}NET_DVR_ALARMOUT_PARAM, *LPNET_DVR_ALARMOUT_PARAM;

Members

dwSize
Structure size
byName
Trigger name
wDelay
Output delay, unit: s, value range:
Network alarm host, trunk network alarm host, video alarm host: 0 to 5999, 0 means output when alarm is triggered and closed if not
Power supply monitoring alarm host: 0 to 65535, 0 means normally output
Self-service bank alarm host:0 to 5999, 0 means normally output
wTriggerIndex
Trigger No.
byAssociateAlarmIn
Trigger associated arming region channel (multi-arming regions trigger one siren), byAssociateAlarmIn[0] means arming region 1, byAssociateAlarmIn[1] means arming region 2, and so forth, value: 0- do not associate, 1- associate
byModuleType
External trigger module type: 1- local trigger, 2- 4-ch trigger, 3- 8-ch trigger, 4- single region trigger, 5- 32-ch trigger, 6- 1-door distributed access controller, 7- 2-door distributed access controller, 8- 4-door distributed access controller
byModuleStatus
External trigger module status: 1- online, 2- offline
wModuleAddress
External trigger module address, extension module from 1 to 253, 0xFFFF means invalid
byModuleChan
External trigger module channel No., starting from 1, max. value vary with module type, 0xFF means invalid
byWorkMode
Operating: 1- link, 2- associate
byAlarmOutMode
Output mode: 1- non-pulse mode, 2- pulse mode
byTimeOn
On time, value range: 1 to 60, unit:s
byTimeOff
Off time, value range: 1 to 60, unit:s
byRes2
Reserved

Remarks

  • wTriggerIndex, byModuleType, byModuleStatus, wModuleAddress and byModuleChan of local trigger can only be obtained but cannot be modified.
  • If wExpandAlarmOutNum of capability set NET_DVR_ALARMHOST_ABILITY is bigger than 0, it means trigger numbering function is supported, and wTriggerIndex, byModuleType, byModuleStatus, wModuleAddress and byModuleChan of the structure are valid, supporting "get all trigger", "auto search external module" and "auto register external module" funciton.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

    NET_DVR_GetNextRemoteConfig


NET_DVR_ALARMOUTCFG

Parameter structure of alarm-out.

struct{
  DWORD                   dwSize;
  BYTE                    sAlarmOutName[NAME_LEN];
  DWORD                   dwAlarmOutDelay;
  NET_DVR_SCHEDTIME       struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT];
}NET_DVR_ALARMOUTCFG,*LPNET_DVR_ALARMOUTCFG;

Members

dwSize
Structure size
sAlarmOutName
Name
dwAlarmOutDelay
Delay of alarm out: 0-5s,1-10s,2-30s,3-1minutes,4-2minutes,5-5minutes,6-10minutes,7-manual
struAlarmOutTime
Active time of alarm out

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_SCHEDTIME


NET_DVR_ALARMOUTCFG_V30

Parameter structure of alarm-out.

struct{
  DWORD                   dwSize;
  BYTE                    sAlarmOutName[NAME_LEN];
  DWORD                   dwAlarmOutDelay;
  NET_DVR_SCHEDTIME       struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                    byRes[16];
}NET_DVR_ALARMOUTCFG_V30,*LPNET_DVR_ALARMOUTCFG_V30;

Members

dwSize
Structure size
sAlarmOutName
Name
dwAlarmOutDelay
Delay of alarm out: 0-5s,1-10s,2-30s,3-1minutes,4-2minutes,5-5minutes,6-10minutes,7-manual
struAlarmOutTime
Active time of alarm out
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALARMOUTSTATUS

Structure of alarm-out status.

struct{
  BYTE      Output[MAX_ALARMOUT];
}NET_DVR_ALARMOUTSTATUS,*LPNET_DVR_ALARMOUTSTATUS;

Members

Output
Alarm-out status: 0-invalid, 1-valid

See Also

NET_DVR_GetAlarmOut


NET_DVR_ALARMOUTSTATUS_V30

Structure of alarm output state.

struct{
  BYTE      Output[MAX_ALARMOUT_V30];
}NET_DVR_ALARMOUTSTATUS_V30,*LPNET_DVR_ALARMOUTSTATUS_V30;

Members

Output
Alarm output state: 0- invalid, 1- valid

See Also

NET_DVR_GetAlarmOut_V30


NET_DVR_ALARMSETUPREQUESTPARAM

Structure of alarm request parameter.

struct{
  NET_DVR_IPADDR  struCuIp;
  WORD            wPort;
  BYTE            byRes[2];
}NET_DVR_ALARMSETUPREQUESTPARAM,*LPNET_DVR_ALARMSETUPREQUESTPARAM;

Members

struCuIp
IP address of CU
wPort
Port of CU
byRes
Reserved, please set to 0

See Also

NET_DVR_IPADDR
NET_DVR_AlarmSetupRequest


NET_DVR_ALARMSTRATEGY_PARAM

Alarm strategy parameter structure

struct{
  BYTE     byStrategyType;
  BYTE     byRes[15];
}NET_DVR_ALARMSTRATEGY_PARAM, *LPNET_DVR_ALARMSTRATEGY_PARAM;

Members

byStrategyType
Strategy type: 0- fire or smoke, 1- fire and smoke, 2- double confirm, 3- specified fire source, 4- specified smoke
byRes
Reserved

Remarks

  • Whether device supports fire detection configuration capability or the supported parameter capability, can be determined through device capability set (FireDetection), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_FIREDETECTION_CAPABILITIES.

See Also

NET_DVR_FIREDETECTION_CFG


NET_DVR_ALARMSUBSYSTEMPARAM

Structure of subsystem

struct{
  DWORD                       dwSize;
  WORD                        wEnterDelay;
  WORD                        wExitDealy;
  BYTE                        byHostageReport;
  BYTE                        bySubsystemEnable;
  BYTE                        byKeyToneOfArmOrDisarm;
  BYTE                        byKeyToneOfManualTestReport;
  WORD                        wDelayTime;
  BYTE                        byRes1;
  BYTE                        byPublicAttributeEnable;
  NET_DVR_JOINT_SUB_SYSTEM    struJointSubSystem;
  BYTE                        byKeyZoneArm;
  BYTE                        byKeyZoneArmReport;
  BYTE                        byKeyZoneDisarm;
  BYTE                        byKeyZoneDisarmReport;
  BYTE                        bySubSystemID[MAX_SUBSYSTEM_ID_LEN];
  BYTE                        byKeyZoneArmReportEnable;
  BYTE                        byKeyZoneArmEnable;
  BYTE                        byOneKeySetupAlarmEnable;
  BYTE                        bySingleZoneSetupAlarmEnable;
  BYTE                        byCenterType;
  BYTE                        sCenterAccount[ACCOUNTNUM_LEN];
  BYTE                        sCenterAccountV40[ACCOUNTNUM_LEN_32];
  BYTE                        byRes2[565];
}NET_DVR_ALARMSUBSYSTEMPARAM, *LPNET_DVR_ALARMSUBSYSTEMPARAM;

Members

dwSize
Structure size
wEnterDelay
Entrance delay, unit: second, value range: 10 to 150. For the delay of power supply monitoring system and self-service bank alarm host, it is set by the parameter dwParam in NET_DVR_ALARMIN_PARAM. For which method to use, determine through bySupportAlarmInDelay of capability set NET_DVR_ALARMHOST_ABILITY
wExitDealy
Exit delay, unit: second, value range: 10 to 300
byHostageReport
Whether to enable duress report: 0- no, 1- yes
bySubsystemEnable
Whether to enable sub-system: 0- no, 1- yes
byKeyToneOfArmOrDisarm
Whether to enable keyboard audible prompt when disarming report is successfully sent: 0- no, 1- yes
byKeyToneOfManualTestReport
Whether to enable keyboard audible prompt when test report is successfully sent: 0- no, 1- yes
wDelayTime
Siren output delay, unit: s. when the bit0=1 in dwSupport1, use the parameter to set siren output time; if bit0=0, use wDelay in NET_DVR_SIREN_PARAM instead.
The value ranges are listed below:
Network security control panel: 1 to 65535
Bus-type network security control panel: 1 to 5999
Video security control panel: 1 to 65535
Power supply monitoring security control panel: 0 to 65535, 0 means always output
Safety cabin controller: 1 to 65535
Self-service bank security control panel: 0 to 5999, 0 means always output
byRes1
Reserved
byPublicAttributeEnable
Whether public sub-system: 0- no, 1- yes
struJointSubSystem
Linked sub-system information. Public system cannot link itself, the max. number of links can be obtained from capability set.
byKeyZoneArm
Whether to support key region enables arming for sub-system: 0- no, 1- yes
byKeyZoneArmReport
Whether to support sending report when key region enables arming for sub-system: 0- no, 1- yes
byKeyZoneDisarm
Whether to support key region disables arming for sub-system: 0- no, 1- yes
byKeyZoneDisarmReport
Whether to support sending report when key region disables arming for sub-system: 0- no, 1- yes
bySubSystemID
Sub-system ID
byKeyZoneArmReportEnable
Whether to enable key region uploading arming report: 0- no, 1- yes
byKeyZoneArmEnable
Whether to enable key region: 0- no, 1- yes
byOneKeySetupAlarmEnable
Whether to enable one-key arming: 0- no, 1- yes
bySingleZoneSetupAlarmEnable
Whether to enable single region arming/disarming: 0- no, 1- yes
byCenterType
0- invalid, 1- center account (length 6), 2- extended center account (length 32)
sCenterAccount
Center account
sCenterAccountV40
Extended center account, sCenterAccount is invalid when using this parameter
byRes2
Reserved

Remarks

  • Whether to support public sub-system function, can be determined through byPublicSubSystemNum of capability set NET_DVR_ALARMHOST_ABILITY: above 0 means support, byPublicAttributeEnable, struJointSubSystem are valid; 0 means the 2 parameters are invalid.
  • Whether to support "keyboard sends prompt when report is sent" configuration, determined through bit10 of dwSupport1 in capability set NET_DVR_ALARMHOST_ABILITY: when bit10==1, byKeyToneOfArmOrDisarm, byKeyToneOfManualTestReport are valid; when bit10==0, the parameters are invalid.
  • Whether to support "key region" operation on sub-system, determined through bit9 of dwSupport1 in NET_DVR_ALARMHOST_ABILITY: when bit9==1, byKeyZoomZoneArm, byKeyZoomZoneArmReport, byKeyZoomZoneDisarm, byKeyZoomZoneDisarmReport are valid; when bit9==0, the parameters are invalid.
  • "Duress report", for example: when robbery happens in the bank, the suspect will order the teller to shut down the surveillance system, and then the teller can enter the "duress code" which will shut down the surveillance system normally while sending a duress report to the alarm center.
  • For DS-19AXX, DS-19SXX series, the sub-system cannot be configured in following circumstances: region is in armed, the sub-system of the region is armed, the host is in programming mode, the host is in pacing mode.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ALLSUBSYSTEMINFO

Parameter structure of all sub-system of the video integrated platform.

struct{
  DWORD                       dwSize;
  NET_DVR_SUBSYSTEMINFO     struSubSystemInfo[MAX_SUBSYSTEM_NUM];
  BYTE                        byRes[8];
}NET_DVR_ALLSUBSYSTEMINFO, *LPNET_DVR_ALLSUBSYSTEMINFO;

Members

dwSize
Structure size
struSubSystemInfo
Parameter structure of sub-system
byRes
Reserved

See Also

NET_DVR_SUBSYSTEMINFO


NET_DVR_ALRAM_FIXED_HEADER

Unchangeable alarm information structure

struct{
  DWORD                       dwAlarmType;
  NET_DVR_TIME_EX             struAlarmTime;
  union{
         BYTE                 byUnionLen[128];
         struct{
           DWORD              dwAlarmInputNo;
           DWORD              dwTrigerAlarmOutNum;
           DWORD              dwTrigerRecordChanNum;
         }struIOAlarm;
         struct{
           DWORD              dwAlarmChanNum;
         }struAlarmChannel;
         struct{
           DWORD              dwAlarmHardDiskNum;
         }struAlarmHardDisk;
         struct{
           BYTE               bySubAlarmType;
           BYTE               byRes1[3];
           NET_DVR_TIME_EX    struRecordEndTime;
           BYTE               byRes[116];
         }struRecordingHost;
  }uStruAlarm;
}NET_DVR_ALRAM_FIXED_HEADER,*LPNET_DVR_ALRAM_FIXED_HEADER;

Members

dwAlarmType
Alarm information type: 0- Semaphore alarm, 1-HDD full, 2- Signal loss, 3- Motion detection, 4- HDD uninitialized, 5- Writing HDD error, 6- Tampering alarm, 7- Format unmatched, 8-Invalid access, 9- Video signal exception, 10- Recording exception, 11- Scene change, 12- Array exception, 13- Resolution unmatched, 15-VCA detection, 16- POE power supply exception, 17- education sharing system alarm, 18- TME two-way audio request alarm, 23- pulse alarm
dwAlarmType=0, 23 corresponds to struIOAlarm, dwAlarmType = 2/3/6/9/10/11/13/15/16 corresponds to struAlarmChannel, dwAlarmType = 1/4/5 corresponds to struAlarmHardDisk, dwAlarmType = 17 corresponds to struRecordingHost, for other value, the union is invalid.
uStruAlarm is alarm information union
byUnionLen
union size, 128 bytes
struIOAlarm is the alarm input parameters
dwAlarmInputNo
Alarm input channel, one channel at a time
dwTrigerAlarmOutNum
Triggered alarm output alarm number, for calculating all triggered alarm output number from pAlarmData of NET_DVR_ALARMINFO_V40, 4 bytes indicate one alarm output.
dwTrigerRecordChanNum
Triggered recording channel number, for calculating all triggered recording channel number from pAlarmData of NET_DVR_ALARMINFO_V40, 4 bytes indicate one alarm output.
struAlarmChannel is the alarm channel parameters
dwAlarmChanNum
Alarm occurred channel number, for calculating all alarm occurred channel number from pAlarmData of NET_DVR_ALARMINFO_V40, 4 bytes indicate one alarm output.
struAlarmHardDisk s alarm HDD parameters
dwAlarmHardDiskNum
Alarm occurred HDD number, for calculating all alarm occurred HDD number from pAlarmData of NET_DVR_ALARMINFO_V40, 4 bytes indicate one alarm output.
struRecordingHost is for recoding host
bySubAlarmType
alarm sub type: 1- Post-record
byRes1
Reserved, set as 0
struRecordEndTime
Recording end time
byRes
Reserved, set as 0.

See Also

NET_DVR_ALARMINFO_V40


NET_DVR_ANALOGINPUTSTATUS

Structure of analog input status

struct{
  DWORD    dwLostFrame;
  BYTE     byHaveSignal;
  BYTE     byVideoFormat;
  BYTE     byRes[46];
}NET_DVR_ANALOGINPUTSTATUS,*LPNET_DVR_ANALOGINPUTSTATUS;

Members

dwLostFrame
The count of video input lost frames
byHaveSignal
Whether the input has video signal or not: 0- no, 1- yes
byVideoFormat
Video format: 1- NTSC, 2- PAL, 0- none
byRes
Reserved, please set to 0

See Also

NET_DVR_INPUTSTATUS_UNION


NET_DVR_ANALOGSCREEN

Structure of analog screen information

struct{
  BYTE                   byDevSerPortNum;
  BYTE                   byScreenSerialPort;
  BYTE                   byRes[130];
  NET_DVR_MATRIX_CFG     struMatrixCfg;
}NET_DVR_ANALOGSCREEN, *LPNET_DVR_ANALOGSCREEN;

Members

byDevSerPortNum
Serial port number of the device is connected
byScreenSerialPort
Serial port number of the large size display is connected
byRes
Reserved, please set to 0
struMatrixCfg
Analog matrix configuration, not supported currently, reserved

See Also

NET_DVR_SCREEN_UNION


NET_DVR_ANR_ARMING_HOST

AVR host information structure

struct{
  DWORD             dwSize;
  NET_DVR_IPADDR    struANRArmingHostIpAddr;
  WORD              wANRAlarmHostPort;
  BYTE              byANRAlarmType;
  BYTE              byConfirmMechanismEnabled;
  BYTE              byRes[512];
}NET_DVR_ANR_ARMING_HOST, *LPNET_DVR_ANR_ARMING_HOST;

Members

dwSize
Structure size
struANRArmingHostIpAddr
ANR host IP address
wANRAlarmHostPort
ANR host port No.
byANRAlarmType
ANR connection type: 0- SDK private ANR connection，1- ehome ANR connection
byConfirmMechanismEnabled
Whether to enable confirm mode arming connection: 0- reserved (not supported), 1- no, 2- enable
byRes
Reserved, set as 0.

Remarks

  • ANR here is for alarm arming, get the information of the host that arms the device and enables ANR (byBrokenNetHttp of NET_DVR_SETUPALARM_PARAM).
  • ANR data confirm mode, enabled through NET_DVR_SetupAlarmChan_V41, corresponding to the bit1 (set as 1) of bySupport of the structure NET_DVR_SETUPALARM_PARAM.

See Also

NET_DVR_GetSTDConfig


NET_DVR_ANTI_SNEAK_CFG

Anti-passback Configuration Structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwStartCardReaderNo;
  BYTE     byRes2[64];
}NET_DVR_ANTI_SNEAK_CFG,*LPNET_DVR_ANTI_SNEAK_CFG;

Members

dwSize
The size of the structure
byEnable
Enable the anti-passback card reader? 1- Yes; 0- No.
byRes1
Reserved, set as 0
dwStartCardReaderNo
Initial Anti-passback Card Reader No. 0-Do not concern the initial anti-passback card reader No.
byRes2
Reserved, set as 0

Remarks

The functions of interlocking and anti-passback cannot take effect at the same time.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AP_INFO

Sub structure of wireless network resource.

struct{
  char    sSsid[IW_ESSID_MAX_SIZE];
  DWORD   dwMode;
  DWORD   dwSecurity;
  DWORD   dwChannel;
  DWORD   dwSignalStrength;
  DWORD   dwSpeed;
}NET_DVR_AP_INFO,*LPNET_DVR_AP_INFO;

Members

sSsid
SSID
dwMode
Mode: 0-mange, 1-ad-hoc
dwSecurity
Security mode: 0- not encrypted,1- wep encrypted,2 wpa-psk,3 wpa-Enterprise
dwChannel
Channel number
dwSignalStrength
0 to 100: signal is from weak to strong.
dwSpeed
Speed, unit: 0.01mbps


NET_DVR_AP_INFO_LIST

Parameter structure of wireless network resource.

struct{
  DWORD             dwSize;
  DWORD             dwCount;
  NET_DVR_AP_INFO   struApInfo[WIFI_MAX_AP_COUNT];
}NET_DVR_AP_INFO_LIST,*LPNET_DVR_AP_INFO_LIST;

Members

dwSize
Structure size
dwCount
The number of wireless AP, not more than 20
struApInfo
Parameter structure of AP

See Also

NET_DVR_GetDVRConfig


NET_DVR_AREA_MASK_CFG

Area mosaic configuration strucutre

struct{
  DWORD           dwSize;
  BYTE            byEnable;
  BYTE            byMaskThick;
  BYTE            byRes1[2];
  NET_VCA_RECT    struRegion[MAX_MASK_AREA_NUM];
  BYTE            byRes[64];
 }NET_DVR_AREA_MASK_CFG,*LPNET_DVR_AREA_MASK_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable mosaic: 0- no, 1- yes
byMaskThick
Mosaic thickness: 0- thin, 1- medium (default), 2- thick, thin mosaic area block is 8*8, medium is 16*16, thick is 32*32
byRes1
Reserved, set as 0
struRegion
Mosaic area range, up to 8 areas are supported
byRes
Reserved, set as 0

See Also

  • Area mosaic capability, corresponding to <AreaMask> of channel input capability set (ChannelInputAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO.
  • Currently only 3 IP encoding channels of trial DVR support setting mosaic area. Each channel supports one area, and its size cannot exceed half of the max. width and height.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AREA_MONITOR_COND

Region camera query condition structure

struct{
  DWORD    dwSize;
  DWORD    dwAreaID;
  DWORD    dwMonitorID;
  BYTE     byIsNeedGroup;
  BYTE     byRes[127];
}NET_DVR_AREA_MONITOR_COND,*LPNET_DVR_AREA_MONITOR_COND;

Members

dwSize
Structure size
dwAreaID
Region ID
dwMonitorID
Current obtained camera NO., start from 1.
byIsNeedGroup
Whether to search for the related group information
byRes
Reserved, set as 0.

See Also

NET_DVR_GetSTDConfig


NET_DVR_AREA_SMARTSEARCH_COND_UNION

Smart search condition complex

union{
  BYTE                                 byLen[6144];
  BYTE                                 byMotionScope[64][96];
  NET_DVR_TRAVERSE_PLANE_SEARCHCOND    struTraversPlaneCond;
  NET_DVR_INTRUSION_SEARCHCOND         struIntrusionCond;
  NET_DVR_FACEDETECTION_SEARCHCOND     struFaceSnapCond;
}NET_DVR_AREA_SMARTSEARCH_COND_UNION,*LPNET_DVR_AREA_SMARTSEARCH_COND_UNION;

Members

byLen
Complex size, 6144 bytes
byMotionScope
Motion detection area, in 96×64 number array, only 22×18 valid in PAL and only 22×15 valid in NTSC, 1 means to set the macro block as motion detection area, 0 means not; other reserved, set as 0
struTraversPlaneCond
Line crossing detection video search condition
struIntrusionCond
Intrusion detection video search condition
struFaceSnapCond
Face detection video search condition

Remarks

For byMotionScope: the whole image area size is 704×576 in PAL, and 704×480 in NTSC, which means to divide 704×576 (or 704×480) image into 22×18 (or 22×15) macro blocks, each of which can be set as detection area. In PAL, the device image is 704*576, for 1280*720 HD device, the image should be set to 704*576 when setting motion detection area.

See Also

NET_DVR_SMART_SEARCH_PARAM_V40 NET_DVR_SMART_SEARCH_PARAM


NET_DVR_AREAINFOCFG

Structure of area parameters

struct{
  WORD         wNationalityID;
  WORD         wProvinceID;
  WORD         wCityID;
  WORD         wCountyID;
  BYTE         byRes[4];
}NET_DVR_AREAINFOCFG, *LPNET_DVR_AREAINFOCFG;

Members

wNationalityID
Nationality ID
wProvinceID
Province
wCityID
City
wCountyID
County
byRes
Reserved

See Also

NET_VCA_HUMAN_ATTRIBUTE


NET_DVR_ARRAY_INFO

Structure of single array parameter.

struct{
  WORD                wArrayID;
  BYTE                byRaidMode;
  BYTE                byStatus;
  DWORD               dwHCapacity;
  DWORD               dwLCapacity;
  DWORD               dwHFreeSpace;
  DWORD               dwLFreeSpace;
  BYTE                byArrayName[MAX_NAMELEN];
  BYTE                byPDCount;
  BYTE                bySpareCount;
  BYTE                byRes1[2];
  WORD                wPDSlots[SUPPORT_PD_NUM];
  WORD                wSparePDSlots[SUPPORT_PD_NUM];
  NET_DVR_BGA_INFO    struBgaInfo;
  BYTE                byRes2[80];
}NET_DVR_ARRAY_INFO, *LPNET_DVR_ARRAY_INFO;

Members

wArrayID
Array ID
byRaidMode
RAID type. Detailed definition listed below:
enum _RAID_MODE_{
  RAID0 = 1,
  RAID1,
  RAID10,
  RAID1E,
  RAID5,
  RAID6,
  RAID50,
  JBOD,
  RAID60
}RAID_MODE
RAID0
RAID0
RAID1
RAID1
RAID10
RAID10
RAID1E
RAID1E
RAID5
RAID5
RAID6
RAID6
RAID50
RAID50
JBOD
JBOD
RAID60
RAID60
byStatusbyStatus
Array status: 0- on-line, 1- disk lost, 2- off-line
dwHCapacity
Higher 32 bits of array capacity
dwLCapacity
Lower 32 bits of disk capacity
dwHFreeSdwHFreeSpace
Higher 32 bits of array free space
dwLFreeSpace
Lower 32 bits of array free space
byArrayName
Array name
byPDCount
The number of physical disks
bySpareCount
The number of hot spares
byRes1
Reserved
wPDSlotswPDSlots
Physical disk index
wSparePDSlots
Spare disk index
struBgaInfo
Running state of background task
byRes2
Reserved, please set to 0

See Also

NET_DVR_BGA_INFO


NET_DVR_ARRAY_LIST

Structure of array list parameter.

struct{
  DWORD                 dwSize;
  DWORD                 dwCount;
  NET_DVR_ARRAY_INFO    struArrayInfo[SUPPORT_ARRAY_NUM];
}NET_DVR_ARRAY_LIST, *LPNET_DVR_ARRAY_LIST;

Members

dwSize
Structure size
dwCount
The number of arrays
struArrayInfo
Single array information

See Also

NET_DVR_ARRAY_INFO


NET_DVR_ARRAY_SPACE_ALLOC_INFO

Structure of virtual disk allocation information.

struct{
  BYTE               byVDSlotCount;
  BYTE               byRes1[3];
  NET_DVR_VD_SLOT    struVDSlots[SUPPORT_VD_NUM];
}NET_DVR_ARRAY_SPACE_ALLOC_INFO, *LPNET_DVR_ARRAY_SPACE_ALLOC_INFO;

Members

byVDSlotCount
The virtual disk number of respective array
byRes1
Reserved
struVDSlots
Array allocation information of single virtual disk

See Also

NET_DVR_VD_SLOT


NET_DVR_ASSOCIATE_INPUT_PARAM

Information of the associated input device

struct{
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwDeviceIndex;
  WORD     wInputIndex;
  BYTE     byRes2[18];
}NET_DVR_ASSOCIATE_INPUT_PARAM,*LPNET_DVR_ASSOCIATE_INPUT_PARAM;

Members

byEnable
Enable or not: 0- no, 1- yes
byRes1
Reserved, please set to 0
dwDeviceIndex
Serial number of the distributed multi-screen controller device
wInputIndex
The input signal source
byRes2
Reserved, please set to 0

Remarks

If the device is centralized multi-screen controllerm, wInputIndex means the input device.

See Also

NET_DVR_VCS_USER_INFO


NET_DVR_ASSOCIATE_OUTPUT_PARAM

Information of associated output display

struct{
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwOutputIndex;
  BYTE     byRes2[20];
}NET_DVR_ASSOCIATE_OUTPUT_PARAM,*LPNET_DVR_ASSOCIATE_OUTPUT_PARAM;

Members

byEnable
Enable or not: 0- no, 1- yes
byRes1
Reserved, please set to 0
dwOutputIndex
Index of the output display
byRes2
Reserved, please set to 0

See Also

NET_DVR_VCS_USER_INFO


NET_DVR_ATM_FRAMEFORMAT_V30

Structure of ATM protocol configuration.

struct{
  DWORD                                  dwSize;
  BYTE                                   byEnable;
  BYTE                                   byInputMode;
  BYTE                                   byRes1[34];
  NET_DVR_IPADDR                         struAtmIp;
  WORD                                   wAtmPort;
  BYTE                                   byRes2[2];
  DWORD                                  dwAtmType;
  NET_DVR_ATM_USER_DEFINE_PROTOCOL       struAtmUserDefineProtocol;
  BYTE                                   byRes3[8];
}NET_DVR_ATM_FRAMEFORMAT_V30, *LPNET_DVR_ATM_FRAMEFORMAT_V30;

Members

dwSize
Structure size
byEnable
Whether to enable ATM function: 0- no, 1- yes
byInputMode
Input mode: 0-network listen, 1-network protocol, 2-serial listen, 3-serial protocol
byRes1
Reserved
struAtmIp
IP of the ATM, used in network listen mode.
wAtmPort
Port number, used in network protocol mode.
byRes2
Reserved
dwAtmType
ATM protocol type, get from NET_DVR_ATM_PROTOCOL
struAtmUserDefineProtocol
User-defined protocol, used when ATM protocol is user-defined
byRes3
Reserved

See Also

NET_DVR_IPADDR NET_DVR_ATM_USER_DEFINE_PROTOCOL NET_DVR_ATM_PROTOCOL


NET_DVR_ATM_PACKAGE_ACTION

Structure of ATM transaction information.

struct{
  NET_DVR_PACKAGE_LOCATION      struPackageLocation;
  NET_DVR_OSD_POSITION          struOsdPosition;
  NET_DVR_FRAMETYPECODE         struActionCode;
  NET_DVR_FRAMETYPECODE         struPreCode;
  BYTE                          byActionCodeMode;
  BYTE                          byRes[7];
}NET_DVR_ATM_PACKAGE_ACTION, *LPNET_DVR_ATM_PACKAGE_ACTION;

Members

struPackageLocation
Location information of the package
struOsdPosition
OSD overlay position
struActionCode
Action codes of trade type
struPreCode
Character before overlaying
byActionCodeMode
Action code mode of trade type: 0-ASCII, 1-HEX
byRes
Reserved

See Also

NET_DVR_PACKAGE_LOCATION NET_DVR_OSD_POSITION NET_DVR_FRAMETYPECODE


NET_DVR_ATM_PACKAGE_OTHERS

Structure of other ATM package information(include card NO., amount of transaction and serial NO. of transaction).

struct{
  NET_DVR_PACKAGE_LOCATION      struPackageLocation;
  NET_DVR_PACKAGE_LENGTH        struPackageLength;
  NET_DVR_OSD_POSITION          struOsdPosition;
  NET_DVR_FRAMETYPECODE         struPreCode;
  BYTE                          res[8];
}NET_DVR_ATM_PACKAGE_OTHERS, *LPNET_DVR_ATM_PACKAGE_OTHERS;

Members

struPackageLocation
Package location
struPackageLength
Length of the package
struOsdPosition
OSD overlay position
struPreCode
Character before overlaying
res
Reserved

See Also

NET_DVR_PACKAGE_LOCATION NET_DVR_PACKAGE_LENGTH NET_DVR_OSD_POSITION NET_DVR_FRAMETYPECODE


NET_DVR_ATM_PROTO_LIST

Structure of ATM protocol list.

struct{
  DWORD                      dwAtmProtoNum;
  NET_DVR_ATM_PROTO_TYPE     struAtmProtoType[MAX_ATM_PROTOCOL_NUM];
}NET_DVR_ATM_PROTO_LIST,*LPNET_DVR_ATM_PROTO_LIST;

Members

dwAtmProtoNum
Protocol number in protocol list
struAtmProtoType
protocol list

See Also

NET_DVR_ATM_PROTO_TYPE


NET_DVR_ATM_PROTO_TYPE

Structure of ATM protocol.

struct{
  DWORD    dwAtmType;
  char     chDesc[ATM_DESC_LEN];
}NET_DVR_ATM_PROTO_TYPE, *LPNET_DVR_ATM_PROTO_TYPE;

Members

dwAtmType
ATM protocol type, and index number, corresponding to dwAtmType of NET_DVR_ATM_FRAMEFORMAT_V30. The value is 1025 when it is user-defined
chDesc
Simple description of ATM protocol

See Also

NET_DVR_ATM_FRAMEFORMAT_V30


NET_DVR_ATM_PROTOCOL

Structure of ATM protocol.

struct{
  DWORD                    dwSize;
  NET_DVR_ATM_PROTO_LIST         struNetListenList;
  NET_DVR_ATM_PROTO_LIST         struSerialListenList;
  NET_DVR_ATM_PROTO_LIST         struNetProtoList;
  NET_DVR_ATM_PROTO_LIST         struSerialProtoList;
  NET_DVR_ATM_PROTO_TYPE         struCustomProto;
}NET_DVR_ATM_PROTOCOL, *LPNET_DVR_ATM_PROTOCOL;

Members

dwSize
Structure size
struNetListenList
Protocol description when input mode is network listen
struSerialListenList
Protocol description when input mode is serial port listen
struNetProtoList
Protocol description when input mode is network protocol
struSerialProtoList
Protocol description when input mode is serial port protocol
struCustomProto
User-defined protocol

See Also

NET_DVR_ATM_PROTO_LIST NET_DVR_ATM_PROTO_TYPE


NET_DVR_ATM_USER_DEFINE_PROTOCOL

User-defined ATM protocol.

struct{
  NET_DVR_IDENTIFICAT           struIdentification;
  NET_DVR_FILTER                struFilter;
  NET_DVR_ATM_PACKAGE_OTHERS    struCardNoPara;
  NET_DVR_ATM_PACKAGE_ACTION    struTradeActionPara[MAX_ACTION_TYPE];
  NET_DVR_ATM_PACKAGE_OTHERS    struAmountPara;
  NET_DVR_ATM_PACKAGE_OTHERS    struSerialNoPara;
  NET_DVR_OVERLAY_CHANNEL       struOverlayChan;
  NET_DVR_ATM_PACKAGE_DATE      struRes1;
  NET_DVR_ATM_PACKAGE_TIME      struRes2;
  BYTE                          byRes3[124];
}NET_DVR_ATM_USER_DEFINE_PROTOCOL, *LPNET_DVR_ATM_USER_DEFINE_PROTOCOL;

Members

struIdentification
Package flag information
struFilter
Filter setting
struCardNoPara
Setting of overlay card number
struTradeActionPara
Setting of overlay trade action,0-7 in turn: InCard, OutCard, Triggered, Query, Withdraw, Deposit, ChanPass, Transfer
struAmountPara
Setting of overlay transaction amount
struSerialNoPara
Setting of overlay trade serial number
struOverlayChan
Setting of overlay channel
struRes1
Reserved
struRes2
Reserved
byRes3
Reserved

See Also

NET_DVR_IDENTIFICAT NET_DVR_FILTER NET_DVR_ATM_PACKAGE_OTHERS
NET_DVR_ATM_PACKAGE_ACTION NET_DVR_OVERLAY_CHANNEL


NET_DVR_ATMFINDINFO

Structure of ATM file inquiry condition

struct{
  BYTE     byTransactionType;
  BYTE     byRes[3];
  DWORD    dwTransationAmount;
}NET_DVR_ATMFINDINFO, *LPNET_DVR_ATMFINDINFO;

Members

byFormatType
Trade type:0- ALL, 1- Inquiry, 2- Withdraw, 3- Deposit, 4- Password modification, 5- Transfer, 6- Inquiry with no card, 7- Deposit with no card, 8- Note swallow, 9- Card swallow, 10- customized
byRes
Reserved, set it to 0
dwTransationAmount
Tansaction amount

See Also

NET_DVR_SPECIAL_FINDINFO_UNION


NET_DVR_ATTENDED_BAGGAGE_DETECTION

Object removal detection configuration structure

struct{
  DWORD                              dwSize;
  BYTE                               byEnabled;
  BYTE                               byRes1[3];
  NET_DVR_ATTENDED_BAGGAGE_REGION    struRegion[MAX_REGION_NUM];
  BYTE                               byRes2[128];
}NET_DVR_ATTENDED_BAGGAGE_DETECTION,*LPNET_DVR_ATTENDED_BAGGAGE_DETECTION;

Members

dwSize
Structure size
byEnabled
Enable? 0- No, 1- Yes
byRes1
Reserved, set as 0.
struRegion
Object removal detection region
byRes2
Reserved, set as 0.

Remarks

  • This function corresponds to object removal detection capability(AttendedBaggageCap). API:NET_DVR_GetSTDAbility(Capability type：NET_DVR_GET_ATTENDEDBAGGAGE_CAPABILITIES).
  • If the all Region parameters(struRegion) are set as 0, it indicates that the region is deleted. If any of the Region parameters(struRegion) is not set as 0, the region parameters can not be configured. Configure the region parameters separately via NET_DVR_SET_ATTENDEDBAGGAGE_REGION.

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_ATTENDED_BAGGAGE_REGION

Object removal detection region structure

struct{
  NET_VCA_POLYGON    struRegion;
  BYTE               bySensitivity;
  BYTE               byTimeThreshold;
  WORD               wTimeThreshold;
  BYTE               byTimeThresholdMode;
  BYTE               byRes[62];
}NET_DVR_ATTENDED_BAGGAGE_REGION,*LPNET_DVR_ATTENDED_BAGGAGE_REGION;

Members

struRegion
Region coverage
bySensitivity
Sensitivity,value range[1,100]
byTimeThreshold
Time threshold,value range[0,10], unit:s
wTimeThreshold
Time threshold （valid when byTimeThresholdMode is 1)， value range:[5-3600]，Unit:s
byTimeThresholdMode
Used time threshold filed type：0- Enable byTimeThreshold，1- Enable wTimeThreshold
byRes
Reserved

Remarks

If the Region parameters is set as 0, it indicates that the region is deleted. For speed dome, when getting single region, it will be located to the scene of this region.

See Also

NET_DVR_ATTENDED_BAGGAGE_DETECTION


NET_DVR_AUDIO_ACTIVATION_CFG

Audio activation configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwChanNo;
  BYTE     bySensitivity;
  BYTE     byPriority;
  WORD     wDelayTime;
  BYTE     byRes2;
  BYTE     byEnablePreset;
  WORD     wPreset;
  WORD     wBase;
  BYTE     byRes3[2];
  BYTE     byVoChanNo[JUDGE_MAX_VIDEOOUT_NUM];
  BYTE     byRes[255];
}NET_DVR_AUDIO_ACTIVATION_CFG,*LPNET_DVR_AUDIO_ACTIVATION_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable: 0- no, 1- yes
byRes1
Reserved, set as 0
dwChanNo
Audio activation input channel No., 0xffffffff means invalid (this audio input does not generate activation)
bySensitivity
Sensitivity: 1- low, 2- medium, 3- high. Higher sensitivity means lower volume will enable the audio input activation function, and vice versa.
byPriority
Priority: 0- 0, 1- 1, and so forth, higher value for higher priority, range: 0 to 4
wDelayTime
Audio activation end picture switch delay time, unit: s, range: 1 to 30, when timed out, switching to the base point picture
byRes2
Reserved, set as 0
byEnablePreset
Whether to enable preset (supported when PTZ is supported in the camera corresponding to triggered video input channel): 0- no, 1- yes
wPreset
Preset No. (activation point No.)
wBase
Base point
byRes3
Reserved, set as 0
byVoChanNo
Whether to input audio activation to video output port, value: 0 means no output, 1 means output, subscript means channel order: 0- VGA1, 1- VGA2, 2- VGA3, 3- VGA4, 4- VGA5~10, 5- HDMI1, 6- HDMI2.
For example: byVoChanNo[0]==1 means video input specified by audio activation is switched to VGA1 output
byRes
Reserved, set as 0

Remarks

  • Audio activation function, means to configure audio input to trigger specified video input (dwChanNo) to trial channel large screen display or single screen display (byVoChanNo) of specified video output interface.
  • Base point means the target direction of linked video picture when audio activation is not triggered; while activation point means the target direction of linked video picture after audio activation is triggered.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AUDIO_DIACRITICAL_CFG

Audio diacritic configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  char     byBassValue;
  BYTE     byRes[62];
 }NET_DVR_AUDIO_DIACRITICAL_CFG,*LPNET_DVR_AUDIO_DIACRITICAL_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable diacritical: 0- no, 1- yes
byBassValue
Bass value, range: -12 to +12. Value approaching +12 means higher sound frequency, and sounds more like woman; otherwise more like man
byRes
Reserved, set as 0

See Also

  • Currently only 3 IP encoding channels of the trial DVR support audio diacritic function.
  • Audio diacritic capability corresponds to the node <AudioDiacritical> of channel input capability set (ChannelInputAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AUDIO_EFFECTIVE_CFG

Audio effect parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwCheckDelay;
  BYTE     byThreshold;
  BYTE     byVolumePercent;
  BYTE     byPriority;
  BYTE     byRes[301];
 }NET_DVR_AUDIO_EFFECTIVE_CFG,*LPNET_DVR_AUDIO_EFFECTIVE_CFG;

Members

dwSize
Structure size
dwCheckDelay
Detection delay, unit: s, all F to mean no auto optimization
byThreshold
Threshold, value range: [0,100]
byVolumePercent
Volume, value range: [0,100]
byPriority
Level, value range: [0,100]
byRes
Reserved, set as 0

Remarks

  • Whether device supports audio effect configuration capability or supported parameter, can be determined through device capability set (AudioEffectiveCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_AUDIO_EFFECTIVE_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_AUDIO_EXCEPTION

Structure of audio exception configuration

struct{
  DWORD                          dwSize;
  BYTE                           byEnableAudioInException;
  BYTE                           byRes1[3];
  NET_VCA_AUDIO_ABNORMAL         struAudioAbnormal;
  NET_DVR_SCHEDTIME              struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V40    struHandleException;
  DWORD                          dwMaxRelRecordChanNum;
  DWORD                          dwRelRecordChanNum;
  DWORD                          byRelRecordChan[MAX_CHANNUM_V30];
  BYTE                           byRes2[32];
}NET_DVR_AUDIO_EXCEPTION,*LPNET_DVR_AUDIO_EXCEPTION;

Members

dwSize
Structure size
byEnable
Enabel audio exception alarm: 0-no, 1-yes. Including: audio input exception and sound intensity exception/dd>
byRes1
Reserved, set it to 0
struAudioAbnormal
Audible exception parameter
struAlarmSched
Arm achedul
struHandleException
Exception handle
dwMaxRelRecordChanNum
The max number of channel(read only) triggered by alarm
dwRelRecordChanNum
The actual channel number that triggered by alarm, the including channel number of current group
byRelRecordChan
The front value of dwRelRecordChanNum is the record channel number triggered by alarm. For example, you can configure record channel dwRelRecordChan[0]- dwRelRecordChan[4] when dwRelRecordChanNum=5
byRes2
Reserved, set it to 0

Remarks

Get NET_DVR_DETECT_FACE according to NET_DVR_CHANNEL_GROUP（dwGroup is the group number, it is 0 or 1 when first call） District group number(dwGroup, max 64 a group) when dwRelRecordChanNum more than 64, get(set) configuration info again by sending configuration condition, group number sets to 2, if it is the multi-group, the group number increases in turn

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_AUDIO_INPUT_PARAM

Structure of audio input parameter

struct{
  BYTE    byAudioInputType;
  BYTE    byres[7];
}NET_DVR_AUDIO_INPUT_PARAM, *LPNET_DVR_AUDIO_INPUT_PARAM;

Members

byAudioInputType
Audio input type: 0- mic in, 1- line in
byres
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AUDIO_NAME

Audio name configuration structure

struct(
 DWORD                   dwSize,
 char                    cName[NAME_LEN],
 BYTE                    byRes[64],
)NET_DVR_AUDIO_NAME, *LPNET_DVR_AUDIO_NAME;

Members

dwSize
Structure size
cName
Audio name
byRes
Reserved,please set it to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_AUDIO_STATUS

Structure of audio status

struct{
  BYTE    byMute;
  BYTE    byVolume;
  BYTE    byAudioInputDisabled;
  BYTE    byAudioInputVolume;
  BYTE    byRes[32];
}NET_DVR_AUDIO_STATUS, *LPNET_DVR_AUDIO_STATUS;

Members

byMute
Whether to be mute: 0- no, 1- yes
byVolume
Volume, value range: 1~100. It is available when the volume is not mute.
byAudioInputDisabled
Disable audio input? 0- no,1- yes
byAudioInputVolume
Audio input volume, value range: 1~100. It is available when audio input is enabled.
byRes
Reserved, set to 0

See Also

NET_DVR_TERMINAL_CONFERENCE_STATUS


NET_DVR_AUDIOEXCEPTION_ALARM

The structure of audio exception alarm information

struct{
  DWORD               dwSize;
  BYTE                byAlarmType;
  BYTE                byRes1;
  WORD                wAudioDecibel;
  NET_VCA_DEV_INFO    struDevInfo;
  WORD                wDevInfoIvmsChannelEx;
  BYTE                byRes[62];
}NET_DVR_AUDIOEXCEPTION_ALARM,*LPNET_DVR_AUDIOEXCEPTION_ALARM;

Members

dwSize
The size of the structure
byAlarmType
Alarm type: 1- Audio loss detection,2- Sudden increase of sound intensity，3- Sudden decrease of sound intensity
byRes1
Reserved, set as 0.
wAudioDecibel
Sound intensity(valid when byAlarmType is set as 2 or 3)，Value range: 0~100.
struDevInfo
Alarm device information
wDevInfoIvmsChannelEx
Same description with byIvmsChannel of NET_VCA_DEV_INFO, can be used to indicate greater value. For older version of client, byIvmsChannel is still compatible, but the maximum value is 255. For later version of client, use wDevInfoIvmsChannelEx
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_AUDIOOUT_VOLUME

Structure of the volume information of output audio

struct{
  DWORD    dwSize;
  BYTE     byAudioOutVolume;
  BYTE     byRes[63];
}NET_DVR_AUDIOOUT_VOLUME, *LPNET_DVR_AUDIOOUT_VOLUME;

Members

dwSize
Structure size
byAudioOutVolume
Output volume level:0-100
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AUTO_LIMIT_WAVE_CFG

Auto wave limit control parameter structure

struct{
  BYTE    byFBCEnable;
  BYTE    byMode;
  BYTE    byFilterQValue;
  BYTE    byStaticFilterNum;
  BYTE    byRes[16];
 }NET_DVR_AUTO_LIMIT_WAVE_CFG,*LPNET_DVR_AUTO_LIMIT_WAVE_CFG;

Members

byFBCEnable
FBC switch: 0- disable, 1- enable
byMode
Mode: 0- fast, 1- normal, 2- slow
byFilterQValue
Self-adaptive wave filter Q value: 0- 1/40 (default), 1- 1/10, unit: Oct
byStaticFilterNum
Number of static wave filters, value range: 0 to 12
byRes
Reserved, set as 0

See Also

NET_DVR_MIX_AUDIOIN_CFG


NET_DVR_AUTO_REBOOT_CFG

Structure of auto reboot configuration

struct{
  DWORD                  dwSize;
  NET_DVR_REBOOT_TIME    struRebootTime;
}NET_DVR_AUTO_REBOOT_CFG,*LPNET_DVR_AUTO_REBOOT_CFG;

Members

dwSize
Structure size
struRebootTime
Auto reboot time

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AUTO_TRACK_CFG

SDI auto-track configuration structure

struct{
  DWORD                               dwSize;
  NET_DVR_DIRECT_CONNECT_CHAN_INFO    struSDIInfo[MAX_CHANNUM_V30];
  BYTE                                byCameraType[MAX_CHANNUM_V30];
  BYTE                                byRes[64];
 }NET_DVR_AUTO_TRACK_CFG,*LPNET_DVR_AUTO_TRACK_CFG;

Members

dwSize
Structure size
struSDIInfo
SDI channel information
byCameraType
Type of camera accessing the channel, corresponding to number array subscript, value: 0- null, 1- teacher tracking, 2- student tracking, 3- teacher panorama, 4- student panorama, 5- multi-media, 0xff- not accessed, e.g., byCameraType[i]=5 means access type of channel (i+1) is multi-media
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_AUXILIARY_DEV_UPGRADE_PARAM

Auxiliary device upgrade structure

struct{
  DWORD    dwSize;
  DWORD    dwDevNo;
  BYTE     byDevType;
  BYTE     byRes[131];
}NET_DVR_AUXILIARY_DEV_UPGRADE_PARAM,*LPNET_DVR_AUXILIARY_DEV_UPGRADE_PARAM;

Members

dwSize
Structure size
dwDevNo
Device No.
byDevType
Upgrade device type: 0- Keypad，1- Camera drive
byRes
Reserved, set as 0.

See Also

NET_DVR_Upgrade_V40


NET_DVR_AUXOUTCFG

Structure of aux alarm output.

struct{
  DWORD     dwSize;
  DWORD     dwAlarmOutChan;
  DWORD     dwAlarmChanSwitchTime;
  DWORD     dwAuxSwitchTime[MAX_AUXOUT];
  BYTE      byAuxOrder[MAX_AUXOUT][MAX_WINDOW];
}NET_DVR_AUXOUTCFG,*LPNET_DVR_AUXOUTCFG;

Members

dwSize
Structure size
dwAlarmOutChan
Select the output channel of alarm pop-up screen: 0- main output, 1- aux output 1, 2-aux output 2, 3-aux output 3, 4-aux output 4
dwAlarmChanSwitchTime
Switch time of alarm channel , range from 1s to 10s
dwAuxSwitchTime
Switch time of aux output: 0-don't switch, 1-5s, 2-10s, 3-20s, 4-30s, 5-60s, 6-120s, 7-300s
byAuxOrder
Preview sequence of aux output, 0xff means it does not preview the corresponding window

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_BACKGROUND_PIC_CFG

Background picture file information structure

struct{
  DWORD    dwSize;
  DWORD    dwPicSize;
  DWORD    dwPicType;
  WORD     wPicWidth;
  WORD     wPicHeight;
  BYTE     byPicName[MAX_PIC_NAME_LEN];
  BYTE     byRes[128];
 }NET_DVR_BACKGROUND_PIC_CFG,*LPNET_DVR_BACKGROUND_PIC_CFG;

Members

dwSize
Structure size
dwPicSize
Background picture size
dwPicType
Picture type: 0- YUV, 1- JPEG
wPicWidth
Picture width
wPicHeight
Picture height
byPicName
Picture name
byRes
Reserved, set as 0

See Also

NET_DVR_GetSTDConfig


NET_DVR_BACKGROUND_PIC_COND

Background picture file search/delete condition structure

struct{
  DWORD    dwSize;
  char     szFileID[MAX_ID_LEN_128];
  BYTE     byRes[256];
 }NET_DVR_BACKGROUND_PIC_COND,*LPNET_DVR_BACKGROUND_PIC_COND;

Members

dwSize
Structure size
szFileID
File ID assigned by device after upload
byRes
Reserved, set as 0

See Also

NET_DVR_GetSTDConfig NET_DVR_STDControl


NET_DVR_BACKGROUND_PIC_INFO

Current background picture file information structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  char     byPicID[MAX_ID_LEN_128];
  BYTE     byRes[300];
 }NET_DVR_BACKGROUND_PIC_INFO,*LPNET_DVR_BACKGROUND_PIC_INFO;

Members

dwSize
Structure size
byEnable
Whether to enable background picture overlay: 0- no, 1- yes
byRes1
Reserved, set as 0
byPicID
File ID assigned by device after upload
byRes
Reserved, set as 0

Remarks

  • Whether the device supports background picture configuration capability or supported capability, can be determined through device capability set (BackPicInfo), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_BACKGROUND_PIC_INFO_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_BACKGROUND_PIC_PRARAM

Background picture upload condition parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwPicSize;
  WORD     wPicWidth;
  WORD     wPicHeight;
  char     szPicName[MAX_PIC_NAME_LEN];
  BYTE     byPicType;
  BYTE     byRes[303];
 }NET_DVR_BACKGROUND_PIC_PRARAM,*LPNET_DVR_BACKGROUND_PIC_PRARAM;

Members

dwSize
Structure size
dwChannel
Directed channel
dwPicSize
Background picture size
wPicWidth
Picture width
wPicHeight
Picture height
szPicName
Picture name, absolute path including picture name, e.g., C:\test.jpg
byPicType
Picture type: 0- YUV, 1- JPEG
byRes
Reserved, set as 0

Remarks

Currently up to 8 pictures can be stored, supported background picture types are yuv420 (format YYYYY...UVUV...). Max resolution is 1080P, and min. is CIF.

See Also

NET_DVR_UploadFile_V40


NET_DVR_BACKLIGHT

Structure of backlight compensation

struct{
  BYTE       byBacklightMode;
  BYTE       byBacklightLevel;
  BYTE       byRes1[2];
  DWORD      dwPositionX1;
  DWORD      dwPositionY1;
  DWORD      dwPositionX2;
  DWORD      dwPositionY2;
  BYTE       byRes2[4];
}NET_DVR_BACKLIGHT, *LPNET_DVR_BACKLIGHT;

Members

byBacklightMode
Back light compensation: 0-USERSET, 1-UP, 2-DOWN, 3-LEFT, 4-RIGHT, 5-MIDDLE, 6- customized, 10- open, 11- auto, 12- back light compensation of multi area
byBacklightLevel
Level of back light compensation, value range: 0x0~0xF
byRes1
Reserved
dwPositionX1
Coordinate X1
dwPositionY1
Coordinate Y1
dwPositionX2
Coordinate X2
dwPositionY2
Coordinate Y2
byRes2
Reserved

See Also

NET_DVR_CAMERAPARAMCFG


NET_DVR_BACKUP_LOG_PARAM

Structure of log backup

struct{
  DWORD          dwSize;
  byte           byDiskDesc[DESC_LEN];
  byte           byHardDisk[MAX_DISK_NUM];
  byte           byBackupHardDiskNum;
  byte           byContinue;
  byte           byRes[30];
}NET_DVR_BACKUP_LOG_PARAM, *LPNET_DVR_BACKUP_LOG_PARAM;

Members

dwSize
Structure size
byDiskDesc
Backup disk description
byHardDisk
The disks which require to backup
byBackupHardDiskNum
The count of backup disks
byContinue
Whether continue to backup or not: 0-no, 1-yes
byRes
Reserved, please set to 0

See Also

NET_DVR_Backup


NET_DVR_BACKUP_NAME_PARAM

Parameter structure of file backup by file name.

struct{
  DWORD                  dwFileNum;
  NET_DVR_FINDDATA_V30   struFileList[MAX_RECORD_FILE_NUM];
  BYTE                   byDiskDes[DESC_LEN_32];
  BYTE                   byWithPlayer;
  BYTE                   byContinue;
  BYTE                   byRes[34];
}NET_DVR_BACKUP_NAME_PARAM,*LPNET_DVR_BACKUP_NAME_PARAM;

Members

dwFileNum
The total number of files
struFileList
Parameters of video files
byDiskDes
Description of backup disk
byWithPlayer
Whether to backup player or not: 0-no, 1-yes
byContinue
Whether continue to backup or not: 0-no, 1-yes
byRes
Reserved, please set to 0

Remarks

Please get byDiskDes by calling NET_DVR_GetDiskList.

See Also

NET_DVR_FINDDATA_V30


NET_DVR_BACKUP_PICTURE_PARAM

Structure of picture backup parameter.

struct{
  DWORD                       dwSize;
  DWORD                       dwPicNum;
  NET_DVR_FIND_PICTURE        struPicture[MAX_RECORD_PICTURE_NUM];
  BYTE                        byDiskDes[DESC_LEN_32];
  BYTE                        byRes1;
  BYTE                        byContinue;
  BYTE                        byRes[34];
}NET_DVR_BACKUP_PICTURE_PARAM, *LPNET_DVR_BACKUP_PICTURE_PARAM;

Members

dwSize
Structure size
dwPicNum
Number of the picture
struPicture
Picture information
byDiskDes
Description of backup disk
byRes1
Reserved
byContinue
Whether continue to backup or not: 0-no, 1-yes
byRes
Reserved

See Also

NET_DVR_BackupPicture


NET_DVR_BACKUP_RECORD_INFO

Channel video backup information structure

struct{
  BYTE     byEnable;
  BYTE     byRes[11];
  DWORD    dwStreamType;
}NET_DVR_BACKUP_RECORD_INFO,*LPNET_DVR_BACKUP_RECORD_INFO;

Members

byPublish
Whether to back up: 0- no, 1- yes
byRes
Reserved, set as 0
dwStreamType
Backup stream type, in bit, value: 0- do not publish, 1- publish
dwStreamType&0x1- main stream
dwStreamType&0x2- sub-stream
dwStreamType&0x4- third stream

See Also

NET_DVR_BACKUP_RECORD_PARAM


NET_DVR_BACKUP_RECORD_PARAM

One-click backup configuration structure

struct{
  DWORD                         dwSize;
  NET_DVR_BACKUP_RECORD_INFO    struChanBackUp[MAX_CHANNUM_V30];
  NET_DVR_BACKUP_RECORD_INFO    struDirectedChanBackUp;
  BYTE                          byRes[256];
 }NET_DVR_BACKUP_RECORD_PARAM,*LPNET_DVR_BACKUP_RECORD_PARAM;

Members

dwSize
Structure size
struChanBackUp
Channel backup information, number array subscript corresponding to channel, e.g., struChanBackUp[0] means the backup information of channel 1
struDirectedChanBackUp
Directed channel backup information
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_BACKUP_TIME_PARAM

Parameter structure of file backup by time.

struct{
  LONG           lChannel;
  NET_DVR_TIME   struStartTime;
  NET_DVR_TIME   struStopTime;
  BYTE           byDiskDes[DESC_LEN_32];
  BYTE           byWithPlayer;
  BYTE           byContinue;
  BYTE           byDrawFrame;
  BYTE           byRes[33];
}NET_DVR_BACKUP_TIME_PARAM,*LPNET_DVR_BACKUP_TIME_PARAM;

Members

lChannel
Channel number
struFileList
Starting time of backup
struStopTime
End time of backup
byDiskDes
Description of backup disk
byWithPlayer
Whether to backup player or not: 0-no, 1-yes
byContinue
Whether continue to backup or not: 0-no, 1-yes
byDrawFrame
Whether extract frame or not: 0-no, 1-yes
byRes
Reserved, please set to 0

Remarks

Please get byDiskDes by calling NET_DVR_GetDiskList. byDiskDes and byWithPlayer are invalid for inquest device.

See Also

NET_DVR_BackupByTime NET_DVR_Backup


NET_DVR_BAREDATAOVERLAY_CFG

Raw data overlay settings structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byIntervalTime;
  BYTE     byRes[258];
}NET_DVR_BAREDATAOVERLAY_CFG,*LPNET_DVR_BAREDATAOVERLAY_CFG;

Members

dwSize
Structure size
byEnable
Enable? 0- No，1- Yes
byIntervalTime
Uploading time interval, value:1, 2, 3, 4, 5，unit: s, default: 3s
byRes
Reserved, set as 0.

Remarks

  • Check whether the device supports this function via device capability set(BareDataOverlay)，API: NET_DVR_GetSTDAbility，Capability set type：NET_DVR_GET_BAREDATAOVERLAY_CAPABILITIES。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_BARRIERGATE_CFG

Barrier Control Parameters Structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byLaneNo;
  BYTE     byBarrierGateCtrl;
  BYTE     byEntranceNo;
  BYTE     byRes[13];
}NET_DVR_BARRIERGATE_CFG,*LPNET_DVR_BARRIERGATE_CFG;

Members

dwSize
Structure Size
dwChannel
Channel No.
byLaneNo
Barrier No.: 0- Invalid (The device needs to judge the valid value.); 1- Barrier1
byBarrierGateCtrl
Control Parameters: 0- Close Barrier, 1- Open Barrier, 2- Stop Barrier, 3- Lock Barrier
byEntranceNo
Entrance/Exit No. Value Range: [1,8]
byRes
Reserved. Set to 0.

Remarks

  • Whether the device supports controlling the barrier or not and the supported parameters capacity can be judged via the device Capability Set. The corresponding traffic camera and intelligent terminal Capability Set is (ITDeviceAbility). Related interface: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO. Node: <ITCGateNum>, <GateCtrlCfg>.

See Also

NET_DVR_RemoteControl


NET_DVR_BARRIERGATE_COND

Entrance control condition structure

struct{
  BYTE    byLaneNo;
  BYTE    byRes[3];
}NET_DVR_BARRIERGATE_COND,*LPNET_DVR_BARRIERGATE_COND;

Members

byLaneNo
Vehicle lane No.: 0- Invalid, 1- Vehicle lane
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_BASELINE_SCENE

The structure of basic scene parameters

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes[63];
}NET_DVR_BASELINE_SCENE,*LPNET_DVR_BASELINE_SCENE;

Members

dwSize
The size of the structure
byEnable
Enable the basic scene? 0- No, 1- Yes
byRes
Reserved, set as 0.

Remarks

The system will save a basic scene image with extracting the characteristics and compare with the current scene within the specified time intervals. If the difference exceeds the threshold, the alarm will be triggered.

The basic scene is mainly used for VQD diagnosis.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_BASEMAP_CFG

Structure of basemap parameter.

struct{
  BYTE    byScreenIndex;
  BYTE    byMapNum;
  BYTE    res[2];
  WORD    wSourWidth;
  WORD    wSourHeight;
}NET_DVR_BASEMAP_CFG,*LPNET_DVR_BASEMAP_CFG;

Members

byScreenIndex
Screen index
byMapNum
How many pieces that the picture is divided into
res
Reserved, please set to 0
wSourWidth
Width of the original picture
wSourHeight
Heigth of the original picture

See Also

NET_DVR_PICTURECFG


NET_DVR_BGA_INFO

Structure of background task running state.

struct{
  BYTE   byBga;
  BYTE   byBgaState;
  WORD   wBgaPercentage;
  BYTE   byRes[4];
}NET_DVR_BGA_INFO, *LPNET_DVR_BGA_INFO;

Members

byBga
Background task and type. Detailed definition listed below:
enum _BGA_TYPE_{
  BGA_REBUILD           = 0x01,
  BGA_CONSISTENCY_FIX   = 0x02,
  BGA_CONSISTENCY_CHECK = 0x04,
  BGA_INIT_QUICK        = 0x08,
  BGA_INIT_BACK         = 0x10,
  BGA_MIGRATION         = 0x20,
  BGA_INIT_FORE         = 0x40,
  BGA_COPYBACK          = 0x80
}BGA_TYPE
BGA_REBUILD
Rebuild
BGA_CONSISTENCY_FIX
Consistency check and fix
BGA_CONSISTENCY_CHECK
Consistency check
BGA_INIT_QUICK
Initialize (quick)
BGA_INIT_BACK
Initialize (full)
BGA_MIGRATION
Migration
BGA_INIT_FORE
Initialize
BGA_COPYBACK
Copy back
byBgaState
Background task status. Detailed definition listed below:
enum _BGA_STATE_{
  BGA_STATE_NONE = 0,
  BGA_STATE_RUNNING,
  BGA_STATE_ABORTED,
  BGA_STATE_PAUSED
}BGA_STATE
BGA_STATE_NONE
There is no background task
BGA_STATE_RUNNING
Background task is running
BGA_STATE_ABORTED
Background task is aborted
BGA_STATE_PAUSED
Background task is paused
wBgaPercentage
Percentage of the background task execution
byRes2
Reserved, please set to 0

See Also

NET_DVR_BGA_INFO


NET_DVR_BIGSCREENCFG

Structure of screen stitching configuration.

struct{
  DWORD                     dwSize;
  BYTE                      byEnable;
  BYTE                      byModeX;
  BYTE                      byModeY;
  BYTE                      byMainDecodeSystem;
  BYTE                      byMainDecoderDispChan;
  BYTE                      byVideoStandard;
  BYTE                      byRes1[2];
  DWORD                     dwResolution;
  NET_DVR_SINGLESCREENCFG   struFollowSingleScreen[MAX_BIGSCREENNUM];
  BYTE                      byRes2[16];
}NET_DVR_BIGSCREENCFG, *LPNET_DVR_BIGSCREENCFG;

Members

dwSize
Structure size
byEnable
Enable screen stitching or not: 0- disable, 1- enable
byModeX
Screen stitching mode(byModeX*byModeY): total number of screens on horizontal direction
byModeY
Screen stitching mode(byModeX*byModeY): total number of screens on vertical direction
byMainDecodeSystem
Slot number of main screen
byMainDecoderDispChan
Display channel number used by main screen (new added in v1.1 netra version: netra decoder has two decoding channels, and both can be main screen)
byVideoStandard
Video format(video format of all sub screens are same): 1- NTSC, 2- PAL
byRes1
Reserved, please set to 0
dwResolution
Resolution (resolution of all sub screens are same). One large size display may have multi display channels and output together, then it will set the resolution of all related display channel to be this value.
struFollowSingleScreen
Single sub-screen information of large size display
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_BLACKLIST_GROUP_COND

Group list query condition structure

struct{
  DWORD    dwSize;
  DWORD    dwGroupID;
  BYTE     byRes[64];
}NET_DVR_BLACKLIST_GROUP_COND,*LPNET_DVR_BLACKLIST_GROUP_COND;

Members

dwSize
Structure size
dwGroupID
Current obtained group ID, start form 1
byRes
Reserved, set as 0.

See Also

NET_DVR_GetSTDConfig


NET_DVR_BONJOUR_CFG

Structure of Bonjour information

struct{
  DWORD    dwSize;
  BYTE     byEnableBonjour;
  BYTE     byRes1[3];
  BYTE     byFriendlyName[MAX_DOMAIN_NAME];
  BYTE     byRes2[128];
}NET_DVR_BONJOUR_CFG,*LPNET_DVR_BONJOUR_CFG;

Members

dwSize
Structure size
byEnableBonjour
Enable Bonjour or not: 0- enable, 1- disable
byRes1
Reserved, please set to 0
byFriendlyName
Friendly name
byRes2
Reserved, please set to 0

Remarks

It is suggested to value byFriendlyName with the default name format, for example:
DS-6716-123456789

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_BOOT_LOGO_CFG

Structure of boot LOGO.

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes[31];
}NET_DVR_BOOT_LOGO_CFG,*LPNET_DVR_BOOT_LOGO_CFG;

Members

dwSize
Structure size
byEnable
Whether to display boot LOGO: 0- no, 1- yes
byRes
Reserved, please set to 0

See Also

NET_DVR_MSC_SCREEN_PARAM


NET_DVR_BUILTIN_SUPPLEMENTLIGHT

Structure for supplement light configuration.

struct{
  DWORD                       dwSize;
  BYTE                        byMode;
  BYTE                        byBrightnessLimit;
  BYTE                        byRes[6];
  NET_DVR_SCHEDULE_DAYTIME    struSchedTime;
  BYTE                        byRes1[256];
}NET_DVR_BUILTIN_SUPPLEMENTLIGHT, *LPNET_DVR_BUILTIN_SUPPLEMENTLIGHT;

Members

dwSize
Structure size
byMode
Supplement mode: 0- scheduled, 1- open, 2- closed, 3- automatic (non-photosensitive)
byBrightnessLimit
Brightness range: [0,100]
byRes
Reserved, set to 0.
struSchedTime
Scheduled time period is valid when the value of byMode is 1. During the scheduled time period, the supplement light is open automatically, otherwise, it is closed automatically.
byRes1
Reserved, set to 0.

Remarks

  • It is the capacity set that can decide whether the device support teh supplement light configuration or not.Corresponding capability set (SupplementLight)，corresponding interface: NET_DVR_GetSTDAbility，Capability Set Type: NET_DVR_GET_SUPPLEMENTLIGHT_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_CABINET_AlARM_PARAMCFG

Cabinet alarm parameter structure

struct{
  char                              sCabinetName[NAME_LEN];
  BYTE                               byAssociateIO;
  BYTE                               byCabinetState;
  BYTE                               byAlarmIntervalTime;
  BYTE                               byRes1[25];
}NET_DVR_CABINET_AlARM_PARAMCFG,*LPNET_DVR_CABINET_AlARM_PARAMCFG;

Members

sCabinetName
Cabinet name
byAssociateIO
The associate I/O number, data range: 1-4: I/O channel number, 0xff-disable
byCabinetState
Cabinet status triggered by alarm, 0-low level,1-high level
byAlarmIntervalTime
Interval of alarm uploading, data range:1-60, uint:s
byRes1
Reserved

See Also

NET_DVR_CABINET_CFG


NET_DVR_CABINET_CFG

Cabinet parameter configuration structure

NET_DVR_CABINET_CFG(
  DWORD  				dwSize,
  BYTE   				byEnable,
  BYTE   				byRes[3],
  NET_DVR_CABINET_AlARM_PARAMCFG	struCabinetCfg[[MAX_CABINET_COUNT],
  BYTE   				byRes1[84],
) NET_DVR_CABINET_CFG,*LPNET_DVR_CABINET_CFG;

Memebers

dwSize
Structure size
byEnable
Enable: 0-disable, 1-enable
struCabinetCfg
Cabinet alarm parameter configuration
byRes1
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CALIB_PARAM

Structure for slave camera calibration parameters.

struct{
  NET_PTZ_INFO     struPtzInfo;
  NET_VCA_POINT    struCalibCoordinates;
  BYTE             byRes[16];
}NET_DVR_CALIB_PARAM, *LPNET_DVR_CALIB_PARAM;

Members

struPtzInfo
PTZ coordinate parameters
struCalibCoordinates
Calibration point coordinate
byRes
Reserved.

See Also

NET_DVR_SLAVECAMERA_CALIB_CFG


NET_DVR_SetDVRConfig

Device Network SDK Programming Manual

NET_DVR_CALIBRATE_TIME

This API is used to set configuration of the device.

BOOL NET_DVR_CALIBRATE_TIME(
  DWORD      dwSize,
  NET_DVR_TIME     struTime ,
  WORD  wMilliSec,
  BYTE    byRes[14],
)NET_DVR_CALIBRATE_TIME,*LPNET_DVR_CALIBRATE_TIME;

Memebers

dwSize
Structure size
CostruTime
Time parameters,year,month,day,hour,minute,second
wMilliSec
Millisecond
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CALIBRATION

Vehicle detection calibration structure

struct{
  DWORD              dwSize;
  NET_VCA_POLYGON    struRegion;
  BYTE               byRes[64];
}NET_DVR_CALIBRATION,*LPNET_DVR_CALIBRATION;

Members

dwSize
Structure size
struRegion
Calibration region
byRes
Reserved, set as 0.

Remarks

  • This function corresponds to vehicle detection capability(Calibration). API:NET_DVR_GetSTDAbility(Capability type：NET_DVR_GET_VEHICLE_CAPABILITIES).

See Also

NET_DVR_GetSTDConfig


NET_DVR_CALIBRATION_CFG

Calibration configuration.

struct{
  DWORD                              dwSize;
  BYTE                               byEnable;
  BYTE                               byCalibrationType;
  BYTE                               byRes1[2];
  NET_DVR_CALIBRATION_PRARM_UNION    uCalibrateParam;
  BYTE                               byRes2[12];
}NET_DVR_CALIBRATION_CFG, *LPNET_DVR_CALIBRATION_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable calibration: 0-no, 1-yes
byCalibrationType
Calibration type, definition as below:
enum tagCALIBRATE_TYPE{
  PDC_CALIBRATE = 0x01
}CALIBRATE_TYPE
PDC_CALIBRATE
Calibration of pedestrian flow statistics
byRes1
Reserved
uCalibrateParam
Union of calibration parameters
byRes2
Reserved

See Also

NET_DVR_CALIBRATION_PRARM_UNION


NET_DVR_CALIBRATION_PRARM_UNION

Union of calibration parameters.

union{
  BYTE                       byRes[240];
  NET_DVR_PDC_CALIBRATION    struPDCCalibration;
}NET_DVR_CALIBRATION_PRARM_UNION, *LPNET_DVR_CALIBRATION_PRARM_UNION;

Members

byRes
Reserved
struPDCCalibration
Calibration of pedestrian flow statistics

See Also

NET_DVR_PDC_CALIBRATION


NET_DVR_CALL_INFO

The union of conference info

union{
  BYTE                            byRes[640];
  NET_DVR_TERMINAL_CALL_INFO      struTerminalCallInfo;
  NET_DVR_CONFERENCE_CALL_INFO    struConferenceCallInfo;
}NET_DVR_CALL_INFO,*LPNET_DVR_CALL_INFO;

Members

byRes
Union size, 640 bytes
struTerminalCallInfo
Terminal point to point call info, the call type is available when terminal point to point calling.
struConferenceCallInfo
Conference call info, the call type is available when conference calling.

See Also

NET_DVR_TERMINAL_CONFERENCE_STATUS NET_DVR_CONFERENCE_CALL_ALARM


NET_DVR_CALL_QUERY_COND

Terminal conference query condition structure.

struct{
  DWORD           dwSize;
  BYTE            bySearchID[MAX_SEARCH_ID_LEN];
  NET_DVR_TIME    struStartTime;
  NET_DVR_TIME    struEndTime;
  BYTE            byCallType;
  BYTE            byRes1[3];
  DWORD           dwMaxResults;
  BYTE            dwSearchPos;
  BYTE            byRes2[32];
}NET_DVR_CALL_QUERY_COND, *LPNET_DVR_CALL_QUERY_COND;

Members

dwSize
Structure size
bySearchID
Searching tag, uuid string. Generated by the application layer.It indicates searching in one group.
struStartTime
Search start time
struEndTime
Search end time
byCallType
Call type: 1-Answered, 2-Not answered, 3-Dailed, 4-All types
byRes1
Reserved, set as 0
dwMaxResults
Maximum return numbers by this search
dwSearchPos
Search start index
byRes2
Reserved, set as 0

Remarks

  • Use device capability set to decide the supported parameter capability or whether the device supports terminal conference calling log query. Corresponded calling log query capability(CallQueryProfile)，related interface：NET_DVR_GetSTDAbility，capability set type：NET_DVR_GET_CALL_QUERY_CAP.

See Also

NET_DVR_GetSTDConfig


NET_DVR_CALL_QUERY_RESULT

Terminal conference call search result structure.

struct{
  DWORD    dwSize;
  BYTE     bySearchID[MAX_SEARCH_ID_LEN];
  BYTE     byStatus;
  BYTE     byRes[3];
  DWORD    dwCount;
  BYTE     *pResults;
  BYTE     byRes2[32];
}NET_DVR_CALL_QUERY_RESULT, *LPNET_DVR_CALL_QUERY_RESULT;

Members

dwSize
Structure size
bySearchID
Searching tag, uuid string. It indicates searching in one group.
byStatus
Search status, see detailed definition as follows:
enum _CALL_QUERY_RESULT_STATUS_{
  CALL_QUERY_RESULT_OK = 0,
  CALL_QUERY_RESULT_FAIL,
  CALL_QUERY_RESULT_MORE,
  CALL_QUERY_RESULT_NOMATCH,
  CALL_QUERY_RESULT_PARAMERROR,
  CALL_QUERY_RESULT_INVALIDTIME,
  CALL_QUERY_RESULT_TIMEOUT
}CALL_QUERY_RESULT_STATUS
CALL_QUERY_RESULT_OK
Query success, all results
CALL_QUERY_RESULT_FAIL
Query fails, unknown reason
CALL_QUERY_RESULT_MORE
Query success, more returns
CALL_QUERY_RESULT_NOMATCH
No matching query result
CALL_QUERY_RESULT_PARAMERROR
Query condition parameter error
CALL_QUERY_RESULT_INVALIDTIME
Invalid query condition time
CALL_QUERY_RESULT_TIMEOUT
Query timeout
byRes
Reserved, set as0
dwCount
Counting query result number
pResults
Result content, dwCount*NET_DVR_CALL_QUERY_SINGLE，application layer should allocate enough memory.
byRes2
Reserved, set as 0

Remarks

  • Use device capability set to decide the supported parameter capability or whether the device supports terminal conference calling log query. Corresponded calling log query capability(CallQueryProfile), related interface：NET_DVR_GetSTDAbility，Capability set type：NET_DVR_GET_CALL_QUERY_CAP.

See Also

NET_DVR_GetSTDConfig


NET_DVR_CALL_QUERY_SINGLE

Terminal conference calling log single query information structure

struct{
  DWORD           dwSize;
  BYTE            byCallType;
  BYTE            byRes1[3];
  BYTE            byTerminalName[TERMINAL_NAME_LEN];
  BYTE            byAddressURL[MAX_URL_LEN];
  NET_DVR_TIME    struStartTime;
  NET_DVR_TIME    struEndTime;
  BYTE            byRes2[32];
}NET_DVR_CALL_QUERY_SINGLE, *LPNET_DVR_CALL_QUERY_SINGLE;

Members

dwSize
Structure size
byCallType
Call type:1- Answered, 2- Not answered, 3- Dailed
byRes1
Reserved, set as 0
byTerminalName
Terminal name
byAddressURL
Terminal URL address
struStartTime
Call start time
struEndTime
Call end time
byRes2
Reserved,set as 0

See Also

NET_DVR_CALL_QUERY_RESULT


NET_DVR_CALL_ROOM_CFG

The structure for setting the function of calling residents by pressing buttons.

struct{
  DWORD    dwSize;
  SHORT    nFloorNumber;
  WORD     wRoomNumber;
  BYTE     byRes[128];
 }NET_DVR_CALL_ROOM_CFG,*LPNET_DVR_CALL_ROOM_CFG;

Members

dwSize
Structure size.
nFloorNumber
Floor number.
wRoomNumber
Room number.
byRes
Reserved, set to 0

See Also

  • Parameters of the function of calling residents by pressing buttons correspond to the node <CallRoomConfig> of the capability set of video intercom controller (interface: NET_DVR_GetDeviceAbility, capability set type:IP_VIEW_DEV_ABILITY).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CALL_WAITTING_CFG

Call waiting parameter configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1;
  WORD     wWaitTime;
  BYTE     byRes[512];
}NET_DVR_CALL_WAITTING_CFG,*LPNET_DVR_CALL_WAITTING_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable call waiting: 0- no, 1- yes
byRes1
Reserved, set as 0
wWaitTime
Call waiting time, unit: s
byRes
Reserved, set as 0

Remarks

  • Whether device supports call waiting configuration or supported capability, can be determined through device capability set (CallWaittingCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_CALL_WAITTING_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_CALLBACK_TYPE_DATA

Structure of Remote connection callback

struct{
  DOWRD   dwChannel;
  DOWRD   dwDataType;
  DOWRD   dwDataLen;
  BYTE    *pData;
  BYTE    byRes[64];
}NET_DVR_CALLBACK_TYPE_DATA,*LPNET_DVR_CALLBACK_TYPE_DATA;

Members

dwChannel
Channel number
dwDataType
Data type, see details in "Remarks"
dwDataLen
Size of buffer
pData
Buffer, save data of callback. Different dwDataType cooresponding different data, see details in "Remarks" below.
byRes
Reserved, set it to 0

Remarks

You can get the info through setting remote connection callback function by using NET_DVR_StartRemoteConfig, different dwDataType corresponding to different pData.See the list beolw.

dwDataType Macro Definition | Value | Definition | pData Structure
ENUM_FISHEYE_STREAM_STATUS | 1 | Status of stream output | NET_DVR_FISHEYE_STREAM_STATUS
ENUM_FISHEYE_PTZPOS | 2 | Coordinate of PTZ channel in the fish eye mode | NET_VCA_POINT
ENUM_FISHEYE_REALTIME_OUTPUT | 3 | Real-time output mode | (DWORD) Real-time status:0- closed ，1- open

See Also

NET_DVR_StartRemoteConfig


NET_DVR_CAM_MODE

Signal input resource type

enum _NET_DVR_CAM_MODE_{
  NET_DVR_UNKNOW       = 0,
  NET_DVR_CAM_BNC      = 1,
  NET_DVR_CAM_VGA      = 2,
  NET_DVR_CAM_DVI      = 3,
  NET_DVR_CAM_HDMI     = 4,
  NET_DVR_CAM_IP       = 5,
  NET_DVR_CAM_RGB      = 6,
  NET_DVR_CAM_DECODER  = 7,
  NET_DVR_CAM_MATRIX   = 8,
  NET_DVR_CAM_YPBPR    = 9,
  NET_DVR_CAM_USB      = 10,
  NET_DVR_CAM_SDI      = 11,
  NET_DVR_CAM_HDI      = 12,
  NET_DVR_CAM_DP       = 13,
  NET_DVR_CAM_HDTVI    = 14,
  NET_DVR_CAM_JOINT    = 15,
  NET_DVR_CAM_HDBASET  = 16
}NET_DVR_CAM_MODE
NET_DVR_UNKNOW
Invalid
NET_DVR_CAM_BNC
BNC input
NET_DVR_CAM_VGA
VGA input
NET_DVR_CAM_DVI
DVI input
NET_DVR_CAM_HDMI
HDMI input
NET_DVR_CAM_IP
IP input
NET_DVR_CAM_RGB
RGB input
NET_DVR_CAM_DECODER
Decoding board input
NET_DVR_CAM_MATRIX
Matrix signal resource
NET_DVR_CAM_YPBPR
YPbPr input
NET_DVR_CAM_USB
USB input
NET_DVR_CAM_SDI
SDI input
NET_DVR_CAM_HDI
HDI input
NET_DVR_CAM_DP
DP input
NET_DVR_CAM_HDTVI
HDTVI input
NET_DVR_CAM_JOINT
Splicing signal resource input
NET_DVR_CAM_HDBASET
HDBASET input


NET_DVR_CAMERA_DEHAZE_CFG

Structure of de-haze parameter

struct{
  DWORD    dwSize;
  BYTE     byDehazeMode;
  BYTE     byRes[7];
}NET_DVR_CAMERA_DEHAZE_CFG,*LPNET_DVR_CAMERA_DEHAZE_CFG;

Members

dwSize
Structure size
byDehazeMode
De-haze mode: 0- disabled, 1- adaptive mode
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CAMERA_SETUPCFG

Structure of camera setup parameters

struct{
  DWORD    dwSize;
  WORD     wSetupHeight;
  BYTE     byLensType;
  BYTE     bySetupHeightUnit;
  DWORD    dwSceneDis;
  float    fPitchAngle;
  float    fInclineAngle;
  float    fRotateAngle;
  WORD     wVideoDetCoefficient;
  BYTE     byErectMethod;
  BYTE     byCameraViewAngle;
  DWORD    dwHorizontalDistance;
  BYTE     byDetailLensType;
  BYTE     byRes[3];
  float    fHorFieldAngle;
  float    fVerFieldAngle;
  BYTE     byRes1[24];
}NET_DVR_CAMERA_SETUPCFG,*LPNET_DVR_CAMERA_SETUPCFG;

Members

dwSize
Structure size
wSetupHeight
Height,data range: [0,20]
byLensType
Lens type: 0- unknown，1- 8mm，2- 12mm，3- 16mm，4- 25mm，5- 35mm，6- 50mm
bySetupHeightUnit
Height unit:0- m, 1- cm
dwSceneDis
Horizontal distance between the bottom of image and camera, unit: cm
fPitchAngle
Pitch angle(not support now), data range:[-180, 180],uint:degree
fInclineAngle
Incline angle(not support now), data range:[-180, 180],unit: degree
fRotateAngle
Rotation angle (not support now), data range:[-180, 180],unit:degree
wVideoDetCoefficient
Video test coefficient, data range:[0,300]
byErectMethod
Setup method:0-normal,1- side
byCameraViewAngle
Camera installation view angle: 0- Perpendicular, 1- Oblique
dwHorizontalDistance
Horizontal distance of the camera and the entrance, range[1~1000], default value: 30, unit: cm, valid when the camera installation view angle is selected as oblique.
byDetailLensType
Lens type, range[1~100], default value:28, unit: 0.1mm.
byRes
Reserved
fHorFieldAngle
The horizontal field angle of the camera, range[0~360], unit:degree
fVerFieldAngle
The vertical field angle of the camera, range[0~360], unit:degree
byRes1
Reserved

Remarks

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CAMERAPARAMCFG

Structure of camera parameter configuration

struct{
  DWORD                   dwSize;
  NET_DVR_VIDEOEFFECT     struVideoEffect;
  NET_DVR_GAIN            struGain;
  NET_DVR_WHITEBALANCE    struWhiteBalance;
  NET_DVR_EXPOSURE        struExposure;
  NET_DVR_GAMMACORRECT    struGammaCorrect;
  NET_DVR_WDR             struWdr;
  NET_DVR_DAYNIGHT        struDayNight;
  NET_DVR_BACKLIGHT       struBackLight;
  NET_DVR_NOISEREMOVE     struNoiseRemove;
  BYTE                    byPowerLineFrequencyMode;
  BYTE                    byIrisMode;
  BYTE                    byMirror;
  BYTE                    byDigitalZoom;
  BYTE                    byDeadPixelDetect;
  BYTE                    byBlackPwl;
  BYTE                    byEptzGate;
  BYTE                    byLocalOutputGate;
  BYTE                    byCoderOutputMode;
  BYTE                    byLineCoding;
  BYTE                    byDimmerMode;
  BYTE                    byPaletteMode;
  BYTE                    byEnhancedMode;
  BYTE                    byDynamicContrastEN;
  BYTE                    byDynamicContrast;
  BYTE                    byJPEGQuality;
  NET_DVR_CMOSMODECFG     struCmosModeCfg;
  BYTE                    byFilterSwitch;
  BYTE                    byFocusSpeed;
  BYTE                    byAutoCompensationInterval;
  BYTE                    bySceneMode;
}NET_DVR_CAMERAPARAMCFG, *LPNET_DVR_CAMERAPARAMCFG;

Members

dwSize
Structure size
struVideoEffect
Video effect
struGain
Gain
struWhiteBalance
White balance
struExposure
Exposure
struGammaCorrect
Parameter of Gamma correction
struWdr
Wide dynamic range
struDayNight
Day and night switch
struBackLight
Back light compensation
struNoiseRemove
Digital noise reduction
byPowerLineFrequencyMode
0-50HZ; 1-60HZ
byIrisMode
0-auto iris; 1-manual iris
byMirror
Mirror: 0- off, 1- leftright, 2- updown, 3-center
byDigitalZoom
Digital zoom: 0- close, 1- ×2, 2- ×4
byDeadPixelDetect
Whether to enable the dead pixel detection: 0-no, 1-yes
byBlackPwl
Black power level compensation, value range: 0~255
byEptzGate
EPTZ switch: 0- disable EPTZ, 1- enable EPTZ
byLocalOutputGate
Local output switch:
0 -close local output
1 -open local BNC output
2 -close HDMI output
20-open HDMI_720P50 output
21-open HDMI_720P60 output
22-open HDMI_1080I60 output
23-open HDMI_1080I50 output
24-open HDMI_1080P24 output
25-open HDMI_1080P25 output
26-open HDMI_1080P30 output
27-open HDMI_1080P50 output
28-open HDMI_1080P60 output
byCoderOutputMode
FPGA output mode of encoder: 0-direct, 3-moving pixel
byLineCoding
Whether to open line coding function: 0- no, 1- yes
byDimmerMode
Dimming mode: 0- semiautomatic, 1- automatic
byPaletteMode
Palette mode: 0- white heat, 1- black heat, 2- palette2, ..., 8- palette 8
byEnhancedMode
Enhancement mode(surrounding detected object): 0- not enhance, 1- 1, 2- 2, 3- 3, 4- 4
byDynamicContrastEN
Enhance dynamic contrast or not: 0-no, 1-yes
byDynamicContrast
Dynamic contrast, value range: 0~100
byJPEGQuality
JPEG picture quality, value range: 0~100
struCmosModeCfg
Front-end configuration in CMOS mode. Please get lens mode(CCD or CMOS) from the ability set.
byFilterSwitch
Filter switch: 0- disable, 1- enable
byFocusSpeed
Focus speed, value range: 0~10
byAutoCompensationInterval
Timed auto compensation, value range: 1~120, unit: minute
bySceneMode
Scene mode: 0- outdoor, 1- indoor

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CAMERAPARAMCFG_EX

Front-end parameter configuration structure

struct{
  DWORD                              dwSize;
  NET_DVR_VIDEOEFFECT                struVideoEffect;
  NET_DVR_GAIN                       struGain;
  NET_DVR_WHITEBALANCE               struWhiteBalance;
  NET_DVR_EXPOSURE                   struExposure;
  NET_DVR_GAMMACORRECT               struGammaCorrect;
  NET_DVR_WDR                        struWdr;
  NET_DVR_DAYNIGHT                   struDayNight;
  NET_DVR_BACKLIGHT                  struBackLight;
  NET_DVR_NOISEREMOVE                struNoiseRemove;
  BYTE                               byPowerLineFrequencyMode;
  BYTE                               byIrisMode;
  BYTE                               byMirror;
  BYTE                               byDigitalZoom;
  BYTE                               byDeadPixelDetect;
  BYTE                               byBlackPwl;
  BYTE                               byEptzGate;
  BYTE                               byLocalOutputGate;
  BYTE                               byCoderOutputMode;
  BYTE                               byLineCoding;
  BYTE                               byDimmerMode;
  BYTE                               byPaletteMode;
  BYTE                               byEnhancedMode;
  BYTE                               byDynamicContrastEN;
  BYTE                               byDynamicContrast;
  BYTE                               byJPEGQuality;
  NET_DVR_CMOSMODECFG                struCmosModeCfg;
  BYTE                               byFilterSwitch;
  BYTE                               byFocusSpeed;
  BYTE                               byAutoCompensationInterval;
  BYTE                               bySceneMode;
  NET_DVR_DEFOGCFG                   struDefogCfg;
  NET_DVR_ELECTRONICSTABILIZATION    struElectronicStabilization;
  NET_DVR_CORRIDOR_MODE_CCD          struCorridorMode;
  BYTE                               byExposureSegmentEnable;
  BYTE                               byBrightCompensate;
  BYTE                               byCaptureModeN;
  BYTE                               byCaptureModeP;
  NET_DVR_SMARTIR_PARAM              struSmartIRParam;
  NET_DVR_PIRIS_PARAM                struPIrisParam;
  NET_DVR_LASER_PARAM_CFG            struLaserParam;
  NET_DVR_FFC_PARAM                  struFFCParam;
  NET_DVR_DDE_PARAM                  struDDEParam;
  NET_DVR_AGC_PARAM                  struAGCParam;
  BYTE                               byLensDistortionCorrection;
  BYTE                               byRes1[3];
  NET_DVR_SNAP_CAMERAPARAMCFG        struSnapCCD;
  NET_DVR_OPTICAL_DEHAZE             struOpticalDehaze;
  BYTE                               byRes2[180];
}NET_DVR_CAMERAPARAMCFG_EX, *LPNET_DVR_CAMERAPARAMCFG_EX;

Memebers

dwSize
Structure size
struVideoEffect
Video effect parameter
struGain
Gain parameter
struWhiteBalance
White balance parameter
struExposure
Exposure parameter
struGammaCorrect
Gamma calibration parameter
struWdr
WDR parameter
struDayNight
Day and night parameter
struBackLight
BackLight compensation parameter
struNoiseRemove
Digital noise reduction parameter
byPowerLineFrequencyMode
0-50HZ,1-60HZ
byIrisMode
Iris mode:
0- Auto
1- Manual
2- P-Iris1
3- Union 3-9mm F1.6-2.7 (T5280-PQ1)
4- Union 2.8-12mm F1.6-2.7 (T5289-PQ1)
5- HIK 3.8-16mm F1.5（HV3816P-8MPIR）
6- HIK 11-40mm F1.7 (HV1140P-8MPIR)
7- HIK 2.7-12mm F1.2（TV2712P-MPIR）
when byIrisMode==2, struPIrisParam is valid.
byMirror
Mirror: 0-close, 1-right and left,2-up and down,3-middle
byDigitalZoom
Digital zoom: 0-disable,1-enable.For thermal imager, it means the digital zoom ratio: 0-close, 1-×2, 2-×4, 3-×8, 4-×16, 5-×32
byDeadPixelDetect
Whether the dead pixel detection is enabled: 0-disable, 1-enable
byBlackPwl
Black level compensation, 0-255
byEptzGate
EPTZ switch variable:0- disable,1- enable
byLocalOutputGate
Local output swicth variable:
0- local output close
1- local BNC output open
2- HDMI ouput close
11- zoom output
12- tailor output
13- zoom and tailor output
20- HDMI_720P50 output open
21- HDMI_720P60 output open
22- HDMI_1080I60 output open
23- HDMI_1080I50 output open
24- HDMI_1080P24 output open
25- HDMI_1080P25 output open
26- HDMI_1080P30 output open
27- HDMI_1080P50 output open
28- HDMI_1080P60 output open
40- SDI_720P50
41- SDI_720P60
42- SDI_1080I50
43- SDI_1080I60
44- SDI_1080P24
45- SDI_1080P25
46- SDI_1080P30
47- SDI_1080P50
48- SDI_1080P60
49- SDI_720P25
50- SDI_720P30
byCoderOutputMode
Encoder fpga output mode: 0-straight through, 1- pixel remove
byLineCoding
Whether enable line coding:0-no,1-yes
byDimmerMode
Dimmer mode:0-semi-automatic,1- auto,suitable for thermal imager
byPaletteMode
Palette: 0- white glow, 1- black glow,2- palette 2,...,8- palette 8, 9- fusion 1, 10- rainbow, 11- fusion 2, 12- iron red 1, 13- iron red 2, 14- sepia, 15- color 1, 16- color 2, 17- ice & fire, 18- rain, 19- red hot, 20- green hot, 21- dark blue, suitable for thermal imager
byEnhancedMode
Enhance mode (detect the surroundings of objects): 0- no, 1- 1,2- 2,3-3, 4-4, suitable for thermal imager
byDynamicContrastEN
Dynamic contrast enhance:0-no,1-yes
byDynamicContrast
DynamicContrast:0-100
byJPEGQuality
JPEG image quality: 0-100,the variable is invalid for the intelligent traffic camera v3.5 or above. The corresponding function can be realized by the enable parameter wJpegPicSize of (NET_DVR_SNAPENABLECFG)
struCmosModeCfg
Front-end camera parameter configuration under CMOS mode, lens' mode can be get from capability
byFilterSwitch
Filter switch 0-disable, 1- enable,suitable for thermal imager
byFocusSpeed
Focus speed of lens,data range: 0-10,suitable for thermal imager
byAutoCompensationInterval
Automatic timing shutter compensation,data range:1-120, uint:minute,suitable for thermal imager
bySceneMode
Scene mode:0-outdoor,1-indoor, 2-default, 3-low light
struDefogCfg
Defog parameter
struElectronicStabilization
Electronic stabilization
struCorridorMode
Rotate function
byExposureSegmentEnable
Exposure time and gain adjust by step: 0-disable, 1-enable.For example,when adjust the exposure upwards, first improve exposure to the median and then the gain,finally improve the exposure and gain to the max value in turn
byBrightCompensate
Night brightness compensation, data range: [0,100]
byCaptureModeN
Video format-NTSC
0-close、1-640*480@25fps,2-640*480@30ps,3-704*576@25fps,4-704*480@30fps,5-1280*720@25fps,6-1280*720@30fps,7-1280*720@50fps,8-1280*720@60fps,9-1280*960@15fps,10-1280*960@25fps,11-1280*960@30fps,12-1280*1024@25fps,13--1280*1024@30fps,14-1600*900@15fps,15-1600*1200@15fps,16-1920*1080@15fps,17-1920*1080@25fps,18-1920*1080@30fps,19-1920*1080@50fps,20-1920*1080@60fps,21-2048*1536@15fps,22-2048*1536@20fps,23-2048*1536@24fps,24-2048*1536@25fps,25-2048*1536@30fps,26-2560*2048@25fps,27-2560*2048@30fps,28-2560*1920@7.5fps,29-3072*2048@25fps,30-3072*2048@30fps,31-2048*1536@12.5,32-2560*1920@6.25,33-1600*1200@25,34-1600*1200@30,35-1600*1200@12.5, 36-1600*900@12.5, 37-1600@900@15, 38-800*600@25, 39-800*600@30, 40-4000*3000@12.5fps, 41-4000*3000@15fps, 42-4096*2160@20fps, 43-3840*2160@20fps, 44-960*576@25fps, 45-960*480@30fps,46-752*582@25fps, 47-768*494@30fps, 48-2560*1440@25fps, 49-2560*1440@30fps , 50-720P@100fps,51-720P@120fps, 52-2048*1536@50fps, 53-2048*1536@60fps, 54-3840*2160@25fps, 55-3840*2160@30fps, 56-4096*2160@25fps, 57-4096*2160@30fps , 58-1280*1024@50fps, 59-1280*1024@60fps, 60-3072*2048@50fps, 61-3072*2048@60fps, 62-3072*1728@25fps, 63-3072*1728@30fps, 64-3072*1728@50fps, 65-3072*1728@60fps, 66-336*256@50fps, 67-336*256@60fps, 68-384*288@50fps, 69-384*288@60fps, 70-640*512@50fps, 71-640*512@60fps, 72-2592*1944@25fps, 73-2592*1944@30fps, 74-2688*1536@25fps, 75-2688*1536@30fps, 76-2592*1944@20fps, 77-2592*1944@15fps, 78-2688*1520@20fps, 79-2688*1520@15fps, 80-2688*1520@25fps, 81-2688*1520@30fps, 82-2720*2048@25fps, 83-2720*2048@30fps, 84-336*256@25fps, 85-384*288@25fps, 86-640*512@25fps, 87-1280*960@50fps, 88-1280*960@60fps, 89-1280*960@100fps, 90-1280*960@120fps, 91-4000*3000@20fps, 92-1920*1200@25fps, 93-1920*1200@30fps, 94-2560*1920@25fps, 95-2560*1920@20fps, 96-2560*1920@30fps, 97-1280*1920@25fps, 98-1280*1920@30fps, 99-4000*3000@24fps, 100-4000*3000@25fps, 101-4000*3000@10fps, 102- 384*288@30fps, 103-2560*1920@15fps, 104-2400*3840@25fps, 105-1200*1920@25fps, 106-4096*1800@30fps, 107-3840*1680@30fps, 108-2560*1120@30fps, 109-704*320@30fps, 110-1280*560@30fps, 111-4096*1800@25fps, 112-3840*1680@25fps, 113-2560*1120@25fps, 114-704*320@25fps, 115-1280*560@25fps, 116-2400*3840@24fps, 117-3840*2400@24fps, 118-3840*2400@25fps, 119-2560*1920@12.5fps, 120-2560*2048@12fps, 121-2560*2048@15fps, 122-2560*1536@25fps, 123-2560*1536@30fps, 124-2256*2048@25fps, 125-2256*2048@30fps, 126-2592*2592@12.5fps, 127-2592*2592@15fps, 128 - 640*512@30fps, 129-2048*1520@30fps, 130-2048*1520@25fps, 131-3840*2160@24fps, 132-2592*1520@25fps, 133-2592*1520@30fps, 134-2592*1536@25fps, 135-2592*1536@30fps, 136-640*960@25fps, 137-640*960@24fps, 1-2688*1520@12.5fps
byCaptureModeP
Video format-PAL, the value is same as byCaptureModeN
struSmartIRParam
Smart IR parameter
struPIrisParam
P-Iris: size level parameters of IR iris
struLaserParam
Laser parameters
struFFCParam
FFC parameters
struDDEParam
DDE parameters
struAGCParam
AGC parameters
byLensDistortionCorrection
Lens distortion correction: 0- disable, 1- enable
byRes1
Reserved, set as 0
struSnapCCD
Capture camera CCD parameter, only applicable for smart traffic camera (capture camera)
struOpticalDehaze
Optical defog parameters
byRes2
Reserved, set as 0

Remarks

The structure is backward-compatible with NET_DVR_CAMERAPARAMCFG.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

NET_DVR_ISP_CAMERAPARAMCFG


NET_DVR_CAPTURE_DAY

Structure of all-day capture.

struct{
  BYTE    byAllDayCapture;
  BYTE    byCaptureType;
  BYTE    byRes[2];
}NET_DVR_CAPTURE_DAY, *LPNET_DVR_CAPTURE_DAY;

Members

byAllDayCapture
Enable all-day capture or not
byCaptureType
Capture type: 0- scheduled capture, 1- motion detection capture, 2- alarm capture, 3- motion detection | alarm capture, 4- motion detection & alarm capture, 6- intelligent alarm capture
byRes
Reserved

See Also

NET_DVR_SCHED_CAPTURECFG


NET_DVR_CAPTURE_SCHED

Structure of time-segment capture schedule.

struct{
  NET_DVR_SCHEDTIME         struCaptureTime;
  BYTE                 byCaptureType;
  BYTE                 byRes[3];
}NET_DVR_CAPTURE_SCHED, *LPNET_DVR_CAPTURE_SCHED;

Members

struCaptureTime
Time segment
byCaptureType
Capture type: 0- scheduled capture, 1- motion detection capture, 2- alarm capture, 3- motion detection | alarm capture, 4- motion detection & alarm capture, 6- intelligent alarm capture
byRes
Reserved

See Also

NET_DVR_SCHED_CAPTURECFG


NET_DVR_CAPTURE_UPLOAD

Structure for uploading captured picture information.

struct{
  DWORD               dwSize;
  NET_DVR_TIME_V30    struTime;
  DWORD               dwChannel;
  char                szDevName[MAX_DEVNAME_LEN_EX];
  BYTE                dwPicLen;
  BYTE                *pBuffer;
  BYTE                byRes[124];
}NET_DVR_CAPTURE_UPLOAD,*LPNET_DVR_CAPTURE_UPLOAD;

Members

dwSize
Structure Size
strustruTime
Upload Time
dwChannel
Channel No.
szDevName
Device Name
dwPicLen
Picture Data Length
pBuffer
Buffer for Storing Picture Data
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_CARD_CFG

Card Parameter Configuration Structure

struct{
  DWORD                       dwSize;
  DWORD                       dwModifyParamType;
  BYTE                        byCardNo[ACS_CARD_NO_LEN];
  BYTE                        byCardValid;
  BYTE                        byCardType;
  BYTE                        byLeaderCard;
  BYTE                        byRes1;
  DWORD                       dwDoorRight;
  NET_DVR_VALID_PERIOD_CFG    struValid;
  DWORD                       dwBelongGroup;
  BYTE                        byCardPassword[CARD_PASSWORD_LEN];
  BYTE                        byCardRightPlan[MAX_DOOR_NUM][MAX_CARD_RIGHT_PLAN_NUM];
  DWORD                       dwMaxSwipeTime;
  DWORD                       dwSwipeTime;
  WORD                        wRoomNumber;
  WORD                        wFloorNumber;
  BYTE                        byRes2[20];
}NET_DVR_CARD_CFG,*LPNET_DVR_CARD_CFG;

Members

dwSize
The Size of Structure
dwModifyParamType
The card parameters needs to be edited (is valid when doing card parameters configuration). Each byte represents a kind of parameters. 0: Do not edited. -1: Need to be edited.
Macro Definition | Value | Description
CARD_PARAM_CARD_VALID | 0x00000001 | Card Validation Prameters
CARD_PARAM_VALID | 0x00000002 | Validity Parameters
CARD_PARAM_CARD_TYPE | 0x00000004 | Card Type
CARD_PARAM_DOOR_RIGHT | 0x00000008 | Card Permission
CARD_PARAM_LEADER_CARD | 0x00000010 | Leader Card Parameters
CARD_PARAM_SWIPE_NUM | 0x00000020 | Max. Swiping Times
CARD_PARAM_GROUP | 0x00000040 | Related Group
CARD_PARAM_PASSWORD | 0x00000080 | Card Password
CARD_PARAM_RIGHT_PLAN | 0x00000100 | Card Permission Schedule
CARD_PARAM_SWIPED_NUM | 0x00000200 | Swiping Times
byCardNo
Card NO.
byCardValid
Valid Card? 0- No, 1- Yes (used for deleting card)
byCardType
Card Type, 1- Normal Card; 2- Disabled Card; 3- Blacklist Card; 4-Patrol Card; 5- Hijack Card; 6- Super Card; 7- Visitor Card;8- Dismissing card, 0- Invalid
byLeaderCard
Leader Card? 1- Yes; 0- No
byRes1
Reversed, set as 0
dwDoorRight
Door Permission,1- With Permission; 0- No Permission
struValid
Valid Date
dwBelongGroup
Belonged to the Group? 1- Yes; 0- No, represented by bit position.
byCardPassword
Card Password
byCardRightPlan
Card Permission Schedule,The value is the NO. of schedule template.
dwMaxSwipeTime
Max. Swiping Times; 0- No limitation
dwSwipeTime
Swiping Times
wRoomNumber
Room No.
wFloorNumber
Floor number
byRes2
Reserved, Set as 0

See Also

NET_DVR_StartRemoteConfig NET_DVR_SendRemoteConfig


NET_DVR_CARD_CFG_COND

Card Parameters Configuration Conditional Structure

struct{
  DWORD   dwSize;
  DWORD   dwCardNum;
  BYTE    byCheckCardNo;
  BYTE    byRes1[3];
  WORD    wLocalControllerID;
  BYTE    byRes[26];
}NET_DVR_CARD_CFG_COND,*LPNET_DVR_CARD_CFG_COND;

Members

dwSize
The Size of Structure
dwCardNum
Configuring/Getting Card Number, 0xffffffff: Get all card information
byCheckCardNo
Verify Card NO.? 0-No; 1- Yes
byRes1
Reserved, set as 0
wLocalControllerID
Distributed access controller No., means apply offline card parameters to the distributed access controller, 0 means the host
byRes
Reserved, set as 0

Remarks

When Configuring the card parameters, if the value of byCheckCardNo is set as 0, the device will write the card NO. issued by the application layer into local storage without any verification. The upper -layer application must ensure that the card NO. is not repeated ( the integer value of the card number cannot be repeated. for example, the NO.of 1and 01 can not be exist simultaneously. )

See Also

NET_DVR_StartRemoteConfig


NET_DVR_CARD_CFG_SEND_DATA

The Sending Data of Getting Card Parameters.

struct{
  DWORD   dwSize;
  BYTE    byCardNo[ACS_CARD_NO_LEN];
  BYTE    byRes[16];
}NET_DVR_CARD_CFG_SEND_DATA,*LPNET_DVR_CARD_CFG_SEND_DATA;

Members

dwSize
The Size of the Structure
byCardNo
Card NO.
byRes
Reserved, Set as 0

See Also

NET_DVR_SendRemoteConfig


NET_DVR_CARD_CFG_V50

Card parameter configuration structure

struct{
  DWORD                       dwSize;
  DWORD                       dwModifyParamType;
  BYTE                        byCardNo[ACS_CARD_NO_LEN];
  BYTE                        byCardValid;
  BYTE                        byCardType;
  BYTE                        byLeaderCard;
  BYTE                        byRes1;
  BYTE                        byDoorRight[MAX_DOOR_NUM_256];
  NET_DVR_VALID_PERIOD_CFG    struValid;
  BYTE                        byBelongGroup[MAX_GROUP_NUM_128];
  BYTE                        byCardPassword[CARD_PASSWORD_LEN];
  WORD                        wCardRightPlan[MAX_DOOR_NUM_256][MAX_CARD_RIGHT_PLAN_NUM];
  DWORD                       dwMaxSwipeTime;
  DWORD                       dwSwipeTime;
  WORD                        wRoomNumber;
  SHORT                       wFloorNumber;
  DWORD                       dwEmployeeNo;
  BYTE                        byName[NAME_LEN];
  WORD                        wDepartmentNo;
  WORD                        wSchedulePlanNo;
  BYTE                        bySchedulePlanType;
  BYTE                        byRes2[119];
}NET_DVR_CARD_CFG_V50,*LPNET_DVR_CARD_CFG_V50;

Members

dwSize
Structure size
dwModifyParamType
The card parameters needs to be edited (is valid when doing card parameters configuration). Each byte represents a kind of parameters. 0: Do not edited. -1: Need to be edited.
Macro Definition | Value | Description
CARD_PARAM_CARD_VALID | 0x00000001 | Card Validation Prameters
CARD_PARAM_VALID | 0x00000002 | Validity Parameters
CARD_PARAM_CARD_TYPE | 0x00000004 | Card Type
CARD_PARAM_DOOR_RIGHT | 0x00000008 | Card Permission
CARD_PARAM_LEADER_CARD | 0x00000010 | Leader Card Parameters
CARD_PARAM_SWIPE_NUM | 0x00000020 | Max. Swiping Times
CARD_PARAM_GROUP | 0x00000040 | Related Group
CARD_PARAM_PASSWORD | 0x00000080 | Card Password
CARD_PARAM_RIGHT_PLAN | 0x00000100 | Card Permission Schedule
CARD_PARAM_SWIPED_NUM | 0x00000200 | Swiping Times
byCardNo
Card No., special card No. definition as follows:
0xFFFFFFFFFFFFFFFF: illegal card No.
0xFFFFFFFFFFFFFFFE: Duress code
0xFFFFFFFFFFFFFFFD: Super code
0xFFFFFFFFFFFFFFFC~0xFFFFFFFFFFFFFFF1: Reserved special card
0xFFFFFFFFFFFFFFF0: Max. card No.
byCardValid
Valid Card? 0- No, 1- Yes (used for deleting card)
byCardType
Card Type, 1- Normal Card; 2- Disabled Card; 3- Blacklist Card; 4-Patrol Card; 5- Hijack Card; 6- Super Card; 7- Visitor Card; 8- Dismissing card; 9- Staff card; 10- Emergency card; 11- Emergency management card
byLeaderCard
Leader Card? 1- Yes; 0- No
byRes1
Reversed, set as 0
byDoorRight
Door Permission,1- With Permission; 0- No Permission
struValid
Valid Date
byBelongGroup
Belonged to the Group? 1- Yes; 0- No, represented by bit position.
byCardPassword
Card Password
wCardRightPlan
Card Permission Schedule,The value is the NO. of schedule template.
dwMaxSwipeTime
Max. Swiping Times; 0- No limitation
dwSwipeTime
Swiping Times
wRoomNumber
Room No.
wFloorNumber
Floor Number
dwEmployeeNo
Employee No.
byName
Name
wDepartmentNo
Department No.
wSchedulePlanNo
Schedule plan No.
bySchedulePlanType
Schedule plan type: 0- no meaning, 1- personal, 2- department
byRes2
Reserved, Set as 0

Remarks

Card parameter, corresponds to <Card> of access control host capability set:NET_DVR_GetDeviceAbility, type:ACS_ABILITY).

See Also

NET_DVR_StartRemoteConfig NET_DVR_SendRemoteConfig


NET_DVR_CARD_PASSWD_CFG

Structure for enabling open door by card and password

struct{
  DWORD    dwSize;
  BYTE     byCardNo[ACS_CARD_NO_LEN];
  BYTE     byCardPassword[CARD_PASSWORD_LEN];
  DWORD    dwErrorCode;
  BYTE     byCardValid;
  BYTE     byRes2[23];
}NET_DVR_CARD_PASSWD_CFG, *LPNET_DVR_CARD_PASSWD_CFG;

Members

dwSize
Structure size
byCardNo
Card number
byCardPassword
Card password
dwErrorCode
Returned error code for getting the function of opening door by card and password: 0- succeeded, other values- failed
byCardValid
The card is valid or not (It is used to delete the card. When it is 0, delete the card. When it is 1, the card cannot be deleted.): 0- invalid，1- valid
byRes2
Reserved, please set to 0

Remarks

  • It is the capability set that decides whether the device supports opening door by card and password. Corresponding capability set of access controller is AcsAbility, the related interface is NET_DVR_GetDeviceAbility, the capability set type is ACS_ABILITY, and the node is <onlyPasswdOpen> in <Card>.

    • See Also

    NET_DVR_StartRemoteConfig NET_DVR_SendRemoteConfig


NET_DVR_CARD_PASSWD_STATUS

Configuration status structure of enabling card password to open the door。

struct{
  DWORD    dwSize;
  BYTE     byCardNo[ACS_CARD_NO_LEN];
  DWORD    dwErrorCode;
  BYTE     byRes2[24];
}NET_DVR_CARD_PASSWD_STATUS, *LPNET_DVR_CARD_PASSWD_STATUS;

Members

dwSize
Structure size
byCardNo
Card No.
dwErrorCode
Returned error code of card password opening door configuration, 0 indicates successful configuration, other value indicates the corresponded error code.
byRes2
Reserved, set as 0.

Remarks

  • Check if the device has the capability to enable card password to open the door via the device capability, the corresponded access controller capability(AcsAbility), API:NET_DVR_GetDeviceAbility, capability type:ACS_ABILITY, node：<Card>-<onlyPasswdOpen>.

    • See Also

    NET_DVR_StartRemoteConfig


NET_DVR_CARD_READER_ANTI_SNEAK_CFG

Card Reader Anti-passback Configuration Structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwFollowUpCardReader[MAX_SNEAK_PATH_NODE];
  BYTE     byRes2[32];
}NET_DVR_CARD_READER_ANTI_SNEAK_CFG,*LPNET_DVR_CARD_READER_ANTI_SNEAK_CFG;

Members

dwSize
The size of the structure
byEnable
Add anti-passback path? 1- Yes; 0- No.
byRes1
Reserved, set as 0
dwLeaderCardOpenDuration
Subsequent Card Reader NO.
byRes2
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CARD_READER_CFG

Card Reader Configuration Structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byCardReaderType;
  BYTE     byOkLedPolarity;
  BYTE     byErrorLedPolarity;
  BYTE     byBuzzerPolarity;
  BYTE     bySwipeInterval;
  BYTE     byPressTimeout;
  BYTE     byEnableFailAlarm;
  BYTE     byMaxReadCardFailNum;
  BYTE     byEnableTamperCheck;
  BYTE     byOfflineCheckTime;
  BYTE     byFingerPrintCheckLevel;
  BYTE     byUseLocalController;
  BYTE     byRes1;
  WORD     wLocalControllerID;
  WORD     wLocalControllerReaderID;
  WORD     wCardReaderChannel;
  BYTE     byRes[16];
}NET_DVR_CARD_READER_CFG,*LPNET_DVR_CARD_READER_CFG;

Members

dwSize
The size of the structure
byEnable
Whether to enable, 0- no; 1- yes
byCardReaderType
Card Reader Type: 1- DS-K110XM/MK/C/CK,2- DS-K192AM/AMP,3- DS-K192BM/BMP,4- DS-K182AM/AMP,5- DS-K182BM/BMP,6- DS-K182AMF/ACF, 7- Wiegand or 485 offline, 8- DS-K1101M/MK, 9- DS-K1101C/CK, 10- DS-K1102M/MK/M-A, 11- DS-K1102C/CK, 12- DS-K1103M/MK, 13- DS-K1103C/CK, 14- DS-K1104M/MK, 15- DS-K1104C/CK, 16- DS-K1102S/SK/S-A, 17- DS-K1102G/GK, 18- DS-K1100S-B, 19- DS-K1102EM/EMK, 20- DS-K1102E/EK, 21- DS-K1200EF, 22- DS-K1200MF, 23- DS-K1200CF, 24- DS-K1300EF, 25- DS-K1300MF, 26- DS-K1300CF, 27- DS-K1105E, 28- DS-K1105M, 29- DS-K1105C, 30- DS-K182AMF, 31- DS-K196AMF, 32-DS-K194AMP, 3- DS-K1T200EF/EF-C/MF-MF-C/CF/CF-C，34- DS-K1T300EF/EF-C/MF-MF-C/CF/CF-C
byOkLedPolarity
The Polarity of OK LED, 0- Cathode; 1- Anode.
byErrorLedPolarity
The Polarity of Error LED. 0- Cathode; 1- Anode.
byBuzzerPolarity
The Polarity of Buzzer. 0- Cathode; 1- Anode.
bySwipeInterval
Swiping Interval, unit: Second.
byPressTimeout
Key Pressing Timeout Value, unit: Second. Value:1 to 255
byEnableFailAlarm
Enable the alarm of card reading failing. 0- No; 1- Yes.
byMaxReadCardFailNum
The Max. Card Reading Failing Times. Value:1~10
byEnableTamperCheck
Support Tamper-proof? 0- No; 1- Yes.
byOfflineCheckTime
Time of Offline Detection. Unit: Second. Value: 0~255
byFingerPrintCheckLevel
Fingerprint recognition level: 1- 1/10 error rate，2- 1/100 error rate，3- 1/1000 error rate，4- 1/10000 error rate，5- 1/100000 error rate，6- 1/1000000 error rate，7- 1/10000000 error rate，8- 1/100000000 error rate，9- 3/100 error rate，10- 3/1000 error rate，11- 3/10000 error rate，12- 3/100000 error rate，13- 3/1000000 error rate，14- 3/10000000 error rate，15- 3/100000000 error rate，16- Automatic Normal，17- Automatic Secure，18- Automatic More Secure
byUseLocalController
Read only, whether to connect to the distributed access controller: 0- no 1- yes
byRes1
Reserved, set as 0
wLocalControllerID
Read only, distributed access controller number, valid when byUseLocalController=1, 1-255, 0 means not registered
wLocalControllerReaderID
Read only, distributed access controller card reader ID, valid when byUseLocalController=1, 0 means not registered
wCardReaderChannel
Read only, card reader communication channel number, valid when byUseLocalController=1, 0- Wiegand or offline, 1- RS485A, 2- RS485B
byRes
Reserved, set as 0

Remarks

  • Whether the device support card reader parameter configuration or its supported parameter capability can be judged through device capability set. Related access control host capability set:(AcsAbility), API:NET_DVR_GetDeviceAbility, capability set:ACS_ABILITY, node:<CardReaderCfg>.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CARD_READER_PLAN

Card Reader Authentication Schedule Configuration Structure

struct{
  DWORD    dwSize;
  DWORD    dwTemplateNo;
  BYTE     byRes[64];
}NET_DVR_CARD_READER_PLAN,*LPNET_DVR_CARD_READER_PLAN;

Members

dwSize
The size of the structure
dwTemplateNo
Schedule Template No. 0- Cancel the linkage, and restore to the default settings (swipinh card to open the door).
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CARD_USER_INFO_CFG

Card No. related user data configuration structure

struct{
  DWORD    dwSize;
  BYTE     sUsername[NAME_LEN];
  BYTE     byRes2[256];
}NET_DVR_CARD_USER_INFO_CFG,*LPNET_DVR_CARD_USER_INFO_CFG;

Members

dwSize
Structure size
sUsername
User name
byRes2
Reserved, set as 0.

Remarks

  • Check whether the device supports this function via the device capability, the corresponded access control capability is(AcsAbility)，API: NET_DVR_GetDeviceAbility，Capability type: ACS_ABILITY, node: <RealteUserInfo>。

    • See Also

    NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_CARDINFO

Structure of hardware decoding information.

struct{
  LONG                   lChannel;
  LONG                   lLinkMode;
  char                   *sMultiCastIP;
  NET_DVR_DISPLAY_PARA   struDisplayPara;
}NET_DVR_CARDINFO,*LPNET_DVR_CARDINFO;

Members

lChannel
Channel number
lLinkMode
The highest bit (NO.31) equal to 0 means connecting main stream, equal to 1 means sub stream. 0－30 bits mean link mode: 0-TCP, 1-UDP, 2-multicast, 3-RTP, 4-PPPoE, 5-128k, 6-256k, 7－384k, 8－512k
sMultiCastIP
Multicast group address. D type IP ranges from 224.0.0.0~ 239.255.255.255, and users need to confirm that the network environment(network switch) support multicast.
struDisplayPara
Display parameter of hardware decoding

See Also

NET_DVR_DISPLAY_PARA


NET_DVR_CASE_INFO

Event information structure

struct{
  DWORD    dwSize;
  BYTE     byCaseNo[CASE_NO_LEN];
  BYTE     byCaseName[CASE_NAME_LEN];
  BYTE     byLitigant1[LITIGANT_LEN];
  BYTE     byLitigant2[LITIGANT_LEN];
  BYTE     byChiefJudge[CHIEF_JUDGE_LEN];
  BYTE     byCaseType;
  BYTE     byShowCaseInfoTime;
  BYTE     byRes1[2];
  char     sCaseTypeCustom[NET_SDK_CASETYPE_LEN];
  BYTE     byRes[220];
}NET_DVR_CASE_INFO,*LPNET_DVR_CASE_INFO;

Members

dwSize
Structure size
byCaseNo
Case No.
byCaseName
Case name
byLitigant1
Litigant 1
byLitigant2
Litigant 2
byChiefJudge
Chief judge
byCaseType
Case type: 1- criminal, 2- civil, 3- custom
byShowCaseInfoTime
Case information display time, unit:s, range: 1-30
byRes1
Reserved, set as 0
sCaseTypeCustom
Custom case type description, valid when byCaseType=3
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CASE_SENSOR_CFG

Event alar input parameters configuration structure

struct{
  DWORD    dwSize;
  BYTE     byHostBuzzer;
  BYTE     byRes1[3];
  BYTE     byCardReaderBuzzer[MAX_CARD_READER_NUM];
  BYTE     byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE     byDoorOpen[MAX_DOOR_NUM];
  BYTE     byDoorClose[MAX_DOOR_NUM];
  BYTE     byRes2[64];
}NET_DVR_CASE_SENSOR_CFG,*LPNET_DVR_CASE_SENSOR_CFG;

Members

dwSize
Structure size
byHostBuzzer
Trigger controller buzzer? 0- No, 1- Yes
byRes1
Reserved, set as 0.
byCardReaderBuzzer
Card reader buzzer,the subscript indicates the card reader No., Value:1- Trigger, 0- Not Trigger, eg. byCardReaderBuzzer[i]=1 indicates to trigger the (i+1) buzzer
byAssociateAlarmOut
Associated alarm output, the subscript indicates the output No., Value: 1- Associate, 0- Not associate, eg. byAssociateAlarmOut[i]=1 indicates to associate the (i+1) alarm output.
byDoorOpen
Associated door opening, the subscript indicates the door No.,Value: 1- Associate, 0- Not associate, eg. byDoorOpen[i]=1 indicates to open the (i+1) associating door.
byDoorClose
Associated door closing, the subscript indicates the door No.,Value: 1- Associate, 0- Not associate, eg. byDoorClose[i]=1 indicates to close the (i+1) associating door.
byRes2
Reserved, set as 0.

Remarks

One event alarm input cannot associate to open and close a door at the same time.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CB_POINT

Sub structure of calibration point.

struct{
  NET_VCA_POINT     struPoint;
  NET_DVR_PTZPOS    struPtzPos;
  BYTE              byRes[8];
}NET_DVR_CB_POINT, LPNET_DVR_CB_POINT;

Members

struPoint
calibration point, main camera(box camera). The value is normalized to 0~1
struPtzPos
PTZ position input by dome
byRes
Reserved

See Also

NET_VCA_POINT NET_DVR_PTZPOS


NET_DVR_CENTER_SERVER_CFG

Central alarm monitoring station server configuration structure

struct{
  DWORD    dwSize;
  BYTE     byAddressType;
  BYTE     byRes1;
  WORD     wServerPort;
  union{
           struct{
           BYTE              szDomain[MAX_DOMAIN_NAME];
           BYTE              byRes2[80];
           }struDomain;
           struct{
           NET_DVR_IPADDR    struIp;
           }struAddrIP;
  }unionServer;
  WORD     wInterval;
  BYTE     byRes3[514];
}NET_DVR_CENTER_SERVER_CFG,*LPNET_DVR_CENTER_SERVER_CFG;

Members

dwSize
Structure size
byAddressType
Address type：0- ipv4/ipv6 address，1- domain name
byRes1
Reserved, set as 0.
wServerPort
Server port
unionServer is the union of server address.
szDomain
Server address, Domain name byAddressType is valid when it is 1.
byRes2
Reserved, set as 0.
struIp
IPv4 or IPv6 address(144 bytes)，byAddressType is valid when it is 0.
wInterval
Alarming interval time, unit: s
byRes3
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CENTRALIZEDCTRL_CFG

Structure of Centralized Arming Parameter

struct{
  DWORD                dwSize;
  BYTE                 byEnable;
  BYTE                 byLatitudeType;
  BYTE                 byLongitudeType;
  BYTE                 byRes1;
  NET_DVR_LLI_PARAM    struLatitude;
  NET_DVR_LLI_PARAM    struLongitude;
  DWORD                dwTimeOut;
  BYTE                 byControlType;
  BYTE                 byRes[127];
}NET_DVR_CENTRALIZEDCTRL_CFG, *LPNET_DVR_CENTRALIZEDCTRL_CFG;

Members

dwSize
Structure大小
byEnable
Enable: 0- End, 1- Start
byLatitudeType
Latitude Type: 0- North Latitude, 1- South Latitude
byLongitudeType
Longitude Type：0- East Longitude, 1- West Longitude
byRes1
Reserved
struLatitude
Latitude Information
struLongitude
Longitude Information
dwTimeOut
Timeout Value Range: [60, 6*60*60], Unit: s
byControlType
Centralized Arming Type: 0- Forced Arm, 1- Not Forced Arm
byRes
Reserved

Remarks

  • Centralized Arming: The system can centralized control a batch of GIS cameras on the GIS map. It can control up to 50 cameras to detect one direction. The system will download the required latitude and longitude to each camera. The camera will rotate to the target direction. The centralized arming includes the forced arming and the not forced arming. Forced Arming: The camera will unconditionally rotate to the target direction if the system downloads the latitude and longitude parameters to the camera; Not Forced Arming: The camera will analyze whether the downloaded latitude and longitude parameters are in the GIS range or not. If not, the camera will not rotate.
  • Judge whether the device supports centralized arming and its parameters or not by the device capability set. The capability set of the corresponding centralized arming (CentralizedControl), Interface: NET_DVR_GetSTDAbility, Capability Set Type: NET_DVR_GET_CENTRALIZEDCTRL_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_CERT_INFO

Structure of certificate information

struct{
  DWORD                  dwSize;
  NET_DVR_CERT_PARAM     struCertParam;
  DWORD                  dwValidDays;
  BYTE                   byPasswd[NAME_LEN];
  NET_DVR_CERT_NAME      struCertName;
  NET_DVR_CERT_NAME      struIssuerName;
  NET_DVR_TIME_EX        struBeginTime;
  NET_DVR_TIME_EX        struEndTime;
  BYTE                   serialNumber[NAME_LEN];
  BYTE                   byVersion;
  BYTE                   byKeyAlgorithm;
  BYTE                   byKeyLen;
  BYTE                   bySignatureAlgorithm;
  BYTE                   byRes[128];
}NET_DVR_CERT_INFO,*LPNET_DVR_CERT_INFO;

Members

dwSize
Structure size
struCertParam
Certificate parameter
dwValidDays
Period of validity, valid when it is the self-signed certificate
byPasswd
Private key password
struCertName
Certificate name
struIssuerName
Certificate issuer (valid when to get the self-signed certificate information)
struBeginTime
Certificate notBefore(valid when to get the self-signed certificate information)
struEndTime
Certificate notAfter(valid when to get the self-signed certificate information)
serialNumber
Certificate serial number(valid when to get the self-signed certificate information)
byVersion
Certificate version
byKeyAlgorithm
Encryption type: 0- RSA, 1- DSA
byKeyLen
The length of the encryption: 0- 512, 1- 1024, 2- 2048
bySignatureAlgorithm
The type of signature algorithm (valid when to get the self-signed certificate information)
byRes
Reserved, please set to 0

See Also

NET_DVR_RemoteControl NET_DVR_GetDeviceConfig


NET_DVR_CERT_NAME

Structure of certificate name

struct{
  BYTE    byCountry[MAX_COUNTRY_NAME_LEN];
  BYTE    byState[MAX_DOMAIN_NAME];
  BYTE    byLocality[MAX_DOMAIN_NAME];
  BYTE    byOrganization[MAX_DOMAIN_NAME];
  BYTE    byUnit[MAX_DOMAIN_NAME];
  BYTE    byCommonName[MAX_DOMAIN_NAME];
  BYTE    byEmail[MAX_DOMAIN_NAME];
  BYTE    byRes[128];
}NET_DVR_CERT_NAME,*LPNET_DVR_CERT_NAME;

Members

byCountry
Country(abbreviation), e.g. CN
byState
State or province
byLocality
Locality
byOrganization
Organization
byUnit
Unit
byCommonName
Domain name or IP address
byEmail
Email address
byRes
Reserved, please set to 0

See Also

NET_DVR_CERT_INFO


NET_DVR_CERT_PARAM

Structure of certificate parameter

struct{
  DWORD    dwSize;
  WORD     wCertFunc;
  WORD     wCertType;
  BYTE     byFileType;
  BYTE     byRes[35];
}NET_DVR_CERT_PARAM, *LPNET_DVR_CERT_PARAM;

Members

dwSize
Structure size
wCertFunc
The certificate function: 0- 802.1x, 1- HTTPS
wCertType
The certificate type: 0- CA, 1- Certificate, 2- private key file
byFileType
The certificate file type: 0- PEM, 1- PFX
byRes
Reserved, please set to 0

See Also

NET_DVR_CERT_INFO


NET_DVR_CHAN_GROUP_RECORD_STATUS

Structure of one group channel recording status

struct{
  DWORD                          dwSize;
  NET_DVR_CHANS_RECORD_STATUS    struChanStatus[64];
}NET_DVR_CHAN_GROUP_RECORD_STATUS,*LPNET_DVR_CHAN_GROUP_RECORD_STATUS;

Members

dwSize
Structure size
struChanStatus
Channel recording status, 64 channels for one group

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CHAN_INFO

Structure of device channel information

struct{
  DWORD            dwSize;
  BYTE             byValid;
  BYTE             byUsed;
  BYTE             byRes1[2];
  BYTE             sChanName[NAME_LEN];
  NET_DVR_COLOR    struVideoColor;
  BYTE             byRes2[44];
}NET_DVR_CHAN_INFO,*LPNET_DVR_CHAN_INFO;

Members

dwSize
Structure size
byValid
Whether this channle is vaild or not: 0- invalid, 1- valid
byUsed
Whether this channel is used or not: 0- not used, 1- in use
byRes1
Reserved, please set to 0
sChanName
Channel name
struVideoColor
Signal source video color
byRes2
Reserved, please set to 0

See Also

NET_DVR_CODEDEV_INFO


NET_DVR_CHANNEL

Device Channel Parameters Structure

struct{
  BYTE     byAddress[MAX_DOMAIN_NAME];
  WORD     wDVRPort;
  BYTE     byRes1[2];
  BYTE     sUserName[NAME_LEN];
  BYTE     sPassword[PASSWD_LEN];
  DWORD    dwChannel;
  BYTE     byRes2[32];
}NET_DVR_CHANNEL,*LPNET_DVR_CHANNEL;

Members

byAddress
Device IP address or domain name
wDVRPort
Device port No.(default: 8000)
byRes1
Reserved, set as 0.
sUserName
Set device user name
sPassword
Device password
dwChannel
Channel No., start from 1.
byRes2
Reserved, set as 0.

See Also

NET_DVR_SLAVE_CHANNEL_UNION NET_DVR_TRACK_DEV_PARAM


NET_DVR_CHANNEL_GROUP

Structure of channel number and group number info

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwGroup;
  BYTE     byRes[64];
}NET_DVR_CHANNEL_GROUP,*LPNET_DVR_CHANNEL_GROUP;

Members

dwSize
Structure size
dwChannel
Channel
dwGroup
Group number
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_CHANNEL_INDEX

Structure of channel number and index

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwIndex;
  BYTE     byRes[64];
}NET_DVR_CHANNEL_INDEX,*LPNET_DVR_CHANNEL_INDEX;

Members

dwSize
Structure size
dwChannel
Channel number
dwIndex
Index number
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_CHANNELSTATE

Structure of channel information.

struct{
  BYTE    byRecordStatic;
  BYTE    bySignalStatic;
  BYTE    byHardwareStatic;
  char    reservedData;
  DWORD   dwBitRate;
  DWORD   dwLinkNum;
  DWORD   dwClientIP[MAX_LINK];
}NET_DVR_CHANNELSTATE,*LPNET_DVR_CHANNELSTATE;

Members

byRecordStatic
whether the channel is recoring, 0- no, 1- yes
bySignalStatic
Video signal status: 0-normal, 1-lost
byHardwareStatic
Hardware status of channel: 0-normal, 1-abnormal(e.g. exception in DSP)
reservedData
Reserved, please set to 0
dwBitRate
Actual bitrate
dwLinkNum
Connected client number
dwClientIP
IP of the connected client


NET_DVR_CHANNELSTATE_V30

Structure of channel state information.

struct{
  BYTE             byRecordStatic;
  BYTE             bySignalStatic;
  BYTE             byHardwareStatic;
  BYTE             byRes1;
  DWORD            dwBitRate;
  DWORD            dwLinkNum;
  NET_DVR_IPADDR   struClientIP[MAX_LINK];
  DWORD            dwIPLinkNum;
  BYTE             byExceedMaxLink;
  BYTE             byRes[11];
}NET_DVR_CHANNELSTATE_V30,*LPNET_DVR_CHANNELSTATE_V30;

Members

byRecordStatic
Whether the channel is recording, 0- no, 1- yes
bySignalStatic
Video signal status: 0- normal, 1- lost
byHardwareStatic
Hardware state of the channel: 0-normal, 1-abnormal(e.g. exception in DSP)
byRes1
Reserved.Please set it to 0
dwBitRate
Actual bitrate
dwLinkNum
The total number of the clients connected with the channel
struClientIP
IP of the client
dwIPLinkNum
If the current channel is IP channel, then this parameter represents the total number of links with the IP channel
byExceedMaxLink
Whether it exceeds 6 links for one channel: 0- no, 1- yes
byRes
Reserved. Please set it to 0

See AlsoSee Also

NET_DVR_WORKSTATE_V30 NET_ITS_WORKSTATE


NET_DVR_CHANS_RECORD_STATUS

Structure of channel recording status

struct{
  BYTE     byValid;
  BYTE     byRecord;
  WORD     wChannelNum;
  DWORD    dwRelatedHD;
  BYTE     byRes[8];
}NET_DVR_CHANS_RECORD_STATUS,*LPNET_DVR_CHANS_RECORD_STATUS;

Members

byValid
Whether it is invalid: 0- invalid, 1- valid
byRecord
Recording status(read-only): 0- not recording, 1- be recording
wChannelNum
Channel number, 0xffff means invalid
dwRelatedHD
Associated hard disk
byRes
Reserved, please set to 0

See Also

NET_DVR_CHAN_GROUP_RECORD_STATUS


NET_DVR_CID_ALARM

Structure of CID alarm information

struct{
  DWORD              dwSize;
  BYTE               sCIDCode[CID_CODE_LEN];
  BYTE               sCIDDescribe[NAME_LEN];
  NET_DVR_TIME_EX    struTriggerTime;
  NET_DVR_TIME_EX    struUploadTime;
  BYTE               sCenterAccount[ACCOUNTNUM_LEN];
  BYTE               byReportType;
  BYTE               byUserType;
  BYTE               sUserName[NAME_LEN];
  WORD               wKeyUserNo;
  BYTE               byKeypadNo;
  BYTE               bySubSysNo;
  WORD               wDefenceNo;
  BYTE               byVideoChanNo;
  BYTE               byDiskNo;
  WORD               wModuleAddr;
  BYTE               byCenterType;
  BYTE               byRes1;
  BYTE               sCenterAccountV40[ACCOUNTNUM_LEN_32];
  BYTE               byRes2[28];
}NET_DVR_CID_ALARM,*LPNET_DVR_CID_ALARM;

Members

dwSize
Structure Size
sCIDCode
CID event No., see NET_DVR_ALARMHOST_CID_MINOR_TYPE
sCIDDescribe
CID Event Name
struTriggerTime
Alarm Triggering Time Point
struUploadTime
Alarm Uploading Time Point
sCenterAccount
Center account, vaild when byCenterType is 0 or 1
byReportType
Report type, detailed definition is as the follows:
enum _NET_DVR_ALARMHOST_REPORT_TYPE_{
  NET_DVR_DEFENCE_ALARM = 1,
  NET_DVR_VIDEO_ALARM,
  NET_DVR_VIRTUAL_DEFENCE_ALARM,
  NET_DVR_HOSTAGE_ALARM,
  NET_DVR_KNOCK_DOWN_ALARM,
  NET_DVR_OPERATE_ALARM,
  NET_DVR_OHTER_ABNORMAL_ALARM
}NET_DVR_ALARMHOST_REPORT_TYPE
NET_DVR_DEFENCE_ALARM
Zone Alarm
NET_DVR_VIDEO_ALARM
Video Alarm
NET_DVR_VIRTUAL_DEFENCE_ALARM
Soft Zone Alarm
NET_DVR_HOSTAGE_ALARM
Duress Alarm
NET_DVR_KNOCK_DOWN_ALARM
Tamper-Proof Alarm
NET_DVR_OPERATE_ALARM
Operation Report
NET_DVR_OHTER_ABNORMAL_ALARM
Exception Report
byUserType
User Type: 0-Network User, 1- Keyboard User
sUserName
Network User Name
wKeyUserNo
Keyboard User No.，0xFFFF means invalid
byKeypadNo
Keyboard No., 0xFF means invalid
bySubSysNo
Subsystem No., 0xFF means invalid
wDefenceNo
Zone No., 0xFFFFmeans invalid
byVideoChanNo
Video Channel No., 0xFF means invalid
byDiskNo
HDD No., 0xFF means invalid
wModuleAddr
Module Address, 0xFFFF means invalid
byCenterType
Center Account Type: 0- Invalid, 1- Center Account (the length is 6), 2- Extended Center Account (the length is 32)
byRes1
Reserved
sCenterAccountV40
Center Account Expansion, invalid when byCenterType is 2
byRes2
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_CLEARCTRL

Clear configuration information

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  BYTE     byAllPreset;
  BYTE     byAllPatrols;
  BYTE     byAllPatterms;
  BYTE     byAllPrivacyMasks;
  BYTE     byAllPTZLimited;
  BYTE     byAllScheduledTasks;
  BYTE     byAllParkAction;
  BYTE     byRes[125];
}NET_DVR_CLEARCTRL, *LPNET_DVR_CLEARCTRL;

Members

dwSize
Size of the structure
dwChan
Device channel No.
byAllPreset
Clear all presets? 0- No, 1- Yes
byAllPatrols
Clear all patrol?0- No, 1- Yes
byAllPatterms
Clear all patterms?0- No, 1- Yes
byAllPrivacyMasks
Clear all privacy mask?：0- No, 1- Yes
byAllPTZLimited
Clear all limit?：0- No, 1- Yes
byAllScheduledTasks
Clear all scheduled task?：0- No, 1- Yes
byAllParkAction
Clear all park action? 0- No, 1- Yes
byRes
Reserved

See Also

NET_DVR_RemoteControl


NET_DVR_CLIENTINFO

Structure of preview information.

struct{
  LONG    lChannel;
  LONG    lLinkMode;
  HWND    hPlayWnd;
  char    *sMultiCastIP;
}NET_DVR_CLIENTINFO, *LPNET_DVR_CLIENTINFO;

Members

lChannel
channel number
lLinkMode
If 31st bit is 0, it means connecting main stream, 1 means sub stream. Bit 0~bit 30 are used for link mode: 0- TCP, 1- UDP, 2- multicast
hPlayWnd
Handle of playing window. If the value is NULL, it doesn't display image
sMultiCastIP
Multicast IP address

Remarks

If the parameter hPlayWnd is NULL, the client will not decode after receiving the data, but it can still record.
If user selects normal protocol and the device supports RTSP, the SDK will be changed to RTSP protocol to connect device.

In Linux system

For v4.1 SDK or above version,HWND means the handle of playing window, defined as below:
typedef unsigned int HWND;

If you use the Qt interface development, here take an example:

NET_DVR_CLIENTINFO tmpclientinfo;
tmpclientinfo.hPlayWnd = (HWND)m_framePlayWnd->GetPlayWndId();

For the SDK under v4.1, HWND is defined as below:

typedef struct __PLAYRECT
{
int x; //X axis coordinate of the display region’s upper left corner
int y; //Y axis coordinate of the display region’s upper left corner
int uWidth; //Width of the display region
int uHeight; //Height of the display region
}PLAYRECT;
typedef PLAYRECT HWND;

For the structure NET_DVR_CLIENTINFO, if hPlayWnd = {0}, SDK can still get stream but not decode and display, so it is able to record on the client end. It is not able to set hPlayWnd = 0(that is, NULL), or it will result to crumble when calling hPlayWnd.x.


NET_DVR_CLOUD_STORAGE_CFG

The structure of cloud storage configuration

struct{
  DWORD    dwSize;
  BYTE     byEnableCS;
  BYTE     byRes[511];
}NET_DVR_CLOUD_STORAGE_CFG,*LPNET_DVR_CLOUD_STORAGE_CFG;

Members

dwSize
The size of the structure
byEnableCS
Enable the cloud storage service? 0-disable, 1- enable
byRes
Reserved

Remarks

  • After enabling the cloud storage service, this device can be used as the cloud storage server for other devices.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CLOUDSTORAGE_CFG

Cloud Storage Configuration Structure

struct{
  DWORD                dwSize;
  BYTE                 byEnable;
  BYTE                 byRes[3];
  NET_DVR_IPADDR       struIP;
  WORD                 wPort;
  BYTE                 byRes1[2];
  char                 szUser[CLOUD_NAME_LEN];
  char                 szPassword[CLOUD_PASSWD_LEN];
  NET_DVR_POOLPARAM    struPoolInfo[16];
  BYTE                 byRes2[128];
}NET_DVR_CLOUDSTORAGE_CFG,*LPNET_DVR_CLOUDSTORAGE_CFG;

Members

dwSize
The size of the structure
byEnable
Enable? 0-Not enable, 1-Enable
byRes
Reserved, set as 0
struIP
Cloud storage server IP address
wPort
Cloud storage server port No.
byRes1
Reserved, set as 0.
szUser
Server username
szPassword
Server password
struPoolInfo
Cloud storage data pool parameters, 0- Checkpoint picture storage, 1- Violation picture storage, 2- Vehicle Detection Storage 2(IPC/IPD)
byRes2
Reserved,set as 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_CLOUDSTORAGE_COND

The Structure of Cloud Storage Configuration Condition

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes1[64];
}NET_DVR_CLOUDSTORAGE_COND,*LPNET_DVR_CLOUDSTORAGE_COND;

Members

dwSize
The size of the structure
dwChannel
Camera No.
byRes1
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA

Structure of the recording parameter triggered by external command

struct{
  NET_DVR_STREAM_INFO    struStreamInfo;
  DWORD                  dwCmdType;
  DWORD                  dwRecordTimeLen;
  BYTE                   byEventID[MAX_EVENTID_LEN];
  BYTE                   byRes[128];
}NET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA,*LPNET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA;

Members

struStreamInfo
Stream information
dwCmdType
The type of external command, used as the command code identification
dwRecordTimeLen
Duration of the recording, unit: s
byEventID
Event ID, used for additional information
byRes
Reserved, please set to 00

See Also

NET_DVR_RemoteControl


NET_DVR_CMOSMODECFG

Camera lens configuration in CMOS mode

struct{
  BYTE    byCaptureMod;
  BYTE    byBrightnessGate;
  BYTE    byCaptureGain1;
  BYTE    byCaptureGain2;
  DWORD   dwCaptureShutterSpeed1;
  DWORD   dwCaptureShutterSpeed2;
  BYTE    byRes[4];
}NET_DVR_CMOSMODECFG, *LPNET_DVR_CMOSMODECFG;

Members

byCaptureMod
Snapping mode: 0-snapping mode 1;1-snapping mode 2
byBrightnessGate
Threshold of brightness
byCaptureGain1
Gain 1 of capture: 0-100
byCaptureGain2
Gain 2 of capture: 0-100
dwCaptureShutterSpeed1
Speed 1 of capture shutter
dwCaptureShutterSpeed2
Speed 2 of capture shutter
byRes
Reserved

See Also

NET_DVR_CAMERAPARAMCFG


NET_DVR_CMS_PARAM

Platform parameter structure

struct{
  DWORD             dwSize;
  NET_DVR_IPADDR    struAddr;
  WORD              wServerPort;
  BYTE              bySeverProtocolType;
  BYTE              byStatus;
  BYTE              sDeviceId[NAME_LEN];
  char              sPassWord[PASSWD_LEN];
  BYTE              sPlatformEhomeVersion[NAME_LEN];
  BYTE              byNetWork;
  BYTE              byAddressType;
  BYTE              byRes1[2];
  BYTE              sDomainName[MAX_DOMAIN_NAME];
  BYTE              byRes[140];
}NET_DVR_CMS_PARAM,*LPNET_DVR_CMS_PARAM;

Members

dwSize
Structure size
struAddr
Platform server IP address, valid when byAddressType=0 or 1
wServerPort
Platform server listening port, Ehome platform default listening port is 7660
bySeverProtocolType
Platform protocol type: 1- private, 2- Ehome
byStatus
Device registration status to the platform: 1- not registered, 2- registered
sDeviceId
Device ID, provided by platform
sPassWord
Password
sPlatformEhomeVersion
Platform EHOME protocol version, e.g., EhomeV2.1-3.0,PU V2.0.0
byNetWork
Network type: 0- no meaning, 1- auto, 2- wired network priority, 3- wired network, 4- mobile network (3G network)
byAddressType
Server address type: 0- no meaning, 1- ipv4/ipv6 address, 2- domain name
byRes1
Reserved, set as 0
sDomainName
Platform server domain name, valid when byAddressType=2
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CMSPARAM

Structure of CMS parameter.

struct{
  DWORD              dwSize;
  NET_DVR_IPADDR     struCmsAddr;
  WORD               wCmsPort;
  BYTE               byRes1[2];
  BYTE               sDeviceID[NAME_LEN];
  BYTE               byPassword[PASSWD_LEN];
  NET_DVR_IPADDR     struPicServerAddr;
  WORD               wPicServerPort;
  WORD               wCmsUdpPort;
  BYTE               byRes2[12];
}NET_DVR_CMSPARAM,*LPNET_DVR_CMSPARAM;

Members

dwSize
Structure size
struCmsAddr
IP of the registration server
wCmsPort
Port of the registration server
byRes1
Reserved, please set to 0
sDeviceID
Device ID
byPassword
Device password
struPicServerAddr
Address of picture server
wPicServerPort
Port of picture server
wCmsUdpPort
Port of CMS used for UDP external network inquiry
byRes2
Reserved, please set to 0

See Also

NET_DVR_IPADDR
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CODEDEV_INFO

Structure of encoding sub-device information

struct{
  NET_DVR_CHAN_INFO    struChanInfo[MAX_CHANNUM];
}NET_DVR_CODEDEV_INFO,*LPNET_DVR_CODEDEV_INFO;

Members

struChanInfo
Device channel information

See Also

NET_DVR_DIFFDEV_INFO


NET_DVR_CODESPLITTERINFO

Structure of code-splitter parameters.

struct{
  DWORD                dwSize;
  NET_DVR_IPADDR       struIP;
  WORD                 wPort;
  BYTE                 byRes1[6];
  BYTE                 sUserName[NAME_LEN];
  BYTE                 sPassword[PASSWD_LEN];
  BYTE                 byChan;
  BYTE                 by485Port;
  BYTE                 byRes2[14];
}NET_DVR_CODESPLITTERINFO, *LPNET_DVR_CODESPLITTERINFO;

Members

dwSize
Structure size
struIP
IP of codesplitter
wPort
Port number of codesplitter
byRes1
Reserved
sUserName
User name of codesplitter
sPassword
Password of codesplitter
byChan
RS-485 channel number of codesplitter
by485Port
RS-485 address of codesplitter
byRes2
Reserved

See Also

NET_DVR_IPADDR


NET_DVR_COLOR

Structure of image parameters.

struct{
  BYTE    byBrightness;
  BYTE    byContrast;
  BYTE    bySaturation;
  BYTE    byHue;
}NET_DVR_COLOR, *LPNET_DVR_COLOR;

Members

byBrightness
Brightness, range: [0,255]
byContrast
Contrast, range: [0,255]
bySaturation
Saturation, range: [0,255]
byHue
Hue, range: [0,255]


NET_DVR_COLOR_TEMPERATURE_CFG

Structure of colour temperature.

struct{
  BYTE    byRed;
  BYTE    byGreen;
  BYTE    byBlue;
  BYTE    byRedOffset;
  BYTE    byGreenOffset;
  BYTE    byBlueOffset;
  BYTE    byRes[6];
}NET_DVR_COLOR_TEMPERATURE_CFG,*LPNET_DVR_COLOR_TEMPERATURE_CFG;

Members

byGainR
Red gain: 0~100
byGainG
Green gain: 0~100
byGainB
Blue gain: 0~100
byOffsetR
Red offset: 0~100
byOffsetG
Green offset: 0~100
byOffsetB
Blue offset: 0~100
byRes
Reseved, please set to 0

See Also

NET_DVR_SCREEN_DISPLAY_CFG NET_DVR_MSC_SCREEN_PARAM


NET_DVR_COMPASS_COND

Structure of Controlling Compass Calibration/Pointing to North Controlling Condition Parameters

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[128];
}NET_DVR_COMPASS_COND,*LPNET_DVR_COMPASS_COND;

Members

dwSize
Structure Size
dwChannel
Channel No.
byRes
Reserved. Set to 0.

Remarks

  • Judge Whether the device supports controlling compass calibration and controlling capability of pointing to north or not by Capability Set. The corresponded compass Capability Set(CompassCap), Interface: NET_DVR_GetSTDAbility，Capability Set Type: NET_DVR_GET_COMPASS_CAPABILITIES, Node: <isSupportCalibrate>and <isSupportPointToNorth>.

See Also

NET_DVR_STDControl


NET_DVR_COMPLETE_RESTORE_INFO

The configuration parameters of restoring to the default settings

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[64];
}NET_DVR_COMPLETE_RESTORE_INFO,*LPNET_DVR_COMPLETE_RESTORE_INFO;

Members

dwSize
The size of the structure
dwChannel
Device channel No.(invalid currently)
byRes
Reserved, set as 0.

Remarks

Remotely control the device to store to the default settings, and the IP address of the device will be restore to 192.0.0.64.

See Also

NET_DVR_RemoteControl


NET_DVR_COMPRESSION_AUDIO

Strucutre of voice talk configuration.

struct{
  BYTE    byAudioEncType;
  BYTE    byres[7];
}NET_DVR_COMPRESSION_AUDIO, *LPNET_DVR_COMPRESSION_AUDIO;

Members

byAudioEncType
Audio encoding format : 0- OggVorbis, 1- G711_U, 2- G711_A, 5- MP2L2, 6- G726, 7- AAC.
byres
Reserved.Please set it to 0

Remarks

It requires the support of the device to set the encoding format, and the configuration will take effect after rebooting the device. When call NET_DVR_GetDVRConfig and it returns FALSE, please call NET_DVR_GetLastError to get the last error. If the error code is 23, it means the audio encoding format of the device is OggVorbis.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_COMPRESSION_INFO

Structure of stream compression parameters.

struct{
  BYTE     byStreamType;
  BYTE     byResolution;
  BYTE     byBitrateType;
  BYTE     byPicQuality;
  DWORD    dwVideoBitrate;
  DWORD    dwVideoFrameRate;
}NET_DVR_COMPRESSION_INFO, *LPNET_DVR_COMPRESSION_INFO;

Members

byStreamType
Stream type: 0- video stream, 1- video & audio stream
For event compression parameter(struEventRecordPara), the highest bit of byStreamType (byStreamType & 0x80) means whether to enable event compression parameter or not.
byResolution
Resolution: 0- DCIF, 1- CIF, 2- QCIF, 3- 4CIF, 4- 2CIF
byBitrateType
Bitrate type: 0- variable bit, 1- fixed bitrate
byPicQuality
Image quality: 0- best, 1- better, 2- good, 3- normal, 4- lower, 5- lowest
dwVideoBitrate
Upper-limit of bitrate: 0- reserved, 1- 16K(reserved), 2- 32K, 3- 48k, 4- 64K, 5- 80K, 6- 96K, 7- 128K, 8- 160k, 9- 192K, 10- 224K, 11- 256K,, 12- 320K, 13- 384K, 14- 448K, 15- 512K, 16- 640K, 17- 768K, 18-896K, 19- 1024K, 20- 1280K, 21- 1536K, 22- 1792K, 23- 2048K.
If the 31th bit is set as 1, it means customized bitrate, and bit 0~30 are used for the bit rate: from 16k to 8192k
dwVideoFrameRate
Frame rate: 0- all, 1- 1/16, 2- 1/8, 3- 1/4, 4- 1/2, 5- 1, 6- 2, 7- 4, 8- 6, 9- 8, 10- 10, 11- 12, 12- 16, 13- 20


NET_DVR_COMPRESSION_INFO_EX

Structure of stream compression parameters.

struct{
  BYTE     byStreamType;
  BYTE     byResolution;
  BYTE     byBitrateType;
  BYTE     byPicQuality;
  DWORD    dwVideoBitrate;
  DWORD    dwVideoFrameRate;
  WORD     wIntervalFrameI;
  BYTE     byIntervalBPFrame;
  BYTE     byRes;
}NET_DVR_COMPRESSION_INFO_EX, *LPNET_DVR_COMPRESSION_INFO_EX;

Members

byStreamType
Stream type: 0- video stream, 1- video & audio stream
For event compression parameter(struEventRecordPara), the highest bit of byStreamType (byStreamType & 0x80) means whether to enable event compression parameter or not.
byResolution
Resolution: 0- DCIF, 1- CIF, 2- QCIF, 3- 4CIF, 4- 2CIF, 16- VGA, 17- UXGA, 18- SVGA, 19- HD720p
byBitrateType
Bitrate type: 0- variable bit, 1- fixed bitrate
byPicQuality
Image quality: 0- best, 1- better, 2- good, 3- ormal, 4- lower, 5- lowest
dwVideoBitrate
Upper-limit of bitrate: 0- reserved, 1- 16K(reserved), 2- 32K, 3- 48k, 4- 64K, 5- 80K, 6- 96K, 7- 128K, 8- 160k, 9- 192K, 10- 224K, 11- 256K,, 12- 320K, 13- 384K, 14- 448K, 15- 512K, 16- 640K, 17- 768K, 18-896K, 19- 1024K, 20- 1280K, 21- 1536K, 22- 1792K, 23- 2048K.
If the 31th bit is set as 1, it means customized bitrate, and bit 0~30 are used for the bit rate: from 16k to 8192k
dwVideoFrameRate
Frame rate: 0- all, 1- 1/16, 2- 1/8, 3- 1/4, 4- 1/2, 5- 1, 6- 2, 7- 4, 8- 6, 9- 8, 10- 10, 11- 12, 12- 16, 13- 20, 14- 15, 15- 18, 16- 22
wIntervalFrameI
Interval of frame I, 0xffff- invalid
byIntervalBPFrame
Frame format: 0- BBP, 1- BP, 2- single P frame, 0xff- invalid
byRes
Reserved.Please set it to be 0


NET_DVR_COMPRESSION_INFO_V30

Structure of stream compression parameters.

struct{
  BYTE     byStreamType;
  BYTE     byResolution;
  BYTE     byBitrateType;
  BYTE     byPicQuality;
  DWORD    dwVideoBitrate;
  DWORD    dwVideoFrameRate;
  WORD     wIntervalFrameI;
  BYTE     byIntervalBPFrame;
  BYTE     byres1;
  BYTE     byVideoEncType;
  BYTE     byAudioEncType;
  BYTE     byVideoEncComplexity;
  BYTE     byEnableSvc;
  BYTE     byFormatType;
  BYTE     byAudioBitRate;
  BYTE     bySteamSmooth;
  BYTE     byAudioSamplingRate;
  BYTE     bySmartCodec;
  BYTE     byres;
  WORD     wAverageVideoBitrate;
}NET_DVR_COMPRESSION_INFO_V30, *LPNET_DVR_COMPRESSION_INFO_V30;

Members

byStreamType
Stream type: 0- video stream, 1- video & audio stream, 0xfe- auto(same as the source)
For event compression parameter(struEventRecordPara), the highest bit of byStreamType (byStreamType & 0x80) means whether to enable event compression parameter or not, which is, when configuring struEventRecordPara:
byStreamType&0x80 == 0 means disable event compression parameters;
(byStreamType&0x80 == 1)&&(byStreamType&0x7f == 0) means enable event compression parameters and set stream type to video stream;
(byStreamType&0x80 == 1)&&(byStreamType&0x7f == 1) means enable event compression parameters and set stream type to video & audio stream;
byStreamType==0xfe means enable enable event compression parameters and set stream type to be same with the source.
byResolution
Resolution: CIF(528*384/528*320), 1-CIF(352*288/352*240), 2-QCIF(176*144/176*120), 3-4CIF(704*576/704*480)或D1(720*576/720*486), 4-2CIF(704*288/704*240), 6-QVGA(320*240), 7-QQVGA(160*120), 12-384*288, 13-576*576, 16-VGA(640*480), 17-UXGA(1600*1200), 18-SVGA(800*600), 19-HD720P(1280*720), 20-XVGA(1280*960), 21-HD900P(1600*900), 22-1360*1024, 23-1536*1536, 24-1920*1920, 27-1920*1080p, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048, 32-2448*1200, 33-2448*800, 34-XGA(1024*768), 35-SXGA(1280*1024), 36-WD1(960*576/960*480), 37-1080i(1920*1080), 38-WXGA(1440*900), 39-HD_F(1920*1080/1280*720), 40-HD_H(1920*540/1280*360), 41-HD_Q(960*540/630*360), 42-2336*1744, 43-1920*1456, 44-2592*2048, 45-3296*2472, 46-1376*768, 47-1366*768, 48-1360*768, 49-WSXGA+, 50-720*720, 51-1280*1280, 52-2048*768, 53-2048*2048, 54-2560*2048, 55-3072*2048, 56-2304*1296, 57-WXGA(1280*800), 58-1600*600, 59-1600*900, 60-2752*2208, 61-384*288, 62-4000*3000, 63-4096*2160, 64-3840*2160, 65-4000*2250, 66-3072*1728, 67-2592*1944, 68-2464*1520, 69-1280*1920, 70-2560*1440, 71-1024*1024, 72-160*128, 73-324*240, 74-324*256, 75-336*256, 76-640*512, 77-2720*2048, 78-384*256, 79-384*216, 80-320*256, 81-320*180, 82-320*192, 83-512*384, 84-325*256, 85-256*192, 86- 640*360, 87-1776x1340, 88-1936x1092, 89-2080x784, 90-2144x604, 91-1920*1200, 92-4064*3040, 93-3040*3040, 94-3072*2304, 95-3072*1152, 96-2560*2560, 97-2688*1536, 98-2688*1520, 99-3072*3072, 100-3392*2008, 101-4000*3080, 102-960*720, 103-1024*1536, 104-704*1056, 105-352*528, 106-2048*1530, 107-2560*1600, 108-2800*2100, 109-4088*4088, 110-4000*3072, 111-960*1080(1080p Lite), 112-640*720(half 720p), 113-640*960, 114-320*480, 115-3840*2400, 116-3840*1680, 117-2560*1120, 118-704*320, 119-1200*1920, 120-480*768, 121-768*480, 122-320*512, 123-512*320, 124-4096*1800, 125-1280*560, 126-2400*3840, 127-480*272, 128-512*272, 129-2592*2592, 130-1792*2880, 131-1600*2560, 132-2720*1192, 133-3MP(1920*1536/2048*1536), 134-5MP(2560*1944), 137-4096*1200, 138-3840*1080, 139-2720*800, 140-512*232, 141-704*200, 142-512*152, 143-2048*896, 144-2048*600, 145-1280*376, 150-8208*3072, 151-4096*1536, 152-6912*2800, 153-3456*1400, 0xff-Auto (use current stream resolution)
byBitrateType
Bitrate type: 0- variable bit, 1- fixed bitrate
byPicQuality
Image quality: 0- best, 1- better, 2- good, 3- normal, 4- lower, 5- lowest,0xfe- auto(same as the source)
dwVideoBitrate
Upper-limit of bitrate: 0- reserved, 1- 16K(reserved), 2- 32K, 3- 48k, 4- 64K, 5- 80K, 6- 96K, 7- 128K, 8- 160k, 9- 192K, 10- 224K, 11- 256K,, 12- 320K, 13- 384K, 14- 448K, 15- 512K, 16- 640K, 17- 768K, 18-896K, 19- 1024K, 20- 1280K, 21- 1536K, 22- 1792K, 23- 2048K, 24- 3072K, 25- 4096K, 26- 8192K, 27- 16384K, 0xfffffffe- auto (same with source)
If the 31th bit is set as 1, it means customized bitrate, and bit 0 to 30 are used for the bit rate: 16k minimum.
dwVideoFrameRate
Frame rate: 0- all, 1- 1/16, 2- 1/8, 3- 1/4, 4- 1/2, 5- 1, 6- 2, 7- 4, 8- 6, 9- 8, 10- 10, 11- 12, 12- 16, 13- 20, 14- 15, 15- 18,16- 22,17-25, 18-30, 19-35, 20-40, 21-45, 22-50, 23-55, 24-60, 25-3, 26-5, 27-7, 28-9, 29-100, 30-120, 31-24, 32-48, 0xfffffffe- auto (same as the source)
wIntervalFrameI
Interval of frame I, 0xfffe- auto (same with source), 0xffff-invalid
byIntervalBPFrame
Frame format: 0- BBP, 1- BP, 2- single P frame, 0xff- invalid
byres1
Reserved, please set to 0
byVideoEncType
Video encoding format: 0- private 264, 1- standard h264, 2- standard mpeg4, 7- M-JPEG, 8- MPEG2, 9- SVAC, 10- standard h265, 0xfe- auto (same with source),0xff- invalid
byAudioEncType
Audio encoding format: 0- G722, 1- G711_U, 2- G711_A, 5- MP2L2, 6- G726, 7- AAC, 8-PCM, 0xfe-auto, 0xff- invalid
byVideoEncComplexity
Video compression complexity: 0- low, 1- middle, 2- high,0xfe-auto(same as the source)
byEnableSvc
Enable SVC function: 0- disable, 1- enable.SVC: Scalable Video Coding, can be encoded by level
byFormatType
Format type:1-exposed stream, 2-RTP, 3-PS, 4-TS, 5-private, 6-FLV, 7-ASF, 8-3GP, 9-RTP+PS(national standard: GB28181), 0xff-invalid
byAudioBitRate
Bit rate of audio：0- default, 1- 8Kbps, 2- 16Kbps, 3- 32Kbps, 4- 64Kbps, 5- 128Kbps, 6- 192Kbps, 7- 40Kbps, 8- 48Kbps, 9- 56Kbps, 10- 80Kbps, 11- 96Kbps, 12- 112Kbps, 13- 144Kbps, 14- 160Kbps
IPC V5.1.0: 4- 64Kbps, support3, 4, 5
bySteamSmooth
[1,100], the smooth level of stream: 1-clear, 100-smooth
byAudioSamplingRate
Audio sampling rate: 0- default, 1- 16kHZ, 2- 32kHZ, 3- 48kHZ, 4- 44.1kHZ, 5- 8kHZ
bySmartCodec
Whether to enable high performance encoding (enable high performance means Smart 264 when byVideoEncType=1; and Smart 265 when byVideoEncType=10): 0- disable, 1- enable. After the function is enabled, when video encoding type (byVideoEncType) is 1 in VBR mode, the upper limti of bitrate (dwVideoBitrate) and average bitrate (wAverageVideoBitrate) are configurable; when in CBR, the upper limti of bitrate (dwVideoBitrate) is configurable while average bitrate (wAverageVideoBitrate) is invalid
byres
Reserved, please set to 0
wAverageVideoBitrate
Average video bitrate (valid when SmartCodec is enabled): 0-0K, 1-16K, 2-32K, 3-48k, 4-64K, 5-80K, 6-96K, 7-128K, 8-160k, 9-192K, 10-224K, 11-256K, 12-320K, 13-384K, 14-448K, 15-512K, 16-640K, 17-768K, 18-896K, 19-1024K, 20-1280K, 21-1536K, 22-1792K, 23-2048K, 24-2560K, 25-3072K, 26-4096K, 27-5120K, 28-6144K, 29-7168K, 30-8192K. Set highest (15th) bit as 1 to mean custom stream, 0 to 14 means stream value

Remarks

  • Video resolution frame rate, audio & video encoding format, encapsulation type are not necessarily all supported, whether they are supported by device can be determined though device capability set, corresponding to all device encoding capability set (AudioVideoCompressInfo), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ENCODE_ALL_ABILITY_V20.
  • Modification of device video encoding type will take effect after restart.
  • The Average Bitrate field is used to control the storage of videos. There will be a recommended value when used, and varies under different Bitrate Upper Limit of different devices. The recommended value can be obtained through capability set, corresponding to camera parameter dynamic capability set (CameraParaDynamicAbility), API:NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <vbrAverageCap>.
  • After Smart 264 or Smart 265 is enabled, some of the functions are currently unavailable, such as ROI, SVC, smooth main/sub-stream, high frame rate, resolution 2048*1536, vehicle detection, mixed vehicle detection, violation evidence collection, heat map.

See Also

NET_DVR_COMPRESSIONCFG_V30 NET_DVR_MULTI_STREAM_COMPRESSIONCFG


NET_DVR_COMPRESSION_LIMIT

Structure of compression ability limit of main and sub stream.

struct{
  DWORD                        dwSize;
  DWORD                        dwChannel;
  BYTE                         byCompressType;
  BYTE                         byRes[15];
  NET_DVR_COMPRESSIONCFG_V30   struCurrentCfg;
}NET_DVR_COMPRESSION_LIMIT,*LPNET_DVR_COMPRESSION_LIMIT;

Members

dwSize
Structure size
dwChannel
Channel number
byCompressType
Compression type to be got: 1- main stream, 2- sub stream, 3- event
byRes
Reserved
struCurrentCfg
Current compression configuration

See Also

NET_DVR_GetDeviceAbility


NET_DVR_COMPRESSIONCFG

Structure of channel compression parameters.

struct{
  DWORD                       dwSize;
  NET_DVR_COMPRESSION_INFO    struRecordPara;
  NET_DVR_COMPRESSION_INFO    struNetPara;
}NET_DVR_COMPRESSIONCFG, *LPNET_DVR_COMPRESSIONCFG;

Members

dwSize
Structure size
struRecordPara
Stream compression parameters of record/Event record
struNetPara
Stream compression parameters of network transmission

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_COMPRESSION_INFO


NET_DVR_COMPRESSIONCFG_ABILITY

Structure of compression ability.

struct{
  DWORD                  dwSize;
  DWORD                  dwAbilityNum;
  NET_DVR_ABILITY_LIST   struAbilityNode[MAX_ABILITYTYPE_NUM];
}NET_DVR_COMPRESSIONCFG_ABILITY,*LPNET_DVR_COMPRESSIONCFG_ABILITY;

Members

dwSize
Structure size
dwAbilityNum
The number of ability type
struAbilityNode
Parameter structure of single ability

See Also

NET_DVR_ABILITY_LIST


NET_DVR_COMPRESSIONCFG_EX

Structure of channel compression parameters.

struct{
  DWORD                          dwSize;
  NET_DVR_COMPRESSION_INFO_EX    struRecordPara;
  NET_DVR_COMPRESSION_INFO_EX    struNetPara;
}NET_DVR_COMPRESSIONCFG_EX, *LPNET_DVR_COMPRESSIONCFG_EX;

Members

dwSize
Structure size
struRecordPara
Stream compression parameters of record
struNetPara
Stream compression parameters of network transmission

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_COMPRESSION_INFO_EX


NET_DVR_COMPRESSIONCFG_V30

Structure of channel compression parameters.

struct{
  DWORD                           dwSize;
  NET_DVR_COMPRESSION_INFO_V30    struNormHighRecordPara;
  NET_DVR_COMPRESSION_INFO_V30    struRes;
  NET_DVR_COMPRESSION_INFO_V30    struEventRecordPara;
  NET_DVR_COMPRESSION_INFO_V30    struNetPara;
}NET_DVR_COMPRESSIONCFG_V30, *LPNET_DVR_COMPRESSIONCFG_V30;

Members

dwSize
Structure size
struNormHighRecordPara
Stream compression parameters of recording(compression parameter of main stream)
struRes
Reserved.Please set it to 0
struEventRecordPara
Compression parameters of recording triggered by Event
struNetPara
Stream compression parameters of network transmission

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CONFERENCE_CALL_ALARM

Conference call alarm information upload structure.

struct{
  DWORD                dwSize;
  BYTE                 byAlarmType;
  BYTE                 byCallType;
  BYTE                 byAutoAnswer;
  BYTE                 byCallStatusSwitch;
  NET_DVR_CALL_INFO    struCallInfo;
  BYTE                 byRes2[32];
}NET_DVR_CONFERENCE_CALL_ALARM, *LPNET_DVR_CONFERENCE_CALL_ALARM;

Members

dwSize
Structure size
byAlarmType
Alarm type: 1-Conference call, 2- Call type change
byCallType
Call type, effective when alarm type is type 1: 1- Terminal point to point call, 2- Conference call
byAutoAnswer
Auto answer: 0- No, 1- Yes
byCallStatusSwitch
Call status change type, valid when alarm type is type 2：1- Call starts，2- Call success，3- Call ends，4- Terminal hangup
struCallInfo
Call information, different call types respond to different information structure
byRes2
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_CONFERENCE_REGION

Terminal conference region parameter configuration structure.

struct{
  DWORD            dwSize;
  BYTE             byEnabled;
  BYTE             byRes1[3];
  NET_DVR_POINT    struRegion[RECT_POINT_NUM];
  DWORD            dwOutputWidth;
  DWORD            dwOutputHeight;
  BYTE             byRes2[32];
}NET_DVR_CONFERENCE_REGION,*LPNET_DVR_CONFERENCE_REGION;

Members

dwSize
Structure size
byEnabled
Enable conference region：0- No，1- Yes
byRes1
Reserved，set as 0
struRegion
Conference region, rectangle, start point is left bottom, clockwise
dwOutputWidth
Single output reference width, can be obtained only
dwOutputHeight
Single output reference height，can be obtained only
byRes2
Reserved，set as 0

Remarks

  • Use device capability set to decide the supported parameter capability or whether the device supports terminal conference calling log query. Corresponded calling log query capability(ConferenceRegion)，related interface：NET_DVR_GetSTDAbility，capability set type：NET_DVR_GET_CONFERENCE_REGION_CAP.

Remarks

  • (CallQueryProfile), related interface：NET_DVR_GetSTDAbility，Capability set type：NET_DVR_GET_CALL_QUERY_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_CONTROL_BASELINE_SCENE_PARAM

The structure of basic scene configuration

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byCommand;
  BYTE     byRes[127];
}NET_DVR_CONTROL_BASELINE_SCENE_PARAM,*LPNET_DVR_CONTROL_BASELINE_SCENE_PARAM;

Members

dwSize
The size of the structure
dwChannel
Device channel No.
byCommand
Operation type, 1- Reserved, 2- Update the basic scene
byRes
Reserved, set as 0.

Remarks

You can configure the basic scene after enabling it. For example, if the position of the camera is changed, the picture of basic scene needs to be changed, in case of the misinformation.

The basic scene is mainly used for scene change and tampering detection of the VQD.

See Also

NET_DVR_RemoteControl


NET_DVR_CONTROL_DELAY_CFG

One-click delay recording control information structure

struct{
  BYTE    byUseDefine;
  BYTE    byRes1;
  WORD    wDelayTime;
  BYTE    byRes[128];
}NET_DVR_CONTROL_DELAY_CFG,*LPNET_DVR_CONTROL_DELAY_CFG;

Members

byUseDefine
Whether to use custom: 0- use default, 1- use custom
byRes1
Reserved, set as 0
wDelayTime
Recording delay time, unit: s
byRes
Reserved, set as 0

See Also

NET_DVR_CONTROL_INFO_UNION


NET_DVR_CONTROL_GATEWAY

The structure for remotely unlocking.

struct{
  DWORD    dwSize;
  DWORD    dwGatewayIndex;
  BYTE     byCommand;
  BYTE     byRes1[3];
  BYTE     byControlSrc[NAME_LEN];
  BYTE     byRes2[128];
}NET_DVR_CONTROL_GATEWAY, *LPNET_DVR_CONTROL_GATEWAY;

Members

dwSize
Structure size.
dwGatewayIndex
Access number, starting from 1.
byCommand
Operation command: 0- closed, 1- open.
byRes1
Reserved, set as 0.
byControlSrc
Operation of the souce information.
byRes2
Reserved, set as 0.

Remarks

  • After setting the function of sending the source information when unlocking, this information will be included when uploading the unlocking record.
  • The ability of remotely unlocking corresponds to the node <ControlGateway> of the IP-based video intercom controller capability set (interfce:NET_DVR_GetDeviceAbility, capability set type: IP_VIEW_DEV_ABILITY).

See Also

NET_DVR_RemoteControl


NET_DVR_CONTROL_INFO_UNION

Education sharing system control information complex

union{
  BYTE                         byLen[132];
  NET_DVR_CONTROL_START_CFG    struStartCfg;
  NET_DVR_CONTROL_DELAY_CFG    struDelayCfg;
}NET_DVR_CONTROL_INFO_UNION, *LPNET_DVR_CONTROL_INFO_UNION;

Members

byLen
Complex size, 132 bytes
struStartCfg
One-click start control information, valid when control command type is one-click start
struDelayCfg
One-click delay control information, valid when control command type is one-click delay

See Also

NET_DVR_RECORDING_CONTROL_CFG


NET_DVR_CONTROL_PARAM

Structure of plan control parameter

struct{
  DWORD    dwSize;
  BYTE     sDeviceID[NAME_LEN];
  WORD     wChan;
  BYTE     byIndex;
  BYTE     byRes1;
  DWORD    dwControlParam;
  BYTE     byRes2[32];
}NET_DVR_CONTROL_PARAM,*LPNET_DVR_CONTROL_PARAM;

Members

dwSize
Structure size
sDeviceID
Device ID of which to be controlled, please set to NULL
wChan
The channel to be controlled, invalid
byIndex
Used for plan control, the plan number: 1~16
byRes1
Reserved, please set to 0
dwControlParam
For plan control: 1- start running plan, 2- stop plan; for LED switch control: 0- invalid; for brightness adjustment of LED screen: the value of brightness, 0~15
byRes2
Reserved, please set to 0

See Also

Multi-screen controller: NET_DVR_RemoteControl

Alarm host: NET_DVR_RemoteControl


NET_DVR_CONTROL_START_CFG

One-click start control information structure

struct{
  BYTE    byUseDefine;
  BYTE    byRes1;
  WORD    wCourseIndex;
  BYTE    byRes[128];
}NET_DVR_CONTROL_START_CFG,*LPNET_DVR_CONTROL_START_CFG;

Members

byUseDefine
Whether to use custom: 0- use default, 1- use custom
byRes1
Reserved, set as 0
wCourseIndex
Course index
byRes
Reserved, set as 0

See Also

NET_DVR_CONTROL_INFO_UNION


NET_DVR_CORRECT_DEADPIXEL_PARAM

Structure of dead pixel correction parameter.

struct{
  DWORD      dwSize;
  DWORD      dwCommand;
  DWORD      dwDeadPixelX;
  DWORD      dwDeadPixelY;
  BYTE       byRes[12];
}NET_DVR_CORRECT_DEADPIXEL_PARAM, *LPNET_DVR_CORRECT_DEADPIXEL_PARAM;

Members

dwSize
Structure size
dwCommand
Command: 0- enter dead pixel mode, 1- add dead pixel, 2- save dead pixel, 3- exit dead pixel mode
dwDeadPixelX
X axis coordinate of the dead pixel
dwDeadPixelY
Y axis coordinate of the dead pixel
byRes2
Reserved, please set to 0


NET_DVR_CORRIDOR_MODE

Structure of corridor function configuration

struct{
  DWORD    dwSize;
  BYTE     byEnableCorridorMode;
  BYTE     byRes[127];
}NET_DVR_CORRIDOR_MODE,*LPNET_DVR_CORRIDOR_MODE;

Members

dwSize
Structure size
byEnableCorridorMode
Whether enable corridor function:0- disable，1- enable
byRes
Reserved

Remarks

Enable the function when install the cameras. The video coding will contrarotate 90°, for example: 1280*720 will rotate to 720*1280. it is valid for the promotion of vertical surveillance range, and is suitable for corridors, roads and so on

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CORRIDOR_MODE_CCD

Structure of corridor function parameters

struct{
  BYTE    byEnableCorridorMode;
  BYTE    byRes[11];
}NET_DVR_CORRIDOR_MODE_CCD, *LPNET_DVR_CORRIDOR_MODE_CCD;

Members

byEnableCorridorMode
Enable corridor function:0- disable, 1- enable
byRes
Reserved

Remarks

Enable the function when install the cameras. The video coding will contrarotate 90°, for example: 1280*720 will rotate to 720*1280. it is valid for the promotion of vertical surveillance range, and is suitable for corridors, roads and so on

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_COURSE_CFG

Course configuration structure

struct{
  DWORD          dwSize;
  NET_DVR_TIME   struStartTime;
  NET_DVR_TIME   struEndTime;
  BYTE           byCourseName[COURSE_NAME_LEN_128];
  BYTE           byInstructorName[INSTRUCTOR_NAME_LEN_64];
  BYTE           byCourseDescription[COURSE_DESCRIPTION_LEN];
  BYTE           byRecUUID[MAX_UUID_LEN];
  BYTE           byCourseType;
  BYTE           byRes[303];
 }NET_DVR_COURSE_LIST_COND,*LPNET_DVR_COURSE_LIST_COND;

Members

dwSize
Structure size
struStartTime
Course start time
struEndTime
Course end time
byCourseName
Course name
byInstructorName
Teacher name
byCourseDescription
Course description
byRecUUID
Manual course list UUID
byCourseType
Course type: 0- all, 1- manual course list
byRes
Reserved, set as 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_COURSE_LIST_COND

Course list condition structure

struct{
  DWORD          dwSize;
  NET_DVR_TIME   struStartTime;
  NET_DVR_TIME   struEndTime;
  BYTE           byCourseName[COURSE_NAME_LEN_128];
  BYTE           byInstructorName[INSTRUCTOR_NAME_LEN_64];
  BYTE           byCourseType;
  BYTE           byRes[603];
 }NET_DVR_COURSE_LIST_COND,*LPNET_DVR_COURSE_LIST_COND;

Members

dwSize
Structure size
struStartTime
Course start time
struEndTime
Course end time
byCourseName
Course name
byInstructorName
Teacher name
byCourseType
Course type: 0- all, 1- manual
byRes
Reserved, set as 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_COURSE_RECORDING_INFO

Course information index configuration structure

struct{
  DWORD    dwSize;
  char     sCourseName[COURSE_NAME_LEN];
  char     sInstructorName[INSTRUCTOR_NAME_LEN];
  char     sCourseDescription[COURSE_DESCRIPTION_LEN];
  BYTE     byRes[16];
 }NET_DVR_COURSE_RECORDING_INFO,*LPNET_DVR_COURSE_RECORDING_INFO;

Members

dwSize
Structure size
sCourseName
Course name
sInstructorName
Teacher
sCourseDescription
Course introduction
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CROSSLINE_ALARM

The structure of line crossing alarm information

struct{
  DWORD                dwSize;
  NET_VCA_DEV_INFO     struDevInfo;
  NET_DVR_TIME_EX      struTriggerTime;
  NET_DVR_PARK_INFO    struParkInfo;
  BYTE                 byRes1[128];
}NET_DVR_CROSSLINE_ALARM,*LPNET_DVR_CROSSLINE_ALARM;

Members

dwSize
The size of the structure
struDevInfo
The information of front-end device, including IP address, port No., channel No., etc.
struTriggerTime
The time of triggering alarm
struParkInfo
Parking space
byRes
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_CRUISE_PARA

Structure of cruise configuration.

struct{
  DWORD      dwSize;
  BYTE       byPresetNo[CRUISE_MAX_PRESET_NUMS];
  BYTE       byCruiseSpeed[CRUISE_MAX_PRESET_NUMS];
  WORD       wDwellTime[CRUISE_MAX_PRESET_NUMS];
  BYTE       byEnableThisCruise;
  BYTE       res[15];
}NET_DVR_CRUISE_PARA,*LPNET_DVR_CRUISE_PARA;

Members

dwSize
Structure size
byPresetNo
Preset NO
byCruiseSpeed
Cruise speed
wDwellTime
Dwelling time
byEnableThisCruise
Whether to enable the cruise function: 0- no, 1-yes
res
Reserved.Please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CRUISE_PARAM

Patrol mode structure

struct{
  DWORD                   dwSize;
  BYTE                    byCruiseMode;
  BYTE                    byRes[123];
}NET_DVR_CRUISE_PARAM, *LPNET_DVR_CRUISE_PARAM;

Members

dwSize
Structure size
byCruiseMode
Patrol mode: 0- non-preset patrol, 1- preset patrol
byRes
Reserved, set as 0

See Also

NET_DVR_GetSTDConfig


NET_DVR_CRUISE_POINT

Structure of cruise-point configuration.

struct{
  BYTE    PresetNum;
  BYTE    Dwell;
  BYTE    Speed;
  BYTE    Reserve;
}NET_DVR_CRUISE_POINT, *LPNET_DVR_CRUISE_POINT;

Members

PresetNum
Preset number
Dwell
Dwelling time
Speed
Speed
Reserve
Reserved, please set it to 0


NET_DVR_CRUISE_RET

Structure of cruise-route configuration.

struct{
  NET_DVR_CRUISE_POINT      struCruisePoint[32];
}NET_DVR_CRUISE_RET,*LPNET_DVR_CRUISE_RET;

Members

struCruisePoint
Information of cruise point

See Also

NET_DVR_GetPTZCruise NET_DVR_CRUISE_POINT


NET_DVR_CRUISECHAN_INFO

Patrol channel information structure

struct{
  DWORD   dwEnableCruiseChan;
  DWORD   dwCruiseNo;
}NET_DVR_CRUISECHAN_INFO,*LPNET_DVR_CRUISECHAN_INFO;

Members

dwEnableCruiseChan
The channel that enables patrol
dwCruiseNo
Patrol channel related patrol No., 0xfffffff indicate invalid

See Also

NET_DVR_ALARMINCFG_V40 NET_DVR_VCA_DETECTION_CFG_V40 NET_DVR_EVENT_TRIGGER


NET_DVR_CRUISEPOINT_COND

Patrol path configuration condition structure 。

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  WORD     wRouteNo;
  BYTE     byRes[30];
}NET_DVR_CRUISEPOINT_COND, *LPNET_DVR_CRUISEPOINT_COND;

Members

dwSize
Size of the structure
dwChan
Device channel No.
wRouteNo
Patrol path No.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig


NET_DVR_CRUISEPOINT_PARAM

Preset parameters structure。

struct{
  WORD    wPresetNo;
  WORD    wDwell;
  BYTE    bySpeed;
  BYTE    bySupport256PresetNo;
  BYTE    byRes[6];
}NET_DVR_CRUISEPOINT_PARAM, *LPNET_DVR_CRUISEPOINT_PARAM;

Members

wPresetNo
Preset No.
wDwell
Dwell time
bySpeed
Speed
bySupport256PresetNo
Enable No.256 preset(downward compatibility)
byRes
Reserved, set as 0.

See Also

NET_DVR_CRUISEPOINT_V40


NET_DVR_CRUISEPOINT_V40

Patrol path configuration structure。

struct{
  DWORD                        dwSize;
  NET_DVR_CRUISEPOINT_PARAM    struCruisePoint[MAX_CRUISE_POINT_NUM];
  BYTE                         byRes[64];
}NET_DVR_CRUISEPOINT_V40, *LPNET_DVR_CRUISEPOINT_V40;

Members

dwSize
Size of the structure
struCruisePoint
Patrol path parameters, max. 128 presets are supported.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig


NET_DVR_CRUISEPOINT_V50

Patrol path configuration extension structure

struct{
  DWORD                        dwSize;
  NET_DVR_CRUISEPOINT_PARAM    struCruisePoint[MAX_CRUISEPOINT_NUM_V50];
  BYTE                         Res[64];
}NET_DVR_CRUISEPOINT_V50, *LPNET_DVR_CRUISEPOINT_V50;

Members

dwSize
Structure size
struCruisePoint
Patrol path parameter, up to 256 patrol points are supported
Res
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig


NET_DVR_CURRICULUM_CFG

Course list configuration structure

struct{
  DWORD                       dwSize;
  NET_DVR_EACH_LESSON_INFO    struLessonInfo[MAX_TIMESEGMENT_V40];
  BYTE                        byRes[256];
 }NET_DVR_CURRICULUM_CFG,*LPNET_DVR_CURRICULUM_CFG;

Members

dwSize
Structure size
struLessonInfo
Course information, up to 16 courses each day
byRes
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_CURTRIGGERMODE

Structure for the current triggering mode

struct{
  DWORD    dwSize;
  DWORD    dwTriggerType;
  BYTE     byRes[24];
}NET_DVR_CURTRIGGERMODE,*LPNET_DVR_CURTRIGGERMODE;

Members

dwSize
The size of the structure
dwTriggerType
Triggering Type, For details, see ITC_TRIGGERMODE_TYPE
byRes
Reserved

See Also

NET_DVR_GetDVRConfig


NET_DVR_CUSTOM_PROTOCAL

Structure of custom protocol configuration

struct{
  DWORD    dwSize;
  DWORD    dwEnabled;
  char     sProtocalName[DESC_LEN];
  BYTE     byRes1[64];
  DWORD    dwEnableSubStream;
  BYTE     byMainProType;
  BYTE     byMainTransType;
  WORD     wMainPort;
  BYTE     sMainPath[MAX_PRO_PATH];
  BYTE     bySubProType;
  BYTE     bySubTransType;
  BYTE     wSubPort;
  BYTE     sSubPath[MAX_PRO_PATH];
  BYTE     byRes2[200];
}NET_DVR_CUSTOM_PROTOCAL,*LPNET_DVR_CUSTOM_PROTOCAL;

Members

dwSize
Structure size
dwENabled
Whether enable the protocol or not: 0- disable, 1- enable
sProtocalName
Protocol name
byRes1
Reserved, used to extend protocol name
dwEnableSubStream
Whether enable the sub stream: 0- disable, 1- enable
byMainProType
Protocol type of main stream: 1- RTSP
byMainTransType
Transmission type of main stream: 0- auto, 1- udp, 2- rtp over rtsp
wMainPort
Main stream port
sMainPath
Main stream path
bySubProType
Protocol type of sub stream: 1- RTSP
bySubTransType
Transmission type of sub stream: 0- auto, 1- udp, 2- rtp over rtsp
wSubPort
Sub stream port
sSubPath
Sub stream path
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_CVR_ALARM

CVR External Alarm Information Structure

struct{
  char            szFirstType[NAME_LEN];
  char            szFirstIndex[NAME_LEN];
  char            szSecondType[NAME_LEN];
  NET_DVR_TIME    struTime;
  BYTE            byStatus;
  BYTE            byAlarmLevel;
  BYTE            byRes1[2];
  char            szSecondIndex[NAME_LEN];
  char            szThirdType[NAME_LEN];
  char            szThirdIndex[NAME_LEN];
  char            szFourthType[NAME_LEN];
  char            szFourthIndex[NAME_LEN];
  BYTE            byRes2[92];
}NET_DVR_CVR_ALARM,*LPNET_DVR_CVR_ALARM;

Members

dwSize
The size of the structure
szFirstType
Main type, cannot be empty.
szFirstIndex
Main Type No.
szSecondType
Sub-type, can be empty
struTime
Alarm time
byStatus
Status(the alarm status of the last alarm type which is not empty), 0-Normal,Not 0-Abnormal
byAlarmLevel
Alarm level
byRes1
Reserved
szSecondIndex
Sub-type No., can be empty
szThirdType
Third type, an be empty
szThirdIndex
Third type No.
szFourthType
Forth type, can be empty
szFourthIndex
Forth No.
byRes2
Reserved

Remarks

  • The following alarms do not have status value as they cannot be empty types normally:
    enclosure、cpu、system、chassis、IC、environment、board、nas
  • The following alarms can be the last type which are not empty.
    power、temp、fan、hda、disk、raid、cifs、ftp、http、rsync、afp、nfs、iscsi、fc、network、pv、storage、memory
    • Alarm Type Description Status(byStatus) Alarm String Example
    power Power Alarm
    (priority level 3)     		0：Normal
    2：Power exception     		Chassis power alarm:
    AlarmLevel[1]Status[2]FirstType[chassis] SecondType[power]
    Expending chassis power alarm:
    AlarmLevel[1]Status[2]FirstType[enclosure]FirstIndex[1/1] SecondType[power]
    temp Temperature alarm
    (priority level 3)     		0：Normal
    1： Higher temperature
    2：Over the higher-limitation
    3：Over the lower-limitation     		1.Host temperature alarm:：
    CPU temperature alarm:
    AlarmLevel[1]Status[1]FirstType[cpu] FirstIndex[1]SecondType[temp]
    IC temperature alarm:
    AlarmLevel[1]Status[1] FirstType [IC] FirstIndex [1] ThirdType[temp]
    System temperature alarm:
    AlarmLevel[1]Status[1]FirstType[system] SecondType[temp]
    Memory temperature alarm:
    AlarmLevel[1]Status[1]FirstType[memory] FirstIndex[1]SecondType[temp]
    Environment temperature alarm:
    AlarmLevel[1]Status[1]FirstType[environment] FirstIndex[1] SecondType[temp]
    Board temperature alarm:
    AlarmLevel[1]Status[1]FirstType[board] FirstIndex[1]SecondType[temp]

    2. Expending chassis temperature alarm:
    IC temperature alarm:
    AlarmLevel[1]Status[1]FirstType[enclosure] FirstIndex[1/1] SecondType[IC] SecondIndex[1] ThirdType[temp]
    system temperature alarm:
    AlarmLevel[1]Status[1]FirstType[enclosure] FirstIndex[1/1] SecondType[system] ThirdType[temp] ThirdIndex[1]
    Memory temperature alarm:
    AlarmLevel[1]Status[1]FirstType[enclosure] FirstIndex[1/1] SecondType[memory] SecondIndex[1] ThirdType[temp]
    Environment temperature alarm:
    AlarmLevel[1]Status[1]FirstType[enclosure] FirstIndex[1/1] SecondType[environment] SecondIndex[1] ThirdType[temp] ThirdIndex[1]
    Board temperature alarm:
    AlarmLevel[1]Status[1]FirstType[enclosure] FirstIndex[1/1] SecondType[board] SecondIndex[1] ThirdType[temp] ThirdIndex[1]

    3. HDD temperature alarm:
    AlarmLevel[1]Status[1]FirstType[disk] FirstIndex[0/0-1] SecondType[temp]
    fan Fan speed alarm
    (priority level 3)     		0：Normal
    1：Power exception(disconnected or broken)
    2：Low fan speed
    3：Revolving speed exception     		CPU fan alarm:
    AlarmLevel[1]Status[1]FirstType[cpu] FirstIndex[1] SecondType[fan]
    Chassis fan alarm
    AlarmLevel[1]Status[2]FirstType[chassis] SecondType[fan] SecondIndex[1]
    Expending chassis fan alarm;
    AlarmLevel[1]Status[3]FirstType[enclosure] FirstIndex[1/1] SecondType[chassis] SecondIndex[1] ThirdType[fan] ThirdIndex[3]
    System fan alarm;
    AlarmLevel[1]Status[1]FirstType[system] FirstIndex[1] SecondType[fan]
    hda DOM card alarm
    (priority level 1)     		0：Normal
    2：Failed to check the DOM card.
    (cannot get the Max. hda using capacity)
    3：Not enough DOM capacity     		DOM card alarm:
    AlarmLevel[1]Status[1]FirstType[hda]
    disk HDD alarm
    (priority level 1)     		0：Normal
    1：HDD loss
    2：HDD Warning
    3：HDD broken
    4：HDD disconnected     		HDD alarm:
    AlarmLevel[1]Status[1]FirstType[disk] FirstIndex[0/0-3]
    raid HDD array alarm (priority level 1) 0: Normal
    2：RAID initializing
    3：RAID Re-structuring
    4：RAID Expending
    5：RAID Degrading
    6：RAID Checking
    7：RAID Recovering
    8：Unavailable RAID
    Only the condition of 3/5/8 will trigger alarm, others are all normal condition.     		RAID alarm:
    AlarmLevel[1]Status[3]FirstType[raid] FirstIndex[RAID name, such as raid5_01]
    cifs NAS alarm
    (priority level 2)     		0：Normal
    1：Service exception
    Remark: the nas is of level 1 priority.
    The six protocols are of level 1 priority.
            NAS alarm:
    AlarmLevel[1]Status[1]FirstType[nas] SecondType[Protocol name]
    The protocol types includebcifs,ftp,http,rsync,afp, and nfs
    ftp
    http
    rsync
    afp
    nfs
    iscsi ISCSI alarm
    (priority level 2)     		0：Normal
    1：ISCSI exception
    2：The current enabled ISCSI service is not matched with the configured one.     		ISCSI alarm:
    AlarmLevel[1]Status[1]FirstType[iscsi]
    fc FC alarm
    (priority level 2)     		0：Normal
    1：FC exception
    2：The current enabled FC service is not matched with the configured one.     		FC alarm:
    AlarmLevel[1]Status[1]FirstType[fc]
    network Network alarm
    (priority level 1)     		0：Normal
    1：The internet speed is 100M.
    2：Internet access is disconnected.
    (the sub internet access which is bound is disconnected)
    3：Internet access is disconnected.
    (the sub internet access which is not bound is disconnected)     		Network alarm:
    AlarmLevel[1]Status[1]FirstType[network] FirstIndex[Internet access name,such aseth0]
    pv Physical volume alarm
    (priority level 1)     		0：Normal
    1：Physical volume loss     		Physical volume alarm:
    AlarmLevel[1]Status[1]FirstType[pv] FirstIndex[Physical volume name, such astt_01]
    storage Storage pool alarm
    (priority level 1)     		0：Normal
    2：The storage pool is not mounted.
    255：Storage pool all loss     		Storage pool alarm
    AlarmLevel[1]Status[2]FirstType[storage]
    memory Memory alarm
    (priority level 1)     		0: Normal
    1：Not enough memory     		Memory alarm
    AlarmLevel[1]Status[1]FirstType[memory]

    See Also

    NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_CYCLE_TIME

Structure of plan cycle time

struct{
  BYTE               byValid;
  BYTE               byRes[3];
  NET_DVR_TIME_EX    struTime;
}NET_DVR_CYCLE_TIME,*LPNET_DVR_CYCLE_TIME;

Members

byValid
Whether this plan is valid or not: 0- no, 1- yes
byRes
Reserved, please set to 0
struTime
Time

See Also

NET_DVR_PLAN_CFG


NET_DVR_DATA_CALLBACK_CFG

Structure of data call-back status

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byDelData;
  BYTE     byRes[30];
}NET_DVR_DATA_CALLBACK_CFG,*LPNET_DVR_DATA_CALLBACK_CFG;

Members

dwSize
The size of the structure
byEnable
0- Disable data call-back，1- Enable data call-back
byDelData
Valid when byEnable is 1, 0- do not delete the standby device record data, 1- delete the standby device record data.
byRes
Reserved.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DATE

Date information structure

struct{
  WORD    wYear;
  BYTE    byMonth;
  BYTE    byDay;
}NET_DVR_DATE,*LPNET_DVR_DATE;

Members

wYear
Year
byMonth
Month
byDay
Day

See Also

NET_DVR_HOLIDAY_PLAN_CFG NET_DVR_ID_CARD_INFO

NET_DVR_GetDeviceConfig NET_DVR_GetDeviceConfig


NET_DVR_DAY_SCHEDULE

Day schedule structure

struct{
  BYTE                  byWorkMode;
  BYTE                  byRes1[3];
  NET_DVR_SCHEDTIME    struTime[MAX_TIMESEGMENT_V30];
  BYTE                  byRes2[8];
}NET_DVR_DAY_SCHEDULE,*LPNET_DVR_DAY_SCHEDULE;

Members

byWorkMode
Work mode: 0- On(all day), 1- Off (all day), 2- Schedule
byRes1
Reserved, set as 0.
struTime
Scheduled smart tracking time segment, 8 segments each day, valid when byWorkMode is 2, enable smart tracking within the time range.
byRes2
Reserved, set as 0.

See Also

NET_DVR_SCHEDULE_AUTO_TRACK_CFG


NET_DVR_DAYNIGHT

Structure of parameters for day and night switch

struct{
  BYTE       byDayNightFilterType;
  BYTE       bySwitchScheduleEnabled;
  BYTE       byBeginTime;
  BYTE       byEndTime;
  BYTE       byDayToNightFilterLevel;
  BYTE       byNightToDayFilterLevel;
  BYTE       byDayNightFilterTime;
  BYTE       byBeginTimeMin;
  BYTE       byBeginTimeSec;
  BYTE       byEndTimeMin;
  BYTE       byEndTimeSec;
  BYTE       byAlarmTrigState;
}NET_DVR_DAYNIGHT, *LPNET_DVR_DAYNIGHT;

Members

byDayNightFilterType
day and night switch: 0- day, 1- night, 2- auto, 3-Scheduled，4-Alarm input triggered，5-Auto mode 2（no photosensitivity）
bySwitchScheduleEnabled
Reserved
byBeginTime
Timing mode start time (hours),value:0~23
byEndTime
The timing patterns end time (hours), range：0~23
byDayToNightFilterLevel
Range of IPC：0~7, range of dome：1~3
byNightToDayFilterLevel
Range of IPC：0~7, range of dome：1~3
byDayNightFilterTime
60s
byBeginTimeMin
Timing mode start time (minute), range：0~59
byBeginTimeSec
Timing mode start time (seconds), range：0~59
byEndTimeMin
The timing patterns end time (minute), range：0~59
byEndTimeSec
The timing patterns end time (seconds), range：0~59
byAlarmTrigState
Alarm input trigger state: 0- 1- during the day, night

See Also

NET_DVR_CAMERAPARAMCFG


NET_DVR_DAYTIME

Time parameter structure

struct{
  BYTE     byHour;
  BYTE     byMinute;
  BYTE     bySecond;
  BYTE     byRes;
  WORD     wMilliSecond;
  BYTE     byRes1[2];
}NET_DVR_DAYTIME, *LPNET_DVR_DAYTIME;

Members

byHour
hour, data range:0-24
byMinute
minute, data rabge: 0-60
bySecond
second, data range: 0-60
byRes
Reserved, set it to 0
wMilliSecond
MilliSecond, data range: 0-1000
byRes1
Reserved, set it to 0

See Also

NET_DVR_SCHEDULE_DAYTIME


NET_DVR_DDE_PARAM

DDE parameter structure

struct{
  BYTE    byMode;
  BYTE    byNormalLevel;
  BYTE    byExpertLevel;
  BYTE    byRes[5];
}NET_DVR_DDE_PARAM,*LPNET_DVR_DDE_PARAM;

Members

byMode
1- disable, 2- normal mode, 3- expert mode
byNormalLevel
Normal mode level, value range: [1,100], valid in normal mode
byExpertLevel
Expert mode level, value range: [1,100], valid in expert mode
byRes
Reserved, set as 0

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_DDNS_ADDRESS

Structure of device DDNS domain

struct{
  BYTE    byDevAddress[MAX_DOMAIN_NAME];
  BYTE    byDevDdns[MAX_DOMAIN_NAME];
  BYTE    byDdnsType;
  BYTE    byRes1[3];
  WORD    wDevPort;
  WORD    wDdnsPort;
  BYTE    byres[64];
}NET_DVR_DDNS_ADDRESS, *LPNET_DVR_DDNS_ADDRESS;

Members

byDevAddress
Device domain
byDevDdns
DDNS server address
byDdnsType
Domain server type：0- IPServer，1- Dyndns，2- PeanutHull(PeanutHull)，3- NO-IP，4- hiDDNS
byRes1
Reserved
wDevPort
Device port
wDdnsPort
DDNS server port
byRes
Reserved

See Also

NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX


NET_DVR_DDNS_STREAM_CFG

Structure of IP Server and stream server mode configuration.

struct{
  BYTE               byEnable;
  BYTE               byRes1[3];
  NET_DVR_IPADDR     struStreamServer;
  WORD               wStreamServerPort;
  BYTE               byStreamServerTransmitType;
  BYTE               byRes2;
  NET_DVR_IPADDR     struIPServer;
  WORD               wIPServerPort;
  BYTE               byRes3[2];
  BYTE               sDVRName[NAME_LEN];
  WORD               wDVRNameLen;
  WORD               wDVRSerialLen;
  BYTE               sDVRSerialNumber[SERIALNO_LEN];
  BYTE               sUserName[NAME_LEN];
  BYTE               sPassWord[PASSWD_LEN];
  WORD               wDVRPort;
  BYTE               byRes4[2];
  BYTE               byChannel;
  BYTE               byTransProtocol;
  BYTE               byTransMode;
  BYTE               byFactoryType;
}NET_DVR_DDNS_STREAM_CFG, *LPNET_DVR_DDNS_STREAM_CFG;

Members

byEnable
Enable or not: 0- disable, 1- enable
byRes1
Reserved, please set it to 0
struStreamServer
Stream server IP address
wStreamServerPort
Stream server port number
byStreamServerTransmitType
Transmission protocol type of stream server: 0- TCP, 1- UDP
byRes2
Reserved, please set it to 0
struIPServer
IPServer IP address
wIPServerPort
IPServer port number
byRes3
Reserved, please set it to 0
sDVRName
DVR name
wDVRNameLen
Length of DVR name
wDVRSerialLen
Length of serial number
sDVRSerialNumber
DVR serial number
sUserName
DVR user name
sPassWord
DVR password
wDVRPort
DVR port number
byRes4
Reserved, please set it to 0
byChannel
DVR channel, parameter value means the channel number, e.g. byChannel=1 means channel no.1
byTransProtocol
Transmission protocol type: 0- TCP, 1- UDP
byTransMode
Transmission stream mode: 0- main stream, 1- sub stream
byFactoryType
Factory information of front-end device, got by NET_DVR_GetIPCProtoList

See Also

NET_DVR_IPADDR

NET_DVR_GetIPCProtoList


NET_DVR_DDNSPARA

Structure of DDNS parameters.

struct{
  BYTE     sUserName[NAME_LEN];
  BYTE     sPassword[PASSWD_LEN];
  BYTE     sDomainName[64];
  BYTE     byEnableDDNS;
  BYTE     res[15];
}NET_DVR_DDNSPARA,*LPNET_DVR_DDNSPARA;

Members

sUserName
User name of DDNS
sPassword
Password of DDNS
sDomainName
Domain name
byEnableDDNS
Whether to enable DDNS or not: 0- no, 1- yes
res
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DDNSPARA_EX

Structure of DDNS parameters.

struct{
  BYTE     byHostIndex;
  BYTE     byEnableDDNS;
  WORD     wDDNSPort;
  BYTE     sUserName[NAME_LEN];
  BYTE     sPassword[PASSWD_LEN];
  BYTE     sDomainName[MAX_DOMAIN_NAME];
  BYTE     sServerName[MAX_DOMAIN_NAME];
  BYTE     byRes[16];
}NET_DVR_DDNSPARA_EX,*LPNET_DVR_DDNSPARA_EX;

Members

byHostIndex
0- private DNS, 1－Dyndns, 2－PeanutHull
byEnableDDNS
Enable DDNS or not: 0- no, 1- yes
wDDNSPort
DDNS port
sUsername
User name of DDNS
sPassword
Password of DDNS
sDomainName
Domain name
sServerName
DDNS Server address: IP or domain name
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DDNSPARA_V30

Structure of DDNS parameters.

struct{
  BYTE     byEnableDDNS;
  BYTE     byHostIndex;
  BYTE     byRes1[2];
  struct{
           BYTE   sUserName[NAME_LEN];
           BYTE   sPassword[PASSWD_LEN];
           BYTE   sDomainName[MAX_DOMAIN_NAME];
           BYTE   sServerName[MAX_DOMAIN_NAME];
           WORD   wDDNSPort;
           BYTE   byRes[16];
  }struDDNS[MAX_DDNS_NUMS];
  BYTE     byRes2[16];
}NET_DVR_DDNSPARA_V30,*LPNET_DVR_DDNSPARA_V30;

Members

byEnableDDNS
Enable DDNS or not: 0- no, 1- yes
byHostIndex
0- private DNS, 1－Dyndns, 2－PeanutHull, 3-NO-IP
byRes1
Reserved, please set it to 0
sUsername
User name of DDNS
sPassword
Password of DDNS
sDomainName
Domain name
sServerName
DDNS Server address: IP or domain name
wDDNSPort
DDNS port
byRes
Reserved, please set it to 0
byRes2
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DEC_DDNS_DEV

Structure of DDNS configuration

struct{
  NET_DVR_DEV_DDNS_INFO          struDdnsInfo;
  NET_DVR_STREAM_MEDIA_SERVER    struMediaServer;
}NET_DVR_DEC_DDNS_DEV,*LPNET_DVR_DEC_DDNS_DEV;

Members

struDdnsInfo
DDNS parameter configuration
struMediaServer
Media stream server configuration

See Also

NET_DVR_DEC_STREAM_MODE


NET_DVR_DEC_STREAM_DEV

Structure of stream configuration

struct{
  NET_DVR_STREAM_MEDIA_SERVER_CFG_V41    struStreamMediaSvrCfg;
  NET_DVR_DEV_CHAN_INFO_V41              struDevChanInfo;
}NET_DVR_DEC_STREAM_DEV,*LPNET_DVR_DEC_STREAM_DEV;

Members

struStreamMediaSvrCfg
Configuraion of stream media server
struDevChanInfo
Configuration of device channel

See Also

NET_DVR_DEC_STREAM_MODE


NET_DVR_DEC_STREAM_DEV_EX

Structure of getting stream from devices

struct{
  NET_DVR_STREAM_MEDIA_SERVER    struStreamMediaSvrCfg;
  NET_DVR_DEV_CHAN_INFO_EX       struDevChanInfo;
}NET_DVR_DEC_STREAM_DEV_EX,*LPNET_DVR_DEC_STREAM_DEV_EX;

Members

struStreamMediaSvrCfg
Media stream derver parameters configuration
struDevChanInfo
Channel information

See Also

NET_DVR_DEC_STREAM_MODE


NET_DVR_DEC_STREAM_MODE

Union of stream mode configuration

union{
  NET_DVR_DEC_STREAM_DEV    struDecStreamDev;
  NET_DVR_PU_STREAM_URL     struUrlInfo;
  NET_DVR_DEC_DDNS_DEV      struDdnsDecInfo;
  BYTE                      byRes[300];
}NET_DVR_DEC_STREAM_MODE,*LPNET_DVR_DEC_STREAM_MODE;

Members

struDecStreamDev
Get stream from the device or stream media server by IP address or domain name
struUrlInfo
Get stream from the device or stream media server by URL
struDdnsDecInfo
Get stream from the device by DDNS
byRes
Reserved, please set to 0

See Also

NET_DVR_PU_STREAM_CFG_V41 NET_DVR_MATRIX_CHAN_INFO_V41 NET_DVR_MATRIX_DEC_CHAN_INFO_V41


NET_DVR_DEC_VCA_ALARM

Smart decoding alarm information structure

struct{
  DWORD                        dwSize;
  DWORD                        dwDisplayNo;
  BYTE                         bySubWinNo;
  BYTE                         byRes1[3];
  NET_DVR_TIME_V30             struTime;
  NET_DVR_PU_STREAM_CFG_V41    struSourceInfo;
  BYTE                         *byAlarmPic;
  DWORD                        dwAlarmPicSize;
  BYTE                         byRes2[64];
}NET_DVR_DEC_VCA_ALARM,*LPNET_DVR_DEC_VCA_ALARM;

Members

dwSize
Structure size
dwDisplayNo
Smart alarm displayed channel No.
bySubWinNo
Smart alarm sub-window No.
byRes1
Reserved, set as 0.
struTime
Alarm occurred time
struSourceInfo
Stream resource information
byAlarmPic
Alarm picture buffer
dwAlarmPicSize
Alarm picture size, unit: byte
byRes2
Reserved, set as 0.

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_DEC_VCA_ALARM_LOGO

Smart alarm Logo overlay settings structure

struct{
  BYTE     byEnableLogo;
  BYTE     byFlash;
  WORD     wFlashTime;
  DWORD    dwLogoX;
  DWORD    dwLogoY;
  BYTE     byRes[32];
}NET_DVR_DEC_VCA_ALARM_LOGO,*LPNET_DVR_DEC_VCA_ALARM_LOGO;

Members

byEnableLogo
Overlay smart alarm logo? 0- No, 1- Yes
byFlash
Flash the logo? 0- No, Others- Flash
wFlashTime
Flashing duration, unit: second, value range can be get from the decoder capability
dwLogoX
Logo overlays X axis, compared to the window axis, decoding window size is 1920*1920
dwLogoY
Logo overlays Y axis, compared to the window axis, decoding window size is 1920*1920
byRes
Reserved, set as 0.

See Also

NET_DVR_VCA_ALARM_CFG


NET_DVR_DEC_VCA_ALARM_PIC

Smart alarm picture settings structure

struct{
  BYTE    byUploadPic;
  BYTE    byOverlayTargetInfo;
  BYTE    byOverlayRuleInfo;
  BYTE    byPicQuality;
  BYTE    byPicSize;
  BYTE    byRes[27];
}NET_DVR_DEC_VCA_ALARM_PIC,*LPNET_DVR_DEC_VCA_ALARM_PIC;

Members

byUploadPic
Whether to upload picture when smart alarm occurred? 0-No, Others- Yes
byOverlayTargetInfo
Whether to overlay the target information on the alarm picture? 0-No, Others- Yes
byOverlayRuleInfo
Whether to overlay the VCA rule information on the alarm picture? 0-No, Others- Yes
byPicQuality
Picture quality: 0- High, 1- Medium, 2- Low
byPicSize
Picture size, get the device supported resolution via the device capability
0- CIF, 1- QCIF, 2- D1, 3- UXGA(1600x1200), 4- SVGA(800x600), 5- HD720p(1280x720), 6- VGA, 7- XVGA, 8- HD900p, 9- HD1080, 10- 2560*1920, 11- 1600*304, 12- 2048*1536, 13- 2448*2048, 14- 2448*1200, 15- 2448*800, 16- XGA(1024*768), 17- SXGA(1280*1024), 18- WD1(960*576/960*480), 19- 1080i, 20- 576*576, 21- 1536*1536, 22- 1920*1920, 23- 320*240, 24- 720*720, 25- 1024*768, 26- 1280*1280, 27- 1600*600, 28- 2048*768, 0xff- Auto(uses current resolution)
byRes
Reserved, set as 0.

See Also

NET_DVR_VCA_ALARM_CFG


NET_DVR_DECCFG

Structure of decoder configuration.

struct{
  DWORD             dwSize;
  DWORD             dwDecChanNum;
  NET_DVR_DECINFO   struDecInfo[MAX_DECNUM];
}NET_DVR_DECCFG,*LPNET_DVR_DECCFG;

Members

dwSize
Structure size
dwDecChanNum
The number of decode channels
struDecInfo
Configuration of decode channels

See Also

NET_DVR_DECINFO


NET_DVR_DECCHANINFO

Sub structure of decode channel parameters.

struct{
  char   sDVRIP[16];
  WORD   wDVRPort;
  BYTE   sUserName[NAME_LEN];
  BYTE   sPassword[PASSWD_LEN];
  BYTE   byChannel;
  BYTE   byLinkMode;
  BYTE   byLinkType;
}NET_DVR_DECCHANINFO,*LPNET_DVR_DECCHANINFO;

Members

sDVRIP
IP of device
wDVRPort
Port NO. of device
sUserName
User name
sPassword
Password
byChannel
Channel number
byLinkMode
Connecting mode
byLinkType
Connecting type: 0- main stream, 1- sub stream


NET_DVR_DECCHANSTATUS

Sub structure of decode channel status.

struct{
  DWORD   dwWorkType;
  char    sDVRIP[16];
  WORD    wDVRPort;
  BYTE    byChannel;
  BYTE    byLinkMode;
  DWORD   dwLinkType;
  union{
           struct{
           BYTE           sUserName[NAME_LEN];
           BYTE           sPassword[PASSWD_LEN];
           char           cReserve[52];
           }userInfo;
           struct{
           BYTE           fileName[100];
           }fileInfo;
           struct{
           DWORD          dwChannel;
           BYTE           sUserName[NAME_LEN];
           BYTE           sPassword[PASSWD_LEN];
           NET_DVR_TIME   struStartTime;
           NET_DVR_TIME   struStopTime;
           }timeInfo;
  }objectInfo;
}NET_DVR_DECCHANSTATUS,*LPNET_DVR_DECCHANSTATUS;

Members

dwWorkType
Work mode: 1- switching, 2- dynamically connect to decoder, 3- playback and download by file, 4- playback and download by time
sDVRIP
IP of connected device
wDVRPort
Connected port NO.
byChannel
Channel NO.
byLinkMode
Connecting mode
dwLinkType
Connecting type: 0- main stream, 1- sub stream
sUserName
User name
sPassword
Password
cReserve
Reserved, please set it to 0
fileName
File name
dwChannel
Channel NO.
sUserName
User name
sPassword
Password
struStartTime
Start time of playback, used in playback and download by time mode
struStopTime
End time of playback, used in playback and download by time mode

See Also

NET_DVR_TIME


NET_DVR_DECINFO

Structure of decode channel configuration.

struct{
  BYTE                  byPoolChans;
  NET_DVR_DECCHANINFO   struchanConInfo[MAX_DECPOOLNUM];
  BYTE                  byEnablePoll;
  BYTE                  byPoolTime;
}NET_DVR_DECINFO,*LPNET_DVR_DECINFO;

Members

byPoolChans
The number of switching channels on each decode channel, range from 0 to 4. 0 means it has no channel decoded
struchanConInfo
Decode channel information
byEnablePoll
Enable switching or not: 0- no, 1- yes
byPoolTime
Switching time: 0- reserved, 1- 10s, 2- 15s, 3- 20s, 4- 30s, 5- 45s, 6- 1 minute, 7- 2 minutes, 8- 5 minutes

See Also

NET_DVR_DECCHANINFO


NET_DVR_DECODEDEV_INFO

Structure of decoding sub device information

struct{
  BYTE    byRes[1408];
}NET_DVR_DECODEDEV_INFO,*LPNET_DVR_DECODEDEV_INFO;

Members

byRes
Reserved

See Also

NET_DVR_DIFFDEV_INFO


NET_DVR_DECODER_WORK_STATUS

Structure of decoder status.

struct{
  DWORD                        dwSize;
  NET_DVR_MATRIX_CHAN_STATUS   struDecChanStatus[MAX_DECODECHANNUM];
  NET_DVR_DISP_CHAN_STATUS     struDispChanStatus[MAX_DISPCHANNUM];
  BYTE                         byAlarmInStatus[MAX_ANALOG_ALARMIN];
  BYTE                         byAalarmOutStatus[MAX_ANALOG_ALARMOUT];
  BYTE                         byAudioInChanStatus;
  BYTE                         byRes[127];
}NET_DVR_DECODER_WORK_STATUS,*LPNET_DVR_DECODER_WORK_STATUS;

Members

dwSize
Structure size
struDecChanStatus
Status of decode channel
struDispChanStatus
Status of display channel
byAlarmInStatus
Status of alarm-in
byAalarmOutStatus
Status of alarm-out
byAudioInChanStatus
Status of voice talk
byRes
Reserved, please set it to 0

See Also

NET_DVR_MATRIX_CHAN_STATUS NET_DVR_DISP_CHAN_STATUS


NET_DVR_DECODER_WORK_STATUS_V41

Structure of decoder device status parameter.

struct{
  DWORD                         dwSize;
  NET_DVR_MATRIX_CHAN_STATUS    struDecChanStatus[MAX_DECODECHANNUM];
  NET_DVR_DISP_CHAN_STATUS_V41  struDispChanStatus[MAX_DISPNUM_V41];
  BYTE                          byAlarmInStatus[MAX_ANALOG_ALARMIN];
  BYTE                          byAalarmOutStatus[MAX_ANALOG_ALARMOUT];
  BYTE                          byAudioInChanStatus;
  BYTE                          byRes[127];
}NET_DVR_DECODER_WORK_STATUS_V41,*LPNET_DVR_DECODER_WORK_STATUS_V41;

Members

dwSize
Structure size
struDecChanStatus
Decoding channel status
struDispChanStatus
Display channel status
byAlarmInStatus
Alarm input status
byAalarmOutStatus
Alarm output status
byAudioInChanStatus
Voice talk status
byRes
Reserved, please set to 0

See Also

NET_DVR_MATRIX_CHAN_STATUS NET_DVR_DISP_CHAN_STATUS_V41


NET_DVR_DECODERCFG

Structure of channel decoder(PTZ) configuration.

struct{
  DWORD     dwSize;
  DWORD     dwBaudRate;
  BYTE      byDataBit;
  BYTE      byStopBit;
  BYTE      byParity;
  BYTE      byFlowcontrol;
  WORD      wDecoderType;
  WORD      wDecoderAddress;
  BYTE      bySetPreset[MAX_PRESET];
  BYTE      bySetCruise[MAX_CRUISE];
  BYTE      bySetTrack[MAX_TRACK];
}NET_DVR_DECODERCFG, *LPNET_DVR_DECODERCFG;

Members

dwSize
Structure size
dwBaudRate
Baud rate(bps): 0-50, 1-75, 2-110, 3-150, 4-300, 5-600, 6-1200, 7-2400, 8-4800, 9-9600, 10-19200, 11-38400, 12-57600, 13-76800, 14-115.2k
byDataBit
Bit number of data: 0- 5bits, 1- 6bits, 2- 7bits, 3- 8bits
byStopBit
Stop bits: 0- 1 bit, 1- 2bits
byParity
Patity: 0- none, 1- odd, 2- even
byFlowcontrol
Flow control: 0- none, 1- software, 2-hardware
wDecoderType
Decoder type, got via NET_DVR_GetPTZProtocol, corresponding to dwType in NET_DVR_PTZ_PROTOCOL
wDecoderAddress
Decoder address: [0,255]
bySetPreset
Set preset or not: 0-no, 1-yes
bySetCruise
Set cruise or not: 0-no, 1-yes
bySetTrack
Set track or not: 0-no, 1-yes

Remarks

We set series of protocols in earlier devices, but only reserve part of them in later devices(e.g. DS-90xx, DS-91xx, DS-81xx). So please call NET_DVR_GetPTZProtocol to get the ptotocol supported by PTZ when configuring decoder type.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_GetPTZProtocol NET_DVR_PTZ_PROTOCOL


NET_DVR_DECODERCFG_V30

Structure of channel decoder(PTZ) configuration.

struct{
  DWORD     dwSize;
  DWORD     dwBaudRate;
  BYTE      byDataBit;
  BYTE      byStopBit;
  BYTE      byParity;
  BYTE      byFlowcontrol;
  WORD      wDecoderType;
  WORD      wDecoderAddress;
  BYTE      bySetPreset[MAX_PRESET_V30];
  BYTE      bySetCruise[MAX_CRUISE_V30];
  BYTE      bySetTrack[MAX_TRACK_V30];
}NET_DVR_DECODERCFG_V30, *LPNET_DVR_DECODERCFG_V30;

Members

dwSize
Structure size
dwBaudRate
Buad rate(bps): 0-50, 1-75, 2-110, 3-150, 4-300, 5-600, 6-1200, 7-2400, 8-4800, 9-9600, 10-19200, 11-38400, 12-57600, 13-76800, 14-115.2k
byDataBit
Bit number of data: 0- 5bits, 1- 6bits, 2- 7bits, 3- 8bits
byStopBit
Stop bits: 0- 1 bit, 1- 2bits
byParity
Patity: 0- none, 1- odd, 2- even
byFlowcontrol
Flow control: 0- none, 1- software, 2-hardware
wDecoderType
Decoder type, got via NET_DVR_GetPTZProtocol, corresponding to dwType in NET_DVR_PTZ_PROTOCOL
wDecoderAddress
Decoder address: [0,255]
bySetPreset
Set preset or not: 0-no, 1-yes
bySetCruise
Set cruise or not: 0-no, 1-yes
bySetTrack
Set track or not: 0-no, 1-yes

Remarks

We set series of protocols in earlier devices, but only reserve part of them in later device(e.g. DS-90xx, DS-91xx, DS-81xx). So we should call NET_DVR_GetPTZProtocol to get the ptotocol supported by current PTZ when configuring decoder type.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_GetPTZProtocol


NET_DVR_DECODERCFG_V40

Channel Decoder (PTZ) Parameters Structure

struct{
  DWORD    dwSize;
  DWORD    dwBaudRate;
  BYTE     byDataBit;
  BYTE     byStopBit;
  BYTE     byParity;
  BYTE     byFlowcontrol;
  WORD     wDecoderType;
  WORD     wDecoderAddress;
  BYTE     bySetPreset[MAX_PRESET_V30];
  BYTE     bySetCruise[MAX_CRUISE_V30];
  BYTE     bySetTrack[MAX_TRACK_V30];
  BYTE     bySerialNO;
  BYTE     byRes[255];
}NET_DVR_DECODERCFG_V40, *LPNET_DVR_DECODERCFG_V40;

Members

dwSize
Structure Size
dwBaudRate
Baud Rate (bps), 0-50, 1-75, 2-110, 3-150, 4-300, 5-600, 6-1200, 7-2400, 8-4800, 9-9600, 10-19200, 11-38400, 12-57600, 13-76800, 14-115.2k
byDataBit
Data Bit: 0-5 bits, 1-6 bits, 2-7 bits, 3-8 bits
byStopBit
Stop Bit: 0-1 bit, 1-2 bit(s)
byParity
Parity: 0- None, 1- Odd, 2- Even
byFlowcontrol
Flow Control: 0-None, 1- Software, 2- Hardware
wDecoderType
Get the decoder type by NET_DVR_GetPTZProtocol. The corresponding structure is dwType in NET_DVR_PTZ_PROTOCOL.
wDecoderAddress
Decoder Address: [0,255]
bySetPreset
Set Preset：0- No, 1- Yes
bySetCruise
Set Patrol: 0- No, 1- Yes
bySetTrack
Set Pattern: 0- No, 1- Yes
bySerialNO
Serial Port No. starts from 1.
byRes
Reserved. Set to 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

Expanded from

NET_DVR_DECODERCFG_V30


NET_DVR_DECSTATUS

Structure of decoder status.

struct{
  DWORD                   dwSize;
  NET_DVR_DECCHANSTATUS   struDecState[MAX_DECNUM];
}NET_DVR_DECSTATUS,*LPNET_DVR_DECSTATUS;

Members

dwSize
Structure size
struDecState
Structure of decode channel configuration

See Also

NET_DVR_DECCHANSTATUS


NET_DVR_DEFAULT_VIDEO_COND

Structure of video effect default value query condition.

struct{
  DWORD     dwSize;
  DWORD     dwChannel;
  DWORD     dwVideoMode;
  BYTE      byRes[32];
}NET_DVR_DEFAULT_VIDEO_COND,*LPNET_DVR_DEFAULT_VIDEO_COND;

Members

dwSize
Structure size
dwChannel
Channel number
dwVideoMode
Video mode: 0- standard, 1- indoor, 2- outdoor, 3- low light, 255- customized
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig


NET_DVR_DEFOCUS_ALARM

The structure of defocus alarm information

struct{
  DWORD               dwSize;
  NET_VCA_DEV_INFO    struDevInfo;
  WORD                wDevInfoIvmsChannelEx;
  BYTE                byRes[62];
}NET_DVR_DEFOCUS_ALARM,*LPNET_DVR_DEFOCUS_ALARM;

Members

dwSize
The size of the structure
struDevInfo
Alarm Device Information
wDevInfoIvmsChannelEx
Same description with byIvmsChannel of NET_VCA_DEV_INFO, can be used to indicate greater value. For older version of client, byIvmsChannel is still compatible, but the maximum value is 255. For later version of client, use wDevInfoIvmsChannelEx
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_DEFOG_LCD

Defog parameters structure

struct{
  DWORD    dwSize;
  BYTE     byDefogEnable;
  BYTE     byDefogModel;
  BYTE     byDefogLevel;
  BYTE     byRes[33];
}NET_DVR_DEFOG_LCD,*LPNET_DVR_DEFOG_LCD;

Members

dwSize
Structure size
byDefogEnable
Enable defog? 0- No, 1- Yes
byDefogModel
Defog mode: 0- Auto, 1- Manual
byDefogLevel
Defog level, 1 to 7 levels, the default level is 4. Level 1 is 0.5， Level 2 is 0.55， Level 3 is 0.60， Level 4 is 0.65， Level 5 is 0.70， Level 6 is 0.75， Level 7 is 0.80
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


 NET_DVR_DEFOGCFG
Device Network SDK Programming Manual

NET_DVR_DEFOGCFG

Structure of defog parameters

struct{
  BYTE    byMode;
  BYTE    byLevel;
  BYTE    byRes[6];
}NET_DVR_DEFOGCFG, *LPNET_DVR_DEFOGCFG;

Members

byMode
Defog mode：0-disable, 1-auto, 2- normally open
byLevel
Defog leve, data range：0-100
byRes
Reserved

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_DEL_FINGER_PRINT_MODE

Handling union for deleting fingerprint

union{
  BYTE                             uLen[140];
  NET_DVR_FINGER_PRINT_BYCARD      struByCard;
  NET_DVR_FINGER_PRINT_BYREADER    struByReader;
}NET_DVR_DEL_FINGER_PRINT_MODE,*LPNET_DVR_DEL_FINGER_PRINT_MODE;

Members

uLen
Union size, 140 bytes
struByCard
Handling for deleting fingerprint by card
struByReader
Handling for deleting fingerprint by card reader

See Also

NET_DVR_FINGER_PRINT_INFO_CTRL


NET_DVR_DEL_LABEL_PARAM

Information structure of the label to be deleted.

struct{
  DWORD                       dwSize;
  BYTE                        byMode;
  BYTE                        byRes1;
  WORD                        wLabelNum;
  NET_DVR_LABEL_IDENTIFY      struIdentify[MAX_DEL_LABEL_IDENTIFY];
  BYTE                        byRes2[160];
}NET_DVR_DEL_LABEL_PARAM,*LPNET_DVR_DEL_LABEL_PARAM;

Members

dwSize
Structure size
byMode
Expressed by bit, 0x01 means deleting by identify
byRes1
Reserved
wLabelNum
Number of labels
struIdentify
Label identify
byRes2
Reserved

See Also

NET_DVR_DelRecordLabel


NET_DVR_DEL_PARAM

Structure of device delete parameters of N+1 mode

struct{
  NET_DVR_IPADDR    struIP;
  BYTE              byDelType;
}NET_DVR_DEL_PARAM, *LPNET_DVR_DEL_PARAM;

Members

struIP
IP address
byDelType
0- delete the specified machine（stand by engine or the working engine），1- delete all

See Also

NET_DVR_NPO_PARAM_UNION


NET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG

Structure for deleting the video pass back task parameters manually.

struct{
  DWORD                  dwSize;
  DWORD                  dwTaskID;
  NET_DVR_STREAM_INFO    struStreamInfo;
  BYTE                   byRes[131];
}NET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG, *LPNET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG;

Members

dwSize
Structure size
dwTaskID
ID for manual pass back task. It is valid when the value of byDelType (deletion mode) in NET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND (deletion condition) is "1- delete task by stream ID".
struStreamInfo
Stream ID information (72 bytes). It is valid when the value of byDelType (deletion mode) in NET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND (deletion condition) is "1- delete task by stream ID".
byRes
Reserved, set as 0.

Remarks

  • According to the capability set, you can understand whether the device supports deleting the video pass back task manually or not. Corresponding CVR capability set: (CVRAbility ), Relevant interface: NET_DVR_GetDeviceAbility, Capability set type: DEVICE_ABILITY_INFO, Node: <RecordPassBackManulTaskDel>.

See Also

NET_DVR_SetDeviceConfig


NET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND

Structure for deleting the video pass back task condition.

struct{
  DWORD    dwSize;
  BYTE     byDelType;
  BYTE     byRes[131];
}NET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND, *LPNET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND;

Members

dwSize
Structure size
byDelType
Deletion mode: 0- Delete by task ID, 1- Delete by stream ID, 2- Delete all tasks
byRes
Reserved, set as 0

Remarks

  • According to the capability set, you can understand whether the device supports deleting the video pass back task manually. Corresponding CVR capability set (CVRAbility ), Relevant interface: NET_DVR_GetDeviceAbility, Capability set type: DEVICE_ABILITY_INFO, Node: <RecordPassBackManulTaskDel>.

See Also

NET_DVR_SetDeviceConfig


NET_DVR_DELAY_TIME

Power on delay configuration structure

struct{
  DWORD    dwSize;
  DWORD    dwDelayTime;
  BYTE     byRes[32];
}NET_DVR_DELAY_TIME,*LPNET_DVR_DELAY_TIME;

Members

dwSize
Structure size
dwDelayTime
Delay time, value range: 0 to 3000，unit:ms
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DESC_NODE

Structure of ability node description.

struct{
  int      iValue;
  BYTE     byDescribe[DESC_LEN_32];
  DWORD    dwFreeSpace;
  BYTE     byRes[12];
}NET_DVR_DESC_NODE,*LPNET_DVR_DESC_NODE;

Members

iValue
-1 means ability is customized
byDescribe
Description
dwFreeSpace
Free space, unit:M (specially used in disk list)
byRes
Reserved, please set it to 0


NET_DVR_DETECT_FACE

Structure of face detection configuration

struct{
  DWORD                          dwSize;
  BYTE                           byEnableDetectFace;
  BYTE                           byDetectSensitive;
  BYTE                           byEnableDisplay;
  BYTE                           byRes;
  NET_DVR_HANDLEEXCEPTION_V40    struAlarmHandleType;
  NET_DVR_SCHEDTIME              struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  DWORD                          dwMaxRelRecordChanNum;
  DWORD                          dwRelRecordChanNum;
  DWORD                          dwRelRecordChan[MAX_CHANNUM_V30];
  BYTE                           byRes1[64];
}NET_DVR_DETECT_FACE,*LPNET_DVR_DETECT_FACE;

Members

dwSize
Structure size
byEnableDetectFace
Whether enable face detection: 0- disable, 1- enable
byDetectSensitive
Sensivity, 10 levels in total: 1-10
byEnableDisplay
Whether enable motion detection highlight display: 0- no, 1- yes
byRes
Reserved
struAlarmHandleType
Alarm handle of face detection
struAlarmTime
Arm time
dwMaxRelRecordChanNum
The max number of triggered channel(read only)
dwRelRecordChanNum
The actual channel number that triggered by alarm, the including channel number of current group
dwRelRecordChan
The front value of dwRelRecordChanNum is the record channel number triggered by alarm. For example, you can configure record channel dwRelRecordChan[0]- dwRelRecordChan[4] when dwRelRecordChanNum=5
byRes
Reserved

Remarks

Get NET_DVR_DETECT_FACE according to NET_DVR_CHANNEL_GROUP（dwGroup is the group number, it is 0 or 1 when first call）

District group number(dwGroup, max 64 a group) when dwRelRecordChanNum more than 64, get(set) configuration info again by sending configuration condition, group number sets to 2, if it is the multi-group, the group number increases in turn

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_DEV_ACCESS_CFG

Device channel information structure

struct{
  DWORD             dwSize;
  NET_DVR_IPADDR    struIP;
  WORD              wDevicePort;
  BYTE              byEnable;
  BYTE              byRes1;
  BYTE              sUserName[NAME_LEN];
  BYTE              sPassword[PASSWD_LEN];
  BYTE              byRes2[60];
}NET_DVR_DEV_ACCESS_CFG, *LPNET_DVR_DEV_ACCESS_CFG;

Members

dwSize
Structure size
struIP
IP address of access device
wDevicePort
Port No.
byEnable
Whether to enable: 0- no, 1- yes
byRes1
Reserved
sUserName
Login account of access device
sPassword
Login password of access device
byRes2
Reserved

Remarks

First log into the face capture server, connect capture server to face search server through this configuration, then log into the search server, add the capture server channel to search analysis server through interface NET_DVR_SetDVRConfig (Command: NET_DVR_SET_IPPARACFG_V40), and the capture result from the capture server will be uploaded to the capture database of search server.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DEV_BASE_INFO

Structure of the registered device information

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byDeviceType;
  BYTE     byRes1[2];
  BYTE     sDevName[NAME_LEN];
  BYTE     byRes2[24];
}NET_DVR_DEV_BASE_INFO,*LPNET_DVR_DEV_BASE_INFO;

Members

dwSize
Structure size
byEnable
Whether to use in the system: 0- no, 1- yes
byDeviceType
Device type (read-only)
byRes1
Reserved, please set to 0
sDevName
Device name
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_DEV_CHAN_INFO

Structure of front-end encoding device information.

struct{
  NET_DVR_IPADDR   struIP;
  WORD             wDVRPort;
  BYTE             byChannel;
  BYTE             byTransProtocol;
  BYTE             byTransMode;
  BYTE             byFactoryType;
  BYTE             byDeviceType;
  BYTE             byDispChan;
  BYTE             bySubDispChan;
  BYTE             byRes[3];
  BYTE             byDomain[MAX_DOMAIN_NAME];
  BYTE             sUserName[NAME_LEN];
  BYTE             sPassword[PASSWD_LEN];
}NET_DVR_DEV_CHAN_INFO,*LPNET_DVR_DEV_CHAN_INFO;

Members

struIP
Password of device
wDVRPort
Port number of the device
byChannel
Channel number. Generally, the number of analog channel starts from 1, and that of IP channel starts from 33.
For the practical starting numer, please get from NET_DVR_DEVICEINFO_V30 returned by NET_DVR_Login_V30 and NET_DVR_IPPARACFG_V40 returned by NET_DVR_GetDVRConfig.
byTransProtocol
Transmission protocol type: 0- TCP, 1- UDP
byTransMode
Stream type: 0- main stream, 1- sub stream
byFactoryType
Factory information of front-end device, got by NET_DVR_GetIPCProtoList
byDeviceType
Device type (used for video integrated platform): 1- IPC, 2- ENCODER
byDispChan
Display channel number, used for intelligent configuration. Please assign whether use decoding channel or display channel accroding to capacity set
bySubDispChan
Sub channel number of display channel, used for intelligent configuration
byRes
Reserved, please set it to 0
byDomain
Domain name of the device
sUserName
User name of the device
sPassword
Password of the device

See Also

NET_DVR_PU_STREAM_CFG NET_DVR_MATRIX_CHAN_INFO_V30 NET_DVR_MATRIX_DEC_CHAN_INFO_V30

NET_DVR_GetIPCProtoList


NET_DVR_DEV_CHAN_INFO_EX

Front-end device parameters structure

struct{
  BYTE     byChanType;
  BYTE     byStreamId[STREAM_ID_LEN];
  BYTE     byRes1[3];
  DWORD    dwChannel;
  BYTE     byRes2[24];
  BYTE     byAddress[MAX_DOMAIN_NAME];
  WORD     wDVRPort;
  BYTE     byChannel;
  BYTE     byTransProtocol;
  BYTE     byTransMode;
  BYTE     byFactoryType;
  BYTE     byDeviceType;
  BYTE     byDispChan;
  BYTE     bySubDispChan;
  BYTE     byResolution;
  BYTE     byRes[2];
  BYTE     sUserName[NAME_LEN];
  BYTE     sPassword[PASSWD_LEN];
}NET_DVR_DEV_CHAN_INFO_EX,*LPNET_DVR_DEV_CHAN_INFO_EX;

Members

byChanType
Channel type: 0- Normal channel, 1- Zero channel, 2- Stream ID, 3- Local input resource
byStreamId
Stream ID, valid when the channel type byChanType si 2.
byRes1
Reserved.
dwChannel
Channel No., valid when channel type byChanType is 0/1/3 ( if the channel ios the local input resource, the value should be the index of the local inout source)
byRes2
Reserved
byAddress
Device IP address or domain name
wDVRPort
Device port No.
byChannel
Invalid, channel No. refers to dwChannel
byTransProtocol
Transmission protocol type:0-TCP, 1-UDP
byTransMode
Transmission stream type: 0－Main stream, 1- Sub-stream
byFactoryType
Front-end device factory type, get over the API of NET_DVR_GetIPCProtoList
byDeviceType
Device type (for Multi-function Video Controller): 1- IPC，2- ENCODER
byDispChan
Display channel No.(for smart configuration), Decide to be decoding or encoding channel according to the capability.
bySubDispChan
Display channel sub-channel No.(for smart configuration)
byResolution
Resolution:1- CIF，2- 4CIF，3- 720P，4- 1080P，5- 500W
byRes
Reserved, set as 0.
sUserName
Device login account
sPassword
Device password

See Also

NET_DVR_DEC_STREAM_DEV_EX


NET_DVR_DEV_CHAN_INFO_V41

Structure of front-end encoding device information.

struct{
  BYTE    byAddress[MAX_DOMAIN_NAME];
  WORD    wDVRPort;
  BYTE    byChannel;
  BYTE    byTransProtocol;
  BYTE    byTransMode;
  BYTE    byFactoryType;
  BYTE    byDeviceType;
  BYTE    byDispChan;
  BYTE    bySubDispChan;
  BYTE    byResolution;
  BYTE    byRes[2];
  BYTE    sUserName[NAME_LEN];
  BYTE    sPassword[PASSWD_LEN];
}NET_DVR_DEV_CHAN_INFO_V41,*LPNET_DVR_DEV_CHAN_INFO_V41;

Members

byAddress
IP address or domain name of the device
wDVRPort
Port number of the device
byChannel
Channel of the device. Generally, the number of analog channel starts from 1, and that of IP channel starts from 33. For the practical starting numer, please get from NET_DVR_DEVICEINFO_V30 returned by NET_DVR_Login_V30 and NET_DVR_IPPARACFG_V40 returned by NET_DVR_GetDVRConfig.
byTransProtocol
Transmission protocol type: 0- TCP, 1- UDP
byTransMode
Stream type: 0- main stream, 1- sub stream
byFactoryType
Factory information, got by NET_DVR_GetIPCProtoList
byDeviceType
Device type (used for video integrated platform): 1- IPC, 2- ENCODER
byDispChan
Display channel number, used for intelligent configuration. Please assign whether use decoding channel or display channel accroding to capacity se
bySubDispChan
Sub channel number of display channel, used for intelligent configuration
byResolution
Resolution: 1- CIF, 2- 4CIF, 3- 720P, 4- 1080P, 5- 500W, used by multi-screen controller, the controller will allocate decoding resource according to the parameter
byRes
Reserved, please set to 0
sUserName
User name of the device
sPassword
Password of the device

See Also

NET_DVR_DEC_STREAM_DEV


NET_DVR_DEV_DDNS_INFO

Structure of DDNS parameter configuration

struct{
  BYTE     byDevAddress[MAX_DOMAIN_NAME];
  BYTE     byTransProtocol;
  BYTE     byTransMode;
  BYTE     byDdnsType;
  BYTE     byRes1;
  BYTE     byDdnsAddress[MAX_DOMAIN_NAME];
  WORD     wDdnsPort;
  BYTE     byChanType;
  BYTE     byFactoryType;
  DWORD    dwChannel;
  BYTE     byStreamId[STREAM_ID_LEN];
  BYTE     sUserName[NAME_LEN];
  BYTE     sPassword[PASSWD_LEN];
  WORD     wDevPort;
  BYTE     byRes2[2];
}NET_DVR_DEV_DDNS_INFO,*LPNET_DVR_DEV_DDNS_INFO;

Members

byDevAddress
Device domain (serial number and nickname is permitted when select the IPServer or hiDDNS)
byTransProtocol
Transport protocolL:0- TCP，1- UDP，2- multicast
byTransMode
Transport stream mode:0- main stream，1- sub stream
byDdnsType
Domain server type:0- IPServer，1- Dyndns，2- PeanutHull，3- NO-IP，4- hiDDNS
byRes1
Reserved
byDdnsAddress
DDNS address
wDdnsPort
DDNS port
byChanType
Channel type:0-common ，1-zero channel，2-stream ID
byFactoryType
Get type of front-end devices manufacturers by NET_DVR_GetIPCProtoList
dwChannel
Channel
byStreamId
Stream ID
sUserName
User name
sPassword
Password
wDVRPort
Device port
byRes2
Reserved

See Also

NET_DVR_DEC_DDNS_DEV


NET_DVR_DEV_IP_INFO

Screen IP information structure

union{
  BYTE              byUserName[NAME_LEN];
  BYTE              byPassWord[PASSWD_LEN];
  NET_DVR_IPADDR    struIPAddr;
  WORD              wPort;
  BYTE              byRes[100];
}NET_DVR_DEV_IP_INFO,*LPNET_DVR_DEV_IP_INFO;

Members

byUserName
User Name
byPassWord
Password
struIPAddr
IP address
wPort
Device port No.
byRes
Reserved, set as 0.

See Also

NET_DVR_SCREEN_BASE_INFO


NET_DVR_DEV_STORAGE_CFG

Device storage information structure

struct{
  DWORD    dwSize;
  DWORD    dwCapacityTotal;
  DWORD    dwFreeSpaceTotal;
  DWORD    dwLockedRecordSpace;
  DWORD    dwUnLockedSpace;
  BYTE     byRes[512];
}NET_DVR_DEV_STORAGE_CFG, *LPNET_DVR_DEV_STORAGE_CFG;

Members

dwSize
Structure size
dwCapacityTotal
Device storage (CVR means recording volume) total capacity (read-only), unit: MB
dwFreeSpaceTotal
Device storage (CVR means recording volume) free space (read-only), unit: MB
dwLockedRecordSpace
Device locked recoding storage (CVR means recording volume) total capacity (read-only), unit: MB
dwUnLockedSpace
Device unlocked recoding storage (CVR means recording volume) total capacity (read-only), including unlocked recording and free space, unit: MB
byRes
Reserved, set as 0

Remarks

  • Whether device supports storage information search or supported parameter capability, can be determined through CVR device capability set (CVRAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <DeviceStorageStatus>.

See Also

NET_DVR_GetDVRConfig


NET_DVR_DEV_WORK_MODE

Structure of work modes of transcoding devices

struct{
  DWORD    dwSize;
  BYTE     byWorkMode;
  BYTE     byDisplayMode;
  BYTE     byRes[62];
}NET_DVR_DEV_WORK_MODE,*LPNET_DVR_DEV_WORK_MODE;

Members

dwSize
Structure size
byWorkMode
1- channel，2- stream ID，3- GB28281
byDisplayMode
Enable double frame rate:0- normal，1- double frame rate
byRes
Reserved, set it to 0

Remarks

  • Three work modes are supported:1- channel, 2- stream ID, 3- GB28281, devices need reboot when swicthing, the default mode is stream ID

  • When the trancoding devices works in the channel mode, configuration and stream getting can only be used by this mode. The application is as follows:

  • When the trancoding devices works in stream ID mode,configuration and stream getting can only be used by stream ID. If using the channel mode, it leads to too many cameras and reconfiguration before live view, but it can be well sloved using stream ID. The application is shown as follows:

  • GB28181: GB/T28181 protocol access is permitted，for the details, please refer to GB/T28181-2011. When transcoding devices works in GB28181 mode，cameras access and GB28181 parameter configuration can be realized by IE. The application is shown as follows:

    • See Also

    DecoderNET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DEVICE_NET_USING_INFO

Structure of device network status.

struct{
  DWORD    dwSize;
  DWORD    dwPreview;
  DWORD    dwPlayback;
  DWORD    dwIPCModule;
  DWORD    dwNetDiskRW;
  BYTE     byRes[32];
}NET_DVR_DEVICE_NET_USING_INFO,*LPNET_DVR_DEVICE_NET_USING_INFO;

Members

dwSize
Structure size
dwPreview
Preview, unit: kbitps
dwPlayback
Playback, unit: kbitps
dwIPCModule
IPC access, unit: kbitps
dwNetDiskRW
Network disk read and write, unit: kbitps
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_DEVICE_PROTO_LIST

Structure of protocol list supported by RS-485 front-end device.

struct{
  DWORD                 dwSize;
  DWORD                 dwProtoNum;
  NET_DVR_PROTO_TYPE    struProtoType[MAX_DEVICE_PROTO_NUM];
  BYTE                  byRes[12];
}NET_DVR_DEVICE_PROTO_LIST,*LPNET_DVR_DEVICE_PROTO_LIST;

Members

dwSize
Structure size
dwTypeNum
The total number of protocols
struDeviceType
Protocol type
byRes
Reserved

See Also

NET_DVR_GetDeviceProtoList


NET_DVR_DEVICE_RUN_STATUS

Structure of device running status information

struct{
  DWORD    dwSize;
  DWORD    dwMemoryTotal;
  DWORD    dwMemoryUsage;
  BYTE     byCPUUsage;
  BYTE     byRes[127];
}NET_DVR_DEVICE_RUN_STATUS,*LPNET_DVR_DEVICE_RUN_STATUS;

Members

dwSize
Structure size
dwMemoryTotal
The total amount of memory, unit: Kbyte
dwMemoryUsage
Memory usage, unit: Kbyte
byCPUUsage
CPU usage: 0~100
byRes
Reserved

See Also

NET_DVR_GetDeviceStatus


NET_DVR_DEVICE_SELF_CHECK_STATE

Alarm host device self-test status structure

struct{
  DWORD    dwSize;
  DWORD    dwRS485Chan[MAX_CHECK_485CHAN];
  DWORD    dwSensorChan[4];
  BYTE     byRes[32];
}NET_DVR_DEVICE_SELF_CHECK_STATE, *LPNET_DVR_DEVICE_SELF_CHECK_STATE;

Members

dwSize
Structure size
dwRS485Chan
No. of channel with RS-485 connection status error, number array value means RS-485 channel No., bit means slot No., e.g.:
(dwRS485Chan[0]>>0)&0x01, 1 means slot 02 error in RS-485 channel 01, 0 means normal;
(dwRS485Chan[0]>>1)&0x01, 1 means slot 02 error in RS-485 channel 01, 0 means normal;
……
(dwRS485Chan[i]>>j)&0x01, 1 means slot (j+1) error in RS-485 channel (i+1), 1 means normal;
……
dwSensorChan
No. of channel with invalid sensor, by bit, each number array means 32 channels, e.g.:
(dwSensorChan[0]>>0)&0x01 means sensor channel 01 is invalid,
(dwSensorChan[0]>>1)&0x01 means sensor channel 02 is invalid,
……
(dwSensorChan[1]>>0)&0x01 means sensor channel 33 is invalid,
(dwSensorChan[1]>>1)&0x01 means sensor channel 34 is invalid,
……
byRes
Reserved

See Also

NET_DVR_GetDVRConfig


NET_DVR_DEVICE_TYPE

Structure of 485 device type.

struct{
  DWORD         dwType;
  BYTE          byDescribe[DESC_LEN];
}NET_DVR_DEVICE_TYPE,*LPNET_DVR_DEVICE_TYPE;

Members

dwType
485 device type value
byDescribe
485 device type description

See Also

NET_DVR_DEVICE_TYPE_LIST


NET_DVR_DEVICE_TYPE_LIST

Structure of 485 front-end device ability list.

struct{
  DWORD                  dwSize;
  DWORD                  dwTypeNum;
  NET_DVR_DEVICE_TYPE    struDeviceType[MAX_DEVICE_TYPE_NUM];
  BYTE                   byRes[12];
}NET_DVR_DEVICE_TYPE_LIST,*LPNET_DVR_DEVICE_TYPE_LIST;

Members

dwSize
Structure size
dwTypeNum
The total number of types
struDeviceType
Device type
byRes
Reserved

See Also

NET_DVR_GetDeviceTypeList


NET_DVR_DEVICECFG

Structure of device parameters.

struct{
  DWORD    dwSize;
  BYTE     sDVRName[NAME_LEN];
  DWORD    dwDVRID;
  DWORD    dwRecycleRecord;
  BYTE     sSerialNumber[SERIALNO_LEN];
  DWORD    dwSoftwareVersion;
  DWORD    dwSoftwareBuildDate;
  DWORD    dwDSPSoftwareVersion;
  DWORD    dwDSPSoftwareBuildDate;
  DWORD    dwPanelVersion;
  DWORD    dwHardwareVersion;
  BYTE     byAlarmInPortNum;
  BYTE     byAlarmOutPortNum;
  BYTE     byRS232Num;
  BYTE     byRS485Num;
  BYTE     byNetworkPortNum;
  BYTE     byDiskCtrlNum;
  BYTE     byDiskNum;
  BYTE     byDVRType;
  BYTE     byChanNum;
  BYTE     byStartChan;
  BYTE     byDecordChans;
  BYTE     byVGANum;
  BYTE     byUSBNum;
  BYTE     byAuxoutNum;
  BYTE     byAudioNum;
  BYTE     byIPChanNum;
}NET_DVR_DEVICECFG,*LPNET_DVR_DEVICECFG;

Members

dwSize
Structure size
sDVRName
Name of device
dwDVRID
ID of device
dwRecycleRecord
whether recycle recording: 0- no, 1-yes
Read-only parameters:
sSerialNumber
Serial NO.
dwSoftwareVersion
Version of software: for version up to V3.0, the highest 8 bits mean the major version NO., the next 8 bits mean the minor version NO., and the lowest 16 bits mean repair version NO.; for version below V3.0, the highest 16 bits mean the major version NO., the lowest 16 bits mean the minor version NO.
dwSoftwareBuildDate
Building date of software: 0xYYYYMMDD
dwDSPSoftwareVersion
Version of DSP software: the highest 16 bits represent major version, the lowest 16 bits represent minor version.
dwDSPSoftwareBuildDate
Building date of DSP software: 0xYYYYMMDD
dwPanelVersion
Version of panel: the highest 16 bits represent major version, the lowest 16 bits represent minor version.
dwHardwareVersion
Version of hardware: the highest 16 bits represent major version, the lowest 16 bits represent minor version
byAlarmInPortNum
The number of analog alarm input
byAlarmOutPortNum
The number of analog alarm output
byRS232Num
The number of 232 serial ports
byRS485Num
The number of 485 serial ports
byNetworkPortNum
The number of network ports
byDiskCtrlNum
The number of hard disk controllers
byDiskNum
The number of hard disks
byDVRType
Device types, detail listed as below:
Macro Definition | Value | Device Type
DVR | 1 | Undefined device type
ATMDVR | 2 | ATM DVR
DVS | 3 | Encoder
DEC | 4 | 6001D
ENC_DEC | 5 | 6001F
DVR_HC | 6 | 8000HC
DVR_HT | 7 | 8000HT
DVR_HF | 8 | 8000HF
DVR_HS | 9 | 8000HS DVR(no audio)
DVR_HTS | 10 | 8016HTS DVR(no audio)
DVR_HB | 11 | HB DVR(SATA HD)
DVR_HCS | 12 | 8000HCS DVR
DVS_A | 13 | Encoder with ATA HD
DVR_HC_S | 14 | 8000HC-S
DVR_HT_S | 15 | 8000HT-S
DVR_HF_S | 16 | 8000HF-S
DVR_HS_S | 17 | 8000HS-S
ATMDVR_S | 18 | ATM-S
LOWCOST_DVR | 19 | 7000H series DVR
DEC_MAT | 20 | Multi-channel decoder
DVR_MOBILE | 21 | mobile DVR
DVR_HD_S | 22 | 8000HD-S
DVR_HD_SL | 23 | 8000HD-SL
DVR_HC_SL | 24 | 8000HC-SL
DVR_HS_ST | 25 | 8000HS_ST
DVS_HW | 26 | 6000HW
DS630X_D | 27 | Multi-channel decoder
IPCAM | 30 | IP camera
MEGA_IPCAM | 31 | DS-2CDX52MF series megapixel IP camera
IPCAM_X62MF | 32 | DS-2CDX62MF series 1.3 megapixel IP camera
IPDOME | 40 | IP speed dome
IPDOME_MEGA200 | 41 | 2 megapixel IP speed dome
IPDOME_MEGA130 | 42 | 1.3 megapixel IP speed dome
IPMOD | 50 | IP module
IDS6002_HF_B | 62 | Dual-camera tracking: DS6002-HF/B
IDS6101_HF_B | 63 | Behavior analysis: DS6101-HF/B
IDS52XX | 64 | Intelligent analyzer
IDS90XX | 65 | 9000 intelligent
IDS91XX | 68 | 9100 intelligent
DS71XX_H | 71 | DS71XXH_S
DS72XX_H_S | 72 | DS72XXH_S
DS73XX_H_S | 73 | DS73XXH_S
DS76XX_H_S | 76 | DS76XX_H_S
DS76XX_N_S | 77 | DS76XX_N_S
DS81XX_HS_S | 81 | DS81XX_HS_S
DS81XX_HL_S | 82 | DS81XX_HL_S
DS81XX_HC_S | 83 | DS81XX_HC_S
DS81XX_HD_S | 84 | DS81XX_HD_S
DS81XX_HE_S | 85 | DS81XX_HE_S
DS81XX_HF_S | 86 | DS81XX_HF_S
DS81XX_AH_S | 87 | DS81XX_AH_S
DS81XX_AHF_S | 88 | DS81XX_AHF_S
DS90XX_HF_S | 90 | DS90XX_HF_S
DS91XX_HF_S | 91 | DS91XX_HF_S
DS91XX_HD_S | 92 | 91XXHD-S(MD)
DS95XX_HF_S | 95 | DS95XX NVR
DS96XX_HF_S | 96 | DS96XX NVR
DS_65XXHC | 105 | 65XXHC Encoder
DS_65XXHC_S | 106 | 65XXHC-SATA Encoder
DS_65XXHF | 107 | 65XXHF Encoder
DS_65XXHF_S | 108 | 65XXHF-SATA Encoder
IVMS-6400 | 110 | Device for pedestrian flow statistics
DS_66XXDVS | 120 | DS_66XX Encoder
byChanNum
The number of analog channels
byStartChan
Start number of channel
byDecordChans
The number of decode channels
byVGANum
The number of VGA ports
byUSBNum
The number of USB ports
byAuxoutNum
The number of aux output
byAudioNum
The number of audio ports
byIPChanNum
The maximum number of digital channels

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DEVICECFG_V40

Structure of device parameters.

struct{
  DWORD    dwSize;
  BYTE     sDVRName[NAME_LEN];
  DWORD    dwDVRID;
  DWORD    dwRecycleRecord;
  BYTE     sSerialNumber[SERIALNO_LEN];
  DWORD    dwSoftwareVersion;
  DWORD    dwSoftwareBuildDate;
  DWORD    dwDSPSoftwareVersion;
  DWORD    dwDSPSoftwareBuildDate;
  DWORD    dwPanelVersion;
  DWORD    dwHardwareVersion;
  BYTE     byAlarmInPortNum;
  BYTE     byAlarmOutPortNum;
  BYTE     byRS232Num;
  BYTE     byRS485Num;
  BYTE     byNetworkPortNum;
  BYTE     byDiskCtrlNum;
  BYTE     byDiskNum;
  BYTE     byDVRType;
  BYTE     byChanNum;
  BYTE     byStartChan;
  BYTE     byDecordChans;
  BYTE     byVGANum;
  BYTE     byUSBNum;
  BYTE     byAuxoutNum;
  BYTE     byAudioNum;
  BYTE     byIPChanNum;
  BYTE     byZeroChanNum;
  BYTE     byMainProto;
  BYTE     bySubProto;
  BYTE     bySupport;
  BYTE     byEsataUseage;
  BYTE     byIPCPlug;
  BYTE     byStorageMode;
  BYTE     bySupport1;
  WORD     wDevType;
  BYTE     byDevTypeName[24];
  BYTE     bySupport2;
  BYTE     byAnalogAlarmInPortNum;
  BYTE     byStartAlarmInNo;
  BYTE     byStartAlarmOutNo;
  BYTE     byStartIPAlarmInNo;
  BYTE     byStartIPAlarmOutNo;
  BYTE     byHighIPChanNum;
  BYTE     byEnableRemotePowerOn;
  WORD     wDevClass;
  BYTE     byRes2[6];

}NET_DVR_DEVICECFG_V40,*LPNET_DVR_DEVICECFG_V40;

Members

dwSize
Structure size
sDVRName
Name of device
dwDVRID
ID of device
dwRecycleRecord
whether recycle recording: 0- no, 1-yes
Read-only parameters:
sSerialNumber
Serial NO.
dwSoftwareVersion
Version of software: for version up to V3.0, 8 high bits mean the major version NO., 8 next bits mean the minor version NO., and 16 low bits mean repair version NO.; for version below V3.0, 16 high bits mean the major version NO., 16 low bits mean the minor version NO.
dwSoftwareBuildDate
Building date of software: 0xYYYYMMDD
dwDSPSoftwareVersion
Version of DSP software: 16 high bits represent major version, 16 low bits represent minor version
dwDSPSoftwareBuildDate
Building date of DSP software: 0xYYYYMMDD
dwPanelVersion
Version of panel: 16 high bits represent major version, 16 low bits represent minor version
dwHardwareVersion
Version of hardware: 16 high bits represent major version, 16 low bits represent minor version
byAlarmInPortNum
The number of analog alarm input
byAlarmOutPortNum
The number of analog alarm output
byRS232Num
The number of 232 serial ports
byRS485Num
The number of 485 serial ports
byNetworkPortNum
The number of network ports
byDiskCtrlNum
The number of hard disk controllers
byDiskNum
The number of hard disks
byDVRType
Device type, detail listed as below:
Macro Definition | Value | Device Type
DVR | 1 | Undefined device type
ATMDVR | 2 | ATM DVR
DVS | 3 | Encoder
DEC | 4 | 6001D
ENC_DEC | 5 | 6001F
DVR_HC | 6 | 8000HC
DVR_HT | 7 | 8000HT
DVR_HF | 8 | 8000HF
DVR_HS | 9 | 8000HS DVR(no audio)
DVR_HTS | 10 | 8016HTS DVR(no audio)
DVR_HB | 11 | HB DVR(SATA HD)
DVR_HCS | 12 | 8000HCS DVR
DVS_A | 13 | Encoder with ATA HD
DVR_HC_S | 14 | 8000HC-S
DVR_HT_S | 15 | 8000HT-S
DVR_HF_S | 16 | 8000HF-S
DVR_HS_S | 17 | 8000HS-S
ATMDVR_S | 18 | ATM-S
LOWCOST_DVR | 19 | 7000H series DVR
DEC_MAT | 20 | Multi-channel decoder
DVR_MOBILE | 21 | mobile DVR
DVR_HD_S | 22 | 8000HD-S
DVR_HD_SL | 23 | 8000HD-SL
DVR_HC_SL | 24 | 8000HC-SL
DVR_HS_ST | 25 | 8000HS_ST
DVS_HW | 26 | 6000HW
DS630X_D | 27 | Multi-channel decoder
DS640X_HD | 28 | 640X HD decoder
DS610X_D | 29 | 610X decoder
IPCAM | 30 | IP camera
MEGA_IPCAM | 31 | DS-2CDX52MF series megapixel IP camera
IPCAM_X62MF | 32 | DS-2CDX62MF series 1.3 megapixel IP camera
ITCCAM | 35 | Intelligent HD IPC
ZOOMCAM | 38 | Zoom camera
IPDOME | 40 | IP speed dome
IPDOME_MEGA200 | 41 | 2 megapixel IP speed dome
IPDOME_MEGA130 | 42 | 1.3 megapixel IP speed dome
TII_IPCAM | 44 | Thermal network camera
IPMOD | 50 | IP module
TRAFFIC_YTDOME | 51 | Traffic Intelligent Positioning System (without radar speed measurement)
TRAFFIC_RDDOME | 52 | Traffic Intelligent Positioning System (without radar speed measurement)
IDS6501_HF_P | 60 | 6501 license plate recognition
IDS6101_HF_A | 61 | Intelligent ATM
IDS6002_HF_B | 62 | Dual-camera tracking: DS6002-HF/B
IDS6101_HF_B | 63 | Behavior analysis: DS6101-HF/B
IDS52XX | 64 | Intelligent analyzer
IDS90XX | 65 | 9000 intelligent
IDS8104_AHL_S_HX | 66 | HX face recognition ATM
IDS8104_AHL_S_H | 67 | Private face recognition ATM
IDS91XX | 68 | 9100 intelligent
IIP_CAM_B | 69 | Intelligent behavior IPC
DS71XX_H | 71 | DS71XXH_S
DS72XX_H_S | 72 | DS72XXH_S
DS73XX_H_S | 73 | DS73XXH_S
DS72XX_HF_S | 74 | DS72XX_HF_S
DS73XX_HFI_S | 75 | DS73XX_HFI_S
DS76XX_H_S | 76 | DS76XX_H_S
DS76XX_N_S | 77 | DS76XX_N_S
DS81XX_HS_S | 81 | DS81XX_HS_S
DS81XX_HL_S | 82 | DS81XX_HL_S
DS81XX_HC_S | 83 | DS81XX_HC_S
DS81XX_HD_S | 84 | DS81XX_HD_S
DS81XX_HE_S | 85 | DS81XX_HE_S
DS81XX_HF_S | 86 | DS81XX_HF_S
DS81XX_AH_S | 87 | DS81XX_AH_S
DS81XX_AHF_S | 88 | DS81XX_AHF_S
DS90XX_HF_S | 90 | DS90XX_HF_S
DS91XX_HF_S | 91 | DS91XX_HF_S
DS91XX_HD_S | 92 | 91XXHD-S(MD)
IDS90XX_A | 93 | 9000 intelligent ATM
IDS91XX_A | 94 | 9100 intelligent ATM
DS95XX_N_S | 95 | DS95XXN-S NVR
DS96XX_N_SH | 96 | DS96XXN-SH NVR
DS90XX_HF_SH | 97 | DS90XX_HF_SH
DS91XX_HF_SH | 98 | DS91XX_HF_SH
DS_65XXHC | 105 | 65XXHC Encoder
DS_65XXHC_S | 106 | 65XXHC-SATA Encoder
DS_65XXHF | 107 | 65XXHF Encoder
DS_65XXHF_S | 108 | 65XXHF-SATA Encoder
DS_6500HF_B | 109 | DS-65XX series bracket mount DVR
IVMS_6200_C | 110 | iVMS-6200(/C)
IVMS_6200_B | 111 | iVMS-6200(/B)
DS_72XXHV_ST15 | 112 | 72XXHV_ST15 DVR
DS_72XXHV_ST20 | 113 | 72XXHV_ST20 DVR
IVMS_6200_T | 114 | IVMS-6200(/T)
IVMS_6200_BP | 115 | IVMS-6200(/BP)
DS_81XXHC_ST | 116 | DS_81XXHC_ST
DS_81XXHS_ST | 117 | DS_81XXHS_ST
DS_81XXAH_ST | 118 | DS_81XXAH_ST
DS_81XXAHF_ST | 119 | DS_81XXAHF_ST
DS_66XXDVS | 120 | DS-66XX Encoder
DS_19AXX | 142 | General alarm host
DS_19CXX | 144 | Self-service bank alarm host
DS_19DXX | 145 | Rotary ring surveillance alarm host
DS_19XX | 146 | 1900 serial alarm host
DS_1HXX | 148 | ATM safety cabin controller
DS_PEAXX | 149 | Emergency alarm product
DS_19DXX_S | 152 | Video power supply monitoring system
DS_C10H | 161 | Multi-screen controller
DS_C10N_BI | 162 | BNC processor
DS_C10N_DI | 163 | RGB processor
DS_C10N_SI | 164 | Stream processor
DS_C10N_DO | 165 | Display processor
DS_C10N_SERVER | 166 | Distributed server
IDS_8104_AHFL_S_H | 171 | 8104ATM
IDS_65XX_HF_A | 172 | 65 ATM
IDS90XX_HF_RH | 173 | 9000 intelligent RH
IDS91XX_HF_RH | 174 | 9100 intelligent RH device
IDS_65XX_HF_B | 175 | 65 behavior analysis
IDS_65XX_HF_P | 176 | 65 license plate recognition
DS90XX_HF_RH | 181 | DS90XX_HF_RH
DS91XX_HF_RH | 182 | 9100 RH
DS78XX_SE | 183 | DVR_78se
DS81XXHW_S | 185 | DVR_81XXHW_S
DS81XXHW_ST | 186 | DVR_81XXHW_ST
DS91XXHW_ST 187 | 187 | DVR_91XXHW_ST
DS91XX_ST | 188 | DVR_91XX_ST
DS81XX_ST | 189 | DVR_81XX_ST
DS81XXH_ST | 190 | DS81XXHDI_ST,DS81XXHE_ST
DS73XXH_ST | 191 | DS73XXHI_ST
DS81XX_SX | 192 | Inquest 81SNL,81SH,81SFH
DS96XXN_ST | 194 | NVR: DS96xxN_ST
DS86XXN_ST | 195 | NVR: DS86xxN_ST
DS80XXHF_ST | 196 | DVR: DS80xxHF_ST
DS90XXHF_ST | 197 | DVR: DS90xxHF_ST
DS76XXN_ST | 198 | NVR: DS76xxN_ST
DS_9664N_RX | 199 | NVR：DS-9664N-RH, DS-9664N-RT
ENCODER_SERVER | 200 | encode card server
DECODER_SERVER | 201 | Decode card server
PCNVR_SERVER | 202 | PCNVR storage server
CVR_SERVER | 203 | Brainaire CVR
DS_91XXHFH_ST | 204 | 91HD-SDI DVR
DS64XXHD_T | 701 | 64-T HD decoder
DS_65XXD | 703 | DS-65xxD decoder
DS63XXD_T | 704 | 63-T SD decoder
DS90XXHW_ST | 2001 | Hybrid DVR: DS90XXHW_ST
DS72XXHX_SH | 2002 | DS-72xxHV-SH, DS-72xxHF-SH
DS_92XX_HF_ST | 2003 | DS-92XXHF-ST
DS_91XX_HF_XT | 2004 | Netra DVR: DS-91xxHF-XT
DS_90XX_HF_XT | 2005 | Netra hybrid DVR: DS-90xxHF-XT
DS_73XXHX_SH | 2006 | Netra DVR: DS-73xxHX-SH
DS_72XXHFH_ST | 2007 | Netra DVR: DS-72xxHFH-ST
DS_67XXHF_SATA | 2008 | Encoder: DS-67xxHF-SATA
DS_67XXHW | 2009 | Encoder: DS-67xxHW
DS_67XXHW_SATA | 2010 | Encoder: DS-67xxHW-SATA
DS_67XXHF | 2011 | Encoder: DS-67xxHF
DS_72XXHF_SV | 2012 | DVR: DS-72xxHF-SV
DS_72XXHW_SV | 2013 | DVR: DS-72xxHW-SV
DS_81XXHX_SH | 2014 | DVR: DS-81xxHX-SH
DS_71XXHX_SL | 2015 | DVR: DS-71xxHX-SL
DS_76XXH_ST | 2016 | DVR: DS-76xxH-ST
DS_73XXHFH_ST | 2017 | DVR: DS-73xxHFH-ST
DS_81XXHFH_ST | 2018 | DVR: DS-81xxHFH-ST
DS_72XXHFH_SL | 2019 | DVR: DS-72xxHFH-SL
DS_FDXXCGA_FLT | 2020 | 2-SATA ATM DVR
IDS_91XX_HF_ST_A | 2100 | iDS-9100HF-ST/A
IDS_91XX_HF_ST_B | 2101 | iDS-9100HF-ST/B
IDS_90XX_HF_ST_A | 2102 | iDS-9000HF-ST/A
IDS_90XX_HF_ST_B | 2103 | iDS-9000HF-ST/B
IDS_81XX_HF_ST_A | 2104 | iDS-8100HF-ST/A
IDS_81XX_HF_ST_B | 2105 | iDS-8100HF-ST/B
IDS_80XX_HF_ST_A | 2106 | iDS-8000HF-ST/A
IDS_80XX_HF_ST_B | 2107 | iDS-8000HF-ST/B
IDS_8104_AHFL_ST | 2108 | Smart hybrid ATM
IDS_2CD6812F_C | 2109 | Dual-lens people counting camera
DS_77XXN_ST | 2201 | Netra NVR: DS-77xxN-ST
DS_95XX_N_ST | 2202 | Netra NVR: DS-95xxN-ST
DS_85XX_N_ST | 2203 | Netra NVR: DS-85xxN-ST
DS_96XX_N_XT | 2204 | Netra NVR: DS-96xxN-XT
DS_76XX_N_SE | 2205 | Netra NVR: DS-76xxN-SE
DS_86XXSN_SX | 2206 | Netra Interrogation NVR, including 4 types:DS-8608SNL-SP, DS-8608SNL-ST, DS-8608SN-SP, DS-8608SN-ST, L means LCD model, P means POE model
DS_96XX_N_RX | 2207 | Netra NVR: DS-96xxN-RX
DS_96XXX_N_E | 2213 | High performance NVR(256-ch)
DS_76XXN_EX | 2214 | 76/78N-EX(/N/P) series NVR，including 4/8/16-ch E1 1-SATA device and 8/16/32-ch E2 2-SATA device
DS_77XXN_E4 | 2215 | 77N-E4(/N/P) series NVR，including 8/16/32-ch device
DS_86XXN_E8 | 2216 | 86N-E8(/N/P) series NVR，including 8/16/32-ch device
DS_81XXTHFH_E | 2217 | DS-8116THFH-E4 court host
DS_72XXHXH_SH_21 | 2220 | XVR: 72HGH-SH series 4-ch
DS_72XXHXH_SH_31 | 2221 | XVR: 72HGH-SH series 8-ch 16-ch, 72HQH-SH series
DS_73XXHXH_SH_31 | 2222 | XVR: 73HGH-SH series, 73HQH-SH series
DS_81XXHXH_SH_31 | 2223 | XVR: 81HGH-SH series, 81HQH-SH series
DS_NBXX_N_E1_X | 2226 | Portable host
DS_96XXN_FX | 2230 | 96N-Fx series NVR, including 8/16/32-ch device
DS_86XXN_FX | 2231 | 86N-Fx series NVR, including 8/16/32-ch device
DS_96XXXN_HX | 2232 | 96xxxN-Hx series high performance NVR
DS_96XXXN_IX | 2237 | DS-96xxxN-I series NVR(DS-96128N-I16/DS-96128N-I24/DS-96256N-I16/DS-96256N-I24)
PCNVR_IVMS_4200 | 2301 | iVMS-4200 storage server
IVMS_6200_TP | 2401 | IVMS-6200 traffic guidance analyzer
IVMS_6200_TF | 2402 | IVMS-6200 traffic evidence collection analyzer
DS_8116THFHL_F4 | 6201 | Standard trial DVR DS-8116THFHL-F4
byChanNum
The number of analog channels
byStartChan
Starting number of analog channel
byDecordChans
The number of decode channels
byVGANum
The number of VGA ports
byUSBNum
The number of USB ports
byAuxoutNum
The number of aux output
byAudioNum
The number of audio ports
byIPChanNum
The maximum number of digital channels
byZeroChanNum
Number of zero channel encoding
byMainProto
Transmission protocol type of main stream: 0- private, 1- rtsp
bySubProto
Transmission protocol type of sub stream: 0- private, 1- rtsp
bySupport
ability, if the result of bit by bit is 0, it means not support, 1 means support.
bySupport & 0x1: whether it supports intelligent searching
bySupport & 0x2: whether it supports backup
bySupport & 0x4: whether it supports getting ability of compression parameters
bySupport & 0x8: whether it supports multi net interface cards
bySupport & 0x10: whether it supports remote SADP
bySupport & 0x20: whether it supports RAID card
bySupport & 0x40: whether it IP SAN content searching
bySupport & 0x80: whether it supports rtp over rtsp
byEsataUseage
Default useage of Esata: 0- default backup, 1- default record
byIPCPlug
0- close the function of plugging and playing, 1- open the function of plugging and playing
byStorageMode
Hard disk storage mode: 0- diak group mode, 1- disk quota mode, 2- frame extracting mode
bySupport1
Extended capability set, if the result of bit by bit is 0, it means not support, and 1 means support.
bySupport1 & 0x1, whether it supports snmp v30
bySupport1 & 0x2, whether it supports distinguish between playback and download
wDevType
Device type
byDevTypeName
bySupport2
（Read only and cannot be edited）capability extended, result: 0-not supported, 1- supported
bySupport2 & 0x1, indicates whether to support extended OSD overlap
byAnalogAlarmInPortNum
（Read only and cannot be edited）Analog alarm input number
byStartAlarmInNo
（Read only and cannot be edited）Analog alarm input initial No.
byStartAlarmOutNo
（Read only and cannot be edited）Analog alarm output initial No.
byStartIPAlarmInNo
（Read only and cannot be edited）IP alarm input initial No., 0 indicates invalid parameters.
byStartIPAlarmOutNo
（Read only and cannot be edited）IP alarm output initial No., 0 indicates invalid parameters.
byHighIPChanNum
（Read only and cannot be edited）Max. digital channel high 8-bit and low 8-bit refers to byIPChanNum
byEnableRemotePowerOn
whether to enable remote start-up function(when device is sleeping)：0- No，1- Yes
wDevClass
Device type, determines the product line of the device. 0-Reserved，1~50-DVR，51~100-DVS，101~150-NVR，151~200-IPC，65534-Others
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Remarks

  • byStorageMode supports to set one mode of the three modes: if set to "0- diak group mode", it supports disk group configuration(NET_DVR_HDGROUP_CFG); if set to "1- disk quota mode", it supports disk quota configuration(NET_DVR_DISK_QUOTA_CFG); if set to "2- frame extracting mode", it supports disk quota configuration of the frame-extracting channel(NET_DVR_DRAWFRAME_DISK_QUOTA_CFG).
  • If byDVRType=0, it will resolve wDevType to be device type, and device will send its type name to the client.
    If byDVRType is not 0, SDK will not resolve wDevType and byDevTypeName. It values byDVRType, wDevType, and byDevTypeName by the existing device type and name, and byDVRType=wDevType.
    It is recommended to use wDevType and byDevTypeName.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

    Reference Structure

    NET_DVR_DEVICECFG


NET_DVR_DEVICEID_INFO

Structure of device ID information

struct{
  DWORD    dwSize;
  LONG     sDeviceID[DEVICEID_LEN];
  DWORD    dwChan;
  DWORD    dwInputSignalIndex;
  BYTE     byRes[60];
}NET_DVR_DEVICEID_INFO,*LPNET_DVR_DEVICEID_INFO;

Members

dwSize
Structure size
sDeviceID
Device ID
dwChan
Channel number, channel number of BNC processor: 1~16, that of RGB processor: 1, that of transcoding processor: 1~4
dwInputSignalIndex
Signal source index
byRes
Reserved, please set to 0

See Also

NET_DVR_AddNetSignal


NET_DVR_DEVICEINFO

Structure of device parameters.

struct{
  BYTE     sSerialNumber[SERIALNO_LEN];
  BYTE     byAlarmInPortNum;
  BYTE     byAlarmOutPortNum;
  BYTE     byDiskNum;
  BYTE     byDVRType;
  BYTE     byChanNum;
  BYTE     byStartChan;
}NET_DVR_DEVICEINFO,*LPNET_DVR_DEVICEINFO;

Members

sSerialNumber
Serial NO.
byAlarmInPortNum
The number of analog alarm input
byAlarmOutPortNum
The number of analog alarm output
byDiskNum
The number of hard disks
byDVRType
Device type, detail listed as below:
Macro Definition | Value | Device Type
DVR | 1 | Undefined device type
ATMDVR | 2 | ATM DVR
DVS | 3 | Encoder
DEC | 4 | 6001D
ENC_DEC | 5 | 6001F
DVR_HC | 6 | 8000HC
DVR_HT | 7 | 8000HT
DVR_HF | 8 | 8000HF
DVR_HS | 9 | 8000HS DVR(no audio)
DVR_HTS | 10 | 8016HTS DVR(no audio)
DVR_HB | 11 | HB DVR(SATA HD)
DVR_HCS | 12 | 8000HCS DVR
DVS_A | 13 | Encoder with ATA HD
DVR_HC_S | 14 | 8000HC-S
DVR_HT_S | 15 | 8000HT-S
DVR_HF_S | 16 | 8000HF-S
DVR_HS_S | 17 | 8000HS-S
ATMDVR_S | 18 | ATM-S
LOWCOST_DVR | 19 | 7000H series
DEC_MAT | 20 | Multi-channel decoder
DVR_MOBILE | 21 | Mobile DVR
DVR_HD_S | 22 | 8000HD-S
DVR_HD_SL | 23 | 8000HD-SL
DVR_HC_SL | 24 | 8000HC-SL
DVR_HS_ST | 25 | 8000HS_ST
DVS_HW | 26 | 6000HW
DS630X_D | 27 | Multi-channel decoder
IPCAM | 30 | IP camera
MEGA_IPCAM | 31 | X52MF series megapixel IP camera
IPCAM_X62MF | 32 | X62MF series megapixel IP camera
ITCCAM | 35 | Intelligent high-definition IP camera
IPDOME | 40 | IP speed dome
IPDOME_MEGA200 | 41 | 2 megapixel IP speed dome
IPDOME_MEGA130 | 42 | 1.3 megapixel IP speed dome
IPMOD | 50 | IP module
IDS6101_HF_A | 61 | Intelligent ATM
IDS6002_HF_B | 62 | Dual-camera tracking:DS6002-HF/B
IDS6101_HF_B | 63 | Behavior analysis:DS6101-HF/B
IDS52XX | 64 | Intelligent analyzer
IDS90XX | 65 | Intelligent 9000 series
IDS8104_AHL_S_HX | 66 | Face-recognition ATM
IDS91XX | 68 | Intelligent 9100 series
DS71XX_H | 71 | DS71XXH_S
DS72XX_H_S | 72 | DS72XXH_S
DS73XX_H_S | 73 | DS73XXH_S
DS72XX_HF_S | 74 | DS72XXHF_S
DS76XX_H_S | 76 | DS76XX_H_S
DS76XX_N_S | 77 | DS76XX_N_S
DS81XX_HS_S | 81 | DS81XX_HS_S
DS81XX_HL_S | 82 | DS81XX_HL_S
DS81XX_HC_S | 83 | DS81XX_HC_S
DS81XX_HD_S | 84 | DS81XX_HD_S
DS81XX_HE_S | 85 | DS81XX_HE_S
DS81XX_HF_S | 86 | DS81XX_HF_S
DS81XX_AH_S | 87 | DS81XX_AH_S
DS81XX_AHF_S | 88 | DS81XX_AHF_S
DS90XX_HF_S | 90 | DS90XX_HF_S
DS91XX_HF_S | 91 | DS91XX_HF_S
DS91XX_HD_S | 92 | 91XXHD-S(MD)
DS95XX_HF_S | 95 | DS95XX NVR
DS96XX_HF_S | 96 | DS96XX NVR
DS90XX_HF_SH | 97 | DS90XX_HF_SH
DS91XX_HF_SH | 98 | DS91XX_HF_SH
DS_65XXHC | 105 | 65XXHC Encoder
DS_65XXHC_S | 106 | 65XXHC-SATA Encoder
DS_65XXHF | 107 | 65XXHF Encoder
DS_65XXHF_S | 108 | 65XXHF-SATA Encoder
IVMS-6400 | 110 | Device for pedestrian flow statistics
IVMS_6200_B | 111 | iVMS-6200(/B)
DS_72XXHV_ST15 | 112 | 72XXHV_ST15 DVR
DS_72XXHV_ST20 | 113 | 72XXHV_ST20 DVR
DS_66XXDVS | 120 | DS-66XX Encoder
byChanNum
The number of analog channels
byStartChan
Start number of channel, start from 1 currently


NET_DVR_DEVICEINFO_V30

Structure of device parameters.

struct{
  BYTE     sSerialNumber[SERIALNO_LEN];
  BYTE     byAlarmInPortNum;
  BYTE     byAlarmOutPortNum;
  BYTE     byDiskNum;
  BYTE     byDVRType;
  BYTE     byChanNum;
  BYTE     byStartChan;
  BYTE     byAudioChanNum;
  BYTE     byIPChanNum;
  BYTE     byZeroChanNum;
  BYTE     byMainProto;
  BYTE     bySubProto;
  BYTE     bySupport;
  BYTE     bySupport1;
  BYTE     bySupport2;
  WORD     wDevType;
  BYTE     bySupport3;
  BYTE     byMultiStreamProto;
  BYTE     byStartDChan;
  BYTE     byStartDTalkChan;
  BYTE     bySupport4;
  BYTE     byLanguageType;
  BYTE     byRes2[9];
}NET_DVR_DEVICEINFO_V30,*LPNET_DVR_DEVICEINFO_V30;

Members

sSerialNumber
Serial number
byAlarmInPortNum
The number of analog alarm input
byAlarmOutPortNum
The number of analog alarm output
byDiskNum
The number of hard disks
byDVRType
Device type, detail listed as below:
Macro Definition | Value | Device Type
DVR | 1 | Undefined device type
ATMDVR | 2 | ATM DVR
DVS | 3 | Encoder
DEC | 4 | 6001D
ENC_DEC | 5 | 6001F
DVR_HC | 6 | 8000HC
DVR_HT | 7 | 8000HT
DVR_HF | 8 | 8000HF
DVR_HS | 9 | 8000HS DVR(no audio)
DVR_HTS | 10 | 8016HTS DVR(no audio)
DVR_HB | 11 | HB DVR(SATA HD)
DVR_HCS | 12 | 8000HCS DVR
DVS_A | 13 | Encoder with ATA HD
DVR_HC_S | 14 | 8000HC-S
DVR_HT_S | 15 | 8000HT-S
DVR_HF_S | 16 | 8000HF-S
DVR_HS_S | 17 | 8000HS-S
ATMDVR_S | 18 | ATM-S
LOWCOST_DVR | 19 | 7000H series DVR
DEC_MAT | 20 | Multi-channel decoder
DVR_MOBILE | 21 | mobile DVR
DVR_HD_S | 22 | 8000HD-S
DVR_HD_SL | 23 | 8000HD-SL
DVR_HC_SL | 24 | 8000HC-SL
DVR_HS_ST | 25 | 8000HS_ST
DVS_HW | 26 | 6000HW
DS630X_D | 27 | Multi-channel decoder
DS640X_HD | 28 | 640X HD decoder
DS610X_D | 29 | 610X decoder
IPCAM | 30 | IP camera
MEGA_IPCAM | 31 | DS-2CDX52MF series megapixel IP camera
IPCAM_X62MF | 32 | DS-2CDX62MF series 1.3 megapixel IP camera
ITCCAM | 35 | Intelligent HD IPC
ZOOMCAM | 38 | Zoom camera
IPDOME | 40 | IP speed dome
IPDOME_MEGA200 | 41 | 2 megapixel IP speed dome
IPDOME_MEGA130 | 42 | 1.3 megapixel IP speed dome
TII_IPCAM | 44 | Thermal network camera
IPMOD | 50 | IP module
IDS6501_HF_P | 60 | 6501 license plate recognition
IDS6101_HF_A | 61 | Intelligent ATM
IDS6002_HF_B | 62 | Dual-camera tracking: DS6002-HF/B
IDS6101_HF_B | 63 | Behavior analysis: DS6101-HF/B
IDS52XX | 64 | Intelligent analyzer
IDS90XX | 65 | 9000 intelligent
IDS8104_AHL_S_HX | 66 | HX face recognition ATM
IDS8104_AHL_S_H | 67 | Private face recognition ATM
IDS91XX | 68 | 9100 intelligent
IIP_CAM_B | 69 | Intelligent behavior IPC
DS71XX_H | 71 | DS71XXH_S
DS72XX_H_S | 72 | DS72XXH_S
DS73XX_H_S | 73 | DS73XXH_S
DS72XX_HF_S | 74 | DS72XX_HF_S
DS73XX_HFI_S | 75 | DS73XX_HFI_S
DS76XX_H_S | 76 | DS76XX_H_S
DS76XX_N_S | 77 | DS76XX_N_S
DS81XX_HS_S | 81 | DS81XX_HS_S
DS81XX_HL_S | 82 | DS81XX_HL_S
DS81XX_HC_S | 83 | DS81XX_HC_S
DS81XX_HD_S | 84 | DS81XX_HD_S
DS81XX_HE_S | 85 | DS81XX_HE_S
DS81XX_HF_S | 86 | DS81XX_HF_S
DS81XX_AH_S | 87 | DS81XX_AH_S
DS81XX_AHF_S | 88 | DS81XX_AHF_S
DS90XX_HF_S | 90 | DS90XX_HF_S
DS91XX_HF_S | 91 | DS91XX_HF_S
DS91XX_HD_S | 92 | 91XXHD-S(MD)
IDS90XX_A | 93 | 9000 intelligent ATM
IDS91XX_A | 94 | 9100 intelligent ATM
DS95XX_N_S | 95 | DS95XXN-S NVR
DS96XX_N_SH | 96 | DS96XXN-SH NVR
DS90XX_HF_SH | 97 | DS90XX_HF_SH
DS91XX_HF_SH | 98 | DS91XX_HF_SH
DS_65XXHC | 105 | 65XXHC Encoder
DS_65XXHC_S | 106 | 65XXHC-SATA Encoder
DS_65XXHF | 107 | 65XXHF Encoder
DS_65XXHF_S | 108 | 65XXHF-SATA Encoder
DS_6500HF_B | 109 | DS-65XX series bracket mount DVR
IVMS_6200_C | 110 | iVMS-6200(/C)
IVMS_6200_B | 111 | iVMS-6200(/B)
DS_72XXHV_ST15 | 112 | 72XXHV_ST15 DVR
DS_72XXHV_ST20 | 113 | 72XXHV_ST20 DVR
IVMS_6200_T | 114 | IVMS-6200(/T)
IVMS_6200_BP | 115 | IVMS-6200(/BP)
DS_81XXHC_ST | 116 | DS_81XXHC_ST
DS_81XXHS_ST | 117 | DS_81XXHS_ST
DS_81XXAH_ST | 118 | DS_81XXAH_ST
DS_81XXAHF_ST | 119 | DS_81XXAHF_ST
DS_66XXDVS | 120 | DS-66XX Encoder
DS_1964_B10 | 121 | Integrated video platform internal alarm
DS_B10N04_IN | 122 | Integrated video platform internal cascading input
DS_B10N04_OUT | 123 | Integrated video platform internal cascading output
DS_B10N04_INTEL | 124 | Integrated video platform internal smart
DS_6408HFH_B10E_RM | 125 | V6 HD
DS_B10N64F1_RTM | 126 | V6 cascading without DSP
DS_B10N64F1D_RTM | 127 | V6 cascading with DSP
DS_B10_SDS | 128 | Integrated video platform sub-domain controller
DS_B10_DS | 129 | Integrated video platform domain controller
DS_6401HFH_B10V | 130 | VGA HD encoder
DS_6504D_B10B | 131 | Integrated video platform internal SD decoder
DS_6504D_B10H | 132 | Integrated video platform internal HD decoder
DS_6504D_B10V | 133 | Integrated video platform internal VGA decoder
DS_6408HFH_B10S | 134 | Integrated video platform SDI sub-board
DS_18XX_N | 135 | Matrix access gateway
DS_6504HF_B10F_CLASS | 136 | Optical fiber transceiver SD
DS_18XX_PTZ | 141 | Network stream splitter product
DS_19AXX | 142 | General alarm host
DS_19CXX | 144 | Self-service bank alarm host
DS_19DXX | 145 | Rotary ring surveillance alarm host
DS_19XX | 146 | 1900 serial alarm host
DS_1HXX | 148 | ATM safety cabin controller
DS_PEAXX | 149 | Emergency alarm product
DS_PWXX | 150 | Wireless alarm host
DS_PMXX | 151 | 4G network module
DS_19DXX_S | 152 | Video power supply monitoring host
DS_C10H | 161 | Multi-screen controller
DS_C10N_BI | 162 | BNC processor
DS_C10N_DI | 163 | RGB processor
DS_C10N_SI | 164 | Stream processor
DS_C10N_DO | 165 | Display processor
DS_C10N_SERVER | 166 | Distributed server
IDS_8104_AHFL_S_H | 171 | 8104ATM
IDS_65XX_HF_A | 172 | 65 ATM
IDS90XX_HF_RH | 173 | 9000 intelligent RH
IDS91XX_HF_RH | 174 | 9100 intelligent RH device
IDS_65XX_HF_B | 175 | 65 behavior analysis
IDS_65XX_HF_P | 176 | 65 license plate recognition
IVMS_6200_F | 177 | IVMS-6200(/F) face analyzer
IVMS_6200_A | 178 | iVMS-6200(/A)
IVMS_6200_F_S | 179 | IVMS-6200(/F_S) face post-search analyzer
DS90XX_HF_RH | 181 | DS90XX_HF_RH
DS91XX_HF_RH | 182 | 9100 RH
DS78XX_SE | 183 | DVR_78se
DS81XXHW_S | 185 | DVR_81XXHW_S
DS81XXHW_ST | 186 | DVR_81XXHW_ST
DS91XXHW_ST 187 | 187 | DVR_91XXHW_ST
DS91XX_ST | 188 | DVR_91XX_ST
DS81XX_ST | 189 | DVR_81XX_ST
DS81XXH_ST | 190 | DS81XXHDI_ST,DS81XXHE_ST
DS73XXH_ST | 191 | DS73XXHI_ST
DS81XX_SX | 192 | Inquest 81SNL,81SH,81SFH
DS96XXN_ST | 194 | NVR: DS96xxN_ST
DS86XXN_ST | 195 | NVR: DS86xxN_ST
DS80XXHF_ST | 196 | DVR: DS80xxHF_ST
DS90XXHF_ST | 197 | DVR: DS90xxHF_ST
DS76XXN_ST | 198 | NVR: DS76xxN_ST
DS_9664N_RX | 199 | NVR：DS-9664N-RH, DS-9664N-RT
ENCODER_SERVER | 200 | encode card server
DECODER_SERVER | 201 | Decode card server
PCNVR_SERVER | 202 | PCNVR storage server
CVR_SERVER | 203 | Brainaire CVR
DS_91XXHFH_ST | 204 | 91HD-SDI DVR
DS_66XXHFH | 205 | 66 HD encoder
TRAFFIC_TS_SERVER | 210 | Terminal server
TRAFFIC_VAR | 211 | Video analyzer recorder
IPCALL | 212 | IP video intercom host
SAN_SERVER | 213 | SAN(same program with CVR_SERVER, different mode)
DS_B11_M_CLASS | 301 | B11
DS_B12_M_CLASS | 302 | B12
DS_6504HF_B11_CLASS | 303 | B11 internal encoder
DS_6504HF_B12_CLASS | 304 | B12 internal encoder
DS_6401HFH_B11V_CLASS | 305 | VGA HD
DS_6401HFH_B12V_CLASS | 306 | VGA HD
DS_6408HFH_B11S_CLASS | 307 | SDI
DS_6408HFH_B12S_CLASS | 308 | SDI
DS_6504D_B11H_CLASS | 309 | B11 internal HD decoder
DS_6504D_B11B_CLASS | 310 | B11 internal SD decoder
DS_6504D_B12B_CLASS | 311 | B12 internal SD decoder
DS_6504D_B11V_CLASS | 312 | B11 internal VGA decoder
DS_6504D_B12V_CLASS | 313 | B12 internal VGA decoder
DS_6401HFH_B10R_CLASS | 314 | B10 RGB HD
DS_6401HFH_B10D_CLASS | 315 | B10 DVI HD
DS_6401HFH_B10H_CLASS | 316 | B10 HDMI HD
DS_6401HFH_B11R_CLASS | 317 | B11 RGB HD
DS_6401HFH_B11D_CLASS | 318 | B11 DVI HD
DS_6401HFH_B11H_CLASS | 319 | B11 HDMI HD
DS_6401HFH_B12R_CLASS | 320 | B12 RGB HD
DS_6401HFH_B12D_CLASS | 321 | B12 DVI HD
DS_6401HFH_B12H_CLASS | 322 | B12 HDMI HD
DS_65XXD_B10Ex_CLASS | 323 | B10 netra HD decoder
DS_6516HW_B10_CLASS | 324 | B10 netra HD encoder
DS_6504D_B11Ex_CLASS | 328 | B11 netra HD decoder
DS_6504D_B12Ex_CLASS | 329 | B12 netra HD decoder
DS_6512_B11_CLASS | 330 | B11 netra HD encoder
DS_6512_B12_CLASS | 331 | B12 netra HD encoder
DS_6504D_B10H_CLASS | 332 | Integrated video platform internal HD decoder
DS_65XXT_B10_CLASS | 333 | Integrated video platform transcoding sub-system
DS_65XXD_B10_CLASS | 335 | Integrated video platform universal decoder board
DS_IVMSE_B10X_CLASS | 336 | X86 server sub-system
DS_6532D_B10ES_CLASS | 337 | Enhanced decoder board_SDI(B10)
DS_6508HFH_B10ES_CLASS | 338 | SDI input encoder usb-system
DS_82NCG_CLASS | 340 | Sub-system in network gateway
DS_82VAG_CLASS | 341 | Sub-system in network gateway
DS_1802XXF_B10_CLASS | 342 | Optical switching sub-system
iDS_6504_B10EVAC_CLASS | 343 | Smart sub-system
iDS_6504_B10EDEC_CLASS | 344 | Smart sub-system
DS_6402HFH_B10EV_CLASS | 345 | netra encoder(VGA)
DS_6402HFH_B10ED_CLASS | 346 | netra encoder(DVI)
DS_6402HFH_B10EH_CLASS | 347 | netra encoder(HDMI)
DS_6404HFH_B10T_RX_CLASS | 348 | Optical fiber access encoder
DS_6504D_AIO_CLASS | 349 | netra HD decoder
DS_IVMST_B10_CLASS | 350 | X86 transcoding sub-system
DS_6402_AIO_CLASS | 351 | netra encoder
DS_iVMSE_AIO_CLASS | 352 | x86 server sub-system
DS_AIO_M_CLASS | 353 | All-in-one server
DS_6508HF_B10E_CLASS | 355 | BNC input encoder sub-system
DS_6404HFH_B10ES_CLASS | 356 | SDI input encoder sub-system
DS_6402HFH_B10ER_CLASS | 358 | RGB input encoder sub-system
DS_6404HFH_B10T_RM_CLASS | 361 | Optical fiber input encoder sub-system
DS_6516D_B10EB_CLASS | 362 | BNC output decoder sub-system
DS_6516D_B10ES_CLASS | 363 | SDI output decoder sub-system
DS_6508_B11E_CLASS | 365 | BNC input encoder sub-system
DS_6402_B11ES_CLASS | 366 | SDI input encoder sub-system
DS_6402_B11EV_CLASS | 367 | VGA input encoder sub-system
DS_6402_B11ER_CLASS | 368 | RGB input encoder sub-system
DS_6402_B11ED_CLASS | 369 | DVI input encoder sub-system
DS_6402_B11EH_CLASS | 370 | HDMI input encoder sub-system
DS_6516D_B11EB_CLASS | 371 | BNC output decoder sub-system
DS_6516D_B11ES_CLASS | 372 | SDI output decoder sub-system
DS_6508_B12E_CLASS | 373 | BNC input encoder sub-system
DS_6402_B12ES_CLASS | 375 | SDI input encoder sub-system
DS_6402_B12EV_CLASS | 376 | VGA input encoder sub-system
DS_6402_B12ER_CLASS | 377 | RGB input encoder sub-system
DS_6402_B12ED_CLASS | 378 | DVI input encoder sub-system
DS_6402_B12EH_CLASS | 379 | HDMI input encoder sub-system
DS_6516D_B12EB_CLASS | 380 | BNC output decoder sub-system
DS_iVMSE_AIO_8100x_CLASS | 381 | Finance all-in-one server X86 sub-system
DS_iVMSE_AIO_87x_CLASS | 382 | Smart building all-in-one server X86 sub-system
DS_6532D_B11ES_CLASS | 384 | Enhanced decoder board_SDI(B11)
DS_6532D_B12ES_CLASS | 385 | Enhanced decoder board_SDI(B12)
DS_B20_MSU_NP | 400 | B20 main control board
DS_6416HFH_B20S | 401 | SDI input encoder
DS_6416HFH_B20_RM | 402 | Optical fiber input HD encoder
DS_6564D_B20D | 403 | DVI decoder
DS_6564D_B20H | 404 | HDMI decoder
DS_6564D_B20V | 405 | VGA decoder
DS_B20_6516D_DEV_CLASS | 406 | B20 decoder sub-system
DS_6408HFH_B20V | 407 | VGA encoder board
DS_MMC_B20_CLASS | 408 | B20 main control
DS_CARD_CHIP_B20_CLASS | 409 | B20 main control sub-board
DS_6564D_B20B_DEV_CLASS | 410 | BNC decoder sub-system
DS_6564D_B20S_DEV_CLASS | 411 | SDI decoder sub-system
DS_6532HF_B20B_DEV_CLASS | 412 | BNC encoder sub-system
DS_6408HFH_B20D_DEV_CLASS | 413 | DVI encoder sub-system
DS_6408HFH_B20H_DEV_CLASS | 414 | HDMI encoder sub-system
DS_IVMSE_B20_CLASS | 415 | X86 server sub-system
DS_6402HFH_B20Y_DEV_CLASS | 416 | YUV encoder sub-system
DS_6508HW_B20_DEV_CLASS | 417 | HW encoder sub-system
DS_B20N128Fx_B20_DEV_CLASS | 418 | DS_B20N128Fx_M cascading board
DS_AIO_MCU_NP_DEV_CLASS | 419 | IO main control board
DS_6402_AIO_EV_DEV_CLASS | 420 | VGA encoder
DS_6508D_AIO_EV_DEV_CLASS | 421 | VGA decoder
DS_6508D_AIO_ED_DEV_CLASS | 422 | DVI decoder
DS_6508D_AIO_EH_DEV_CLASS | 423 | HDMI decoder
DS_6508HD_B20F_DEV_CLASS | 424 | Video enhancement board
DS_6402HFH_B20ES_DEV_CLASS | 425 | 3G SID encoder
DS_6532D_B20_DEV_CLASS | 426 | B20 decoder sub-system
DS_IVMST_B20_DEV_CLASS | 427 | X86 server sub-system
DS_6416HFH_B20DD_DEV_CLASS | 428 | DVI dual-link
DS_6441VS_B20_DEV_CLASS | 429 | Camera splicing type
DS_6404HFH_B20T_CLASS | 431 | TVI
DS_FS22_B20_DEV_CLASS | 432 | Switch sub-system
DS_IVMSE_B20UH_DEV_CLASS | 433 | Ultra HDX86 input
DS_6404HFH_B20Fx_DEV_CLASS | 436 | Optical transceiver access sub-system
DS_N128x_B20Fy_CLASS | 437 | Cascading sub-system
DS_181600F_B20_CLASS | 438 | Network optical fiber sub-system
DS_6904UD_B20H_CLASS | 439 | Ultra HD decoder sub-system
DS_B21_MCU_NP_CLASS | 440 | B21 main control
DS_B21_S10_x_CLASS | 441 | B21 cabinet x = A/S/D
DS_6402HFH_B21D_CLASS | 442 | B21 encoder sub-system
DS_6508HD_B21D_CLASS | 443 | B21 decoder sub-system
DS_iVMSE_B21HW_CLASS | 444 | B21 X86 sub-system
DS_C10S | 501 | C10S integrated screen controller
DS_C10N_SDI | 551 | SDI processor
DS_C10N_BIW | 552 | 8-ch BNC processor
DS_C10N_DON | 553 | Display processor
DS_C10N_TVI | 554 | TVI input board
DS_C10N_DI2 | 555 | DVI 2-ch input board
DS_C10N_AUDIO_OUT | 556 | DVI, HDMI, VGA output board with audio
DS_C10N_AUDIO_IN | 557 | DVI, HDMI, VGA input board with audio
DS_C20N | 570 | Distributed screen controller
DS_C20N_BNC | 571 | BNC input device
DS_C20N_DVI | 572 | DVI input device
DS_C20N_DP | 573 | DP input device
DS_C20N_OUT | 574 | output device
DS_19M00_MN | 601 | 100M network module of alarm host
DS_KH8302_A | 602 | Indoor device
DS_KD8101_2 | 603 | Door device
DS_KM8301 | 604 | Management device
DS_KVXXXX_XX | 605 | Villa door device
DS64XXHD_T | 701 | 64-T HD decoder
DS_65XXD | 703 | DS-65xxD decoder
DS63XXD_T | 704 | 63-T SD decoder
SCE_SERVER | 705 | Capture server
DS_64XXHD_S | 706 | DS-64xxHD-S HD decoder
DS_68XXT | 707 | Multi-function video & audio transcoder
DS_65XXD_T | 708 | 65D-T universal decoder
DS_65XXHD_T | 709 | 65HD-T universal decoder
DS_69XXUD | 710 | 69XXUD ultra HD decoder
DS_65XXUD | 711 | 65XXUD decoder
DS_65XXUD_L | 712 | 65XXUD_L decoder
DS_65XXUD_T | 713 | 65XXUD_T decoder
DS_D20XX | 750 | LCD screen decoding card
DS_C50S | 751 | SDI matrix
DS_D50XX | 752 | LCD screen decoding card
DS_D40 | 760 | LED screen transmission card
DS_65VMXX | 770 | Video conference server
DS_65VTXX | 771 | Video conference terminal
DS_65VTA | 772 | Video conference all-in-one terminal
DS_65VT_RX | 773 | Interactive teaching terminal
DS_CS_SERVER | 800 | Virtual screen server
DS_K260X | 850 | Access control host
DS_K1TXXX | 851 | Fingerprint all-in-one server
DS_K280X | 852 | Economical access control host
DS_K1T80X | 854 | Economical access control all-in-one server
RAC_6X00 | 856 | Hundre fingerprint access control all-in-one server
DS_K2602_AX | 857 | Personnel channel host
DS_K1T803F | 858 | Economical fingerprint access control product
DS_K2700 | 859 | Distributed 3-layer architecture access control host
DS_K270X | 860 | Distributed 3-layer architecture local controller
DS_K1T500S | 861 | Video access control all-in-one server
DS_K1A801F | 862 | Economical fingerprint access control product
DS_6800M | 900 | 68M stream merger
DS_68NTH | 901 | Information release host
DS_D60S | 902 | Information release server
DS_D10 | 931 | DLP device
DS_3K0X_NM | 951 | Optical fiber transceiver
DS_3E2328 | 952 | 100M switch
SCREEN_LINK_SERVER | 971 | screen server
DS_D51OPSXX | 972 | OPS computer box
IP_PTSYS_MEGA200 | 1001 | IP 2MP integrated PTZ
IPCAM_FISHEYE | 1002 | Fisheye camera
IPCAM_FISHEYE_E | 1003 | Economical Fisheye camera
IPCAM_BINOCULAR | 1004 | Dual-lens camera
IPCAM_365 | 1010 | 365 platform-supported IPC CAM
IPCAM_R0 | 1011 | A5S platform-supported IPC CAM
IPCAM_R1 | 1012 | 385 platform-supported IPC CAM
IPCAM_R2 | 1013 | R2 platform-supported IPC CAM
IPCAM_R3 | 1014 | 8127 platform-supported IPC CAM
IPCAM_R4 | 1015 | S2 platform-supported IPC CAM
IPDOME_365 | 1110 | 365 platform-supported IPD CAM
IPDOME_R0 | 1111 | A5S platform-supported IPD CAM
IPDOME_R1 | 1112 | 385 platform-supported IPD CAM
IPDOME_R2 | 1113 | R2 platform-supported IPD CAM
IPDOME_R3 | 1114 | 8127 platform-supported IPD CAM
IPDOME_R4 | 1115 | S2 platform-supported IPD CAM
ITCCAM_R3 | 1211 | 8127 platform-supported ITC CAM
UAV_S | 1300 | Unmanned Aerial Vehicle Station
TRAFFIC_ECT | 1400 | Entrance/exit terminal server
TRAFFIC_PARKING_SERVER | 1401 | Parking lot server
TRAFFIC_TME | 1402 | TME entrance/exit controller
DS90XXHW_ST | 2001 | Hybrid DVR: DS90XXHW_ST
DS72XXHX_SH | 2002 | DS-72xxHV-SH, DS-72xxHF-SH
DS_92XX_HF_ST | 2003 | DS-92XXHF-ST
DS_91XX_HF_XT | 2004 | Netra DVR: DS-91xxHF-XT
DS_90XX_HF_XT | 2005 | Netra hybrid DVR: DS-90xxHF-XT
DS_73XXHX_SH | 2006 | Netra DVR: DS-73xxHX-SH
DS_72XXHFH_ST | 2007 | Netra DVR: DS-72xxHFH-ST
DS_67XXHF_SATA | 2008 | Encoder: DS-67xxHF-SATA
DS_67XXHW | 2009 | Encoder: DS-67xxHW
DS_67XXHW_SATA | 2010 | Encoder: DS-67xxHW-SATA
DS_67XXHF | 2011 | Encoder: DS-67xxHF
DS_72XXHF_SV | 2012 | DVR: DS-72xxHF-SV
DS_72XXHW_SV | 2013 | DVR: DS-72xxHW-SV
DS_81XXHX_SH | 2014 | DVR: DS-81xxHX-SH
DS_71XXHX_SL | 2015 | DVR: DS-71xxHX-SL
DS_76XXH_ST | 2016 | DVR: DS-76xxH-ST
DS_73XXHFH_ST | 2017 | DVR: DS-73xxHFH-ST
DS_81XXHFH_ST | 2018 | DVR: DS-81xxHFH-ST
DS_72XXHFH_SL | 2019 | DVR: DS-72xxHFH-SL
DS_FDXXCGA_FLT | 2020 | 2-SATA ATM DVR
IDS_91XX_HF_ST_A | 2100 | iDS-9100HF-ST/A
IDS_91XX_HF_ST_B | 2101 | iDS-9100HF-ST/B
IDS_90XX_HF_ST_A | 2102 | iDS-9000HF-ST/A
IDS_90XX_HF_ST_B | 2103 | iDS-9000HF-ST/B
IDS_81XX_HF_ST_A | 2104 | iDS-8100HF-ST/A
IDS_81XX_HF_ST_B | 2105 | iDS-8100HF-ST/B
IDS_80XX_HF_ST_A | 2106 | iDS-8000HF-ST/A
IDS_80XX_HF_ST_B | 2107 | iDS-8000HF-ST/B
IDS_8104_AHFL_ST | 2108 | Smart hybrid ATM DVR
IDS_2CD6812F_C | 2109 | Dual-lens people counting camera
DS_77XXN_ST | 2201 | Netra NVR: DS-77xxN-ST
DS_95XX_N_ST | 2202 | Netra NVR: DS-95xxN-ST
DS_85XX_N_ST | 2203 | Netra NVR: DS-85xxN-ST
DS_96XX_N_XT | 2204 | Netra NVR: DS-96xxN-XT
DS_76XX_N_SE | 2205 | Netra NVR: DS-76xxN-SE
DS_86XXSN_SX | 2206 | Netra interrogation NVR, including 4 models: DS-8608SNL-SP, DS-8608SNL-ST, DS-8608SN-SP, DS-8608SN-ST, L means LCD model, P means POE
DS_96XX_N_RX | 2207 | Netra NVR: DS-96xxN-RX
DS_71XXN_SL | 2208 | DS-71XXN-SL civil product
CS_N1_1XX | 2209 | CS_N1_1XX, for civil department
DS_71XXN_SN | 2210 | 71XX_N_SN economical civil product
CS_N1_2XX | 2211 | N1_2XX for civil department
DS_76XX_N_SHT | 2212 | 76XX_N_SHT
DS_96XXX_N_E | 2213 | High performance NVR(256-ch)
DS_76XXN_EX | 2214 | 76/78N-EX(/N/P) series NVR, including 4/8/16-ch E1 1-SATA device and 8/16/32-ch E2 2-SATA device
DS_77XXN_E4 | 2215 | 77N-E4(/N/P) series NVR, including 8/16/32-ch device
DS_86XXN_E8 | 2216 | 86N-E8(/N/P) series NVR, including 8/16/32-ch device
DS_9616N_H8 | 2217 | DS_9616N_H8
DS_72XXHX_EX_GXY | 2218 | 72 series wireless DVR product(xx following 72 means number of channels, x following E means number of SATA, G and XY mean wireless type)
DS_76XXN_EX_GXY | 2219 | 76 series wireless NVR product(xx following 76 means number of channels, x following E means number of SATA, G and XY mean wireless type)
DS_72XXHXH_SH_21 | 2220 | XVR: 72HGH-SH series 4-ch
DS_72XXHXH_SH_31 | 2221 | XVR: 72HGH-SH series 8-ch16-ch, 72HQH-SH series
DS_73XXHXH_SH_31 | 2222 | XVR: 73HGH-SH series , 73HQH-SH series
DS_81XXHXH_SH_31 | 2223 | XVR: 81HGH-SH series , 81HQH-SH series
DS_71XXHXH_SH_21 | 2224 | XVR: 71HGH-SH series 4-ch
DS_71XXHXH_SH_31 | 2225 | XVR: 71HGH-SH series 8-ch16-ch, 71HQH-SH series
DS_NBXX_N_E1_X | 2226 | Portable host
DS_96XXN_FX | 2230 | 96N-Fx series NVR, including 8/16/32-ch device
DS_86XXN_FX | 2231 | 86N-Fx series NVR, including 8/16/32-ch device
DS_96XXXN_HX | 2232 | 96xxxN-Hx series hign performance NVR
DS_86XXN_I | 2233 | 86N_I series NVR
DS_77XX_N_I | 2234 | 77N_I series NVR
DS_76XX_N_I | 2235 | 76N_I series NVR
DS_78XX_N_I | 2236 | 78N_I series NVR
DS_96XXXN_IX | 2237 | DS-96xxxN-I series NVR(DS-96128N-I16/DS-96128N-I24/DS-96256N-I16/DS-96256N-I24)
DS_90XXHXH_XT | 2238 | DS-9016HQH-XT
PCNVR_IVMS_4200 | 2301 | iVMS-4200 storage server
IVMS_6200_TP | 2401 | IVMS-6200 traffic guidance analyzer
IVMS_6200_TF | 2402 | IVMS-6200 traffic evidence collection analyzer
IVMS_6200_D | 2403 | iVMS-6200(/D)
IDS_81XXAHW_ST | 2405 | iDS-81xxAHW-ST
IDS_81XXAHW_SP | 2406 | iDS-81xxAHW-SP
IDS_81XXAHWL_ST | 2407 | iDS-81xxAHWL-ST
IDS_81XXAHWL_SP | 2408 | iDS-81xxAHWL-SP
IDS_9616N_H8 | 2409 | iDS_9616N_H8
IVMS_6200_SMD | 2500 | IVMS_6200_SMD
DS_81XXAHW_ST | 2501 | 81HW-ST hybrid ATM DVR
DS_81XXAHW_SP | 2502 | 81HW-SP hybrid ATM DVR
DS_81XXAHWL_ST | 2503 | 81AHWL-ST hybrid ATM DVR
DS_81XXAHWL_SP | 2504 | 81AHWL-SP hybrid ATM DVR
DS_81XXAHGH_E4 | 2601 | TVI ATM DVR
DS_6904UD_AIOE_H_CLASS | 4002 | B20 all-in-one server
DS_6402HFH_B21B_CLASS | 4005 | B21 encoder
DS_6902UD_B21H_CLASS | 4006 | B21 HDMI decoder
DS_6902UD_B21D_CLASS | 4007 | B21 DVI decoder
DS_6902UD_B21V_CLASS | 4008 | B21 VGA decoder
DS_6904UD_B20D_CLASS | 4010 | B20 DVI decoder
DS_6904UD_B20V_CLASS | 4011 | B20 VGA decoder
DS_8116THFHL_F4 | 6201 | Standard trial DVR DS-8116THFHL-F4
byChanNum
The number of analog channels. And the max number of IP channels equals to the value of dwDChanNum got by calling NET_DVR_GetDVRConfig(command: NET_DVR_GET_IPPARACFG_V40)
byStartChan
Starting number of analog channel, starts from 1. The starting number of IP channel equals to the value of dwStartDChan got by calling NET_DVR_GetDVRConfig(command: NET_DVR_GET_IPPARACFG_V40)
byAudioChanNum
The number of audio ports
byIPChanNum
The maximum number of digital channels
byZeroChanNum
The number of zero channel encoding
byMainProto
Transmission protocol type of main stream: 0- private, 1- rtsp
bySubProto
Transmission protocol type of sub stream: 0- private, 1- rtsp
bySupport
Capability, if the result of bit by bit is 0, it means not support, and 1 means support.
bySupport & 0x1: whether it supports intelligent searching
bySupport & 0x2: whether it supports backup
bySupport & 0x4: whether it supports getting ability of compression parameters
bySupport & 0x8: whether it supports multi network card
bySupport & 0x10: whether it supports SADP
bySupport & 0x20: whether it supports RAID card
bySupport & 0x40: whether it IP SAN content searching
bySupport & 0x80: whether it supports rtp over rtsp
bySupport1
Extended capability set, if the result of bit by bit is 0, it means not support, and 1 means support.
bySupport1 & 0x1, whether it supports snmp v30
bySupport1 & 0x2, whether it supports distinguish between playback and download
bySupport1 & 0x4, whether it supports arming priority
bySupport1 & 0x8, whether it supports arming time period extension
bySupport1 & 0x10, whether it supports multi disks(more than 33)
bySupport1 & 0x20, whether it supports rtsp over http
bySupport1 & 0x40, whether it supports delay live view
bySupport1 & 0x80, whether it supports the new type of alarm information for intelligent traffic camera, It is also indicates whether to support the configuration ofNET_DVR_IPPARACFG_V40
bySupport2
Extended capability set, if the result of bit by bit is 0, it means not support, and 1 means support.
bySupport2 & 0x1, whether the decoder supports to get the stream by URL bySupport2 & 0x2, support FTPV40. bySupport2 & 0x4, support ANR.
wDevType
Device type
bySupport3
Extended capability set, if the result of bit by bit is 0, it means not support, and 1 means support.
bySupport3 & 0x1: whether it supports multi-stream
bySupport3 & 0x4: whether it supports configuration by group, including: image parameters of channels, alarm input, IP alarm input/output access, user parameters, device status, JPEG capture, Timing and capture by time, HDD group management and so on
bySupport3 & 0x20: whether it supports getting stream by DDNS
byMultiStreamProto
Whether it supports to multi stream: 0- not support, 1-support:
byMultiStreamProto & 0x1: whether it supports third stream
byMultiStreamProto & 0x2: whether it supports forth stream
byMultiStreamProto & 0x40:whether it supports main stream
byMultiStreamProto & 0x80:whether it supports sub stream
byStartDChan
start number of IP channel, 0-no IP channel.
byStartDTalkChan
start number of digital talk channel, 0-no digital talk channel.
byHighDChanNum
the number of IP channels, high 8 bit is valid.
bySupport4
0-not support, 1-support:
bySupport4 & 0x1: whether it supports all type of stream, RTSP, private protocol
bySupport4 & 0x10: whether it supports to mount network hard disk by domain name
byLanguageType
0-not support, 1-support:
byLanguageType == 0, doesn't support this variable byLanguageType & 0x1: whether it supports all type of stream, RTSP, private protocol
byLanguageType & 0x2: whether it supports to mount network hard disk by domain name
byRes2
reserved,set to 0.
If the value of byDVRType is 0, wDevType will be the device type. If not, the value of byRes2 and wDevType are equal to the value of byDVRType. It is recommended to use wDevType as device type.

See Also

NET_DVR_Login_V30


NET_DVR_DEVICEINFO_V40

The structure of device parameters

struct{
  NET_DVR_DEVICEINFO_V30    struDeviceV30;
  BYTE                      bySupportLock;
  BYTE                      byRetryLoginTime;
  BYTE                      byPasswordLevel;
  BYTE                      byRes1;
  DWORD                     dwSurplusLockTime;
  BYTE                      byCharEncodeType;
  BYTE                      byRes2[255];
}NET_DVR_DEVICEINFO_V30,*LPNET_DVR_DEVICEINFO_V30;

Members

struDeviceV30
Device parameters
bySupportLock
whether to support locking function, dwSurplusLockTime and byRetryLoginTime are valid when bySupportLock is 1.
byRetryLoginTime
The available login retry times, this parameter is valid when the entering user name or password is incorrect.
byPasswordLevel
The password security level, 0- invalid, 1- default password, 2- valid password, 3- high-risk password.The client is required to reminder the user to change the admin password which is set as the default password(12345) or other high-risk password.
byRes1
Reserved, set as 0.
dwSurplusLockTime
The remaining time to lock the system, unit: second.
byCharEncodeType
Character code type(except SDK unvarnished transmission API)：0- No code information(old device)，1- GB2312(unvarnished transmission)，2- GBK，3- BIG5(traditional Chinese)，4- Shift_JIS(Japanese)，5- EUC-KR(Korean)，6- UTF-8，7- ISO8859-1，8- ISO8859-2，9- ISO8859-3，…，and so on，21- ISO8859-15(Western Europe)
byRes2
Reserved, set as 0.

See Also

NET_DVR_Login_V40


NET_DVR_DEVICENATINFO

Structure of network information on NAT mode.

struct{
  NET_DVR_IPADDR    struPuIp;
  WORD              wOuterPort;
  WORD              wInterPort;
  BYTE              byRes[8];
}NET_DVR_DEVICENATINFO,*LPNET_DVR_DEVICENATINFO;

Members

struPuIp
External network IP of PU
wOuterPort
External network port of PU
wInterPort
Local port of PU sending video stream
byRes
Reserved, please set to 0

See Also

NET_DVR_IPADDR
NET_DVR_PreviewRequest


NET_DVR_DEVICESTATECFG

Device state structure of intelligent traffic camera.

struct{
  DWORD            dwSize;
  WORD             wPreviewNum;
  WORD             wFortifyLinkNum;
  NET_DVR_IPADDR   struPreviewIP[MAX_LINK];
  NET_DVR_IPADDR   struFortifyIP[MAX_FORTIFY_NUM];
  DWORD            dwVideoFrameRate;
  BYTE             byResolution;
  BYTE             bySnapResolution;
  BYTE             byStreamType;
  BYTE             byTriggerType;
  DWORD            dwSDVolume;
  DWORD            dwSDFreeSpace;
  BYTE             byDetectorState[MAX_DRIVECHAN_NUM][MAX_COIL_NUM];
  BYTE             byDetectorLinkState;
  BYTE             bySDStatus;
  BYTE             byFortifyLevel[MAX_FORTIFY_NUM];
  BYTE             byRes2[116];
}NET_DVR_DEVICESTATECFG, *LPNET_DVR_DEVICESTATECFG;

Members

dwSize
Structure size
wPreviewNum
Connection number of preview
wFortifyLinkNum
Connection number of arm
struPreviewIP
User's IP at preview
struFortifyIP
User's IP of arm connection
dwVideoFrameRate
Frame rate:0-all; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22;
byResolution
Resolution 0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF,16-VGA(640*480), 17-UXGA(1600*1200), 18-SVGA (800*600),19-HD720p(1280*720),20-XVGA, 21-HD900p, 27-HD1080i, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048
bySnapResolution
Capture resolution 0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF,16-VGA(640*480), 17-UXGA(1600*1200), 18-SVGA (800*600),19-HD720p(1280*720),20-XVGA, 21-HD900p, 27-HD1080i, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048
byStreamType
Stream type:0-main stream;1-substream
byTriggerType
Trigger mode:0-triggered by video;1-triggered normally
dwSDVolume
SD capacity
dwSDFreeSpace
SD capacity left
byDetectorState
State of vehicle inspector device:0-unused;1-normal;2-exceptional
byDetectorLinkState
Conncetion state of vehicle inspector device:0-disconnected;1-connected
bySDStatus
SD card status: 0- active, 1- sleep, 2- abnormal, 3- no SD card
byFortifyLevel
Arming priority: 0- level one (high), 1- level two (medium), 2- level three (low), 0xff- none
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DEVLIST

Structure of distributed sub device information list.

struct{
  DWORD    dwSize;
  DWORD    dwDevNums;
  BYTE     *pBuffer;
  BYTE     byRes1[3];
  DWORD    dwBufLen;
  BYTE     byRes2[64];
}NET_DVR_DEVLIST,*LPNET_DVR_DEVLIST;

Members

dwSize
Structure size
dwDevNums
The count of distributed sub devices
pBuffer
Sub device information list: dwDevNums*NET_DVR_SINGLE_DEV_INFO
byRes1
Reserved, please set to 0
dwBufLen
Buffer size, input parameter
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDevList


NET_DVR_DEVSERVER_CFG

Structure of mudule service configuration

struct{
  DWORD    dwSize;
  BYTE     byIrLampServer;
  BYTE     bytelnetServer;
  BYTE     byABFServer;
  BYTE     byEnableLEDStatus;
  BYTE     byEnableAutoDefog;
  BYTE     byEnableSupplementLight;
  BYTE     byEnableDeicing;
  BYTE     byRes[249];
}NET_DVR_DEVSERVER_CFG,*LPNET_DVR_DEVSERVER_CFG;

Members

dwSize
Structure size
byIrLampServer
IR lamp settings:0- disable，1- enable
bytelnetServer
telnet settings：0- disable，1- enable
byABFServer
ABF settings：0- enable，1- disable
byEnableLEDStatus
LED light setting: 0-disable, 1-enable
byEnableAutoDefog
Auto defog control: 0- enable, 1- disable
byEnableSupplementLight
Supplement light control: 0- enable, 1- disable
byEnableDeicing
Enable decing function: 0- No, 1- Yes
byRes
reserved

Remarks

Telnet configuration for administrator only

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DIALPARAM

Structure of dialing parameter.

struct{
  DWORD              dwSize;
  BYTE               bEnable3G;
  BYTE               byDialMethod;
  BYTE               bySwitchMethod;
  BYTE               byRes1[11];
  WORD               wOffLineTime;
  NET_DVR_PPPDPARAM  struPppdParam;
  NET_DVR_QOSPARAM   struQosParam;
  BYTE               byUimNumber[MAX_PHONE_NUM];
  BYTE               byRes2[24];
}NET_DVR_DIALPARAM, *LPNET_DVR_DIALPARAM;

Members

dwSize
Structure size
bEnable3G
Whether enable 3G or not: 0- disable, 1- enable
byDialMethod
Dialing mode: 0- auto dial, 1- manual dial
bySwitchMethod
Switch methold: 0- auto switch, 1- 3G priority, 2- manually switch to 2G, 3- manually switch to 3G
byRes1
Reserved, please set to 0
wOffLineTime
Automatic logoff time when no connection, unit: minute, value range: 5~65535 minutes
struPppdParam
PPP dialing parameter
struQosParam
QoS parameter
byUimNumber
Mobile phone number
byRes2
Reserved, please set to 0

See Also

NET_DVR_PPPDPARAM NET_DVR_QOSPARAM
NET_DVR_SetDialParam


NET_DVR_DIALREQUEST

Structure of dialing request.

struct{
  BYTE         byConnNum;
  BYTE         byNetType;
  BYTE         byRes[6];
}NET_DVR_DIALREQUEST, *LPNET_DVR_DIALREQUEST;

Members

byConnNum
NIC serial number
byNetType
Assign the network of which to get the default dialing parameter: 0- automatic, 1- CDMA, 2- EVDO, 3- WCDMA, 4- TD-SCDMA
It is invalid when calling NET_DVR_SetDialParam to set the parameter.
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDialParam NET_DVR_SetDialParam


NET_DVR_DIALSTATUS

Structure of dialing status.

struct{
  BYTE               byRealMode;
  BYTE               byUimCard;
  BYTE               byRes1[6];
  DWORD              dwSignal;
  DWORD              dwDialStatus;
  NET_DVR_IPADDR     struLocalIp;
  NET_DVR_IPADDR     struRemoteIp;
  NET_DVR_IPADDR     struNetMask;
  NET_DVR_IPADDR     struDns;
  BYTE               byRes2[16];
}NET_DVR_DIALSTATUS,*LPNET_DVR_DIALSTATUS;

Members

byRealMode
3G network mode, defined as below:
enum _REAL_MODE_{
  RMODE_CDMA1X     = 12,
  RMODE_EVDO       = 14,
  RMODE_CDMAHYBRID = 18,

  RMODE_GSM        = 21,
  RMODE_GPRS       = 22,
  RMODE_EDGE       = 23,
  RMODE_WCDMA      = 24,
  RMODE_HSDPA      = 25,
  RMODE_HSUPA      = 26,
  RMODE_HSPA       = 27,

  RMODE_TGSM       = 31,
  RMODE_TGPRS      = 32,
  RMODE_TEDGE      = 33,
  RMODE_TDSCDMA    = 34,
  RMODE_TDHSDPA    = 35,
  RMODE_TDHSUPA    = 36,
  RMODE_TDHSPA     = 37
}REAL_MODE
byUimCard
UIM card status, defined as below:
enum _UIM_INFO_{
  UIM_UNKNOWN = 0,
  UIM_VALID   = 1,
  UIM_NOVALID = 4,
  UIM_ROAM    = 11,
  UIM_NOEXIST = 255
}UIM_INFO
UIM_UNKNOWN
Unknown
UIM_VALID
Valid
UIM_NOVALID
Invalid
UIM_ROAM
Roam
UIM_NOEXIST
Not exist
byRes1
Reserved, please set to 0
dwSignal
Current network signal strength
dwDialStatus
Dialing status
struLocalIp
IP address of the wireless network
struRemoteIp
Gateway address of the wireless network
struNetMask
Subnet mask of the wireless networ
struDns
DNS address of the wireless networ
byRes2
Reserved, please set to 0

See Also

NET_DVR_IPADDR
NET_DVR_GetDVRConfig


NET_DVR_DIFFDEV_INFO

Structure of device information

union{
  NET_DVR_CODEDEV_INFO         struCodeDevInfo;
  NET_DVR_DECODEDEV_INFO       struDecodeDevInfo;
  NET_DVR_NETSIGNALDEV_INFO    struNetSignalInfo;
}NET_DVR_DIFFDEV_INFO,*LPNET_DVR_DIFFDEV_INFO;

Members

struCodeDevInfo
Encoding device information
struDecodeDevInfo
Decoding device information
struNetSignalInfo
Network signal source information

Remarks

In the structure, we set the network signal source the same level as the other device, but it actually should the lower layer in stream processor, to deliver network stream to the processor.

In actual use, if it is local signal, the client can drag the channel of display processor directly to one window. While if it is network dignal, it should drag the channel of network signal source to the window.

See Also

NET_DVR_SINGLE_DEV_INFO


NET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS

The structure of the security status of the digital channel linked front-end device

struct{
  DWORD    dwSize;
  BYTE     byDigitalChanPasswordStatus[MAX_CHANNUM_V30*4];
  BYTE     byRes[1140];
}NET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS, *LPNET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS;

Members

dwSize
The size of the structure
byDigitalChanPasswordStatus
The password status of the device. 0- reserved, 1- IPC not activated, 2- risk password, 3- low-security level password. 4. medium-security level password, 5. high-security level password
Each array indicates a channel, for example, byDigitalChanPasswordStatus[0] indicates the password status of the No.1 channel of front-end device
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig


NET_DVR_DIGITAL_CHANNEL_STATE

Structure of digital channel status

struct{
  DWORD    dwSize;
  BYTE     byDigitalAudioChanTalkState[MAX_CHANNUM_V30];
  BYTE     byDigitalChanState[MAX_CHANNUM_V30];
  BYTE     byDigitalAudioChanTalkStateEx[MAX_CHANNUM_V30*3];
  BYTE     byDigitalChanStateEx[MAX_CHANNUM_V30*3];
  BYTE     byRes[64];
}NET_DVR_DIGITAL_CHANNEL_STATE, *LPNET_DVR_DIGITAL_CHANNEL_STATE;

Members

dwSize
Structure size
byDigitalAudioChanTalkState
Talk status of digital audio channel, from 1 to MAX_CHANNUM_V30,value:0- unused，1- occupied, 0xff- invalid
byDigitalChanState
Status of digital channel, from 1 to MAX_CHANNUM_V30, value: 0- invalid, other value please refer to the "Remark"
byDigitalAudioChanTalkStateEx
Talk status of digital audio channel, from MAX_CHANNUM_V30+1 to MAX_CHANNUM_V30*4, value:0- unused, 1- occupied, 0xff- invalid
byDigitalChanStateEx
Status of digital channel, from MAX_CHANNUM_V30+1 to MAX_CHANNUM_V30*4, value: 0- invalid, other value please refer to the "Remark"
byRes
Reserved, set it to 0

Remarks

Value description of digital channel status（byDigitalChanState, byDigitalChanStateEx）is shown below:

Macro Definition | Value | Description
NET_SDK_DC_STATUS_CONNECTED | 1 | Connected
NET_SDK_DC_STATUS_CONNECTING | 2 | Connecting
NET_SDK_DC_STATUS_BAND_WIDTH_EXCEED | 3 | Bandwidth exceed
NET_SDK_DC_STATUS_DOMAIN_ERROR | 4 | Domain error
NET_SDK_DC_STATUS_CHANNEL_ERROR | 5 | Channel error
NET_SDK_DC_STATUS_ACCOUNT_ERROR | 6 | User name and password error
NET_SDK_DC_STATUS_STREAM_TYPE_NOT_SUPPORT | 7 | Illegal stream type
NET_SDK_DC_STATUS_CONFLICT_WITH_DVR | 8 | IP conflict with DVR
NET_SDK_DC_STATUS_CONFLICT_WITH_IPC | 9 | IP conflict with IPC
NET_SDK_DC_STATUS_NETWORK_UNREACHBALE | 10 | Network unreachable
NET_SDK_DC_STATUS_IPC_NOT_EXIST | 11 | IP channel not exist
NET_SDK_DC_STATUS_IPC_EXCEPTION | 12 | IP channel exception
NET_SDK_DC_STATUS_NETWORK_UNREACHBALE | 13 | Network unreachable
NET_SDK_DC_STATUS_OTHER_ERROR | 14 | Other error
NET_SDK_DC_STATUS_RESOLUTION_NOT_SUPPORT | 15 | IPC reslotion not support
NET_SDK_DC_STATUS_IPC_LAN_ERR | 15 | The language of IPC and NVR are unmatched.
NET_SDK_DC_STATUS_USER_LOCKED | 16 | The user is locked.
NET_SDK_DC_STATUS_NOT_ACTIVATED | 17 | The device is not activated.
NET_SDK_DC_STATUS_USER_NOT_EXIST | 18 | The user is not existed.
NET_SDK_DC_STATUS_IPC_UNREGISTERED | 19 | The IP channel linked device is not registered. (accessing with GB28181 protocol)
NET_SDK_DC_STATUS_POE_PORT_DETECTING | 20 | POE channel is in detection

See Also

NET_DVR_GetDVRConfig


NET_DVR_DIGITALSCREEN

Structure of digital screen information

struct{
  NET_DVR_IPADDR    struAddress;
  WORD              wPort;
  BYTE              byRes[26];
}NET_DVR_DIGITALSCREEN, *LPNET_DVR_DIGITALSCREEN;

Members

struAddress
The IP address of the device when it is digital
wPort
Port number
byRes
Reserved, please set to 0

See Also

NET_DVR_SCREEN_UNION


NET_DVR_DIRECT_CONNECT_CHAN_INFO

Structure of IP channel information

struct{
  BYTE               byEnable;
  BYTE               byProType;
  BYTE               byRes1[2];
  BYTE               sUserName[NAME_LEN];
  BYTE               sPassword[PASSWD_LEN];
  BYTE               byDomain[MAX_DOMAIN_NAME];
  NET_DVR_IPADDR     struIP;
  WORD               wDVRPort;
  BYTE               byStreamType;
  BYTE               byRes2;
  DWORD              dwChannel;
  BYTE               byRes3[28];
}NET_DVR_DIRECT_CONNECT_CHAN_INFO, *LPNET_DVR_DIRECT_CONNECT_CHAN_INFO;

Members

byEnable
Whether enable it or not: 0- disable, 1- enable
byProType
Protocol type: 0- private (default), 1- Panasonic, 2- Sony, 3- Dahua
byRes1
Reserved, please set to 0
sUserName
Username
sPassword
Password
byDomain
Device domain name
struIP
Device IP address
wDVRPort
Device port
byStreamType
Stream type: 0- main stream, 1- sub stream
byRes2
Reserved, please set it to 0
dwChannel
Channel number
byRes3
Reserved, please set to 0

See Also

NET_DVR_STREAM_TYPE_UNION


NET_DVR_DIRECT_CONNECT_CHAN_INFO_V40

Structure of IP channel information

struct{
  BYTE     byEnable;
  BYTE     byProType;
  BYTE     byZeroChan;
  BYTE     byRes1;
  BYTE     sUserName[NAME_LEN];
  BYTE     sPassword[PASSWD_LEN];
  BYTE     byAddress[MAX_DOMAIN_NAME];
  WORD     wDVRPort;
  BYTE     byStreamType;
  BYTE     byOnline;
  DWORD    dwChannel;
  BYTE     byTransProtocol;
  BYTE     byLocalBackUp;
  BYTE     byRes2[2];
  BYTE     byVAGChanNo[MAX_VAG_CHANNO_LEN];
  BYTE     byRes[340];
}NET_DVR_DIRECT_CONNECT_CHAN_INFO_V40, *LPNET_DVR_DIRECT_CONNECT_CHAN_INFO_V40;

Members

byEnable
Whether enable it or not: 0- disable, 1- enable
byProType
Protocol type: 0- private (default), 1- Panasonic, 2- Sony, 3- DahuaNET_DVR_GetIPCProtoListget
byZeroChan
Zero channel? 0- NO, 1- Yes
byRes1
Reserved, set as 0.
sUserName
Username
sPassword
Password
byDomain
Device domain name
wDVRPort
Port No.
byStreamType
Stream type, 0- main stream, 1- sub stream
byOnline
Online status(read only), 0- offline, 1- online
dwChannel
Channel No.
byTransProtocol
Protocol: 0- TCP，1- UDP，2- Multicast
byLocalBackUp
local backup: 0- Disable the CVR local backup, 1- Enable the CVR local backup
byRes2
Reserved, set as 0.
byVAGChanNo
The corresponding VAG channel No., valid only if the protocol type id VAG.
byRes
Reserved, set as 0.

Remarks

VAG is the component of CVR, which can be used for connection with devices of other manufacturers. The VAG channel No. needs to be configured before getting stream via VAG

See Also

NET_DVR_STREAM_TYPE_V40_UNION


NET_DVR_DIRECTED_STRATEGY_CFG

Directed strategy type configuration structure

struct{
  DWORD    dwSize;
  BYTE     byDirectedStrategyType;
  BYTE     byRes[255];
 }NET_DVR_DIRECTED_STRATEGY_CFG,*LPNET_DVR_DIRECTED_STRATEGY_CFG;

Members

dwSize
Structure size
byDirectedStrategyType
Directed strategy type: 0- normal directed strategy, 1- fine directed strategy
byRes
Reserved, set as 0

Remarks

  • Whether device supports directed strategy type configuration capability or supported parameter, can be determined through device capability set (DirectedStrategyCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_DIRECTED_STRATEGY_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_DIRECTION

Structure of direction.

struct{
  NET_VCA_POINT     struStartPoint;
  NET_VCA_POINT     struEndPoint;
}NET_DVR_DIRECTION,*LPNET_DVR_DIRECTION;

Members

struStartPoint
Start point of direction
struEndPoint
End point of direction

See Also

NET_VCA_POINT


NET_DVR_DISK_QUOTA

Structure of disk quota information.

struct{
  BYTE      byQuotaType;
  BYTE      byRes1[7];
  DWORD     dwHCapacity;
  DWORD     dwLCapacity;
  DWORD     dwHUsedSpace;
  DWORD     dwLUsedSpace;
  BYTE      byRes2[22];
}NET_DVR_DISK_QUOTA,*LPNET_DVR_DISK_QUOTA;

Members

byQuotaType
Disk quota: 1- by capacity of disk
byRes1
Reserved, please set to 0
dwHCapacity
High 32 bits of the allocated disk capacity, unit:MB
dwLCapacity
Low 32 bits of the allocated disk capacity, unit:MB
dwHUsedSpace
High 32 bits of used disk capacity, unit:MB
dwLUsedSpace
Low 32 bits of used disk capacity, unit:MB
byRes2
Reserved, please set to 0

See Also

NET_DVR_DISK_QUOTA_CFG


NET_DVR_DISK_QUOTA_CFG

Structure of disk quota configuration.

struct{
  DWORD                    dwSize;
  NET_DVR_DISK_QUOTA       struPicQuota;
  NET_DVR_DISK_QUOTA       struRecordQuota;
  BYTE                     res2[60];
}NET_DVR_DISK_QUOTA_CFG,*LPNET_DVR_DISK_QUOTA_CFG;

Members

dwSize
Structure size
struPicQuota
Picture quota
struRecordQuota
Record quota
res2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DISK_RAID_INFO

Structure of disk RAID information.

struct{
  DWORD                    dwSize;
  BYTE                     byEnable;
  BYTE                     byRes[35];
}NET_DVR_DISK_RAID_INFO,*LPNET_DVR_DISK_RAID_INFO;

Members

dwSize
Structure size
byEnable
Whether to enable RAID or not: 0- disable, 1- enable
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DISKABILITY_LIST

Structure of disk list.

struct{
  DWORD                dwSize;
  DWORD                dwNodeNum;
  NET_DVR_DESC_NODE    struDescNode[MAX_NODE_NUM];
}NET_DVR_DISKABILITY_LIST,*LPNET_DVR_DISKABILITY_LIST;

Members

dwSize
Structure size.
dwNodeNum
Number of usable disks
struDescNode
Structure of usable disk parameters

See Also

NET_DVR_DESC_NODE


NET_DVR_DISKSTATE

Structure of hard disk information.

struct{
  DWORD    dwVolume;
  DWORD    dwFreeSpace;
  DWORD    dwHardDiskStatic;
}NET_DVR_DISKSTATE, *LPNET_DVR_DISKSTATE;

Members

dwVolume
Volume of hard disk
dwFreeSpace
Free space of hard disk
dwHardDiskStatic
State of hard disk: 0- active, 1- sleep mode, 2- exception, 3- sleep disk error, 4- unformatted, 5- off-line (network disk), 6- disk is being formatted

Remarks

Here is to get the hard disk state of IPC, please get the state of other device (e.g. DVR) by calling NET_DVR_GetDVRConfig(command: NET_DVR_GET_HDCFG).

See Also

NET_DVR_WORKSTATE_V30 NET_ITS_WORKSTATE


NET_DVR_DISP_CHAN_STATUS

Structure of displaying channel status.

struct{
  BYTE   byDispStatus;
  BYTE   byBVGA;
  BYTE   byVideoFormat;
  BYTE   byWindowMode;
  BYTE   byJoinDecChan[MAX_WINDOWS];
  BYTE   byFpsDisp[NET_DVR_MAX_DISPREGION];
  BYTE   byRes[32];
}NET_DVR_DISP_CHAN_STATUS,*LPNET_DVR_DISP_CHAN_STATUS;

Members

byDispStatus
Display status: 0- not display, 1- enable display
byBVGA
Display interface: 0- BNC output, 1- VGA output, 2- HDMI output, 3- DVI output
byVideoFormat
Video format, defined as below:
enum{
  VS_NON  = 0,
  VS_NTSC = 1,
  VS_PAL  = 2
}VIDEO_STANDARD
VS_NON
None
VS_NTSC
NTSC standard
VS_PAL
PAL standard
byWindowMode
Mode of current window
byJoinDecChan
Decoding channel related to each sub window
byFpsDisp
Display frame rate of each sub-screen
byRes
Reserved, please set it to 0


NET_DVR_DISP_CHAN_STATUS_V41

Structure of displaying channel status.

struct{
  BYTE    byDispStatus;
  BYTE    byBVGA;
  BYTE    byVideoFormat;
  BYTE    byWindowMode;
  BYTE    byJoinDecChan[MAX_WINDOWS_V41];
  BYTE    byFpsDisp[MAX_WINDOWS_V41];
  BYTE    byScreenMode;
  BYTE    byRes1[3];
  DWORD   dwDispChan;
  BYTE    byRes2[24];
}NET_DVR_DISP_CHAN_STATUS_V41,*LPNET_DVR_DISP_CHAN_STATUS_V41;

Members

byDispStatus
Display status: 0- not display, 1- enable display
byBVGA
Display interface: 0- BNC output, 1- VGA output, 2- HDMI output, 3- DVI output, 0xff- invalid
byVideoFormat
Video format, defined as below:
enum{
  VS_NON  = 0,
  VS_NTSC = 1,
  VS_PAL  = 2
}VIDEO_STANDARD
VS_NON
None
VS_NTSC
NTSC standard
VS_PAL
PAL standard
byWindowMode
Current window mode
byJoinDecChan
Decoding channel related to each sub window
byFpsDisp
Display frame rate of each sub-screen
byScreenMode
Screen mode: 0- normal, 1- large size display
byRes1
Reserved, set as 0.
dwDispChan
Display channel No., valid when getting all display channels status, can be 0.
byRes2
Reserved, set as 0.

See Also

NET_DVR_DECODER_WORK_STATUS_V41


NET_DVR_DISP_LOGOCFG

Structure of uploaded LOGO.

struct{
  DWORD   dwCorordinateX;
  DWORD   dwCorordinateY;
  BYTE    byRes1[8];
  BYTE    byFlash;
  BYTE    byTranslucent;
  BYTE    byRes2[6];
  DWORD   dwLogoSize;
}NET_DVR_DISP_LOGOCFG,*LPNET_DVR_DISP_LOGOCFG;

Members

dwCorordinateX
X-coordinate for LOGO display
dwCorordinateY
Y-coordinate for LOGO display
byRes1
Reserved, please set it to 0
byFlash
Whether it is flashing: 0-no, 1-yes
byTranslucent
Whether it is translucent:0- no, 1- yes
byRes2
Reserved, please set it to 0
dwLogoSize
Size of LOGO, including header of BMP


NET_DVR_DISP_SCREEN

Structure of the relationship between screen and device

struct{
  DWORD    dwSize;
  WORD     wScreenID;
  BYTE     byRes1[2];
  BYTE     sDeviceID[DVCS_DEVICEID_LEN];
  BYTE     byRes2[4];
}NET_DVR_DISP_SCREEN,*LPNET_DVR_DISP_SCREEN;

Members

dwSize
Structure size
wScreenID
Screen ID number, the ID number starts from 1
byRes1
Reserved, please set to 0
sDeviceID
Device ID identifier
byRes2
Reserved, please set to 0

See Also

NET_DVR_SetScreenRelation


NET_DVR_DISPINFO

Structure of display channel information.

struct{
  BYTE     byChanNums;
  BYTE     byStartChan;
  BYTE     byRes[2];
  DWORD    dwSupportResolution[MAX_SUPPORT_RES];
}NET_DVR_DISPINFO,*LPNET_DVR_DISPINFO;

Members

byChanNums
The total number of channels
byStartChan
The starting channel number
byRes
Reserved, please set to 0
dwSupportResolution
Supported resolution, defined as below:
Macro Definition Value
MAKE_RESOLUTION(_interlace_, _width_, _height_, _fps_) 		Implication
NOT_AVALIABLE | MAKE_RESOLUTION(0,0,0,0) | None
SVGA_60HZ | MAKE_RESOLUTION(0, 800, 600, 60) | SVGA:800*600, frequency: 60HZ
SVGA_75HZ | MAKE_RESOLUTION(0, 800, 600, 75) | SVGA:800*600, frequency: 75HZ
XGA_60HZ | MAKE_RESOLUTION(0, 1024, 768, 60) | XGA:1024*768, frequency: 60HZ
XGA_75HZ | MAKE_RESOLUTION(0, 1024, 768, 75) | XGA:1024*768, frequency: 75HZ
SXGA_60HZ | MAKE_RESOLUTION(0, 1280, 1024, 60) | SXGA:1280*1024, frequency: 60HZ
SXGA2_60HZ | MAKE_RESOLUTION(0, 1280, 960, 60) | SXGA2:1280*960, frequency: 60HZ
720P_60HZ | MAKE_RESOLUTION(0, 1280, 720, 60) | 720P:1280*720, frequency: 60HZ
720P_50HZ | MAKE_RESOLUTION(0, 1280, 720, 50) | 720P:1280*720, frequency: 50HZ
1080I_60HZ | MAKE_RESOLUTION(1, 1920, 1080, 60) | 1080I:1920*1080, frequency: 60HZ
1080I_50HZ | MAKE_RESOLUTION(1, 1920, 1080, 50) | 1080I:1920*1080, frequency: 50HZ
1080P_60HZ | MAKE_RESOLUTION(0, 1920, 1080, 60) | 1080P:1920*1080, frequency: 60HZ
1080P_50HZ | MAKE_RESOLUTION(0, 1920, 1080, 50) | 1080P:1920*1080, frequency: 50HZ
1080P_30HZ | MAKE_RESOLUTION(0, 1920, 1080, 30) | 1080P:1920*1080, frequency: 30HZ
1080P_25HZ | MAKE_RESOLUTION(0, 1920, 1080, 25) | 1080P:1920*1080, frequency: 25HZ
1080P_24HZ | MAKE_RESOLUTION(0, 1920, 1080, 24) | 1080P:1920*1080, frequency: 24HZ
UXGA_60HZ | MAKE_RESOLUTION(0, 1600, 1200, 60) | UXGA:1600*1200, frequency: 60HZ
UXGA_30HZ | MAKE_RESOLUTION(0, 1600, 1200, 30) | UXGA:1600*1200, frequency: 30HZ
WSXGA_60HZ | MAKE_RESOLUTION(0, 1680, 1050, 60) | WSXGA:1680*1050, frequency: 60HZ
WUXGA_60HZ | MAKE_RESOLUTION(0, 1920, 1200, 60) | WUXGA:1920*1200, frequency: 60HZ
WUXGA_30HZ | MAKE_RESOLUTION(0, 1920, 1200, 30) | WUXGA:1920*1200, frequency: 30HZ
WXGA_60HZ | MAKE_RESOLUTION(0, 1360, 768, 60) | WXGA:1360*768, frequency: 60HZ
SXGA_PLUS_60HZ | MAKE_RESOLUTION(0, 1400, 1050, 60) | SXGA_PLUS:1400*1050, frequency: 60HZ

Remarks

#define MAKE_RESOLUTION(_interlace_, _width_, _height_, _fps_) \
(((_interlace_)<<28) \
|((((_width_)>>3)&0x1ff)<<19)\
|((((_height_)>>1)&0x7ff)<<8) \
|((_fps_)&0xff))

#define GET_RES_INTERLACE(_res_) (((_res_)>>28)&0x1)

#define GET_RES_WIDTH(_res_) ((((_res_)>>19)&0x1ff)<<3)

#define GET_RES_HEIGHT(_res_) ((((_res_)>>8)&0x7ff)<<1)

#define GET_RES_FPS(_res_) ((_res_)&0xff)

See Also

NET_DVR_MATRIX_ABILITY_V41


NET_DVR_DISPLAY_COLOR_CTRL

Structure of display unit colour control.

struct{
  BYTE    byColorType;
  BYTE    byScale;
  BYTE    byRes[14];
}NET_DVR_DISPLAY_COLOR_CTRL,*LPNET_DVR_DISPLAY_COLOR_CTRL;

Members

byColorType
Type: 1- brightness, 2- contrast, 3- saturation, 4- definition
byScale
The value of control: -1 or +1
byRes
Reserved, please set to 0

See Also

NET_DVR_SCREEN_CONTROL_PARAM


NET_DVR_DISPLAY_PARA

Structure of hardware decode display parameters.

struct{
  long    lToScreen;
  long    lToVideoOut;
  long    lLeft;
  long    lTop;
  long    lWidth;
  long    lHeight;
  long    lReserved;
}NET_DVR_DISPLAY_PARA,*LPNET_DVR_DISPLAY_PARA;

Members

lToScreen
Whether to output to VGA display: 1- yes, 0- no
lToVideoOut
Whether to output to monitor: 1- yes, 0- no
lLeft
When lToScreen is 1, corresponding to the parent window, it is the X axis coordinate of output position's up-left point.
lTop
When lToScreen is 1, corresponding to the parent window, it is the Y axis coordinate of output position's up-left point.
lWidth
When lToScreen is 1, it is the width of output image.
lHeight
When lToScreen is 1, it is the height of output image.
lReserved
Reserved, please set to 0


NET_DVR_DISPLAY_POSITION_CTRL

Structure of display unit position control.

struct{
  BYTE    byPositionType;
  BYTE    byScale;
  BYTE    byRes[14];
}NET_DVR_DISPLAY_POSITION_CTRL,*LPNET_DVR_DISPLAY_POSITION_CTRL;

Members

byPositionType
Type: 1- horizontal position, 2- vertical position
byScale
The value of control: -1 or +1
byRes
Reserved, please set to 0

See Also

NET_DVR_SCREEN_CONTROL_PARAM


NET_DVR_DISPWINDOWMODE

Structure of display-channel screen split mode.

struct{
  BYTE     byDispChanType;
  BYTE     byDispChanSeq;
  BYTE     byRes[2];
  BYTE    byDispMode[MAX_WINDOWS_NUM];
}NET_DVR_DISPWINDOWMODE,*LPNET_DVR_DISPWINDOWMODE;

Members

byDispChanType
Display channel type: 0- BNC, 1- VGA, 2- HDMI, 3- DVI
byDispChanSeq
Display channel number, starts from 1. If the channel type is VGA, If the channel type is VGA, it means the sequence number of VGA
byRes
Reserved, please set to 0
byDispMode
Supported screen split mode

Remarks

An example for the value of these parameters:
NET_DVR_MATRIX_ABILITY_V41  m_Ability;
m_Ability.struDispMode[0].byDispChanType = 1;   //VGA
m_Ability.struDispMode[0].byDispChanSeq  = 1;   //The first VGA
m_Ability.struDispMode[0].byDispMode[0]  = 1;   //1 screen
m_Ability.struDispMode[0].byDispMode[1]  = 4;   //4 screens
m_Ability.struDispMode[0].byDispMode[2]  = 0;
...
m_Ability.struDispMode[0].byDispMode[11] = 0;
m_Ability.struDispMode[1].byDispChanType = 2;   //HDMI
m_Ability.struDispMode[1].byDispChanSeq  = 1;   //The first HDMI
m_Ability.struDispMode[1].byDispMode[0]  = 1;   //1 screen
m_Ability.struDispMode[1].byDispMode[1]  = 4;   //4 screens
m_Ability.struDispMode[1].byDispMode[2]  = 16;  //16 screens
m_Ability.struDispMode[1].byDispMode[3]  = 0;
...
m_Ability.struDispMode[1].byDispMode[11] = 0;
...
//m_Ability.struDispMode[2]~ m_Ability.struDispMode[31], all value equal to 0
...
Then it means the device suppports one VGA and one HDMI only. Its VGA supports 1 and 4 screens, and its HDMI supports 1, 4 and 16 screens.

See Also

NET_DVR_MATRIX_ABILITY_V41


NET_DVR_DNMODE

Day and night mode of motion detection parameter structure

struct{
  BYTE    byObjectSize;
  BYTE    byMotionSensitive;
  BYTE    byRes[6];
}NET_DVR_DNMODE, *LPNET_DVR_DNMODE;

Members

byObjectSize
Object size,the ratio between motion object area and motion area that setted (just for the size bigger than byObjectSize),data range: 0-100
byMotionSensitive
Motion detection sensitivity, data range:1-100, the higher the more sensitivity,0xff-close
byRes
Reserved, set it to 0

See Also

NET_DVR_MOTION_MULTI_AREAPARAM


NET_DVR_DOME_MOVEMENT_PARAM

Parameter structure of dome drive

struct{
  WORD    wMaxZoom;
  BYTE    byRes[42];
}NET_DVR_DOME_MOVEMENT_PARAM, *LPNET_DVR_DOME_MOVEMENT_PARAM;

Members

wMaxZoom
Maximum value factor of dome
byRes
Parameter of treatment


NET_DVR_DOOR_CFG

Door Status Configuration Structure

struct{
  DWORD    dwSize;
  BYTE     byDoorName[DOOR_NAME_LEN];
  BYTE     byMagneticType;
  BYTE     byOpenButtonType;
  BYTE     byOpenDuration;
  BYTE     byDisabledOpenDuration;
  BYTE     byMagneticAlarmTimeout;
  BYTE     byEnableDoorLock;
  BYTE     byEnableLeaderCard;
  BYTE     byLeaderCardMode;
  DWORD    dwLeaderCardOpenDuration;
  BYTE     byStressPassword[STRESS_PASSWORD_LEN];
  BYTE     bySuperPassword[SUPER_PASSWORD_LEN];
  BYTE     byUnlockPassword[UNLOCK_PASSWORD_LEN];
  BYTE     byUseLocalController;
  BYTE     byRes1;
  WORD     wLocalControllerID;
  WORD     wLocalControllerDoorNumber;
  WORD     wLocalControllerStatus;
  BYTE     byLockInputCheck;
  BYTE     byLockInputType;
  BYTE     byDoorTerminalMode;
  BYTE     byOpenButton;
  BYTE     byRes2[44];
}NET_DVR_DOOR_CFG,*LPNET_DVR_DOOR_CFG;

Members

dwSize
The size of the structure
byDoorName
Door name
byMagneticType
Door magnet type: 0- normally closed, 1- normally open
byOpenButtonType
Door button type: 0- normally closed, 1- normally open
byOpenDuration
Door open duration: 1-255s
byDisabledOpenDuration
Door open duration for the disabled: 1 to 255s
byMagneticAlarmTimeout
Door magnet detection timeout alarm duration: 0 to 255s, 0 means do not trigger alarm
byEnableDoorLock
Whether to enable door lock: 0- no; 1- yes
byEnableLeaderCard
Whether to keep first card normally open: 0- no 1- yes
byLeaderCardMode
First card mode, 0- disable, 1- normally open, 2- authorization (byEnableLeaderCard is invalid when this field is used)
dwLeaderCardOpenDuration
Door open duration for leader card: 1 to 1440 min
byStressPassword
Duress password
bySuperPassword
Super password
byUnlockPassword
Dismissing card, password to unlock
byUseLocalController
Read only, whether to connect to the distributed access controller: 0- no 1- yes
byRes1
Reserved, set as 0
wLocalControllerID
Read only, distributed access controller number, valid when byUseLocalController=1, 1-255, 0 means not registered
wLocalControllerDoorNumber
Read only, distributed access controller door number, valid when byUseLocalController=1, 1-4, 0 means not registered
wLocalControllerStatus
Read only, distributed access controller door status, valid when byUseLocalController=1, status: 0- offline, 1- online, 2- RS-485 serial port 1 on circuit 1, 3- RS-485 serial port 2 on circuit 1, 4- RS-485 serial port 1 on circuit 2, 5- RS-485 serial port 2 on circuit 2, 6- RS-485 serial port 1 on circuit 3, 7- RS-485 serial port 2 on circuit 3, 8- RS-485 serial port 1 on circuit 4, 9- RS-485 serial port 2 on circuit 4 (read only)
byLockInputCheck
Whether to enable lock input detection (1 byte, 0- disable, 1- enable, default to disable)
BYTE byLockInputType
Door lock input type (1 byte, 0- normally closed, 1- normally open, default to normally closed)
byDoorTerminalMode
Door-related terminal operating mode (1 byte, 0- anti-cut & short-circuit, 1- normal, default to anti-cut & short-circuit)
byOpenButton
Whether to enable door button, (0- yes, 1- no, default to yes)
byRes2
Reserved, set as 0

Remarks

Door parameter capability, correspond to <Door> of the access control host capability (API:NET_DVR_GetDeviceAbility.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DOOR_STATUS_PLAN

Door Status Schedule Configuration Structure

struct{
  DWORD    dwSize;
  DWORD    dwTemplateNo;
  BYTE     byRes[64];
}NET_DVR_DOOR_STATUS_PLAN,*LPNET_DVR_DOOR_STATUS_PLAN;

Members

dwSize
The size of the structure
dwTemplateNo
Schedule Template No. 0- Cancel the linkage, and restore to the default settings.
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DOWN_LOAD_REQUEST

资源图片查询条件结构体。

struct{
  NET_DVR_STREAM_INFO    struStreamInfo;
  char                   sSnapShotURL[256];
  BYTE                   byRes[32];
}NET_DVR_DOWN_LOAD_REQUEST,*LPNET_DVR_DOWN_LOAD_REQUEST;

Members

struStreamInfo
流信息
sSnapShotURL
诊断抓图URL，长度小于256个字节
byRes
保留

Remarks

抓图的URL(sSnapShotURL)由诊断服务器上传，在报警监听NET_DVR_StartListen_V30设置的报警回调函数中获取（NET_DVR_DIAGNOSIS_UPLOAD）。

See Also

NET_DVR_GetDeviceConfig


NET_DVR_DPC_PARAM

Structure of dead pixel correction parameters.

struct{
  DWORD            dwSize;
  DWORD            dwChannel;
  WORD             wCtrlType;
  BYTE             byRes[2];
  NET_VCA_POINT    struPoint;
  BYTE             byRes1[64];
}NET_DVR_DPC_PARAM,*LPNET_DVR_DPC_PARAM;

Members

dwSize
Structure size
dwChannel
Channel number
wCtrlType
Control type, details as follows:
wCtrlType Macro Definition | Value | Description
DPC_CORRECT | 1 | Correction
DPC_CORRECT_CANCEL | 2 | Cancel correction
DPC_CROSS_DISPALY_OPEN | 3 | Enable the crossed display of dead pixel detection.
DPC_CROSS_DISPALY_CLOSE | 4 | Disable the crossed display of dead pixel detection.
DPC_POINT | 5 | Dead pixel correction coordinates
DPC_UP | 6 | The dead pixel coordinate is upward offset.
DPC_DOWN | 7 | The dead pixel coordinate is downward offset.
DPC_RIGHT | 8 | The dead pixel coordinate is offset towards right.
DPC_LEFT | 9 | The dead pixel coordinate is offset towards left.
DPC_ALL_CORRECT | 10 | All the dead pixels correction.
DPC_SAVE | 11 | Save the dead pixels.
byRes
Reserved, set as 0.
struPoint
The input plane coordinates of the image, normalize to 0-1, wCtrlType is valid when its value is DPC_POINT.
byRes1
Reserved, set as 0

Remarks

  • Save the dead pixels: the dead pixel coordinates is sent to the device application layer and saved in the layer (not sent to mechanical movement). When all the dead pixels are saved, it will send all the saved pixels to mechanical movement. Correction: send one dead pixel coordinate to the device application layer and the layer will send this dead pixel to mechanical movement.
  • Check whether the device supports the dead pixel control function via device capability. Corresponding capability set of front-end parameters is CAMERAPARA, the related interface is NET_DVR_GetDeviceAbility, the capability set type is IPC_FRONT_PARAMETER_V20, and the node is <DPCParam>.

See Also

NET_DVR_RemoteControl


NET_DVR_DRAG_POS_PARAM

Structure of PTZ drag parameters.

struct{
  DOWRD            dwChannel;
  DOWRD            dwPtzChannel;
  NET_VCA_POINT    struToPoint;
  NET_VCA_POINT    struOriPoint;
  BYTE             byRes[56];
}NET_DVR_DRAG_POS_PARAM,*LPNET_DVR_DRAG_POS_PARAM;

Members

dwChannel
Channels
dwPtzChannel
The mode of dwChannel is FISHEYE_STREAM_MODE_FISHEYE, the value stands for the drag and linkaged PTZ channel; 0 stans for fisheye mode not supported.
struToPoint
The destination point that you want to drag image to, must be relative to the top left of the live view image
struOriPoint
Drag the original point when operation start, mouse pointer should be relative to the top left of the live view image
byRes
Reserved, set it to 0

Remarks

You can get the stream type byNET_DVR_GetDeviceStatus（command: NET_DVR_GET_FISHEYE_STREAM_STATUS）

If you want to realtime switch the live view image during darging PTZ in the main view, you can creat remote connection with fisheye camera.In this way, the client can send current PTZ position of mouse to camera continuously to meet the need.

See Also

NET_DVR_SendRemoteConfig


NET_DVR_DRAWFRAME_DISK_QUOTA_CFG

Structure of disk quota configuration of frame extract channel.

struct{
  DWORD   dwSize;
  BYTE    byPicQuota;
  BYTE    byRecordQuota;
  BYTE    byDrawFrameRecordQuota;
  BYTE    byRes[61];
}NET_DVR_DRAWFRAME_DISK_QUOTA_CFG, *LPNET_DVR_DRAWFRAME_DISK_QUOTA_CFG;

Members

dwSize
Structure size
byPicQuota
Picture percentage, value range: [0%,30%]
byRecordQuota
Recording percentage, value range: [20%,40%]
byDrawFrameRecordQuota
Frame extract recording percentage, value range: [30%,80%]
byRes
Reserved, please set to 0

Remarks

When storage mode (byStorageMode in NET_DVR_DEVICECFG_V40) set to frame extract mode, this quota configuration takes effect. It is defferent with the previous quota configuration, that it divides the recording into frame extract recording and normal recording, and the space is averagely distributed for every channel.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_DVCS_STATE_ALARM

Structure of distributed multi-screen controller alarm information

struct{
  DWORD    dwSize;
  BYTE     byAlarmType;
  BYTE     byDeviceType;
  BYTE     byRes1[2];
  BYTE     sDeviceID[16];
  BYTE     byRes2[80];
}NET_DVR_DVCS_STATE_ALARM,*LPNET_DVR_DVCS_STATE_ALARM;

Members

dwSize
Structure size
byAlarmType
Alarm type: 1- device online, 2- device offline, 3- server online, 4- server offline
byDeviceType
Device type
byRes1
Reserved, please set to 0
sDeviceID
Device ID
byRes2
Reserved, please set to 0

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_EACH_LESSON_INFO

Course information structure

struct{
  NET_DVR_SCHEDTIME    struSchedTime;
  WORD                 wCourseIndex;
  WORD                 wSessionIndex;
  BYTE                 byRes[4];
}NET_DVR_EACH_LESSON_INFO,*LPNET_DVR_EACH_LESSON_INFO;

Members

struSchedTime
Course start & end time
wCourseIndex
Course index
wSessionIndex
Course session
byRes
Reserved, set as 0

See Also

NET_DVR_CURRICULUM_CFG


NET_DVR_EAGLEFOCUSING_CALCFG

Eagle focus calibration configuration structure

struct{
  DWORD                          dwSize;
  BYTE                           byEnabled;
  BYTE                           byRes1[3];
  NET_DVR_EAGLEFOCUSING_SENCE    struEagleFoucsing[MAX_SENCE_NUM];
  BYTE                           byRes[128];
}NET_DVR_EAGLEFOCUSING_CALCFG,*LPNET_DVR_EAGLEFOCUSING_CALCFG;

Members

dwSize
Structure size
byEnabled
Whether to enable calibration: 0- stop, 1- start (only valid when setting the node)
byRes1
Reserved, set as 0
struEagleFoucsing
Eagle focus calibration parameters
byRes
Reserved, set as 0

Remarks

  • Whether device supports eagle focus calibration configuration or supported parameter capability, can be determined through device capability set (EagleFocusing), API: NET_DVR_GetSTDAbility, capability set type:NET_DVR_GET_EAGLEFOCUS_CALCFG_CAPABILITIES。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_EAGLEFOCUSING_CTRL

Eagle focus configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes[511];
}NET_DVR_EAGLEFOCUSING_CTRL,*LPNET_DVR_EAGLEFOCUSING_CTRL;

Members

dwSize
Structure size
byEnabled
Whether to enable eagle focus: 0- no, 1- yes
byRes
Reserved, set as 0

Remarks

  • Whether device supports eagle focus configuration or the supported parameter capability, can be determined through device capability set (Control), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_EAGLEFOCUSING_CFG_CAPABILITIES。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_ELECTRONICSTABILIZATION

Structure of electronic stabilization parameters

struct{
  BYTE    byEnable;
  BYTE    byLevel;
  BYTE    byRes[6];
}NET_DVR_ELECTRONICSTABILIZATION, *LPNET_DVR_ELECTRONICSTABILIZATION;

Members

byMode
Enable electronic stabilization: 0- disable, 1- enable
byLevel
Level, data range: 0-100
byRes
Reserved

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_ELEVATORCONTROL_CFG_V40

Parameters settings of elevator controller in video intercom.

struct{
  DWORD             dwSize;
  BYTE              byEnable;
  BYTE              byRes1;
  BYTE              byInterfaceType;
  BYTE              byRS485Protocol;
  BYTE              byNetworkType;
  BYTE              byRes2;
  WORD              wServerPort;
  NET_DVR_IPADDR    struServerIP;
  BYTE              byRes[256];
}NET_DVR_ELEVATORCONTROL_CFG_V40, *LPNET_DVR_ELEVATORCONTROL_CFG_V40;

Members

dwSize
Structure size.
byEnable
Whether to enable the function of controlling the elevator: 0- no, 1- yes.
byRes1
Reserved, set as 0.
byInterfaceType
Interface type:0- none，1- RS485，2- ethernet port.
byRS485Protocol
RS485 protocol type: 0- unknown, 1- private, 0xff- custom (only be valid when the value of byInterfaceType is 1).
byNetworkType
Ethernet port type: 0- unknown, 1- private, 0xff - custom (only be valid when the value of byInterfaceType is 2).
byRes2
Reserved, set as 0.
wServerPort
Server port number of elevator controller, be valid when the ethernet port type is "1- private".
struServerIP
Server IP address of elevator controller, be valid when the ethernet port type is "1- private".
byRes
Reserved, set as 0.

Remarks

The ability of elevator controller corresponds to the node <ElevatorControl> of the IP-based video intercom controller capability set (interfce: NET_DVR_GetDeviceAbility, capability set type: IP_VIEW_DEV_ABILITY).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_EMAILCFG

Structure of E-mail configuration.

struct{
  DWORD    dwSize;
  char     sUserName[32];
  char     sPassWord[32];
  char     sFromName[32];
  char     sFromAddr[48];
  char     sToName1[32];
  char     sToName2[32];
  char     sToAddr1[48];
  char     sToAddr2[48];
  char     sEmailServer[32];
  BYTE     byServerType;
  BYTE     byUseAuthen;
  BYTE     byAttachment;
  BYTE     byMailinterval;
}NET_DVR_EMAILCFG, *LPNET_DVR_EMAILCFG;

Members

dwSize
Structure size
sUserName
User name of Email
sPassWord
Password of Email
sFromName
Sender
sFromAddr
Address of sender. The address cannot begin or end with '@', yet must contain '@' nevertheless
sToName1
Receiver 1
sToName2
Receiver 2
sToAddr1
Address of receiver 1
sToAddr2
Address of receiver 2
sEmailServer
Server address of Email
byServerType
Server type of Email
byUseAuthen
Whether to enable Email server authentication: 1- yes, 0- no
byAttachment
Attachment or not
byMailinterval
Interval of sending mail: 0- 2s, 1- 3s, 2- 4s, 3- 5s

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_EMAILCFG_V30

Structure of E-mail configuration.

struct{
  DWORD     dwSize;
  BYTE      sAccount[NAME_LEN];
  BYTE      sPassword[MAX_EMAIL_PWD_LEN];
  struct{
           BYTE   sName[NAME_LEN];
           BYTE   sAddress[MAX_EMAIL_ADDR_LEN];
  }struSender
  BYTE      sSmtpServer[MAX_EMAIL_ADDR_LEN];
  BYTE      sPop3Server[MAX_EMAIL_ADDR_LEN];
  struct{
           BYTE   sName[NAME_LEN];
           BYTE   sAddress[MAX_EMAIL_ADDR_LEN];
  }struReceiver[3];
  BYTE      byAttachment;
  BYTE      bySmtpServerVerify;
  BYTE      byMailInterval;
  BYTE      byEnableSSL;
  WORD      wSmtpPort;
  WORD      byEnableTLS;
  BYTE      byStartTLS;
  BYTE      byRes[73];
}NET_DVR_EMAILCFG_V30,*LPNET_DVR_EMAILCFG_V30;

Members

dwSize
Structure size
sAccount
User name
sPassword
Password
sName
Sender
sAddress
Address of sender
sSmtpServer
SMTP server
sPop3Server
POP3 server
sName
Receiver
sAddress
Address of receiver
byAttachment
Attachment or not
bySmtpServerVerify
Email server requires authentication
byMailInterval
Interval of sending mail: 0- 2s, 1- 3s, 2- 4s, 3- 5s
byEnableSSL
Enable SSL or not: 0- disable, non-zero- enable
wSmtpPort
SMTP port: for GMAIL, it is 465; for others it is 25
byEnableTLS
0-disable,1-enable
byStartTLS
Enable StartTLS? 0-No, 1- Yes
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG

Emergency alarm processing control parameter structure

struct{
  DWORD    dwSize;
  BYTE     byCommand;
  BYTE     byType;
  BYTE     byRes[511];
}NET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG,*LPNET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG;

Members

dwSize
Structure size
byCommand
Control command: 0- center busy, 1- reject
byType
Processing type: 0- emergency alarm, 1- service inquiry
byRes
Reserved, set as 0

Remarks

  • Whether device supports emergency alarm processing control or supported parameter, can be determined through device capacity set (EmergencyAlarmResponseCtrl), API: NET_DVR_GetSTDAbility, capability set: NET_DVR_GET_EMERGENCE_ALARM_RESPONSE_CAP.

See Also

NET_DVR_STDControl


NET_DVR_ENFORCESYS_PARA

Structure of vehicle inspection parameter.

struct{
  DWORD                   dwSize;
  NET_DVR_SPEEDLMT_PARA   struSpeedLmtPara;
  NET_DVR_PLATECHECK_PARA struPlateCheckPara;
  BYTE                    bySelPeccType;
  BYTE                    byEnfOptHabit;
  BYTE                    byAdjPrevFpsMode;
  BYTE                    byRes1;
  NET_DVR_IPADDR          struUploadServerIp;
  WORD                    wUploadServerPort;
  BYTE                    byRes2[18];
}NET_DVR_ENFORCESYS_PARA, *LPNET_DVR_ENFORCESYS_PARA;

Members

dwSize
Structure size
struSpeedLmtPara
Speed limit parameter
struPlateCheckPara
License plate comparison
bySelPeccType
Whether select violation type: 0- no, 1- yes
byEnfOptHabit
Operation habit of obtaining evidence: 0- Long press to obtain, 1- Short press twice to obtain
byAdjPrevFpsMode
Adjustment mode of preview frame rate:
0- close, preview in fixed high frame rate (25FPS);
1- standard, preview in fixed low frame rate (6FPS);
2- Adaptive, adjust preview frame rate dynamically according to the GPS speed information, preview in fixed high frame rate if there is no valid GPS within 3 seconds.
byRes1
Reserved, please set to 0
struUploadServerIp
Address of uploading server
wUploadServerPort
Port of uploading server
byRes2
Reserved, please set to 0

See Also

NET_DVR_SPEEDLMT_PARA NET_DVR_PLATECHECK_PARA NET_DVR_IPADDR
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ENISSUED_DATADEL

Terminal exit/entrance control (clear applied card information) structure

struct{
  DWORD    dwSize;
  BYTE     byDevCtrlCode;
  BYTE     byRes[27];
}NET_DVR_ENISSUED_DATADEL, *LPNET_DVR_ENISSUED_DATADEL;

Members

dwSize
Structure size
byDevCtrlCode
Exit/entrance controller DIP switch address, used to determine device, value range: 1 to 255
byRes
Reserved, set as 0

See Also

NET_DVR_RemoteControl


NET_DVR_ENTRANCE_CFG

Structure of Entrance/ Exit Control Parameters

struct{
  DWORD                      dwSize;
  BYTE                       byEnable;
  BYTE                       byBarrierGateCtrlMode;
  BYTE                       byRes1[2];
  DWORD                      dwRelateTriggerMode;
  DWORD                      dwMatchContent;
  NET_DVR_RELAY_PARAM        struRelayRelateInfo[MAX_RELAY_NUM];
  BYTE                       byGateSingleIO[MAX_IOIN_NUM];
  NET_DVR_VEHICLE_CONTROL    struVehicleCtrl[MAX_VEHICLE_TYPE_NUM];
  BYTE                       byRes2[64];
}NET_DVR_ENTRANCE_CFG,*LPNET_DVR_ENTRANCE_CFG;

Members

dwSize
The size of the structure
byEnable
Enable? 0-Not enable, 1- Enable
byBarrierGateCtrlMode
Barrier gate control mode, 0- Camera auto control, 1- Platform external control
byRes1
Reserved, set as 0
dwRelateTriggerMode
Trigger mode, for details, seeITC_TRIGGERMODE_TYPE
dwMatchContent
Exception Management
0x00: Do not match
0x01: License plate (with license plate color)
0x02: License plate (without license plate color)
0x04: Card No.
struRelayRelateInfo
The relay related configuration information ( one relay can only control one connected device). Array 0 indicates relay1 and array.
byGateSingleIO
Single IO triggering parameters, array 0 indicates IO1 and array 1 indicates IO3, and so forth. 0- Null, 1-Barrier gate is opened, 2- Barrier gate is closed, 3- Fire alarm
struVehicleCtrl
Vehicle information management
Array 0- Temporary vehicle
Array 1- Vehicle in blacklist
Array 2- Vehicle in whitelist
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_ENTRANCEDEV_COMMAND

Terminal exit/entrance control (data application) structure

struct{
  DWORD    dwSize;
  BYTE     byDevCtrlCode;
  BYTE     byManualIssuedData;
  BYTE     byRes[62];
}NET_DVR_ENTRANCEDEV_COMMAND, *LPNET_DVR_ENTRANCEDEV_COMMAND;

Members

dwSize
Structure size
byDevCtrlCode
Exit/entrance controller DIP switch address, used to determine the device, value range: 1 to 255
byManualIssuedData
Whether to enable manual data application: 0- no, 1- yes
byRes
Reserved, set as 0

See Also

NET_DVR_RemoteControl


NET_DVR_ESATA_MINISAS_USAGE

Structure of eSATA and miniSAS usage configuration.

struct{
  DWORD          dwSize;
  BYTE           byESATAUsage[MAX_ESATA_NUM];
  BYTE           byMiniSASUsage[MAX_MINISAS_NUM];
  BYTE           byRes[32;
}NET_DVR_ESATA_MINISAS_USAGE, *LPNET_DVR_ESATA_MINISAS_USAGE;

Members

dwSize
Structure size
byESATAUsage
The array index represents the sequence number of eSATA: 0- default backup, 1- default record
byMiniSASUsage
The array index represents the sequence number of miniSAS: 0- default backup, 1- default record
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ETHERNET

Structure of Ethernet configuration.

struct{
  char    sDVRIP[16];
  char    sDVRIPMask[16];
  DWORD   dwNetInterface;
  WORD    wDVRPort;
  BYTE    byMACAddr[MACADDR_LEN];
}NET_DVR_ETHERNET, *LPNET_DVR_ETHERNET;

Members

sDVRIP
IP of device
sDVRIPMask
Subnet mask of device
dwNetInterface
Network interface: 1- 10MBase-T, 2- 10MBase-T full duplex, 3- 100MBase-TX, 4- 100M full duplex, 5- 10M/100M self-adaptive
wDVRPort
Port NO. of device
byMACAddr
MAC

See Also

NET_DVR_NETCFG


NET_DVR_ETHERNET_MULTI

Structure of single network card configuration.

struct{
  NET_DVR_IPADDR    struDVRIP;
  NET_DVR_IPADDR    struDVRIPMask;
  DWORD             dwNetInterface;
  BYTE              byRes1[2];
  WORD              wMTU;
  BYTE              byMACAddr[MACADDR_LEN];
  BYTE              byRes2[2];
  BYTE              byUseDhcp;
  BYTE              byRes3[3];
  NET_DVR_IPADDR    struGatewayIpAddr;
  NET_DVR_IPADDR    struDnsServer1IpAddr;
  NET_DVR_IPADDR    struDnsServer2IpAddr;
}NET_DVR_ETHERNET_MULTI, *LPNET_DVR_ETHERNET_MULTI;

Members

struDVRIP
Device IP address
struDVRIPMask
Device IP mask
dwNetInterface
Network interface: 1- 10MBase-T, 2- 10MBase-T full duplex, 3- 100MBase-TX, 4- 100M full duplex, 5-10M/100M/1000M adaptive
byRes1
Reserved
wMTU
MTU, default: 1500
byMACAddr
Device MAC address, read-only
byRes2
Reserved
byUseDhcp
Enable DHCP or not
byRes3
Reserved
struGatewayIpAddr
IP address of Gateway
struDnsServer1IpAddr
IP address of DNS 1
struDnsServer2IpAddr
IP address of DNS 2

Remarks

The value of MTU ranges from 500 to 9676. If MTU is too small, client will unable to login the device, and the preview, playback, and configuration on the client will be failed too.

See Also

NET_DVR_NETCFG_MULTI


NET_DVR_ETHERNET_V30

Structure of Ethernet configuration.

struct{
  NET_DVR_IPADDR    struDVRIP;
  NET_DVR_IPADDR    struDVRIPMask;
  DWORD             dwNetInterface;
  WORD              wDVRPort;
  WORD              wMTU;
  BYTE              byMACAddr[MACADDR_LEN];
  BYTE              byRes[2];
}NET_DVR_ETHERNET_V30, *LPNET_DVR_ETHERNET_V30;

Members

struDVRIP
IP of device
struDVRIPMask
Subnet mask of device
dwNetInterface
Network interface: 1- 10MBase-T, 2- 10MBase-T full duplex, 3- 100MBase-TX, 4- 100M full duplex, 5- 10M/100M/1000M self-adaptable, 6-1000M full duplex
wDVRPort
Port NO. of device
wMTU
MTU setting, default:1500
byMACAddr
MAC
byRes
Reserved

Remarks

The range of MTU setting is from 500 to 9676. If MTU is too small, client will fail to login the device; and preview, playback, and configuration in client will be invalid.

See Also

NET_DVR_NETCFG_V30


NET_DVR_EVENT_CAPTURE

Structure of event capture parameter.

struct{
  NET_DVR_JPEGPARA               struJpegPara;
  DWORD                          dwPicInterval;
  NET_DVR_REL_CAPTURE_CHAN       struRelCaptureChan[MAX_PIC_EVENT_NUM];
  NET_DVR_REL_CAPTURE_CHAN       struAlarmInCapture[MAX_ALARMIN_CAPTURE];
  BYTE                           byRes[60];
}NET_DVR_EVENT_CAPTURE, *LPNET_DVR_EVENT_CAPTURE;

Members

struJpegPara
Picture quality of event capture
dwPicInterval
Interval of event capture: 1-1s, 2-2s, 3-3s, 4-4s, 5-5s, 6-10m, 7-30m, 8-1h, 9-12h, 10-24h
struRelCaptureChan
struRelCaptureChan[0] means capture triggered by motion detection, struRelCaptureChan[1] means capture triggered by video tampering. struRelCaptureChan[2] means capture triggered by video loss, struRelCaptureChan[3] means capture triggered by PIR alarm. struRelCaptureChan[4] means capture triggered by wireless alarm, struRelCaptureChan[5] means capture triggered by calling for help alarm. struRelCaptureChan[8] means capture triggered by line crossing alarm. struRelCaptureChan[9] means capture triggered by intrusion alarm. struRelCaptureChan[10] means capture triggered by scene change alarm.
E.g. If bit0 of byChan[0] in struRelCaptureChan[0] equals to 1, it means motion detection of current channel will trigger capture of NO.1 channel.
struAlarmInCapture
Alarm input trigger to capture. That array subscript = 0 means the NO.1 alarm in, and so forth, (it is used for one channel triggered by multi alarm inputs)
E.g. If bit0 of byChan[0] in struAlarmInCapture[0] equals to 1, it means NO.1 alarm input of current channel will will trigger capture of NO.1 channel.
byRes
Reserved

See Also

NET_DVR_JPEG_CAPTURE_CFG


NET_DVR_EVENT_CAPTURE_V40

Event capture configuration structure

struct{
  NET_DVR_JPEGPARA                   struJpegPara;
  DWORD                              dwPicInterval;
  NET_DVR_REL_CAPTURE_CHAN_V40       struRelCaptureChan[MAX_PIC_EVENT_NUM];
  NET_DVR_REL_CAPTURE_CHAN_V40       struAlarmInCapture[MAX_ALARMIN_CAPTURE];
  DWORD                              dwMaxGroupNum;
  BYTE                               byCapTimes;
  BYTE                               byRes[59];
}NET_DVR_EVENT_CAPTURE_V40, *LPNET_DVR_EVENT_CAPTURE_V40;

Members

struJpegPara
Event capture picture quality
dwPicInterval
Event capture time interval:1-1s，2-2s，3-3s，4-4s，5-5s，6-10m，7-30m，8-1h，9-12h，10-24h
struRelCaptureChan
The array subscript are shown below.
0- Motion Detection
1- Tampering Alarm
2- Video Loss
3- PIR Alar
4- Wireless Alarm
5- Distress Alarm
6- Intelligent Capture
7- Face Detection
8- Line Crossing Detection
9- Intrusion Detection
10- Scene Change Detection
11- Region Entering Detection
12- Region Exiting Detection
13- Loitering Detection
14- People Gathering Detection
15- Rapid Motion Detection
16- Parking Detection
17- Unattended Baggage Detection
18- Object Removal Detection
For instance, in struRelCaptureChan[0], byChan[0]==1 the motion detection alarm of the current configured channel will trigger channel 1 to capture picture.
struAlarmInCapture
alarm input triggered capture, if the subscript = 0 indicates the alarm input 1, and so on.
For instance, in struAlarmInCapture[0], dwChanNo[0]==3 the first alarm input of the current configured channel will trigger channel 3 to capture picture.
dwMaxGroupNum
The device supported max. alarm input group number, 16 alarm inputs each group
byCapTimes
Captured picture number
byRes
Reserved

See Also

NET_DVR_JPEG_CAPTURE_CFG_V40


NET_DVR_EVENT_CARD_LINKAGE_CFG

Structure of event/card linkage settings.

struct{
  DWORD                               dwSize;
  BYTE                                byProMode;
  BYTE                                byRes1[3];
  DWORD                               dwEventSourceID;
  NET_DVR_EVETN_CARD_LINKAGE_UNION    uLinkageInfo;
  BYTE                                byAlarmout[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE                                byRes2[32];
  BYTE                                byOpenDoor[MAX_DOOR_NUM_256];
  BYTE                                byCloseDoor[MAX_DOOR_NUM_256];
  BYTE                                byNormalOpen[MAX_DOOR_NUM_256];
  BYTE                                byNormalClose[MAX_DOOR_NUM_256];
  BYTE                                byMainDevBuzzer;
  BYTE                                byCapturePic;
  BYTE                                byRes3[30];
  BYTE                                byReaderBuzzer[MAX_CARD_READER_NUM_512];
  BYTE                                byRes[128];
}NET_DVR_EVENT_CARD_LINKAGE_CFG, *LPNET_DVR_EVENT_CARD_LINKAGE_CFG;

Members

dwSize
Structure size
byProMode
Linkage mode: 0- event, 1- card number
byRes1
Reserved, please set to 0
dwEventSourceID
Event source ID, and 0xffffffff: all events linkage. For other values: when the major type is device event, dwEventSourceID is invalid; when the major type is door event, dwEventSourceID is door number; when the major type is card reader event, dwEventSourceID is card reader ID; and when the major type is alarm input event, dwEventSourceID is region alarm input ID or event alarm input ID
uLinkageInfo
Linkage mode parameter
byAlarmout
Linked alarm output number, array subscript stands for alarm output number, the value: 0- unlinked, 1- linked
byRes2
Reserved, please set to 0
byOpenDoor
Whether to enable open door linkage, array subscript stands for door number, the value: 0- unlinked, 1- linked
byCloseDoor
Whether to enable close door linkage, arrary subscript stands for door number, the value: 0- unlinked, 1- linked
byNormalOpen
Whether to enable door's remaining open linkage, arrary subscript stands for door number, the value: 0- unlinked, 1- linked
byNormalClose
Whether to enable door's reamining closed linkage, arrary subscript stands for door number, the value: 0- unlinked, 1- linked
byMainDevBuzzer
Whether to enable host buzzer linkage, the value: 0- unlinked, 1- output linkage
byCapturePic
Whether to enable capture linkage, the value: 0- unlinked, 1- linked
byRes3
Reserved
byReaderBuzzer
Whether to enable card reader buzzer linkage, arrary subscript stands for card reader number, the value: 0- unlinked, 1- linked
byRes
Reserved, please set to 0

Remarks

  • It is the capability set that decides whether the device supports setting event/card linkage. Corresponding capability set of access controller is AcsAbility, the related interface is NET_DVR_GetDeviceAbility, the capability set type is ACS_ABILITY, and the node is <EventLinkage>.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_EVENT_CARD_LINKAGE_CFG_V50

Event/card No. linkage configuration structure

struct{
  DWORD                               dwSize;
  BYTE                                byProMode;
  BYTE                                byRes1[3];
  DWORD                               dwEventSourceID;
  NET_DVR_EVETN_CARD_LINKAGE_UNION    uLinkageInfo;
  BYTE                                byAlarmout[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE                                byRes2[32];
  BYTE                                byOpenDoor[MAX_DOOR_NUM_256];
  BYTE                                byCloseDoor[MAX_DOOR_NUM_256];
  BYTE                                byNormalOpen[MAX_DOOR_NUM_256];
  BYTE                                byNormalClose[MAX_DOOR_NUM_256];
  BYTE                                byMainDevBuzzer;
  BYTE                                byCapturePic;
  BYTE                                byRecordVideo;
  BYTE                                byRes3[29];
  BYTE                                byReaderBuzzer[MAX_CARD_READER_NUM_512];
  BYTE                                byAlarmOutClose[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE                                byAlarmInSetup[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE                                byAlarmInClose[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE                                byRes[500];
}NET_DVR_EVENT_CARD_LINKAGE_CFG_V50, *LPNET_DVR_EVENT_CARD_LINKAGE_CFG_V50;

Members

dwSize
Structure size
byProMode
Linkage mode: 0- event, 1- card No.
byRes1
Reserved, set as 0
dwEventSourceID
Event source ID, 0xffffffff means to link all, other value: invalid when main type is device event; door No. when main type is door event; card reader No. when main type is card reader event; arming region input ID or event alarm input ID when main type is alarm input event
uLinkageInfo
Linkage mode parameter
byAlarmout
Linked alarm output No., in number array: 0- do not link, 1- link
byRes2
Reserved, set as 0
byOpenDoor
Whether to link open door, in number array (door No.):0- do not link, 1- link
byCloseDoor
Whether to link close door, in number array (door No.): 0- do not link, 1- link
byNormalOpen
Whether to link normally open, in number array (door No.): 0- do not link, 1- link
byNormalClose
Whether to link normally closed, in number array (door No.): 0- do not link, 1- link
byMainDevBuzzer
Whether to link host buzzer: 0- do not link, 1- linked output
byCapturePic
Whether to link capture: 0- no, 1- yes
byRes3
Reserved
byReaderBuzzer
Whether to link card reader buzzer, in number array (card reader No.): 0- no, 1- yes
byAlarmOutClose
Close linked alarm output, in byte, 0- do not link, 1- link
byAlarmInSetup
Linked region arming, in byte, 0- do not link, 1- link
byAlarmInClose
Linked region disarming, in byte, 0- do not link, 1- link
byRes
Reserved, set as 0

Remarks

  • Whether the device support event/card No. linked configuration or supported parameter capability, can be determined through device capability set(AcsAbility), API:NET_DVR_GetDeviceAbility, capability set type: ACS_ABILITY, node:<EventLinkage>.

    • See Also

    NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_EVENT_CARD_LINKAGE_COND

Event/card No. linkage configuration condition structure

struct{
  DWORD   dwSize;
  DWORD   dwEventID;
  WORD    wLocalControllerID;
  BYTE    byRes[106];
}NET_DVR_EVENT_CARD_LINKAGE_COND,*LPNET_DVR_EVENT_CARD_LINKAGE_COND;

Members

dwSize
Structure size
dwEventID
Event ID
wLocalControllerID
Distributed access controller No.[0-224], 0 means the host (currently only support host)
byRes
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_EVENT_INFO

Single event info

struct{
  BYTE                          byRuleID;
  BYTE                          byRes[3];
  BYTE                          byRuleName[NAME_LEN];
  DWORD                         dwEventType;
  NET_DVR_EVENT_PARAM_UNION     uEventParam;
}NET_DVR_EVENT_INFO, *LPNET_DVR_EVENT_INFO;

Members

byRuleID
Rule ID, the subscript of rule configuration structure
byRes1
Reserved
byRuleName
Rule name
dwEventType
Event type, please refer toVCA_EVENT_TYPE
uEventParam
Event parameter union

See Also

NET_DVR_EVENT_INFO_LIST


NET_DVR_EVENT_INFO_LIST

Event info list

struct{
  BYTE                 byNum;
  BYTE                 byRes1[3];
  NET_DVR_EVENT_INFO   struEventInfo[MAX_RULE_NUM];
}NET_DVR_EVENT_INFO_LIST, *LPNET_DVR_EVENT_INFO_LIST;

Members

byNum
Number of event info
byRes1
Reserved
struEventInfo
Real-time information of event

See Also

NET_DVR_RULE_INFO_ALARM


NET_DVR_EVENT_LINKAGE_INFO

Structure of event linkage parameter

struct{
  WORD    wMainEventType;
  WORD    wSubEventType;
  BYTE    byRes[28];
}NET_DVR_EVENT_LINKAGE_INFO,*LPNET_DVR_EVENT_LINKAGE_INFO;

Members

wMainEventType
Major type of event: 0- device event, 1- alarm input event, 2- door evetn, 3- card reader event
wSubEventType
Minor type of event, different major types correspond to minor types, see details in "Remarks"
byRes
Reserved, please set to 0

Remarks

Differnt major types of event correspond to different minor types of event. Detailed definitions are listed as below.

Major Type | Description
0 | Device event
Minor Type | Value | Description
EVENT_ACS_HOST_ANTI_DISMANTLE | 0 | Host tampering alarm
EVENT_ACS_OFFLINE_ECENT_NEARLY_FULL | 1 | An alarm is triggered if the number of offline events is up to 90%
EVENT_ACS_NET_BROKEN | 2 | Network disconnected
EVENT_ACS_NET_RESUME | 3 | Network recovery
EVENT_ACS_LOW_BATTERY | 4 | Low battery voltage
EVENT_ACS_BATTERY_RESUME | 5 | Battery voltage recovery
EVENT_ACS_AC_OFF | 6 | AC power disconnected
EVENT_ACS_AC_RESUME | 7 | AC power recovery
EVENT_ACS_SD_CARD_FULL | 8 | SD card storage full alarm
EVENT_ACS_LINKAGE_CAPTURE_PIC | 9 | Linked capture event alarm
EVENT_ACS_FIRE_IMPORT_SHORT_CIRCUIT | 14 | Fire input short-circuit alarm
EVENT_ACS_FIRE_IMPORT_BROKEN_CIRCUIT | 15 | Fire input broken-circuit alarm
EVENT_ACS_FIRE_IMPORT_RESUME | 16 | Fire input recovered
EVENT_ACS_MASTER_RS485_LOOPNODE_BROKEN | 17 | Master controller RS485 loop node disconnection
EVENT_ACS_MASTER_RS485_LOOPNODE_RESUME | 18 | Master controller RS485 loop node connection recovered
EVENT_ACS_LOCAL_CONTROL_OFFLINE | 19 | Distributed access controller offline
EVENT_ACS_LOCAL_CONTROL_RESUME | 20 | Distributed access controller connection recovered
EVENT_ACS_LOCAL_DOWNSIDE_RS485_LOOPNODE_BROKEN | 21 | Distributed access controller downlink RS485 loop disconnection
EVENT_ACS_LOCAL_DOWNSIDE_RS485_LOOPNODE_RESUME | 22 | Distributed access controller downlink RS485 loop connection recovered

Major Type | Description
1 | Alarm input event
Minor Type | Value | Description
EVENT_ACS_ALARMIN_SHORT_CIRCUIT | 0 | Region short circuited alarm
EVENT_ACS_ALARMIN_BROKEN_CIRCUIT | 1 | Region disconnected alarm
EVENT_ACS_ALARMIN_EXCEPTION | 2 | Region exception alarlm
EVENT_ACS_ALARMIN_RESUME | 3 | Region alarm recovery
EVENT_ACS_CASE_SENSOR_ALARM | 4 | Event input alarm
EVENT_ACS_CASE_SENSOR_RESUME | 5 | Event input recovery

Major Type | Description
2 | Door event
Minor Type | Value | Description
EVENT_ACS_LEADER_CARD_OPEN_BEGIN | 0 | Start opening door with first card
EVENT_ACS_LEADER_CARD_OPEN_END | 1 | End opening door with first card
EVENT_ACS_ALWAYS_OPEN_BEGIN | 2 | Remain open starts
EVENT_ACS_ALWAYS_OPEN_END | 3 | Remain open stops
EVENT_ACS_ALWAYS_CLOSE_BEGIN | 4 | Remain closed starts
EVENT_ACS_ALWAYS_CLOSE_END | 5 | Remain closed stops
EVENT_ACS_LOCK_OPEN | 6 | Open door lock
EVENT_ACS_LOCK_CLOSE | 7 | Close door lock
EVENT_ACS_DOOR_BUTTON_PRESS | 8 | Press door button
EVENT_ACS_DOOR_BUTTON_RELEASE | 9 | Release door button
EVENT_ACS_DOOR_OPEN_NORMAL | 10 | Normally open door (door magnetic)
EVENT_ACS_DOOR_CLOSE_NORMAL | 11 | Normally close door (door magnetic)
EVENT_ACS_DOOR_OPEN_ABNORMAL | 12 | Abnormally open door (door magnetic)
EVENT_ACS_DOOR_OPEN_TIMEOUT | 13 | Open door timed out (door magnetic)
EVENT_ACS_REMOTE_OPEN_DOOR | 14 | Remotely open door
EVENT_ACS_REMOTE_CLOSE_DOOR | 15 | Remotely close door
EVENT_ACS_REMOTE_ALWAYS_OPEN | 16 | Remotely remain door open
EVENT_ACS_REMOTE_ALWAYS_CLOSE | 17 | Remotely remain door closed
EVENT_ACS_NOT_BELONG_MULTI_GROUP | 18 | The card does not belong to the multiple authentication group.
EVENT_ACS_INVALID_MULTI_VERIFY_PERIOD | 19 | The card is not in the multiple authentication duration.
EVENT_ACS_MULTI_VERIFY_SUPER_RIGHT_FAIL | 20 | Multiple authentication super permission authentication failed.
EVENT_ACS_MULTI_VERIFY_REMOTE_RIGHT_FAIL | 21 | Multiple authentication remote authentication failed.
EVENT_ACS_MULTI_VERIFY_SUCCESS | 22 | Multiple authentication succeeded.
EVENT_ACS_MULTI_VERIFY_NEED_REMOTE_OPEN | 23 | Multiple authentication: remotely open door
EVENT_ACS_MULTI_VERIFY_SUPERPASSWD_VERIFY_SUCCESS | 24 | Multiple authentication: super password authentication succeeded
EVENT_ACS_MULTI_VERIFY_REPEAT_VERIFY_FAIL | 25 | Multiple authentication: repeat authentication failed
EVENT_ACS_MULTI_VERIFY_TIMEOUT | 26 | Multiple authentication timed out
EVENT_ACS_REMOTE_CAPTURE_PIC | 27 | Remote capture
EVENT_ACS_DOORBELL_RINGING | 28 | Door bell ringing
EVENT_ACS_SECURITY_MODULE_DESMANTLE_ALARM | 29 | Security control unit tamper-proof alarm
EVENT_ACS_CALL_CENTER | 30 | Call center event
EVENT_ACS_FIRSTCARD_AUTHORIZE_BEGIN | 31 | First card authorization start
EVENT_ACS_FIRSTCARD_AUTHORIZE_END | 32 | First card authorization end
EVENT_ACS_DOORLOCK_INPUT_SHORT_CIRCUIT | 33 | Door lock input short-circuit alarm
EVENT_ACS_DOORLOCK_INPUT_BROKEN_CIRCUIT | 34 | Door lock input broken-circuit alarm
EVENT_ACS_DOORLOCK_INPUT_EXCEPTION | 35 | Door lock input exception alarm
EVENT_ACS_DOORCONTACT_INPUT_SHORT_CIRCUIT | 36 | Magnet input short-circuit alarm
EVENT_ACS_DOORCONTACT_INPUT_BROKEN_CIRCUIT | 37 | Magnet input broken-circuit alarm
EVENT_ACS_DOORCONTACT_INPUT_EXCEPTION | 38 | Magnet input exception alarm
EVENT_ACS_OPENBUTTON_INPUT_SHORT_CIRCUIT | 39 | Door button input short-circuit alarm
EVENT_ACS_OPENBUTTON_INPUT_BROKEN_CIRCUIT | 40 | Door button input broken-circuit alarm
EVENT_ACS_OPENBUTTON_INPUT_EXCEPTION | 41 | Door button input exception alarm
EVENT_ACS_DOORLOCK_OPEN_EXCEPTION | 42 | Door lock open exception
EVENT_ACS_DOORLOCK_OPEN_TIMEOUT | 43 | Door lock open timeout
EVENT_ACS_FIRSTCARD_OPEN_WITHOUT_AUTHORIZE | 44 | First card failed to open door without authorization

Major Type | Description
3 | Card reader event
Minor Type | Value | Description
EVENT_ACS_STRESS_ALARM | 0 | Duress alarm
EVENT_ACS_CARD_READER_DESMANTLE_ALARM | 1 | Card reader tampering alarm
EVENT_ACS_LEGAL_CARD_PASS | 2 | Legal card authentication passed
EVENT_ACS_CARD_AND_PSW_PASS | 3 | Card and password authentication passed
EVENT_ACS_CARD_AND_PSW_FAIL | 4 | Card and password authentication failed
EVENT_ACS_CARD_AND_PSW_TIMEOUT | 5 | Card and password authentication timed out
EVENT_ACS_CARD_MAX_AUTHENTICATE_FAIL | 6 | Card reader ruthentication failed and timed out
EVENT_ACS_CARD_NO_RIGHT | 7 | No permission
EVENT_ACS_CARD_INVALID_PERIOD | 8 | Invalid duration
EVENT_ACS_CARD_OUT_OF_DATE | 9 | Expired card number
EVENT_ACS_INVALID_CARD | 10 | Invalid card
EVENT_ACS_ANTI_SNEAK_FAIL | 11 | Anti-passing back authentication failed
EVENT_ACS_INTERLOCK_DOOR_NOT_CLOSE | 12 | The interlocking door is not closed.
EVENT_ACS_FINGERPRINT_COMPARE_PASS | 13 | Fingerprint matching passed
EVENT_ACS_FINGERPRINT_COMPARE_FAIL | 14 | Fingerprint matching failed
EVENT_ACS_CARD_FINGERPRINT_VERIFY_PASS | 15 | Card and fingerprint authentication passed
EVENT_ACS_CARD_FINGERPRINT_VERIFY_FAIL | 16 | Card and fingerprint authentication failed
EVENT_ACS_CARD_FINGERPRINT_VERIFY_TIMEOUT | 17 | Card and fingerprint authentication timeout
EVENT_ACS_CARD_FINGERPRINT_PASSWD_VERIFY_PASS | 18 | Card, fingerprint and password authentication passed
EVENT_ACS_CARD_FINGERPRINT_PASSWD_VERIFY_FAIL | 19 | Card, fingerprint and password authentication failed
EVENT_ACS_CARD_FINGERPRINT_PASSWD_VERIFY_TIMEOUT | 20 | Card, fingerprint and password authentication timeout
EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_PASS | 21 | Fingerprint and password authentication passed
EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_FAIL | 22 | Fingerprint and password authentication failed
EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_TIMEOUT | 23 | Fingerprint and password authentication timeout
EVENT_ACS_FINGERPRINT_INEXISTENCE | 24 | Fingerprint does not exist

See Also

NET_DVR_EVETN_CARD_LINKAGE_UNION


NET_DVR_EVENT_PARAM_UNION

Union of event parameter

union{
  DWORD                 uLen[3];
  DWORD                 dwHumanIn;
  float                 fCrowdDensity;
}NET_DVR_EVENT_PARAM_UNION, *LPNET_DVR_EVENT_PARAM_UNION;

Members

uLen
Union size, 12 byte
dwHumanIn
Whether there are people come close: 0- nobody, 1- somebody
fCrowdDensity
Crowd density

See Also

NET_DVR_EVENT_INFO


NET_DVR_EVENT_SCHEDULE

Event entering detection arming schedule configuration structure

struct{
  DWORD                dwSize;
  NET_DVR_SCHEDTIME    struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_SCHEDTIME    struHolidayAlarmTime[MAX_TIMESEGMENT_V30];
  BYTE                 byRes[128];
}NET_DVR_EVENT_SCHEDULE,*LPNET_DVR_EVENT_SCHEDULE;

Members

dwSize
Structure size
struAlarmTime
Region entering detection arming schedule, 7 days/week, 8 time segments/day
struHolidayAlarmTime
Region entering detection holiday arming schedule
byRes
Reserved

Remarks

  • This configuration corresponds to arming schedule capability(Schedule), API;NET_DVR_GetSTDAbility, Different smart detection types corresponds to different arming schedule capability.
    • Detection Type | dwAbilityType Capability Type
Region entering detection | NET_DVR_GET_REGION_ENTRANCE_SCHEDULE_CAPABILITIES
Region exiting detection | NET_DVR_GET_REGION_EXITING_SCHEDULE_CAPABILITIES
Loitering detection | NET_DVR_GET_LOITERING_SCHEDULE_CAPABILITIES
People gathering detection | NET_DVR_GET_GROUP_SCHEDULE_CAPABILITIES
Fast moving detection | NET_DVR_GET_RAPIDMOVE_SCHEDULE_CAPABILITIES
Parking detection | NET_DVR_GET_PARKING_SCHEDULE_CAPABILITIES
Unattended baggage detection | NET_DVR_GET_UNATTENDEDBAGGAGE_SCHEDULE_CAPABILITIES
Object removal detection | NET_DVR_GET_ATTENDEDBAGGAGE_SCHEDULE_CAPABILITIES
Get fire & smoke detection arming time capability | NET_DVR_GET_FIREDETECTION_SCHEDULE_CAPABILITIES


NET_DVR_EVENT_SCHEDULE

Event entering detection arming schedule configuration structure

struct{
  DWORD                dwSize;
  NET_DVR_SCHEDTIME    struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_SCHEDTIME    struHolidayAlarmTime[MAX_TIMESEGMENT_V30];
  BYTE                 byRes[128];
}NET_DVR_EVENT_SCHEDULE,*LPNET_DVR_EVENT_SCHEDULE;

Members

dwSize
Structure size
struAlarmTime
Region entering detection arming schedule, 7 days/week, 8 time segments/day
struHolidayAlarmTime
Region entering detection holiday arming schedule
byRes
Reserved

Remarks

  • This configuration corresponds to arming schedule capability(Schedule), API;NET_DVR_GetSTDAbility, Different smart detection types corresponds to different arming schedule capability.
    • Detection Type | dwAbilityType Capability Type
Storage health detection | NET_DVR_GET_STORAGEDETECTION_SCHEDULE_CAPABILITIES

    See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_EVENT_TRIGGER

Region entrance detection linkage configuration structure

struct{
  DWORD                          dwSize;
  NET_DVR_HANDLEEXCEPTION_V41    struHandleException;
  DWORD                          dwRelRecordChan[MAX_CHANNUM_V40];
  NET_DVR_PRESETCHAN_INFO        struPresetChanInfo[MAX_CHANNUM_V40];
  NET_DVR_CRUISECHAN_INFO        struCruiseChanInfo[MAX_CHANNUM_V40];
  NET_DVR_PTZTRACKCHAN_INFO      struPtzTrackInfo[MAX_CHANNUM_V40];
  BYTE                           byRes2[256];
}NET_DVR_EVENT_TRIGGER,*LPNET_DVR_EVENT_TRIGGER;

Members

dwSize
Structure size
struHandleException
Exception handle mode
dwRelRecordChan
Actually triggered video channel, represented by value, read from 0 in sequence, invalid after the value of 0xffffffff being read
struPresetChanInfo
Preset information
struCruiseChanInfo
Patrol information
struPtzTrackInfo
Information of channel that call the PTZ pattern. /dd>
byRes2
Reserved

Remarks

  • This function corresponds to event triggering capability(EventTriggerCap), API: NET_DVR_GetSTDAbility(capability type:NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES).

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_EVENT_TRIGGER

Event linkage configuration structure

struct{
  DWORD                          dwSize;
  NET_DVR_HANDLEEXCEPTION_V41    struHandleException;
  DWORD                          dwRelRecordChan[MAX_CHANNUM_V40];
  NET_DVR_PRESETCHAN_INFO        struPresetChanInfo[MAX_CHANNUM_V40];
  NET_DVR_CRUISECHAN_INFO        struCruiseChanInfo[MAX_CHANNUM_V40];
  NET_DVR_PTZTRACKCHAN_INFO      struPtzTrackInfo[MAX_CHANNUM_V40];
  BYTE                           byRes2[256];
}NET_DVR_EVENT_TRIGGER,*LPNET_DVR_EVENT_TRIGGER;

Members

dwSize
Structure size
struHandleException
Exception handle mode
dwRelRecordChan
Actually triggered video channel, represented by value, read from 0 in sequence, invalid after the value of 0xffffffff being read
struPresetChanInfo
Preset information
struCruiseChanInfo
Patrol information
struPtzTrackInfo
Information of channel that call the PTZ pattern. /dd>
byRes2
Reserved

Remarks

  • This function corresponds to event triggering capability(EventTriggerCap), API: NET_DVR_GetSTDAbility(capability type:NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES).

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_EVETN_CARD_LINKAGE_UNION

Union of event/card linkage

union{
  BYTE                          byCardNo[ACS_CARD_NO_LEN];
  NET_DVR_EVENT_LINKAGE_INFO    struEventLinkage;
}NET_DVR_EVETN_CARD_LINKAGE_UNION,*LPNET_DVR_EVETN_CARD_LINKAGE_UNION;

Members

byCardNo
Card number, it is valid when the value of byProMode is 1
struEventLinkage
Event linkage parameter, it is valid when the value of byProMode is 0

See Also

NET_DVR_EVENT_CARD_LINKAGE_CFG


NET_DVR_EXCEPTION

Structure of exception parameters.

struct{
  DWORD                       dwSize;
  NET_DVR_HANDLEEXCEPTION     struExceptionHandleType[MAX_EXCEPTIONNUM];
}NET_DVR_EXCEPTION,*LPNET_DVR_EXCEPTION;

Members

dwSize
Structure size
struExceptionHandleType
Handle type of exception:
array 0 - HDD full
array 1 - HDD fault
array 2 - Network broken
array 3 - IP address conflict
array 4 - Illegal access
array 5 - Video input/output standard mismatch
array 6 - video signal exception

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_HANDLEEXCEPTION


NET_DVR_EXCEPTION_V30

Structure of exception parameters.

struct{
  DWORD                           dwSize;
  NET_DVR_HANDLEEXCEPTION_V30     struExceptionHandleType[MAX_EXCEPTIONNUM_V30];
}NET_DVR_EXCEPTION_V30,*LPNET_DVR_EXCEPTION_V30;

Members

dwSize
Structure size
struExceptionHandleType
Handle type of exception:
array 0 - HDD full
array 1 - HDD fault
array 2 - Network broken
array 3 - IP address conflict
array 4 - Illegal access
array 5 - Video input/output standard mismatch
array 6 - Video signal exception
array 7 - Recording exception
array 8 - RAID exception
array 9 - Recording resolution does not match with which of front-end camera

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_EXCEPTION_V40

Structure of exception parameters(expanded).

struct{
  DWORD                          dwSize;
  DWORD                          dwMaxGroupNum;
  NET_DVR_HANDLEEXCEPTION_V41    struExceptionHandle[MAX_EXCEPTIONNUM_V30];
  BYTE                           byRes[128];
}NET_DVR_EXCEPTION_V40,*LPNET_DVR_EXCEPTION_V40;

Members

dwSize
Structure size
dwMaxGroupNum
Max. number of groups of device supported exception type(read only)
struExceptionHandle
Exception handle mode:
array 0 - HDD full
array 1 - HDD fault
array 2 - Network broken
array 3 - IP address conflict
array 4 - Illegal access
array 5 - Video input/output standard mismatch
array 6 - Video signal exception
array 7 - Recording exception
array 8 - RAID exception
array 9 - Recording resolution does not match with which of front-end camera
array 10 - Over driving
array 11 - Hot standby exception (for N+1)
array 12 - Temperature exception
array 13 - Sub-system exception
array 14 - Fan exception
array 15 - POE power supply exception
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

This structure expended from

NET_DVR_EXCEPTION_V30


NET_DVR_EXDEVDET_CFG

The Structure of External Device Status Information

struct{
  DWORD    dwSize;
  BYTE     byExternalDevStatus;
  BYTE     byRes[63];
}NET_DVR_EXDEVDET_CFG,*LPNET_DVR_EXDEVDET_CFG;

Members

dwSize
The size of the structure
byExternalDevStatus
The status of external device, 0- Normal, 1- Abnormal
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceStatus


NET_DVR_EXPOSURE

Parameter structure of CCD exposure control

struct{
  BYTE       byExposureMode;
  BYTE       byAutoApertureLevel;
  BYTE       byRes[2];
  DWORD      dwVideoExposureSet;
  DWORD      dwExposureUserSet;
  DWORD      dwRes;
}NET_DVR_EXPOSURE, *LPNET_DVR_EXPOSURE;

Members

byExposureMode
0- manual exposure, 1- auto exposure
byAutoApertureLevel
Auto aperture sensitivity, value range：0~10
byRes
Reserved
dwVideoExposureSet
User-defined video exposure time(unit: us), it is the exposure slowest value when in auto exposure mode
dwExposureUserSet
User-defined capturing exposure time (unit: us), it is snapshot shutter speed when snapshot in CCD mode
dwRes
Reserved

See Also

NET_DVR_CAMERAPARAMCFG


NET_DVR_EXTERNAL_CONTROL_ALARM

Structure of indicator external control alarm information.

struct{
  DWORD                 dwSize;
  DWORD                 dwChannelNo;
  NET_DVR_LAMP_STATE    struLampStateCtrl;
  NET_DVR_TIME          struExternalBeginTime;
  BYTE                  byRes1[64];
}NET_DVR_EXTERNAL_CONTROL_ALARM, *LPNET_DVR_EXTERNAL_CONTROL_ALARM;

Members

dwSize
Structure Size
dwChannelNo
Channel No.
struLampStateCtrl
Indicator external control status
struExternalBeginTime
External Control Start Time
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_EXTERNAL_DEVCFG

ITS external device information structure

struct{
  DWORD    dwSize;
  BYTE     byExternalDevTpye;
  BYTE     byRes2[3];
  char     sDevName[MAX_DEVNAME_LEN];
  union{
           BYTE                  byUnionLen[656];
           struct{
               NET_DVR_IPADDR    struDevIP;
               WORD              wDevPort;
               BYTE              byRes[510];
           }struRrReader;
           struct{
               BYTE              byRs485No;
               BYTE              byDevCtrlCode;
               BYTE              byAutoIssuedData;
               BYTE              byOfflineDetEnable;
               BYTE              byDetCycle;
               BYTE              byRes[651];
           }struGateway;
           struct{
               BYTE              byExternalMode;
               BYTE              byRes[3];
               NET_DVR_IPADDR    struDevIP;
               WORD              wDevPort;
               BYTE              byRs485No;
               BYTE              byDevCtrlCode;
               BYTE              byCtrlCardType;
               BYTE              byLedScreenType;
               BYTE              byLedScreenUse;
               BYTE              byLedDisplayMode;
               char              sLedCustomInfo[MAX_LED_INFO];
               DWORD             dwLedScreenH;
               DWORD             dwLedScreenW;
               BYTE              byRes1[236];
           }struLed;
  }uExternalDevInfo;
  BYTE     byRes[128];
}NET_DVR_EXTERNAL_DEVCFG, *LPNET_DVR_EXTERNAL_DEVCFG;

Members

dwSize
Structure size
byExternalDevTpye
External device type:0- reserved,1- Remote read head, 2- Access control, 3- LED screen，0xff- All
byRes2
Reserved
sDevName
Device name
unionAddr is the union of external device information union
byUnionLen
The union size is 656 bytes
struRrReader is the structure of remote reading head information
struDevIP
Device IP address
wDevPort
Device port No.
byRes
Reserved
struGateway is the structure of entrance control information
byRs485No
RS485 No.
byDevCtrlCode
Dialing-up address, for distinguishing the device, value range[1,255]
byAutoIssuedData
Enable activate card automatically? 0- No, 1- Yes
byOfflineDetEnable
Offline detection: 0- Disabled, 1- Enabled
byDetCycle
Detection period, value range[0,60], unit; s
byRes
Reserved
struLed is the structure of LED screen information
byExternalMode
LED screen API type:0-RS485, 1-Network
byRes
Reserved
struDevIP
DEV IP address 144 (valid when byExternalMode == 1 )
wDevPort
Device port No. (valid when byExternalMode == 1)
byRs485No
RS485 No.(if the external device type is the same, the code can be repeated, and if the the external device type is different, the code should be different)
byDevCtrlCode
Dialing-up address, foe distinguishing device, value range [1,255]
byCtrlCardType
Control card type: 0-Reserved(invalid value), 1- EQ2013, different control card supports different display mode.
byLedScreenType
Screen type: 0-monochrome screen, 1- dual-color screen
byLedScreenUse
Screen usage: 0- others, 1-Location screen, 2- Screen for prompting massage, 3- Charging screen
byLedDisplayMode
Font display mode:1- Real-time Display, 2- Left shift, 3- Right shift, 4-Up shift, 5- Down shift
sLedContomInfo
Font type display information
dwLedScreenH
LED point numbers for vertical column
dwLedScreenW
LED point numbers for horizontal column
byRes1
Reserved
byRes
保留

Remarks

LED screen is controlled by the control card, LED screen size is selectable, the terminal should notify the control card about the height(dwLedScreenH) and width(dwLedScreenW) of the screen.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_EXTERNAL_DEVCOND

Structure of getting the external device information of ITS

struct{
  DWORD    dwSize;
  BYTE     byExternalDevTpye;
  BYTE     byRelativeIndex;
  BYTE     byRes[30];
}NET_DVR_EXTERNAL_DEVCOND, *LPNET_DVR_EXTERNAL_DEVCOND;

Members

dwSize
The size of the structure
byExternalDevTpye
External device type:0- reserved,1- Remote read head, 2- Access control, 3- LED screen，0xff- All
byRelativeIndex
Index: 0- Reserved, for LED screen the value range is [1～255], for other type, the index range value is [1~8], 0xff-All information
byRes
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig

NET_DVR_StartRemoteConfig


NET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION

External device alarm threshold complex

union {
  NET_DVR_ALARMHOST_UPS_LIMIT_VALUE                     struUpsLimitValue;
  NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE     struTempHumidityLimitValue;
}NET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION, *LPNET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION;

Members

struUpsLimitValue
UPS alarm threshold
struTempHumidityLimitValue
Temperature & humidity sensor threshold

See Also

NET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE


NET_DVR_EXTERNAL_MATRIX_CFG

Structure of matrix configuration

struct{
  DWORD               dwSize;
  BYTE                byValid;
  BYTE                byRes1[3];
  BYTE                sMatrixName[NAME_LEN];
  DWORD               dwMatrixID;
  WORD                wMatrixInputChanNum;
  WORD                wMatrixOutputChanNum;
  WORD                wMatrixOutputChanRef[MAX_CAM_COUNT];
  BYTE                byMatrixChanType;
  BYTE                byMatrixProtocol;
  BYTE                byMatrixType;
  BYTE                byRes2;
  NET_MATRIX_UNION    struMatrixUnion;
  BYTE                byRes3[128];
}NET_DVR_EXTERNAL_MATRIX_CFG,*LPNET_DVR_EXTERNAL_MATRIX_CFG;

Members

dwSize
Structure size
byValid
Valid or not: 0- invalid, 1- valid, byValid==1 is to set the matrix and byValid==0 is to delete the matrix
byRes1
Reserved, please set to 0
sMatrixName
The matrix name
dwMatrixID
ID of matrix, it is valid when to get matrix configuration
wMatrixInputChanNum
The total number of input channels of matrix
wMatrixOutputChanNum
The total number of output channels of matrix
wMatrixOutputChanRef
The binding relationship between input of the device and output of the matrix, the array subscript means the input channel number of the controller, if the value is 0, it means not bound; if the value larger than 0, it means the output channel number of the matrix.
byMatrixChanType
The type of matrix channel: 1- BNC, 2- VGA, 3- RGB, 4- DVI
byMatrixProtocol
Matrix protocol: 1-ZT1.0, 2- ZT2.0, 3- Extron, 4- Creator
byMatrixType
The matrix type: 1- analog matrix, 2- digital matrix, it supports analog matrix only for centralized multi-screen controller of V2.1
byRes2
Reserved, please set to 0
struMatrixUnion
Union of analog or digital matrix parameters
byRes3
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_EXTERNALDEVICE

Structure for external device.

struct{
  DWORD                      dwSize;
  NET_DVR_SUPPLEMENTLIGHT    struSupplementLight;
  BYTE                       byRes[512];
}NET_DVR_EXTERNALDEVICE, *LPNET_DVR_EXTERNALDEVICE;

Members

dwSize
Structure size.
struSupplementLight
Structure of supplement light
byRes
Reserved.

Remarks

  • It is the capability set that decide whether the device supports the external device configuration or not. Corresponding capability set: (ExternalDevice)，corresonding interface: NET_DVR_GetSTDAbility，and capability set type: NET_DVR_GET_EXTERNALDEVICE_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_EZVIAZ_ACCESS_CFG

Structure of EZVIZ access configuration

struct{
  DWORD            dwSize;
  BYTE             byEnable;
  BYTE             byRes[511];
}NET_DVR_EZVIAZ_ACCESS_CFG,*LPNET_DVR_EZVIAZ_ACCESS_CFG;

Members

dwSize
Size of structure
byEnable
enable access to EZVIZ platform: 0-forbidden,1-enable
byRes[511]
Reserve


NET_DVR_FACE_DETECTION

The structure of face detection alarm information

struct{
  DWORD               dwSize;
  DWORD               dwRelativeTime;
  DWORD               dwAbsTime;
  DWORD               dwBackgroundPicLen;
  NET_VCA_DEV_INFO    struDevInfo;
  NET_VCA_RECT        struFacePic[MAX_FACE_PIC_NUM];
  BYTE                byFacePicNum ;
  BYTE                byRes1;
  WORD                wDevInfoIvmsChannelEx;
  BYTE                byRes[252];
  BYTE                *pBackgroundPicpBuffer;
}NET_DVR_FACE_DETECTION,*LPNET_DVR_FACE_DETECTION;

Members

dwSize
The size of the structure
dwRelativeTime
The relative time
dwAbsTime
The absolute time
dwBackgroundPicLen
The length of the background image, 0-No image,>0- With image
struDevInfo
The information of front-end device, including IP address, port No., channel No., etc.
struFacePic
The area of face capture image, relative to the resolution of the background image.
byFacePicNum
The number of the face capture image.
byRes1
Reserved
wDevInfoIvmsChannelEx
Same description with byIvmsChannel of NET_VCA_DEV_INFO, can be used to indicate greater value. For older version of client, byIvmsChannel is still compatible, but the maximum value is 255. For later version of client, use wDevInfoIvmsChannelEx
byRes
reserved, set as 0.
pBackgroundPicpBuffer
The information of the background image.

Remarks

  • The ralgorithm of getting year/month/day/hour/minute/second analyzed froM the time value of DWORD type is shown as follows.
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)
  • The relative time, nomally related to the time zone, as the East eight -time , GMT time
    The absolute time, which is the UTC time (no time zone).
    For example, the time_t value is 1400252410,so the relative Time is 2014-05-16 23:00:10 and the absolute Time is 2014-05-16 15:00:10.

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_FACE_PIPCFG

Picture in picture parameter structure

struct{
  BYTE    byEnable;
  BYTE    byBackChannel;
  BYTE    byPosition;
  BYTE    byPIPDiv;
  BYTE    byRes[4];
 }NET_DVR_FACE_PIPCFG,*LPNET_DVR_FACE_PIPCFG;

Members

byEnable
Whether to enable picture in picture: 0- no, 1- yes
byBackChannel
Background channel No. (panel channel)
byPosition
Overlay position: 0- upper left, 1- lower left, 2- upper right, 3- lower right
byPIPDiv
Picture in picture ratio (face picture: panel picture):0- 1:4, 1- 1:9, 2- 1:16
byRes
Reserved, set as 0

See Also

NET_DVR_FACEDETECT_RULECFG_V41


NET_DVR_FACECAPTURE_STATISTICS_COND

Face capture people statistic query condition structure

struct{
  DWORD              dwSize;
  DWORD              dwChannel;
  NET_DVR_TIME_EX    struStartTime;
  BYTE               byReportType;
  BYTE               byStatType;
  BYTE               byRes[126];
}NET_DVR_FACECAPTURE_STATISTICS_COND, *LPNET_DVR_FACECAPTURE_STATISTICS_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
struStartTime
Statistic start time
byReportType
Statistic report type: 1- Daily report, 2- Weekly report, 3- Monthly report, 4- Annual report
byStatType
Data type statistic, represented by bit, Bit0- Age, Bit1- Gender, Bit2- People number
byRes
Reserved

See Also

NET_DVR_StartRemoteConfig


NET_DVR_FACECAPTURE_STATISTICS_RESULT

Face capture statistic result structure

struct{
  DWORD                     dwSize;
  NET_DVR_TIME_EX           struStartTime;
  NET_DVR_TIME_EX           struEndTime;
  BYTE                      byStatType;
  BYTE                      byRes[7];
  DWORD                     dwPeopleNum;
  NET_DVR_AGEGROUP_PARAM    struAgeGroupParam;
  NET_DVR_SEXGROUP_PARAM    struSexGroupParam;
  BYTE                      byRes1[128];
}NET_DVR_FACECAPTURE_STATISTICS_RESULT, *LPNET_DVR_FACECAPTURE_STATISTICS_RESULT;

Members

dwSize
Structure size
struStartTime
Statistic start time
struEndTime
Statistic end time
byStatType
Data type statistic, represented by bit: Bit0- Age is valid, Bit1- Gender is valid, Bit2- People number is valid.
byRes
Reserved
dwPeopleNum
People number statistic
struAgeGroupParam
People counting by age group
struSexGroupParam
People counting by gender
byRes1
Reserved

Remarks

  • The device does not support getting statistic result by the alarm and listening method, but only supports alarm arming method. The device will do uploading every 15 minutes, and the time interval cannot be configured.
  • Check the capability of supporting people counting via the device capability, related VCA channel analysis capability(VcaChanAbility), API:NET_DVR_GetDeviceAbility, capability type: DEVICE_ABILITY_INFO，节点：<FaceCaptureStatistics>.

See Also

NET_DVR_GetNextRemoteConfig

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_FACEDETECT_ALARM

Structure of uploading face alarm.

struct{
  DWORD                  dwSize;
  DWORD                  dwRelativeTime;
  DWORD                  dwAbsTime;
  BYTE                   byRuleName[NAME_LEN];
  NET_VCA_TARGET_INFO    struTargetInfo;
  NET_VCA_DEV_INFO       struDevInfo;
  DWORD                  dwPicDataLen;
  BYTE                   byAlarmPicType;
  BYTE                   byRes[59];
  BYTE                   *pImage;
}NET_DVR_FACEDETECT_ALARM, *LPNET_DVR_FACEDETECT_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative time
dwAbsTime
Absolute time
byRuleName
Rule name
struTargetInfo
Alarm target information
struDevInfo
Device information
dwPicDataLen
Returned picture length, 0 means no picture, larger than 0 means picture data follows the structure.
byAlarmPicType
0- abnormal face alarm picture, 1- face picture
byRes[59]
Reserved
pImage
Pointer to picture

See Also

NET_VCA_TARGET_INFO NET_VCA_DEV_INFO
NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_FACEDETECT_RULECFG

Structure of face detection rule.

struct{
  DWORD                         dwSize;
  BYTE                          byEnable;
  BYTE                          byEventType;
  BYTE                          byUpLastAlarm;
  BYTE                          byRes1;
  BYTE                          byRuleName[NAME_LEN];
  NET_VCA_POLYGON               struPolygon;
  BYTE                          byPicProType;
  BYTE                          bySensitivity;
  DWORD                         wDuration;
  NET_DVR_JPEGPARA              struPictureParam;
  NET_VCA_SIZE_FILTER           struSizeFilter;
  NET_DVR_SCHEDTIME             struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];
  NET_DVR_HANDLEEXCEPTION_V30   struHandleType;
  BYTE                          byRelRecordChan[MAX_CHANNUM_V30];
  BYTE                          byRes2[40];
 }NET_DVR_FACEDETECT_RULECFG,*LPNET_DVR_FACEDETECT_RULECFG;

Members

dwSize
Structure size
byEnable
Enable face detection rule or not
byEventType
Event type: 0- abnormal face, 1- normal face, 2- abnormal face & normal face
byUpLastAlarm
Whether to firstly upload the last alarm
byRes1
Reserved, please set to 0
byRuleName
Rule name
struPolygon
Face detection rule region
byPicProType
Picture handling type when alarming: 0- not handle, none 0- upload
bySensitivity
Rule sensitivity
wDuration
Time threshold triggering face alarm
struPictureParam
Image parameter
struSizeFilter
Size filter
struAlarmTime
Time period of fortification
struHandleType
Handling type
byRelRecordChan
Recording channel triggered by alarm: if the value is 1, triggers the channel to record
byRes2
Reserved, please set to 0

See Also

NET_VCA_POLYGON NET_DVR_JPEGPARA NET_VCA_SIZE_FILTER
NET_DVR_SCHEDTIME NET_DVR_HANDLEEXCEPTION_V30
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_FACEDETECT_RULECFG_V41

Face detection rule structure

struct{
  DWORD                         dwSize;
  BYTE                          byEnable;
  BYTE                          byEventType;
  BYTE                          byUpLastAlarm;
  BYTE                          byUpFacePic;
  BYTE                          byRuleName[NAME_LEN];
  NET_VCA_POLYGON               struVcaPolygon;
  BYTE                          byPicProType;
  BYTE                          bySensitivity;
  DWORD                         wDuration;
  NET_DVR_JPEGPARA              struPictureParam;
  NET_VCA_SIZE_FILTER           struSizeFilter;
  NET_DVR_SCHEDTIME             struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V30   struHandleType;
  BYTE                          byRelRecordChan[MAX_CHANNUM_V30];
  BYTE                          byPicRecordEnable;
  BYTE                          byRes1;
  WORD                          wAlarmDelay;
  NET_DVR_FACE_PIPCFG           struFacePIP;
  WORD                          wRelSnapChan[MAX_REL_SNAPCHAN_NUM];
  BYTE                          byRes[22];
 }NET_DVR_FACEDETECT_RULECFG_V41,*LPNET_DVR_FACEDETECT_RULECFG_V41;

Members

dwSize
Structure size
byEnable
Whether to enable face detection rule
byEventType
Event type: 0- exception face; 1- normal face; 2- exception & normal face
byUpLastAlarm
Whether to upload last alarm
byUpFacePic
Whether to upload face picture: 0- no, 1- yes
byRuleName
Rule name
struVcaPolygon
Face detection rule area
byPicProType
Picture processing mode when alarm is triggered: 0- do not process, non-0- upload
bySensitivity
Rule sensitivity
wDuration
Trigger face alarm time threshold
struPictureParam
Picture size structure
struSizeFilter
Size filter
struAlarmTime
Arming time
struHandleType
Processing mode
byRelRecordChan
Alarm triggered recording channel, 1 means trigger the channel. Channel indicated by bit: byRelRecordChan[0]==1 means trigger channel 1 recording, byRelRecordChan[1]==1 means trigger channel 2 recording, and so forth
byPicRecordEnable
Whether to enable picture storage: 0- disable, 1- enable
byRes1
Reserved, set as 0
wAlarmDelay
Smart alarm delay: 0-5s, 1-10s, 2-30s, 3-60s, 4-120s, 5-300s, 6-600s
struFacePIP
Picture in picture parameters
wRelSnapChan
Link capture channel (when alarm is triggered in main channel, captured picture of linked channel will be uploaded): 0 means do not link, other values mean linked channel No.
byRes
Reserved, set as 0

Remarks

  • Whether the device supports face detection or the supported parameter capability, can be determined through device capability set (VcaChanAbility), API: NET_DVR_GetDeviceAbility, type: DEVICE_ABILITY_INFO, node: <FaceDetect> of <Face>.
  • After face detection parameters are configured, the door will open when face is detected after the card swiping. If linked capture channel is configured, the picture will be uploaded through alarm arming, corresponding alarm information type (COMM_ALARM_ACS).

See Also

Smart ATM: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Access control host: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_FACEDETECTION_SEARCHCOND

Face detection video search condition parameter structure

struct{
  NET_VCA_POLYGON    struFacePolygon;
  DWORD              dwPreTime;
  DWORD              dwDelayTime;
  BYTE               byRes[5972];
}NET_DVR_FACEDETECTION_SEARCHCOND,*LPNET_DVR_FACEDETECTION_SEARCHCOND;

Members

struFacePolygon
Face detection area
dwPreTime
Smart pre-alarm time, unit: s
dwDelayTime
Smart post-alarm time, unit: s
byRes
Reserved, set as 0

See Also

NET_DVR_AREA_SMARTSEARCH_COND_UNION


NET_DVR_FFC_PARAM

FFC parameter structure

struct{
  BYTE    byMode;
  BYTE    byRes1;
  WORD    wCompensateTime;
  BYTE    byRes2[4];
}NET_DVR_FFC_PARAM,*LPNET_DVR_FFC_PARAM;

Members

byMode
1- timed mode, 2- temperature mode, 3- close
byRes1
Reserved, set as 0
wCompensateTime
Time (valid in timed mode), unit: minute, get detailed value from capability set, value: 10, 20, 30, 40, 50, 60, 120, 180, 240
byRes2
Reserved, set as 0

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_FIGURE_INFO

Get thumbnail by time point result information structure

struct{
  DWORD    dwPicLen;
  char     *pPicBuf;
}NET_DVR_FIGURE_INFO, *LPNET_DVR_FIGURE_INFO;

Members

dwPicLen
Picture length
pPicBuf
Picture data

Remarks

  • Whether device supports getting thumbnail by time point or supported capability can be determined through device software and hardware capability set (BasicCapability), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY, node: <isSupportGetFigure>.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_FILECOND

Structure of record file information for searching.

struct{
  LONG             lChannel;
  DWORD            dwFileType;
  DWORD            dwIsLocked;
  DWORD            dwUseCardNo;
  BYTE             sCardNumber[32];
  NET_DVR_TIME     struStartTime;
  NET_DVR_TIME     struStopTime;
}NET_DVR_FILECOND,*LPNET_DVR_FILECOND;

Members

lChannel
Channel number
dwFileType
Type of record file(divided into two types according to whether dwUseCardNo is with card NO. or not):
without card NO. : 0xff- all, 0- scheduled recording, 1- motion detection, 2- alarm recording, 3- motion detection | alarm, 4- motion detection & alarm, 5-command trigger, 6- manual recording, 7- intelligent recording, 10-PIR alarm, 11-wireless alarm, 12-calling for help alarm, 13-PIR|wireless|calling for help alarm
with card NO. : 0xff- all, 0- scheduled recording, 1- motion detection, 2- approach alarm, 3- cash out alarm, 4- cash in alarm, 5- command trigger, 6- manual recording, 7- vibration alarm, 8- environment alarm, 9- intelligent alarm,10-PIR alarm, 11-wireless alarm, 12-calling for help alarm, 13-PIR|wireless|calling for help alarm
dwIsLocked
Whether the file is locked: 0- no, 1- yes. 0xff means all files(locked and unlocked)
dwUseCardNo
Use card number or not
sCardNumber
Card number
struStartTime
start time
struStopTime
end time

See Also

NET_DVR_TIME


NET_DVR_FILECOND_V40

Structure of file searching information.

struct{
  LONG                 lChannel;
  DWORD                dwFileType;
  DWORD                dwIsLocked;
  DWORD                dwUseCardNo;
  BYTE                 sCardNumber[32];
  NET_DVR_TIME         struStartTime;
  NET_DVR_TIME         struStopTime;
  BYTE                 byDrawFrame;
  BYTE                 byFindType;
  BYTE                 byQuickSearch;
  BYTE                 bySpecialFindInfoType;
  DWORD                dwVolumeNum;
  BYTE                 byWorkingDeviceGUID[GUID_LEN];
  NET_DVR_SPECIAL_FINDINFO_UNION    uSpecialFindInfo;
  BYTE                  byStreamType;
  BYTE                  byAudioFile;
  BYTE                  byRes2[30];
}NET_DVR_FILECOND_V40, *LPNET_DVR_FILECOND_V40;

Members

lChannel
Channel number
dwFileType
Type of record file(divided into two types according to whether dwUseCardNo is with card NO. or not):
  • without card number: 0xff- all, 0- scheduled recording, 1- motion detection, 2- alarm recording, 3- motion detection | alarm, 4- motion detection & alarm, 5-command trigger, 6- manual recording, 7- intelligent recording, 10-PIR alarm, 11-wireless alarm, 12-calling for help alarm, 13-PIR|wireless|calling for help alarm, 14-intelligent traffic alarm, 15- line crossing detection, 16- intrusion detection, 17-audio exception, 18-scene change, 19-intelligent detection, 20-face, 21-semaphore, 22-pass back, 23- moving-back, 24-tampering, 25- POS recording, 26-region entering, 27-region exiting 28-loitering, 29-people gathering, 30-rapid moving, 31-parking, 32-unattended baggage, 33-Object removing, 34-fire source detection, 36- ship detection, 37- temperature measurement early warning, 38- temperature measurement alarm, 39- fighting alarm, 40- getting up alarm, 41- drowsy detection, 42- temperature difference alarm, 44- arming region alarm, 45- emergency, 46- service inquiry
  • with card number: 0xff- all, 0- scheduled recording, 1- motion detection, 2- alarm recording, 3- motion detection | alarm, 4- motion detection & alarm, 5-command trigger, 6- manual recording, 7- intelligent recording, 10-PIR alarm, 11-wireless alarm, 12-calling for help alarm, 13-PIR|wireless|calling for help alarm, 14-intelligent traffic alarm, 15- line crossing detection, 16- intrusion detection, 17-audio exception, 18-scene change, 19-intelligent detection, 20-face, 21-semaphore, 22-pass back, 23- moving-back, 24-tampering, 25- POS recording, 26-region entering, 27-region exiting 28-loitering, 29-people gathering, 30-rapid moving, 31-parking, 32-unattended baggage, 33-Object removing, 34-fire source detection, 36- ship detection, 37- temperature measurement early warning, 38- temperature measurement alarm, 39- fighting alarm, 40- getting up alarm, 41- drowsy detection, 42- temperature difference alarm, 44- arming region alarm, 45- emergency, 46- service inquiry
    • dwIsLocked
    Whether the file is locked: 0- no, 1- yes. 0xff means all files(locked and unlocked)
    dwUseCardNo
    Use card number or not: 0- no, 1- yes
    sCardNumber
    Card number
    struStartTime
    Starting time
    struStopTime
    Stopping time
    byDrawFrame
    Whether extract frame or not: 0- no, 1- yes
    byFindType
    0- Query normal volume, 1- Query archive volume (used for CVR, normal volume is used for camera recording, and the archive volume is used for backup), 2- Query for N+1 video file
    byQuickSearch
    0- Normal query, 1- Quick query, the video information for quick query is less than normal query（such as no file name, file type, etc.,）
    bySpecialFindInfoType
    Specified query type: 0- Invalid, 1- with ATM information
    dwVolumeNum
    Archive volume No., used for CVR
    byWorkingDeviceGUID
    Working device GUID, can be get via getting the N+1 device information（NET_DVR_WORKING_DEVICE_INFO）, valid when byFindType is 2.
    uSpecialFindInfo
    Specified query condition union
    byStreamType
    Stream type: 0- Main stream, 1- Sub stream, 2- Third stream, 0xff-All
    byAudioFile
    Search for audio file: 0- Not search, 1- Search for audio file, Only search for audio file if the audio file query function is enabled.
    byRes
    Reserved

    See Also

    NET_DVR_FindFile_V40


NET_DVR_FILM_MODE_CFG

Movie mode configuration structure

struct{
  DWORD    dwSize;
  BYTE     byScreenType;
  BYTE     byRes[255];
 }NET_DVR_FILM_MODE_CFG,*LPNET_DVR_FILM_MODE_CFG;

Members

dwSize
Structure size
byScreenType
Movie type: 0- single image, 1- double image, 2- picture-in-picture
byRes
Reserved, set as 0

Remarks

  • Whether the device supports movie mode configuration capability or the supported parameter, can be determined through device capability set (FilmModeCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_FILM_MODE_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_FILTER

Structure of ATM packet filter configuration.

struct{
  BYTE    byEnable;
  BYTE    byMode;
  BYTE    byFrameBeginPos;
  BYTE    byRes[1];
  BYTE    byFilterText[16];
  BYTE    byRes2[12];
}NET_DVR_FILTER, *LPNET_DVR_FILTER;

Members

byEnable
Whether to enable filter: 0- no, 1-yes
byMode
Mode to filter characters: 0- ASCII, 1- HEX
byFrameBeginPos
Beginning position of characters to be filtered
byRes
Reserved
byFilterText
Text to be filtered
byRes2
Reserved


NET_DVR_FIND_DATA

Structure of record file information.

struct{
  char             sFileName[100];
  NET_DVR_TIME     struStartTime;
  NET_DVR_TIME     struStopTime;
  DWORD            dwFileSize;
}NET_DVR_FIND_DATA,*LPNET_DVR_FIND_DATA;

Members

sFileName
File name
struStartTime
Start time
struStopTime
End time
dwFileSize
Size of file

See Also

NET_DVR_TIME


NET_DVR_FIND_LABEL

Structure of record label searching.

struct{
  DWORD            dwSize;
  LONG             lChannel;
  NET_DVR_TIME     struStartTime;
  NET_DVR_TIME     struStopTime;
  BYTE             sLabelName[LABEL_NAME_LEN];
  BYTE             byDrawFrame;
  BYTE             byRes[39];
}NET_DVR_FIND_LABEL,*LPNET_DVR_FIND_LABEL;

Members

dwSize
Structure size
lChannel
Searching channel
struStartTime
Start time
struStopTime
End time
sLabelName
Record label name. If the name is NULL, it will search all labels in the set period.
byRes
Whether extract frame or not: 0- no, 1- yes
byRes
Reserved

See Also

NET_DVR_FindRecordLabel


NET_DVR_FIND_PICTURE

Structure of picture searching information.

struct{
  char             sFileName[PICTURE_NAME];
  NET_DVR_TIME     struTime;
  DWORD            dwFileSize;
  char             sCardNum[32];
  BYTE             byPlateColor;
  BYTE             byVehicleLogo;
  BYTE             byRes[32];
}NET_DVR_FIND_PICTURE,*LPNET_DVR_FIND_PICTURE;

Members

sFileName
Picture name
struTime
The capturing time of the picture
dwFileSize
Picture size
sCardNum
Card number
\
byPlateColor
The color of the licence plate (only for intelligent traffic device)
enum _VCA_PLATE_COLOR_{
  VCA_BLUE_PLATE  = 0,
  VCA_YELLOW_PLATE,
  VCA_WHITE_PLATE,
  VCA_BLACK_PLATE,
  VCA_GREEN_PLATE,
  VCA_BKAIR_PLATE,
  VCA_OTHER = 0xff
}VCA_PLATE_COLOR
VCA_BLUE_PLATE
Blue plate
VCA_YELLOW_PLATE
Yellow plate
VCA_WHITE_PLATE
White plate
VCA_BLACK_PLATE
Black plate
VCA_GREEN_PLATE
Green plate
VCA_BKAIR_PLATE
Civil aviation black plate
VCA_OTHER = 0xff
Others
byVehicleLogo
The automobile brands(only for intelligent traffic device), for detailes, see VLR_VEHICLE_CLASS
byRes
Reserved

See Also

NET_DVR_FindNextPicture


NET_DVR_FIND_PICTURE_PARAM

Structure of picture information.

struct{
  DWORD            dwSize;
  LONG             lChannel;
  BYTE             byFileType;
  BYTE             byNeedCard;
  BYTE             byRes1[2];
  BYTE             sCardNum[CARDNUM_LEN_V30];
  NET_DVR_TIME        struStartTime;
  NET_DVR_TIME        struStopTime;
  DWORD            dwTrafficType;
  DWORD            dwVehicleType;
  DWORD            dwIllegalType;
  BYTE             byLaneNo;
  BYTE             bySubHvtType;
  BYTE             byRes2[2];
  char             sLicense[MAX_LICENSE_LEN];
  BYTE             byRegion;
  BYTE             byCountry;
  BYTE             byRes3[6];
}NET_DVR_FIND_PICTURE_PARAM,*LPNET_DVR_FIND_PICTURE_PARAM;

Members

dwSize
Structure size
lChannel
Channel number
byFileType
File type:0- Timing Capture,1-Moving Detection Capture,2- Alarm Capture,3- Alarm Moving Detection Capture,4- Alarm&move Detection Capture,6- Manual Capture,9- Intelligent Picture,10- PIRalarm,11- Wireless Alarm,12- Emergency Alarm,0xa- Capture When Previewing,0xd- Face Detection,0xe- Traversing Virtual Plane Detection,0xf- Intrusion Region Detection,0x10- Scene Change Detection,0x11- Capture when local playback,0x12- Intelligent Detection,0x13- entering region Detection,0x14- Leaving Region Detection,0x15- Loitering Detection,0x16- crown density Detection,0x17- Fast Moving Detection,0x18- Parking Detection,0x19- Unattended Baggage Detection,0x1a- Object Removal Detection,0x1b- License Plate Detection,0x1c- Mixed-traffic Verification,0x1d- Enforcement Incident,0x1e- Fire Point verification, 0x20-Ship detection, 0x21- temperature measurement early warning, 0x22- temperature measurement alarm, 0x23 Temperature difference alarm, 0x24- violation detection, 0x25- face capture, 0xff- All Types.
byNeedCard
Whether it requires card number or not: 0- no, 1- yes
byRes1
Reserved
sCardNum
Card number
struStartTime
Starting time of picture searching
struStopTime
End time of picture searching
dwTrafficType
Picture Query (Only for intelligent traffic device)
enum _VCA_OPERATE_TYPE_{
  VCA_LICENSE_TYPE       = 0x1,
  VCA_PLATECOLOR_TYPE    = 0x2,
  VCA_CARDNO_TYPE        = 0x4,
  VCA_PLATETYPE_TYPE     = 0x8,
  VCA_LISTTYPE_TYPE      = 0x10,
  VCA_INDEX_TYPE         = 0x20,
  VCA_OPERATE_INDEX_TYPE = 0x40
}VCA_OPERATE_TYPE
VCA_LICENSE_TYPE
Licence plate No.
VCA_PLATECOLOR_TYPE
Plate color
VCA_CARDNO_TYPE
Card No.
VCA_PLATETYPE_TYPE
Plate type
VCA_LISTTYPE_TYPE
Vehicle list type
VCA_INDEX_TYPE
Data serial No.
VCA_OPERATE_INDEX_TYPE
Operation No.
dwVehicleType
Vehicle Type(Only for intelligent traffic device)
enum _VCA_VEHICLE_TYPE_{
  VCA_OTHER_TYPE          = 0x1,
  VCA_SMALLCAR_TYPE       = 0x2,
  VCA_BIGCAR_TYPE         = 0x4,
  VCA_BUS_TYPE            = 0x8,
  VCA_TRUCK_TYPE          = 0x10,
  VCA_CAR_TYPE            = 0x20,
  VCA_MINIBUS_TYPE        = 0x40,
  VCA_SMALL_TRUCK_TYPE    = 0x80
}VCA_VEHICLE_TYPE
VCA_OTHER_TYPE
Other
VCA_SMALLCAR_TYPE
Small vehicle
VCA_BIGCAR_TYPE
Large vehicle
VCA_BUS_TYPE
Coach
VCA_TRUCK_TYPE
Track
VCA_CAR_TYPE
Van
VCA_MINIBUS_TYPE
Minibus
VCA_SMALL_TRUCK_TYPE
Mini Track
dwIllegalType
Violation detection type(only for intelligent traffic device)
enum _VCA_ILLEGAL_TYPE_{
  VCA_POSTPIC_TYPE               = 0x1,
  VCA_LOWSPEED_TYPE              = 0x2,
  VCA_HIGHSPEED_TYPE             = 0x4,
  VCA_RETROGRADE_TYPE            = 0x8,
  VCA_RUSH_REDLIGHT_TYPE         = 0x10,
  VCA_PRESS_LANE_TYPE            = 0x20,
  VCA_VIOLATE_GUIDE_TYPE         = 0x40,
  VCA_ROAD_STRAND_TYPE           = 0x80,
  VCA_VEHICLE_ILLEGAL_LANE_TYPE  = 0x100,
  VCA_ILLEGAL_LANE_CHANGE_TYPE   = 0x200,
  VCA_ILLEGAL_LANE_DRIVE_TYPE    = 0x400,
  VCA_VIOLATE_BAN_TYPE           = 0x800,
  VCA_CROSS_PARKING_TYPE         = 0x1000,
  VCA_GREEN_PARKING_TYPE         = 0x2000
}VCA_ILLEGAL_TYPE
VCA_POSTPIC_TYPE
Checkpoint picture
VCA_LOWSPEED_TYPE
Low speed
VCA_HIGHSPEED_TYPE
Over drive
VCA_RETROGRADE_TYPE
Drive in the wrong way
VCA_RUSH_REDLIGHT_TYPE
Run the red light
VCA_PRESS_LANE_TYPE
Roll on the lane line
VCA_VIOLATE_GUIDE_TYPE
Against the guide
VCA_ROAD_STRAND_TYPE
Be detain on the intersection (do not supported)
VCA_VEHICLE_ILLEGAL_LANE_TYPE
Motor vehicle occupy the bicycle lane
VCA_ILLEGAL_LANE_CHANGE_TYPE
Illegal lane changing
VCA_ILLEGAL_LANE_DRIVE_TYPE
Do not follow the lane
VCA_VIOLATE_BAN_TYPE
Illegal prohibition
VCA_CROSS_PARKING_TYPE
Park on the intersection
VCA_GREEN_PARKING_TYPE
Stop under green light
byLaneNo
Lane No.(only for intelligent traffic device), range[1~99]
bySubHvtType
Mixed vehicle detection query sub-type:0- all, 1- Motor vehicle, 2-Bicycle, 3- Pedestrian
byRes2
Reserved, set as 0.
sLicense
Licence plate No. (valid when byFileType is for licence plate detection)
byRegion
Region index: 0- Reserved, 1- Europe Region，2- Russian Region，3- Europe and Russian (EU&CIS)，0xff- All
byCountry
Country index, for details, seeCOUNTRY_INDEX
byRes3
Reserved,set as 0.

See Also

NET_DVR_FindPicture


NET_DVR_FIND_PICTURE_V40

Picture search result information structure.

struct{
  char                            sFileName[PICTURE_NAME_LEN];
  NET_DVR_TIME                    struTime;
  DWORD                           dwFileSize;
  char                            sCardNum[CARDNUM_LEN_V30];
  BYTE                            byPlateColor;
  BYTE                            byVehicleLogo;
  BYTE                            byFileType;
  BYTE                            byRecogResult ;
  char                            sLicense[MAX_LICENSE_LEN];
  BYTE                            byEventSearchStatus;
  BYTE                            byRes[75];
  NET_DVR_PIC_EXTRA_INFO_UNION    uPicExtraInfo;
}NET_DVR_FIND_PICTURE_V40,*LPNET_DVR_FIND_PICTURE_V40;

Members

sFileName
Picture name
struTime
Picture time
dwFileSize
Picture size
sCardNum
Card number
byPlateColor
License plate color (supported only by intelligent traffic device), see detailed definition as follows:
enum _VCA_PLATE_COLOR_{
  VCA_BLUE_PLATE  = 0,
  VCA_YELLOW_PLATE,
  VCA_WHITE_PLATE,
  VCA_BLACK_PLATE,
  VCA_GREEN_PLATE,
  VCA_BKAIR_PLATE,
  VCA_OTHER = 0xff
}VCA_PLATE_COLOR
VCA_BLUE_PLATE
Blue license plate
VCA_YELLOW_PLATE
Yellow license plate
VCA_WHITE_PLATE
White license plate
VCA_BLACK_PLATE
Black license plate
VCA_GREEN_PLATE
Green license plate
VCA_BKAIR_PLATE
Aiviation black license plate
VCA_OTHER = 0xff
Other
byVehicleLogo
Vehicle logo (supported only by intelligent trafic device), see detailed definition in VLR_VEHICLE_CLASS
byFileType
File type:0- Timing Capture,1-Moving Detection Capture,2- Alarm Capture,3- Alarm Moving Detection Capture,4- Alarm&move Detection Capture,6- Manual Capture,9- Intelligent Picture,10- PIRalarm,11- Wireless Alarm,12- Emergency Alarm,0xa- Capture When Previewing,0xd- Face Detection,0xe- Traversing Virtual Plane Detection,0xf- Intrusion Region Detection,0x10- Scene Change Detection,0x11- Capture when local playback,0x12- Intelligent Detection,0x13- entering region Detection,0x14- Leaving Region Detection,0x15- Loitering Detection,0x16- crown density Detection,0x17- Fast Moving Detection,0x18- Parking Detection,0x19- Unattended Baggage Detection,0x1a- Object Removal Detection,0x1b- License Plate Detection,0x1c- Mixed-traffic Verification,0x1d- Enforcement Incident,0x1e- Fire Point verification, 0x20-Ship detection, 0x21- temperature measurement early warning, 0x22- temperature measurement alarm, 0x23 Temperature difference alarm, 0x24- violation detection, 0x25- face capture, 0xff- All Types.
byRecogResult
License plate recognition result:0- Unknown,1- Bus,2- Truck,3- Car,4- Minivan,5- Light Truck,6- Pedestrain,7- Motorcycle,8- Tricycle,9- SUV/MPV,10- Middle-size Bus,11- Motor Vehicle,12- Non-motor Vehicle
sLicense
License plate number
byEventSearchStatus
Search status, when continuous pictures indicate the same search result,0- no following icture information,1-exist following picture information. Total picture information include the last picture with status 0.
byRes
Reserved
uPicExtraInfo
Picture attachment information(valid when file type is face detection)

See Also

NET_DVR_FindNextPicture_V40


NET_DVR_FINDDATA_V30

Structure of record file information.

struct{
  char             sFileName[100];
  NET_DVR_TIME     struStartTime;
  NET_DVR_TIME     struStopTime;
  DWORD            dwFileSize;
  char             sCardNum[32];
  BYTE             byLocked;
  BYTE             byFileType;
  BYTE             byRes[2];
}NET_DVR_FINDDATA_V30,*LPNET_DVR_FINDDATA_V30;

Members

sFileName
File name
struStartTime
Starting time of the file
struStopTime
End time of the file
dwFileSize
Size of the file
sCardNum
Card number
byLocked
Whether the file is locked or not: 0- unlocked, 1- locked
byFileType
File type: 0- scheduled record, 1- motion record, 2- alarm record, 3- motion|alarm, 4- motion & alarm, 5- command trigger, 6-manual record, 7- vibration alarm, 8- environmental alarm, 9- intelligent alarm, 10- PIR alarm, 11- wireless alarm, 12- calling for help alarm
byRes
Reserved, please set it to 0

See Also

NET_DVR_BACKUP_NAME_PARAM

NET_DVR_FindNextFile_V30


NET_DVR_FINDDATA_V40

Structure of record file information

struct{
  char             sFileName[100];
  NET_DVR_TIME     struStartTime;
  NET_DVR_TIME     struStopTime;
  DWORD            dwFileSize;
  char             sCardNum[32];
  BYTE             byLocked;
  BYTE             byFileType;
  BYTE             byQuickSearch;
  BYTE             byRes;
  DWORD            dwFileIndex;
  BYTE             byStreamType;
  BYTE             byRes1[127];
}NET_DVR_FINDDATA_V40,*LPNET_DVR_FINDDATA_V40;

Members

sFileName
File name, invalid when doing calendar query
struStartTime
File starting time
struStopTime
File ending time
dwFileSize
File size
sCardNum
Card No.
byLocked
Whether the file is locked or not: 0- unlocked, 1- locked
byFileType
File Type
0xff- all, 0- scheduled recording, 1- motion detection, 2- alarm recording, 3- motion detection | alarm, 4- motion detection & alarm, 5-command trigger, 6- manual recording, 7- intelligent recording, 10-PIR alarm, 11-wireless alarm, 12-calling for help alarm, 13-PIR|wireless|calling for help alarm, 14-intelligent traffic alarm, 15- line crossing detection, 16- intrusion detection, 17-audio exception, 18-scene change, 19-intelligent detection, 20-face, 21-semaphore, 22-pass back, 23- moving-back, 24-tampering,26-region entering, 27-region exiting, 28-loitering, 29-people gathering, 30-rapid moving, 31-parking, 32-unattended baggage, 33-Object removing, 34- fire source detection, 36- ship detection, 37- temperature measurement pre-alarm, 38- temperature measurement alarm, 42- temperature difference alarm, 44- arming region alarm, 45- emergency, 46- service inquiry
byQuickSearch
0- Normal query result, 1- Quick query result
byRes
Reserved
dwFileIndex
File index
byStreamType
Stream type： 0- Main stream, 1- Sub stream, 2- Third stream, 0xff- All
byRes
Reserved

Remarks

VCA:Line crossing|Intrusion|Region entering|Region Exiting|Face detection

See Also

NET_DVR_FindNextFile_V40


NET_DVR_FINDLABEL_DATA

Structure of label information.

struct{
  BYTE                    sLabelName[LABEL_NAME_LEN];
  NET_DVR_TIME            struTimeLabel;
  NET_DVR_LABEL_IDENTIFY  struLabelIdentify;
  BYTE                    byRes1[32];
}NET_DVR_FINDLABEL_DATA,*LPNET_DVR_FINDLABEL_DATA;

Members

sLabelName
Label name
struTimeLabel
Label time
struLabelIdentify
Label identify
byRes
Reserved, please set to 0

See Also

NET_DVR_FindNextLabel


NET_DVR_FINGER_PRINT_BYCARD

Structure for delelting fingerprint by card number

struct{
  BYTE    byCardNo[ACS_CARD_NO_LEN];
  BYTE    byEnableCardReader[MAX_CARD_READER_NUM_512];
  BYTE    byFingerPrintID[MAX_FINGER_PRINT_NUM];
  BYTE    byRes1[34];
}NET_DVR_FINGER_PRINT_BYCARD, *LPNET_DVR_FINGER_PRINT_BYCARD;

Members

byCardNo
Card number linked with fingerprint
byEnableCardReader
Fingerprint card reader is valid or not: 0- invalid, 1- valid
byFingerPrintID
Fingerprint to be controlled, array subscript stands for fingerprint number, the value: 0- not delete, 1- delete
byRes1
Reserved

See Also

NET_DVR_DEL_FINGER_PRINT_MODE


NET_DVR_FINGER_PRINT_BYREADER

Structure for deleting fingerprint by card reader

struct{
  DWORD    dwCardReaderNo;
  BYTE     byClearAllCard;
  BYTE     byRes1[3];
  BYTE     byCardNo[ACS_CARD_NO_LEN];
  BYTE     byRes[100];
}NET_DVR_FINGER_PRINT_BYREADER, *LPNET_DVR_FINGER_PRINT_BYREADER;

Members

dwCardReaderNo
Card reader number
byClearAllCard
Whether to delete fingerprints of all cards: 0- delete finigerprint by card number, 1- delete fingerprints of all cards
byRes1
Reserved, please set to 0
byCardNo
Card number linked with fingerprint, it is valid when the value of byClearAllCard is 0
byRes
Reserved, please set to 0

See Also

NET_DVR_DEL_FINGER_PRINT_MODE


NET_DVR_FINGER_PRINT_CFG

Structure for fingerprint parameter settings

struct{
  DWORD    dwSize;
  BYTE     byCardNo[ACS_CARD_NO_LEN];
  DWORD    dwFingerPrintLen;
  BYTE     byEnableCardReader[MAX_CARD_READER_NUM_512];
  BYTE     byFingerPrintID;
  BYTE     byFingerType;
  BYTE     byRes1[30];
  BYTE     byFingerData[MAX_FINGER_PRINT_LEN];
  BYTE     byRes[64];
}NET_DVR_FINGER_PRINT_CFG, *LPNET_DVR_FINGER_PRINT_CFG;

Members

dwSize
Structure size
byCardNo
Card number linked with fingerprint
dwFingerPrintLen
Size of fingerprint data
byEnableCardReader
Card reader that need be with fingerprints, array subscript stands for card reader number, the value: 0- no, 1- yes
byFingerPrintID
Fingerprint number, valid value range: 1 ~ 10
byFingerType
Fingerprpint type: 0- normal fingerprint, 1- duress fingerprint
byRes1
Reserved, please set to 0
byFingerData
Content of fingerprint data
byRes
Reserved, please set to 0

Remarks

  • It is the capability set that decides whether the device supports setting fingerprint parameters. Corresponding capability set of access controller is AcsAbility, the related interface is NET_DVR_GetDeviceAbility, the capability set type is ACS_ABILITY, and the node is <FingerPrint>.

    • See Also

    NET_DVR_StartRemoteConfig NET_DVR_SendRemoteConfig


NET_DVR_FINGER_PRINT_INFO_COND

Fingerprint settings condition structure

struct{
  DWORD    dwSize;
  BYTE     byCardNo[ACS_CARD_NO_LEN];
  BYTE     byEnableCardReader[MAX_CARD_READER_NUM_512];
  DWORD    dwFingerPrintNum;
  BYTE     byFingerPrintID;
  BYTE     byCallbackMode;
  BYTE     byRes1[27];
}NET_DVR_FINGER_PRINT_INFO_COND, *LPNET_DVR_FINGER_PRINT_INFO_COND;

Members

dwSize
Structure size
byCardNo
Fingerprint related card No.
byEnableCardReader
If the card reader is valid? The array index indicates card reader No., array value: 0- invalid, 1-valid.
dwFingerPrintNum
Fingerprint number, 0xffffffff indicated to get all fingerprint information
byFingerPrintID
Fingerprint No., the valid range is 1 to 10, 0xff indicates all fingerprints for that card.
byCallbackMode
Device callback mode: 0- Finished all, 1- Finished parts
byRes1
Reserved

Remarks

  • Check if the device has the capability to enable card password to open the door via the device capability, the corresponded access controller capability(AcsAbility), API:NET_DVR_GetDeviceAbility, capability type:ACS_ABILITY, node:<FingerPrint>.

    • See Also

    NET_DVR_StartRemoteConfig


NET_DVR_FINGER_PRINT_INFO_CTRL

Structure for fingerprint deletion and control parameter

struct{
  DWORD                            dwSize;
  BYTE                             byMode;
  BYTE                             byRes1[3];
  NET_DVR_DEL_FINGER_PRINT_MODE    struProcessMode;
  BYTE                             byRes[64];
}NET_DVR_FINGER_PRINT_INFO_CTRL, *LPNET_DVR_FINGER_PRINT_INFO_CTRL;

Members

dwSize
Structure size
byMode
Deletion mode: 0- delelte by card number, 1- delete by card reader
byRes1
Reserved, please set to 0
struProcessMode
Handling mode
byRes
Reserved, please set to 0

Remarks

  • It is the capability set that decides whether the devide supports setting fingerprint parameters. Corresponding capability set of access controller is AcsAbility, the related interface is NET_DVR_GetDeviceAbility, the capability set type is ACS_ABILITY, and the node is <FingerPrint>.

    • See Also

    NET_DVR_RemoteControl


NET_DVR_FINGER_PRINT_STATUS

Fingerprint status parameters structure

struct{
  DWORD    dwSize;
  BYTE     byCardNo[ACS_CARD_NO_LEN];
  BYTE     byCardReaderRecvStatus[MAX_CARD_READER_NUM_512];
  BYTE     byFingerPrintID;
  BYTE     byFingerType;
  BYTE     byTotalStatus;
  BYTE     byRes[62];
}NET_DVR_FINGER_PRINT_STATUS, *LPNET_DVR_FINGER_PRINT_STATUS;

Members

dwSize
Structure size
byCardNo
Fingerprint corresponded card No.
byCardReaderRecvStatus
Fingerprint card reader status, the array index indicates the card reader No., array value: 0-Invalid, 1- Valid
byFingerPrintID
Fingerprint No., the valid range is 1 to 10
byFingerType
Fingerprint type: 0- Normal, 1- Duress fingerprint
byTotalStatus
Total status: 0- The fingerprints have not been issued by all card reader，1- The fingerprints have been issued by all card reader
byRes
Reserved

Remarks

  • Check if the device has the capability to enable card password to open the door via the device capability, the corresponded access controller capability(AcsAbility), APINET_DVR_GetDeviceAbility, Capability type:ACS_ABILITY, node:<FingerPrint>.

    • See Also

    NET_DVR_StartRemoteConfig


NET_DVR_FIRE_ALARM

Structure of fire alarm information.

struct{
  DWORD               dwSize;
  NET_DVR_TIME_V30    struAlarmTime;
  BYTE                byRes[128];
}NET_DVR_FIRE_ALARM,*LPNET_DVR_FIRE_ALARM;

Members

dwSize
Structure Size
struAlarmTime
Alarm Time
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_FIREDETECTION_ALARM

Fire source detection alarm information structure

struct{
  DWORD               dwSize;
  DWORD               dwRelativeTime;
  DWORD               dwAbsTime;
  NET_VCA_DEV_INFO    struDevInfo;
  WORD                wPanPos;
  WORD                wTiltPos;
  WORD                wZoomPos;
  BYTE                byRes1[2];
  DWORD               dwPicDataLen;
  BYTE                *pBuffer;
  NET_VCA_RECT        struRect;
  NET_VCA_POINT       struPoint;
  WORD                wFireMaxTemperature;
  WORD                wTargetDistance;
  BYTE                byStrategyType;
  BYTE                byAlarmSubType;
  BYTE                byPTZPosExEnable;
  BYTE                byRes2 ;
  NET_PTZ_INFO        struPtzPosEx;
  DWORD               dwVisiblePicLen;
  BYTE                *pVisiblePicBuf;
  BYTE                *pSmokeBuf;
  BYTE                byRes[60];
}NET_DVR_FIREDETECTION_ALARM, *LPNET_DVR_FIREDETECTION_ALARM;

Members

dwSize
Structure size
dwRelativeTime
The relative time
dwAbsTime
The absolute time
struDevInfo
Front-end device information
wPanPos
P parameters (horizontal parameters, actual value*100)
wTiltPos
T Parameters (vertical parameters, (actual value+360)*100)
wZoomPos
Z Parameters (Zoom parameters, actual value*100)
byRes1
Reserved
dwPicDataLen
Alarm capture thermal image data length
pBuffer
Thermal image data pointer, save alarm capture image data in the buffer
struRect
Fire source area
struPoint
Fire source highest temperature coordinate in the fire source area
wFireMaxTemperature
Fire source highest temperature，value range：[300,4000], unit：℃
wTargetDistance
Fire source target distance, value range:[100,10000]，Unit：m
byStrategyType
Strategy type: 0- fire or smoke detection, 1- fire and smoke detection, 2- double confirm, 3- specified fire source, 4- specified smoke
byAlarmSubType
Alarm sub type: 0- fire source detection alarm, 1- smoke detection alarm, 2- fire and smoke detection
byPTZPosExEnable
Whether to enable PTZ coordinate extension: 0- no, PTZ coordinates subject to wPanPos, wTiltPos and wZoomPos, 1- yes, PTZ coordinates subject to struPtzPosEx.
byRes2
Reserved
struPtzPosEx
PTZ coordinate extension (support highly accurate PTZ value, accurate to 3 decimal places)
dwVisiblePicLen
Length of visible light picture
pVisiblePicBuf
Pointer to visible light picture data
pSmokeBuf
Pointer to smoke detection alarm data, pointing to structure NET_DVR_SMOKEDETECTION_ALARM. Valid when byAlarmSubType alarm sub type is 1 (smoke detection alarm), 2 (fire and smoke detection alarm).
byRes
Reserved

Remarks

  • The year/month/day/hour/minute/second arithmetic analyzed from the absolute time(dwAbsTime) are shown below.
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)
  • Check whether to support the capability of fire source detection via the device capability(ThermalCap), API:NET_DVR_GetSTDAbility, capability set: NET_DVR_GET_THERMAL_CAPABILITIES, node: <isSupportFireDetection>.

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_FIREDetection_CFG

Fire point Detection parameter configure structure.

struct{
  DWORD    dwSize;
  BYTE     byEnabled;
  BYTE     bySensitivity;
  BYTE     byFireComfirmTime;
  BYTE     byFireRegionOverlay;
  BYTE     byDetectionMode;
  BYTE     byFireFocusMode;
  BYTE     byFireZoomMode;
  BYTE     byFirezoomLevel;
  BYTE     bySmokeFireEnabled;
  BYTE     byRes[47];
  NET_DVR_ALARMSTRATEGY_PARAM    struAlarmStrategy;
  NET_DVR_SMOKEDETECTION_CFG     struSmokeCfg;
}NET_DVR_FIREDETECTION_CFG, *LPNET_DVR_FIREDETECTION_CFG;

Members

dwSize
Structure size
byEnabled
Enable dynamic fire point searching function:0- No,1- Yes
bySensitivity
Sensitivity verification,range:1~100
byFireComfirmTime
Fire confirming time, range:0~120,unit: second,default:5s
byFireRegionOverlay
Stream overlay fire point frame: 0- No,1- Yes
byDetectionMode
Fire point detection mode: 0- multiple frame, 1- single frame
byFireFocusMode
Fire point focus mode: 0- auto, 1- patrol
byFireZoomMode
Fire point optical zoom mode: 0- auto, 1- manual
byFirezoomLevel
Fire point optical zoom ratio: 1 to 100, valid in manual optical zoom mode
bySmokeFireEnabled
Fire & smoke detection enable: 0- no, 1- yes
byRes
Reserved
struAlarmStrategy
Alarm strategy
struSmokeCfg
Smoke detection

Remarks

  • Judge through device capability set whether device support fire point Detection configuration capability, corresponding fire point Detection configure capability set(FireDetection), related interface:NET_DVR_GetSTDAbility,Capability set type:NET_DVR_GET_FIREDetection_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_FIRMWARE_VERSION_IFNO

Firmware version information structure

struct{
  DWORD    dwSize;
  char     szFirmwareVersion[LEN_PROPERTY];
  BYTE     byRes2[128];
}NET_DVR_FIRMWARE_VERSION_IFNO, *LPNET_DVR_FIRMWARE_VERSION_IFNO;

Members

dwSize
Structure size
szFirmwareVersion
Firmware version properties, read-only
byRes2
Reserved, set as 0

Remarks

  • Whether device supports getting firmware version capability, can be determined through device software and hardware capability set(DeviceCap), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_SYSTEM_CAPABILITIES, node: <isSupportFirmwareVersionInfo>.

See Also

NET_DVR_GetSTDConfig


NET_DVR_FISHEYE_STREAM_STATUS

Structure of fish eye stream data info

struct{
  DOWRD   dwSize;
  BYTE    byStreamMode;
  BYTE    byRes[63];
}NET_DVR_FISHEYE_STREAM_STATUS,*LPNET_DVR_FISHEYE_STREAM_STATUS;

Members

dwSize
Structure size
byStreamMode
Stream mode, the detailed definition listed below:
enum _FISHEYE_STREAM_OUTPUT_MODE_{
  FISHEYE_STREAM_MODE_FISHEYE   = 1,
  FISHEYE_STREAM_MODE_PTZ       = 2,
  FISHEYE_STREAM_MODE_PANORAMA  = 3
}FISHEYE_STREAM_OUTPUT_MODE
FISHEYE_STREAM_MODE_FISHEYE
Fish eye mode
FISHEYE_STREAM_MODE_PTZ
PTZ mode
FISHEYE_STREAM_MODE_PANORAMA
Panorama mode
byRes
Reserved, set it to 0

Remarks

The stream mode of fish eye channel can be configured only.Generally speaking, it has 5 channels: one fish eye channel, one panorama channel and three PTZ channel.The mode of the fifth channel will switch from PTZ mode to fisheye mode when there is mobile device login(such as the mobile client ). Judge whether there is mobile device login, please call NET_DVR_REMOTECONTROL_DEV_PARAM（cooresponding API: NET_DVR_RemoteControl）to notify the fisheye device.

See Also

NET_DVR_GetDeviceStatus

NET_DVR_CALLBACK_TYPE_DATA


NET_DVR_FLASH_OUTCFG

Parameter structure of IO flashlight output

struct{
  DWORD      dwSize;
  BYTE       byMode;
  BYTE       byRelatedIoIn;
  BYTE       byRecognizedLane;
  BYTE       byDetectBrightness;
  BYTE       byBrightnessThreld;
  BYTE       byStartHour;
  BYTE       byStartMinute;
  BYTE       byEndHour;
  BYTE       byEndMinute;
  BYTE       byFlashLightEnable;
  BYTE       byRes[2];
}NET_DVR_FLASH_OUTCFG, *LPNET_DVR_FLASH_OUTCFG;

Members

dwSize
Structure size
byMode
flash mode: 0- no flash, 1- flash, 2- associated flash, 3- flash in turn
byRelatedIoIn
the related IO port(only used in associated flash mode)
byRecognizedLane
the related IO ports,described by bit,bit0 means whether IO1 is related port,0- no,1-yes
byDetectBrightness
whether to enable the flashlight by detecting the brightness.0-no;1-yes
byBrightnessThreld
the brightness threshold to enable flashlight.rang [0,100]
byStartHour
Start time,unit:hour,range [0,23]
byStartMinute
Start time,unit:minutes,range [0,59]
byEndHour
End time,unit:hour,range [0,23]
byEndMinute
End time,unit:minutes,range [0,59]
byFlashLightEnable
whether to enable flashlight time:0-no,1-yes
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_FLASHSTORAGE_REMOVE

Passenger data clearing operation structure。

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byPDCRemoveEnable;
  BYTE     byRes[127];
}NET_DVR_FLASHSTORAGE_REMOVE,*LPNET_DVR_FLASHSTORAGE_REMOVE;

Members

dwSize
Structure size
dwChannel
Channel No.
byPDCRemoveEnable
Enable to clean the passenger data? 0- No, 1- Yes
byRes
Reserved, set as 0.

Remarks

  • Check whether to support this function via the device caoability，the corresponded VCA channel analysis capability is(VcaChanAbility)，APINET_DVR_GetDeviceAbility，capability type: DEVICE_ABILITY_INFO，node：<PDC> sub-node<isSupportFlashRemoveCouting>。

See Also

NET_DVR_STDControl&


NET_DVR_FLOW_INFO

Structure of network flow testing result.

struct{
  DWORD     dwSize;
  DWORD     dwSendFlowSize;
  DWORD     dwRecvFlowSize;
  BYTE      byRes[16];
}NET_DVR_FLOW_INFO,*LPNET_DVR_FLOW_INFO;

Members

dwSize
Structure size
dwSendFlowSize
Size of sending flow, unit: kbps
dwRecvFlowSize
Size of receiving flow, unit: kbps
byRes
Reserved

See Also

NET_DVR_StartNetworkFlowTest


NET_DVR_FLOW_TEST_PARAM

Structure of testing network flow.

struct{
  DWORD     dwSize;
  DWORD     lCardIndex;
  DWORD     dwTime;
  BYTE      byRes[8];
}NET_DVR_FLOW_TEST_PARAM,*LPNET_DVR_FLOW_TEST_PARAM;

Members

dwSize
Structure size
lCardIndex
NIC index: 0- NIC 0, 1- NIC 1, and so on. That highest bit is 1, means bonding NIC, and 0 means normal NIC
dwTime
Uploading time interval, unit: 100 ms
byRes
Reserved

See Also

NET_DVR_StartNetworkFlowTest


NET_DVR_FOCUSMODE_CFG

Focus mode configuration of speed dome

struct{
  DWORD    dwSize;
  BYTE     byFocusMode;
  BYTE     byAutoFocusMode;
  WORD     wMinFocusDistance;
  BYTE     byZoomSpeedLevel;
  BYTE     byFocusSpeedLevel;
  BYTE     byOpticalZoom;
  BYTE     byDigtitalZoom;
  BYTE     byRes[64];
}NET_DVR_FOCUSMODE_CFG, *LPNET_DVR_FOCUSMODE_CFG;

Members

dwSize
Structure size
byFocusMode
Focus mode: 0- auto, 1- manual, 2- semiautomatic
byAutoFocusMode
Auto focus mode: 0- close, 1- mode A, 2- mode B, 3- mode AB, 4- mode C
wMinFocusDistance
Minimum focusing distance, unit: CM, 0- auto, 0xffff- infinite
byZoomSpeedLevel
Zoom speed, value range: 1~3
byFocusSpeedLevel
Focus speed, value range: 1~3
byOpticalZoom
Optical zoom, value range: 0~255
byDigtitalZoom
Digital zoom, value range: 0~255
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_FRAME

Frame parameter structure

struct{
  BYTE    byFrameWide;
  BYTE    byRed;
  BYTE    byGreen;
  BYTE    byBlue;
  BYTE    byRes[256];
 }NET_DVR_FRAME,*LPNET_DVR_FRAME;

Members

byFrameWide
Frame width, value range: [0, 14], and can only be an even number
byRed
Frame color in RGB mode, R value
byGreen
Frame color in RGB mode, G value
byBlue
Frame color in RGB mode, B value
byRes
Reserved, set as 0

See Also

NET_DVR_FRAME_CFG


NET_DVR_FRAME_CFG

Image frame configuration structure

struct{
  DWORD            dwSize;
  NET_DVR_FRAME    struTopFrame;
  NET_DVR_FRAME    struBottomFrame;
  NET_DVR_FRAME    struLeftFrame;
  NET_DVR_FRAME    struRightFrame;
  BYTE             byFrameEnable;
  BYTE             byRes[256];
 }NET_DVR_FRAME_CFG,*LPNET_DVR_FRAME_CFG;

Members

dwSize
Structure size
struTopFrame
Top frame
struBottomFrame
Bottom frame
struLeftFrame
Left frame
struRightFrame
Right frame
byFrameEnable
Overlay frame: 0- no, 1- yes
byRes
Reserved, set as 0

Remarks

  • Whether device supports image frame configuration capability or supported parameter, can be determined through device capability set (FrameCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_FRAME_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_FRAME_COND

Image frame configuration condition structure

struct{
  DWORD    dwSize;
  DWORD    dwPicNo;
  BYTE     byRes[256];
 }NET_DVR_FRAME_COND,*LPNET_DVR_FRAME_COND;

Members

dwSize
Structure size
dwPicNo
Image No.
byRes
Reserved, set as 0

Remarks

  • Whether device supports image frame configuration capability or supported parameter, can be determined through device capability set (FrameCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_FRAME_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_FRAMEFORMAT

Structure of ATM transaction protocol.

struct{
  DWORD                     dwSize;
  char                      sATMIP[16];
  DWORD                     dwATMType;
  DWORD                     dwInputMode;
  DWORD                     dwFrameSignBeginPos;
  DWORD                     dwFrameSignLength;
  BYTE                      byFrameSignContent[12];
  DWORD                     dwCardLengthInfoBeginPos;
  DWORD                     dwCardLengthInfoLength;
  DWORD                     dwCardNumberInfoBeginPos;
  DWORD                     dwCardNumberInfoLength;
  DWORD                     dwBusinessTypeBeginPos;
  DWORD                     dwBusinessTypeLength;
  NET_DVR_FRAMETYPECODE     frameTypeCode[10];
}NET_DVR_FRAMEFORMAT,*LPNET_DVR_FRAMEFORMAT;

Members

dwSize
Structure size
sATMIP
ATM IP address
dwATMType
ATM type
Macro Definition | Value
NCR | 0
DIEBOLD | 1
WINCOR_NIXDORF | 2
SIEMENS | 3
OLIVETTI | 4
FUJITSU | 5
HITACHI | 6
SMI | 7
IBM | 8
BULL | 9
YiHua | 10
LiDe | 11
GDYT | 12
Mini_Banl | 13
GuangLi | 14
DongXin | 15
ChenTong | 16
NanTian | 17
XiaoXing | 18
GZYY | 19
QHTLT | 20
DRS918 | 21
KALATEL | 22
NCR_2 | 23
NXS | 24
dwInputMode
Input mode: 0- network monitor, 1- network receive, 2- directly input by serial port, 3- input ATM command by serial port
dwFrameSignBeginPos
Begining position of frame sign
dwFrameSignLength
Length of frame sign
byFrameSignContent
Content of frame sign
dwCardLengthInfoBeginPos
Begining position of card number's length message
dwCardLengthInfoLength
Length of card number's length message
dwCardNumberInfoBeginPos
Beginning position of card number message
dwCardNumberInfoLength
Length of card number message
dwBusinessTypeBeginPos
Begining position of transaction type
dwBusinessTypeLength
Length of transaction type
frameTypeCode
Code of transaction type

See Also

NET_DVR_ClientGetframeformat NET_DVR_FRAMETYPECODE


NET_DVR_FRAMETYPECODE

Type code of transaction type.

struct{
  BYTE    code[12];
}NET_DVR_FRAMETYPECODE;

Members

code
Type code


NET_DVR_FTP_SERVER_TEST_PARA

the structure of FTP server testing parameter

struct{
  DWORD                   dwSize;
  BYTE                    byEnableFTP;
  BYTE                    byProtocolType;
  WORD                    wFTPPort;
  union{
       BYTE               byRes[144];
       struct{
         BYTE             szDomain[MAX_DOMAIN_NAME];
         BYTE             byRes1[80];
       }struDomain;
       struct{
         NET_DVR_IPADDR   struIp;
       }struAddrIP;
  }unionServer;
  BYTE                    szUserName[NAME_LEN];
  BYTE                    szPassWORD[PASSWD_LEN];
  BYTE                    szTopCustomDir[MAX_CUSTOM_DIR];
  BYTE                    szSubCustomDir[MAX_CUSTOM_DIR];
  BYTE                    byDirLevel;
  BYTE                    byTopDirMode;
  BYTE                    bySubDirMode;
  BYTE                    byType;
  BYTE                    byEnableAnony;
  BYTE                    byAddresType;
  BYTE                    byRes2[198];
}NET_DVR_FTP_SERVER_TEST_PARA,*LPNET_DVR_FTP_SERVER_TEST_PARA;

Members

dwSize
the size of structure
byEnableFTP
Whether to start the ftp upload feature: 0- no,1- yes
byProtocolType
the type of protocol:0- FTP,1- SFTP
wFTPPort
FTP port number
unionServer, union of FTP address
byRes
the length of union is 144 bytes
szDomain
the address of server, domain name
byRes1
reserved, set to 0
struIp
the address of IPv4 or IPv6,144 bytes
szUserName
username
szPassWORD
password
szTopCustomDir
Customize first lever directory
szSubCustomDir
Customize second lever directory
byDirLevel
lever of directory: 0- Do not use the directory structure,stored directly in the root directory; 1- use first lever directory; 2- use second lever directory
byTopDirMode
first lever directory: 0x1- use device name, 0x2- use device number, 0x3- use IP address, 0x4- use monitor point, 0x5- use time(year&month),0x6- use time(year&month&day), 0x7- The type of violation，0x8- direction, 0x9- place, 0xa- channel name，0xb- channel number, 0xc-Lane number,0xff- custom
bySubDirMode
second lever directory: 0x1- use device name, 0x2- use device number, 0x3- use IP address, 0x4- use monitor point, 0x5- use time(year&month),0x6- use time(year&month&day), 0x7- The type of violation，0x8- direction, 0x9- place, 0xa- channel name，0xb- channel number, 0xc-Lane number,0xff- custom
byType
the type of FTP server:0- main sever，1- Standby Server
byDirLevel
Are anonymous enabled：0- no, 1- yes
byAddresType
Server address Type: 0- use IPV4 or IPV6，1- Use domain name
byRes2
reserved, set to 0

See Also

NET_DVR_SERVER_TEST_PARA


NET_DVR_FTP_TYPE

Structure of FTP type

struct{
  BYTE    byType;
  BYTE    byRes[3];
}NET_DVR_FTP_TYPE,*LPNET_DVR_FTP_TYPE;

Members

byType
0- preferred FTP, 1- alternate FTP
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig


NET_DVR_FTPCFG

Structure of FTP upload parameters.

struct{
  DWORD      dwSize;
  DWORD      dwEnableFTP;
  char       sFTPIP[16];
  DWORD      dwFTPPort;
  BYTE       sUserName[NAME_LEN];
  BYTE       sPassword[PASSWD_LEN];
  DWORD      dwDirLevel;
  WORD       wTopDirMode;
  WORD       wSubDirMode;
  BYTE       byPicArchivingInterval;
  BYTE       byRes[24];
}NET_DVR_FTPCFG, *LPNET_DVR_FTPCFG;

Members

dwSize
Structure size
dwEnableFTP
Whether to enable FTP: 0- no, 1- yes
sFTPIP
IP of FTP server
dwFTPPort
FTP port NO.
sUserName
User name
sPassword
Password
dwDirLevel
Directory structure: 0x0 - donnot use directory structure, and save to root directory; 0x1 - use directory of level 1; 0x2 - use directory of level 2
wTopDirMode
Directory of level 1: 0x1 - use device name, 0x2 - use channel number, 0x3 - use IP of device, 0x4 - use monitoring point, 0x5 - use date ( month and year)
wTopSubMode
Directory of level 2: 0x1 - use device name, 0x2 - use channel number, 0x3 - use date ( month and year), 0x4 - use lane number
byPicArchivingInterval
Picture saving interval, value range[0,30]，0 indicates disable
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_FTPCFG_V40

Structure for FTP configuration.

struct{
  NET_DVR_STRUCTHEAD         struStruceHead;
  BYTE                       byEnableFTP;
  BYTE                       byProtocolType;
  WORD                       wFTPPort;
  union{
       struct{
         BYTE                szDomain[64];
         BYTE                byRes1[80];
       }struDomain;
       struct{
         NET_DVR_IPADDR      struIp;
       }struAddrIP;
  }unionServer;
  BYTE                       szUserName[32];
  BYTE                       szPassWORD[16];
  BYTE                       szTopCustomDir[64];
  BYTE                       szSubCustomDir[64];
  BYTE                       byDirLevel;
  BYTE                       byTopDirMode;
  BYTE                       bySubDirMode;
  BYTE                       byType;
  BYTE                       byEnableAnony;
  BYTE                       byAddresType;
  BYTE                       byFTPPicType;
  BYTE                       byPicArchivingInterval;
  NET_DVR_PICTURE_NAME_EX    struPicNameRule;
  BYTE                       byPicNameRuleType;
  BYTE                       byRes[204];
}NET_DVR_FTPCFG_V40,*LPNET_DVR_FTPCFG_V40;

Members

struStruceHead
Header file of structure.
byEnableFTP
Whether to enalbe the uploading function of ftp: 0- no, 1- yes.
byProtocolType
Protocol type: 0- FTP, 1- SFTP.
wFTPPort
FTP port number.
szDomain
Server address (IPv4, IPv6 or dormain name are allowed).
struIp
IPv4 or IPv6 address.
szUserName
User name.
szPassWORD
Password.
szTopCustomDir
Custom first-level directory
szSubCustomDir
Custom second-level directory
byDirLevel
0- directly save to the root directory without using directory structure, 1- use the first-level directory, 2- use the second-level directory.
byTopDirMode
The first-level directory: 0x1- device name, 0x2- device number, 0x3- device IP address, 0x4- monitoring point, 0x5- time (year, month), 0x6- custome, 0x7- regulation breaking type, 0x8- direction, 0x9- address, 0xa- building number, 0xb- project number.
bySubDirMode
The second-level directory: 0x1- channel name, 0x2- channel number, 0x3- time (yaer, month, day), 0x4- lane number, 0x5- custom, 0x6- regulation breaking type, 0x7- direction, 0x8- address, 0x9- parking number, 0xa- building number, 0xb- door station number, 0xc- device number.
byType
FTP type: 0- main server, 1- standby server.
byEnableAnony
Whether to enable anonymous: 0- no, 1- yes.
byAddresType
Address type: 0- IPV4 or IPV6, 1- anonymous domain name.
byFTPPicType
Picutre type uploaded to FTP: 0- reserved, 1- naming rule of captured picture.
byPicArchivingInterval
Picture saving interval, value range[0,30]，0 indicates disabling
struPicNameRule
Picture naming rule, valid when byFTPPicType is 1.
struPicNameRule
Naming rule of picture, be valid when the value of byFTPPicType is 1.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_FTPUPLOAD_PARAM

FTP upload picture naming rule parameters

struct{
  char    szRuleTypeItem[MAX_SINGLE_FTPPICNAME_LEN];
  char    szCameraName[MAX_CAMNAME_LEN];
  BYTE    byRes[64];
}NET_DVR_FTPUPLOAD_PARAM,*LPNET_DVR_FTPUPLOAD_PARAM;

Members

szRuleTypeItem
File name type，fixed string: capture_time- Capture time, plate_No- Plate No., alarm_type- Alarm type, camera_name- Channel name
szCameraName
Channel name, valid when szRuleTypeItem is camera_name
byRes
Reserved, set as 0.

See Also

NET_DVR_FTPUPLOADCFG


NET_DVR_FTPUPLOADCFG

FTP upload information correction parameters structure

struct{
  DWORD                      dwSize;
  BYTE                       byEventType;
  BYTE                       byMode;
  BYTE                       byRes[62];
  NET_DVR_FTPUPLOAD_PARAM    struCustomVehicle[MAX_FTPNAME_NUM];
  BYTE                       byRes1[1024];
}NET_DVR_FTPUPLOADCFG, *LPNET_DVR_FTPUPLOADCFG;

Members

dwSize
Structure size
byEventType
Event type: 0- Default，1-Vehicle detection
byMode
Picture naming mode: 0- Default，1- Custom
byRes
Reserved, set as 0.
struCustomVehicle
Custom picture naming rule under the mode of vehicle detection event，each array indicates a file naming type
byRes1
Reserved, set as 0.

Remarks

  • Check whether to support this function via the device capability, the corresponded FTP upload capability(FTPNotificationList )，API：NET_DVR_GetSTDAbility，Capability type：NET_DVR_GET_FTP_CAPABILITIES，Node：<FtpUpload>.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_GAIN

Parameter structure of CCD Gain

struct{
  BYTE      byGainLevel;
  BYTE      byGainUserSet;
  BYTE      byRes[2];
  DWORD     dwMaxGainValue;
}NET_DVR_GAIN, *LPNET_DVR_GAIN;

Members

byGainLevel
Gain.unit:dB, range:[0,100]
byGainUserSet
Customized gain.unit:dB, range:[0,100]
byRes
Reserved, please set it to 0
dwMaxGainValue
Max Gain.unit:dB

See Also

NET_DVR_CAMERAPARAMCFG


NET_DVR_GAMMACORRECT

Structure of Gamma correction configuration

struct{
  BYTE       byGammaCorrectionEnabled;
  BYTE       byGammaCorrectionLevel;
  BYTE       byRes[6];
}NET_DVR_GAMMACORRECT, *LPNET_DVR_GAMMACORRECT;

Members

byGammaCorrectionEnabled
Whether to enable Gamma correct: 0- no, 1- yes
byGammaCorrectionLevel
0-100
byRes
Reserved, please set it to 0

See Also

NET_DVR_CAMERAPARAMCFG


NET_DVR_GATE_ALARMINFO

Structure of access controller alarm data

struct{
  DWORD               dwSize;
  BYTE                byAlarmType;
  BYTE                byExternalDevType;
  BYTE                byExternalDevStatus;
  BYTE                byRes;
  NET_DVR_TIME_V30    struAlarmTime;
  union{
           BYTE       uLen[128];
           struct{
           char       sLicense[MAX_LICENSE_LEN];
           BYTE       byVehicleType;
           BYTE       byRes1[111];
         }struVehicleInfo;
  }uAlarmInfo;
}NET_DVR_GATE_ALARMINFO,*LPNET_DVR_GATE_ALARMINFO;

Members

dwSize
Structure Size
byAlarmType
Alarm Type:
0x1- Vehicle Illegal Intrusion Alarm,
0x2- Barrier Timeout Unclosed Alarm,
0x3- Vehicle Over Coil Timeout Alarm,
0x4- Issuing Card Alarm (No Card)
0x5- Issuing Card Alarm (Lack of Card)，
0x6- Issuing Card Alarm (Issuing Card Exception)）
byExternalDevType
Peripherals Type, see detailed values below: EXTERNAL_DEVICES_TYPE
byExternalDevStatus
Peripherals Status, see detailed values below: EXTERNAL_DEVICES_STATUS
byRes
Reserved, set as 0
struAlarmTime
Alarm Time
uAlarmInfo is the union of alarm information
uLen
Union Length, 128 Byte
struVehicleInfo is the structure of vehicle alarm information (valid when byAlarmType is 0x1)
sLicense
License Plate Number
byVehicleType
Vehicle Type: 0- Reserved, 1- Fixed Vehicle, 2- Temporary Vehicle, 3- Booked Vehicle, 4- Joint Inspection Vehicle, 5- Authorized Vehicle
byRes1
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_GATE_CARDINFO

Structure of entrance/exit card information

struct{
  DWORD               dwSize;
  NET_VCA_DEV_INFO    struDevInfo;
  DWORD               dwRelativeTime;
  DWORD               dwAbsTime;
  char                szCardNo[MAX_CARDNO_LEN];
  char                szPassVehicleID[MAX_VEHICLE_ID_LEN];
  char                szInVehicleID[MAX_VEHICLE_ID_LEN];
  NET_DVR_TIME_V30    struSwipeTime;
  NET_DVR_TIME_V30    struCardTime;
  BYTE                byLetPass;
  BYTE                byCardType;
  BYTE                byRes[126];
}NET_DVR_GATE_CARDINFO,*LPNET_DVR_GATE_CARDINFO;

Members

dwSize
Structure Size
struDevInfo
Alarm Device Information
dwRelativeTime
Relative Time Scale
dwAbsTime
Absolute Time Scale
szCardNo
Card No.
szPassVehicleID
Vehicle Passing ID
szInVehicleID
Entrance ID when exiting
struSwipeTime
Card Swiping Time
struCardTime
Card saving time, that is the writing time when entering. Only works for the ticket machine of the exit, 0 means no enter time
byLetPass
Entrance/Exit Entry Mode: 0- Not Allowed(When CardType == Ticket)Fee is required，1- Allow，2- Allowed by paying for the center
byCardType
Card Type: 0- Fixed Card，1- Temporary card，2- Ticket
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_GATE_CHARGEINFO

Structure of extrance/exit payment information

struct{
  DWORD               dwSize;
  NET_VCA_DEV_INFO    struDevInfo;
  DWORD               dwRelativeTime;
  DWORD               dwAbsTime;
  char                sLicense[MAX_LICENSE_LEN];
  char                szCardNo[48];
  NET_DVR_TIME_V30    struEntranceTime;
  NET_DVR_TIME_V30    struDepartureTime;
  char                szDepartureID[32];
  char                szEntranceID[32];
  DWORD               dwTotalCost;
  char                szOperateName[32];
  BYTE                byChargeRuleId;
  BYTE                byVehicleType;
  BYTE                byRes[127];
}NET_DVR_GATE_CHARGEINFO,*LPNET_DVR_GATE_CHARGEINFO;

Members

dwSize
Structure Size
struDevInfo
Alarm Device Information
dwRelativeTime
Relative Time Scale
dwAbsTime
Absolute Time Scale
sLicense
License Plate Number
szCardNo
Card No.
struEntranceTime
Enter Time
struDepartureTime
Exit Time
szDepartureID
Vehicle passing ID when exitting
szEntranceID
Vehicle passing ID when entering
dwTotalCost
Actual Parking Fee *100
szOperateName[32]
Operation Name, offline is "offline"
byChargeRuleId
Parking Fee Rule centerId
byVehicleType
Vehicle Type: 0- Other Vehicles, 1- Small Car，2- Large Car
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_GATE_TIME_CFG

Personnel channel gate time parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwHoldOnALarmTime;
  DWORD    dwHoldOnGateOpenTime;
  DWORD    dwPostponeIntrusionAlarmTime;
  DWORD    dwNoLaneAccessTimeLimitTime;
  DWORD    dwSafetyZoneStayTime;
  BYTE     byRes[300];
}NET_DVR_GATE_TIME_CFG, *LPNET_DVR_GATE_TIME_CFG;

Members

dwSize
Structure size
dwHoldOnALarmTime
Extend alarm buzzer time, unit: ms
dwHoldOnGateOpenTime
door open time before receiving close command, unit: ms
dwPostponeIntrusionAlarmTime
delay trigger intrusion alarm time, unit: ms
dwNoLaneAccessTimeLimitTime
timeout alarm time for no people passing after channel received valid passing verification signal, unit: s
dwSafetyZoneStayTime
timeout alarm time for people staying in the channel when reached safety region after the channel received valid passing verification signal, unit:s
byRes
Reserved, set as 0

Remarks

  • Whether the device supports personnel channel gate time configuration or the supported parameter capability, can be determined through device capability set (AcsAbility ), API: NET_DVR_GetDeviceAbility, type: ACS_ABILITY, node: <GateTimeCfg>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_GATELAMP_INFO

Constant light control parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byLaneNo;
  BYTE     byBrightlampCtrl;
  BYTE     byRes[14];
}NET_DVR_GATELAMP_INFO,*LPNET_DVR_GATELAMP_INFO;

Members

dwSize
Structure size
dwChannel
Channel No.
byLaneNo
Barrier gate No.: 0- means invalid value (the device has to determine if the value is valid), 1- barrier gate 1
byBrightlampCtrl
Constant light control parameter: 0- disable, 1- enable
byRes
Reserved, set as 0

See Also

NET_DVR_RemoteControl


NET_DVR_GATEWAY_CFG

Structure of access control parameter.

struct{
  DWORD        dwSize;
  BYTE         byName[NAME_LEN];
  BYTE         byEnable;
  BYTE         byLocalEnable;
  WORD         wDelayTime;
  BYTE         byLockWorkMode;
  BYTE         byRes[31];
}NET_DVR_GATEWAY_CFG, *LPNET_DVR_GATEWAY_CFG;

Members

dwSize
Structure size
byName
Access control name
byEnable
Whether to enable the access control or not: 0- no, 1- yes
byLocalEnable
Whether to enable the access control in local: 0- no, 1- yes
wDelayTime
Opening delay time, unit: s, value range: 0~65535, 0 means open all the time
byLockWorkMode
Electric lock work mode: 0- start up when power on, 1- start up when power off
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_GBT28181_ACCESS_CFG

Structure of GBT28181 protocol access configuration

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes;
  WORD     wLocalSipPort;
  char     szServerID[MAX_SERVERID_LEN];
  char     szServerDomain[MAX_SIPSERVER_ADDRESS_LEN];
  char     szSipServerAddress[MAX_SIPSERVER_ADDRESS_LEN];
  WORD     wServerSipPort;
  BYTE     byRes3[2];
  char     szSipUserName[MAX_SERVERNAME_LEN];
  char     szSipAuthenticateID[MAX_AUTHENTICATEID_LEN];
  char     szSipAuthenticatePasswd[MAX_AUTHENTICATEPASSWD_LEN];
  DWORD    dwRegisterValid;
  BYTE     byHeartbeatInterval;
  BYTE     byMaxHeartbeatTimeOut;
  BYTE     byStreamType;
  BYTE     byRes4[253];
}NET_DVR_GBT28181_ACCESS_CFG,*LPNET_DVR_GBT28181_ACCESS_CFG;

Members

dwSize
Structure size
byEnable
Enable 28181 protocol：0- close, 1- open
byRes
Reserved, set it to 0
wLocalSipPort
Devcie SIP port, data range: 1024-65535
szServerID
Server ID，string with 64 bytes, only numbers supported by GB28181 server
szServerDomain
Server domain
szSipServerAddress
SIP server IP, support domain and IP address
wServerSipPort
Server SIP port：1024-65535
byRes3
Reserved, set it to 0
szSipUserName
SIP user name, string with 64 bytes(just for the third party SIP terminal requesting IPC service)
szSipAuthenticateID
SIP authentification ID(register user name), string with 64 bytes
szSipAuthenticatePasswd
SIP authentification password, string with 32 bytes(just for IPCs register the SIP server)
dwRegisterValid
Register validity, units: s, default to: 3600
byHeartbeatInterval
Heartbeat interval, units: s, default to: 10s
byMaxHeartbeatTimeOut
The maximum heartbeat timeouts, default to: 3
byStreamType
Stream type:0- main stream, 1- sub stream,2- three stream
byRes4
Reserved, set it to 0

See Also

For the details of GB28181, please refer to GB/T28181-2011

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_GBT28181_ALARMINCFG

Structure of alarm input channel configuration of GBT28181 protocol

struct{
  DWORD    dwSize;
  char     szAlarmInNumID[MAX_COMPRESSIONID_LEN];
  BYTE     byRes[256];
}NET_DVR_GBT28181_ALARMINCFG,*LPNET_DVR_GBT28181_ALARMINCFG;

Members

dwSize
Structure size
szAlarmInNumID
Alarm input encoding ID，string with 20 bytes，for numbers only
byRes
Reserved, set it to 0

See Also

GB28181 protocol includes encoding ID regulation. For the details, please refer to GB/T 28181-2011

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_GBT28181_CHANINFO_CFG

Structure of GBT28181 encoding channel configuration

struct{
  DWORD    dwSize;
  char     szVideoChannelNumID[MAX_COMPRESSIONID_LEN];
  BYTE     byRes[256];
}NET_DVR_GBT28181_CHANINFO_CFG,*LPNET_DVR_GBT28181_CHANINFO_CFG;

Members

dwSize
Structure size
szVideoChannelNumID
Video channel ID，string with 64 bytes，for numbers only
byRes
Reserved, set it to 0

See Also

GB28181 protocol inludes encoding ID regulation. For the details, please refer to GB/T28181-2011

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_ALARMER

Device Network SDK Programming Manual

NET_DVR_GEOGLOCATION

Structure of geographical information.

struct{
  int     iRes[2];
  DWORD   dwCity;
}NET_DVR_GEOGLOCATION,*LPNET_DVR_GEOGLOCATION;

Members

iRes
Reserved, please set to 0
dwCity
City
enum _PROVINCE_CITY_IDX_{
  ANHUI_PROVINCE             = 0,
  AOMEN_PROVINCE             = 1,
  BEIJING_PROVINCE           = 2,
  CHONGQING_PROVINCE         = 3,
  FUJIAN_PROVINCE            = 4,
  GANSU_PROVINCE             = 5,
  GUANGDONG_PROVINCE         = 6,
  GUANGXI_PROVINCE           = 7,
  GUIZHOU_PROVINCE           = 8,
  HAINAN_PROVINCE            = 9,
  HEBEI_PROVINCE             = 10,
  HENAN_PROVINCE             = 11,
  HEILONGJIANG_PROVINCE      = 12,
  HUBEI_PROVINCE             = 13,
  HUNAN_PROVINCE             = 14,
  JILIN_PROVINCE             = 15,
  JIANGSU_PROVINCE           = 16,
  JIANGXI_PROVINCE           = 17,
  LIAONING_PROVINCE          = 18,
  NEIMENGGU_PROVINCE         = 19,
  NINGXIA_PROVINCE           = 20,
  QINGHAI_PROVINCE           = 21,
  SHANDONG_PROVINCE          = 22,
  SHANXI_JIN_PROVINCE        = 23,
  SHANXI_SHAN_PROVINCE       = 24,
  SHANGHAI_PROVINCE          = 25,
  SICHUAN_PROVINCE           = 26,
  TAIWAN_PROVINCE            = 27,
  TIANJIN_PROVINCE           = 28,
  XIZANG_PROVINCE            = 29,
  XIANGGANG_PROVINCE         = 30,
  XINJIANG_PROVINCE          = 31,
  YUNNAN_PROVINCE            = 32,
  ZHEJIANG_PROVINCE          = 33
}PROVINCE_CITY_IDX
ANHUI_PROVINCE
An Hui
AOMEN_PROVINCE
Ao Men
BEIJING_PROVINCE
Bei Jing
CHONGQING_PROVINCE
Chong Qing
FUJIAN_PROVINCE
Fu Jian
GANSU_PROVINCE
Gan Su
GUANGDONG_PROVINCE
Guang Dong
GUANGXI_PROVINCE
Guang Xi
GUIZHOU_PROVINCE
Gui Zhou
HAINAN_PROVINCE
Hai Nan
HEBEI_PROVINCE
He Bei
HENAN_PROVINCE
He Nan
HEILONGJIANG_PROVINCE
Hei Long Jiang
HUBEI_PROVINCE
Hu Bei
HUNAN_PROVINCE
Hu Nan
JILIN_PROVINCE
Ji Lin
JIANGSU_PROVINCE
Jiang Su
JIANGXI_PROVINCE
Jiang Xi
LIAONING_PROVINCE
Liao Ning
NEIMENGGU_PROVINCE
Nei Meng Gu
NINGXIA_PROVINCE
Ning Xia
QINGHAI_PROVINCE
Qing Hai
SHANDONG_PROVINCE
Shan Dong
SHANXI_JIN_PROVINCE
Shan Xi
SHANXI_SHAN_PROVINCE
Shaan Xi
SHANGHAI_PROVINCE
Shang Hai
SICHUAN_PROVINCE
Si Chuan
TAIWAN_PROVINCE
Tai Wan
TIANJIN_PROVINCE
Tian Jin
XIZANG_PROVINCE
Xi Zang
XIANGGANG_PROVINCE
HongKong
XINJIANG_PROVINCE
Xin Jiang
YUNNAN_PROVINCE
Yun Nan
ZHEJIANG_PROVINCE
Zhe Jiang


NET_DVR_GET_FIGURE_COND

Get thumbnail by time point condition parameter structure

struct{
  DWORD               dwLength;
  DWORD               dwChannel;
  NET_DVR_TIME_V30    struTimePoint;
  BYTE                byID[STREAM_ID_LEN];
  BYTE                byRes[32];
}NET_DVR_GET_FIGURE_COND, *LPNET_DVR_GET_FIGURE_COND;

Members

dwLength
Structure size
dwChannel
Channel No.
struTimePoint
Time point
byID
Stream ID
byRes
Reserved, set as 0

Remarks

  • Whether device supports getting thumbnail by time point or supported capability, can be determined through device software and hardware capability set (BasicCapability), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY, node: <isSupportGetFigure>.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_GET_STREAM_UNION

Union of stream mode.

union{
  NET_DVR_IPCHANINFO          struChanInfo;
  NET_DVR_IPSERVER_STREAM     struIPServerStream;
  NET_DVR_PU_STREAM_CFG       struPUStream;
  NET_DVR_DDNS_STREAM_CFG     struDDNSStream;
  NET_DVR_PU_STREAM_URL       struStreamUrl;
  NET_DVR_HKDDNS_STREAM       struHkDDNSStream;
}NET_DVR_GET_STREAM_UNION,*LPNET_DVR_GET_STREAM_UNION;

Members

struChanInfo
IP channel information
struIPServerStream
Get stream after getting device IP address by IPServer
struPUStream
Get stream from stream server
struDDNSStream
Get device IP address by IPServer, and then get stream from stream server
struStreamUrl
Get stream from the device or stream media server by URL
struHkDDNSStream
Connect to the device by hkDDNS and then get stream from the device

See Also

NET_DVR_STREAM_MODE


NET_DVR_GETWORKSTATE_COND

Device working status query condition structure

struct{
  DWORD    dwSize;
  BYTE     byFindHardByCond;
  BYTE     byFindChanByCond;
  BYTE     byRes1[2];
  DWORD    dwFindHardStatus[MAX_DISKNUM_V30];
  DWORD    dwFindChanNo[MAX_CHANNUM_V40];
  BYTE     byRes[64];
}NET_DVR_GETWORKSTATE_COND,*LPNET_DVR_GETWORKSTATE_COND;

Members

dwSize
Structure size
byFindHardByCond
Search for the disk by condition:：0- Search for all, 1- search according to the dwFindHardStatus array specified valid HDD No.
byFindChanByCond
Search for the channel by condition:：0- Search for all, 1- search according to the dwFindHardStatus array specified valid channel No.
byRes1
Reserved, set as 0.
dwFindHardStatus
HDD No. for query, the array subscript indicates the HDD No.. If the subscript corresponded value is 0xffffffff，it means the subsequent data is invalid.
dwFindChanNo
Channel No. for query, the array subscript indicates the channel No.. If the subscript corresponded value is 0xffffffff，it means the subsequent data is invalid.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig


NET_DVR_GIS_INFO

Structure of GIS Information Data

struct{
  DWORD                   dwSize;
  float                   fAzimuth;
  float                   fHorizontalValue;
  float                   fVerticalValue;
  float                   fVisibleRadius;
  float                   fMaxViewRadius;
  BYTE                    byLatitudeType;
  BYTE                    byLongitudeType;
  BYTE                    byPTZPosExEnable;
  BYTE                    byRes1;
  NET_DVR_LLI_PARAM       struLatitude;
  NET_DVR_LLI_PARAM       struLongitude;
  NET_DVR_PTZPOS_PARAM    struPtzPos;
  NET_DVR_SENSOR_PARAM    struSensorParam;
  NET_PTZ_INFO            struPtzPosEx ;
  float                   fMinHorizontalValue;
  float                   fMaxHorizontalValue;
  float                   fMinVerticalValue;
  float                   fMaxVerticalValue;
  BYTE                    byRes[220];
}NET_DVR_GIS_INFO, *LPNET_DVR_GIS_INFO;

Members

dwSize
Structure Size
fAzimuth
Position Information of Compass; Position Value Range: [0.00°, 360.00°)
fHorizontalValue
Horizontal Angle of Vision is accurate to 2 digits after the decimal point.
fVerticalValue
Vertical Angle of Vision is accurate to 2 digits after the decimal point.
fVisibleRadius
Current Visual Radius is accurate to 2 digits after the decimal point.
fMaxViewRadius
Maximum Visual Radius is accurate to 0 digit after the decimal point.(Reserved)
byLatitudeType
Latitude Type: 0- North Latitude, 1- South Latitude
byLongitudeType
Longitude Type: 0- East Longitude, 1- West Longitude
byPTZPosExEnable
Whether to enable PTZ coordinate extension: 0- no, PTZ coordinate subject to struPtzPos; 1- yes, PTZ coordinate subject to struPtzPosEx.
byRes1
Reserved
struLatitude
Latitude Information
struLongitude
Longitude Information
struPtzPos
PTZ Coordinate
struSensorParam
Sensor Information
struPtzPosEx
PTZ coordinate extension (support highly accurate PTZ value, accurate to 3 decimal places)
fMinHorizontalValue
Min. angle of view, accurate to 2 decimal places; value range: 0.0 to 360.00
fMaxHorizontalValue
Max. angle of view, accurate to 2 decimal places; value range: 0.0 to 360.00
fMinVerticalValue
Min. vertical angle of view, accurate to 2 decimal places; value range: 0.0 to 360.00
fMaxVerticalValue
Max. vertical angle of view, accurate to 2 decimal places; value range: 0.0 to 360.00
byRes
Reserved

Remarks

  • Get the GIS information of the speed dome.

See Also

NET_DVR_GetSTDConfig


NET_DVR_GIS_UPLOADINFO

GIS upload information structure

struct{
  DWORD                   dwSize;
  DWORD                   dwRelativeTime;
  DWORD                   dwAbsTime;
  NET_VCA_DEV_INFO         struDevInfo;
  float                   fAzimuth;
  BYTE                    byLatitudeType;
  BYTE                    byLongitudeType;
  BYTE                    byRes1[2];
  NET_DVR_LLI_PARAM       struLatitude;
  NET_DVR_LLI_PARAM       struLongitude;
  float                   fHorizontalValue;
  float                   fVerticalValue;
  float                   fVisibleRadius;
  float                   fMaxViewRadius;
  NET_DVR_SENSOR_PARAM    struSensorParam;
  NET_DVR_PTZPOS_PARAM    struPtzPos;
  BYTE                     byRes[256];
}NET_DVR_GIS_UPLOADINFO, *LPNET_DVR_GIS_UPLOADINFO;

Members

dwSize
Structure size
dwRelativeTime
Relative time mark
dwAbsTime
Absolute time mark
struDevInfo
Front-end device information
fAzimuth
E-compass location information, angle range: [0.00°,360.00°)
byLatitudeType
Latitude type: 0- north, 1- south
byLongitudeType
Longitude type: 0- east, 1- west
byRes1
Reserved
struLatitude
Latitude information
struLongitude
Longitude information
fHorizontalValue
Horizontal angle of view, accurate to 2 decimal places
fVerticalValue
Vertical angle of view, accurate to 2 decimal places
fVisibleRadius
Current view radius, accurate to 2 decimal places
fMaxViewRadius
MAx. view radius, accurate to 0 decimal place (reserved)
struSensorParam
Sensor information
struPtzPos
PTZ coordinate
byRes
Reserved

Remarks

  • The algorithm applied to get "year/month/day/hour/minute/second from absolute time mark dwAbsTime is as follows:
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_GOTOSCENE_COND

Remote control master camera turn to specified scene condition parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwSceneID;
  BYTE     byRes[512];
}NET_DVR_GOTOSCENE_COND, *LPNET_DVR_GOTOSCENE_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
dwSceneID
Scene ID
byRes
Reserved, set as 0

Remarks

  • Remote control master camera turn to specified scene ID, can be obtained through device capability set, corresponding to camera configuration and calibration capability set (SlaveCameraCalibrating), API:NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES, node: <sceneID>.

See Also

NET_DVR_STDControl


NET_DVR_GPS_DATACFG

GPS parameters structure

struct{
  DWORD                      dwSize;
  BYTE                       byGpsDataMode;
  BYTE                       byLongitudeType;
  BYTE                       byLatitudeType;
  BYTE                       byRes;
  NET_DVR_LATITUDE_PARAM     struLatitude;
  NET_DVR_LONGITUDE_PARAM    struLongitude;
  BYTE                       byRes1[128];
}NET_DVR_GPS_DATACFG, *LPNET_DVR_GPS_DATACFG;

Members

dwSize
The size of the structure
byGpsDataMode
The method of getting GPS data:0-Auto, 1-Manual
byLongitudeType
Longitude:0- East longitude, 1- West longitude
byLatitudeType
Latitude:0- South latitude, 1- North latitude
byRes
Reserved, set as 0.
struLatitude
Longitude
struLongitude
Latitude
byRes1
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_GPSALARMINFO

Structure of GPS alarm information.

struct{
  BYTE              byDeviceID[NAME_LEN];
  NET_DVR_TIME_EX   struGpsTime;
  DWORD             dwLongitude;
  DWORD             dwLatitude;
  int               iTimeZone;
  DWORD             dwDirection;
  WORD              wSatellites;
  WORD              wPrecision;
  DWORD             dwHeight;
  DWORD             dwGPSSeq;
  WORD              wSpeed;
  char              sDirection[2];
  BYTE              byLocateMode;
  BYTE              byRes[3];
}NET_DVR_GPSALARMINFO,*LPNET_DVR_GPSALARMINFO;

Members

byDeviceID
Device ID string
struGpsTime
GPS uploaded time
dwLongitude
Longitude
dwLatitude
Latitude
iTimeZone
Time zone, expressed by number of minutes: +60 means East Zone 1, +480 means East Zone 8, -60 means West Zone 1, -480 means West Zone 8, iTimeZone and GPSTime constitute a complete description of the time
dwDirection
Vehicle driving direction = actual direction*100. The actual direction: In degree units, north direction as the benchmark, calculated according to clockwise
wSatellites
The total number of satellites
wPrecision
Precision
dwHeight
Height, unit: cm, reserved
dwGPSSeq
GPS sequence number, used when GPS transmission complement
wSpeed
Speed, unit: km/h
sDirection
direction[0]: 'E' or 'W'(East or Wet longitude), direction[1]: 'N' or 'S'(North or South latitude)
byLocateMode
Location mode (initial value: 0): 1- self-location, 2- difference, 3- estimate, 4- data is invalid
byRes
Reserved, please set to 0

See Also

NET_DVR_TIME_EX

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_GROUP_CFG

Group Parameters Configuration Structure

struct{
  DWORD                       dwSize;
  BYTE                        byEnable;
  BYTE                        byRes1[3];
  NET_DVR_VALID_PERIOD_CFG    struValidPeriodCfg;
  BYTE                        byGroupName[GROUP_NAME_LEN];
  BYTE                        byRes2[32];
}NET_DVR_GROUP_CFG,*LPNET_DVR_GROUP_CFG;

Members

dwSize
The size of structure
byEnable
Enable this group? 0- NO; 1- Yes.
byRes1
Reserved, set as 0.
struValidPeriodCfg
Validity of the Group
byGroupName
Group Name
byRes2
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_GROUP_COMBINATION_INFO

Group Parameters Structure

struct{
  BYTE     byEnable;
  BYTE     byMemberNum;
  BYTE     bySequenceNo;
  BYTE     byRes;
  DWORD    dwGroupNo;
}NET_DVR_GROUP_COMBINATION_INFO,*LPNET_DVR_GROUP_COMBINATION_INFO;

Members

byEnable
Ennable the group?0- No，1- Enable
byMemberNum
Swipping Member Number
dwTemplateNo
Group Swiping Card NO.
byRes
Reserved, set as 0
dwGroupNo
Group NO.,0xffffffff: Remotely open the door,0xfffffffe: Super Password.

See Also

NET_DVR_MULTI_CARD_GROUP_CFG


NET_DVR_GROUP_DETECTION

People gathering detection configuration structure

struct{
  DWORD                       dwSize;
  BYTE                        byEnabled;
  BYTE                        byRes1[3];
  NET_DVR_RAPIDMOVE_REGION    struRegion[MAX_REGION_NUM];
  BYTE                        byRes2[128];
}NET_DVR_GROUP_DETECTION,*LPNET_DVR_GROUP_DETECTION;

Members

dwSize
Structure size
byEnabled
Enable? 0- No, 1- Yes
byRes1
Reserved
struRegion
Region of people gathering
byRes2
Reserved

Remarks

  • This function corresponds to people gathering detection capability(Group), API:NET_DVR_GetSTDAbility(Capability type:NET_DVR_GET_GROUPDETECTION_CAPABILITIES).
  • If the all Region parameters(struRegion) are set as 0, it indicates that the region is deleted. If any of the Region parameters(struRegion) is not set as 0, the region parameters can not be configured. Configure the region parameters separately via NET_DVR_SET_GROUPDETECTION_REGION.

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_GROUPDETECTION_REGION

People gathering detection region structure。

struct{
  NET_VCA_POLYGON    struRegion;
  BYTE               byObjectOccup;
  BYTE               byRes[63];
}NET_DVR_GROUPDETECTION_REGION,*LPNET_DVR_GROUPDETECTION_REGION;

Members

struRegion
People gathering detection region coverage
byObjectOccup
Ratio(people area:region area), value range: [1,100]
byRes
Reserved

Remarks

If the Region parameters is set as 0, it indicates that the region is deleted. For speed dome, when getting single region, it will be located to the scene of this region.

See Also

NET_DVR_GROUP_DETECTION


NET_DVR_GSENSORPARA

Structure of G SENSOR configuration.

struct{
  DWORD                        dwSize;
  NET_DVR_ACCELERATIONCFG      struAccelerationCfg;
  BYTE                         byModuleSelect;
  BYTE                         byRes1[3];
  NET_DVR_HANDLEEXCEPTION_V30  struHandleException;
  BYTE                         byRes2[24];
}NET_DVR_GSENSORPARA, *LPNET_DVR_GSENSORPARA;

Members

dwSize
Structure size
struAccelerationCfg
Acceleration alarm parameter
byModuleSelect
Module selection: 0- internal, 1- external
byRes1
Reserved, please set to 0
struHandleException
Handling type
byRes2
Reserved, please set to 0

See Also

NET_DVR_ACCELERATIONCFG NET_DVR_HANDLEEXCEPTION_V30
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_GUARD_CFG

Vehicle license plate detection schedule configuration structure

struct{
  DWORD                          dwSize;
  NET_DVR_TIME_DETECTION         struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V40    struHandleException;
  DWORD                          dwMaxRelRecordChanNum;
  DWORD                          dwRelRecordChanNum;
  DWORD                          dwRelRecordChan[MAX_CHANNUM_V30];
  NET_DVR_TIME_DETECTION         struHolidayTime[MAX_TIMESEGMENT_V30];
  BYTE                           byRes[88];
}NET_DVR_GUARD_CFG,*LPNET_DVR_GUARD_CFG;

Members

dwSize
.
Structure size
struAlarmSched
Arming schedule, 7 days a week, max. 8 time segments for a day. \
struHandleException
Exception handle mode, supports to set the mode of uploading to the center.
dwMaxRelRecordChanNum
Triggered video channel No.(read only) , Triggered supported video channel number(read only)
dwRelRecordChanNum
The actual supported alarm triggered video channel number, that is, the current group contained channel number.
dwRelRecordChan
Alarm triggered video channel, get the dwRelRecordChanNum * value which indicates the channel No.. Eg. dwRelRecordChanNum=5 can configure the video channel:dwRelRecordChan[0]~dwRelRecordChan[4]
struHolidayTime
Holiday arming time
byRes
Reserved, set as 0.

Remarks

  • When the filed of dwMaxRelRecordChanNum is more than 64, the group No. is separated,(dwGroup，start from 0), max. 64 channels for a group, Get the configuration structure according to the condition structureNET_DVR_CHANNEL_GROUP（For the first group No. is 0), if there are more than one group, set the group No. as 1, send the configuration condition again to get the configuration information of the next group.
  • The related video channel No is bound with the group No., eg, if the group No. is 0, that means the channel No. range is 1 to 64., and if the group No. is 0, that means the channel No. range is 65 to 12, 0xffffffff indicates the corresponded the channel No. is invalid.

    • See Also

    NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_GUARD_COND

License plate detection schedule configuration condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRelateType;
  BYTE     byRes[63];
}NET_DVR_GUARD_COND,*LPNET_DVR_GUARD_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byRelateType
Corresponded type: 0- Invalid, 1- Corresponds to the capture MPR mode (multi-frame triggering, used by IPC), 2-Corresponded HVT mode( used by mixed IPC).
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_GUID_FILE_EXPORT

Export GUID file input parameter structure

struct{
  DWORD    dwSize;
  char     sLoginPassWord[NET_SDK_MAX_LOGIN_PASSWORD_LEN];
  BYTE     byRes[128];
}NET_DVR_GUID_FILE_EXPORT, *LPNET_DVR_GUID_FILE_EXPORT;

Members

dwSize
Structure size
sLoginPassWord
User login password
byRes
Reserved, ser as 0

Remarks

  • Whether the device supports exporting GUID file capability, can be determined through device security capability set (SecurityCap), API: NET_DVR_STDXMLConfig, command for getting capability set: GET /ISAPI/Security/capabilities, node: <isSupportGUIDFileDataExport>.

See Also

NET_DVR_StartDownload


NET_DVR_GUID_FILE_STATUS_INFO

Export GUID file status information structure

struct{
  DWORD    dwSize;
  BYTE     byLockStatus;
  BYTE     byPasswd;
  BYTE     byRetryNum;
  BYTE     byRes1;
  DWORD    dwLockTime;
  BYTE     byRes[128];
}NET_DVR_GUID_FILE_STATUS_INFO, *LPNET_DVR_GUID_FILE_STATUS_INFO;

Members

dwSize
Structure size
byLockStatus
Lock status: 0- not locked, 1- locked
byPasswd
Password status (valid when not locked): 0- incorrect password, 1- correct password
byRetryNum
Left retry attempts (valid when not locked)
byRes1
Reserved, set as 0
dwLockTime
Left locking time (valid when locked)
byRes
Reserved, set as 0

See Also

NET_DVR_GetDownloadStateInfo


NET_DVR_HANDLEEXCEPTION

Structure of handling alarm and exception.

struct{
  DWORD    dwHandleType;
  BYTE     byRelAlarmOut[MAX_ALARMOUT];
}NET_DVR_HANDLEEXCEPTION, *LPNET_DVR_HANDLEEXCEPTION;

Members

dwHandleType
handling mode:
0x00: no response
0x01: alarm on monitor
0x02: audio warning
0x04: upload to center
0x08: trigger alarm output
0x10: send Jpeg snapshot by E-mail
byRelAlarmOut
Output channel triggered by alarm: 0- donot trigger the output, 1- trigger the output


NET_DVR_HANDLEEXCEPTION_V30

Structure of alarm and exception handling mode.

struct{
  DWORD    dwHandleType;
  BYTE     byRelAlarmOut[MAX_ALARMOUT_V30];
}NET_DVR_HANDLEEXCEPTION_V30, *LPNET_DVR_HANDLEEXCEPTION_V30;

Members

dwHandleType
Handling type:
0x00: no response
0x01: alarm on monitor
0x02: audio warning
0x04: upload to center
0x08: trigger alarm output
0x10: send Jpeg snapshot by E-mail
0x20: interact with wireless sound and light alarm
0x40: trigger e-map (supported by PCNVR only)
0x200: capture image and upload to FTP
It supports to set multi handling types, for example: dwHandleType = 5, that is, dwHandleType&0x01=1 and dwHandleType&0x04=1, it means set to alarm on monitor and upload the alarm to center.
byRelAlarmOut
Alarm output triggered by alarm: 0- donot trigger the output, 1- trigger the output
E.g. byRelAlarmOut[0]==1 means to trigger the no.1 alarm output port, byRelAlarmOut[1]==1 means to trigger the no.2 alarm output port, and so forth.


NET_DVR_HANDLEEXCEPTION_V40

Structure of alarm and exception handle

struct{
  DWORD    dwHandleType;
  DWORD    dwMaxRelAlarmOutChanNum;
  DWORD    dwRelAlarmOutChanNum ;
  DWORD    dwRelAlarmOut[MAX_CHANNUM_V30];
  BYTE     byRes[64];
}NET_DVR_HANDLEEXCEPTION_V40, *LPNET_DVR_HANDLEEXCEPTION_V40;

Members

dwHandleType
Handle type:
0x00: no response
0x01: Monitor warning
0x02: audible warning
0x04: notify the surveillence center
0x08: trigger alarm output
0x10: send Jpeg snapshot by E-mail
0x20: interact with wireless sound and light alarm
0x40: e-map linkage (supported by PCNVR only)
0x200：capture image and upload to FTP
0x400: Focus linkage with defocus detection
0x800: PTZ linked tracking (target tracked by speed dome)
E.g. dwHandleType&0x01=1 and dwHandleType&0x04=1, it means set to alarm on monitor and upload the alarm to center
dwMaxRelAlarmOutChanNum
The maximum channel output of devices triggered by alarm (read only)
dwRelAlarmOutChanNum
The alarm output channelconfigured and triggered, decide the array index number of dwRelAlarmOut
dwRelAlarmOut
The front value of dwRelAlarmOutChanNum stands for the ouptut channeltriggered by alarm, the inital valure is 0xfffffffff(not associated to channel). for example, you can configure the output channel dwRelAlarmOut[0]~dwRelAlarmOut[4] triggered by alarm, when dwRelAlarmOutChanNum=5
byRes
Reserved

Remarks

Configuration by group when the byte of dwRelAlarmOutChanNum more than 64,(group: dwGroup), 64 a group

See Also

NET_DVR_DETECT_FACE NET_VCA_TRAVERSE_PLANE_DETECTION NET_VCA_FIELDDETECION NET_VCA_DEFOCUSPARAM NET_DVR_AUDIO_EXCEPTION NET_DVR_SCENECHANGE_DETECTION


NET_DVR_HANDLEEXCEPTION_V41

Exception information structure

struct{
  DWORD    dwHandleType;
  DWORD    dwMaxAlarmOutChannelNum;
  DWORD    dwRelAlarmOut[MAX_ALARMOUT_V40];
  BYTE     byRes[64];
}NET_DVR_HANDLEEXCEPTION_V41,*LPNET_DVR_HANDLEEXCEPTION_V41;

Members

dwHandleType
Handling type:
0x00: no response 0x01: alarm on monitor 0x02: audio warning 0x04: upload to center 0x08: trigger alarm output 0x10: send Jpeg snapshot by E-mail 0x20: interact with wireless sound and light alarm 0x40: trigger e-map (supported by PCNVR only) 0x200: capture image and upload to FTP dwHandleType==0x01|0x04 it means set to alarm on monitor and upload the alarm to center.
0x400:Defocus detection
0x800: PTZ linked tracking(speed dome track target)
dwMaxAlarmOutChannelNum
Max. alarm output channel number(read only) supported by the device
dwRelAlarmOut
Alarm output triggered by alarm: 0- do not trigger, 1- trigger E.g. byRelAlarmOut[0]==1 means to trigger the no.1 alarm output port, byRelAlarmOut[1]==1 means to trigger the no.2 alarm output port, and so forth.
byRes
Reserved, set as 0.

See Also

NET_DVR_EXCEPTION_V40 NET_DVR_EVENT_TRIGGER


NET_DVR_HD_STATUS

The structure of HDD sleeping status parameters

struct{
  DWORD    dwSize;
  BYTE     bySleepStatus;
  BYTE     byRes[127];
}NET_DVR_HD_STATUS,*LPNET_DVR_HD_STATUS;

Members

dwSize
The size of the structure
bySleepStatus
Sleeping status, 0- un-sleeping, 1- Sleeping
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_HDCFG

Structure of hard disk configuration.

struct{
  DWORD                 dwSize;
  DWORD                 dwHDCount;
  NET_DVR_SINGLE_HD     struHDInfo[MAX_DISKNUM_V30];
}NET_DVR_HDCFG, *LPNET_DVR_HDCFG;

Members

dwSize
Structure size
dwHDCount
The number of hard disks. It can be got but cannot be set.
struHDInfo
Parameters of hard disk information

Remarks

dwHDCount is the number of hard disks. It can be got but cannot be set. After rebooting the device, the configuration of hard disk information will be valid.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_HDGROUP_CFG

Structure of disk group configuration.

struct{
  DWORD                      dwSize;
  DWORD                      dwHDGroupCount;
  NET_DVR_SINGLE_HDGROUP     struHDGroupAttr[MAX_HD_GROUP];
}NET_DVR_HDGROUP_CFG, *LPNET_DVR_HDGROUP_CFG;

Members

dwSize
Structure size
dwHDGroupCount
Total number of hard disk groups. It can be got but cannot be set.
struHDGroupAttr
Parameter of hard disk group information

Remarks

dwHDGroupCount is the total number of hard disk groups, and so it can only be got but cannot be set.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_HDGROUP_CFG_V40

The structure of HDD group configuration(expanded)

struct{
  DWORD                          dwSize;
  DWORD                          dwMaxHDGroupCount;
  DWORD                          dwCurHDGroupCount;
  NET_DVR_SINGLE_HDGROUP_V40     struHDGroupAttr[MAX_HD_GROUP];
  BYTE                           byRes[128];
}NET_DVR_HDGROUP_CFG_V40, *LPNET_DVR_HDGROUP_CFG_V40;

Members

dwSize
The size of the structure
dwHDGroupCount
The Max.HDD group (read only) number
dwCurHDGroupCount
The number of current HDD group (read only)
struHDGroupAttr
HDD group information parameters( The HDD related operation will tack effects after the device being rebooted).
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

This structure was expended from

NET_DVR_HDGROUP_CFG


NET_DVR_HEATMAP_CFG

Structure of heat map configuartion

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes[3];
  NET_VCA_POLYGON                struPolygon[MAX_HEATMAPREGION_NUM];
  NET_DVR_HEATMAP_PARAM          struHeatMap;
  NET_DVR_HANDLEEXCEPTION_V40    struHandleException;
  NET_DVR_SCHEDTIME              struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                           byRes1[512];
 }NET_DVR_HEATMAP_CFG,*LPNET_DVR_HEATMAP_CFG;

Members

dwSize
Structure size
byEnable
Whether enabled the heat map: 0-no, 1-yes
byRes
Reserved, set it to 0
struPolygon
Polygon region, support up to 8 regions
struHeatMap
Heat map parameter
struHandleException
Handle exception, support notify surveillence center only.
struAlarmSched
Schedule,7 days a week, you can set 8 segments a day
byRes1
Reserved, set it to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_HEATMAP_COND

Structure of heat map configuration

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[64];
}NET_DVR_HEATMAP_COND, *LPNET_DVR_HEATMAP_COND;

Members

dwSize
Structure size
dwChannel
channel number
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_HEATMAP_INFO

Structure of heater map data query results

struct{
  DWORD              dwSize;
  NET_DVR_TIME_EX    struStartTime;
  NET_DVR_TIME_EX    struEndTime;
  DWORD              dwHeatMapPicLen;
  BYTE               *pBuffer;
  DWORD              dwTimeHeatMapValue;
  BYTE               byRes[124];
}NET_DVR_HEATMAP_INFO, *LPNET_DVR_HEATMAP_INFO;

Members

dwSize
Structure size
struStartTime
Start time
struEndTime
End time
dwHeatMapPicLen
Length of space heater map(the size will be 0 when there is no map, otherwise, the size is greater than 0.)
pBuffer
Data info
dwLeaveNum
Value of time heater, data range: 0-255
byRes
Reserved

Remarks

There will be space heat when searching graph (images), call the structure (NET_DVR_HEATMAP_INFO) to get information first, then determine whether a value of dwHeatMapPicLen is greater than 0 (if yes,whether there is a picture or not). If yes, according to the value of dwHeatMapPicLen to apply the memory (pBuffer), then call NET_DVR_GetNextRemoteConfig interface to get image data again(the end of the interface (lpOutBuff) is the length of picture).

See Also

NET_DVR_GetNextRemoteConfig

Example

iRet = NET_DVR_GetNextRemoteConfig(pThis->m_lHandle, &pThis->m_pStruHeatMapInfo[pThis->m_iStruCount], sizeof(NET_DVR_HEATMAP_INFO));
if (iRet == NET_SDK_GET_NEXT_STATUS_SUCCESS)
{
     int iBuffLen = pThis->m_pStruHeatMapInfo[pThis->m_iStruCount].dwHeatMapPicLen;
     sBuffAll = new char[iBuffLen + sizeof(NET_DVR_HEATMAP_INFO)];
     memset(sBuffAll, 0, sizeof(*sBuffAll));
     memcpy(sBuffAll, &pThis->m_pStruHeatMapInfo[pThis->m_iStruCount], sizeof(NET_DVR_HEATMAP_INFO));
     if (pThis->m_pStruHeatMapInfo[pThis->m_iStruCount].dwHeatMapPicLen > 0)
     {
          sBuff = new char[pThis->m_pStruHeatMapInfo[pThis->m_iStruCount].dwHeatMapPicLen];
          memset(sBuff, 0, sizeof(*sBuff));
          iRet = NET_DVR_GetNextRemoteConfig(pThis->m_lHandle, sBuff, iBuffLen);
          if (NULL != sBuff)
          {
                memcpy(sBuffAll + sizeof(NET_DVR_HEATMAP_INFO), sBuff, iBuffLen);
          }
      }
}
//......


NET_DVR_HEATMAP_PARAM

Structure of heat map parameter

struct{
  BYTE    byTargetTrackEnable;
  BYTE    bySensitivity;
  BYTE    byBackgroundUpdateRate;
  BYTE    bySceneChangeLevel;
  BYTE    byMinTargetSize;
  BYTE    byRes[15];
}NET_DVR_HEATMAP_PARAM,*LPNET_DVR_HEATMAP_PARAM;

Members

byTargetTrackEnable
Target track: 0- close（default）, 1- open
bySensitivity
Sensitivity, data range:1-100, the default value is 50
byBackgroundUpdateRate
Backgrounf update rate,data range:1-100, the default value is 50
bySceneChangeLevel
Scene change level,data range:1-100, the default value is 50
byMinTargetSize
Min target size,data range:1-100, the default value is 50
byRes
Reserved

See Also

NET_DVR_HEATMAP_CFG


NET_DVR_HEATMAP_QUERY_COND

Structure of Heat map data query

struct{
  DWORD              dwSize;
  DWORD              dwChannel;
  NET_DVR_TIME_EX    struStartTime;
  NET_DVR_TIME_EX    struEndTime;
  BYTE               byReportType;
  BYTE               byRes[127];
}NET_DVR_HEATMAP_QUERY_COND, *LPNET_DVR_HEATMAP_QUERY_COND;

Members

dwSize
Structure size
dwChannel
channe number
struStartTime
Start time
struEndTime
End time
byReportType
Report type: 0- invalid value, 1- daily statement, 2- weekly statement, 3- monthly statement, 4- yearly statement
byRes
Reserved

See Also

NET_DVR_StartRemoteConfig


NET_DVR_HEATMAP_RESULT

Structure of heat map result

struct{
  DWORD               dwSize;
  NET_VCA_DEV_INFO    struDevInfo;
  NET_DVR_TIME_EX     struStartTime;
  NET_DVR_TIME_EX     struEndTime;
  DWORD               dwMaxHeatMapValue;
  DWORD               dwMinHeatMapValue;
  DWORD               dwTimeHeatMapValue;
  WORD                wArrayLine;
  WORD                wArrayColumn;
  BYTE                *pBuffer;
  BYTE                byDetSceneID;
  BYTE                byBrokenNetHttp;
  WORD                wDevInfoIvmsChannelEx;
  BYTE                byRes[124];
}NET_DVR_HEATMAP_RESULT,*LPNET_DVR_HEATMAP_RESULT;

Members

dwSize
Structure size
struDevInfo
Device info
struStartTime
Start time
struEndTime
End time
dwMaxHeatMapValue
Max heat map value
dwMinHeatMapValue
Min
dwTimeHeatMapValue
Average heat value(Time)
wArrayLine
Row value of Image pixel
wArrqyColumn
Column vakue of Image pixel
pBuffer
Heat image pixel data information (when the category value is 0, it means that pixel memory information of image pixel value does not exist).
byDetSceneID
Detection scene No., dome currently supports 1 scene, IP camera is 0 (not supported)
byBrokenNetHttp
ANR flag bit: 0- not ANR data, 1- retransmit data
wDevInfoIvmsChannelEx
Same description with byIvmsChannel of NET_VCA_DEV_INFO, can be used to indicate greater value. For older version of client, byIvmsChannel is still compatible, but the maximum value is 255. For later version of client, use wDevInfoIvmsChannelEx
byRes
Reserved

Remarks

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_HIDEALARM

Structure of video tampering alarm parameters.

struct{
  DWORD                      dwEnableHideAlarm;
  WORD                       wHideAlarmAreaTopLeftX;
  WORD                       wHideAlarmAreaTopLeftY;
  WORD                       wHideAlarmAreaWidth;
  WORD                       wHideAlarmAreaHeight;
  NET_DVR_HANDLEEXCEPTION    strHideAlarmHandleType;
  NET_DVR_SCHEDTIME          struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
}NET_DVR_HIDEALARM, *LPNET_DVR_HIDEALARM;

Members

dwEnableHideAlarm
Enable video tampering alarm: 0- no, 1- low sensitivity, 2- medium sensitivity, 3- high sensitivity
wHideAlarmAreaTopLeftX
X axis coordinate of video tampering alarm area
wHideAlarmAreaTopLeftY
Y axis coordinate of video tampering alarm area
wHideAlarmAreaWidth
Width of video tampering alarm area
wHideAlarmAreaHeight
Height of video tampering alarm area
strHideAlarmHandleType
Handle type
struAlarmTime
Arm schedule

Remarks

The area size of whole image set by SDK is 704*576. So width and height of video tampering alarm area should be changed to coordinate, width and height of 704*576 area.

See Also

NET_DVR_HANDLEEXCEPTION NET_DVR_SCHEDTIME


NET_DVR_HIDEALARM_V30

Structure of video tampering alarm parameters.

struct{
  DWORD                          dwEnableHideAlarm;
  WORD                           wHideAlarmAreaTopLeftX;
  WORD                           wHideAlarmAreaTopLeftY;
  WORD                           wHideAlarmAreaWidth;
  WORD                           wHideAlarmAreaHeight;
  NET_DVR_HANDLEEXCEPTION_V30    strHideAlarmHandleType;
  NET_DVR_SCHEDTIME              struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
}NET_DVR_HIDEALARM_V30, *LPNET_DVR_HIDEALARM_V30;

Members

dwEnableHideAlarm
Enable video tampering alarm: 0- no, 1- low sensitivity, 2- medium sensitivity, 3- high sensitivity
wHideAlarmAreaTopLeftX
X axis coordinate of video tampering alarm area
wHideAlarmAreaTopLeftY
Y axis coordinate of video tampering alarm area
wHideAlarmAreaWidth
Width of video tampering alarm area
wHideAlarmAreaHeight
Height of video tampering alarm area
strHideAlarmHandleType
Handle type
struAlarmTime
Arm schedule

Remarks

The area size of whole image set by SDK is 704*576. So width and height of video tampering alarm area should be changed to coordinate, width and height of 704*576 area.

See Also

NET_DVR_PICCFG_V30

Reference Structure

The expand structure refers to

NET_DVR_HIDEALARM_V40


NET_DVR_HIDEALARM_V40

Structure of video tampering alarm parameters

struct{
  DWORD                dwEnableHideAlarm;
  WORD                 wHideAlarmAreaTopLeftX;
  WORD                 wHideAlarmAreaTopLeftY;
  WORD                 wHideAlarmAreaWidth;
  WORD                 wHideAlarmAreaHeight;
  DWORD                dwHandleType;
  DWORD                dwMaxRelAlarmOutChanNum;
  DWORD                dwRelAlarmOut[MAX_ALARMOUT_V40];
  NET_DVR_SCHEDTIME    struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                 byRes[64];
}NET_DVR_HIDEALARM_V40, *LPNET_DVR_HIDEALARM_V40;

Members

dwEnableVILostAlarm
Enable video tampering alarm: 0- no, 1-yes
wHideAlarmAreaTopLeftX
X-coordinate of video tampering
wHideAlarmAreaTopLeftY
Y-coordinate of video tampering
wHideAlarmAreaTopLeftX
Width of video tampering area
wHideAlarmAreaTopLeftX
Height of video tampering area
dwHandleType
Handling type, the 'OR'result of all kinds exception handle modes
0x00: No response
0x01: Monitor warning
0x02: Audible warning
0x04: Notify surveillance center
0x08: Trigger alarm output
0x10: Jpeg image capture and send EMail
0x20: Wireless combined aural and visual alarm linkage
0x40: E-map linkage(PCNVR support only)
0x200：Capture and upload to ftp
E.g. dwHandleType==0x01|0x04- Monitor warning and notify surveillance center
dwMaxRelAlarmOutChanNum
The max output channels triggered by alarm (read only）
dwRelAlarmOut
Trigger alarm ID,output channel number triggered by alarm，the value uses the compact arrangement， reads from subscript 0 and the follow-up will be invalid when encouting 0xffffffff
for example: dwRelAlarmOut[8]=0xffffffff，means configure output channel dwRelAlarmOut[0]~dwRelAlarmOut[7]
struAlarmTime
Arming time, 7 days a week, 8 time periods a day
byRes[64]
Reserved

Remarks

SDK set the whole image region size to 704*576, the axis of the privacy region and width, height in the structure should change to adapt the 704*576 region

See Also

NET_DVR_PICCFG_V40

Reference Structure

Structure expands from

NET_DVR_HIDEALARM_V30


NET_DVR_HISTORICDATACFG

Structure of historical data.

struct{
  DWORD                 dwSize;
  DWORD                 dwTotalNum;
  BYTE                  byRes[16];
}NET_DVR_HISTORICDATACFG, *LPNET_DVR_HISTORICDATACFG;

Members

dwSize
Structure size
dwTotalNum
The total number of historical data
byRes
Reserved, please set to 0


NET_DVR_HKDDNS_STREAM

Structure of hkDDNS stream configuration

struct{
  BYTE    byEnable;
  BYTE    byRes[3];
  BYTE    byDDNSDomain[64];
  WORD    wPort;
  WORD    wAliasLen;
  BYTE    byAlias[NAME_LEN];
  WORD    wDVRSerialLen;
  BYTE    byRes1[2];
  BYTE    byDVRSerialNumber[SERIALNO_LEN];
  BYTE    byUserName[NAME_LEN];
  BYTE    byPassWord[PASSWD_LEN];
  BYTE    byChannel;
  BYTE    byRes2[11];
}NET_DVR_HKDDNS_STREAM,*LPNET_DVR_HKDDNS_STREAM;

Members

byEnable
Whether enable it or not
byRes
Reserved, please set to 0
byDDNSDomain
hkDDNS server address, e.g.: www.hik-online.com
wPort
hkDDNS port number, default: 80
wAliasLen
The length of alias(domain name)
byAlias
Alias(domain name)
wDVRSerialLen
The length of serial number
byRes1
Reserved, please set to 0
byDVRSerialNumber
The serial number
byUserName
User name of device
byPassWord
Password of device
byChannel
Channel number of device
byRes2
Reserved, please set to 0

See Also

NET_DVR_GET_STREAM_UNION


NET_DVR_HOLIDATE_MODEA

Holiday date mode A.

struct{
  BYTE    byStartMonth;
  BYTE    byStartDay;
  BYTE    byEndMonth;
  BYTE    byEndDay;
  BYTE    byRes[4];
}NET_DVR_HOLIDATE_MODEA, *LPNET_DVR_HOLIDATE_MODEA;

Members

byStartMonth
Start month, starting from 1
byStartDay
Start day, starting from 1
byEndMonth
End month
byEndDay
End day
byRes
Reserved

See Also

NET_DVR_HOLIDATE_UNION


NET_DVR_HOLIDATE_MODEB

Holiday date mode B.

struct{
  BYTE    byStartMonth;
  BYTE    byStartWeekNum;
  BYTE    byStartWeekday;
  BYTE    byEndMonth;
  BYTE    byEndWeekNum;
  BYTE    byEndWeekday;
  BYTE    byRes[2];
}NET_DVR_HOLIDATE_MODEB, *LPNET_DVR_HOLIDATE_MODEB;

Members

byStartMonth
Start month, starting from 1
byStartWeekNum
Start week, starting from 1
byStartWeekday
Day of the week
byEndMonth
End month, starting from 1
byEndWeekNum
End week, starting from 1
byEndWeekday
Day of the week
byRes
Reserved

See Also

NET_DVR_HOLIDATE_UNION


NET_DVR_HOLIDATE_MODEC

Holiday date mode C.

struct{
  WORD        wStartYear;
  BYTE        byStartMon;
  BYTE        byStartDay;
  WORD        wEndYear;
  BYTE        byEndMon;
  BYTE        byEndDay;
}NET_DVR_HOLIDATE_MODEC, *LPNET_DVR_HOLIDATE_MODEC;

Members

wStartYear
Start year
byStartMon
Start month, starting from 1
byStartDay
Start day
wEndYear
End year
byEndMon
End month
byEndDay
End day

See Also

NET_DVR_HOLIDATE_UNION


NET_DVR_HOLIDATE_UNION

Union of holiday date mode structure.

union{
  DWORD                    dwSize[3];
  NET_DVR_HOLIDATE_MODEA   struModeA;
  NET_DVR_HOLIDATE_MODEB   struModeB;
  NET_DVR_HOLIDATE_MODEC   struModeC;
}NET_DVR_HOLIDATE_UNION, *LPNET_DVR_HOLIDATE_UNION;

Members

dwSize
Size of the union
struModeA
Date mode A
struModeB
Date mode B
struModeC
Date mode C

See Also

NET_DVR_HOLIDATE_MODEA NET_DVR_HOLIDATE_MODEB NET_DVR_HOLIDATE_MODEC
NET_DVR_HOLIDAY_PARAM


NET_DVR_HOLIDAY_GROUP_CFG

Holiday Group Configuration Structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  BYTE     byGroupName[HOLIDAY_GROUP_NAME_LEN];
  DWORD    dwHolidayPlanNo[MAX_HOLIDAY_PLAN_NUM];
  BYTE     byRes2[32];
}NET_DVR_HOLIDAY_GROUP_CFG,*LPNET_DVR_HOLIDAY_GROUP_CFG;

Members

dwSize
The size of the structure
byEnable
Enable? 0- No; 1- Yes
byRes1
Reserved, set as 0
byGroupName
Holiday Group Name
dwHolidayPlanNo
Holiday Schedule NO. Compact arrangement, Invalid when 0 appears.
byRes2
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_HOLIDAY_GROUP_COND

Card permission holiday group configuration condition structure

struct{
  DWORD   dwSize;
  DWORD   dwHolidayGroupNumber;
  WORD    wLocalControllerID;
  BYTE    byRes[106];
}NET_DVR_HOLIDAY_GROUP_COND,*LPNET_DVR_HOLIDAY_GROUP_COND;

Members

dwSize
Structure size
dwHolidayGroupNumber
Holiday group No.
wLocalControllerID
Distributed access controller No.[1,64], 0 means host
byRes
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_HOLIDAY_HANDLE

Structure of holiday alarm handling mode.

struct{
  DWORD                       dwSize;
  NET_DVR_SCHEDTIME           struAlarmTime[MAX_TIMESEGMENT_V30];
  BYTE                        byRes2[240];
}NET_DVR_HOLIDAY_HANDLE,*LPNET_DVR_HOLIDAY_HANDLE;

Members

dwSize
Structure size
struAlarmTime
Arming schedule
byRes2
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_HOLIDAY_HANDLE_COND

Smart(SMD) holiday arming schedule configuration condition structure

struct{
  DWORD    dwSize;
  DWORD    dwSMDHandleType;
  BYTE     byRes2[32];
}NET_DVR_HOLIDAY_HANDLE_COND,*LPNET_DVR_HOLIDAY_HANDLE_COND;

Members

dwSize
Structure size
dwSMDHandleType
Smart holiday arming type: 0- Audio exception detection, 1- Defocus detection, 2- Scene change detection
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_HOLIDAY_PARAM

Structure of holiday parameter.

struct{
  BYTE                byEnable;
  BYTE                byDateMode;
  BYTE                byRes1[2];
  NET_DVR_HOLIDATE_UNION   uHolidate;
  BYTE                byName[NAME_LEN];
  BYTE                byRes2[20];
}NET_DVR_HOLIDAY_PARAM, *LPNET_DVR_HOLIDAY_PARAM;

Members

byEnable
Enable or not
byDateMode
Date mode: 0- mode A, 1- mode B, 2- mode C
byRes1
Reserved
uHolidate
Holiday date
byName
Holiday name
byRes2
Reserved

See Also

NET_DVR_HOLIDATE_UNION
NET_DVR_HOLIDAY_PARAM_CFG


NET_DVR_HOLIDAY_PARAM_CFG

Structure of holiday configuration.

struct{
  DWORD                    dwSize;
  NET_DVR_HOLIDAY_PARAM    struHolidayParam[MAX_HOLIDAY_NUM];
  DWORD                    byRes[40];
}NET_DVR_HOLIDAY_PARAM_CFG, *LPNET_DVR_HOLIDAY_PARAM_CFG;

Members

dwSize
Structure size
struHolidayParam
Holiday parameter
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_HOLIDAY_PLAN_CFG

Holiday Schedule Configuration Structure

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  NET_DVR_DATE                   struBeginDate;
  NET_DVR_DATE                   struEndDate;
  NET_DVR_SINGLE_PLAN_SEGMENT    struPlanCfg[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                           byRes2[16];
}NET_DVR_HOLIDAY_PLAN_CFG,*LPNET_DVR_HOLIDAY_PLAN_CFG;

Members

dwSize
The size of the structure
byEnable
Enable? 0- No; 1- Yes
byRes1
Reserved, set as 0
struBeginDate
Holiday Start Time
struEndDate
Holiday End Time
struPlanCfg
Holiday Schedule Parameters, 7 days for a week and 8 time segments for one day.
byRes2
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_HOLIDAY_PLAN_COND

Card permission holiday plan configuration condition structure

struct{
  DWORD   dwSize;
  DWORD   dwHolidayPlanNumber;
  WORD    wLocalControllerID;
  BYTE    byRes[106];
}NET_DVR_HOLIDAY_PLAN_COND,*LPNET_DVR_HOLIDAY_PLAN_COND;

Members

dwSize
Structure size
dwHolidayPlanNumber
Holiday plan No.
wLocalControllerID
Distributed access controller No.[1,64], 0 means host
byRes
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_HOLIDAY_RECORD

Structure of holiday recording parameter.

struct{
  DWORD                    dwSize;
  NET_DVR_RECORDDAY        struRecDay;
  NET_DVR_RECORDSCHED      struRecordSched[MAX_TIMESEGMENT_V30];
  BYTE                     byRes[20];
}NET_DVR_HOLIDAY_RECORD, *LPNET_DVR_HOLIDAY_RECORD;

Members

dwSize
Structure size
struRecDay
Recording parameter
struRecordSched
Recording schedule
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_HTTPS_CFG

Structure of HTTPS information

struct{
  DWORD    dwSize;
  WORD     wHttpsPort;
  BYTE     byEnable;
  BYTE     byRes[125];
}NET_DVR_HTTPS_CFG,*LPNET_DVR_HTTPS_CFG;

Members

dwSize
Structure size
wHttpsPort
HTTPS port number
byEnable
Enable HTTPS or not: 0- disable, 1- enable
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ID_CARD_INFO

ID card information structure

struct{
  DWORD           dwSize;
  BYTE            byName[MAX_ID_NAME_LEN];
  NET_DVR_DATE    struBirth;
  BYTE            byAddr[MAX_ID_ADDR_LEN];
  BYTE            byIDNum[MAX_ID_NUM_LEN];
  BYTE            byIssuingAuthority[MAX_ID_ISSUING_AUTHORITY_LEN];
  NET_DVR_DATE    struStartDate;
  NET_DVR_DATE    struEndDate;
  BYTE            byTermOfValidity;
  BYTE            bySex;
  BYTE            byNation;
  BYTE            byRes[101];
}NET_DVR_ID_CARD_INFO, *LPNET_DVR_ID_CARD_INFO;

Members

dwSize
Structure size
byName
Name
struBirth
Date of birth
byAddr
Address
byIDNum
ID card No.
byIssuingAuthority
Issuing authority
struStartDate
Start valid date
struEndDate
End valid date
byTermOfValidity
Whether always valid: 0- no, 1- yes (until end valid date)
bySex
Gender: 1- male, 2- female
byNation
Nation
byRes
Reserved, set as 0

See Also

NET_DVR_ID_CARD_INFO_ALARM


NET_DVR_ID_CARD_INFO_ALARM

ID card information upload structure

struct{
  DWORD                   dwSize;
  NET_DVR_ID_CARD_INFO    struIDCardCfg;
  DWORD                   dwMajor;
  DWORD                   dwMinor;
  NET_DVR_TIME_V30        struSwipeTime;
  BYTE                    byNetUser[MAX_NAMELEN];
  NET_DVR_IPADDR          struRemoteHostAddr;
  DWORD                   dwCardReaderNo;
  DWORD                   dwDoorNo;
  DWORD                   dwPicDataLen;
  char                    *pPicData;
  BYTE                    byCardType;
  BYTE                    byRes[207];
}NET_DVR_ID_CARD_INFO_ALARM, *LPNET_DVR_ID_CARD_INFO_ALARM;

Members

dwSize
Structure size
struIDCardCfg
ID card information
dwMajor
Alarm main type
dwMinor
Alarm sub type
struSwipeTime
Card swiping time
byNetUser
Network operation user name
struRemoteHostAddr
Remote host address
dwCardReaderNo
Card reader No., 0 means invalid
dwDoorNo
Door No., 0 means invalid
dwPicDataLen
Picture data size, non-0 means it is followed by data
pPicData
Picture data buffer
byCardType
Card type: 1- normal card, 2- card for disabled person, 3- card in blacklist, 4- patrol card, 5- duress card, 6- super card, 7- visitor card, 8- releasing card, 0 means invalid
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_IDENTIFICAT

Identification of User-defined ATM protocol.

struct{
  BYTE                      byStartMode;
  BYTE                      byEndMode;
  BYTE                      byRes[2];
  NET_DVR_FRAMETYPECODE     struStartCode;
  NET_DVR_FRAMETYPECODE     struEndCode;
  BYTE                      byRes1[12];
}NET_DVR_IDENTIFICAT, *LPNET_DVR_IDENTIFICAT;

Members

byStartMode
Mode of start code: 0-ASCII, 1-HEX
byEndMode
Mode of end code: 0-ASCII, 1-HEX
byRes
Reserved
struStartCode
Start code of data package
struEndCode
End code of data package
byRes1
Reserved

See Also

NET_DVR_FRAMETYPECODE


NET_DVR_IDENTIFICATION_PARAM

the structure of authentication

struct{
  BYTE    sUserName[NAME_LEN];
  BYTE    sPassword[PASSWD_LEN];
  BYTE    byRes1[4];
}NET_DVR_IDENTIFICATION_PARAM, *LPNET_DVR_IDENTIFICATION_PARAM;

Members

sUserName
username
sPassword
password
byRes1
reserved

See Also

NET_DVR_MOUNT_PARAM_UNION


NET_DVR_ILLEGALCARDFILTERING_CFG

The structure of parking lot ticket machine configuration

struct{
  DWORD    dwSize;
  char     sLEDDefaultInfo[MAX_LED_INFO_LEN];
  BYTE     byillegalCardFilteringEnabled;
  BYTE     bySendCardSensingCoilEnabled;
  BYTE     byWiegendSensingCoilEnabled;
  BYTE     byGateSwitchEnabled;
  BYTE     byVerifyKeyWriteCardEnabled;
  BYTE     byRes[127];
}NET_DVR_ILLEGALCARDFILTERING_CFG,*LPNET_DVR_ILLEGALCARDFILTERING_CFG;

Members

dwSize
Structure size
sLEDDefaultInfo
LED default info
byillegalCardFilteringEnabled
Enable illegal card filtering: 0- disable, 1- enable
bySendCardSensingCoilEnabled
Whether link enrollment station (card) to inductive loops: 0- no, 1- yes
byWiegendSensingCoilEnabled
Whether link remote card to inductive loops: 0- no, 1- yes
byGateSwitchEnabled
Whether there is barrier switch info：0- no, 1- yes
byVerifyKeyWriteCardEnabled
Whether verify key and write card: 0- no, 1- yes
byRes
Reserved, set as 0

Remarks

  • According to the capability set, you can understand whether the device supports configuring parking lot ticket machine. Corresponding ticket machine capability set (TMEConfiguration). Relevant interface: NET_DVR_GetSTDAbility. Capability type: NET_DVR_GET_ILLEGALCARDFILTERING_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_ IMAGE_DIFF_DETECTION_CFG

Image differential detection parameter structure

struct{
  DWORD              dwSize;
  NET_VCA_POLYGON    struRegion;
  BYTE               byEnabled;
  BYTE               byThreshold;
  BYTE               bySensitivity;
  BYTE               byRes[301];
 }NET_DVR_IMAGE_DIFF_DETECTION_CFG,*LPNET_DVR_IMAGE_DIFF_DETECTION_CFG;

Members

dwSize
Structure size
struRegion
Region range
byEnabled
Whether to enable: 0- no, 1- yes
byThreshold
Threshold, value range: 0 to 100
bySensitivity
Sensitivity, value range: 0 to 100
byRes
Reserved, set as 0

Remarks

  • Whether device supports image differential detection configuration can be determined through device capability set (ImageDiffDetectionCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_IMAGE_DIFF_DETECTION_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_IMAGEOVERLAYCFG

Configuration of image overlay

struct{
  DWORD    dwSize;
  BYTE     byOverlayInfo;
  BYTE     byOverlayMonitorInfo;
  BYTE     byOverlayTime;
  BYTE     byOverlaySpeed;
  BYTE     byOverlaySpeeding;
  BYTE     byOverlayLimitFlag;
  BYTE     byOverlayPlate;
  BYTE     byOverlayColor;
  BYTE     byOverlayLength;
  BYTE     byOverlayType;
  BYTE     byOverlayColorDepth;
  BYTE     byOverlayDriveChan;
  BYTE     byOverlayMilliSec;
  BYTE     byOverlayIllegalInfo;
  BYTE     byOverlayRedOnTime;
  BYTE     byRes1[5];
  BYTE     byMonitorInfo1[32];
  BYTE     byMonitorInfo2[44];
  BYTE     byRes2[52];
}NET_DVR_IMAGEOVERLAYCFG, *LPNET_DVR_IMAGEOVERLAYCFG;

Members

dwSize
Structure size
byOverlayInfo
Whether to enable overlay: 0- no, 1- yes
byOverlayMonitorInfo
Whether to overlay information of monitor point: 0- no, 1- yes
byOverlayTime
Whether to overlay time: 0- no, 1- yes
byOverlaySpeed
Whether to overlay speed: 0- no, 1- yes
byOverlaySpeeding
Whether to overlay overspeed ratio: 0- no, 1- yes
byOverlayLimitFlag
Whether to overlay limit flag of speed: 0- no, 1- yes
byOverlayPlate
Whether to overlay license plate: 0- no, 1- yes
byOverlayColor
Whether to overlay color of car: 0- no, 1- yes
byOverlayLength
Whether to overlay length of car: 0- no, 1- yes
byOverlayType
Whether to overlay car type: 0- no, 1- yes
byOverlayColorDepth
Reserved
byOverlayDriveChan
Whether to overlay drive channel: 0- no, 1- yes
byOverlayMilliSec
Whether to overlay millisecond: 0- no, 1- yes
byOverlayIllegalInfo
Whether to overlay information of violation: 0- no, 1- yes
byOverlayRedOnTime
Whether to overlay the time red light has been lighted. 0-no,1-yes
byres1
Reserved, please set it to 0
byMonitorInfo1
NO.1 information of monitor point
byMonitorInfo2
No.2 information of monitor point
byres2
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_INFRARE_CFG

Structure of infrared information

struct{
  DWORD    dwSize;
  BYTE     byIrControlMode;
  BYTE     byIrBrightness;
  BYTE     byIrSensitivity;
  BYTE     byRes[65];
}NET_DVR_INFRARE_CFG, *LPNET_DVR_INFRARE_CFG;

Members

dwSize
Structure size
byIrControlMode
Control mode: 0- auto, 1- manual
byIrBrightness
Brightness of IR, value range: 0~100
byIrSensitivity
Sensitivity of IR, value range: 0~100
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_INFRARED_CMD_INFO

IR command name information structure

struct{
  BYTE    sCmdName[MAX_IR_CMD_NAME_LEN];
  BYTE    byRes[8];
}NET_DVR_INFRARED_CMD_INFO,*LPNET_DVR_INFRARED_CMD_INFO;

Members

sCmdName
IR command name
byRes
Reserved, set as 0

See Also

NET_DVR_INFRARED_CMD_NAME_CFG


NET_DVR_INFRARED_CMD_NAME_CFG

Infrared command name parameter configuration structure

struct{
  DWORD                        dwSize;
  BYTE                         sIROutName[MAX_IR_CMD_NAME_LEN];
  NET_DVR_INFRARED_CMD_INFO    struIRCmdInfo[MAX_IR_CMD_NUM];
  BYTE                         byRes[256];
}NET_DVR_INFRARED_CMD_NAME_CFG,*LPNET_DVR_INFRARED_CMD_NAME_CFG;

Members

dwSize
Structure size
sIROutName
IR output port name
struIRCmdInfo
IR command information
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_INIT_CFG_ABILITY

Initialization capability parameters structure

struct{
  INIT_CFG_MAX_NUM    byEnable;
  INIT_CFG_MAX_NUM    enumMaxAlarmNum;
  BYTE                byRes[64];
}NET_DVR_INIT_CFG_ABILITY,*LPNET_DVR_INIT_CFG_ABILITY;

Members

enumMaxLoginUsersNum
Max. registered user number:
enum _INIT_CFG_MAX_NUM_{
  INIT_CFG_NUM_2048  = 2048,
  INIT_CFG_NUM_5120  = 5120,
  INIT_CFG_NUM_10240 = 10240,
  INIT_CFG_NUM_15360 = 15360,
  INIT_CFG_NUM_20480 = 20480
}INIT_CFG_MAX_NUM
enumMaxAlarmNum
Max. alarm arming channel number:
enum _INIT_CFG_MAX_NUM_{
  INIT_CFG_NUM_2048  = 2048,
  INIT_CFG_NUM_5120  = 5120,
  INIT_CFG_NUM_10240 = 10240,
  INIT_CFG_NUM_15360 = 15360,
  INIT_CFG_NUM_20480 = 20480
}INIT_CFG_MAX_NUM
byRes
Reserved, set as 0.

Remarks

  • SDK default supported channel number is 2048, the more the channel added, the higher the PC and bandwidth are required.

See Also

NET_DVR_SetSDKInitCfg


NET_DVR_INITIALPOSITIONCTRL

Initial position control structure

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  BYTE     byWorkMode;
  BYTE     byRes[127];
}NET_DVR_INITIALPOSITIONCTRL, *LPNET_DVR_INITIALPOSITIONCTRL;

Members

dwSize
Structure size
dwChan
Device channel No.
byWorkMode
Working mode:0- Settings, 1- Calling, 2- Clearing
byRes
Reserved

See Also

NET_DVR_RemoteControl


NET_DVR_INPUT_INTERFACE_CTRL

Structure of input interface control

struct{
  BYTE    byInputSourceType;
  BYTE    byRes[15];
}NET_DVR_INPUT_INTERFACE_CTRL, *LPNET_DVR_INPUT_INTERFACE_CTRL;

Members

byInputSourceType
Input source type
enum _INPUT_INTERFACE_TYPE_{
  INTERFACE_VGA  = 0,
  INTERFACE_SVIDEO,
  INTERFACE_YPBPR,
  INTERFACE_DVI,
  INTERFACE_BNC,
  INTERFACE_DVI_LOOP,
  INTERFACE_BNC_LOOP
  AUTO
}INPUT_INTERFACE_TYPE
INTERFACE_VGA
VGA input
INTERFACE_SVIDEO
S-Video input(2046NL not support, 2046NH supports)
INTERFACE_YPBPR
YPbPr input
INTERFACE_DVI
DVI input
INTERFACE_BNC
BNC input
INTERFACE_DVI_LOOP
DVI(loop through) input (2046NH not support, 2046NL supports)
INTERFACE_BNC_LOOP
BNC(loop through) input（2046NH not support, 2046NL supports)
byRes
Reserved, please set to 0

See Also

NET_DVR_SCREEN_CONTROL_PARAM


NET_DVR_INPUT_SIGNAL_LIST

Structure of input signal source list

struct{
  DWORD    dwSize;
  DWORD    dwInputSignalNums;
  BYTE     *pBuffer;
  BYTE     byRes1[3];
  DWORD    dwBufLen;
  BYTE     byRes2[64];
}NET_DVR_INPUT_SIGNAL_LIST,*LPNET_DVR_INPUT_SIGNAL_LIST;

Members

dwSize
Structure size
dwInputSignalNums
The count of input signal source
pBuffer
The input signal source, points to the buffer of dwInputSignalNums*sizeof(NET_DVR_INPUTSTREAMCFG)
byRes1
Reserved, please set to 0
dwBufLen
The size of buffer
byRes2
Reserved, please set to 0

Remarks

1. Please call NET_DVR_GetInputSignalList and set pBuffer of the structure to NULL and dwBufLen to 0, then it will get the count of input signal source (dwInputSignalNums);
2. Please allocate the size of pBuffer according to the value of dwInputSignalNums, and then call NET_DVR_GetInputSignalList again, it will get the signal source list (pBuffer).

See Also

NET_DVR_GetInputSignalList


NET_DVR_INPUTSTATUS

Structure of input source status

struct{
  WORD                         wInputNo;
  BYTE                         byInputType;
  BYTE                         byRes1[9];
  NET_DVR_INPUTSTATUS_UNION    struStatusUnion;
  BYTE                         byRes2[16];
}NET_DVR_INPUTSTATUS, *LPNET_DVR_INPUTSTATUS;

Members

wInputNo
Structure size
byInputType
input source type:
enum _NET_DVR_CAM_MODE_{
  NET_DVR_UNKNOW  = 0,
  NET_DVR_CAM_BNC = 1,
  NET_DVR_CAM_VGA = 2,
  NET_DVR_CAM_DVI = 3,
  NET_DVR_CAM_HDMI= 4,
  NET_DVR_CAM_IP  = 5,
  NET_DVR_CAM_RGB = 6,
  NET_DVR_CAM_DECODER
}NET_DVR_CAM_MODE
NET_DVR_UNKNOW
Unknown
NET_DVR_CAM_BNC
BNC input
NET_DVR_CAM_VGA
VGA input
NET_DVR_CAM_DVI
DVI input
NET_DVR_CAM_HDMI
HDMI input
NET_DVR_CAM_IP
IP input
NET_DVR_CAM_RGB
RGB input
NET_DVR_CAM_DECODER
Decoder board input
byRes1
Reserved, please set to 0
struStatusUnion
The union of input source status
byRes2
Reserved, please set to 0

See Also

NET_DVR_SCREENINPUTSTATUS


NET_DVR_INPUTSTATUS_UNION

Union of input source status

union{
  NET_DVR_MATRIX_CHAN_STATUS    struIpInputStatus;
  NET_DVR_ANALOGINPUTSTATUS     struAnalogInputStatus;
}NET_DVR_INPUTSTATUS_UNION,*LPNET_DVR_INPUTSTATUS_UNION;

Members

struIpInputStatus
The status of decoding channel
struAnalogInputStatus
The status of analog input source

See Also

NET_DVR_INPUTSTATUS


NET_DVR_INPUTSTREAM_LIST

Structure of signal source list.

struct{
  DWORD                      dwSize;
  NET_DVR_INPUTSTREAMCFG     struInputStreamInfo[MAX_CAM_COUNT];
  BYTE	                   byRes[4];
}NET_DVR_INPUTSTREAM_LIST,*LPNET_DVR_INPUTSTREAM_LIST;

Members

dwSize
Structure size
struInputStreamInfo
Input stream information: 0- (INPUT_UNKNOWN)unknown input information, 1- (INPUT_VIDEO)video signal, 2- (INPUT_RGB)computer signal, 3- (INPUT_SCREENCAPTURE)network screenshot
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_INPUTSTREAMCFG

Structure of input stream parameter.

struct{
  DWORD                    dwSize;
  BYTE                     byValid;
  BYTE                     byCamMode;
  WORD                     wInputNo;
  BYTE                     sCamName[NAME_LEN];
  NET_DVR_VIDEOEFFECT      struVideoEffect;
  NET_DVR_PU_STREAM_CFG    struPuStream;
  WORD                     wBoardNum;
  WORD                     wInputIdxOnBoard;
  WORD                     wResolutionX;
  WORD                     wResolutionY;
  BYTE                     byVideoFormat;
  BYTE                     byNetSignalResolution;
  BYTE                     sGroupName[NAME_LEN];
  BYTE                     byRes[2];
}NET_DVR_INPUTSTREAMCFG,*LPNET_DVR_INPUTSTREAMCFG;

Members

dwSize
Structure size
byValid
Whether it is valid: 0- invalid, 1- valid
byCamMode
Signal input source type:
enum _NET_DVR_CAM_MODE_{
  NET_DVR_UNKNOW  = 0,
  NET_DVR_CAM_BNC = 1,
  NET_DVR_CAM_VGA = 2,
  NET_DVR_CAM_DVI = 3,
  NET_DVR_CAM_HDMI= 4,
  NET_DVR_CAM_IP  = 5,
  NET_DVR_CAM_RGB = 6,
  NET_DVR_CAM_DECODER
}NET_DVR_CAM_MODE
NET_DVR_UNKNOW
Unknown
NET_DVR_CAM_BNC
BNC input
NET_DVR_CAM_VGA
VGA input
NET_DVR_CAM_DVI
DVI input
NET_DVR_CAM_HDMI
HDMI input
NET_DVR_CAM_IP
IP input
NET_DVR_CAM_RGB
RGB input
NET_DVR_CAM_DECODER
Decoder board input
wInputNo
Signal source index: 0~224
sCamName
Signal input source name
struVideoEffect
Video effect
struPuStream
Input stream parameter, used when it is IP input
wBoardNum
Board number of signal source, read-only
wInputIdxOnBoard
Location of signal source on the board, read-only
wResolutionX
Resolution: X*Y
wResolutionY
Resolution: X*Y
byVideoFormat
Video format: 0- none, 1- NTSC, 2- PAL
byNetSignalResolution
The resolution of network signal source: 1- CIF, 2- 4CIF, 3- 720P, 4- 1080P, 5- 5 million pixels, When add the network signal source to the device, the device will allocate decoding resource according to the resolution.
sGroupName
Group name of the network signal source
byRes
Reserved, please set to 0

See Also

NET_DVR_SetDVRConfig


NET_DVR_INQUEST_ALARM

Inquest host alarm information structure

struct{
  DWORD    dwSize;
  DWORD    dwAlarmType;
  BYTE     byTrayNo;
  BYTE     byRes[255];
}NET_DVR_INQUEST_ALARM,*LPNET_DVR_INQUEST_ALARM;

Members

dwSize
Structure size
dwAlarmType
Alarm type: 0- CD full, 1- CD error
byTrayNo
CD driver No.
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_INQUEST_CASE_INFO

Inquest case information configuration structure

struct{
  DWORD    dwSize;
  BYTE     sCaseNo[INQUEST_CASE_NO_LEN];
  BYTE     sCaseName[INQUEST_CASE_NAME_LEN];
  BYTE     sCustomInfo1[CUSTOM_INFO_LEN];
  BYTE     sCustomInfo2[CUSTOM_INFO_LEN];
  BYTE     sCustomInfo3[CUSTOM_INFO_LEN];
  BYTE     byShowCaseInfoTime;
  BYTE     byShowCaseInfo;
  BYTE     byPosition;
  BYTE     byRes[257];
}NET_DVR_INQUEST_CASE_INFO,*LPNET_DVR_INQUEST_CASE_INFO;

Members

dwSize
Structure size
sCaseNo
Case No.
sCaseName
Case name
sCustomInfo1
Custom information 1
sCustomInfo2
Custom information 2
sCustomInfo3
Custom information 3
byShowCaseInfoTime
Case information display time, unit: s, value range: 1 to 60s
byShowCaseInfo
Whether to display case information at case start: 0- no, 1- yes
byPosition
Case display position: 0- upper left, 1- lower left
byRes
Reserved, set as 0

Remarks

  • Whether device supports case information configuration function or supported capability, can be determined through device capability set (InquestAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <InquestCaseInfoConfig>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_INQUEST_CDRW

Structure of single CDRW information.

struct{
  DWORD    dwEnable;
  DWORD    dwStatus;
  BYTE     byRes[16];
}NET_DVR_INQUEST_CDRW,*LPNET_DVR_INQUEST_CDRW;

Members

dwEnable
Whether the CDRW status is valid: 0- no, 1-yes
dwStatus
CDRW status
byRes
Reserved

Remarks

Parameter dwStatus is related to dwType in structure NET_DVR_INQUEST_CDRW_STATUS, detail as below:
When dwType=0, 0-CD is normal, 1- no CD or CD is abnormal
When dwType=1 or 2, 0- writing is normal, 1- no CD or CD is abnormal, 2- have finalized CD, 3- free space is not enough, 4- exception results in stopping inquest
When dwType=3, 0- writing is normal, 1- no CD or CD is abnormal, 2- have finalized CD, 3- free space is not enough

See Also

NET_DVR_INQUEST_CDRW_STATUS


NET_DVR_INQUEST_CDRW_CFG

Structure of CDRW parameters.

struct{
  DWORD   dwSize;
  DWORD   dwNum;
  DWORD   dwRwSelectPara[MAX_CHANNUM_V30];
  DWORD   dwModeSelect;
  BYTE    byRes[24];
  DWORD   dwStartCDRW;
  DWPRD   dwHdExcp;
  DWORD   dwInterval;
  char    sLable[64];
}NET_DVR_INQUEST_CDRW_CFG, *LPNET_DVR_INQUEST_CDRW_CFG;

Members

dwSize
Structure size
dwNum
The number of of CDRWs
dwRwSelectPara
Association between channel and CDRW (whether select the CDRW: 0- no, 1- yes). E.g. dwRwSelectPara[0] means channel NO.1 is associated to every CDRW. Express by bit whether the CDRW is selected, and the first bit means NO.1 CDRW is selected or not.
dwModeSelect
Writing mode: 0- write in turn, 1- write in parallel(default mode)
byRes
Reserved, please set it to 0
dwStartCDRW
Whether have started CDRW locally: 0- no, 1-yes
dwHdExcp
Whether there is exception in hard disk: 0- none, 1- yes
dwInterval
Time interval:0-10 minutes, 1-20 minutes, 2-30minutes
sLable
CD name


NET_DVR_INQUEST_CDRW_STATUS

Structure of CDRW status.

struct{
  DWORD                   dwType;
  NET_DVR_INQUEST_CDRW    strCDRWNum[MAX_INQUEST_CDRW_NUM];
  BYTE                    byRes[24];
}NET_DVR_INQUEST_CDRW_STATUS,*LPNET_DVR_INQUEST_CDRW_STATUS;

Members

dwType
Status: 0- start inquest, 1- writing CD during inquest, 2-stop inquest, 3- write inquest file
strCDRWNum
NO. of CDRW, array 0 means CDRW NO.1
byRes
Reserved

See Also

NET_DVR_INQUEST_CDRW


NET_DVR_INQUEST_DEVICE_VERSION

Structure of inquest device version information.

struct{
  BYTE                  byMainVersion;
  BYTE                  bySubVersion;
  BYTE                  byUpgradeVersion;
  BYTE                  byCustomizeVersion;
  BYTE                  byRes[60];
}NET_DVR_INQUEST_DEVICE_VERSION, *LPNET_DVR_INQUEST_DEVICE_VERSION;

Members

byMainVersion
Baseline major version
bySubVersion
Baseline minor version
byUpgradeVersion
Upgrade version, it is 0 if have not upgraded
byCustomizeVersion
Customized version, it is 0 if the device is not customized
byRes
Reserved

Remarks

If major version is 0, the vsrsion is unknown.
If major version is 1, the device is 8000 series inquest DVR. And if the minor version is 1, the device is 8000HD-S.
If major version is 2, the device is 8100 series inquest DVR. And if the minor version is 1, the device is 8100SHL; if the minor version is 2, the device is 8100SH; if the minor version is 3, the device is 8100SFH.

See Also

NET_DVR_InquestGetDeviceVersion


NET_DVR_INQUEST_FILEINFO

Structure of inquest file information.

struct{
  char    sFileName[36];
  DWORD   dwFileLen;
}NET_DVR_INQUEST_FILEINFO,*LPNET_DVR_INQUEST_FILEINFO;

Members

sFileName
File name
dwFileLen
Sizeo of file


NET_DVR_INQUEST_FILES

Structure of inquest files.

struct{
  LONG                        dwFileNum;
  NET_DVR_INQUEST_FILEINFO    struFileInfo[MAX_RECORD_FILE_NUM];
  DWORD                       dwCDIndex;
  BYTE                        bFinalizeDisc;
}NET_DVR_INQUEST_FILES,*LPNET_DVR_INQUEST_FILES;

Members

dwFileNum
The number of delected files: 20 max one time
struFileInfo
Information of single file
dwCDIndex
Index of CDRW: 1- NO.1, 2- NO.2, 3- NO.3, 4-NO.4, 5- all
bFinalizeDisc
0- don't finalize CD after finishing writing, 1- finalize CD after finishing writing

Remarks

The last two parameters are valid when writing CD.

See Also

NET_DVR_INQUEST_FILEINFO


NET_DVR_INQUEST_MESSAGE

Structure of key marker message.

struct{
  char                  sMessage[INQUEST_MESSAGE_LEN];
  BYTE                  byRes[46];
}NET_DVR_INQUEST_MESSAGE, *LPNET_DVR_INQUEST_MESSAGE;

Members

sMessage
Key marker message
byRes
Reserved

See Also

NET_DVR_InquestSendMessage


NET_DVR_INQUEST_MIX_AUDIOIN_CFG

Inquest DVR audio input mixed audio configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwMixCnt;
  BYTE     bySrcChan[MAX_MIX_CHAN_NUM];
  BYTE     byLineIn[MAX_LINE_IN_CHAN_NUM];
  BYTE     byMic[MAX_MIC_CHAN_NUM];
  BYTE     byMixAudioDelay;
  BYTE     byRes2[127];
}NET_DVR_INQUEST_MIX_AUDIOIN_CFG,*LPNET_DVR_INQUEST_MIX_AUDIOIN_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable mixed audio: 0- no, 1- yes
byRes1
Reserved, set as 0
dwMixCnt
No. of mixed audio channels
bySrcChan
Number array subscript means the mixed audio channel No. (analog channel, IP channel), number array value: 0- not mixed, 1- mixed
byLineIn
Number array subscript means the mixed Line In channel No., number array value: 0- not mixed, 1- mixed
byMic
Number array subscript means the mixed Mic channel No., number array value: 0- not mixed, 1- mixed
byMixAudioDelay
Mixed audio delay, unit: frame, value: 0 to 63
byRes2
Reserved, set as 0

Remarks

  • Line In and Mic cannot be mixed respectively in different inquest channel.
  • Whether device supports mixed audio configuration or supported capability, can be determined through device capability set (InquestAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <InquestMixAudoiInCfg>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_INQUEST_PIP_PARAM

Structure of picture-in-picture(PIP) position information.

struct{
  BYTE   byPipChan;
  BYTE   byRes[3];
  WORD   wTopLeftX;
  WORD   wTopLeftY;
}NET_DVR_INQUEST_PIP_PARAM,*LPNET_DVR_INQUEST_PIP_PARAM;

Members

byPipChan
PIP display channel: 0xFF means close PIP in the channel
byRes
Reserved
wTopLeftX
X axis coordinate of PIP
wTopLeftY
Y axis coordinate of PIP


NET_DVR_INQUEST_PIP_STATUS

Structure of picture-in-picture(PIP) status.

struct{
  BYTE                        byBaseChan;
  BYTE                        byBackChan;
  BYTE                        byPIPMode;
  NET_DVR_INQUEST_PIP_PARAM   strPipPara[MAX_INQUEST_PIP_NUM];
}NET_DVR_INQUEST_PIP_STATUS,*LPNET_DVR_INQUEST_PIP_STATUS;

Members

byBaseChan
Display base channel of PIP
byBackChan
Display back channel of PIP
byPIPMode
Whether to enable PIP mode: 0- close PIP, 1- open PIP
strPipPara
Parameter of PIP position

See Also

NET_DVR_INQUEST_PIP_PARAM


NET_DVR_INQUEST_ROOM

Structure of inquest room information.

struct{
  BYTE                  byRoomIndex;
  BYTE                  byRes[23];
}NET_DVR_INQUEST_ROOM, *LPNET_DVR_INQUEST_ROOM;

Members

byRoomIndex
Inquest room index
byRes
Reserved


NET_DVR_INQUEST_ROOM_INFO

Inquest room information structure

struct{
  char    szCDName[NAME_LEN];
  union{
           BYTE    byBitRate;
           BYTE    byInquestTime;
  }uCalcMode;
  BYTE    byCalcType;
  BYTE    byAutoDelRecord;
  BYTE    byAlarmThreshold;
  BYTE    byInquestChannelResolution;
  BYTE    byAutoOpenTray;
  BYTE    byRes[10];
}NET_DVR_INQUEST_ROOM_INFO,*LPNET_DVR_INQUEST_ROOM_INFO;

Members

szCDName
CD name, same name for double-burned CD
byBitRate
Bit rate, unit: Kbps, valid when byCalcType=0: 0- 32, 1- 48, 2- 64, 3- 80, 4- 96, 5- 128, 6- 160, 7- 192, 8- 224, 9- 256, 10- 320, 11- 384, 12- 448, 13- 512, 14- 640, 15- 768, 16- 896, (reserve the first 16 values), 17- 1024, 18- 1280, 19- 1536, 20- 1792, 21- 2048, 22- 3072, 23- 4096, 24- 8192, 25- 6144
byInquestTime
Time, valid when byCalcType=1: 0- 1h, 1- 2h, 2- 3h, 3- 4h, 4- 6h, 5- 8h, 8- 16h, 9- 20h, 10- 22h, 11- 24h
byCalcType
Burning type: 0- by bit rate, 1- by time
byAutoDelRecord
Whether to auto-delete video: 0- no (save video when done), 1- yes
byAlarmThreshold
Audio alarm threshold
byInquestChannelResolution
Inquest channel resolution: 0- 720P, 1- 1080P, 2- CIF, 3- 4CIF, 4- WD1, 5- VGA
byAutoOpenTray
Whether to auto-open tray: 0- no, 1- yes
byRes
Reserved

Remarks

Burning parameters supported by device can be obtained through NET_DVR_GetDeviceAbility.

See Also

NET_DVR_INQUEST_SYSTEM_INFO


NET_DVR_INQUEST_SECRET_INFO

Structure of device stream secret key information.

struct{
  BYTE   sSecretKey[16];
  BYTE   byRes[64];
}NET_DVR_INQUEST_SECRET_INFO,*LPNET_DVR_INQUEST_SECRET_INFO;

Members

sSecretKey
secret key of device stream
byRes
Reserved


NET_DVR_INQUEST_SENSOR_DEVICE

Structure of sensor device information.

struct{
  WORD                  wDeviceType;
  WORD                  wDeviceAddr;
  BYTE                  byRes[28];
}NET_DVR_INQUEST_SENSOR_DEVICE, *LPNET_DVR_INQUEST_SENSOR_DEVICE;

Members

wDeviceType
Data collection device type: 1- Mera, 2- Leicai, 3- Youli
wDeviceAddr
Data collection device address
byRes
Reserved

See Also

NET_DVR_INQUEST_SENSOR_INFO


NET_DVR_INQUEST_SENSOR_INFO

Structure of sensor configuration.

struct{
  NET_DVR_INQUEST_SENSOR_DEVICE    struSensorDevice[INQUEST_MAX_ROOM_NUM];
  DWORD                            dwSupportPro;
  BYTE                             byRes[120];
}NET_DVR_INQUEST_SENSOR_INFO, *LPNET_DVR_INQUEST_SENSOR_INFO;

Members

struSensorDevice
Sensor device information
dwSupportPro
Supported protocol type, described by bit:
0x1: Mera
0x2: Leicai
0x4: Youli
byRes
Reserved

See Also

NET_DVR_INQUEST_SYSTEM_INFO


NET_DVR_INQUEST_SYSTEM_INFO

Structure of sensor information.

struct{
  DWORD                         dwRecordMode;
  DWORD                         dwWorkMode;
  DWORD                         dwResolutionMode;
  NET_DVR_INQUEST_SENSOR_INFO   struSensorInfo;
  BYTE                          byRes[120];
}NET_DVR_INQUEST_SYSTEM_INFO, *LPNET_DVR_INQUEST_SYSTEM_INFO;

Members

dwRecordMode
Record mode: 1 Single room and double burned mode, 2- Single room and round burned mode, 3- double room and double burned mode
dwWorkMode
Working mode: 0- standard mode, 1- general mode
dwResolutionMode
Device resolution, 0- standard definition, 1- D1, 2- 720P, 3- 1080P
struSensorInfo
Temperature and humidity sensor configuration information
byRes
Reserved

See Also

NET_DVR_InquestGetSystemInfo NET_DVR_InquestSetSystemInfo


NET_DVR_INQUEST_USER_RIGHT_CFG

Inquest DVR user permission configuration structure

struct{
  DWORD    dwSize;
  BYTE     byLocalRight[MAX_RIGHT];
  BYTE     byRemoteRight[MAX_RIGHT];
  BYTE     byNetAudioRight[MAX_CHANNUM_V40];
  BYTE     byRes[512*9];
}NET_DVR_INQUEST_USER_RIGHT_CFG,*LPNET_DVR_INQUEST_USER_RIGHT_CFG;

Members

dwSize
Structure size
byLocalRight
Whether to have local permission, number array value: 0- no, 1- yes, each number array means a permission type:
Number array 0: inquest record deletion permission
byRemoteRight
Whether to have remote permission, number array value: 0- no, 1- yes, each number array means a permission type:
Number array 0: remote audio live view permission
byNetAudioRight
Remote audio live view permission channel, subscript of number array means whether to have permission: 0- no, 1- yes
byRes
Reserved, set as 0

Remarks

  • Normal user can only get permission, but cannot set permission.
  • Whether the device supports inquest DVR user permission function or supported capability, can be determined through device capability set (InquestAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <InquestUserRight>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_INTRUSION_SEARCHCOND

区域入侵录像查找条件参数Structure。

struct{
  NET_VCA_INTRUSION             struVcaIntrusion[MAX_INTRUSIONREGION_NUM];
  DWORD                         dwPreTime;
  DWORD                         dwDelayTime;
  NET_DVR_PTZPOS_INFO           struPTZPosInfo;
  BYTE                          byAdvanceType;
  BYTE                          byRes1[3];
  NET_DVR_ADVANCE_COND_UNION    uAdvanceCond;
  BYTE                          byRes[5348];
}NET_DVR_INTRUSION_SEARCHCOND,*LPNET_DVR_INTRUSION_SEARCHCOND;

Members

struVcaIntrusion
Intrusion area parameter
dwPreTime
Smart pre-alarm time, unit: s
dwDelayTime
Smart post-alarm time, unit: s
struPTZPosInfo
PTZ coordinate information
byAdvanceType
Combination: 0- do not use group No., 1- combine with human body, 2- combine with object color
byRes1
Reserved, set as 0
uAdvanceCond
Combination properties
byRes
Reserved, set as 0

See Also

NET_DVR_AREA_SMARTSEARCH_COND_UNION


NET_DVR_INVALID_DISK_PARAM

Structure of invalid disk parameter

struct{
  NET_DVR_STRUCTHEAD    struStructHead;
  DWORD                 dwDiskNo;
  BYTE                  byDelAll;
  BYTE                  byRes[31];
}NET_DVR_INVALID_DISK_PARAM,*LPNET_DVR_INVALID_DISK_PARAM;

Members

struStructHead
Structure head
dwDiskNo
Disk number
byDelAll
0- delete the disk which number is dwDiskNo, 1- delete all invalid disk
byRes
Reserved

See Also

NET_DVR_RemoteControl


NET_DVR_IO_INCFG

Structure of IO input configuration

struct{
  DWORD      dwSize;
  BYTE       byIoInStatus;
  BYTE       byRes[3];
}NET_DVR_IO_INCFG, *LPNET_DVR_IO_INCFG;

Members

dwSize
Structure size
byIoInStatus
Signal status of input IO port to trigger snapshot: 0- falling edge, 1- rising edge, 2- falling edge and rising edge, 3- high-level voltage, 4- low-level voltage
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_IO_OUTCFG

Structure of IO output configuration

struct{
  DWORD       dwSize;
  BYTE        byDefaultStatus;
  BYTE        byIoOutStatus;
  WORD        wAheadTime;
  DWORD       dwTimePluse;
  DWORD       dwTimeDelay;
  DWORD       byFreqMulti;
  DWORD       byDutyRate;
  BYTE        byRes[2];
}NET_DVR_IO_OUTCFG, *LPNET_DVR_IO_OUTCFG;

Members

dwSize
Structure size
byDefaultStatus
IO default status: 0-low-level voltage, 1- high-level voltage
byIoOutStatus
Status of IO output: 0- low-level voltage, 1- high-level voltage, 2- pulse
wAheadTime
Ahead time of IO output, unit: us
dwTimePluse
Interval time of pulse, unit: us
dwTimeDelay
Delay of IO, unit: us
byFreqMulti
Multi-frequency,range [1,15]
byDutyRate
DutyRate,range [0,40%]
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_IO_RELATION_INFO

Matrix input and output relationship information structure

struct{
  DWORD    dwSize;
  DWORD    dwIORelation[MATRIX_MAX_OUTPUT_NUM];
  BYTE     byRes[256];
}NET_DVR_IO_RELATION_INFO,*LPNET_DVR_IO_RELATION_INFO;

Members

dwSize
Structure size
dwIORelation
The output channel related input channel, dwIORelation[i] = j indicates that the output channel (i+1) relates to the input channel j，dwIORelation[i] = 0 indicates that the output channel i+1 does not relate to any input channel. For LCD splicing screen (screen server), it indicates the relationship between screen and matrix, 拼接屏（屏幕服务器），i+1 is the screen index No.（starts from 1 ), j is the matrix input channel No.
byRes
Reserved, set as 0.


NET_DVR_IOOUT_CFG

Structure of supplyment light configuration

struct{
  DWORD                  dwSize;
  BYTE                   byWorkMode;
  BYTE                   byRes1[3];
  union
  {
      BYTE                       byUnionLen[128];
      struct
      {
          BYTE                   byDefaultState;
          BYTE                   byWorkStart;
          BYTE                   byFreqMulti;
          BYTE                   byDutyRatio;
          BYTE                   byRes[3];
          BYTE                   byFlashLightEnable;
          NET_DVR_SCHEDTIME      struFlashLightTime,
          BYTE                   byRes1[116];
      }struStrobeLamp
  }uWorkModeInfo
  BYTE                   byRes2[128];
}NET_DVR_IOOUT_CFG, *LPNET_DVR_IOOUT_CFG;

Members

dwSize
The size of structure
byWorMode
the work mode of output port: 0-alarm output,1-strobe light(default)
byRes1[3]
Reserve
byUnionLen
The length of union
byDefaultState
Default state: 0-low(default), 1-high
byDefaultState
Word state: 0-low(default), 1-high, 2-pulse
byFreqMulti
multi-frequency, value range: [1,15]
byDutyRatio
Duty Ratio, value range: [0,40%]
byRes[3]
Reserve
byFlashLightEnable
Open the time of flash light: 0-close, 1-open
struFlashLightTime
Set the time of flash light
byRes1
Reserve
byRes2
Reserve

See Also

NET_DVR_GetDeviceConfig


NET_DVR_IOOUT_COND

Structure of condition parameter to get supplyment light information

struct{
  DWORD              dwSize;
  BYTE               bySyncOutputNo;
  BYTE               byRes[63];
}NET_DVR_IOOUT_COND, *LPNET_DVR_IOOUT_COND;

Members

dwSize
The size of structure
bySyncOutputNo
0-F1, 1-F2, 2-F3
byRes
Reserve

See Also

NET_DVR_GetDeviceConfig


NET_DVR_IP_ADDRESS

Structure of IP address information

struct{
  BYTE    byDevAddress[MAX_DOMAIN_NAME];
  WORD    wDevPort;
  BYTE    byres[134];
}NET_DVR_IP_ADDRESS, *LPNET_DVR_IP_ADDRESS;

Members

byDevAddress
Device IP address
wDevPort
Device port
byres
Reserved

See Also

NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX


NET_DVR_IP_VIEW_AUDIO_CFG

Structure of audio parameters configuration of IP extension talk

struct{
  DWORD    dwSize;
  BYTE     byAudioEncPri1;
  BYTE     byAudioEncPri2;
  WORD     wAudioPacketLen1;
  WORD     wAudioPacketLen2 ;
  BYTE     byRes[30];
}NET_DVR_IP_VIEW_AUDIO_CFG,*LPNET_DVR_IP_VIEW_AUDIO_CFG;

Members

dwSize
Structure size
byAudioEncPri1
The priority of audio encoding:0- OggVorbis，1- G711_U，2- G711_A，5- MP2L2，6- G726，7- AAC
byAudioEncPri2
The second priority of audio encoding（when sip server doesn't support audio endcoding 1）：0-OggVorbis，1-G711_U，2-G711_A，5-MP2L2，6-G726，7-AAC
wAudioPacketLen1
Data package od audio encoding 1,data range:0-160 bytes,1-320 bytes
wAudioPacketLen2
Data package od audio encoding 2,data range:0-160 bytes,1-320 bytes
byRes
Reserved, set it to 0


NET_DVR_IP_VIEW_CALL_CFG

Structure of call configuration of IP visual intercom host

struct{
  DWORD    dwSize;
  BYTE     byEnableAutoResponse;
  BYTE     byAudoResponseTime;
  BYTE     byRes1[2];
  BYTE     byEnableAlarmNumber1;
  BYTE     byRes2[3];
  WORD     byAlarmNumber1[MAX_NUMBER_LEN];
  BYTE     byEnableAlarmNumber2;
  BYTE     byRes3[3];
  BYTE     byAlarmNumber2[MAX_NUMBER_LEN];
  BYTE     byRes4[72];
}NET_DVR_IP_VIEW_CALL_CFG,*LPNET_DVR_IP_VIEW_CALL_CFG;

Members

dwSize
Structure size
byEnableAutoResponse
Enable auto response: 0- disable, 1- enable
byAudoResponseTime
Time of auto response, data range: 0-30,unit:s
byRes1
Reserved, set it to 0
byEnableAlarmNumber1
Enable alarm number 1: 0- no, 1- yes
byRes2
Reserved, set it to 0
byAlarmNumber1
Alarm number 1
byEnableAlarmNumber2
Enable alarm number 2: 0- no, 1- yes
byRes3
Reserved, set it to 0
byAlarmNumber2
Alarm number 2, call alarm number 2 when call alarm number 1 failed
byRes4
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_IP_VIEW_DEVCFG

Structure of IP extension talk cinfiguration

struct{
  DWORD    dwSize;
  BYTE     byDefaultRing;
  BYTE     byRingVolume;
  BYTE     byInputVolume;
  BYTE     byOutputVolume;
  WORD     wHttpPort;
  WORD     wRtpPort;
  DWORD    dwPreviewDelayTime;
  BYTE     byRes[64];
}NET_DVR_IP_VIEW_DEVCFG,*LPNET_DVR_IP_VIEW_DEVCFG;

Members

dwSize
Structure size
byDefaultRing
Default ringtone, data range: 1-6
byRingVolume
Ringtone volume, data range: 0-9
byInputVolume
Input volume, datda range: 0-6
byOutputVolume
Output volume, data range: 0-9
wHttpPort
HTTP port
wRtpPort
RTP port
dwPreviewDelayTime
Configuration of live view delay, data range: 0-30s
byRes
Reserved, set it to 0


NET_DVR_IPADDR

The structure of IP address。

struct{
  char    sIpV4[16];
  BYTE    sIpV6[128];
}NET_DVR_IPADDR, *LPNET_DVR_IPADDR;

Members

sIpV4
The IPv4 address of the device
sIpV6
The IPv6 address of the device


NET_DVR_IPALARMINCFG

Structure of IP alarm-in configuration.

struct{
  DWORD                      dwSize;
  NET_DVR_IPALARMININFO      struIPAlarmInInfo[MAX_IP_ALARMIN];
}NET_DVR_IPALARMINCFG, *LPNET_DVR_IPALARMINCFG;

Members

dwSize
Structure size
struIPAlarmInInfo
Information of IP alarm input

Remarks

1.Resource of IP alarm input can be got only. 9000 series device gets alarm information form resource of IP devices and arranges them compactly, then transfer them to network SDK.

2.Subscript index of IP alarm-in resource(from 0 to MAX_IP_ALARMIN -1) plus MAX_ANALOG_ALARMIN is subscript index(from MAX_ANALOG_ALARMIN to MAX_ALARMIN_V30-1) of parameters related to IP alarm input(structure of alarm input configuration and so on)

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_IPALARMININFO


NET_DVR_IPALARMINCFG_V40

The structure of IP alarm input configuration(expanding)

struct{
  DWORD                        dwSize;
  DWORD                        dwCurIPAlarmInNum;
  NET_DVR_IPALARMININFO_V40    struIPAlarmInInfo[MAX_IP_ALARMIN_V40];
  BYTE                         byRes[256];
}NET_DVR_IPALARMINCFG_V40, *LPNET_DVR_IPALARMINCFG_V40;

Members

dwSize
The size of the structure
dwCurIPAlarmInNum
The current alarm input number
struIPAlarmInInfo
IP alarm input information
byRes
Reserved

See Also

NET_DVR_GetDVRConfig


NET_DVR_IPALARMINFO

Structure of alarm information for IPC connection configuration changed.

struct{
  NET_DVR_IPDEVINFO         struIPDevInfo[MAX_IP_DEVICE];
  BYTE                      byAnalogChanEnable[MAX_ANALOG_CHANNUM];
  NET_DVR_IPCHANINFO        struIPChanInfo[MAX_IP_CHANNEL];
  NET_DVR_IPALARMININFO     struIPAlarmInInfo[MAX_IP_ALARMIN];
  NET_DVR_IPALARMOUTINFO    struIPAlarmOutInfo[MAX_IP_ALARMOUT];
}NET_DVR_IPALARMINFO,*LPNET_DVR_IPALARMINFO;

Members

struIPDevInfo
Information of IP device
byAnalogChanEnable
Whether analog channel is enabled: 0- disable, 1- enable. E.g. If the value of byAnalogChanEnable[0] is 1, analog channel NO.1 is enabled.
struIPChanInfo
Parameters of IP channel
struIPAlarmInInfo
IP alarm input information
struIPAlarmOutInfo
IP alarm output information

See Also

NET_DVR_IPDEVINFO NET_DVR_IPCHANINFO NET_DVR_IPALARMININFO NET_DVR_IPALARMOUTINFO


NET_DVR_IPALARMINFO_V31

Structure of alarm information for IPC connection configuration changed.(extend)

struct{
  NET_DVR_IPDEVINFO_V31     struIPDevInfo[MAX_IP_DEVICE];
  BYTE                      byAnalogChanEnable[MAX_ANALOG_CHANNUM];
  NET_DVR_IPCHANINFO        struIPChanInfo[MAX_IP_CHANNEL];
  NET_DVR_IPALARMININFO     struIPAlarmInInfo[MAX_IP_ALARMIN];
  NET_DVR_IPALARMOUTINFO    struIPAlarmOutInfo[MAX_IP_ALARMOUT];
}NET_DVR_IPALARMINFO_V31,*LPNET_DVR_IPALARMINFO_V31;

Members

struIPDevInfo
Information of IP device
byAnalogChanEnable
Whether analog channel is enabled: 0- disable, 1- enable. E.g. If the value of byAnalogChanEnable[0] is 1, analog channel NO.1 is enabled.
struIPChanInfo
Parameters of IP channel
struIPAlarmInInfo
IP alarm input information
struIPAlarmOutInfo
IP alarm output information

See Also

NET_DVR_IPDEVINFO_V31 NET_DVR_IPCHANINFO
NET_DVR_IPALARMININFO NET_DVR_IPALARMOUTINFO


NET_DVR_IPALARMININFO

Structure of IP alarm-in information.

struct{
  BYTE     byIPID;
  BYTE     byAlarmIn;
  BYTE     byRes[18];
}NET_DVR_IPALARMININFO, *LPNET_DVR_IPALARMININFO;

Members

byIPID
ID of IP device, range: [1,MAX_IP_DEVICE],in which #define MAX_IP_DEVICE 32
byAlarmIn
Alarm input NO.
byRes
Reserved, please set it to 0


NET_DVR_IPALARMININFO_V40

The structure of IP alarm input information

struct{
  DWORD    dwIPID;
  DWORD    dwAlarmIn;
  BYTE     byRes[32];
}NET_DVR_IPALARMININFO_V40, *LPNET_DVR_IPALARMININFO_V40;

Members

dwIPID
IP device ID, value range [1,MAX_IP_DEVICE_V40], #define MAX_IP_DEVICE_V40 64
dwAlarmIn
The alarm input No. related to the IP device ID
byRes
reserved, set as 0.

See Also

NET_DVR_IPALARMINCFG_V40


NET_DVR_IPALARMOUTCFG

Structure of IP alarm-out configuration.

struct{
  DWORD                      dwSize;
  NET_DVR_IPALARMOUTINFO     struIPAlarmOutInfo[MAX_IP_ALARMOUT];
}NET_DVR_IPALARMOUTCFG, *LPNET_DVR_IPALARMOUTCFG;

Members

dwSize
Structure size
struIPAlarmOutInfo
Information of IP alarm output

Remarks

1.Resource of IP alarm output can be got only. 9000 series device gets alarm information from resource of IP devices and arranges them compactly, then transfer them to network SDK.

2.Subscript index of IP alarm-out resource (from 0 to MAX_IP_ALARMOUT -1)plus MAX_ANALOG_ALARMOUT is subscript index (from MAX_ANALOG_ALARMOUT to MAX_ALARMOUT_V30-1) of parameters related to IP alarm output (structure of alarm input configuration, alarm triggered by transaction and so on).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_IPALARMOUTINFO


NET_DVR_IPALARMOUTCFG_V40

The structure of alarm output parameters (expanding)。

struct{
  DWORD                         dwSize;
  DWORD                         dwCurIPAlarmOutNum;
  NET_DVR_IPALARMOUTINFO_V40    struIPAlarmOutInfo[MAX_IP_ALARMOUT_V40];
  BYTE                          byRes[256];
}NET_DVR_IPALARMOUTCFG_V40,*LPNET_DVR_IPALARMOUTCFG_V40;

Members

dwSize
The size of the structure
dwCurIPAlarmOutNum
The current alarm output number
struIPAlarmOutInfo
IP alarm output information
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig

Reference Structure

This structure is expanded from

NET_DVR_IPALARMOUTCFG


NET_DVR_IPALARMOUTINFO

Structure of IP alarm-out information.

struct{
  BYTE     byIPID;
  BYTE     byAlarmOut;
  BYTE     byRes[18];
}NET_DVR_IPALARMOUTINFO, *LPNET_DVR_IPALARMOUTINFO;

Members

byIPID
ID of IP device, range: [1,MAX_IP_DEVICE],in which #define MAX_IP_DEVICE 32
byAlarmOut
Alarm output number
byRes
Reserved, please set it to 0


NET_DVR_IPALARMOUTINFO_V40

The structure of IP alarm output information

struct{
  DWORD    dwIPID;
  DWORD    dwAlarmOut;
  BYTE     byRes[32];
}NET_DVR_IPALARMOUTINFO_V40, *LPNET_DVR_IPALARMOUTINFO_V40;

Members

dwIPID
IP Device ID, value range[1,MAX_IP_DEVICE_V40], #define MAX_IP_DEVICE_V40 64
dwAlarmOut
The alarm output No.corresponded to the IP device ID
byRes
Reserved, set as 0.

See Also

NET_DVR_IPALARMOUTCFG_V40


NET_DVR_IPC_NETCFG

Structure of IPC network parameter configuration.

struct{
  DWORD                    dwSize;
  NET_DVR_IPADDR           struIP;
  WORD                     wPort;
  char                     res[126];
}NET_DVR_IPC_NETCFG,*LPNET_DVR_IPC_NETCFG;

Members

dwSize
Structure size
struIP
IPC IP address
wPort
IPC port
res
Reserved, please set to 0

See Also

NET_DVR_IPADDR NET_DVR_SetDVRConfig


NET_DVR_IPC_PARAM_TYPE

Clearing front-end device control parameters structure

struct{
  DWORD    dwSize;
  DWORD    dwParamType;
  BYTE     byRes[32];
}NET_DVR_IPC_PARAM_TYPE, *LPNET_DVR_IPC_PARAM_TYPE;

Members

dwSize
Structure size
dwParamType
Parameters type, represented by bit, value: 0- Not clearing, 1-Clearing
Macro Definition | Macro Value | Description
IPC_PARAM_AGING_TRICK_SCAN | 0x00000001 | Clearing pattern parameters
byRes
Reserved, set as 0.

See Also

NET_DVR_RemoteControl


NET_DVR_IPC_PASSWD

Structure of IPC user name and password configuration.

struct{
  DWORD                    dwSize;
  char                     sOldPasswd[PASSWD_LEN];
  char                     sNewPasswd[PASSWD_LEN];
  BYTE                     byRes[32];
}NET_DVR_IPC_PASSWD,*LPNET_DVR_IPC_PASSWD;

Members

dwSize
Structure size
sOldPasswd
Old password, sent to the device and the device will verify it
sNewPasswd
New password
byRes
Reserved, please set to 0

See Also

NET_DVR_SetDVRConfig


NET_DVR_IPC_PROTO_LIST

Structure of IPC protocol list.

struct{
  DWORD                dwSize;
  DWORD                dwProtoNum;
  NET_DVR_PROTO_TYPE   struProto[IPC_PROTOCOL_NUM];
  BYTE                 byRes[8];
}NET_DVR_IPC_PROTO_LIST,*LPNET_DVR_IPC_PROTO_LIST;

Members

dwSize
Structure size
dwProtoNum
The number of valid IPC protocols
struProto
Parameter structure of valid IPC protocols
byRes
Reserved, please set it to 0

See Also

NET_DVR_PROTO_TYPE


NET_DVR_IPCHANINFO

Structure of IP channel information.

struct{
  BYTE     byEnable;
  BYTE     byIPID;
  BYTE     byChannel;
  BYTE     byIPIDHigh;
  BYTE     byRes[32];
}NET_DVR_IPCHANINFO, *LPNET_DVR_IPCHANINFO;

Members

byEnable
IP channel on-line status, it is read only: 0 means that digital channel of 9000 series device connecting to IP device is failed, and the channel is off-line; 1 means connection is successful, and the channel is on-line
byIPID
The lower 8 bits of IP ID, byIPID = iDevID % 256
byChannel
Channel number of IP device, for example, if no.4 channel of DS-6604HF is added to the IP channel no.1 of DS-9616N-ST, byChannel=4
byIPIDHigh
The higher 8 bits of IP ID, byIPIDHigh = iDevID /256
byRes
Reserved, please set it to 0

Remarks

iDevID is the device ID, and iDevID = byIPIDHigh*256 + byIPID.
It supports to search the device information -- struIPDevInfo (parameter of NET_DVR_IPPARACFG_V40) by iDevID.
The relation ship between iDevID and iDevInfoIndex: iDevID = iDevInfoIndex + iGroupNO*64 +1.


NET_DVR_IPDEVICE_ACTIVATE_CFG

The structure of the activating parameters of the IP channel front-end device

struct{
  DWORD            dwSize;
  BYTE             byMode;
  BYTE             bySelfDefinePassword;
  BYTE             sPassword[PASSWD_LEN];
  BYTE             sUserName[NAME_LEN];
  BYTE             byRes[78];
  union{
           BYTE                  byLen[512];

           struct{
           DWORD                 dwChannelNo;
           BYTE                  byRes[508];
           }struChannelInfo;

           struct{
           NET_DVR_IPADDR   struIp;
           WORD                 wPort;
           BYTE                  sProtocolDesc[DESC_LEN];
           BYTE                  byMacAddr[MACADDR_LEN];
           BYTE                  byRes[344];
           }struAddrInfo;
  }unActivateDeviceInfo;
}NET_DVR_IPDEVICE_ACTIVATE_CFG,*LPNET_DVR_IPDEVICE_ACTIVATE_CFG;

Members

dwSize
The size of the structure
byMode
Activating mode, 0- activating by channel, 1- Activating by address
bySelfDefinePassword
Enable custom password? 0- No, 1- Yes
sPassword
Custom password
sUserName
User name
byRes
Reserved, set as 0.
unActivateDeviceInfo is the union of activating parameters
byLen
The size of the union, 512 bytes
struChannelInfo is the parameters of activating by channel
dwChannelNo
Channel No.
byRes
Reserved, set as 00
struAddrInfo is the parameters of activating by address
struIp
Device IP address
wPort
Device port No.
sProtocolDesc
Protocol type
byMacAddr
MAC physical address
byRes
reserved, set as 0.

Remarks

  • This configuration parameter is associated to the capability of activating front-end device by NVR(VideoSourceActivationCapability), Interface：NET_DVR_GetSTDAbility( Capability type：NET_DVR_GET_ACTIVATE_IPC_ABILITY).

    • See Also

    NET_DVR_SetSTDConfig


NET_DVR_IPDEVINFO

Structure of IP device information.

struct{
  DWORD              dwEnable;
  BYTE               sUserName[NAME_LEN];
  BYTE               sPassword[MAX_ANALOG_CHANNUM];
  NET_DVR_IPADDR     struIP;
  WORD               wDVRPort;
  BYTE               byRes[34];
}NET_DVR_IPDEVINFO, *LPNET_DVR_IPDEVINFO;

Members

dwEnable
Whether the IP device is enabled
sUserName
Username
sPassword
Password
struIP
IP address
wDVRPort
Port NO.
byRes
Reserved, please set it to 0

Remarks

When all IP channels of one IP device are delected, that is IPID of all IP channel parameters in IP channel resource minus 1 isn't corresponding to subscript value of this IP device parameters, the local IP device parameters of 9000 series device will be deleted.

See Also

NET_DVR_IPADDR


NET_DVR_IPDEVINFO_V31

Structure of IP device information.

struct{
  BYTE               byEnable;
  BYTE               byProType;
  BYTE               byEnableQuickAdd;
  BYTE               byRes1;
  BYTE               sUserName[NAME_LEN];
  BYTE               sPassword[PASSWD_LEN];
  BYTE               byDomain[MAX_DOMAIN_NAME];
  NET_DVR_IPADDR     struIP;
  WORD               wDVRPort;
  BYTE               byRes2[34];
}NET_DVR_IPDEVINFO_V31, *LPNET_DVR_IPDEVINFO_V31;

Members

byEnable
Whether the IP device is enabled
byProType
Protocol type: 0- private (default), 1- Panasonic, 2- sony
byEnableQuickAdd
0- don't support quick adding, 1- use quick adding
byRes1
Reserved, please set it to 0
sUserName
Username
sPassword
Password
byDomain
Domain name
struIP
IP address
wDVRPort
Port number
byRes2
Reserved, please set it to 0

Remarks

When all IP channels of one IP device are deleted, that is IPID of all IP channel parameters in IP channel resource minus 1 isn't corresponding to subscript value of this IP device parameters, the local IP device parameters of 9000 series device will be deleted.

In this structure, if domain name is null and ipv4 is valid, it will use the ipv4 to connect to the IP device; if both domain name and ipv4 are null, and ipv6 is valid, it will use the ipv6 to connect to the IP device.

See Also

NET_DVR_IPADDR


NET_DVR_IPPARACFG

Structure of IP device resource and IP channel resource configuration.

struct{
  DWORD                  dwSize;
  NET_DVR_IPDEVINFO      struIPDevInfo[MAX_IP_DEVICE];
  BYTE                   byAnalogChanEnable[MAX_ANALOG_CHANNUM];
  NET_DVR_IPCHANINFO     struIPChanInfo[MAX_IP_CHANNEL];
}NET_DVR_IPPARACFG, *LPNET_DVR_IPPARACFG;

Members

dwSize
Structure size
struIPDevInfo
IP device, struIPDevInfo[0] means device which IPID is 1.
byAnalogChanEnable
Whether analog channels are enabled: 0- disable, 1- enable. If configuration of DS-9000 is changed, the device will reboot automatically.
struIPChanInfo
IP channel information

Remarks

1. IP devices connected to 9000 series include IP cameras, Encoder and so on. struDevInfo saves log-in information and struDevInfo array subscript index value corresponding to byIPID of struIPChanInfo will plus 1 automatically. struDevInfo array subscript index value corresponding to byIPID of NET_DVR_IPALARMINCFG and NET_DVR_IPALARMOUTCFG will plus 1 too.

2. Subscript of analog channel (from 0 to MAX_ANALOG_CHANNUM-1) is the same with subscript of channel correlative parameter (channel image, compression, record, alarm action, channel triggered to record).

3. I subscript of IP channel (from 0 to MAX_IP_CHANNEL-1) plus MAX_ANALOG_CHANNUM is the subscript value of channel correlative parameters (from MAX_ANALOG_CHANNUM to MAX_CHANNUM_V30-1).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_IPDEVINFO NET_DVR_IPCHANINFO


NET_DVR_IPPARACFG_V31

Structure of IP device resource and IP channel resource configuration.

struct{
  DWORD                   dwSize;
  NET_DVR_IPDEVINFO_V31   struIPDevInfo[MAX_IP_DEVICE];
  BYTE                    byAnalogChanEnable[MAX_ANALOG_CHANNUM];
  NET_DVR_IPCHANINFO      struIPChanInfo[MAX_IP_CHANNEL];
}NET_DVR_IPPARACFG_V31, *LPNET_DVR_IPPARACFG_V31;

Members

dwSize
Structure size
struIPDevInfo
IP device, struIPDevInfo[0] means device which IPID is 1
byAnalogChanEnable
Whether analog channels are enabled: 0- disable, 1- enable. If configuration of DS-9000 is changed, the device will reboot automatically
struIPChanInfo
IP channel information

Remarks

1. IP devices connected to DS-90xx series includes IP cameras, Encoder and so on. struDevInfo saves login information and byIPID of struIPChanInfo corresponds to "the value of struDevInfo array subscript index" plus 1. byIPID of NET_DVR_IPALARMINCFG and NET_DVR_IPALARMOUTCFG corresponds to "the value of struDevInfo (parameter in NET_DVR_IPPARACFG_V31) array subscript index" plus 1 too.

2. Subscript of analog channel (from 0 to MAX_ANALOG_CHANNUM-1) corresponds to the subscript of channel correlative parameter (channel image, compression, record, alarm action, channel triggered to record).The channel number equals to the subscript plus the starting channel number (byStartChan of NET_DVR_DEVICEINFO_V30).

3. The subscript of struIPChanInfo (from 0 to MAX_IP_CHANNEL-1) plus MAX_ANALOG_CHANNUM, and then plus the starting channel number (byStartChan of NET_DVR_DEVICEINFO_V30) is the subscript value of channel correlative parameters (from MAX_ANALOG_CHANNUM+byStartChan to MAX_CHANNUM_V30-1+byStartChan).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
NET_DVR_IPDEVINFO_V31 NET_DVR_IPCHANINFO


NET_DVR_IPPARACFG_V40

Structure of IP device resource and IP channel resource configuration.

struct{
  DWORD                   dwSize;
  DWORD                   dwGroupNum;
  DWORD                   dwAChanNum;
  DWORD                   dwDChanNum;
  DWORD                   dwStartDChan;
  BYTE                    byAnalogChanEnable[MAX_CHANNUM_V30];
  NET_DVR_IPDEVINFO_V31   struIPDevInfo[MAX_IP_DEVICE_V40];
  NET_DVR_STREAM_MODE     struStreamMode[MAX_CHANNUM_V30];
  BYTE                    byRes2[20];
}NET_DVR_IPPARACFG_V40, *LPNET_DVR_IPPARACFG_V40;

Members

dwSize
Structure size
dwGroupNum
Group number supported by device. If the number is larger than 1, when call NET_DVR_GetDVRConfig(or NET_DVR_SetDVRConfig) to get (or set) channel parameters, you should call the same API dwGroupNum times to get channel paramters of each group.
lChannel in the configuration APIs corresponds to the group number.
dwAChanNum
The max number of analog channels
dwDChanNum
The max number of IP channels
dwStartDChan
The starting number of IP channels
byAnalogChanEnable
Whether analog channels are enabled, from byAnalogChanEnable[0] to byAnalogChanEnable[63] means chanel no.1~no.64
The value: 0- disable, 1- enable
struIPDevInfo
IP channel information, struStreamMode[0] corresponds to no.1 IP channel (IPID=1)
struStreamMode
Stream mode
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

NET_DVR_IPPARACFG


NET_DVR_IPSAN_SERACH_PARAM

Structure of IPSAN directory searching condition

struct{
  NET_DVR_IPADDR    struIP;
  WORD              wPort;
  BYTE              byRes[10];
}NET_DVR_IPSAN_SERACH_PARAM,*LPNET_DVR_IPSAN_SERACH_PARAM;

Members

struIP
IPSAN IP address
wPort
IPSAN port
byRes
Reserved, please set it to 0

See Also

NET_DVR_FindIpSanDirectory


NET_DVR_IPSAN_SERACH_RET

Structure of IPSAN file directory

struct{
  BYTE    byDirectory[128];
  BYTE    byRes[20];
}NET_DVR_IPSAN_SERACH_RET,*LPNET_DVR_IPSAN_SERACH_RET;

Members

byDirectory
The file directory
byRes
Reserved, please set it to 0

See Also

NET_DVR_FindNextDirectory


NET_DVR_IPSERVER_STREAM

Structure of IP Server mode configuration.

struct{
  BYTE               byEnable;
  BYTE               byRes[3];
  NET_DVR_IPADDR     struIPServer;
  WORD               wPort;
  WORD               wDvrNameLen;
  BYTE               byDVRName[NAME_LEN];
  WORD               wDVRSerialLen;
  WORD               byRes1[2];
  BYTE               byDVRSerialNumber[SERIALNO_LEN];
  BYTE               byUserName[NAME_LEN];
  BYTE               byPassWord[PASSWD_LEN];
  BYTE               byChannel;
  BYTE               byRes2[11];
}NET_DVR_IPSERVER_STREAM, *LPNET_DVR_IPSERVER_STREAM;

Members

byEnable
Enable or not: 0- disable, 1- enable
byRes
Reserved, please set it to 0
struIPServer
IPServer IP address
wPort
IPServer port number
wDvrNameLen
Length of DVR name
byDVRName
DVR name
wDVRSerialLen
Length of serial number
byRes1
Reserved, please set it to 0
byDVRSerialNumber
DVR serial number
byUserName
DVR user name
byPassWord
DVR password
byChannel
DVR channel, parameter value means the channel number, e.g. byChannel=1 means channel no.1
byRes2
Reserved, please set it to 0

See Also

NET_DVR_IPADDR


NET_DVR_ISP_CAMERAPARAMCFG

Structure of ISP camera parameters configuration

struct{
  DWORD                        dwSize;
  BYTE                         byWorkType;
  BYTE                         byRes[3];
  NET_DVR_SCHEDULE_DAYTIME     struDayNightScheduleTime;
  NET_DVR_CAMERAPARAMCFG_EX    struSelfAdaptiveParam;
  NET_DVR_CAMERAPARAMCFG_EX    struDayIspAdvanceParam;
  NET_DVR_CAMERAPARAMCFG_EX    struNightIspAdvanceParam;
  BYTE                         byRes1[512];
}NET_DVR_ISP_CAMERAPARAMCFG, *LPNET_DVR_ISP_CAMERAPARAMCFG;

Members

dwSize
Structure size
byWorkType
Work mode：0- self-adaption,1- regular
byRes
Reserved, set it to 0
struDayNightScheduleTime
Regular switch time is valid when byWorkType==1, inside of time is daytime, the others is night
struSelfAdaptiveParam
Self adaption parameters is valid when byWorkType==0
struDayIspAdvanceParam
Daytime parameter is valid when byWorkType==1
struNightIspAdvanceParam
Night parameter is valid when byWorkType==1
byRes1
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ITS_ABILITY

Structure of traffic ability.

struct{
  DWORD             dwSize;
  DWORD             dwAbilityType;
  BYTE              byMaxRuleNum;
  BYTE              byMaxTargetNum;
  BYTE              byRes[10];
}NET_DVR_ITS_ABILITY,*LPNET_DVR_ITS_ABILITY;

Members

dwSize
Structure size
dwAbilityType
Supported ability list
enum _ITS_ABILITY_TYPE_{
  ITS_CONGESTION_ABILITY              = 0x01,
  ITS_PARKING_ABILITY                 = 0x02,
  ITS_INVERSE_ABILITY                 = 0x04,
  ITS_PEDESTRIAN_ABILITY              = 0x08,
  ITS_DEBRIS_ABILITY                  = 0x10,
  ITS_SMOG_ABILITY                    = 0x20,
  ITS_LANE_VOLUME_ABILITY             = 0x010000,
  ITS_LANE_VELOCITY_ABILITY           = 0x020000,
  ITS_TIME_HEADWAY_ABILITY            = 0x040000,
  ITS_SPACE_HEADWAY_ABILITY           = 0x080000,
  ITS_TIME_OCCUPANCY_RATIO_ABILITY    = 0x100000,
  ITS_SPACE_OCCUPANCY_RATIO_ABILITY   = 0x200000,
  ITS_LANE_QUEUE_ABILITY              = 0x400000
}ITS_ABILITY_TYPE
ITS_CONGESTION_ABILITY
Congestion
ITS_PARKING_ABILITY
Parking
ITS_INVERSE_ABILITY
Inverse
ITS_PEDESTRIAN_ABILITY
Pedestrian
ITS_DEBRIS_ABILITY
Debris
ITS_SMOG_ABILITY
Smog-Tunnel
ITS_LANE_VOLUME_ABILITY
Lane traffic flow
ITS_LANE_VELOCITY_ABILITY
Lane average velocity
ITS_TIME_HEADWAY_ABILITY
Time headway
ITS_SPACE_HEADWAY_ABILITY
Space headway
ITS_TIME_OCCUPANCY_RATIO_ABILITY
Time occupancy rate
ITS_SPACE_OCCUPANCY_RATIO_ABILITY
Space occupancy rate, percentage
ITS_LANE_QUEUE_ABILITY
Queue length
byMaxRuleNum
Max number of rules
byMaxTargetNum
Max number of targets
byRes
Reserved

See Also

NET_DVR_GetDeviceAbility NET_DVR_AP_INFO


NET_DVR_JOINT_SUB_SYSTEM

Linked sub-system information complex

union{
  NET_DVR_NOAMAL_SUB_SYSTEM    struNormalSubSystem;
  NET_DVR_PUBLIC_SUB_SYSTEM    struPublicSubSystem;
  BYTE                         byRes[20];
}NET_DVR_JOINT_SUB_SYSTEM,*LPNET_DVR_JOINT_SUB_SYSTEM;

Members

struNormalSubSystem
Sub-system information, valid when byPublicAttributeEnable of NET_DVR_ALARMSUBSYSTEMPARAM is 0
struPublicSubSystem
Public sub-system information, valid when byPublicAttributeEnable of NET_DVR_ALARMSUBSYSTEMPARAM is 1
byRes
Complex size, 20 bytes

See Also

NET_DVR_ALARMSUBSYSTEMPARAM


NET_DVR_JPEG_CAPTURE_CFG

Structure of capture configuration.

struct{
  DWORD                   dwSize;
  NET_DVR_TIMING_CAPTURE  struTimingCapture;
  NET_DVR_EVENT_CAPTURE   struEventCapture;
  BYTE                    byStreamType;
  BYTE                    byRes3[19];
}NET_DVR_JPEG_CAPTURE_CFG,*LPNET_DVR_JPEG_CAPTURE_CFG;

Members

dwSize
Structure size
struTimingCapture
Timing capture configuration
struEventCapture
Event capture configuration
byStreamType
Capture stream type: 0- Main stream, 1- Sub stream
byRes3
Reserved, please set to 0

Remarks

It supports only the resolution: 0 - CIF, 1 - QCIF, or 2- 4CIF.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_JPEG_CAPTURE_CFG_V40

Device capture configuration (expending) structure

struct{
  DWORD                       dwSize;
  NET_DVR_TIMING_CAPTURE      struTimingCapture;
  NET_DVR_EVENT_CAPTURE_V40   struEventCapture;
  BYTE                    byStreamType;
  BYTE                        byRes3[19];
}NET_DVR_JPEG_CAPTURE_CFG_V40,*LPNET_DVR_JPEG_CAPTURE_CFG_V40;

Members

dwSize
Structure size
struTimingCapture
Scheduled capture configuration
struEventCapture
Event capture configuration
byStreamType
Capture stream type: 0- Main stream, 1- Sub stream
byRes3
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_JPEGCFG_V30

Structure of JPEG picture capturing configuration.

struct{
  DWORD                              dwSize;
  NET_DVR_JPEGPARA                   struJpegPara[MAX_CHANNUM_V30];
  WORD                               wBurstMode;
  WORD                               wUploadInterval;
  NET_DVR_PICTURE_NAME               struPicNameRule;
  BYTE                               bySaveToHD;
  BYTE                               byRes1;
  WORD                               wCatchInterval;
  BYTE                               byRes2[12];
  NET_DVR_SERIAL_CATCHPIC_PARA       struRs232Cfg;
  NET_DVR_SERIAL_CATCHPIC_PARA       struRs485Cfg;
  DWORD                              dwTriggerPicTimes[MAX_CHANNUM_V30];
  DWORD                              dwAlarmInPicChanTriggered[MAX_ALARMIN_V30];
}NET_DVR_JPEGCFG_V30, *LPNET_DVR_JPEGCFG_V30;

Members

dwSize
Structure size
struJpegPara
Picture quality
wBurstMode
Capturing mode, set by bit: 0x1- triggered by alarm, 0x2- triggered by motion detection, 0x4- triggerd by RS-232, 0x8- triggerd by RS-485, 0x10- triggerd by network
wUploadInterval
Interval of uploading pictures (unit:s), range: [0, 65535]
struPicNameRule
Picture naming rule
bySaveToHD
Whether save the picture to hard disk
byRes1
Reserved
wCatchInterval
Interval of capturing pictures (unit:s), range: [0, 65535]
byRes2
Reserved
struRs232Cfg
Configuration of RS-232 serial port capturing picture
struRs485Cfg
Configuration of RS-485 serial port capturing picture
dwTriggerPicTimes
Picture capturing times triggered one time in every channel
dwAlarmInPicChanTriggered
Snap channel triggerd by alarm, set by bit: starts form bit 1

See Also

NET_DVR_JPEGPARA NET_DVR_PICTURE_NAME NET_DVR_SERIAL_CATCHPIC_PARA


NET_DVR_JPEGPARA

Structure of JPEG picture information.

struct{
  WORD     wPicSize;
  WORD     wPicQuality;
}NET_DVR_JPEGPARA,*LPNET_DVR_JPEGPARA;

Members

wPicSize
Size of picture: 0-CIF(352*288/352*240), 1-QCIF(176*144/176*120), 2-4CIF(704*576/704*480) or D1(720*576/720*486), 3-UXGA(1600*1200), 4-SVGA(800*600), 5-HD720P(1280*720), 6-VGA(640*480), 7-XVGA(1280*960), 8-HD900P(1600*900), 9-HD1080P(1920*1080), 10-2560*1920, 11-1600*304, 12-2048*1536, 13-2448*2048, 14-2448*1200, 15-2448*800, 16-XGA(1024*768), 17-SXGA(1280*1024), 18-WD1(960*576/960*480), 19-1080I(1920*1080), 20-576*576, 21-1536*1536, 22-1920*1920, 0xff-Auto(use current stream resolution)
wPicQuality
Picture quality: 0- best, 1- better, 2- average

Remarks

When the value of wPicSize is 2, that the resolution of JPEG picture is 4CIF or D1 is decided by the device, and generally it is 4CIF(PAL:704*576/NTSC:704*480).


NET_DVR_KEYBOARD_USER

Structure of alarm-host keyboard user configuration.

struct{
  DWORD              dwSize;
  DWORD              dwID;
  BYTE               byDefanceArea[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE               byRes[560];
}NET_DVR_KEYBOARD_USER,*LPNET_DVR_KEYBOARD_USER;

Members

dwSize
Structure size
dwID
Keyboard user ID
byDefanceArea
Area authority, indicated by subscript, it supports max 512 areas. 0 - no authority, 1 - privileged
byRes
Reserved

See Also

NET_DVR_GetKeyboardUser NET_DVR_SetKeyboardUser


NET_DVR_LABEL_IDENTIFY

Structure of identify after adding record label.

struct{
  BYTE                    sLabelIdentify[LABEL_IDENTIFY_LEN];
  BYTE                    byRes[8];
}NET_DVR_LABEL_IDENTIFY,*LPNET_DVR_LABEL_IDENTIFY;

Members

sLabelIdentify
Identify of record label
byRes
Reserved

See Also

NET_DVR_DEL_LABEL_PARAM NET_DVR_InsertRecordLabel


NET_DVR_LAMP_INFO

LAMP output port information structure

struct{
  BYTE    byEnable;
  BYTE    byRes1[3];
  BYTE    byLampName[LAMP_NAME];
  BYTE    byLampState1[LAMP_STATE_NAME];
  BYTE    byLampState2[LAMP_STATE_NAME];
  BYTE    byLampState3[LAMP_STATE_NAME];
  BYTE    byRes[32];
}NET_DVR_LAMP_INFO,*LPNET_DVR_LAMP_INFO;

Members

byEnable
Whether to enable LAMP output port: 0- no, 1- yes
byRes1
Reserved, set as 0
byLampName
LAMP output port name
byLampState1
Status 1 name
byLampState2
Status 2 name
byLampState3
Status 3 name
byRes
Reserved, set as 0

See Also

NET_DVR_LAMP_OUT


NET_DVR_LAMP_OUT

LAMP output port configuration structure

struct{
  DWORD                dwSize;
  NET_DVR_LAMP_INFO    struLampInfo[2];
  BYTE                 byRes[256];
}NET_DVR_LAMP_OUT,*LPNET_DVR_LAMP_OUT;

Members

dwSize
Structure size
struLampInfo
LAMP output port information, number array 0 means lamp1, number array 1 means lamp2
byRes
Reserved, set as 0

Remarks

The alarm output port 3 and 4 can be used together as lamp1. There are 2 status (high and low voltage level) for each output port and the two ports cannot be high level at the same time, other 3 combinations are allowed, corresponding to the 3 status of lamp1:
Status1: alarm output port A high level =, alarm output port B low level;
Status2: alarm output port A low level, alarm output port B high level;
Status3: alarm output port A low level, alarm output port B low level.
alarm output port 5 and alarm output port 6 used together as lamp2, usage is same as lamp1.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LANE_CFG

Structure of lane rule configuration.

struct{
  DWORD                   dwSize;
  NET_DVR_ONE_LANE        struLan[MAX_LANE_NUM];
  BYTE                    byRes1[40];
}NET_DVR_LANE_CFG, *LPNET_DVR_LANE_CFG;

Members

dwSize
Structure size
struLan
Lane parameter, the subscript is the lane ID number
byRes1
Reserved

See Also

NET_DVR_ONE_LANE
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LANE_PARAM

Structure of lane parameter.

struct{
  BYTE                     byRuleName[NAME_LEN];
  BYTE                     byRuleID;
  BYTE                     byVaryType;
  BYTE                     byLaneType;
  BYTE                     byRes1;
  DWORD                    dwLaneVolume;
  DWORD                    dwLaneVelocity;
  DWORD                    dwTimeHeadway ;
  DWORD                    dwSpaceHeadway;
  float                    fSpaceOccupyRation;
  NET_DVR_LANE_QUEUE       struLaneQueue;
  NET_VCA_POINT            struRuleLocation;
  BYTE                     byRes2[32];
}NET_DVR_LANE_PARAM,*LPNET_DVR_LANE_PARAM;

Members

byRuleName
Lane rule name
byRuleID
Rule ID, range: [0,7], it is subscript of rule configuration
byVaryType
Traffic data changing type of the lane
enum _TRAFFIC_DATA_VARY_TYPE_{
  NO_VARY,
  VEHICLE_ENTER,
  VEHICLE_LEAVE,
  UEUE_VARY
}TRAFFIC_DATA_VARY_TYPE
NO_VARY
No vary
VEHICLE_ENTER
Vehicle enters the virtual loops
VEHICLE_LEAVE
Vehicle leaves the virtual loops
UEUE_VARY
Queue varies
byLaneType
Up or down
byRes1
Reserved
dwLaneVolume
Lane traffic flow, counting there are how many vehicles passed
dwLaneVelocity
Lane velocity, unit: kilometer
dwTimeHeadway
Time headway, unit: s
dwSpaceHeadway
Space headway, unit: m
fSpaceOccupyRation
Space occupy rate, counting with percentage
struLaneQueue
Length of lane queue
struRuleLocation
Center position of coil rule
byRes2
Reserved

See Also

NET_DVR_LANE_QUEUE NET_VCA_POINT
NET_DVR_TPS_INFO


NET_DVR_LANE_PARAM_V41

Structure of lan parameters

struct{
  BYTE                  byRuleName[NAME_LEN];
  BYTE                  byRuleID;
  BYTE                  byLaneType;
  BYTE                  byTrafficState;
  BYTE                  byRes1;
  DWORD                 dwVaryType;
  DWORD                 dwTpsType;
  DWORD                 dwLaneVolume;
  DWORD                 dwLaneVelocity;
  DWORD                 dwTimeHeadway ;
  DWORD                 dwSpaceHeadway;
  float                 fSpaceOccupyRation ;
  float                 fTimeOccupyRation;
  DWORD                 dwLightVehicle ;
  DWORD                 dwMidVehicle;
  DWORD                 dwHeavyVehicle ;
  NET_DVR_LANE_QUEUE    struLaneQueue;
  NET_VCA_POINT         struRuleLocation;
  BYTE                  byRes2[64];
}NET_DVR_LANE_PARAM_V41, *LPNET_DVR_LANE_PARAM_V41;

Members

byRuleName
Name of lane rule
byRuleID
Rule ID, the subscript of rugulation configuration structure,data range: 0-7
byLaneType
Lane type: Upward or downward
byTrafficState
Traffic state: 0-invalid, 1-unblocked,2-crowd, 3-blocking
byRes1
Reserved
dwVaryType
Type reference of lane parametric variation, divide by bit
enum _TRAFFIC_DATA_VARY_TYPE_EX_ENUM_{
  ENUM_TRAFFIC_VARY_NO             = 0x00,
  ENUM_TRAFFIC_VARY_VEHICLE_ENTER  = 0x01,
  ENUM_TRAFFIC_VARY_VEHICLE_LEAVE  = 0x02,
  ENUM_TRAFFIC_VARY_QUEUE          = 0x04,
  ENUM_TRAFFIC_VARY_STATISTIC      = 0x08,
}TRAFFIC_DATA_VARY_TYPE_EX_ENUM
ENUM_TRAFFIC_VARY_NO
No change
ENUM_TRAFFIC_VARY_VEHICLE_ENTER
Vehicle enter into virtual coil
ENUM_TRAFFIC_VARY_VEHICLE_LEAVE
Vehicle bear off virtual coil
ENUM_TRAFFIC_VARY_QUEUE
Queue variation
ENUM_TRAFFIC_VARY_STATISTIC
Statistical data variation（changing per minute includesaverage speed, lane space/time occupancy and traffic status）
dwTpsType
Data type variation flg,differentiate by park to see the valid data in the uploading statistical parameter.
enum _ITS_TPS_TYPE_{
  LANE_VOLUME             = 0x1,
  LANE_VELOCITY           = 0x2,
  TIME_HEADWAY            = 0x4,
  SPACE_HEADWAY           = 0x8,
  TIME_OCCUPANCY_RATIO    = 0x10,
  SPACE_OCCUPANCY_RATIO   = 0x20,
  QUEUE                   = 0x40,
  VEHICLE_TYPE            = 0x80,
  TRAFFIC_STATE           = 0x100
}ITS_TPS_TYPE
LANE_VOLUME
Lane volume
LANE_VELOCITY
Lane speed
TIME_HEADWAY
Time headway
SPACE_HEADWAY
Spachead way
TIME_OCCUPANCY_RATIO
Lane occupancy (by time)
SPACE_OCCUPANCY_RATIO
Lane occupancy (percentage calculation by space)
QUEUE
Length of queue
VEHICLE_TYPE
Vehicle type
TRAFFIC_STATE
Traffic status
dwLaneVolume
Lane volume, count the number of vehicle get through
dwLaneVelocity
Average speed of lane,unit: Km/h
dwTimeHeadway
Time headway,uint:s
dwSpaceHeadway
Spachead way,uint: m
fSpaceOccupyRation
Lane occupancy (percentage calculation by space, rate of Vehicle length and the total length of monitor sections
fTimeOccupyRation
Lane occupancy (percentage calculation)
dwLightVehicle
Light vehicle number
dwMidVehicle
middle-sized vehicle number
dwHeavyVehicle
Heavy duty vehicle number
struLaneQueue
Length of lane queue
struRuleLocation
Center of rule location
byRes2
Reserved

See Also

NET_DVR_TPS_INFO_V41


NET_DVR_LANE_QUEUE

Structure of lane queue.

struct{
  NET_VCA_POINT            struHead;
  NET_VCA_POINT            struTail;
  DWORD                    dwLength;
}NET_DVR_LANE_QUEUE,*LPNET_DVR_LANE_QUEUE;

Members

struHead
Queue head
struTail
Queue tail
dwLength
Actual length of queue, unit: m, range: [0-500]

See Also

NET_VCA_POINT NET_DVR_LANE_PARAM


NET_DVR_LASER_PARAM_CFG

Laser parameter configure structure.

struct{
  BYTE    byControlMode;
  BYTE    bySensitivity;
  BYTE    byTriggerMode;
  BYTE    byBrightness;
  BYTE    byAngle;
  BYTE    byLimitBrightness;
  BYTE    byEnabled;
  BYTE    byIllumination;
  BYTE    byLightAngle;
  BYTE    byRes[7];
}NET_DVR_LASER_PARAM_CFG, *LPNET_DVR_LASER_PARAM_CFG;

Members

byControlMode
Control mode:0-invalid,1-auto,2-manual,default:auto
bySensitivity
Laser light sensitivity,range:0~100,default:50
byTriggerMode
Laser light triggering mode:0-invalid,1-by camera,2-by photosensitivity,default: by camera
byBrightness
Laser light brightness,valid when control mode is manual mode,range:0~255,default:100
byAngle
Laser light angle,0 means invalid,range:1~36,default:12.The illumination area of the laser lightis a circle. To adjust the laser angle is to adjust the radius of the circle.
byLimitBrightness
Laser light brightness limit, valid when control mode is auto mode,range:0~100
byEnabled
Manual control laser light enable:0- close,1- start
byIllumination
Laser light intensity configuration,range:0~100
byLightAngle
Light angle,range:0~100
byRes
Reserved

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_LATITUDE_PARAM

The structure of the latitude parameters

struct{
  BYTE    byDegree;
  BYTE    byMinute;
  BYTE    bySec;
  BYTE    byRes;
}NET_DVR_LATITUDE_PARAM, *LPNET_DVR_LATITUDE_PARAM;

Members

byDegree
Degree, range[0~179]
byMinute
Minute, range[0~59]
byMinute
Second, range[0~59]
byRes
Reserved, set as 0.

See Also

NET_DVR_GPS_DATACFG


NET_DVR_LAYOUT_LIST

Structure of layout list.

struct{
  DWORD                      dwSize;
  NET_DVR_LAYOUTCFG          struLayoutInfo[MAX_LAYOUT_COUNT];
  BYTE                       byRes[4];
}NET_DVR_LAYOUT_LIST,*LPNET_DVR_LAYOUT_LIST;

Members

dwSize
Structure size
struLayoutInfo
The name of all layouts
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_LAYOUTCFG

Structure of layout parameter.

struct{
  DWORD                  dwSize;
  BYTE                   byValid;
  BYTE                   byRes1[3];
  BYTE                   byLayoutName[NAME_LEN];
  NET_DVR_SCREEN_WINCFG  struWinCfg[MAX_WIN_COUNT];
  BYTE                   byRes2[16];
}NET_DVR_LAYOUTCFG,*LPNET_DVR_LAYOUTCFG;

Members

dwSize
Structure size
byValid
Whether it is valid: 0- invalid, 1- valid
byRes1
Reserved, please set to 0
byLayoutName
Layout name
struWinCfg
Window parameter in the layout
byRes2
Reserved, please set to 0

See Also

NET_DVR_LAYOUT_LIST

NET_DVR_SetDVRConfig_SCREEN


NET_DVR_LCD_ALARM

LCD screen alarm information structure

struct{
  DWORD    dwSize;
  DWORD    dwScreenID;
  BYTE     byOnOffLine;
  BYTE     byTempState;
  BYTE     byFanState;
  BYTE     byFanException;
  BYTE     byTemperature;
  BYTE     byRes[27];
}NET_DVR_LCD_ALARM,*LPNET_DVR_LCD_ALARM;

Members

dwSize
Structure size
dwScreenID
Screen index No.: 1 byte of device No. + 1 byte of reservation + 2 bytes of screen index No.
byOnOffLine
Whether the screen is online: 0- Offline, 1- Online, if the screen is offline, all the following parameters configuration is unavailable.
byTempState
Board temperature statusL: 0- Normal, 1- Abnormal
byFanState
Fan status: 0- Off, 1- On
byFanException
Fan exception status: 0- Not supported, 1- Normal, 2- Abnormal
byTemperature
Screen board temperature, unit: celsius
byRes
Reserved, set as 0.

Remarks

The LCD server will send the working status of each screen at regular intervals in the free time.

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_LCD_AUDIO_CFG

Structure of LCD audio.

struct{
  DWORD    dwSize;
  BYTE     byMute;
  BYTE     byVolume;
  BYTE     byBalance;
  BYTE     byRes[33];
}NET_DVR_LCD_AUDIO_CFG,*LPNET_DVR_LCD_AUDIO_CFG;

Members

dwSize
Structure size
byMute
Whether to be mute: 0- no, 1- yes
byVolume
Volume: 0~100
byBalance
Sound channel balance: -50 ~ +50
byRes
Reserved, please set to 0

See Also

NET_DVR_MSC_SCREEN_PARAM


NET_DVR_LED_BRIGHTNESS_STEP

Structure of LED-screen timeshare brightness parameter

struct{
  DWORD    dwSize;
  BYTE     byValid;
  BYTE     byRes1[3];
  BYTE     byBrightnessStep[TIME_SEGMENT_A_DAY];
  BYTE     byRes2[48];
}NET_DVR_LED_BRIGHTNESS_STEP,*LPNET_DVR_LED_BRIGHTNESS_STEP;

Members

dwSize
Structure size
byValid
Whether the timeshare brightness adjustment is invalid or not
byRes1
Reserved, please set to 0
byBrightnessStep
It divides 24 hours of whole day into 48 periods,one period every 30 minutes, and each of the 48 bytes means the brightness level of each period, 16 levels in total: 0~15
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LED_CONTENT_CFG

Structure of LED screen display content

struct{
  DWORD    dwSize;
  BYTE     sLEDContent[MAX_CONTENT_LEN];
  BYTE     byContentAct;
  BYTE     byContentSpeed;
  BYTE     byContentStayTime;
  BYTE     byRes[33];
}NET_DVR_LED_CONTENT_CFG,*LPNET_DVR_LED_CONTENT_CFG;

Members

dwSize
Structure size
sLEDContent
The display content of LED screen
byContentAct
Movement pattern: 1- static, 2- quick play, 3- move from right to the left, 4- move from left to the right, 5- move from down to the up, 6- move from up to the down
byContentSpeed
Movement speed, value range: 1~24 (1: the fastest, 24: the slowest）
byContentStayTime
The dwell time, value range: 0~127.5s, precision: 0.5s, when set it on the client, the value should be double of actual value*2, that is the value: 0~255.
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LED_SCREEN_CFG

Structure of LED screen configuration

struct{
  DWORD    dwSize;
  BYTE     sLEDName[NAME_LEN];
  BYTE     byTransMode;
  BYTE     byProtocolType;
  BYTE     byLEDColor;
  BYTE     byDataPolarity;
  BYTE     byOEPolarity;
  BYTE     byScanMode;
  BYTE     byRes1[2];
  WORD     wLEDWidth;
  WORD     wLEDHeight;
  BYTE     byRes2[64];
}NET_DVR_LED_SCREEN_CFG,*LPNET_DVR_LED_SCREEN_CFG;

Members

dwSize
Structure size
sLEDName
Name of the LED screen
byTransMode
Transmission mode, only supports serial port currently: 1- serial port communication
byProtocolType
Protocol type: 1- Onbon
byLEDColor
LED color type (currently, it supports monochrome only): 1- monochrome, 2- double color, 3- dual-color of 256 gray, 4- full color
byDataPolarity
Data polarity: 0- negative, 1- anode
byOEPolarity
Validity: 0- effective when it is low level, 1- effective when it is high level
byScanMode
The scanning mode: 1- 1/16, 2- 1/8, 3- 1/4, 4- 1/2, 5- static state
byRes1
Reserved, please set to 0
wLEDWidth
The width of screen, value range: 16~2048, the interval is 8 pixels, that is, 16, 24, 32, 40, ..., 2040, 2048
wLEDHeight
The height of screen, value range: 16~2048, the interval is 8 pixels, that is, 16, 24, 32, 40, ..., 2040, 2048
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LED_STATUS

Structure of LED screen status

struct{
  DWORD    dwSize;
  BYTE     bySwitchState;
  BYTE     byBrightness;
  BYTE     byRes[62];
}NET_DVR_LED_STATUS,*LPNET_DVR_LED_STATUS;

Members

dwSize
Structure size
bySwitchState
1- turned on, 2- turned off
byBrightness
Brightness value, range: 0~15
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_LED_SWITCH_TIME

Structure of LED screen timing switch configuration

struct{
  DWORD                  dwSize;
  NET_DVR_SWITCH_TIME    struTimer[LED_TIMER_NUM];
  BYTE                   byRes[64];
}NET_DVR_LED_SWITCH_TIME,*LPNET_DVR_LED_SWITCH_TIME;

Members

dwSize
Structure size
struTimer
Switch time, only hour and minute in the structure are valid.
It supports max 3 groups switch timing settings. For each group, the boot time should be earlier than the shutdown time, and later than the shutdown time of previous group.
E.g.: the shutdown time of struTimer[0] is 10:00, then the boot time of struTimer[0] should be earlier than 10:00, and the boot time of struTimer[1] should be later than 10:00.
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LEDDISPLAY_CFG

The structure of LED display configuration

struct{
  DWORD    dwSize;
  char     sDisplayInfo[MAX_LED_INFO_LEN];
  BYTE     byDisplayMode;
  BYTE     bySpeedType;
  BYTE     byRes1[2];
  DWORD    dwShowTime;
  BYTE     byRes[128];
}NET_DVR_LEDDISPLAY_CFG,*LPNET_DVR_LEDDISPLAY_CFG;

Members

dwSize
Structure size
sDisplayInfo
LED display info
byDisplayMode
Display mode: 0- left，1- right，2- display instantly
bySpeedType
Speed type：0- fast，1- medium，2- slow
byRes1
Reserved, set to 0
dwShowTime
Show time, value range: 1~60, unit: s
byRes
Reserved, set to 0

Remarks

  • According to the capability set, you can understand whether the device supports configuring LED display parameters. Corresponding LED display configuration capability set (LEDConfiguration). Relevant interface: NET_DVR_GetSTDAbility. Capability type: NET_DVR_GET_LEDDISPLAY_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_LIGHTSNAPCFG

Structure of traffic light parameters

struct{
  DWORD      dwSize;
  BYTE       byLightIoIn;
  BYTE       byTrigIoIn;
  BYTE       byRelatedDriveWay;
  BYTE       byTrafficLight;
  BYTE       bySnapTimes1;
  BYTE       bySnapTimes2;
  BYTE       byRes1[2];
  WORD       wIntervalTime1[MAX_INTERVAL_NUM];
  WORD       wIntervalTime2[MAX_INTERVAL_NUM];
  BYTE       byRecord;
  BYTE       bySessionTimeout;
  BYTE       byPreRecordTime;
  BYTE       byVideoDelay;
  BYTE       byRes2[2];
}NET_DVR_LIGHTSNAPCFG, *LPNET_DVR_LIGHTSNAPCFG;

Members

dwSize
Structure size
byLightIoIn
IO number of traffic light
byTrigIoIn
Triggered IO number
byRelatedDriveWay
Lane NO. related to triggered IO
byTrafficLight
0- high-level voltage corresponding to red light, low-level voltage corresponding to green light; 1- high-level voltage corresponding to green light, low-level voltage corresponding to red light
bySnapTimes1
Red light snap times: 0- none, non-zero- continunous times: max 5 times
bySnapTimes2
Green light snap times: 0- none, non-zero- continunous times: max 5 times
byRes1
Reserved, please set it to 0
wIntervalTime1
Interval time of red light continunously snapping, unit: ms
wIntervalTime2
Interval time of green light continunously snapping, unit: ms
byRecord
Period recording flag of running the red light: 0- don't record, 1- record
bySessionTimeout
Period recording timeout of running the red light, unit: s
byPreRecordTime
Pre-recording time of running the red light, unit: s
byVideoDelay
Delay time of running the red light recording, unit: s
byRes2
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LIMIT_ANGLE

Limited parameter of configuration structure.

struct{
  BYTE              byEnable;
  BYTE              byRes1[3];
  NET_DVR_PTZPOS    struUp;
  NET_DVR_PTZPOS    struDown;
  NET_DVR_PTZPOS    struLeft;
  NET_DVR_PTZPOS    struRight;
  BYTE              byRes2[20];
}NET_DVR_LIMIT_ANGLE, *LPNET_DVR_LIMIT_ANGLE;

Members

byEnable
Whether enable limited parameter of scene:0-no,1-yes
byRes1
Keep it
struUp
Upper limit
struDown
Lower limit
struLeft
Left limit
struRight
Right limit
byRes2
Keep it

See Also

NET_DVR_PTZPOS


NET_DVR_LINK_STATUS

Structure of channel link status.

struct{
  DWORD             dwSize;
  WORD              wLinkNum;
  BYTE              byRes1[2];
  NET_DVR_ONE_LINK  struOneLink[MAX_LINK_V30];
  BYTE              byRes[32];
}NET_DVR_LINK_STATUS, *LPNET_DVR_LINK_STATUS;

Members

dwSize
Structure size
wLinkNum
Number of connections
byRes1
Reserved, please set to 0
struOneLink
Information of the client connecting to the device
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_LIST_INFO

Sub system information list structure

struct{
  DWORD    dwSize;
  BYTE     byIndex;
  BYTE     byRes[63];
}NET_DVR_LIST_INFO, *LPNET_DVR_LIST_INFO;

Members

dwSize
Structure size
byIndex
Sub system No., 0xff means all sub system (the access control device only supports 0xff to get all sub systems)
byRes
Reserved

See Also

NET_DVR_StartRemoteConfig


NET_DVR_LITESTORAGE

Light storage configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byStorageTime;
  BYTE     byRes[2];
  float    fCapacity;
  BYTE     byRes1[64];
}NET_DVR_LITESTORAGE,*LPNET_DVR_LITESTORAGE;

Members

dwSize
Structure size
byEnable
Enable light storage? 0- No, 1- Yes
byStorageTime
Storage time, value range[1,30], default: 7, unit:day
byRes
Reserved, set as 0.
fCapacity
Valid SD card recoding space(read only)
byRes1
Reserved, set as 0.0

Remarks

  • This function corresponds to light storage capability(LiteStorage). API:NET_DVR_GetSTDAbility(Capability type：NET_DVR_GET_LITESTORAGE_CAPABILITIES).

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_LLI_PARAM

Structure of Longitude and Latitude Parameters

struct{
  float    fSec;
  BYTE     byDegree;
  BYTE     byMinute;
  BYTE     byRes[6];
}NET_DVR_LLI_PARAM,*LPNET_DVR_LLI_PARAM;

Members

fSec
Second; Value Range: [0.000000,60.000000]
byDegree
Degree; Value Range: [0,179]
byMinute
Minute; Value Range: [0,59]
byRes
Reserved; Set to 0.

See Also

NET_DVR_GIS_UPLOADINFO NET_DVR_CENTRALIZEDCTRL_CFG NET_DVR_GIS_INFO NET_DVR_REVISE_GPS_CFG


NET_DVR_LLPOS_PARAM

Longitude and latitude parameter structure

struct{
  BYTE                  byLatitudeType ;
  BYTE                  byLongitudeType;
  BYTE                  byRes1[2] ;
  NET_DVR_LLI_PARAM     struLatitude;
  NET_DVR_LLI_PARAM     struLongitude;
  BYTE                  byRes[16];
}NET_DVR_LLPOS_PARAM,*LPNET_DVR_LLPOS_PARAM;

Members

byLatitudeType
Latitude type: 0- north, 1-south
byLongitudeType
Longitude type: 0- east, 1- west
byRes1
Reserved, set as 0
struLatitude
Latitude
struLongitude
Longitude
byRes
Reserved, set as 0

See Also

NET_DVR_SMOKEDETECTION_ALARM


NET_DVR_LOCAL_ABILITY_PARSE_CFG

Structure of capability resolver library configuration

struct{
  BYTE    byEnableAbilityParse;
  BYTE    byRes[127];
}NET_DVR_LOCAL_ABILITY_PARSE_CFG,*LPNET_DVR_LOCAL_ABILITY_PARSE_CFG;

Members

byEnableAbilityParse
Enable the capability resolver library : 0-disable (default)，1-enable
byRes
Reserved, set it to 0

Remarks

The analog capability is default to forbidden,you can call the interface (NET_DVR_GetDeviceAbility) to enable.It supports all kinds of capabilities.But LocalXml.zip should be loaded in the same catalogue with SDK library files first.

See Also

NET_DVR_GetSDKLocalCfg

NET_DVR_SetSDKLocalCfg


NET_DVR_LOCAL_BYTE_ENCODE_CONVERT

Character encoding conversion parameters structure

struct{
  CHAR_ENCODE_CONVERT    fnCharConvertCallBack;
  BYTE                   byRes[256];
}NET_DVR_LOCAL_BYTE_ENCODE_CONVERT,*LPNET_DVR_LOCAL_BYTE_ENCODE_CONVERT;

Members

fnCharConvertCallBack
Character encoding conversion callback function
byRes
Reserved, set as 0.

Callback Function

typedef int(CALLBACK *CHAR_ENCODE_CONVERT)(
  char     *pInput,
  DWORD    dwInputLen,
  DWORD    dwInEncodeType,
  char     *pOutput,
  DWORD    dwOutputLen,
  DWORD    dwOutEncodeType
);

Callback Function Parameters

pInput
[in] Input string, he SDK will apply for the memory and provide the string data.
dwInputLen
[in] Input buffer size
dwInEncodeType
[in] The input character encoding format: 0- No encoding format, 1- GB2312(Simplified Chinese)，2- GBK，3- BIG5(Traditional Chinese)，4- Shift_JIS(Japanese)，5- EUC-KR(Korean)，6- UTF-8，7- ISO8859-1，8- ISO8859-2，9- ISO8859-3，…，and so on，21- ISO8859-15(Western Europe)
pOutput
[out] Output string, the SDK will apply for the memory.
dwOutputLen
[out] Output string buffer size
dwOutEncodeType
[out]he output character encoding format: 0- No encoding format, 1- GB2312(Simplified Chinese)，2- GBK，3- BIG5(Traditional Chinese)，4- Shift_JIS(Japanese)，5- EUC-KR(Korean)，6- UTF-8，7- ISO8859-1，8- ISO8859-2，9- ISO8859-3，…，and so on，21- ISO8859-15(Western Europe)

Remarks

  • The device character encoding type will be returned in the byCharEncodeType of the login API NET_DVR_DEVICEINFO_V40If the SDK needs internal character encoding conversion, the SDK will use libiconv library to do the conversion. Call NET_DVR_SetSDKLocalCfg(type: NET_SDK_LOCAL_CFG_TYPE_BYTE_ENCODE) to instead of libiconv encoding library to set the character conversion callback function. The SDK will uses the character encoding API that is provided by the user to handle the striung.

See Also

NET_DVR_SetSDKLocalCfg


NET_DVR_LOCAL_CHECK_DEV

Device online auto-switch parameters structure

struct{
  DWORD    dwCheckOnlineTimeout;
  DWORD    dwCheckOnlineNetFailMax;
  BYTE     byRes[256];
}NET_DVR_LOCAL_CHECK_DEV, *LPNET_DVR_LOCAL_CHECK_DEV;

Members

dwCheckOnlineTimeout
Auto-switch time interval, unit: ms，value range：30s~120s，0 indicates the default value(120s)，the recommended value is 30s
dwCheckOnlineNetFailMax
The max. cumulative number of failure that is based on the network exception, the SDK will callback exception message once the number is achieved. 0 indicates the default value 1, the recommended value is 3.
byRes
Reserved, set as 0.

Remarks

  • SDK will implement auto-switch for the device within the configured interval, and be returned in the error message of NET_DVR_SetExceptionCallBack_V30 if the connecting is failed or the reconnection is successfully. The corresponded error message areEXCEPTION_EXCHANGE and RESUME_EXCHANGE.
  • The recommended time interval and failure number are 30s and 3 times, which means the heart-beat interval is 1 minute ad 30 seconds.
  • Manually detect the device viaNET_DVR_RemoteControl(Command：NET_DVR_CHECK_USER_STATUS).

    • See Also

    NET_DVR_GetSDKLocalCfg NET_DVR_SetSDKLocalCfg


NET_DVR_LOCAL_CONTROLLER_STATUS

Distributed access controller status parameter structure

struct{
  DWORD    dwSize;
  WORD     wLocalControllerID;
  BYTE     byLocalAntiDismantleStatus;
  BYTE     byPowerSupplyStatus;
  WORD     wBatteryVoltage;
  BYTE     byBatteryLowVoltage;
  BYTE     byFireAlarm;
  BYTE     bySerialNumber[SERIALNO_LEN];
  BYTE     byMagneticStatus[MAX_DOOR_NUM];
  BYTE     byDoorLockStatus[MAX_DOOR_NUM];
  BYTE     byCardReaderOnlineStatus[MAX_CARD_READER_NUM];
  WORD     wLocalControllerStatus;
  BYTE     byRes2[122];
}NET_DVR_LOCAL_CONTROLLER_STATUS, *LPNET_DVR_LOCAL_CONTROLLER_STATUS;

Members

dwSize
Structure size
wLocalControllerID
Distributed access controller No.
byLocalAntiDismantleStatus
Distributed access controller tampering-proof status, 0- disabled, 1- enabled
byPowerSupplyStatus
Device power supply status, 1- AC, 2- battery
wBatteryVoltage
Battery voltage, multiplied by 10, unit: volt
byBatteryLowVoltage
Whether battery in low voltage status, 0- no, 1- yes
byFireAlarm
Fire alarm, 0- normal, 1- short-circuit alarm, 2- broken-circuit alarm
bySerialNumber
Device serial number
byMagneticStatus
Door magnet status: 0- normal closed, 1- normal open, 2- damaged short-circuit alarm, 3- damaged broken-circuit alarm, 4- exception alarm
byDoorLockStatus
Door lock status: 0- normal closed, 1- normal open, 2- damaged short-circuit alarm, 3- damaged broken-circuit alarm, 4- exception alarm
byCardReaderOnlineStatus
Card reader online status: 0- offline, 1- online
wLocalControllerStatus
Read only, distributed access controller door status, valid when byUseLocalController=1, status: 0- offline, 1- online, 2- RS-485 serial port 1 on circuit 1, 3- RS-485 serial port 2 on circuit 1, 4- RS-485 serial port 1 on circuit 2, 5- RS-485 serial port 2 on circuit 2, 6- RS-485 serial port 1 on circuit 3, 7- RS-485 serial port 2 on circuit 3, 8- RS-485 serial port 1 on circuit 4, 9- RS-485 serial port 2 on circuit 4
byRes2
Reserved, set as 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_LOCAL_CONTROLLER_STATUS_COND

Distributed access controller status search condition structure

struct{
  DWORD   dwSize;
  WORD    wLocalControllerID;
  BYTE    byRes[306];
}NET_DVR_LOCAL_CONTROLLER_STATUS_COND,*LPNET_DVR_LOCAL_CONTROLLER_STATUS_COND;

Members

dwSize
Structure size
wLocalControllerID
Distributed access controller No., 0 means all
byRes
Reserved, set as 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_LOCAL_GENERAL_CFG

General parameter configuration structure

struct{
  BYTE     byExceptionCbDirectly;
  BYTE     byNotSplitRecordFile;
  BYTE     byRes[2];
  INT64    i64FileSize;
  BYTE     byRes1[244];
}NET_DVR_LOCAL_GENERAL_CFG, *LPNET_DVR_LOCAL_GENERAL_CFG;

Members

byExceptionCbDirectly
Exception callback type: 0- callback through thread poll, 1- callback to upper layer
byNotSplitRecordFile
Whether to abstract the recording file saved to local in playback and live view: 0- yes (default), 1- no
byRes
Reserved
i64FileSize
File max. byte restriction, unit: Byte. When abstraction is enabled (byNotSplitRecordFile=0), auto abstraction will be performed for the recording file saved to local in playback and live view that exceeded the set limit, and saved as new file
byRes1
Reserved

See Also

NET_DVR_GetSDKLocalCfg NET_DVR_SetSDKLocalCfg


NET_DVR_LOCAL_INPUT_INFO

Local input information structure

struct{
  DWORD    dwSize;
  BYTE     byChannelName[NAME_LEN];
  BYTE     byRes[32];
}NET_DVR_LOCAL_INPUT_INFO,*LPNET_DVR_LOCAL_INPUT_INFO;

Members

dwSize
Structure size
byChannelName
Local input channel name
byRes
Reserved, set as 0

Remarks

The channel name is the same as that in the structure NET_DVR_PICCFG_V40.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LOCAL_LOG_CFG

SDK Log Configuration Structure。

struct{
  WORD    wSDKLogNum;
  BYTE    byRes[254];
}NET_DVR_LOCAL_LOG_CFG,*LPNET_DVR_LOCAL_LOG_CFG;

Members

wSDKLogNum
SDK log file number, the log number under the covering mode（NET_DVR_SetLogToFile bAutoDel is RUE)，0 indicates the default value（10）
byRes
Reserved, set as 0.

See Also

NET_DVR_SetSDKLocalCfg


NET_DVR_LOCAL_MEM_POOL_CFG

Structure of local configuration of memory pool

struct{
  DWORD    dwAlarmMaxBlockNum;
  DWORD    dwAlarmReleaseInterval;
  BYTE     byRes[60];
}NET_DVR_LOCAL_MEM_POOL_CFG,*LPNET_DVR_LOCAL_MEM_POOL_CFG;

Members

dwAlarmMaxBlockNum
The maximum block of memory pool applyed from system, 64MB a block; it will not apply to system when the limitation is exceed;-0- no limitation
dwAlarmReleaseInterval
The interval of memFree when the alarm module is free, unit:s, 0- not release the free memory
byRes
Reserved, set it to 0

See Also

NET_DVR_GetSDKLocalCfg

NET_DVR_SetSDKLocalCfg


NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG

Timeout configuration by module

struct{
  DWORD    dwPreviewTime;
  DWORD    dwAlarmTime;
  DWORD    dwVodTime;
  DWORD    dwElse;
  BYTE     byRes[512];
}NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG,*LPNET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG;

Members

dwPreviewTime
Timeout of preview module, unit:ms, data range:0-3000,000; 0- default settings
dwAlarmTime
Timeout of alarm module, unit:ms, data range:0-3000,000; 0- default settings
dwVodTime
Timeout of playback module, unit:ms, data range:0-3000,000; 0- default settings
dwElse
Timeout of other modules, unit:ms, data range:0-3000,000; 0- default settings
byRes
Reserved, set it to 0

See Also

NET_DVR_SetSDKLocalCfg

NET_DVR_GetSDKLocalCfg


NET_DVR_LOCAL_SDK_PATH

Component library loading path information strucutre

struct{
  char    sPath[NET_SDK_MAX_FILE_PATH];
  BYTE    byRes[128];
}NET_DVR_LOCAL_SDK_PATH, *LPNET_DVR_LOCAL_SDK_PATH;

Members

sPath
Component library address
byRes
Reserved

See Also

NET_DVR_SetSDKInitCfg


NET_DVR_LOCAL_TALK_MODE_CFG

Structure of voice talk mode configuration

struct{
  BYTE    byEnableAbilityParse;
  BYTE    byRes[127];
}NET_DVR_LOCAL_TALK_MODE_CFG,*LPNET_DVR_LOCAL_TALK_MODE_CFG;

Members

byTalkMode
Voice talk mode:0- using talk library(default），1- using windows api
byRes
Reserved, set it to 0

Remarks

V4.2.2.5 and previous versions of the SDK can realize the related function by Windows. The later version default to use talk library to realize, in this case, the AudioIntercom.dll and OpenAL32.dll must be loaded first

See Also

NET_DVR_SetSDKLocalCfg

NET_DVR_GetSDKLocalCfg


NET_DVR_LOCAL_TCP_PORT_BIND_CFG

Structure of local binding configuration of TCP port

struct{
  WORD    wLocalBindTcpMinPort;
  WORD    wLocalBindTcpMaxPort;
  BYTE    byRes[60];
}NET_DVR_LOCAL_TCP_PORT_BIND_CFG,*LPNET_DVR_LOCAL_TCP_PORT_BIND_CFG;

Members

wLocalBindTcpMinPort
Local binding the minimum TCP port
wLocalBindTcpMaxPort
Local binding the maximum TCP port
byRes
Reserved, set it to 0

Remarks

  • The strategy of port binding:there is a port segment which only can ensure all the port used in it(except multicast), but not all of the port becasue of the cyclic utilization; the port taken out from port pool will try to binding one by one in turn, if any of the port are occupied, the link is return failed. Do not set the obligate port of system (1-1024), such as 80
  • The maximum port should be be equal or greater than the minimum port, [0,0]-clear binding;[0,non-zero]- setting failed,because 0 can't be bound.

    • See Also

    NET_DVR_SetSDKLocalCfg

    NET_DVR_GetSDKLocalCfg


NET_DVR_LOCAL_UDP_PORT_BIND_CFG

Local binding configuration of UDP port

struct{
  WORD    wLocalBindUdpMinPort;
  WORD    wLocalBindUdpMaxPort;
  BYTE    byRes[60];
}NET_DVR_LOCAL_UDP_PORT_BIND_CFG,*LPNET_DVR_LOCAL_UDP_PORT_BIND_CFG;

Members

wLocalBindUdpMinPort
Local binding the minimum UDP port
wLocalBindUdpMaxPort
Local binding the maximum UDP port
byRes
Reserved, set it to 0

Remarks

  • The strategy of port binding:there is a port segment which only can ensure all the port used in it(except multicast), but not all of the port becasue of the cyclic utilization; the port taken out from port pool will try to binding one by one in turn, if any of the port are occupied, the link is return failed. Do not set the obligate port of system (1-1024), such as 80.
  • The maximum port should be be equal or greater than the minimum port, [0,0]-clear binding;[0,non-zero]- setting failed,because 0 can't be bound.

    • See Also

    NET_DVR_SetSDKLocalCfg

    NET_DVR_GetSDKLocalCfg


NET_DVR_LOCK_RETURN

Structure of locking and unlocking result

struct{
  DWORD           dwSize;
  NET_DVR_TIME    strBeginTime;
  NET_DVR_TIME    strEndTime;
  BYTE            byRes[20];
}NET_DVR_LOCK_RETURN,*LPNET_DVR_LOCK_RETURN;

Members

dwSize
Structure size
strBeginTime
Starting time
strEndTime
End time
byRes
Reserved, please set to 0

See Also

NET_DVR_LockFileByTime NET_DVR_UnLockFileByTime


NET_DVR_LOCKGATE_CFG

The structure of smart barrier configuration

struct{
  DWORD                        dwSize;
  NET_DVR_LOCKGATE_TIME_CFG    struTime[LOCKGATE_TIME_NUM];
  BYTE                         byRes[128];
}NET_DVR_LOCKGATE_CFG,*LPNET_DVR_LOCKGATE_CFG;

Members

dwSize
Structure size
struTime
Smart barrier locked time duration, up to 4 different time duration
byRes
Reserved, set to 0

Remarks

  • According to the capability set, you can understand whether the device supports configuring smart barrier. Corresponding smart barrier configuration capability set (LockGateConfigList). Relevant interface: NET_DVR_GetSTDAbility. Capability type: NET_DVR_GET_LOCkGATE_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_LOCKGATE_TIME_CFG

Structure of smart barrier locked time duration info

struct{
  char    sBeginTime[LEN_32];
  char    sEndTime[LEN_32];
  BYTE    byRes[64];
}NET_DVR_LOCKGATE_TIME_CFG,*LPNET_DVR_LOCKGATE_TIME_CFG;

Members

sBeginTime
Start time,32 bytes string: HH:MM:SS
sEndTime
End time, 32 bytes string: HH:MM:SS
byRes
Reserved, set to 0

See Also

NET_DVR_LOCKGATE_CFG


NET_DVR_LOG

Structure of LOG information.

struct{
  NET_DVR_TIME     strLogTime;
  DWORD            dwMajorType;
  DWORD            dwMinorType;
  BYTE             sPanelUser[MAX_NAMELEN];
  BYTE             sNetUser[MAX_NAMELEN];
  char             sRemoteHostAddr[16];
  DWORD            dwParaType;
  DWORD            dwChannel;
  DWORD            dwDiskNumber;
  DWORD            dwAlarmInPort;
  DWORD            dwAlarmOutPort;
}NET_DVR_LOG,*LPNET_DVR_LOG;

Members

strLogTime
Time of LOG
dwMajorType
Major type of alarm, definition listed below:
Macro Definition | Value | Meaning
MAJOR_ALARM | 0x1 | Alarm
MAJOR_EXCEPTION | 0x2 | Exception
MAJOR_OPERATION | 0x3 | Operation
MAJOR_INFORMATION | 0x4 | Additional information of log
dwMinorType
Minor type of alarm. Types based on major types are listed below:
Macro Definition of Major Type | Value | Meaning
MAJOR_ALARM | 0x1 | Alarm
Macro Definition of Minor Type | Value | Meaning
MINOR_ALARM_IN | 0x1 | Input of alarm
MINOR_ALARM_OUT | 0x2 | Output of alarm
MINOR_MOTDET_START | 0x3 | Start motion detection alarm
MINOR_MOTDET_STOP | 0x4 | Stop motion detection alarm
MINOR_HIDE_ALARM_START | 0x5 | Start video tampering alarm
MINOR_HIDE_ALARM_STOP | 0x6 | Stop video tampering alarm
MINOR_VCA_ALARM_START | 0x7 | Start intelligent alarm
MINOR_VCA_ALARM_STOP | 0x8 | Stop intelligent alarm

Macro Definition of Major Type | Value | Meaning
MAJOR_EXCEPTION | 0x2 | Exception
Macro Definition of Minor Type | Value | Meaning
MINOR_VI_LOST | 0x21 | Video loss
MINOR_ILLEGAL_ACCESS | 0x22 | Illegal access
MINOR_HD_FULL | 0x23 | Hard disk full
MINOR_HD_ERROR | 0x24 | Hard disk error
MINOR_DCD_LOST | 0x25 | MODEM off-line(reserved)
MINOR_IP_CONFLICT | 0x26 | IP conflict
MINOR_NET_BROKEN | 0x27 | Network not connected
MINOR_REC_ERROR | 0x28 | Recoding error
MINOR_IPC_NO_LINK | 0x29 | IPC connection failed
MINOR_VI_EXCEPTION | 0x2a | Exception of video input (only for analog channels)
MINOR_IPC_IP_CONFLICT | 0x2b | IP conflict of IPC

Macro Definition of Major Type | Value | Meaning
MAJOR_OPERATION | 0x3 | Operation
Macro Definition of Minor Type | Value | Meaning
MINOR_START_DVR | 0x41 | Start DVR
MINOR_STOP_DVR | 0x42 | Shut down DVR
MINOR_STOP_ABNORMAL | 0x43 | Stop abnormal
MINOR_REBOOT_DVR | 0x44 | Reboot DVR (local)
MINOR_LOCAL_LOGIN | 0x50 | Login (local)
MINOR_LOCAL_LOGOUT | 0x51 | Logout (local)
MINOR_LOCAL_CFG_PARM | 0x52 | Local configuration
MINOR_LOCAL_PLAYBYFILE | 0x53 | Playback or download (local)
MINOR_LOCAL_PLAYBYTIME | 0x54 | Playback or download by time (local)
MINOR_LOCAL_START_REC | 0x55 | Start recoding (local)
MINOR_LOCAL_STOP_REC | 0x56 | Stop recoding (local)
MINOR_LOCAL_PTZCTRL | 0x57 | Local PTZ control
MINOR_LOCAL_PREVIEW | 0x58 | Local preview(reserved)
MINOR_LOCAL_MODIFY_TIME | 0x59 | Modify time (local,reserved)
MINOR_LOCAL_UPGRADE | 0x5a | Upgrade (local)
MINOR_LOCAL_RECFILE_OUTPUT | 0x5b | Backup (local)
MINOR_LOCAL_FORMAT_HDD | 0x5c | HD format (local)
MINOR_LOCAL_CFGFILE_OUTPUT | 0x5d | Export configuration (local)
MINOR_LOCAL_CFGFILE_INPUT | 0x5e | Import configuration (local)
MINOR_LOCAL_COPYFILE | 0x5f | Backup file (local)
MINOR_LOCAL_LOCKFILE | 0x60 | Lockup file (local)
MINOR_LOCAL_UNLOCKFILE | 0x61 | Unlock file (local)
MINOR_LOCAL_DVR_ALARM | 0x62 | Clear/Trigger alarm (local)
MINOR_IPC_ADD | 0x63 | Add IPC (local)
MINOR_IPC_DEL | 0x64 | Delete IPC (local)
MINOR_IPC_SET | 0x65 | Set IPC (local)
MINOR_LOCAL_START_BACKUP | 0x66 | Start backup (local)
MINOR_LOCAL_STOP_BACKUP | 0x67 | Stop backup (local)
MINOR_LOCAL_COPYFILE_START_TIME | 0x68 | Start time of local backup
MINOR_LOCAL_COPYFILE_END_TIME | 0x69 | End time of local backup
MINOR_LOCAL_ADD_NAS | 0x6a | Add network disk (local)
MINOR_LOCAL_DEL_NAS | 0x6b | Delete network disk (local)
MINOR_LOCAL_SET_NAS | 0x6c | Set NAS (local)
MINOR_REMOTE_LOGIN | 0x70 | Login (remote)
MINOR_REMOTE_LOGOUT | 0x71 | Logout (remote)
MINOR_REMOTE_START_REC | 0x72 | Start record (remote)
MINOR_REMOTE_STOP_REC | 0x73 | Stop record (remote)
MINOR_START_TRANS_CHAN | 0x74 | Start transparent channel
MINOR_STOP_TRANS_CHAN | 0x75 | Stop transparent channel
MINOR_REMOTE_GET_PARM | 0x76 | Get parameter (remote)
MINOR_REMOTE_CFG_PARM | 0x77 | Remote configuration
MINOR_REMOTE_GET_STATUS | 0x78 | Get status (remote)
MINOR_REMOTE_ARM | 0x79 | On guard (remote)
MINOR_REMOTE_DISARM | 0x7a | Disarm remotely
MINOR_REMOTE_REBOOT | 0x7b | Reboot remotely
MINOR_START_VT | 0x7c | Start voice talk
MINOR_STOP_VT | 0x7d | Stop voice talk
MINOR_REMOTE_UPGRADE | 0x7e | Upgrade remotely
MINOR_REMOTE_PLAYBYFILE | 0x7f | Playback by file name remotely
MINOR_REMOTE_PLAYBYTIME | 0x80 | Playback by time remotely
MINOR_REMOTE_PTZCTRL | 0x81 | Remote PTZ control
MINOR_REMOTE_FORMAT_HDD | 0x82 | Format hard disk remotely
MINOR_REMOTE_STOP | 0x83 | Shut down remotely
MINOR_REMOTE_LOCKFILE | 0x84 | Lockup file remotely
MINOR_REMOTE_UNLOCKFILE | 0x85 | Unlock file remotely
MINOR_REMOTE_CFGFILE_OUTPUT | 0x86 | Export configuration remotely
MINOR_REMOTE_CFGFILE_INTPUT | 0x87 | Import configuration remotely
MINOR_REMOTE_RECFILE_OUTPUT | 0x88 | Backup recording files remotely
MINOR_REMOTE_DVR_ALARM | 0x89 | Trigger/clear alarm remotely
MINOR_REMOTE_IPC_ADD | 0x8a | Add IPC remotely
MINOR_REMOTE_IPC_DEL | 0x8b | Delete IPC remotely
MINOR_REMOTE_IPC_SET | 0x8c | Set IPC remotely
MINOR_REBOOT_VCA_LIB | 0x8d | Restart VCA library
MINOR_REMOTE_ADD_NAS | 0x8e | Add NAS remotely
MINOR_REMOTE_DEL_NAS | 0x8f | Delete NAS remotely
MINOR_REMOTE_SET_NAS | 0x90 | Set NAS remotely

Macro Definition of Major Type | Value | Meaning
MAJOR_INFORMATION | 0x4 | Additional information
Macro Definition of Minor Type | Value | Meaning
MINOR_HDD_INFO | 0xa1 | HD information
MINOR_SMART_INFO | 0xa2 | S.M.A.R.T information
MINOR_REC_START | 0xa3 | Start recording
MINOR_REC_STOP | 0xa4 | Stop recording
MINOR_REC_OVERDUE | 0xa5 | Record overdue
MINOR_LINK_START | 0xa6 | Connect to front-end device
MINOR_LINK_STOP | 0xa7 | Disconnect front-end device
sPanelUser
User name of panel
sNetUser
User name of network operation
sRemoteHostAddr
Address of remote host
dwParaType
   When major type of LOG is
MAJOR_OPERATION=03(operation), and minor type is
MINOR_LOCAL_CFG_PARM=0x52(local configuration)(or
MINOR_REMOTE_GET_PARM=0x76(get parameters remotely, or MINOR_REMOTE_CFG_PARM=0x77(remote
   configuration)), the type is valid.
The meaning is listed as below:
Macro Definition | Value | Meaning
PARA_VIDEOOUT | 0x1 | Configuration of video output structure
PARA_IMAGE | 0x2 | Configuration of image parameter structure
PARA_ENCODE | 0x4 | Configuration of compression parameter structure
PARA_NETWORK | 0x8 | Configuration of network parameter structure
PARA_ALARM | 0x10 | Configuration of alarm parameter structure
PARA_EXCEPTION | 0x20 | Configuration of exception parameter structure
PARA_DECODER | 0x40 | Configuration of decoder parameter structure
PARA_RS232 | 0x80 | Configuration of RS232 parameter structure
PARA_PREVIEW | 0x100 | Configuration of local preview parameter structure
PARA_SECURITY | 0x200 | Configuration of user right parameter structure
PARA_DATETIME | 0x400 | Configuration of local system
PARA_FRAMETYPE | 0x800 | Configuration of frame parameter structure
dwChannel
Channel number
dwDiskNumber
Disk number
dwAlarmInPort
Alarm input port
dwAlarmOutPort
Alarm output port

See Also

NET_DVR_TIME


NET_DVR_LOG_V30

Structure of LOG information.

struct{
  NET_DVR_TIME     strLogTime;
  DWORD            dwMajorType;
  DWORD            dwMinorType;
  BYTE             sPanelUser[MAX_NAMELEN];
  BYTE             sNetUser[MAX_NAMELEN];
  NET_DVR_IPADDR   struRemoteHostAddr;
  DWORD            dwParaType;
  DWORD            dwChannel;
  DWORD            dwDiskNumber;
  DWORD            dwAlarmInPort;
  DWORD            dwAlarmOutPort;
  DWORD            dwInfoLen;
  char             sInfo[LOG_INFO_LEN];
}NET_DVR_LOG_V30,*LPNET_DVR_LOG_V30;

Members

strLogTime
Time of LOG
dwMajorType
Major type of alarm, definition listed below:
Macro Definition | Value | Meaning
MAJOR_ALARM | 0x1 | Alarm
MAJOR_EXCEPTION | 0x2 | Exception
MAJOR_OPERATION | 0x3 | Operation
MAJOR_INFORMATION | 0x4 | Added information of log
MAJOR_EVENT | 0x5 | Event
dwMinorType
Minor type of alarm. Types based on major types are listed below:
Macro Definition of Major Type | Value | Meaning
MAJOR_ALARM | 0x1 | Alarm
Macro Definition of Minor Type | Value | Meaning
MINOR_ALARM_IN | 0x1 | Input of alarm
MINOR_ALARM_OUT | 0x2 | Output of alarm
MINOR_MOTDET_START | 0x3 | The beginning of motion detection alarm
MINOR_MOTDET_STOP | 0x4 | The end of motion detection alarm
MINOR_HIDE_ALARM_START | 0x5 | The beginning of tampering alarm
MINOR_HIDE_ALARM_STOP | 0x6 | The end of tampering alarm
MINOR_VCA_ALARM_START | 0x7 | The beginning of intelligent alarm
MINOR_VCA_ALARM_STOP | 0x8 | The end of intelligent alarm
MINOR_ITS_ALARM_START | 0x09 | The beginning of intelligent traffic alarm
MINOR_ITS_ALARM_STOP | 0x0a | The end of intelligent traffic alarm
MINOR_NETALARM_START | 0x0b | The beginning of network alarm resume
MINOR_NETALARM_STOP | 0x0c | The end of network alarm resume
MINOR_NETALARM_RESUME | 0x0d | Network alarm resume
MINOR_WIRELESS_ALARM_START | 0x0e | The beginning of the wireless alarm
MINOR_WIRELESS_ALARM_STOP | 0x0f | The end of the wireless alarm
MINOR_PIR_ALARM_START | 0x10 | The beginning of human induction alarm
MINOR_PIR_ALARM_STOP | 0x11 | The end of human induction alarm
MINOR_CALLHELP_ALARM_START | 0x12 | The beginning of calling for help alarm
MINOR_CALLHELP_ALARM_STOP | 0x13 | The end of calling for help alarm
MINOR_DETECTFACE_ALARM_START | 0x16 | Face detection alarm start
MINOR_DETECTFACE_ALARM_STOP | 0x17 | Face detection alarm end
MINOR_VCA_SECNECHANGE_DETECTION | 0x1a | Scene detection alarm
MINOR_SMART_REGION_EXITING_BEGIN | 0x1b | Region exiting detection start
MINOR_SMART_REGION_EXITING_END | 0x1c | Region exiting detection end
MINOR_SMART_LOITERING_BEGIN | 0x1d | Loitering detection start
MINOR_SMART_LOITERING_END | 0x1e | Loitering detection end
MINOR_VCA_ALARM_LINE_DETECTION_BEGIN | 0x20 | Line crossing detection start
MINOR_VCA_ALARM_LINE_DETECTION_END | 0x21 | Line crossing detection end
MINOR_VCA_ALARM_INTRUDE_BEGIN | 0x22 | Intrusion detection start
MINOR_VCA_ALARM_INTRUDE_END | 0x23 | Intrusion detection end
MINOR_VCA_ALARM_AUDIOINPUT | 0x24 | Audio loss detection
MINOR_VCA_ALARM_AUDIOABNORMAL | 0x25 | Audio exception detection
MINOR_VCA_DEFOCUS_DETECTION_BEGIN | 0x26 | Defocus detection start
MINOR_VCA_DEFOCUS_DETECTION_END | 0x27 | Defocus detection end
MINOR_VCA_FACE_ALARM_BEGIN | 0x29 | Face detection start
MINOR_SMART_REGION_ENTRANCE_BEGIN | 0x2a | Region entrance detection start
MINOR_SMART_REGION_ENTRANCE_END | 0x2b | Region entrance detection end
MINOR_SMART_PEOPLE_GATHERING_BEGIN | 0x2c | People gathering detection start
MINOR_SMART_PEOPLE_GATHERING_END | 0x2d | People gathering detection end
MINOR_SMART_FAST_MOVING_BEGIN | 0x2e | Fast moving detection start
MINOR_SMART_FAST_MOVING_END | 0x2f | Fast moving detection end
MINOR_VCA_FACE_ALARM_END | 0x30 | Face detection end
MINOR_VCA_SCENE_CHANGE_ALARM_BEGIN | 0x31 | Scene change detection start
MINOR_VCA_SCENE_CHANGE_ALARM_END | 0x32 | Scene change detection end
MINOR_VCA_ALARM_AUDIOINPUT_BEGIN | 0x33 | Audio loss detection start
MINOR_VCA_ALARM_AUDIOINPUT_END | 0x34 | Audio loss detection end
MINOR_VCA_ALARM_AUDIOABNORMAL_BEGIN | 0x35 | Sudden sound change detection start
MINOR_VCA_ALARM_AUDIOABNORMAL_END | 0x36 | Sudden sound change detection end
MINOR_VCA_ALARM_AUDIOSTEEPDROP | 0x39 | Sharp sound decrease detection
MINOR_SMART_PARKING_BEGIN | 0x3c | Parking detection start
MINOR_SMART_PARKING_END | 0x3d | Parking detection end
MINOR_SMART_UNATTENDED_BAGGAGE_BEGIN | 0x3e | Unattended baggage detection start
MINOR_SMART_UNATTENDED_BAGGAGE_END | 0x3f | Unattended baggage detection end
MINOR_SMART_OBJECT_REMOVAL_BEGIN | 0x40 | Object removal detection start
MINOR_SMART_OBJECT_REMOVAL_END | 0x41 | Object removal detection end
MINOR_SMART_VEHICLE_ALARM_START | 0x46 | License plate detection start
MINOR_SMART_VEHICLE_ALARM_STOP | 0x47 | License plate detection end
MINOR_THERMAL_FIREDETECTION | 0x48 | Thermal imaging fire point detection start
MINOR_THERMAL_FIREDETECTION_END | 0x49 | Thermal imaging fire point detection end
MINOR_SMART_VANDALPROOF_BEGIN | 0x50 | Vandal-proof detection start
MINOR_SMART_VANDALPROOF_END | 0x51 | Vandal-proof detection end
MINOR_THERMAL_SHIPSDETECTION | 0x5a | Thermal imaging ship detection
MINOR_THERMAL_THERMOMETRY_EARLYWARNING_BEGIN | 0x5b | Thermal imaging thermometry warning start
MINOR_THERMAL_THERMOMETRY_EARLYWARNING_END | 0x5c | Thermal imaging thermometry warning end
MINOR_THERMAL_THERMOMETRY_ALARM_BEGIN | 0x5d | Thermal imaging thermometry alarm start
MINOR_THERMAL_THERMOMETRY_ALARM_END | 0x5e | Thermal imaging thermometry alarm end
MINOR_THERMAL_THERMOMETRY_DIFF_ALARM_BEGIN | 0x5f | Thermal imaging temperature difference alarm start
MINOR_THERMAL_THERMOMETRY_DIFF_ALARM_END | 0x60 | Thermal imaging temperature difference alarm end
MINOR_ALARMIN_SHORT_CIRCUIT | 0x400 | Arming region short-circuit alarm
MINOR_ALARMIN_BROKEN_CIRCUIT | 0x401 | Arming region broken-circuit alarm
MINOR_ALARMIN_EXCEPTION | 0x402 | Arming region exception alarm
MINOR_ALARMIN_RESUME | 0x403 | Arming region alarm recovery
MINOR_HOST_DESMANTLE_ALARM | 0x404 | Device anti-tamper alarm
MINOR_HOST_DESMANTLE_RESUME | 0x405 | Device anti-tamper alarm recovery
MINOR_CARD_READER_DESMANTLE_ALARM | 0x406 | Card reader anti-tamper alarm
MINOR_CARD_READER_DESMANTLE_RESUME | 0x407 | Card reader anti-tamper alarm recovery
MINOR_CASE_SENSOR_ALARM | 0x408 | Event input alarm
MINOR_CASE_SENSOR_RESUME | 0x409 | Event input recovery
MINOR_STRESS_ALARM | 0x40a | Duress alarm
MINOR_OFFLINE_ECENT_NEARLY_FULL | 0x40b | Offline event over 90% alarm
MINOR_CARD_MAX_AUTHENTICATE_FAIL | 0x40c | Excessive card No. authentication failure alarm
MINOR_POS_START_ALARM | 0x411 | POS start
MINOR_POS_END_ALARM | 0x412 | POS end

Macro Definition of Major Type | Value | Meaning
MAJOR_EXCEPTION | 0x2 | Exception
Macro Definition of Minor Type | Value | Meaning
MINOR_RAID_ERROR | 0x20 | RAID exception
MINOR_VI_LOST | 0x21 | Video loss
MINOR_ILLEGAL_ACCESS | 0x22 | Illegal access
MINOR_HD_FULL | 0x23 | Hard disk full
MINOR_HD_ERROR | 0x24 | Hard disk error
MINOR_DCD_LOST | 0x25 | MODEM off-line(reserved)
MINOR_IP_CONFLICT | 0x26 | IP conflict
MINOR_NET_BROKEN | 0x27 | Network not connected
MINOR_REC_ERROR | 0x28 | Recoding error
MINOR_IPC_NO_LINK | 0x29 | IPC connection failed
MINOR_VI_EXCEPTION | 0x2a | Exception of video input (only for analog channels)
MINOR_IPC_IP_CONFLICT | 0x2b | IP conflict of IPC
MINOR_SENCE_EXCEPTION | 0x2c | Sence exception
MINOR_PIC_REC_ERROR | 0x2d | Failed to get picture file, capture error
MINOR_VI_MISMATCH | 0x2e | Video format mismatch
MINOR_RESOLUTION_MISMATCH | 0x2f | Encoding resolution is not matching with the front-end resolution
MINOR_SCREEN_SUBSYSTEM_ABNORMALREBOOT | 0x3c | Sub-board abnormal startup
MINOR_SCREEN_SUBSYSTEM_ABNORMALINSERT | 0x3d | Sub-board inserted
MINOR_SCREEN_SUBSYSTEM_ABNORMALPULLOUT | 0x3e | Sub-board pulled out
MINOR_SCREEN_ABNARMALTEMPERATURE | 0x3f | Temperature abnormal
MINOR_RECORD_OVERFLOW | 0x41 | Buffer overflow
MINOR_ACCESSORIES_PLATE | 0x57 | Accessory board exception
MINOR_DEV_POWER_ON | 0x400 | Device startup
MINOR_DEV_POWER_OFF | 0x401 | Device shutdown
MINOR_WATCH_DOG_RESET | 0x402 | Watchdog reset
MINOR_LOW_BATTERY | 0x403 | Battery low voltage
MINOR_BATTERY_RESUME | 0x404 | Battery voltage recovery
MINOR_AC_OFF | 0x405 | AC disconnection
MINOR_AC_RESUME | 0x406 | AC recovery
MINOR_NET_RESUME | 0x407 | Network recovery
MINOR_FLASH_ABNORMAL | 0x408 | FLASH read/write exception
MINOR_CARD_READER_OFFLINE | 0x409 | Card reader offline
MINOR_CARD_READER_RESUME | 0x40a | Card reader offline recovery
MINOR_SUBSYSTEM_IP_CONFLICT | 0x4000 | Sub board IP conflict
MINOR_SUBSYSTEM_NET_BROKEN | 0x4001 | Sub board network disconnection
MINOR_FAN_ABNORMAL | 0x4002 | Fan exception
MINOR_BACKPANEL_TEMPERATURE_ABNORMAL | 0x4003 | Back board temperature exception
MINOR_SDCARD_ABNORMAL | 0x4004 | SD card exception
MINOR_SDCARD_DAMAGE | 0x4005 | SD card damage

Macro Definition of Major Type | Value | Meaning
MAJOR_OPERATION | 0x3 | Operation
Macro Definition of Minor Type | Value | Meaning
MINOR_START_DVR | 0x41 | Start DVR
MINOR_STOP_DVR | 0x42 | Close DVR
MINOR_STOP_ABNORMAL | 0x43 | Stop abnormal
MINOR_REBOOT_DVR | 0x44 | reboot DVR (local)
MINOR_LOCAL_LOGIN | 0x50 | Login (local)
MINOR_LOCAL_LOGOUT | 0x51 | Logout (local)
MINOR_LOCAL_CFG_PARM | 0x52 | Local configuration
MINOR_LOCAL_PLAYBYFILE | 0x53 | Playback or download (local)
MINOR_LOCAL_PLAYBYTIME | 0x54 | Playback or download by time (local)
MINOR_LOCAL_START_REC | 0x55 | start recoding (local)
MINOR_LOCAL_STOP_REC | 0x56 | Stop recoding (local)
MINOR_LOCAL_PTZCTRL | 0x57 | Local PTZ control
MINOR_LOCAL_PREVIEW | 0x58 | Local preview(reserved)
MINOR_LOCAL_MODIFY_TIME | 0x59 | Modify time (local,reserved)
MINOR_LOCAL_UPGRADE | 0x5a | Upgrade (local)
MINOR_LOCAL_RECFILE_OUTPUT | 0x5b | Backup (local)
MINOR_LOCAL_FORMAT_HDD | 0x5c | HD format (local)
MINOR_LOCAL_CFGFILE_OUTPUT | 0x5d | Export configuration (local)
MINOR_LOCAL_CFGFILE_INPUT | 0x5e | Import configuration (local)
MINOR_LOCAL_COPYFILE | 0x5f | Backup file (local)
MINOR_LOCAL_LOCKFILE | 0x60 | Lockup file (local)
MINOR_LOCAL_UNLOCKFILE | 0x61 | Unlock file (local)
MINOR_LOCAL_DVR_ALARM | 0x62 | Clear/Trigger alarm (local)
MINOR_IPC_ADD | 0x63 | Add IPC (local)
MINOR_IPC_DEL | 0x64 | Delete IPC (local)
MINOR_IPC_SET | 0x65 | Set IPC (local)
MINOR_LOCAL_START_BACKUP | 0x66 | Start backup locally
MINOR_LOCAL_STOP_BACKUP | 0x67 | Stop backup locally
MINOR_LOCAL_COPYFILE_START_TIME | 0x68 | Local start time of backup
MINOR_LOCAL_COPYFILE_END_TIME | 0x69 | Local end time of backup
MINOR_LOCAL_ADD_NAS | 0x6a | Add network disk locally
MINOR_LOCAL_DEL_NAS | 0x6b | Delete network disk locally
MINOR_LOCAL_SET_NAS | 0x6c | Set NAS locally
MINOR_REMOTE_LOGIN | 0x70 | Login (remote)
MINOR_REMOTE_LOGOUT | 0x71 | Logout (remote)
MINOR_REMOTE_START_REC | 0x72 | Start record (remote)
MINOR_REMOTE_STOP_REC | 0x73 | Stop record (remote)
MINOR_START_TRANS_CHAN | 0x74 | Start transparent channel
MINOR_STOP_TRANS_CHAN | 0x75 | Stop transparent channel
MINOR_REMOTE_GET_PARM | 0x76 | Get parameter remotely
MINOR_REMOTE_CFG_PARM | 0x77 | Remote configuration
MINOR_REMOTE_GET_STATUS | 0x78 | Get status remotely
MINOR_REMOTE_ARM | 0x79 | On guard (remote)
MINOR_REMOTE_DISARM | 0x7a | Disarm remotely
MINOR_REMOTE_REBOOT | 0x7b | Reboot remotely
MINOR_START_VT | 0x7c | Start voice talk
MINOR_STOP_VT | 0x7d | Stop voice talk
MINOR_REMOTE_UPGRADE | 0x7e | Upgrade remotely
MINOR_REMOTE_PLAYBYFILE | 0x7f | Playback by file name remotely
MINOR_REMOTE_PLAYBYTIME | 0x80 | Playback by time remotely
MINOR_REMOTE_PTZCTRL | 0x81 | Remote PTZ control
MINOR_REMOTE_FORMAT_HDD | 0x82 | Format hard disk remotely
MINOR_REMOTE_STOP | 0x83 | Shut down remotely
MINOR_REMOTE_LOCKFILE | 0x84 | Lockup file remotely
MINOR_REMOTE_UNLOCKFILE | 0x85 | Unlock file remotely
MINOR_REMOTE_CFGFILE_OUTPUT | 0x86 | Export configuration remotely
MINOR_REMOTE_CFGFILE_INTPUT | 0x87 | Import configuration remotely
MINOR_REMOTE_RECFILE_OUTPUT | 0x88 | Backup recording files remotely
MINOR_REMOTE_DVR_ALARM | 0x89 | Trigger/clear alarm remotely
MINOR_REMOTE_IPC_ADD | 0x8a | Add IPC remotely
MINOR_REMOTE_IPC_DEL | 0x8b | Delete IPC remotely
MINOR_REMOTE_IPC_SET | 0x8c | Set IPC remotely
MINOR_REBOOT_VCA_LIB | 0x8d | Restart VCA library
MINOR_REMOTE_ADD_NAS | 0x8e | Add NAS remotely
MINOR_REMOTE_DEL_NAS | 0x8f | Delete NAS remotely
MINOR_REMOTE_SET_NAS | 0x90 | Set NAS remotely
MINOR_LOCAL_START_REC_CDRW | 0x91 | Start burning CD locally
MINOR_LOCAL_STOP_REC_CDRW | 0x92 | Stop burning CD locally
MINOR_REMOTE_START_REC_CDRW | 0x93 | Start burning CD remotely
MINOR_REMOTE_STOP_REC_CDRW | 0x94 | Stop burning CD remotely
MINOR_LOCAL_PIC_OUTPUT | 0x95 | Start picture backup locally
MINOR_REMOTE_SET_NAS | 0x96 | Remotely start picture backup
MINOR_LOCAL_INQUEST_RESUME | 0x97 | Resume inquest event locally
MINOR_REMOTE_INQUEST_RESUME | 0x98 | Resume inquest event Remotely
MINOR_REMOTE_BYPASS | 0xd0 | Set bypass remotely
MINOR_REMOTE_UNBYPASS | 0xd1 | Resume bypass remotely
MINOR_REMOTE_SET_ALARMIN_CFG | 0xd2 | Set alarm input parameter remotely
MINOR_REMOTE_GET_ALARMIN_CFG | 0xd3 | Get alarm input parameter remotely
MINOR_REMOTE_SET_ALARMOUT_CFG | 0xd4 | Set alarm output parameter remotely
MINOR_REMOTE_GET_ALARMOUT_CFG | 0xd5 | Get alarm output parameter remotely
MINOR_REMOTE_ALARMOUT_OPEN_MAN | 0xd6 | Manually open alarm output remotely
MINOR_REMOTE_ALARMOUT_CLOSE_MAN | 0xd7 | Manually close alarm output remotely
MINOR_REMOTE_ALARM_ENABLE_CFG | 0xd8 | Set RS485 serial port enable state of alarm host remotely
MINOR_DBDATA_OUTPUT | 0xd9 | Export database
MINOR_DBDATA_INPUT | 0xda | Import database
MINOR_MU_SWITCH | 0xdb | Cascade switch
MINOR_MU_PTZ | 0xdc | Cascade PTZ control
MINOR_REMOTE_INQUEST_DEL_FILE | 0xde | Remote delete file
MINOR_LOCAL_CONF_REB_RAID | 0x101 | Rebuild local configuraion automatically
MINOR_LOCAL_CONF_SPARE | 0x102 | Local configuration spare
MINOR_LOCAL_ADD_RAID | 0x103 | Create RAID locally
MINOR_LOCAL_DEL_RAID | 0x104 | Delete RAID localy
MINOR_LOCAL_MIG_RAID | 0x105 | Migrate RAID locally
MINOR_LOCAL_REB_RAID | 0x106 | Rebuild RAID manually and locally
MINOR_LOCAL_QUICK_CONF_RAID | 0x107 | Local one-key configuration
MINOR_LOCAL_ADD_VD | 0x108 | Create virtual disk locally
MINOR_LOCAL_DEL_VD | 0x109 | Delete virtual disk locally
MINOR_LOCAL_RP_VD | 0x10a | Repair virtual disk locally
MINOR_LOCAL_FORMAT_EXPANDVD | 0x10b | Expand virtual disk locally
MINOR_LOCAL_RAID_UPGRADE | 0x10c | Local RAID card upgrade
MINOR_LOCAL_STOP_RAID | 0x10d | Stop RAID operation(pull out disk safely) locally
MINOR_REMOTE_CONF_REB_RAID | 0x111 | Remotely configure auto rebuilding
MINOR_REMOTE_CONF_SPARE | 0x112 | Remotely configure spare
MINOR_REMOTE_ADD_RAID | 0x113 | Create RAID remotely
MINOR_REMOTE_DEL_RAID | 0x114 | Delete RAID remotely
MINOR_REMOTE_MIG_RAID | 0x115 | Migrate RAID remotely
MINOR_REMOTE_REB_RAID | 0x116 | Rebuild RAID manually and remotely
MINOR_REMOTE_QUICK_CONF_RAID | 0x117 | remote one-key configuration
MINOR_REMOTE_ADD_VD | 0x118 | Create virtual disk remotely
MINOR_REMOTE_DEL_VD | 0x119 | Delete virtual disk remotely
MINOR_REMOTE_RP_VD | 0x11a | Repair virtual disk remotely
MINOR_REMOTE_FORMAT_EXPANDVD | 0x11b | Expand virtual disk remotely
MINOR_REMOTE_RAID_UPGRADE | 0x11c | remote RAID card upgrade
MINOR_REMOTE_STOP_RAID | 0x11d | Stop RAID operation(pull out disk safely) remotely
MINOR_LOCAL_START_PIC_REC | 0x121 | Start capturing picture locally
MINOR_LOCAL_STOP_PIC_REC | 0x122 | Stop capturing picture locally
MINOR_LOCAL_SET_SNMP | 0x125 | Configure SNMP locally
MINOR_LOCAL_TAG_OPT | 0x126 | Local label operation
MINOR_REMOTE_START_PIC_REC | 0x131 | Start capturing picture remotely
MINOR_REMOTE_STOP_PIC_REC | 0x132 | Stop capturing picture remotely
MINOR_REMOTE_SET_SNMP | 0x135 | Remote SNMP configuration
MINOR_REMOTE_TAG_OPT | 0x136 | Remote label operation
MINOR_LOCAL_VOUT_SWITCH | 0x140 | Local output switch operation
MINOR_STREAM_CABAC | 0x141 | Stream compression performance option configuration operation
MINOR_LOCAL_SPARE_OPT | 0x142 | Local N+1 hot spare operation
MINOR_REMOTE_SPARE_OPT | 0x143 | Remote N+1 hot spare operation
MINOR_LOCAL_IPCCFGFILE_OUTPUT | 0x144 | Local export IP camera configuration file
MINOR_LOCAL_IPCCFGFILE_INPUT | 0x145 | Local import IP camera configuration file
MINOR_LOCAL_IPC_UPGRADE | 0x146 | Local upgrade IP camera
MINOR_REMOTE_IPCCFGFILE_OUTPUT | 0x147 | Remote export IP camera configuration file
MINOR_REMOTE_IPCCFGFILE_INPUT | 0x148 | Remote import IP camera configuration file
MINOR_REMOTE_IPC_UPGRADE | 0x149 | Remote upgrade IP camera
MINOR_LOCAL_UNLOAD_HDISK | 0x150 | Local unmount HDD
MINOR_LOCAL_AUDIO_MIX | 0x151 | Local configure audio mix parameters
MINOR_REMOTE_AUDIO_MIX | 0x152 | Remote configure audio mix parameters
MINOR_LOCAL_TRIAL_PAUSE | 0x153 | Local pause inquest
MINOR_LOCAL_TRIAL_RESUME | 0x154 | Local resume inquest
MINOR_REMOTE_TRIAL_PAUSE | 0x155 | Remote pause inquest
MINOR_REMOTE_TRIAL_RESUME | 0x156 | Remote resume inquest
MINOR_SET_MULTI_MASTER | 0x201 | Set master screen of multi-screen controller
MINOR_SET_MULTI_SLAVE | 0x202 | Set slave screen of multi-screen controller
MINOR_CANCEL_MULTI_MASTER | 0x203 | Cancel master screen of multi-screen controller
MINOR_CANCEL_MULTI_SLAVE | 0x204 | Cancel slave screen of multi-screen controller
MINOR_SCREEN_SET_INPUT | 0x251 | Modify input source
MINOR_SCREEN_SET_OUTPUT | 0x252 | Modify output channel
MINOR_SCREEN_SET_OSD | 0x253 | Modify OSD
MINOR_SCREEN_SET_LOGO | 0x254 | Modify LOGO
MINOR_SCREEN_SET_LAYOUT | 0x255 | Set layout
MINOR_SCREEN_PICTUREPREVIEW | 0x256 | Callback operation
MINOR_SCREEN_GET_OSD | 0x257 | Get OSD
MINOR_SCREEN_GET_LAYOUT | 0x258 | Get layout
MINOR_SCREEN_LAYOUT_CTRL | 0x259 | Layout control
MINOR_GET_ALL_VALID_WND | 0x260 | Get all valid windows
MINOR_GET_SIGNAL_WND | 0x261 | Get single window information
MINOR_WINDOW_CTRL | 0x262 | Window control
MINOR_GET_LAYOUT_LIST | 0x263 | Get layout list
MINOR_LAYOUT_CTRL | 0x264 | Layout control
MINOR_SET_LAYOUT | 0x265 | Set single layout
MINOR_GET_SIGNAL_LIST | 0x266 | Get input signal source list
MINOR_GET_PLAN_LIST | 0x267 | Get plan list
MINOR_SET_PLAN | 0x268 | Modify plan
MINOR_CTRL_PLAN | 0x269 | Control plan
MINOR_CTRL_SCREEN | 0x270 | Screen control
MINOR_ADD_NETSIG | 0x271 | Add signal source
MINOR_SET_NETSIG | 0x272 | Modify signal source
MINOR_SET_DECBDCFG | 0x273 | Set decoder board parameter
MINOR_GET_DECBDCFG | 0x274 | Get decoder board parameter
MINOR_GET_DEVICE_STATUS | 0x275 | Get device information
MINOR_UPLOAD_PICTURE | 0x276 | Upload the picture as traced drawing to the device
MINOR_SET_USERPWD | 0x277 | Set user's password
MINOR_ADD_LAYOUT | 0x278 | Add layout
MINOR_DEL_LAYOUT | 0x279 | Delete layout
MINOR_DEL_NETSIG | 0x280 | Delete signal source
MINOR_ADD_PLAN | 0x281 | Add plan
MINOR_DEL_PLAN | 0x282 | Delete plan
MINOR_LOCAL_LOAD_HDISK | 0x300 | Load hard disk locally
MINOR_LOCAL_DELETE_HDISK | 0x301 | Delete abnormal and non-exist hard disk locally
MINOR_REMOTE_OPEN_DOOR | 0x400 | Remote open door
MINOR_REMOTE_CLOSE_DOOR | 0x401 | Remote close door
MINOR_REMOTE_ALWAYS_OPEN | 0x402 | Remote normally open
MINOR_REMOTE_ALWAYS_CLOSE | 0x403 | Remote normally closed
MINOR_REMOTE_CHECK_TIME | 0x404 | Remote manual time sync
MINOR_NTP_CHECK_TIME | 0x405 | NTP auto time sync
MINOR_REMOTE_CLEAR_CARD | 0x406 | Remote clear card No.
MINOR_REMOTE_RESTORE_CFG | 0x407 | Remote restore default parameters
MINOR_ALARMIN_ARM | 0x408 | Arming region arming
MINOR_ALARMIN_DISARM | 0x409 | Arming region disarming
MINOR_LOCAL_RESTORE_CFG | 0x40a | Local restore default parameters
MINOR_SET_TRIGGERMODE_CFG | 0x1001 | Set trigger mode
MINOR_GET_TRIGGERMODE_CFG | 0x1002 | Get trigger mode
MINOR_SET_IOOUT_CFG | 0x1003 | Set IO output parameter
MINOR_GET_IOOUT_CFG | 0x1004 | Get IO output parameter
MINOR_GET_TRIGGERMODE_DEFAULT | 0x1005 | Get recommended parameter of trigger mode
MINOR_GET_ITCSTATUS | 0x1006 | Get status parameter
MINOR_SET_STATUS_DETECT_CFG | 0x1007 | Set status detection parameter
MINOR_GET_STATUS_DETECT_CFG | 0x1008 | Get status detection parameter
MINOR_GET_VIDEO_TRIGGERMODE_CFG | 0x1009 | Get video electronic police mode configuration
MINOR_SET_VIDEO_TRIGGERMODE_CFG | 0x100a | Set video electronic police mode parameter
MINOR_LOCAL_ADD_CAR_INFO | 0x2001 | Local add vehicle information
MINOR_LOCAL_MOD_CAR_INFO | 0x2002 | Local modify vehicle information
MINOR_LOCAL_DEL_CAR_INFO | 0x2003 | Local delete vehicle information
MINOR_LOCAL_FIND_CAR_INFO | 0x2004 | Local search vehicle information
MINOR_LOCAL_ADD_MONITOR_INFO | 0x2005 | Local add monitoring information
MINOR_LOCAL_MOD_MONITOR_INFO | 0x2006 | Local modify monitoring information
MINOR_LOCAL_DEL_MONITOR_INFO | 0x2007 | Local delete monitoring information
MINOR_LOCAL_FIND_MONITOR_INFO | 0x2008 | Local search monitoring information
MINOR_LOCAL_FIND_NORMAL_PASS_INFO | 0x2009 | Local search normal passing information
MINOR_LOCAL_FIND_ABNORMAL_PASS_INFO | 0x200a | Local search exception passing information
MINOR_LOCAL_FIND_PEDESTRIAN_PASS_INFO | 0x200b | Local search normal passing information
MINOR_LOCAL_PIC_PREVIEW | 0x200c | Local picture preview
MINOR_LOCAL_SET_GATE_PARM_CFG | 0x200d | Set local entrance/exit parameters
MINOR_LOCAL_GET_GATE_PARM_CFG | 0x200e | Get local entrance/exit parameters
MINOR_LOCAL_SET_DATAUPLOAD_PARM_CFG | 0x200f | Set local configuration data upload parameters
MINOR_LOCAL_GET_DATAUPLOAD_PARM_CFG | 0x2010 | Get local configuration data upload parameters
MINOR_LOCAL_DEVICE_CONTROL | 0x2011 | Local device control (local switching gate)
MINOR_LOCAL_ADD_EXTERNAL_DEVICE_INFO | 0x2012 | Local add external device information
MINOR_LOCAL_MOD_EXTERNAL_DEVICE_INFO | 0x2013 | Local modify external device information
MINOR_LOCAL_DEL_EXTERNAL_DEVICE_INFO | 0x2014 | Local delete external device information
MINOR_LOCAL_FIND_EXTERNAL_DEVICE_INFO | 0x2015 | Local search external device information
MINOR_LOCAL_ADD_CHARGE_RULE | 0x2016 | Local add charging rule
MINOR_LOCAL_MOD_CHARGE_RULE | 0x2017 | Local modify charging rule
MINOR_LOCAL_DEL_CHARGE_RULE | 0x2018 | Local delete charging rule
MINOR_LOCAL_FIND_CHARGE_RULE | 0x2019 | Local search charging rule
MINOR_LOCAL_COUNT_NORMAL_CURRENTINFO | 0x2020 | Local count normal passing information
MINOR_LOCAL_EXPORT_NORMAL_CURRENTINFO_REPORT | 0x2021 | Local export normal passing information report
MINOR_LOCAL_COUNT_ABNORMAL_CURRENTINFO | 0x2022 | Local count exception passing information
MINOR_LOCAL_EXPORT_ABNORMAL_CURRENTINFO_REPORT | 0x2023 | Local export exception passing information report
MINOR_LOCAL_COUNT_PEDESTRIAN_CURRENTINFO | 0x2024 | Local count passenger passing information
MINOR_LOCAL_EXPORT_PEDESTRIAN_CURRENTINFO_REPORT | 0x2025 | Local export passenger passing information report
MINOR_LOCAL_FIND_CAR_CHARGEINFO | 0x2026 | Local search passing vehicle charging information
MINOR_LOCAL_COUNT_CAR_CHARGEINFO | 0x2027 | Local count passing vehicle charging information
MINOR_LOCAL_EXPORT_CAR_CHARGEINFO_REPORT | 0x2028 | Local export passing vehicle charging information report
MINOR_LOCAL_FIND_SHIFTINFO | 0x2029 | Local search duty shift information
MINOR_LOCAL_FIND_CARDINFO | 0x2030 | Local search card information
MINOR_LOCAL_ADD_RELIEF_RULE | 0x2031 | Local add reduction rule
MINOR_LOCAL_MOD_RELIEF_RULE | 0x2032 | Local modify reduction rule
MINOR_LOCAL_DEL_RELIEF_RULE | 0x2033 | Local delete reduction rule
MINOR_LOCAL_FIND_RELIEF_RULE | 0x2034 | Local search reduction rule
MINOR_LOCAL_GET_ENDETCFG | 0x2035 | Local get entrance/exit control device offline detection configuration
MINOR_LOCAL_SET_ENDETCFG | 0x2036 | Local set entrance/exit control device offline detection configuration
MINOR_LOCAL_SET_ENDEV_ISSUEDDATA | 0x2037 | Local set entrance/exit control device card issuing information
MINOR_LOCAL_DEL_ENDEV_ISSUEDDATA | 0x2038 | Local clear entrance/exit control device card issuing information
MINOR_REMOTE_DEVICE_CONTROL | 0x2101 | Remote device control
MINOR_REMOTE_SET_GATE_PARM_CFG | 0x2102 | Set remote entrance/exit parameters
MINOR_REMOTE_GET_GATE_PARM_CFG | 0x2103 | Get remote entrance/exit parameters
MINOR_REMOTE_SET_DATAUPLOAD_PARM_CFG | 0x2104 | Set remote data upload parameters
MINOR_REMOTE_GET_DATAUPLOAD_PARM_CFG | 0x2105 | Get remote data upload parameters
MINOR_REMOTE_GET_BASE_INFO | 0x2106 | Remote get terminal basic information
MINOR_REMOTE_GET_OVERLAP_CFG | 0x2107 | Remote get character overlay parameter configuration
MINOR_REMOTE_SET_OVERLAP_CFG | 0x2108 | Remote set character overlay parameter configuration
MINOR_REMOTE_GET_ROAD_INFO | 0x2109 | Remote get crossroad information
MINOR_REMOTE_START_TRANSCHAN | 0x210a | Remote establish data sync server
MINOR_REMOTE_GET_ECTWORKSTATE | 0x210b | Remote get entrance/exit terminal operating status
MINOR_REMOTE_GET_ECTCHANINFO | 0x210c | Remote get entrance/exit terminal channel status
MINOR_REMOTE_ADD_EXTERNAL_DEVICE_INFO | 0x210d | Remote add external device information
MINOR_REMOTE_MOD_EXTERNAL_DEVICE_INFO | 0x210e | Remote modify external device information
MINOR_REMOTE_GET_ENDETCFG | 0x210f | Remote get entrance/exit control device offline detection configuration
MINOR_REMOTE_SET_ENDETCFG | 0x2110 | Remote set entrance/exit control device offline detection configuration
MINOR_REMOTE_ENDEV_ISSUEDDATA | 0x2111 | Remote set entrance/exit control device card issuing information
MINOR_REMOTE_DEL_ENDEV_ISSUEDDATA | 0x2112 | Remote clear entrance/exit control device card issuing information
MINOR_REMOTE_ON_CTRL_LAMP | 0x2115 | Enable remote control of parking space indicator
MINOR_REMOTE_OFF_CTRL_LAMP | 0x2116 | Close remote control of parking space indicator
MINOR_SET_VOICE_LEVEL_PARAM | 0x2117 | Set volume
MINOR_SET_VOICE_INTERCOM_PARAM | 0x2118 | Set voice recording
MINOR_SET_INTELLIGENT_PARAM | 0x2119 | Smart configuration
MINOR_LOCAL_SET_RAID_SPEED | 0x211a | Local set RAID speed
MINOR_REMOTE_SET_RAID_SPEED | 0x211b | Remote set RAID speed
MINOR_REMOTE_CREATE_STORAGE_POOL | 0x211c | Remote add storage pool
MINOR_REMOTE_DEL_STORAGE_POOL | 0x211d | Remote delete storage pool
MINOR_REMOTE_DEL_PIC | 0x2120 | Remote delete picture data
MINOR_REMOTE_DEL_RECORD | 0x2121 | Remote delete video data
MINOR_REMOTE_CLOUD_ENABLE | 0x2123 | Remote enable cloud storage
MINOR_REMOTE_CLOUD_DISABLE | 0x2124 | Remote disable cloud storage
MINOR_REMOTE_CLOUD_MODIFY_PARAM | 0x2125 | Remote modify cloud storage pool parameters
MINOR_REMOTE_CLOUD_MODIFY_VOLUME | 0x2126 | Remote modify cloud storage pool capacity
MINOR_REMOTE_CREATE_MOD_VIEWLIB_SPACE | 0x2200 | Remote create/modify view library space
MINOR_REMOTE_DELETE_VIEWLIB_FILE | 0x2201 | Remote delete view library file
MINOR_REMOTE_DOWNLOAD_VIEWLIB_FILE | 0x2202 | Remote download view library file
MINOR_REMOTE_UPLOAD_VIEWLIB_FILE | 0x2203 | Remote upload view library file
MINOR_LOCAL_CREATE_MOD_VIEWLIB_SPACE | 0x2204 | Local create/modify view library space
MINOR_REMOTE_CONFERENCE_CONFIG | 0x2501 | MCU meeting configuration
MINOR_REMOTE_TERMINAL_CONFIG | 0x2502 | MCU terminal configuration
MINOR_REMOTE_GROUP_CONFIG | 0x2503 | MCU group configuration
MINOR_REMOTE_CONFERENCE_CTRL | 0x2504 | MCU meeting control
MINOR_REMOTE_TERMINAL_CTRL | 0x2505 | MCU terminal control

Macro Definition of Major Type | Value | Meaning
MAJOR_INFORMATION | 0x4 | Additional information
Macro Definition of Minor Type | Value | Meaning
MINOR_HDD_INFO | 0xa1 | HD information
MINOR_SMART_INFO | 0xa2 | S.M.A.R.T information
MINOR_REC_START | 0xa3 | Start recording
MINOR_REC_STOP | 0xa4 | Stop recording
MINOR_REC_OVERDUE | 0xa5 | Record overdue
MINOR_LINK_START | 0xa6 | Connect to front-end device
MINOR_LINK_STOP | 0xa7 | Disconnect front-end device
MINOR_NET_DISK_INFO | 0xa8 | Network disk information
MINOR_RAID_INFO | 0xa9 | RAID information
MINOR_RUN_STATUS_INFO | 0xaa | System operating status information
MINOR_SPARE_START_BACKUP | 0xab | Hot spare system started backing up specified working device
MINOR_SPARE_STOP_BACKUP | 0xac | Hot spare system stopped backing up specified working device
MINOR_SPARE_CLIENT_INFO | 0xad | Hot spare client device information
MINOR_ANR_RECORD_START | 0xae | ANR recording start
MINOR_ANR_RECORD_END | 0xaf | ANR recording end
MINOR_ANR_ADD_TIME_QUANTUM | 0xb0 | ANR add time period
MINOR_ANR_DEL_TIME_QUANTUM | 0xb1 | ANR delete time period
MINOR_LINK_START | 0xb3 | Start capturing picture
MINOR_PIC_REC_STOP | 0xb4 | Stop capturing picture
MINOR_PIC_REC_OVERDUE | 0xb5 | Delete expired picture
MINOR_CLIENT_LOGIN | 0xb6 | Logged in to server
MINOR_CLIENT_RELOGIN | 0xb7 | Re-log in to server
MINOR_CLIENT_LOGOUT | 0xb8 | Logged out from server
MINOR_CLIENT_SYNC_START | 0xb9 | Video sync start
MINOR_CLIENT_SYNC_STOP | 0xba | Video sync end
MINOR_CLIENT_SYNC_SUCC | 0xbb | Video sync successful
MINOR_CLIENT_SYNC_EXCP | 0xbc | Video sync exception
MINOR_GLOBAL_RECORD_ERR_INFO | 0xbd | Global error record information
MINOR_BUFFER_STATE | 0xbe | Buffer status log record
MINOR_DISK_ERRORINFO_V2 | 0xbf | HDD error detailed information V2
MINOR_UNLOCK_RECORD | 0xc3 | Unlock record
MINOR_VIS_ALARM | 0xc4 | Arming region alarm
MINOR_TALK_RECORD | 0xc5 | Call record
MINOR_ACCESSORIES_MESSAGE | 0xc6 | Accessory board information
MINOR_EZVIZ_OPERATION | 0xcc | EZVIZ operating status
Macro Definition of Major Type | Value | Meaning
MAJOR_EVENT | 0x5 | Event
Macro Definition of Minor Type | Value | Meaning
MINOR_LEGAL_CARD_PASS | 0x01 | Legal card authentication passed
MINOR_CARD_AND_PSW_PASS | 0x02 | Card and password authentication passed
MINOR_CARD_AND_PSW_FAIL | 0x03 | Card and password authentication failed
MINOR_CARD_AND_PSW_TIMEOUT | 0x04 | Card and password authentication timeout
MINOR_CARD_AND_PSW_OVER_TIME | 0x05 | Card swiping attempts exceeded upper limit
MINOR_CARD_NO_RIGHT | 0x06 | Permission not allocated
MINOR_CARD_INVALID_PERIOD | 0x07 | Invalid time period
MINOR_CARD_OUT_OF_DATE | 0x08 | Card No. expired
MINOR_INVALID_CARD | 0x09 | Card No. does not exist
MINOR_ANTI_SNEAK_FAIL | 0x0a | Anti-passback authentication failed
MINOR_INTERLOCK_DOOR_NOT_CLOSE | 0x0b | Interlock door not closed
MINOR_NOT_BELONG_MULTI_GROUP | 0x0c | The card does not belong to multi-authentication group
MINOR_INVALID_MULTI_VERIFY_PERIOD | 0x0d | The card is not within multi-authentication time period
MINOR_MULTI_VERIFY_SUPER_RIGHT_FAIL | 0x0e | Multi-authentication mode super permission authentication failed
MINOR_MULTI_VERIFY_REMOTE_RIGHT_FAIL | 0x0f | Multi-authentication remote authentication failed
MINOR_MULTI_VERIFY_SUCCESS | 0x10 | Multi-authentication succeeded
MINOR_LEADER_CARD_OPEN_BEGIN | 0x11 | First card open door start
MINOR_LEADER_CARD_OPEN_END | 0x12 | First card open door end
MINOR_ALWAYS_OPEN_BEGIN | 0x13 | Normally open status started
MINOR_ALWAYS_OPEN_END | 0x14 | Normally open status end
MINOR_LOCK_OPEN | 0x15 | Door lock open
MINOR_LOCK_CLOSE | 0x16 | Door lock closed
MINOR_DOOR_BUTTON_PRESS | 0x17 | Door button press
MINOR_DOOR_BUTTON_RELEASE | 0x18 | Door button release
MINOR_DOOR_OPEN_NORMAL | 0x19 | Normal open door (magnet)
MINOR_DOOR_CLOSE_NORMAL | 0x1a | Normal close door (magnet)
MINOR_DOOR_OPEN_ABNORMAL | 0x1b | Door exception open (magnet)
MINOR_DOOR_OPEN_TIMEOUT | 0x1c | Door open timeout (magnet)
MINOR_ALARMOUT_ON | 0x1d | Alarm output enabled
MINOR_ALARMOUT_OFF | 0x1e | Alarm output disabled
MINOR_ALWAYS_CLOSE_BEGIN | 0x1f | Normally closed status start
MINOR_ALWAYS_CLOSE_END | 0x20 | Normally closed status end
MINOR_MULTI_VERIFY_NEED_REMOTE_OPEN | 0x21 | Multi-authentication requires remote open door
MINOR_MULTI_VERIFY_SUPERPASSWD_VERIFY_SUCCESS | 0x22 | >Multi-authentication super password authentication succeeded
MINOR_MULTI_VERIFY_REPEAT_VERIFY | 0x23 | >Multi-authentication duplicate authentication
MINOR_MULTI_VERIFY_TIMEOUT | 0x24 | Multi-authentication duplicate authentication tiemout
sPanelUser
User name of panel
sNetUser
User name of network operation
struRemoteHostAddr
Address of remote host
dwParaType
For DS-90xx series DVR: when minor type is MINOR_START_VT or MINOR_STOP_VT, it is port NO. of voice talk; when major type is MAJOR_OPERATION=03(operation) and minor type is MINOR_LOCAL_CFG_PARM=0x52(local configuration) or MINOR_REMOTE_GET_PARM=0x76(get parameters remotely) or MINOR_REMOTE_CFG_PARM=0x77(remote configuration), the type is valid. The meaning is listed as below:
Macro Definition | Value | Meaning
PARA_VIDEOOUT | 0x1 | Configuration of video output structure
PARA_IMAGE | 0x2 | Configuration of image parameter structure
PARA_ENCODE | 0x4 | Configuration of compression parameter structure
PARA_NETWORK | 0x8 | Configuration of network parameter structure
PARA_ALARM | 0x10 | Configuration of alarm parameter structure
PARA_EXCEPTION | 0x20 | Configuration of exception parameter structure
PARA_DECODER | 0x40 | Configuration of decoder parameter structure
PARA_RS232 | 0x80 | Configuration of RS232 parameter structure
PARA_PREVIEW | 0x100 | Configuration of local preview parameter structure
PARA_SECURITY | 0x200 | Configuration of user right parameter structure
PARA_DATETIME | 0x400 | Configuration of local system
PARA_FRAMETYPE | 0x800 | Configuration of frame parameter structure
PARA_DETECTION | 0x1000 | Detection configuration (determine intrusion and line crossing detection according to additional information)
dwChannel
Channel number
dwDiskNumber
Disk number
dwAlarmInPort
Alarm input port
dwAlarmOutPort
Alarm output port
dwInfoLen
Length of added information of LOG
sInfo
Added information of LOG
sInfo
Additional log information (when searching access control host logs, sInfo contains a structure NET_DVR_ACS_EVENT_INFO)

See Also

NET_DVR_TIME NET_DVR_IPADDR


NET_DVR_LOGIN_DEVICE_PARAM

Structure of login device parameters

struct{
  DOWRD    dwSize;
  BYTE     byMobileDev;
  BYTE     byRes[64];
}NET_DVR_LOGIN_DEVICE_PARAM,*LPNET_DVR_LOGIN_DEVICE_PARAM;

Members

dwSize
Structure
byMobileDev
Device type:0- non-mobile device, 1- mobile device
byRes
Reserved, set it to 0

Remarks

The API notify fisheye devices whether there is mobile deivce login.The mode of the fifth channel will switch from PTZ mode to fisheye mode when there is mobile device login(such as the mobile client ), PTZ will not support at this moment. Notification of live view mode swicth will return to the upper application throughNET_DVR_StartRemoteConfig

See Also

NET_DVR_RemoteControl


NET_DVR_LOGO_OVERLAYCFG

LOGO picture overlay configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwCoordinateX;
  DWORD    dwCoordinateY;
  WORD     wPicWidth;
  WORD     wPicHeight;
  BYTE     byRes[16];
}NET_DVR_LOGO_OVERLAYCFG,*LPNET_DVR_LOGO_OVERLAYCFG;

Members

dwSize
Structure size
byEnable
Whether to enable LOGO picture overlay: 0- no, 1- yes
byRes1
Reserved, set as 0
dwCoordinateX
Picture display area X coordinate
dwCoordinateY
Picture display area Y coordinate
wPicWidth
Picture width
wPicHeight
Picture height
byRes
Reserved, set as 0

See Also

LOGO picture is uploaded to device through interface NET_DVR_UploadLogo, and then whether to enable LOGO picture overlay can be configured.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LOITERING_DETECTION

Loitering detection configuration structure

struct{
  DWORD                       dwSize;
  BYTE                        byEnabled;
  BYTE                        byRes1[3];
  NET_DVR_LOITERING_REGION    struRegion[MAX_REGION_NUM];
  BYTE                        byRes2[128];
}NET_DVR_LOITERING_DETECTION,*LPNET_DVR_LOITERING_DETECTION;

Members

dwSize
Structure size
byEnabled
Enable?0- No, 1- Yes
byRes1
Reserved
struRegion
Loitering detection region
byRes2
Reserved

Remarks

  • This function corresponds to loitering detection capability(Loitering), API;NET_DVR_GetSTDAbility(Capability type:NET_DVR_GET_LOITERING_CAPABILITIES )。
  • If the Region parameters(struRegion) is set as 0, it indicates that the region is deleted. If the Region parameters(struRegion) is not set as 0, the region parameters will not be configured. Configure the region parameters separately viaNET_DVR_SET_LOITERING_REGION.

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_LOITERING_REGION

Loitering detection region structure

struct{
  NET_VCA_POLYGON    struRegion;
  BYTE               bySensitivity;
  BYTE               byTimeThreshold;
  BYTE               byRes[62];
}NET_DVR_LOITERING_REGION,*LPNET_DVR_LOITERING_REGION;

Members

struRegion
Loitering detection region coverage
bySensitivity
Sensitivity, value range[1,100]
byTimeThreshold
Time threshold, value range[0,10], unit:s
byRes
Reserved

Remarks

If the Region parameters is set as 0, it indicates that the region is deleted. For speed dome, when getting single region, it will be located to the scene of this region.

See Also

NET_DVR_LOITERING_DETECTION


NET_DVR_LONGITUDE_PARAM

The structure of the longitude parameters

struct{
  BYTE    byDegree;
  BYTE    byMinute;
  BYTE    bySec;
  BYTE    byRes;
}NET_DVR_LONGITUDE_PARAM, *LPNET_DVR_LONGITUDE_PARAM;

Members

byDegree
Degree, range[0~179]
byMinute
Minute, range[0~59]
byMinute
Second, range[0~59]
byRes
Reserved, set as 0.

See Also

NET_DVR_GPS_DATACFG


NET_DVR_LOW_LIGHT_CFG

Configuration of low illumination parameters

struct{
  DWORD    dwSize;
  BYTE     byLowLightLimt;
  BYTE     byLowLightLimtLevel;
  BYTE     byRes[66];
}NET_DVR_LOW_LIGHT_CFG, *LPNET_DVR_LOW_LIGHT_CFG;

Members

dwSize
Structure size
byLowLightLimt
Electronic shutter of low illumination: 0- close, 1- open
byLowLightLimtLevel
Electronic shutter level of low illumination: 0- close, 1- slow shutter *2, 2- slow shutter *3, 3- slow shutter *4, 4- slow shutter *6, 5- slow shutter *8, 6- slow shutter *12, 7- slow shutter *16, 8- slow shutter *24, 9- slow shutter *32, 10- slow shutter *48, 11- slow shutter *64, 12- slow shutter *96, 13- slow shutter *128, 14- slow shutter *256, 15- slow shutter *512
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_LOWPOWER

Low power configure structure.

struct{
  DWORD                       dwSize;
  BYTE                        byMode;
  BYTE                        byEnabled;
  BYTE                        byRes[6];
  NET_DVR_SCHEDULE_DAYTIME    struSchedTime;
  BYTE                        byRes1[256];
}NET_DVR_LOWPOWER,*LPNET_DVR_LOWPOWER;

Members

dwSize
Structure size
byMode
Low power control mode:0- manual,1- timing
byEnabled
manual mode下的enable(byMode为0有效):0- close,1- enable
byRes
Reserved, set as 0
struSchedTime
The time segment parameter under timing mode. Enable low power function between start time and end time, and disable low power function outside of the range between start time and end time.
byRes1
Reserved, set as 0

Remarks

  • Judge through device capability set whether device support low power configuration or support parameter capability, corresponding low power configure capability set(LowPower), related interface:NET_DVR_GetSTDAbility,Capability set type:NET_DVR_GET_LOWPOWER_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_MACHINE_MAX_NUM_CFG

Structure of the standby device number

struct{
  DWORD    dwSize;
  DWORD    dwMaxNum;
  BYTE     byRes[32];
}NET_DVR_MACHINE_MAX_NUM_CFG,*LPNET_DVR_MACHINE_MAX_NUM_CFG;

Members

dwSize
The size of the structure
dwMaxNum
Max. number of the standby device
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MANAGE_UNIT_DEVICEID

Master station No. parameter structure

struct{
  WORD    wPeriod;
  WORD    wDevIndex;
  BYTE    byRes[124];
 }NET_DVR_MANAGE_UNIT_DEVICEID,*LPNET_DVR_MANAGE_UNIT_DEVICEID;

Members

wPeriod
Project No., range:[0,9]
wDevIndex
Master station No., the No. of door station of each floor is unique, from 0
byRes
Reserved, set as 0

See Also

NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION


NET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG

Management Station Operation Time Configuration Structure

struct{
  DWORD    dwMaxMonitoringTime;
  DWORD    dwMaxRingTime;
  DWORD    dwMaxTalkTime;
  BYTE     byRes[116];
 }NET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG,*LPNET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG;

Members

dwMaxMonitoringTime
Max. monitoring time, range [10,60]，unit: second
dwMaxRingTime
Max. ringing time, range [15,60]，unit: second
dwMaxTalkTime
Max. talking time, unit: second
byRes
Reserved, set as 0.

See Also

NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION


NET_DVR_MANAGE_UNIT_RELATEDEV

Master station related network device parameters structure

struct{
  NET_DVR_IPADDR    struSIPServer;
  BYTE              byRes[880];
 }NET_DVR_MANAGE_UNIT_RELATEDEV,*LPNET_DVR_MANAGE_UNIT_RELATEDEV;

Members

struSIPServer
SIP server IP address
byRes
Reserved, set as 0.

See Also

NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION


NET_DVR_MANUAL_CTRL_INFO

Structure of dual-camera manual tracking.

struct{
  NET_VCA_POINT     struCtrlPoint;
  BYTE              byRes[8];
}NET_DVR_MANUAL_CTRL_INFO, *LPNET_DVR_MANUAL_CTRL_INFO;

Members

struCtrlPoint
Control point of manual control
byRes
Reserved

See Also

NET_VCA_POINT


NET_DVR_MANUAL_CURRICULUM_CFG

Manual course recording structure

struct{
  DWORD          dwSize;
  BYTE           byRecUUID[MAX_UUID_LEN];
  BYTE           byCourseName[COURSE_NAME_LEN_128];
  BYTE           byInstructorName[INSTRUCTOR_NAME_LEN_64];
  BYTE           byCourseDescription[COURSE_DESCRIPTION_LEN];
  BYTE           byCmdType;
  BYTE           byRes[303];
 }NET_DVR_RECORD_STATUS,*LPNET_DVR_RECORD_STATUS;

Members

dwSize
Structure size
byRecUUID
Manual course list UUID
byCourseName
Course name
byInstructorName
Teacher name
byCourseDescription
Course description
byCmdType
Command, 0- start recording, 1- end, 2- pause, 3- resume, 4- start blocking, 5- end blocking
byRes
Reserved, set as 0

Remarks

  • Whether the device supports manual course recording can be determined through device capability set (ManualCurriculumCap), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_MANUAL_CURRICULUM_CONTROL_CAP.

See Also

NET_DVR_GetSTDConfig


NET_DVR_MANUAL_RECORD_PARA

Structure of manual recording parameter

struct{
  NET_DVR_STREAM_INFO    struStreamInfo;
  LONG                   lRecordType;
  BYTE                   byRes[32];
}NET_DVR_MANUAL_RECORD_PARA,*LPNET_DVR_MANUAL_RECORD_PARA;

Members

struStreamInfo
Stream ID
lRecordType
Video type: 0- manual record, 1- motion detection, 2- semaphore(IO) alarm, 3- tampering alarm
byRes
Reserved, please set to 0

See Also

NET_DVR_StartManualRecord


NET_DVR_MANUAL_TRACKRATIO

Structure for manual tracking zooming rate configuration.

struct{
  DWORD    dwSize;
  BYTE     byCoefficient;
  BYTE     byRes[127];
}NET_DVR_MANUAL_TRACKRATIO,*LPNET_DVR_MANUAL_TRACKRATIO;

Members

dwSize
Structure size
byCoefficient
Tracking zooming ratio, range: from 1 to 60.
byRes
Reserved, set as 0.

Remarks

  • The box camera works as a master camera, and the doom camera works as a slave camera. For the slave camera configuration, you should log in to the master camera first, and then set the linked camera. Up to 4 slave cameras can be configured.
  • According to the device Capability Set, you can understand whether the device supports the manual tracking zooming rate configuration or not.Capability Set of corresponding slave camera configuration and calibration (SlaveCameraCalibrating) Relevant interface: NET_DVR_GetSTDAbility, Capability Set type: NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES, Node: <ManualTrackRatio>.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_MANUALDEICING_CFG

Manual Deicing Function Settings Structure

struct{
  DWORD    dwSize;
  BYTE     byEnabled;
  BYTE     byRes[127];
}NET_DVR_MANUALDEICING_CFG,*LPNET_DVR_MANUALDEICING_CFG;

Members

dwSize
Structure size
byEnabled
Enable manual deicing: 0-No, 1- Yes
byRes
Reserved, set as 0.

Remarks

  • Make sure the device is not under the manual deicing mode if you need to do manual deicing. The platform will restart the function after the current manual deicing operation being finished.
  • Check whether to support this function via the device capability(ManualDeicing)，API：NET_DVR_GetSTDAbility，Capability Type:NET_DVR_GET_MANUALDEICING_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_MANUALSNAP

Structure of manual snapshot parameters

struct{
  BYTE    byOSDEnable;
  BYTE    byLaneNo;
  BYTE    byRes[22];
}NET_DVR_MANUALSNAP, *LPNET_DVR_MANUALSNAP;

Members

byOSDEnable
Whether to disable OSD information overlap of the captured picture, 0- No (default), 1- Yes
byLaneNo
Vehicle lane No., value range: 1~6，default:1
byRes
Reserved, set as 0.

See Also

NET_DVR_MANUALSNAP


NET_DVR_MATRIX_ABILITY

Structure of multi-channel decoder display and decoding ability output.

struct{
  DWORD   dwSize;
  BYTE    byDecNums;
  BYTE    byStartChan;
  BYTE    byVGANums;
  BYTE    byBNCNums;
  BYTE    byVGAWindowMode[8][12];
  BYTE    byBNCWindowMode[4];
  BYTE    byDspNums;
  BYTE    byHDMINums;
  BYTE    byDVINums;
  BYTE    byRes1[13];
  BYTE    bySupportResolution[MAX_RESOLUTIONNUM];
  BYTE    byHDMIWindowMode[4][8];
  BYTE    byDVIWindowMode[4][8];
  BYTE    byRes2[24];
}NET_DVR_MATRIX_ABILITY,*LPNET_DVR_MATRIX_ABILITY;

Members

dwSize
Structure size
byDecNums
The number of decoding channels
byStartChan
Start channel number
byVGANums
The number of VGA display channel
byBNCNums
The number of BNC display channel
byVGAWindowMode
Window-split mode supported by VGA: there are modes of 1, 2, 4, 9 and 16 screens. E.g. byVGAWindowMode[0][0]=1 means VGA1 supports window-split mode of 1 screen; byVGAWindowMode[0][1]=2 means VGA1 supports mode of 2 screens.
byBNCWindowMode
Window-split mode supported by BNC. E.g. byBNCWindowMode[0]=1 means BNC output supports window-split mode of 1 screen; byBNCWindowMode[1]=2 means BNC output supports window-split mode of 2 screens.
byDspNums
The number of DSPs
byHDMINums
The number of HDMI display channels (starts from 25)
byDVINums
The number of DVI display channels (starts from 29)
byRes1
Reserved, please set to 0
bySupportResolution
Defined as the ENUM below, each byte stands for whether a resolution (defined below) is supported or not. 0- not support, 1-support.
enum{
  VGA_NOT_AVALIABLE,
  VGA_THS8200_MODE_SVGA_60HZ,
  VGA_THS8200_MODE_SVGA_75HZ,
  VGA_THS8200_MODE_XGA_60HZ,
  VGA_THS8200_MODE_XGA_70HZ,
  VGA_THS8200_MODE_SXGA_60HZ,
  VGA_THS8200_MODE_720P_60HZ,
  VGA_THS8200_MODE_1080i_60HZ,
  VGA_THS8200_MODE_1080P_30HZ,
  VGA_THS8200_MODE_UXGA_30HZ,
  HDMI_SII9134_MODE_XGA_60HZ,
  HDMI_SII9134_MODE_SXGA_60HZ,
  HDMI_SII9134_MODE_SXGA2_60HZ,
  HDMI_SII9134_MODE_720P_60HZ,
  HDMI_SII9134_MODE_720P_50HZ,
  HDMI_SII9134_MODE_1080I_60HZ,
  HDMI_SII9134_MODE_1080I_50HZ,
  HDMI_SII9134_MODE_1080P_25HZ,
  HDMI_SII9134_MODE_1080P_30HZ,
  HDMI_SII9134_MODE_1080P_50HZ,
  HDMI_SII9134_MODE_1080P_60HZ,
  HDMI_SII9134_MODE_UXGA_60HZ,
  DVI_SII9134_MODE_XGA_60HZ,
  DVI_SII9134_MODE_SXGA_60HZ,
  DVI_SII9134_MODE_SXGA2_60HZ,
  DVI_SII9134_MODE_720P_60HZ,
  DVI_SII9134_MODE_720P_50HZ,
  DVI_SII9134_MODE_1080I_60HZ,
  DVI_SII9134_MODE_1080I_50HZ,
  DVI_SII9134_MODE_1080P_25HZ,
  DVI_SII9134_MODE_1080P_30HZ,
  DVI_SII9134_MODE_1080P_50HZ,
  DVI_SII9134_MODE_1080P_60HZ,
  DVI_SII9134_MODE_UXGA_60HZ
}VGA_MODE
VGA_NOT_AVALIABLE
无
VGA_THS8200_MODE_SVGA_60HZ
SVGA:800*600
VGA_THS8200_MODE_SVGA_75HZ
SVGA:800*600
VGA_THS8200_MODE_XGA_60HZ
XGA:1024*768
VGA_THS8200_MODE_XGA_70HZ
XGA:1024*768
VGA_THS8200_MODE_SXGA_60HZ
SXGA:1280*1024
VGA_THS8200_MODE_720P_60HZ
H720P:1280*720
VGA_THS8200_MODE_1080i_60HZ
1080i:1920*1080
VGA_THS8200_MODE_1080P_30HZ
1080P:1920*1080
VGA_THS8200_MODE_UXGA_30HZ
UXGA:1600*1200
HDMI_SII9134_MODE_XGA_60HZ
XGA:1024*768
HDMI_SII9134_MODE_SXGA_60HZ
SXGA:1280*1024
HDMI_SII9134_MODE_SXGA2_60HZ
SXGA2:1280*960
HDMI_SII9134_MODE_720P_60HZ
720P:1280*720
HDMI_SII9134_MODE_720P_50HZ
720P:1280*720
HDMI_SII9134_MODE_1080I_60HZ
1080P:1920*1080
HDMI_SII9134_MODE_1080I_50HZ
1080I:1920*1080
HDMI_SII9134_MODE_1080P_25HZ
1080P:1920*1080
HDMI_SII9134_MODE_1080P_30HZ
1080P:1920*1080
HDMI_SII9134_MODE_1080P_50HZ
1080P:1920*1080
HDMI_SII9134_MODE_1080P_60HZ
1080P:1920*1080
HDMI_SII9134_MODE_UXGA_60HZ
UXGA:1600*1200
DVI_SII9134_MODE_XGA_60HZ
XGA:1024*768
DVI_SII9134_MODE_SXGA_60HZ
SXGA:1280*1024
DVI_SII9134_MODE_SXGA2_60HZ
SXGA2:1280*960
DVI_SII9134_MODE_720P_60HZ
720P:1280*720
DVI_SII9134_MODE_720P_50HZ
720P:1280*720
DVI_SII9134_MODE_1080I_60HZ
1080P:1920*1080
DVI_SII9134_MODE_1080I_50HZ
1080I:1920*1080
DVI_SII9134_MODE_1080P_25HZ
1080P:1920*1080
DVI_SII9134_MODE_1080P_30HZ
1080P:1920*1080
DVI_SII9134_MODE_1080P_50HZ
1080P:1920*1080
DVI_SII9134_MODE_1080P_60HZ
1080P:1920*1080
DVI_SII9134_MODE_UXGA_60HZ
UXGA:1600*1200
byHDMIWindowMode
Window-split mode supported by HDMI
byDVIWindowMode
Window-split mode supported by DVI
byRes2
Reserved, please set it to 0

See Also

NET_DVR_GetDeviceAbility


NET_DVR_MATRIX_ABILITY_V41

Structure of 64-T decoder capability set.

struct{
  DWORD                     dwSize;
  BYTE                      byDspNums;
  BYTE                      byDecChanNums;
  BYTE                      byStartChan;
  BYTE                      byRes1[5];
  NET_DVR_DISPINFO          struVgaInfo;
  NET_DVR_DISPINFO          struBncInfo;
  NET_DVR_DISPINFO          struHdmiInfo;
  NET_DVR_DISPINFO          struDviInfo;
  NET_DVR_DISPWINDOWMODE    struDispMode[MAX_DISPNUM_V41];
  NET_DVR_SCREENINFO        struBigScreenInfo;
  BYTE                      bySupportAutoReboot;
  BYTE                      byRes2[119];
}NET_DVR_MATRIX_ABILITY_V41,*LPNET_DVR_MATRIX_ABILITY_V41;

Members

dwSize
Structure size
byDspNums
The total number of DSPs
byDecNums
The total number of decoding channels
byStartChan
Starting number of decoding channel
byRes1
Reserved, please set to 0
struVgaInfo
VGA display channel information
struBncInfo
BNC display channel information
struHdmiInfo
HDMI display channel information
struDviInfo
DVI display channel information
struDispMode
Screen mode of the display channel
struBigScreenInfo
Stitching information of large size display
bySupportAutoReboot
Whether it supports auto reboot or not: 0- no, 1- yes
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDeviceAbility


NET_DVR_MATRIX_CFG

Structure of analog matrix configuration

struct{
  BYTE    byValid;
  BYTE    byCommandProtocol;
  BYTE    byScreenType;
  BYTE    byRes1;
  BYTE    byMatrixToScreen[32];
  BYTE    byRes2[4];
}NET_DVR_MATRIX_CFG,*LPNET_DVR_MATRIX_CFG;

Members

byValid
Determine whether it is analog matrix or not (valid or not)
byCommandProtocol
The command of analog matrix
Macro Definition | Value | Implication
MATRIX_COMMAND_V1 | 0x01 | The instruction set 1
MATRIX_COMMAND_V2 | 0x02 | The instruction set 2
MATRIX_COMMAND_V3 | 0x03 | extron compatible instruction set
MATRIX_COMMAND_V4 | 0x04 | creator instruction set
byScreenType
Reserved
byRes1
Reserved, please set to 0
byMatrixToScreen
The relationship between the output of analog matrix and the screen
byRes2
Reserved, please set to 0

See Also

NET_DVR_ANALOGSCREEN


NET_DVR_MATRIX_CHAN_INFO_V30

Sub structure of dynamic decoding channel cycle parameters.

struct{
  DWORD                             dwEnable;
  NET_DVR_STREAM_MEDIA_SERVER_CFG   streamMediaServerCfg;
  NET_DVR_DEV_CHAN_INFO             struDevChanInfo;
}NET_DVR_MATRIX_CHAN_INFO_V30,*LPNET_DVR_MATRIX_CHAN_INFO_V30;

Members

dwEnable
Enable or not: 0- no, 1- yes
streamMediaServerCfg
Parameters of stream media server
struDevChanInfo
Channel information of cycle decoding

See Also

NET_DVR_STREAM_MEDIA_SERVER_CFG NET_DVR_DEV_CHAN_INFO


NET_DVR_MATRIX_CHAN_INFO_V41

Sub structure of circle channel configuration for dynamic decoding

struct{
  BYTE                       byEnable;
  BYTE                       byStreamMode;
  BYTE                       byRes[2];
  NET_DVR_DEC_STREAM_MODE    uDecStreamMode;
}NET_DVR_MATRIX_CHAN_INFO_V41,*LPNET_DVR_MATRIX_CHAN_INFO_V41;

Members

byEnable
Enable or not: 0- no, 1- yes
byStreamMode
Stream mode: 0- invalid, 1- get stream by IP or domain name, 2- get stream by URL, 3- get stream by DDNS
byRes
Reserved, please set to 0
struDevChanInfo
Stream configuration

See Also

NET_DVR_MATRIX_LOOP_DECINFO_V41


NET_DVR_MATRIX_CHAN_STATUS

Structure of decoding channel status.

struct{
  BYTE    byDecodeStatus;
  BYTE    byStreamType;
  BYTE    byPacketType;
  BYTE    byRecvBufUsage;
  BYTE    byDecBufUsage;
  BYTE    byFpsDecV;
  BYTE    byFpsDecA;
  BYTE    byCpuLoad;
  BYTE    byRes1[4];
  DWORD   dwDecodedV;
  DWORD   dwDecodedA;
  WORD    wImgW;
  WORD    wImgH;
  BYTE    byVideoFormat;
  BYTE    byRes2[3];
  DWORD   dwDecChan;
  BYTE    byRes3[20];
}NET_DVR_MATRIX_CHAN_STATUS,*LPNET_DVR_MATRIX_CHAN_STATUS;

Members

byDecodeStatus
Current status: 0- disable, 1- enable decoder
byStreamType
Stream type, definition is shown as below:
Macro Definition | Value | Meaning
NET_DVR_ENCODER_UNKOWN | 0 | Unknown
NET_DVR_ENCODER_H264 | 1 | Private 264
NET_DVR_ENCODER_S264 | 2 | Standard H264
NET_DVR_ENCODER_MPEG4 | 3 | MPEG4
NET_DVR_ORIGINALSTREAM | 4 | Original stream
NET_DVR_PICTURE | 5 | Alarm picture interacted by intelligent analysis
NET_DVR_ENCODER_MJPEG | 6 | MJPEG
NET_DVR_ECONDER_MPEG2 | 7 | MPEG2
byPacketType
Packet type, definition is shown as below:
Macro Definition | Value | Meaning
NET_DVR_STREAM_TYPE_UNKOWN | 0 | Unknown
NET_DVR_STREAM_TYPE_PRIVT | 1 | Private
NET_DVR_STREAM_TYPE_TS | 7 | TS
NET_DVR_STREAM_TYPE_PS | 8 | PS
NET_DVR_STREAM_TYPE_RTP | 9 | RTP
NET_DVR_STREAM_TYPE_ORIGIN | 10 | unpackaged
byRecvBufUsage
Usage of receiving buffer.
byDecBufUsage
Usage of decoding buffer.
byFpsDecV
Video decoding frame rate: if byFpsDecV >1, the value means the frame rate; if byFpsDecV <1, the meaning of the value is listed as below:
Macro Definition | Value | Meaning
LOW_DEC_FPS_1_2 | 51 | 1/2 frame
LOW_DEC_FPS_1_4 | 52 | 1/4 frame
LOW_DEC_FPS_1_8 | 53 | 1/8 frame
LOW_DEC_FPS_1_16 | 54 | 1/16 frame
byFpsDecA
Audio decoding frame rate, its definition is same to video decoding frame rate
byCpuLoad
Usage of DSP CPU
byRes1
Reserved, please set to 0
dwDecodedV
Decoded video frame
dwDecodedA
Decoded audio frame
wImgW
Width of current image
wImgH
Height of current image
byVideoFormat
Video standard, defined as below:
enum{
  VS_NON  = 0,
  VS_NTSC = 1,
  VS_PAL  = 2
}VIDEO_STANDARD
VS_NON
none
VS_NTSC
NTSC
VS_PAL
PAL
byRes2
Reserved, set as 0.
dwDecChan
Decoding channel No., valid when getting all decoding channels status, can be set as 0.
byRes3
Reserved, set as 0.


NET_DVR_MATRIX_DEC_CHAN_INFO

Structure of decoding channel information.

struct{
  DWORD                    dwSize;
  NET_DVR_MATRIX_DECINFO   struDecChanInfo;
  DWORD                    dwDecState;
  NET_DVR_TIME             StartTime;
  NET_DVR_TIME             StopTime;
  char                     sFileName[128];
}NET_DVR_MATRIX_DEC_CHAN_INFO,*LPNET_DVR_MATRIX_DEC_CHAN_INFO;

Members

dwSize
Structure size
struDecChanInfo
Decoding channel information
dwDecState
Decoding channel state: 0- dynamic decoding, 1- loop decoding, 2- playback by time, 3- playback by file
StartTime
Start time of playback by time
StopTime
End time of playback by time
sFileName
File name of playback by file

See Also

NET_DVR_MATRIX_DECINFO NET_DVR_TIME


NET_DVR_MATRIX_DEC_CHAN_INFO_V30

Structure of decoding channel information.

struct{
  DWORD                             dwSize;
  NET_DVR_STREAM_MEDIA_SERVER_CFG   streamMediaServerCfg;
  NET_DVR_DEV_CHAN_INFO             struDevChanInfo;
  DWORD                             dwDecState;
  NET_DVR_TIME                      StartTime;
  NET_DVR_TIME                      StopTime;
  char                              sFileName[128];
  DWORD                             dwGetStreamMode;
  NET_DVR_MATRIX_PASSIVEMODE        struPassiveMode;
  BYTE                              byRes[32];
}NET_DVR_MATRIX_DEC_CHAN_INFO_V30,*LPNET_DVR_MATRIX_DEC_CHAN_INFO_V30;

Members

dwSize
Structure size
streamMediaServerCfg
Configuration of stream media server
struDevChanInfo
Decoding channel information
dwDecState
Decoding channel state: 0- dynamic decoding, 1- loop decoding, 2- playback by time, 3- playback by file
StartTime
Start time of playback by time
StopTime
End time of playback by time
sFileName
File name of playback by file
dwGetStreamMode
Stream getting mode: 0- not decoded, 1- active, 2- passive
struPassiveMode
Passive decoding information
byRes
Reserved

See Also

NET_DVR_STREAM_MEDIA_SERVER_CFG NET_DVR_DEV_CHAN_INFO
NET_DVR_TIME NET_DVR_MATRIX_PASSIVEMODE


NET_DVR_MATRIX_DEC_CHAN_INFO_V41

Structure of decoding channel information

struct{
  DWORD                         dwSize;
  BYTE                          byStreamMode;
  BYTE                          byRes1[3];
  NET_DVR_DEC_STREAM_MODE       uDecStreamMode;
  DWORD                         dwPlayMode;
  NET_DVR_TIME                  StartTime;
  NET_DVR_TIME                  StopTime;
  char                          sFileName[128];
  DWORD                         dwGetStreamMode;
  NET_DVR_MATRIX_PASSIVEMODE    struPassiveMode;
  BYTE                          byRes2[32];
}NET_DVR_MATRIX_DEC_CHAN_INFO_V41,*LPNET_DVR_MATRIX_DEC_CHAN_INFO_V41;

Members

dwSize
Structure size
byStreamMode
Stream mode: 0- invalid, 1- get stream by IP or domain name, 2- get stream by URL, 3- get stream by DDNS
byRes1
Reserved, please set to 0
uDecStreamMode
Stream configuration
dwPlayMode
Decoding status: 0- dynamic decoding, 1- circle decoding, 2- playback by time, 3- playback by file
StartTime
The beginning time of playback by time
StopTime
The stopping time of playback by time
sFileName
The fime name of playback by file
dwGetStreamMode
Stream mode: 0- not decoding, 1- active, 2- passive
struPassiveMode
Passive decoding information
byRes2
Reserved, please set to 0

See Also

NET_DVR_MatrixGetDecChanInfo_V41


NET_DVR_MATRIX_DEC_CHAN_STATUS

Structure of decoding channel status.

struct{
  DWORD   dwSize;
  DWORD   dwIsLinked;
  DWORD   dwStreamCpRate;
  char    cRes[64];
}NET_DVR_MATRIX_DEC_CHAN_STATUS,*LPNET_DVR_MATRIX_DEC_CHAN_STATUS;

Members

dwSize
Structure size
dwIsLinked
Decoding channel status: 0- sleeping, 1- connecting, 2- connected, 3- decoding
dwStreamCpRate
Stream transmission rate(kb/s)
cRes
Reserved, please set to 0


NET_DVR_MATRIX_DEC_REMOTE_PLAY

Structure of remote playback file parameters.

struct{
  DWORD          dwSize;
  char           sDVRIP[16];
  WORD           wDVRPort;
  BYTE           byChannel;
  BYTE           byReserve;
  BYTE           sUserName[NAME_LEN];
  BYTE           sPassword[PASSWD_LEN];
  DWORD          dwPlayMode;
  NET_DVR_TIME   StartTime;
  NET_DVR_TIME   StopTime;
  char           sFileName[128];
}NET_DVR_MATRIX_DEC_REMOTE_PLAY,*LPNET_DVR_MATRIX_DEC_REMOTE_PLAY;

Members

dwSize
Structure size
sDVRIP
IP of remote device
wDVRPort
Port of remote device
byChannel
Channel NO.
byReserve
Reserved, please set to 0
sUserName
Username
sPassword
Password
dwPlayMode
Playing mode: 0- by file, 1- by time
StartTime
Start time of file
StopTime
End time of file
sFileName
File name

See Also

NET_DVR_TIME


NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX

Structure of remote file decoding and playback parameters

struct{
  DWORD    dwSize;
  DWORD    dwDecChannel;
  BYTE     byAddressType;
  BYTE     byChannelType;
  BYTE     byres[2];
  BYTE     sUserName[NAME_LEN];
  BYTE     sPassword[PASSWD_LEN];
  DWORD    dwChannel;
  BYTE     byStreamId[STREAM_ID_LEN];
  DWORD    dwPlayMode;
  union{
           BYTE                        byRes[200];
           NET_DVR_IP_ADDRESS          struIpAddr;
           NET_DVR_DDNS_ADDRESS        struDdnsAddr;
  }unionAddr;
  union{
           BYTE                        byRes[128];
           NET_DVR_PLAY_BACK_BY_TIME   struPlayBackByTime;
           char                        sFileName[128];
  }unionPlayBackInfo;
}NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_EX;

Members

dwSize
Structure size
dwDecChannel
Decoding channel
byAddressType
Address type：0- IP，1- DDNS
byChannelType
Channel type：0- common, 1- zero channel,2- stream ID
byres
Reserved
sUserName
User name
sPassword
Password
dwChannel
Channel
byStreamId
Stream ID,valid when the channel type id stream ID
dwPlayMode
0－by file 1－by time
unionAddr is the union of device address
byRes
Size of union is 200 byte
struIpAddr
IP address
struDdnsAddr
Device DDNS
unionPlayBackInfo is the union of playback parameters
byRes
Union size is 128 byte
struPlayBackByTime
File information playback by time
sFileName
File information playback by file

See Also

NET_DVR_RemoteControl


NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS

Structure of playback status.

struct{
  DWORD   dwSize;
  DWORD   dwCurMediaFileLen;
  DWORD   dwCurMediaFilePosition;
  DWORD   dwCurMediaFileDuration;
  DWORD   dwCurPlayTime;
  DWORD   dwCurMediaFIleFrames;
  DWORD   dwCurDataType;
  BYTE    res[72];
}NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS,*LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS;

Members

dwSize
Structure size
dwCurMediaFileLen
Length of currently playing file
dwCurMediaFilePosition
Playing position of currently playing file
dwCurMediaFileDuration
Duration of currently playing file
dwCurPlayTime
The time of currently playing
dwCurMediaFIleFrames
Total frames of currently playing file
dwCurDataType
Data type of current tansmission: 19- head file, 20- stream data, 21- flag of playing end
res
Reserved, please set it to 0


NET_DVR_MATRIX_DECCHAN_CONTROL

Structure of decoding zoom control parameters.

struct{
  DWORD      dwSize;
  BYTE       byDecChanScaleStatus;
  BYTE       byDecodeDelay;
  BYTE     byEnableSpartan;
  BYTE     byLowLight;
  BYTE     byNoiseReduction;
  BYTE     byDefog;
  BYTE     byEnableVcaDec;
  BYTE     byRes1;
  DWORD    dwAllCtrlType;
  BYTE     byRes[56];
}NET_DVR_MATRIX_DECCHAN_CONTROL,*LPNET_DVR_MATRIX_DECCHAN_CONTROL;

Members

dwSize
Structure size
byDecChanScaleStatus
Zoom control of decoding channel display: 1- zoom display, 0- real display
byDecodeDelay
Decoding delay: 0- default, 1- most real-time, 2- more real-time, 3- real-time and fluency, 4- more fluency, 5- most fluency, 0xff- automatically adjust
byEnableSpartan
Enable fluent display? 0- No, 1- Yes
byLowLight
Low Light: 0- Disable, 1 to 8 indicates the low light level, the higher the level, the higher strength of the low light effects.
byNoiseReduction
3D NR: 0-Disable, 1- Enable, 2- Auto
byDefog
Defog: 0- Disable, 1 to 7 indicaes the defog level, the higher the level, the higher strength of the defog effects.
byEnableVcaDec
Enable smart decoding? 0- No, Others- Yes
byRes1
Reserved, set as 0.
dwAllCtrlType
The type of operating all windows at a same time, valid when configuring, represented by byte, value: 0- Not configure, 1- Configure
dwAllCtrlType & 0x01 indicates enable/disable smart decoding.
byRes
Reserved, set as 0.

Remarks

  • Check the device capability (whether to supports smart decoding) via the video wall capability(WallAbility); API:NET_DVR_GetDeviceAbility, capability type:WALL_ABILITY, node:<VcaDecode>.

See Also

NET_DVR_MatrixGetDecChanCfg NET_DVR_MatrixSetDecChanCfg


NET_DVR_MATRIX_DECCHANINFO

Structure of dynamic decoding channel cycle parameters.

struct{
  DWORD                    dwEnable;
  NET_DVR_MATRIX_DECINFO   struDecChanInfo;
}NET_DVR_MATRIX_DECCHANINFO,*LPNET_DVR_MATRIX_DECCHANINFO;

Members

dwEnable
Enable or not: 0- no, 1- yes
struDecChanInfo
Channel information of cycle decoding

See Also

NET_DVR_MATRIX_DECINFO


NET_DVR_MATRIX_DECINFO

Structure of decoding channel parameters.

struct{
  char    sDVRIP[16];
  WORD    wDVRPort;
  BYTE    byChannel;
  BYTE    byTransProtocol;
  BYTE    byTransMode;
  BYTE    byRes[3];
  BYTE    sUserName[NAME_LEN];
  BYTE    sPassword[PASSWD_LEN];
}NET_DVR_MATRIX_DECINFO, *LPNET_DVR_MATRIX_DECINFO;

Members

sDVRIP
IP of device
wDVRPort
Port NO.
byChannel
Channel NO.
byTransProtocol
Transmission protocol: 0-TCP, 1-UDP
byTransMode
Transmission stream mode: 0- main stream, 1- sub stream
byRes
Reserved, please set it to 0
sUserName
Username of surveillance host
sPassword
Password of surveillance host

See Also

NET_DVR_MATRIX_DEC_CHAN_INFO NET_DVR_MATRIX_DECCHANINFO
NET_DVR_MATRIX_DYNAMIC_DEC


NET_DVR_MATRIX_DYNAMIC_DEC

Structure of dynamic decoding information.

struct{
  DWORD                    dwSize;
  NET_DVR_MATRIX_DECINFO   struDecChanInfo;
}NET_DVR_MATRIX_DYNAMIC_DEC,*LPNET_DVR_MATRIX_DYNAMIC_DEC;

Members

dwSize
Structure size
struDecChanInfo
Information of dynamic decoding channel

See Also

NET_DVR_MATRIX_DECINFO


NET_DVR_MATRIX_LOOP_DECINFO

Structure of decoding channel parameters.

struct{
  DWORD                        dwSize;
  DWORD                        dwPoolTime;
  NET_DVR_MATRIX_DECCHANINFO   struchanConInfo[MAX_CYCLE_CHAN];
}NET_DVR_MATRIX_LOOP_DECINFO,*LPNET_DVR_MATRIX_LOOP_DECINFO;

Members

dwSize
Structure size
dwPoolTime
Polling time
struDecChanInfo
Information of dynamic decoding channel

See Also

NET_DVR_MatrixGetLoopDecChanInfo NET_DVR_MatrixSetLoopDecChanInfo


NET_DVR_MATRIX_LOOP_DECINFO_V30

Structure of decoding channel polling parameters.

struct{
  DWORD                          dwSize;
  DWORD                          dwPoolTime;
  NET_DVR_MATRIX_CHAN_INFO_V30   struchanConInfo[MAX_CYCLE_CHAN_V30];
  BYTE                           byRes[16];
}NET_DVR_MATRIX_LOOP_DECINFO_V30,*LPNET_DVR_MATRIX_LOOP_DECINFO_V30;

Members

dwSize
Structure size
dwPoolTime
Polling time
struDecChanInfo
Information of dynamic decoding channel
byRes
Reserved, please set it to 0

See Also

NET_DVR_MatrixGetLoopDecChanInfo_V30 NET_DVR_MatrixSetLoopDecChanInfo_V30


NET_DVR_MATRIX_LOOP_DECINFO_V41

Structure of circle channel configuration info

struct{
  DWORD                          dwSize;
  DWORD                          dwPoolTime;
  NET_DVR_MATRIX_CHAN_INFO_V41   struchanConInfo[MAX_CYCLE_CHAN_V30];
  BYTE                           byRes[16];
}NET_DVR_MATRIX_LOOP_DECINFO_V41,*LPNET_DVR_MATRIX_LOOP_DECINFO_V41;

Members

dwSize
Structure size
dwPoolTime
Circle time, unit:s
struDecChanInfo
Dynamic decoding channel information
byRes
Reserved, please set to 0

See Also

NET_DVR_MatrixGetLoopDecChanInfo_V41 NET_DVR_MatrixSetLoopDecChanInfo_V41


NET_DVR_MATRIX_PASSIVEMODE

Structure of passive decoding parameters.

struct{
  WORD             wTransProtol;
  WORD             wPassivePort;
  NET_DVR_IPADDR   struMcastIP;
  BYTE             byStreamType;
  BYTE             byReconnectFlag;
  BYTE             byRequestType;
  BYTE             byRes[5];
}NET_DVR_MATRIX_PASSIVEMODE,*LPNET_DVR_MATRIX_PASSIVEMODE;

Members

wTransProtol
Transmission protocol: 0- TCP, 1- UDP, 2- MCAST
wPassivePort
UDP port. When it is TCP, the port is 8000 defaultly, and UDP port number of different decoding channel should be set to different value.
struMcastIP
When protocol is TCP/UDP, it is invalid. If protocol is MCAST, it is the address of multicast(reserved)
byStreamType
Stream playing mode: 1- real-time stream, 2- file stream
byReconnectFlag
Reconnection flag: 1- new connection, 2- reconnection
byRequestType
Real-time stream mode: 1- the client sends data directly without interaction head, 2- it requires sending interaction head
byRes
Reserved, please set it to 0

See Also

NET_DVR_IPADDR


NET_DVR_MATRIX_TRAN_CHAN_CONFIG

Device Network SDK Programming Manual

NET_DVR_MATRIX_CHAN_CONFIG

Structure of transparent channel configuration.

struct{
  DWORD                           dwSize;
  BYTE                            by232IsDualChan;
  BYTE                            by485IsDualChan;
  DWORD                           res[2];
  NET_DVR_MATRIX_TRAN_CHAN_INFO   struTranInfo[MAX_SERIAL_NUM];
}NET_DVR_MATRIX_TRAN_CHAN_CONFIG,*LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG;

Members

dwSize
Structure size
by232IsDualChan
Set 232 some transparent channels to full-duplex, range: [1,MAX_SERIAL_NUM]
by485IsDualChan
Set 485 some transparent channels to full-duplex, range: [1,MAX_SERIAL_NUM]
res
Reserved, please set it to 0
struTranInfo
Structure of transparent channel parameters. The number of transparent channels supported at the same time is MAX_SERIAL_NUM.

See Also

NET_DVR_MATRIX_TRAN_CHAN_INFO


NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30

Structure of transparent channel configuration.

struct{
  DWORD                               dwSize;
  BYTE                                by232IsDualChan;
  BYTE                                by485IsDualChan;
  DWORD                               byRes[2];
  NET_DVR_MATRIX_TRAN_CHAN_INFO_V30   struTranInfo[MAX_SERIAL_NUM];
}NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30,*LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30;

Members

dwSize
Structure size
by232IsDualChan
Set 232 some transparent channels to full-duplex, range: [1,MAX_SERIAL_NUM]
by485IsDualChan
Set 485 some transparent channels to full-duplex, range: [1,MAX_SERIAL_NUM]
byRes
Reserved, please set it to 0
struTranInfo
Structure of transparent channel parameters. The number of transparent channels supported at the same time is MAX_SERIAL_NUM.

See Also

NET_DVR_MATRIX_TRAN_CHAN_INFO_V30


NET_DVR_MATRIX_TRAN_CHAN_INFO

Sub structure of transparent channel parameters.

struct{
  BYTE         byTranChanEnable;
  BYTE         byLocalSerialDevice;
  BYTE         byRemoteSerialDevice;
  BYTE         res1;
  char         sRemoteDevIP[16];
  WORD         wRemoteDevPort;
  BYTE         res2[2];
  TTY_CONFIG   RemoteSerialDevCfg;
}NET_DVR_MATRIX_TRAN_CHAN_INFO,*LPNET_DVR_MATRIX_TRAN_CHAN_INFO;

Members

byTranChanEnable
Whether current transparent channel is enabled: 0- no, 1- yes. There are one RS-485 serial port and one RS-232 serial port in multi-channel decoder and they can all be transparent channel: 0- RS485, 1- RS232
byLocalSerialDevice
Local serial of multi-channel decoder: 0- RS485, 1- RS232
byRemoteSerialDevice
Remote serial output: 1- RS232, 2- RS485
res1
NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30
sRemoteDevIP
IP of remote device
wRemoteDevPort
Port of remote device
res2
NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30
RemoteSerialDevCfg
Serial configuration

See Also

TTY_CONFIG


NET_DVR_MATRIX_TRAN_CHAN_INFO_V30

Sub structure of transparent channel parameters.

struct{
  BYTE             byTranChanEnable;
  BYTE             byLocalSerialDevice;
  BYTE             byRemoteSerialDevice;
  BYTE             byRes1;
  NET_DVR_IPADDR   struRemoteDevIP;
  WORD             wRemoteDevPort;
  BYTE             byIsEstablished;
  BYTE             byRes2;
  TTY_CONFIG       RemoteSerialDevCfg;
  BYTE             byUsername[NAME_LEN];
  BYTE             byPassword[PASSWD_LEN];
  BYTE             byRes3[16];
}NET_DVR_MATRIX_TRAN_CHAN_INFO_V30,*LPNET_DVR_MATRIX_TRAN_CHAN_INFO_V30;

Members

byTranChanEnable
Whether current transparent channel is enabled: 0- no, 1- yes. There are one RS-485 serial port and one RS-232 serial port in multi-channel decoder and they can all be transparent channel: 0- RS485, 1- RS232
byLocalSerialDevice
Local serial of multi-channel decoder: 0- RS485, 1- RS232
byRemoteSerialDevice
Remote serial output: 1- RS232, 2- RS485
byRes1
Reserved, please set it to 0
struRemoteDevIP
IP of remote device
wRemoteDevPort
Port of remote device
byIsEstablished
Whether transparent channel is established successfully: 0- no, 1- yes
byRes2
Reserved, please set it to 0
RemoteSerialDevCfg
Serial configuration
byUsername
Username
byPassword
Password
byRes3
Reserved, please set it to 0

See Also

NET_DVR_IPADDR TTY_CONFIG


NET_DVR_VIDEO_PLATFORM

Device Network SDK Programming Manual

NET_DVR_MATRIX_VOUTCFG

Structure of display channel configuration.

struct{
  DWORD                    dwSize;
  BYTE                     byAudio;
  BYTE                     byAudioWindowIdx;
  BYTE                     byRes;
  BYTE                     byVedioFormat;
  DWORD                    dwResolution;
  DWORD                    dwWindowMode;
  BYTE                     byJoinDecChan[MAX_WINDOWS_V41];
  BYTE                     byEnlargeStatus;
  BYTE                     byEnlargeSubWindowIndex;
  BYTE                     byScale;
  BYTE                     byUnionType;
  NET_DVR_VIDEO_PLATFORM   struDiff;
  DWORD                    dwDispChanNum;
  BYTE                     byRes2[76];
}NET_DVR_MATRIX_VOUTCFG, *LPNET_DVR_MATRIX_VOUTCFG;

Members

dwSize
Structure size
byAudio
Whether to enable audio or not: 0- close, 1- open
byAudioWindowIdx
Sub-window index in which the audio is enabled
byRes
Reserved, please set to 0
byVedioFormat
Video format: 1- NTSC, 2- PAL, 0- NULL
dwResolution
Resolution
dwWindowMode
Screen mode, got by capability set (NET_DVR_GetDeviceAbility)
byJoinDecChan
Decoding channel joined with every sub-window
byEnlargeStatus
Whether the window is enlarged: 0- no, 1- yes
byEnlargeSubWindowIndex
Enalrged sub-window index
byScale
Display mode: 0- real display, 1- zoom display(for BNC)
byUnionType
Union type for distinction: 0- display channel configuration of video integrated platform inner decoder, 1- display channel configuration of other decoder
struDiff
Union of display channel configuration
dwDispChanNum
Display output No., valid when getting all No..
byRes2
Reserved

Remarks

In the version below V41, byDecResolution[MAX_WINDOWS_V41] is corresponding to byDecResolution, and in V41 version, it is modified to array. When change low version to high version, please set byDecResolution[MAX_WINDOWS_V41] according to the screen mode dwWindowMode in NET_DVR_MATRIX_VOUTCFG; when change high version to low version, please use byDecResolution[0] only.

See Also

NET_DVR_VIDEO_PLATFORM

NET_DVR_MatrixGetDisplayCfg_V41 NET_DVR_MatrixSetDisplayCfg_V41

NET_DVR_GetDeviceAbility


NET_DVR_MATRIXPARA

Structure of MATRIX output parameters.

struct{
  WORD       wDisplayLogo;
  WORD       wDisplayOsd;
}NET_DVR_MATRIXPARA,*LPNET_DVR_MATRIXPARA;

Members

wDisplayLogo
Display channel number of video
wDisplayOsd
Display time


NET_DVR_MATRIXPARA_V30

Structure of MATRIX output parameters.

struct{
  WORD       wOrder[MAX_ANALOG_CHANNUM];
  WORD       wSwitchTime;
  BYTE       res[14];
}NET_DVR_MATRIXPARA_V30,*LPNET_DVR_MATRIXPARA_V30;

Members

wOrder
Order of preview, 0xff means disable preview for the related window
wSwitchTime
Switching time of preview
res
Reserved, please set it to 0


NET_DVR_MB_AUTOBACKUPPARA

Structure of automatic backup.

struct{
  DWORD             dwSize;
  BYTE              byEnableAutoBackup;
  BYTE              byRes1[3];
  BYTE              byBackupChannel[MAX_CHANNUM_V30];
  BYTE              byBackupDays[MAX_CHANNUM_V30];
  BYTE              byBackupFileType[MAX_CHANNUM_V30];
  NET_DVR_SCHEDTIME struBackupTime[MAX_CHANNUM_V30][2];
  BYTE              byRes2[36];
}NET_DVR_MB_AUTOBACKUPPARA, *LPNET_DVR_MB_AUTOBACKUPPARA;

Members

dwSize
Structure size
byEnableAutoBackup
Whether enable automatic backup or not: 0- no, 1- yes
byRes1
Reserved, please set to 0
byBackupChannel
The channel set to backup
byBackupDays
Backup days
byBackupFileType
Backup file type: 0- all, 1- scheduled, 2- motion detection, 3- alarm, 4- manual record
struBackupTime
Time period of automatic backup
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MB_AUTOWORKPARA

Structure of startup control related parameter.

struct{
  BYTE              byCurPowerCtrlType;
  BYTE              byRes[3];
  NET_DVR_SCHEDTIME struWorkTime[MAX_DAYS][2];
}NET_DVR_MB_AUTOWORKPARA, *LPNET_DVR_MB_AUTOWORKPARA;

Members

byCurPowerCtrlType
Current control mode: 1- Delayed shutdown, 2- Automatic startup/shutdown
byRes
Reserved, please set to 0
struWorkTime
Arming time

See Also

NET_DVR_SCHEDTIME
NET_DVR_MB_POWERCTRLPARA


NET_DVR_MB_DOWNLOADSVRPARA

Structure of automatic download server configuration.

struct{
  DWORD             dwSize;
  NET_DVR_IPADDR    struDownloadSvrIp;
  BYTE              byRes[64];
}NET_DVR_MB_DOWNLOADSVRPARA, *LPNET_DVR_MB_DOWNLOADSVRPARA;

Members

dwSize
Structure size
struDownloadSvrIp
IP address of automatic download server
byRes
Reserved, please set to 0

See Also

NET_DVR_IPADDR
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MB_GPSPARA

Structure of GPS configuration.

struct{
  DWORD                        dwSize;
  BYTE                         byEnableGPS;
  BYTE                         byGpsInterface;
  BYTE                         bySpeedUnit;
  BYTE                         byEnableRetrieve;
  int                          iAdjustTime;
  BYTE                         byEnableAdjustTime;
  BYTE                         byRes1[5];
  WORD                         wGpsUploadInterval;
  BYTE                         byGpsOsdChannel[MAX_CHANNUM_V30];
  DWORD                        dwSpeedLimit;
  NET_DVR_HANDLEEXCEPTION_V30  struGpsAlarm;
  BYTE                         byRes2[36];
}NET_DVR_MB_GPSPARA, *LPNET_DVR_MB_GPSPARA;

Members

dwSize
Structure size
byEnableGPS
Whether enable GPS or not: 0- no, 1- yes
byGpsInterface
GPS receiving interface: 0- RS232, 1- RS485, 2- frontpanel, 3- lcd
bySpeedUnit
Speed unit: 0- Km/h, 1- Mile/h. If the unit is Km/h, the speed range is (0,965); if the unit is Mile/h, the speed range is (0,600)
byEnableRetrieve
Whether enable blind area retrieve: 1- enable, 0- disable
iAdjustTime
Time zone
iAdjustTime value | Time zone | iAdjustTime value | Time zone
-12*3600 | GMT-12:00 | 3*3600+1800 | GMT+03:30
-11*3600 | GMT-11:00 | 4*3600 | GMT+04:00
-10*3600 | GMT-10:00 | 4*3600+1800 | GMT+04:30
-9*3600-1800 | GMT-09:30 | 5*3600 | GMT+05:00
-9*3600 | GMT-09:00 | 5*3600+1800 | GMT+05:30
-8*3600 | GMT-08:00 | 5*3600+2700 | GMT+05:45
-7*3600 | GMT-07:00 | 6*3600 | GMT+06:00
-6*3600 | GMT-06:00 | 6*3600+1800 | GMT+06:30
-5*3600 | GMT-05:00 | 7*3600 | GMT+07:00
-4*3600-1800 | GMT-04:30 | 8*3600 | GMT+08:00
-4*3600 | GMT-04:00 | 9*3600 | GMT+09:00
-3*3600-1800 | GMT-03:30 | 9*3600+1800 | GMT+09:30
-3*3600 | GMT-03:00 | 10*3600 | GMT+10:00
-2*3600 | GMT-02:00 | 10*3600+1800 | GMT+10:30
-1*3600 | GMT-01:00 | 11*3600 | GMT+11:00
1*3600 | GMT+01:00 | 11*3600+1800 | GMT+11:30
2*3600 | GMT+02:00 | 12*3600 | GMT+12:00
3*3600 | GMT+03:00 | 13*3600 | GMT+13:00
byEnableAdjustTime
Whether enable GPS timing or not: 1- yes, 0- no
byRes1
Reserved, please set to 0
wGpsUploadInterval
GPS uploading interval, unit: s
byGpsOsdChannel
OSD display, every byte represents one channel
dwSpeedLimit
Speed limit alarm
struGpsAlarm
Alarm and exception handling structure
byRes2
Reserved, please set to 0

See Also

NET_DVR_HANDLEEXCEPTION_V30
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MB_POWERCTRLPARA

Structure of startup control configuration.

struct{
  DWORD                   dwSize;
  DWORD                   dwHaltDelay;
  NET_DVR_MB_AUTOWORKPARA struAutoWorkPara;
  BYTE                    byRes[36];
}NET_DVR_MB_POWERCTRLPARA, *LPNET_DVR_MB_POWERCTRLPARA;

Members

dwSize
Structure size
dwHaltDelay
Shutdown delay time, unit: minute(min)
struAutoWorkPara
Startup control related parameter
byRes
Reserved, please set to 0

Remarks

Optional time of shutdown delay time: 0, 5min, 10min, 20min, 25min, 30min, 35min, 40min, 45min, 50min, 60min, 60*2min, 60*3min, 60*4min, 60*5min, or 60*6min.

See Also

NET_DVR_MB_AUTOWORKPARA
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MB_SENSORINPARA

Structure of sensor configuration.

struct{
  DWORD             dwSize;
  BYTE              byTriggerType[SENSOR_IN_NUMBER];
  BYTE              byTriggerChannel[SENSOR_IN_NUMBER];
  BYTE              byOsdDisplay[MAX_CHANNUM_V30];
  BYTE              byRes[32];
}NET_DVR_MB_SENSORINPARA, *LPNET_DVR_MB_SENSORINPARA;

Members

dwSize
Structure size
byTriggerType
The linkage triggered by driving status, using the last 4 bytes only, representing the brake, turn left, turn right, and reversing: 0- high level, 1- low level
byTriggerChannel
The linked pop-up channel triggered by every Sensor In. When triggered, it switches to single screen automatically if current preview is in multi-screen mode, and the channel set here is the preview channel. If current preview is in single-screen mode, the preview switches to the channel automatically.
byOsdDisplay
OSD display, every byte represents one channel
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MEASURESPEEDCFG

Structure of measuring speed configuration.

struct{
  DWORD       dwSize;
  BYTE        byTrigIo1;
  BYTE        byTrigIo2;
  BYTE        byRelatedDriveWay;
  BYTE        byTestSpeedTimeOut;
  DWORD       dwDistance;
  BYTE        byCapSpeed;
  BYTE        bySpeedLimit;
  BYTE        bySnapTimes1;
  BYTE        bySnapTimes2;
  WORD        wIntervalTime1[MAX_INTERVAL_NUM];
  WORD        wIntervalTime2[MAX_INTERVAL_NUM];
  BYTE        byRes[32];
}NET_DVR_MEASURESPEEDCFG, *LPNET_DVR_MEASURESPEEDCFG;

Members

dwSize
Structure size
byTrigIo1
The first line of measuring speed
byTrigIo2
The second line of measuring speed
byRelatedDriveWay
Drive way NO. related to triggered IO
byTestSpeedTimeOut
Timeout of speed measuring mode, unit: s
dwDistance
Distance of line, unit: cm
byCapSpeed
Start speed, unit: km/h
bySpeedLimit
Limit of speed , unit: km/h
bySnapTimes1
Capture times of line 1: 0- don't capture, non-zero- continunous times: max 5 times
bySnapTimes2
Capture times of line 2: 0- don't capture, non-zero- continunous times: max 5 times
wIntervalTime1
Interval time of line 1's continunously snapping, unit: ms
wIntervalTime2
Interval time of line 2's continunously snapping, unit: ms
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MENU_OUTPUT_MODE

Menu output mode configuration structure

struct{
  DWORD    dwSize;
  BYTE     byMenuOutputMode;
  BYTE     byRes[63];
 }NET_DVR_MENU_OUTPUT_MODE,*LPNET_DVR_MENU_OUTPUT_MODE;

Members

dwSize
Structure size
byMenuOutputMode
Device of different sources: 0- Auto, 1- main CVBS, 2- HDMI, 3- VGA; device of same source: 0- Auto, 1- main CVBS, 2- HDMI/VGA
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MIX_AUDIOIN_CFG

Audio input port mix parameter configuration structure

struct{
  DWORD                          dwSize;
  DWORD                          dwHighPassFilter;
  DWORD                          dwNoiseMargin;
  NET_DVR_AUTO_LIMIT_WAVE_CFG    struLimitWave;
  BYTE                           byRes[64];
 }NET_DVR_MIX_AUDIOIN_CFG,*LPNET_DVR_MIX_AUDIOIN_CFG;

Members

dwSize
Structure size
dwHighPassFilter
Qualcomm wave filter, value range: [0,127], for details see capability set
dwNoiseMargin
Noise threshold, value range: [0,127], for details see capability set
struLimitWave
Auto wave limit control parameters, valid when audio input is MIC IN
byRes
Reserved, set as 0

Remarks

  • For education sharing system, audio input port mix parameter capability corresponds to node <MixAudioIn> of capability set(RecordingHostAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO.
  • For trial DVR/NVR, audio input port mix parameter capability corresponds to sub node <MixAudio> of <AudioInChanList> in capability set (TrialHostAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO.

See Also

Education sharing system: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MIX_AUDIOOUT_CFG

Audio output port mix parameter configuration structure

struct{
  DWORD    dwSize;
  BYTE     byModulatorEnbale;
  BYTE     byPostFilter;
  BYTE     byLimitPressure;
  BYTE     byRes1;
  WORD     wModulatorValue;
  WORD     wTriggerTime;
  WORD     wFreeTime;
  BYTE     byCompressThreshold;
  BYTE     byCompressMode;
  BYTE     byRes[64];
 }NET_DVR_MIX_AUDIOOUT_CFG,*LPNET_DVR_MIX_AUDIOOUT_CFG;

Members

dwSize
Structure size
byModulatorEnbale
Whether to enable phase modulator: 0- no, 1- yes
byPostFilter
Post filter switch: 0- disable, 1- enable (default)
byLimitPressure
Output compression and limit switch: 0- disable, 1- enable (default)
byRes1
Reserved, set as 0
wModulatorValue
Phase modulation volume, value range: [0,127], for details see capability set
wTriggerTime
Compression and limit trigger time, value range: [0,127], for details see capability set
wFreeTime
Compression and limit release time, value range: [0,127], for details see capability set
byCompressThreshold
Compression threshold: 0- 1X, 1- 2X, 2- 4X, 3- 8X, X means multiplier, e.g., 2X means multiply by 2
byCompressMode
Compression mode: 0- soft (default), 1- hard
byRes
Reserved, set as 0

Remarks

  • For education sharing system, audio output port mix parameter capability corresponds to node <MixAudioOut> of capability set (RecordingHostAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO.
  • For trial DVR/NVR, audio input port mix parameter capability corresponds to sub node <MixAudio> of <AudioOutChanList> in capability set (TrialHostAbility), API:NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO.

See Also

Education sharing system: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MOBILE_CAPTUREPIC_CFG

Structure of capture consifguration

struct{
  DWORD    dwSize;
  BYTE     byPreviewFpsAdjMode;
  BYTE     bySelPeccType;
  BYTE     byOptHabit;
  BYTE     byEnablePeccRec;
  BYTE     byPicSize;
  BYTE     byPicQuality;
  BYTE     byRes[62];
}NET_DVR_MOBILE_CAPTUREPIC_CFG,*LPNET_DVR_MOBILE_CAPTUREPIC_CFG;

Members

dwSize
Structure size
byPreviewFpsAdjMode
Adjust mode of frame:0- standard frame rate;1- standrad low frame rate;2- adjust the frame via GPS speed.
bySelPeccType
Whether select the violation type:0- no, 1- yes
byOptHabit
Obtain evidence habit:0- long press;1- two times short press.
byEnablePeccRec
Whether enable the violation capture function：0- disable，1- enable
byPicSize
Picture resolution:0- CIF, 1- QCIF, 2- D1，3- UXGA(1600x1200), 4- SVGA(800x600), 5- HD720p(1280*720), 6- VGA, 7- XVGA, 8- HD900p, 9- HD1080, 10- 2560*1920, 11- 1600*304, 12- 2048*1536, 13- 2448*2048,14- 2448*1200, 15- 2448*800, 16- XGA(1024*768), 17- SXGA(1280*1024), 18- WD1(960*576/960*480), 19- 1080i
byPicQuality
Picture qualit: 0- best, 1- better, 2- general
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MOBILE_LOCALPLATECHK_CFG

Structure of blacklist comparison configuration

struct{
  DWORD    dwSize;
  BYTE     byCheck;
  BYTE     byCheckAlarm;
  BYTE     byCheckHint;
  BYTE     byUploadBlackCar;
  BYTE     byRes[64];
}NET_DVR_MOBILE_LOCALPLATECHK_CFG,*LPNET_DVR_MOBILE_LOCALPLATECHK_CFG;

Members

dwSize
Structure size
byCheck
Whether check the blacklist:0- yes, 1- no. The value here is different.
byCheckAlarm
Whether there is a necessary to send the alarm after checking: 0- no, 1- yes
byCheckHint
Whether there is a necessary to send the hint after checking(software hint): 0- no, 1- yes
byUploadBlackCar
Whether upload the blach car info:0- no, 1- yes
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MOBILE_PLATE_RECOGCFG

Structure of LPR configuration

struct{
  DWORD    dwSize;
  BYTE     byDefaultCHN[MAX_CHJC_NUM];
  BYTE     byTimeOsd;
  BYTE     byRecogResultOsd;
  BYTE     byRecogHint;
  BYTE     byRecogDir;
  BYTE     byRecogEnv;
  BYTE     byRecogPlateType;
  BYTE     byUploadPlate;
  BYTE     byRes[62];
}NET_DVR_MOBILE_PLATE_RECOGCFG,*LPNET_DVR_MOBILE_PLATE_RECOGCFG;

Members

dwSize
Structure size
byDefaultCHN
The Chinese character logogram of the province that device running.
byTimeOsd
Whether overlay the time: 0- no, 1- yes
byRecogResultOsd
Whether overlay the LPR result:0- no, 1- yes
byRecogHint
Whether send the hint when recognition is succeed.0- no, 1- yes
byRecogDir
The recognition direction: 0- forward, 1- backward
byRecogEnv
Recognition environment:0- Day,1- night
byRecogPlateType
The recognized plate type: 0- small,1- large
byUploadPlate
Whether upload the plate:0- no, 1- yes
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MOBILE_RADAR_CFG

Structure of radar configuration

struct{
  DWORD    dwSize;
  BYTE     byEnableRadar;
  BYTE     byEnableAlarm;
  WORD     wOverSpeed;
  BYTE     bySpeedUnits;
  BYTE     bydirection;
  BYTE     byMeasureMode;
  BYTE     byTargetType;
  BYTE     bySensitivity;
  BYTE     byCaptureNum;
  BYTE     byUploadPlate;
  BYTE     byRes[61];
}NET_DVR_MOBILE_RADAR_CFG,*LPNET_DVR_MOBILE_RADAR_CFG;

Members

dwSize
Structure size
byEnableRadar
Whether enable the radar:0- no, 1- yes
byEnableAlarm
Whether enable the alarm: 0- no, 1- yes
wOverSpeed
Range of overspeed, data range:20-250
bySpeedUnits
Speed unit:0- Km/h, 1- Mp/h
bydirection
Radar direction:0- backward, 1- forward
byMeasureMode
Radar status: 0- static, 1- dynamic
byTargetType
Target type:0- the faestest, 1- the nearest
bySensitivity
Sensitivity, data range:[0,100]
byCaptureNum
Capture number, data range:[0,255]
byUploadPlate
Whether upload the captured picture: 0- no,1 - yes
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MOD_LABEL_PARAM

Structure of label modification.

struct{
  NET_DVR_LABEL_IDENTIFY      struIndentify;
  BYTE                        byRes1[24];
  BYTE                        sLabelName[LABEL_NAME_LEN];
  BYTE                        byRes2[40];
}NET_DVR_MOD_LABEL_PARAM,*LPNET_DVR_MOD_LABEL_PARAM;

Members

struIndentify
The label identify to be modified
byRes1
Reserved
sLabelName
Modified label name
byRes2
Reserved

See Also

NET_DVR_LABEL_IDENTIFY NET_DVR_ModifyRecordLabel


NET_DVR_MONITOR_LOCATION_CFG

Camera configuration structure。

struct{
  DWORD    dwSize;
  BYTE     byMonitoringSiteID[MAX_ID_LEN];
  BYTE     byDeviceID[MAX_ID_LEN];
  BYTE     byDirectionNo;
  BYTE     byRes1[3];
  BYTE     byMonitorInfo[MONITORSITE_ID_LEN];
  BYTE     byRes[128];
}NET_DVR_MONITOR_LOCATION_CFG,*LPNET_DVR_MONITOR_LOCATION_CFG;

Members

dwSize
Structure size
byMonitoringSiteID
Camera No.
byDeviceID
Device No.
byDirectionNo
Camera direction No.:0-N/a, 1- Upstream, 2- Downstream, 3- Both upstream and downstream, 4- East to west, 5- South to north, 6- West to east, 7- North to south, 8- Others
byRes1
Reserved, et as 0.
byMonitorInfo
Camera information description
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_MONITOR_LOCATION_COND

Camera settings condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  BYTE     byRelateType;
  BYTE     byRes[63];
}NET_DVR_MONITOR_LOCATION_COND,*LPNET_DVR_MONITOR_LOCATION_COND;

Members

dwSize
Structure size
dwChan
Channel No.
byRelateType
0- Linked capture MPR mode(for multi-frame triggering capture IPC), 1- Linked capture HVI mode( for mixed IPC)
byRes
Reserved.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_MONITOR_VQDCFG

Camera Information Structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byDevType;
  BYTE     bySignalPoint;
  BYTE     byBlurPoint;
  BYTE     byLumaPoint;
  BYTE     byChromaPoint;
  BYTE     bySnowPoint;
  BYTE     byStreakPoint;
  BYTE     byFreezePoint;
  BYTE     byPTZPoint;
  BYTE     byMonitorDel;
  BYTE     byRes[53];
}NET_DVR_MONITOR_VQDCFG,*LPNET_DVR_MONITOR_VQDCFG;

Members

dwSize
The size of the structure
byEnable
Enable, 0- No, 1- Yes
byDevType
Device type, 0- Without PTZ, 1- With PTZ.
bySignalPoint
Signal loss threshold, value range[0~100]
byBlurPoint
Blur image threshold,value range[0~100]
byLumaPoint
Brightness exception threshold, value range[0~100]
byChromaPoint
Color cast threshold, value range[0~100]
bySnowPoint
Snow interference threshold, value range[0~100]
byStreakPoint
Streak interference, value range[0~100]
byFreezePoint
Image freeze threshold, value range[0~100]
byPTZPoint
PTZ out of control threshold, value range[0~100]
byMonitorDel
Delete the camera? 0- No, 1- Yes
byRes
Reserved

Remarks

To manage the camera, configure the stream ID firstly via the structure of NET_DVR_SET_STREAM_SRC_INFO, then configure the stream ID corresponded camera information (NET_DVR_MONITOR_VQDCFG) via NET_DVR_SET_MONITOR_VQDCFG.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_MOTION

Structure of motion detection parameters.

struct{
  BYTE                       byMotionScope[18][22];
  BYTE                       byMotionSensitive;
  BYTE                       byEnableHandleMotion;
  BYTE                       reservedData[2];
  NET_DVR_HANDLEEXCEPTION    strMotionHandleType;
  NET_DVR_SCHEDTIME          struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
  BYTE                       byRelRecordChan[MAX_CHANNUM];
}NET_DVR_MOTION, *LPNET_DVR_MOTION;

Members

byMotionScope
Motion detection area, there are 22*18 small marco block. If the value is 1, the block is set to be detection area, and 0 means it isn't detection area.
byMotionSensitive
Sensitivity of motion detection, range: [0,5]. Value = 0xff means disable the function. The value is larger, the detection is more sensitive.
byEnableHandleMotion
Whether to handle motion detection: 0- no, 1- yes
reservedData
Reserved, please set it to 0
strMotionHandleType
Handling type
struAlarmTime
Alarming time
byRelRecordChan
Recording channel triggered by alarm. 1 means the channel is triggered to record.

Remarks

The area size of entire image is 704*576.

See Also

NET_DVR_HANDLEEXCEPTION NET_DVR_SCHEDTIME


NET_DVR_MOTION_MODE_PARAM

Structure of area parameters of different motion detection modes

struct{
  NET_DVR_MOTION_SINGLE_AREA    struMotionSingleArea;
  NET_DVR_MOTION_MULTI_AREA     struMotionMultiArea;
}NET_DVR_MOTION_MODE_PARAM, *LPNET_DVR_MOTION_MODE_PARAM;

Members

struMotionSingleArea
Single area setting of normal mode
struMotionMultiArea
Multi-zone setting of expert mode

See Also

NET_DVR_MOTION_V40


NET_DVR_MOTION_MULTI_AREA

Structure of motion detection area of expert mode

struct{
  BYTE                              byDayNightCtrl;
  BYTE                              byRes[3];
  NET_DVR_SCHEDULE_DAYTIME          struScheduleTime;
  NET_DVR_MOTION_MULTI_AREAPARAM    struMotionMultiAreaParam[MAX_MULTI_AREA_NUM];
  BYTE                              byRes1[60];
}NET_DVR_MOTION_MULTI_AREA, *LPNET_DVR_MOTION_MULTI_AREA;

Members

byDayNightCtrl
Day and night control：0- close(default)，1- auto,2- regular switch
byRes
Reserved, set it to 0
struScheduleTime
Regular switch time，byDayNightCtrl==2: valid，inside of time period -- day, outside of time period -- night
struMotionMultiAreaParam
Motion detection area parameters, the areas number up to 24
byRes1
Reserved, set it to 0

See Also

NET_DVR_MOTION_MODE_PARAM


NET_DVR_MOTION_MULTI_AREAPARAM

Structure of motion detection area of expert mode

struct{
  BYTE              byAreaNo;
  BYTE              byRes[3];
  NET_VCA_RECT      struRect;
  NET_DVR_DNMODE    struDayNightDisable;
  NET_DVR_DNMODE    struDayModeParam;
  NET_DVR_DNMODE    struNightModeParam;
  BYTE              byRes1[8];
}NET_DVR_MOTION_MULTI_AREAPARAM, *LPNET_DVR_MOTION_MULTI_AREAPARAM;

Members

byAreaNo
Area number, starts from 1
byRes
Reserved, set it to 0
struRect
Coordinate information of single area(rectangle)
struDayNightDisable
Day and night closed,valid when the byDayNightCtrl closed
struDayModeParam
Day mode, valid when the status of byDayNightCtrl is auto or regular switch
struDayModeParam
Night mode, valid when the status of byDayNightCtrl is auto or regular switch

See Also

NET_DVR_MOTION_MODE_PARAM


NET_DVR_MOTION_SINGLE_AREA

Structure of motion detection area of normal mode

struct{
  BYTE    byMotionScope[64][96];
  BYTE    byMotionSensitive;
  BYTE    byRes[3];
}NET_DVR_MOTION_SINGLE_AREA, *LPNET_DVR_MOTION_SINGLE_AREA;

Members

byMotionScope
Motion detection scope: there are just 22×18 valid (PAL) and 22×15 valid (NTSC) in the 96×64 array, 1- set the macro block as the motion detection area, 0- not；the others reserved, set them to 0
byMotionSensitive
Motion detection sensitivity,data range:[0,5]，0xff- close, the bigger the more sensitivity
byRes
Reserved, set it to 0

Remarks

SDK set the whole image region size to 704*576(PAL) and 704×480(NTSC); that is, divide te 704×576（704×480）image in to 22×18（22×15）macro blocks，and then set each block whether it is the motion area. PAL: image size is 704*576, if the HD device is 1280*720, you need shrink the area size into 704*576 first

See Also

NET_DVR_MOTION_MODE_PARAM


NET_DVR_MOTION_TRACK_CFG

Structure of motion track configuration

struct{
  DWORD    dwSize;
  BYTE     byEnableTrack;
  BYTE     byRes[63];
}NET_DVR_MOTION_TRACK_CFG, *LPNET_DVR_MOTION_TRACK_CFG;

Members

dwSize
Structure size
byEnableTrack
Enable motion tracking: 0- noo, 1- yes
byRes
Reserved

Remarks

When the motion tracking enabled, speed dome camera can rapid and smooth tracking target when there is people/car moving.Meanwhile, you can find the target in the center of image all the time with automatic zoom ratios according to the ratio between target and the whole image.

You also can manual select the target through 3D position when the motion tracking enabled

When the motion tracking enabled, watch mode will be closed if stop time of PTZ more than watching time, and automatically start a panoramic tracking of the current scene.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MOTION_V30

Structure of motion detection parameters.

struct{
  BYTE                           byMotionScope[64][96];
  BYTE                           byMotionSensitive;
  BYTE                           byEnableHandleMotion;
  BYTE                           byRes;
  char                           reservedData;
  NET_DVR_HANDLEEXCEPTION_V30    strMotionHandleType;
  NET_DVR_SCHEDTIME              struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                           byRelRecordChan[MAX_CHANNUM_V30];
}NET_DVR_MOTION_V30, *LPNET_DVR_MOTION_V30;

Members

byMotionScope
Motion detection area, only 22*18 for PAL or 22*15 for NTSC format are valid in the array of 96*64, the value =1 means set the macroblock to be the detection area, and the value =0 means not set to be the detection area. The other is reserved.
byMotionSensitive
Sensitivity of motion detection, range: [0,5]. Value = 0xff means disable the function. The value is larger, the detection is more sensitive
byEnableHandleMotion
Whether to handle motion detection: 0- no, 1- yes
byRes
Reserved
reservedData
Reserved, please set it to 0
strMotionHandleType
Handling type
struAlarmTime
Arming time
byRelRecordChan
Recording channel triggered by alarm. 1 means the channel is triggered to record

Remarks

The area size of total image is 704*576 for PAL or 704*480 for NTSC, and set the image of 704*576(or 704*480) to 22*18(or 22*15) macroblocks. Then we can set each macroblock to be the detection area or not.
For example, in PAL format, if the resolution of the image is not 704*576, such as 1280*720, please shrink the image into 704*576, and then set the motion detection area.

See Also

NET_DVR_HANDLEEXCEPTION_V30 NET_DVR_SCHEDTIME

Reference Structure

The extending structure, please refer to

NET_DVR_MOTION_V40


NET_DVR_MOTION_V40

Structure of motion detection parameters

struct{
  NET_DVR_MOTION_MODE_PARAM    struMotionMode;
  BYTE                         byEnableHandleMotion;
  BYTE                         byEnableDisplay;
  BYTE                         byConfigurationMode;
  BYTE                         byRes1;
  DWORD                        dwHandleType;
  DWORD                        dwMaxRelAlarmOutChanNum;
  DWORD                        dwRelAlarmOut[MAX_ALARMOUT_V40];
  NET_DVR_SCHEDTIME            struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  DWORD                        dwMaxRecordChanNum;
  DWORD                        dwRelRecordChan[MAX_CHANNUM_V40];
  BYTE                         byRes[128];
}NET_DVR_MOTION_V40, *LPNET_DVR_MOTION_V40;

Members

struMotionMode
Set motion detection area in the different modes
byEnableHandleMotion
Enable handle motion detection：0- no，1- yes
byEnableDisplay
Enable motion detection highlight display：0- no，1- yes
byConfigurationMode
Motion detection mode：0- normal,1- expert
byRes1
Reserved, set it to 0
dwHandleType
Handling type, the 'OR'result of all kinds exception handle modes
0x00: No response
0x01: Monitor warning
0x02: Audible warning
0x04: Notify surveillance center
0x08: Trigger alarm output
0x10: Jpeg image capture and send EMail
0x20: Wireless combined aural and visual alarm linkage
0x40: E-map linkage(PCNVR support only)
0x200：Capture and upload to ftp
E.g. dwHandleType==0x01|0x04- Monitor warning and notify surveillance center
dwMaxRelAlarmOutChanNum
The max output channels triggered by alarm (read only）
dwRelAlarmOut
Trigger alarm ID,output channel number triggered by alarm，the value uses the compact arrangement， reads from subscript 0 and the follow-up will be invalid when encouting 0xffffffff
for example: dwRelAlarmOut[8]=0xffffffff，means configure output channel dwRelAlarmOut[0]~dwRelAlarmOut[7]
struAlarmTime
Arming time, 7 days a week, 8 time periods a day
dwMaxRecordChanNum
The max relevance recording channel number（read only）
dwRelRecordChan
Actual recording channel triggered by alarm, the value uses the compact arrangement; reads from subscript 0 and the follow-up will be invalid when encouting 0xffffffff
byRes[128]
Reserved

See Also

NET_DVR_PICCFG_V40

Reference Structure

Structure expands from

NET_DVR_MOTION_V30


NET_DVR_MOUNT_DISK_PARAM

Structure of disk parameter

struct{
  NET_DVR_STRUCTHEAD    struStructHead;
  DWORD                 dwDiskNo;
  BYTE                  byRes[32];
}NET_DVR_MOUNT_DISK_PARAM,*LPNET_DVR_MOUNT_DISK_PARAM;

Members

struStructHead
Structure head
dwDiskNo
Disk number
byRes
Reserved

See Also

NET_DVR_RemoteControl


NET_DVR_MOUNT_PARAM_UNION

union of NAS mount protocal

union{
  BYTE                            uLen[52];
  NET_DVR_IDENTIFICATION_PARAM    struIdentificationParam;
}NET_DVR_MOUNT_PARAM_UNION, *LPNET_DVR_MOUNT_PARAM_UNION;

Members

uLen
the size of union，52 bytes
struIdentificationParam
authentication parameters of SMB/CIFS protocol,it is valid when the byNetDiskType in NET_DVR_NAS_MOUNT_PARAM is set to"2- SMB/CIFS"

See Also

NET_DVR_NAS_MOUNT_PARAM


NET_DVR_MOUNTMETHOD_PARAM_UNION

mount method union of network hard disk

union{
  BYTE                       uLen[56];
  NET_DVR_NAS_MOUNT_PARAM    struNasMountParam;
}NET_DVR_MOUNTMETHOD_PARAM_UNION,*LPNET_DVR_MOUNTMETHOD_PARAM_UNION;

Members

uLen
the size of union, 56 bytes
struNasMountParam
the method of mount，it is valid when the parameters of NET_DVR_SINGLE_NET_DISK_INFO is set to"0-NFS(NAS)"

See Also

NET_DVR_SINGLE_NET_DISK_INFO_V40 NET_DVR_SINGLE_NET_DISK_INFO


NET_DVR_MRD_SEARCH_PARAM

Calendar video distribution search condition structure

struct{
  DWORD                  dwSize;
  NET_DVR_STREAM_INFO    struStreamInfo;
  WORD                   wYear;
  BYTE                   byMonth;
  BYTE                   byDrawFrame;
  BYTE                   byStreamType;
  BYTE                   byRes[31];
}NET_DVR_MRD_SEARCH_PARAM, *LPNET_DVR_MRD_SEARCH_PARAM;

Members

dwSize
Structure size
struStreamInfo
Camera information
wYear
Year
byMonth
Month
byDrawFrame
Frame extracting: 0- no, 1- yes
byStreamType
Stream type: 0- main stream, 1- sub-stream
byRes
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig


NET_DVR_MRD_SEARCH_RESULT

Calendar video search result structure

struct{
  DWORD    dwSize;
  BYTE     byRecordDistribution[32];
  BYTE     byHasEventRecode[31];
  BYTE     byRes;
}NET_DVR_MRD_SEARCH_RESULT, *LPNET_DVR_MRD_SEARCH_RESULT;

Members

dwSize
Structure size
byRecordDistribution
Video distribution, byRecordDistribution[0]==1 means video exists on 1st of this month, byRecordDistribution[0]==0 means no video found on 1st, byRecordDistribution[1]==1 means video exists on 2nd, and byRecordDistribution[2]==1 means video exists on 3rd, and so forth
byHasEventRecode
Event video, byHasEventRecode[0] to byHasEventRecode[30] means 1st to 31st, value: 0- no event video, 1- event video exists
E.g., byHasEventRecode[2]==1 means video exists on 3rd
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig


NET_DVR_MSC_SCREEN_BACKLIGHT_CFG

Structure of screen black light.

struct{
  DWORD    dwSize;
  BYTE     byBacklight;
  BYTE     byRes[15];
}NET_DVR_MSC_SCREEN_BACKLIGHT_CFG, *LPNET_DVR_MSC_SCREEN_BACKLIGHT_CFG;

Members

dwSize
Structure size
byBacklight
Black light parameter: 0 ~ 100
byRes
Reserved, please set to 0

See Also

NET_DVR_MSC_SCREEN_PARAM


NET_DVR_MSC_SCREEN_INTERFACE_CFG

Structure of input source parameter.

struct{
  DWORD    dwSize;
  BYTE     byInterfaceType;
  BYTE     byNoSignalPic;
  BYTE     byRes[30];
}NET_DVR_MSC_SCREEN_INTERFACE_CFG, *LPNET_DVR_MSC_SCREEN_INTERFACE_CFG;

Members

dwSize
Structure size
byInterfaceType
Index of input source. Detailed definitions are as follows:
enum _INPUT_INTERFACE_TYPE_{
  INTERFACE_VGA  = 0,
  INTERFACE_SVIDEO,
  INTERFACE_YPBPR,
  INTERFACE_DVI,
  INTERFACE_BNC,
  INTERFACE_DVI_LOOP,
  INTERFACE_BNC_LOOP,
  INTERFACE_HDMI,
  INTERFACE_IP,
  INTERFACE_USB,
  INTERFACE_SDI,
  INTERFACE_DP,
  INTERFACE_HDBASET
}INPUT_INTERFACE_TYPE
INTERFACE_VGA
VGA input
INTERFACE_SVIDEO
S-Video input
INTERFACE_YPBPR
YPbPr input
INTERFACE_DVI
DVI input
INTERFACE_BNC
BNC input
INTERFACE_DVI_LOOP
DVI (loop) input
INTERFACE_BNC_LOOP
BNC (loop) input
INTERFACE_HDMI
HDMI input
INTERFACE_IP
IP input
INTERFACE_USB
USB input
INTERFACE_SDI
SDI input
INTERFACE_DP
DP input
INTERFACE_HDBASET
HDBaseT input
byNoSignalPic
Mode of screen with no signal: 1- blue screen, 2- black screen, 3- LOGO screen
byRes
Reserved, please set to 0

See Also

NET_DVR_MSC_SCREEN_PARAM


NET_DVR_MSC_SCREEN_PARAM

Union of screen paramters.

union{
  NET_DVR_MSC_SCREEN_INTERFACE_CFG    struInterfaceCfg;
  NET_DVR_SCREEN_FAN_WORK_MODE_CFG    struFanWorkMode;
  NET_DVR_SCREEN_VGA_CFG              struVgaCfg;
  NET_DVR_SCREEN_MENU_CFG             struMenuCfg;
  NET_DVR_VIDEO_OUT_CFG               struOutEffectCfg;
  NET_DVR_COLOR_TEMPERATURE_CFG       struColorTemperatureCfg;
  NET_DVR_ADC_CFG                     struAdcCfg;
  NET_DVR_SCREEN_EDGE_CFG             struScreenEdgeCfg;
  NET_DVR_MSC_SCREEN_BACKLIGHT_CFG    struBacklight;
  NET_DVR_MSC_SCREEN_PIP_CFG          struPicInPicCfg;
  NET_DVR_DEFOG_LCD                   struDefog;
  NET_DVR_SCREEN_WORK_STATE           struWorkState;
  NET_DVR_BOOT_LOGO_CFG               struBootLogoCfg;
  NET_DVR_LCD_AUDIO_CFG               struAudioCfg;
  BYTE                                byRes[256];
}NET_DVR_MSC_SCREEN_PARAM, *LPNET_DVR_MSC_SCREEN_PARAM;

Members

struInterfaceCfg
Input source
struFanWorkMode
Working mode of fan
struVgaCfg
VGA signal
struMenuCfg
Screen menu
struOutEffectCfg
Effect of display
struColorTemperatureCfg
Color temperature
struAdcCfg
ADC parameter
struScreenEdgeCfg
Screen edge
struBacklight
Black light
struPicInPicCfg
PIP (picture-in-picutre)
struDefog
Parameter of defogging
struWorkStatw
Working status of screen
struBootLogoCfg
Boot LOGO parameter
struAudioCfg
LCD audio
byRes
Union size: 256 bytes

See Also

NET_DVR_MSC_SCREEN_PARAM_CFG


NET_DVR_MSC_SCREEN_PIP_CFG

Structure of PIP (picture-in-picture) of the screen.

struct{
  DWORD                 dwSize;
  BYTE                  byEnable;
  BYTE                  bySubWindowSource;
  BYTE                  bySubWindowBorderColor;
  BYTE                  byRes1;
  NET_DVR_RECTCFG_EX    struPosition;
  BYTE                  byRes2[16];
}NET_DVR_MSC_SCREEN_PIP_CFG, *LPNET_DVR_MSC_SCREEN_PIP_CFG;

Members

dwSize
Structrue size
byEnable
Whether to enable the function of PIP: 0- no, 1- yes
bySubWindowSource
Signal source of sub-picture. Detailed definitions are as follows:
enum _INPUT_INTERFACE_TYPE_{
  INTERFACE_VGA  = 0,
  INTERFACE_SVIDEO,
  INTERFACE_YPBPR,
  INTERFACE_DVI,
  INTERFACE_BNC,
  INTERFACE_DVI_LOOP,
  INTERFACE_BNC_LOOP,
  INTERFACE_HDMI,
  INTERFACE_IP,
  INTERFACE_USB,
  INTERFACE_SDI,
  INTERFACE_DP,
  INTERFACE_HDBASET
}INPUT_INTERFACE_TYPE
INTERFACE_VGA
VGA input
INTERFACE_SVIDEO
S-Video input
INTERFACE_YPBPR
YPbPr input
INTERFACE_DVI
DVI input
INTERFACE_BNC
BNC input
INTERFACE_DVI_LOOP
DVI (loop) input
INTERFACE_BNC_LOOP
BNC (loop) input
INTERFACE_HDMI
HDMI input
INTERFACE_IP
IP input
INTERFACE_USB
USB input
INTERFACE_SDI
SDI input
INTERFACE_DP
DP input
INTERFACE_HDBASET
HDBaseT input
bySubWindowBorderColor
Border color of the sub-picture: 1- blue, 2- black
byRes1
Reserved, please set to 0
struPosition
The position of sub-picture, and the total size of screen is 1920 * 1920
byRes2
Reserved, please set to 0

See Also

NET_DVR_MSC_SCREEN_PARAM


NET_DVR_MSC_SPLICE_CFG

Screen splicing configuration structure

struct{
  DWORD                 dwSize;
  BYTE                  bySpliceNo;
  BYTE                  byWallNo;
  BYTE                  byEnable;
  BYTE                  byRes1;
  NET_DVR_RECTCFG_EX    struRectCfg;
  BYTE                  byRes2[32];
}NET_DVR_MSC_SPLICE_CFG, *LPNET_DVR_MSC_SPLICE_CFG;

Members

dwSize
Structure size
bySpliceNo
Splicing screen No.
byWallNo
Video wall No.
byEnable
Enable? 0- No, 1- Yes
byRes1
Reserved, set as 0.
struRectCfg
The area needs to be spliced, this parameter should be set as 0 when getting.
byRes2
Reserved, set as 0.

See Also

NET_DVR_StartRemoteConfig NET_DVR_SendRemoteConfig


NET_DVR_MUL_STREAM_CHANNEL_GROUP

Structure of multi-stream parameters configuration

struct{
  DWORD                                       dwSize;
  DWORD                                       dwGroup;
  NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND    struStreamPara;
  BYTE                                        byRes[64];
}NET_DVR_MUL_STREAM_CHANNEL_GROUP,*LPNET_DVR_MUL_STREAM_CHANNEL_GROUP;

Members

dwSize
Structure size
dwGroup
Group number
struStreamPara
Multi-stream configuration parameters
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig


NET_DVR_MULTI_ALARMIN_COND

Arming region parameter list search condition structure

struct{
  DWORD    dwSize;
  int      iZoneNo[MAX_MAX_ALARMIN_NUM];
  BYTE     byRes[256];
}NET_DVR_MULTI_ALARMIN_COND,*LPNET_DVR_MULTI_ALARMIN_COND;

Members

dwSize
Structure size
iZoneNo
Arming region, starting from 0, invalid below 0
byRes
Reserved, set as 0

See Also

NET_DVR_GetSTDConfig


NET_DVR_MULTI_CARD_CFG

Multiple Authentication Configuration Structure

struct{
  DWORD                           dwSize;
  BYTE                            byEnable;
  BYTE                            bySwipeIntervalTimeout;
  BYTE                            byRes1[2];
  NET_DVR_MULTI_CARD_GROUP_CFG    struGroupCfg[MULTI_CARD_GROUP_NUM];
  BYTE                            byRes2[32];
}NET_DVR_MULTI_CARD_CFG,*LPNET_DVR_MULTI_CARD_CFG;

Members

dwSize
The size of the structure
byEnable
Enable multiple authentication? 0- No.; 1- Yes.
bySwipeIntervalTimeout
The Timeout Value of Swiping Interval: 1~255s，Default: 10s
byRes1
Reserved, set as 0/dd>
struGroupCfg
Group Swiping Parameters
byRes2
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MULTI_CARD_GROUP_CFG

Group Swiping Parameters Structure

struct{
  BYTE                              byEnable;
  BYTE                              byEnableOfflineVerifyMode;
  BYTE                              byRes1[2];
  DWORD                             dwTemplateNo;
  NET_DVR_GROUP_COMBINATION_INFO    struGroupCombination[GROUP_COMBINATION_NUM];
}NET_DVR_MULTI_CARD_GROUP_CFG,*LPNET_DVR_MULTI_CARD_GROUP_CFG;

Members

byEnable
Enable the multiple authentication group parameters? 0- No,1- Yes.
bySwipeIntervalTimeout
Enable the host offline authentication mode(super password insteads of remote door-open)? 0- No,1- Yes.
byRes1
Reserved, set as 0.
dwTemplateNo
The schedule template NO. of multiple autentication.
struGroupCombination
Group Parameters

See Also

NET_DVR_MULTI_CARD_CFG


NET_DVR_MULTI_DOOR_INTERLOCK_CFG

Multi-door Interlocking Configuration Structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwMultiDoorGroup[MAX_MULTI_DOOR_INTERLOCK_GROUP][MAX_INTER_LOCK_DOOR_NUM];
  BYTE     byRes2[64];
}NET_DVR_MULTI_DOOR_INTERLOCK_CFG,*LPNET_DVR_MULTI_DOOR_INTERLOCK_CFG;

Members

dwSize
The size of structure
byEnable
Enable the function of multi-door interlocking? 1-Yes 0- No
byRes1
Reserved, set as 0
dwMultiDoorGroup
The parameters of multi-door interlocking. The value is the door No.The function of dwMultiDoorGroup[i][j]=k represents that the door NO. linked by the (j+1) door in the (i+1) multi-door interlocking group is k.
byRes2
Reserved, set as 0

Remarks

The interlocking and anti-passback function cannot take effect at the same time.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_MULTI_STREAM_COMPRESSIONCFG

Structure of multi-stream compression parameters

struct{
  DWORD                           dwSize;
  DWORD                           dwStreamType;
  NET_DVR_COMPRESSION_INFO_V30    struStreamPara;
  BYTE                            byRes[80];
}NET_DVR_MULTI_STREAM_COMPRESSIONCFG,*LPNET_DVR_MULTI_STREAM_COMPRESSIONCFG;

Members

dwSize
Structure size
dwStreamType
Stream type: 0-main stream, 1-sub stream, 2-event type, 3- stream 3 and so on
struStreamPara
Stream compression parameters
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND

Structure of multi-stream compression parameters configuration

struct{
  DWORD                  dwSize;
  NET_DVR_STREAM_INFO    struStreamInfo;
  DWORD                  dwStreamType;
  BYTE                   byRes[32];
}NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND,*LPNET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND;

Members

dwSize
Structure size
struStreamInfo
Stream info,ID or channel
dwStreamType
Stream type：0-main stream，1-sub stream，2-event type，3- stream 3 and so on
byRes
Reserved

See Also

NET_DVR_MUL_STREAM_CHANNEL_GROUP NET_DVR_ROI_DETECT_COND

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_MULTISTREAM_RELATION_CHAN_CFG

Multi-stream linkage channel parameter configuration structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[64];
 }NET_DVR_MULTISTREAM_RELATION_CHAN_CFG,*LPNET_DVR_MULTISTREAM_RELATION_CHAN_CFG;

Members

dwSize
Structure size
dwChannel
Linkage channel
byRes
Reserved, set as 0

See Also

  • Trial DVR V3.0.1 supports 3 multi-stream channels (No. from 1), can be configured to link to encoding channel 1 to 12.
  • Multi-streaming requires standard RTSP protocol, streaming URL format is:
    rtsp://[ip]:[port]/multi[1/2/3]/av_stream
    For example: rtsp://10.2.3.4:554/multi1/av_stream, means to access the first multi-stream of the host address 10.2.3.4.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_N_PLUS_ONE_DEVICE_INFO

The structure of N+1 mode device information。

struct{
  DWORD                         dwSize;
  NET_DVR_NPO_DEV_INFO_UNION    unionDevInfo;
  BYTE                          byType;
  BYTE                          byRes[127];
}NET_DVR_N_PLUS_ONE_DEVICE_INFO,*LPNET_DVR_N_PLUS_ONE_DEVICE_INFO;

Members

dwSize
The size of the structure
unionDevInfo
The union of N+1 mode device information
byType
DEvice type, 0-working device (struWorkingDeviceInfo in the unionDevInfo), 1- standby device (struRedundantDeviceInfo in the unionDevInfo)
byRes
Reserved

Remarks

See Also

NET_DVR_GetNextRemoteConfig


NET_DVR_N_PLUS_ONE_DEVICE_PARAM

Structure of devices parameters of N+1 mode

struct{
  DWORD                      dwSize;
  NET_DVR_NPO_PARAM_UNION    unionParam;
  BYTE                       byType;
  BYTE                       byRes2[255];
}NET_DVR_N_PLUS_ONE_DEVICE_PARAM,*LPNET_DVR_N_PLUS_ONE_DEVICE_PARAM;

Members

dwSize
Structure size
unionParam
Devices parameters units of N+1mode
byType
Type:0- add(corresponding struAddParam of unionParam )，1- delete（corresponding struDelParam of unionParam ）
byRes2
Reserved

Remarks

N+1 mode configuration:
1）add the stand by engine on the working engine , stand by engine IP is just for CVR, password and register info of stand by engine should be added in to NVR
2）Add stand by engine on the working engine

See Also

NET_DVR_RemoteControl


NET_DVR_N_PLUS_ONE_WORK_MODE_CFG

The structure of N+1 working mode configuration

struct{
  DWORD    dwSize;
  BYTE     byWorkMode;
  BYTE     byRes[127];
}NET_DVR_N_PLUS_ONE_WORK_MODE_CFG,*LPNET_DVR_N_PLUS_ONE_WORK_MODE_CFG;

Members

dwSize
The size of the structure
byWorkMode
Device working mode, 0-In Work, 1- Standby
byRes
Reserved

Remarks

This configuration will tack effects after manually rebooting. CVR does not support this operation but ensure the working mode by adding working or standby device(interface:NET_DVR_RemoteControl, Command:NET_DVR_ADD_DEVICE.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_NAS_MOUNT_PARAM

the structure of mount method for NAS

struct{
  BYTE                         byMountType;
  BYTE                         byRes[3];
  NET_DVR_MOUNT_PARAM_UNION    uMountParam;
}NET_DVR_NAS_MOUNT_PARAM, *LPNET_DVR_NAS_MOUNT_PARAM;

Members

byNetDiskType
protocol of mount：0- reserved，1- NFS，2- SMB/CIFS
byRes
reserved, set to 0
uMountParam
union of NAS mount protocol

See Also

NET_DVR_MOUNTMETHOD_PARAM_UNION


NET_DVR_NAT_CFG

Structure of UPNP configuration

struct{
  DWORD               dwSize;
  WORD                wEnableUpnp;
  WORD                wEnableNat;
  NET_DVR_IPADDR      struIpAddr;
  NET_DVR_NAT_PORT    struHttpPort;
  NET_DVR_NAT_PORT    struCmdPort;
  NET_DVR_NAT_PORT    struRtspPort;
  BYTE                byFriendName[64];
  BYTE                byNatType;
  BYTE                byRes1[3];
  NET_DVR_NAT_PORT    struHttpsPort;
  BYTE                byRes[76];
}NET_DVR_NAT_CFG, *LPNET_DVR_NAT_CFG;

Members

dwSize
Structure size
wEnableUpnp
Whether enable UPNP or not: 0- no, 1- yes
wEnableNat
Whether enable UPNP port mapping (NAT) function: 0- no, 1- yes
struIpAddr
LAN IP address of NAT router
struHttpPort
Web server http port mapping configuration
struCmdPort
Command port mapping configuration (default: 8000)
struRtspPort
RTSP port mapping configuration
byFriendName
The service name
byNatType
Mapping mode of UPNP port: 0- manual, 1- auto
byRes1
Reserved, please set to 0
struHttpsPort
HTTP port mapping configuration
byRes
Reserved, please set to 0

Remarks

It supported to select the port mapping mode (byNatType) to auto or manual. When you select Auto, the mapping ports can be automatically assigned by the router. When you select Manual, you can edit the mapping ports.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_NAT_PORT

Structure of the port mapping configuration.

struct{
  WORD    wEnable;
  WORD    wExtPort;
  BYTE    byRes[12];
}NET_DVR_NAT_PORT, *LPNET_DVR_NAT_PORT;

Members

wEnable
Whether enable the mapping: 0- no, 1- yes
wExtPort
The mapped external port number
byRes
Reserved, please set to 0

See Also

NET_DVR_NAT_CFG


NET_DVR_NET_DISK_SERACH_PARAM

Structure of NAS directory searching condition

struct{
  NET_DVR_IPADDR    struIP;
  WORD              wPort;
  BYTE              byRes[10];
}NET_DVR_NET_DISK_SERACH_PARAM,*LPNET_DVR_NET_DISK_SERACH_PARAM;

Members

struIP
IP address of NAS
wPort
Port number
byRes
Reserved, please set to 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_NET_DISK_SERACH_RET

Structure of NAS directory

struct{
  BYTE    byDirectory[128];
  BYTE    byRes[20];
}NET_DVR_NET_DISK_SERACH_RET,*LPNET_DVR_NET_DISK_SERACH_RET;

Members

byDirectory
The NAS directory
byRes
Reserved, please set to 0

See Also

NET_DVR_GetNextRemoteConfig


NET_DVR_NET_DISKCFG

Structure of network hard disk configuration.

struct{
  DWORD                          dwSize;
  NET_DVR_SINGLE_NET_DISK_INFO   struNetDiskParam[MAX_NET_DISK];
}NET_DVR_NET_DISKCFG,*LPNET_DVR_NET_DISKCFG;

Members

dwSize
Structure size
struNetDiskParam
Parameters of single network hard disk

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_NET_DISKCFG_V40

The structure of network HDD parameters

struct{
  DWORD                              dwSize;
  NET_DVR_SINGLE_NET_DISK_INFO_V40   struNetDiskParam[MAX_NET_DISK];
}NET_DVR_NET_DISKCFG_V40,*LPNET_DVR_NET_DISKCFG_V40;

Members

dwSize
The size of the structure
struNetDiskParam
Single network HDD parameters

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_NETAPPCFG

Structure of NTP/DDNS.

struct{
  DWORD               dwSize;
  char                sDNSIp[16];
  NET_DVR_NTPPARA     struNtpClientParam;
  NET_DVR_DDNSPARA    struDDNSClientParam;
  BYTE                res[464];
}NET_DVR_NETAPPCFG,*LPNET_DVR_NETAPPCFG;

Members

dwSize
Structure size
sDNSIp
Address of DNS server
struNtpClientParam
NTP parameters
dwAuxSwitchTime
DDNS parameters
res
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_NETCFG

Structure of network configuration.

struct{
  DWORD                dwSize;
  NET_DVR_ETHERNET     struEtherNet[MAX_ETHERNET];
  char                 sManageHostIP[16];
  WORD                 wManageHostPort;
  char                 sIPServerIP[16];
  char                 sMultiCastIP[16];
  char                 sGatewayIP[16];
  char                 sNFSIP[16];
  BYTE                 sNFSDirectory[PATHNAME_LEN];
  DWORD                dwPPPOE;
  BYTE                 sPPPoEUser[NAME_LEN];
  char                 sPPPoEPassword[PASSWD_LEN];
  char                 sPPPoEIP[16];
  WORD                 wHttpPort;
}NET_DVR_NETCFG,*LPNET_DVR_NETCFG;

Members

dwSize
Structure size
struEtherNet
Port of Ethernet
sManageHostIP
IP of remote manage host
wManageHostPort
Port NO. of remote manage host
sIPServerIP
IP of IPServer
sMultiCastIP
IP of multicast group
sGatewayIP
IP address of gateway
sNFSIP
IP of NFS host
sNFSDirectory
NFS directory
dwPPPOE
0- disable, 1- enable
sPPPoEUser
PPPoE username
sPPPoEPassword
PPPoE password
sPPPoEIP
IP of PPPoE (read-only)
wHttpPort
Port NO. of HTTP

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_ETHERNET


NET_DVR_NETCFG_MULTI

Structure of multi-network-card configuration.

struct{
  DWORD                    dwSize;
  BYTE                     byDefaultRoute;
  BYTE                     byNetworkCardNum;
  BYTE                     byRes[2];
  NET_DVR_ETHERNET_MULTI   struEtherNet[MAX_NETWORK_CARD];
  NET_DVR_IPADDR           struManageHost1IpAddr;
  NET_DVR_IPADDR           struManageHost2IpAddr;
  NET_DVR_IPADDR           struAlarmHostIpAddr;
  WORD                     wManageHost1Port;
  WORD                     wManageHost2Port;
  WORD                     wAlarmHostIpPort;
  BYTE                     byIpResolver[MAX_DOMAIN_NAME];
  WORD                     wIpResolverPort;
  WORD                     wDvrPort;
  WORD                     wHttpPortNo;
  BYTE                     byRes2[6];
  NET_DVR_IPADDR           struMulticastIpAddr;
  NET_DVR_PPPOECFG         struPPPoE;
  BYTE                     byRes3[24];
}NET_DVR_NETCFG_MULTI,*LPNET_DVR_NETCFG_MULTI;

Members

dwSize
Structure size
byDefaultRoute
Default route. 0 means struEtherNet[0], 1 means struEtherNet[1]
byNetworkCardNum
The number of network cards supported actually by the device
byRes
Reserved, please set to 0
struEtherNet
Ethernet port
struManageHost1IpAddr
IP address of main management host
struManageHost2IpAddr
IP address of auxiliary management host
struAlarmHostIpAddr
IP address of alarm host
wManageHost1Port
Port number of main management host
wManageHost2Port
Port number of auxiliary management host
wAlarmHostIpPort
Port number of alarm host
byIpResolver
Domain name or IP address of IP resolver
wIpResolverPort
Port number of IP resolver
wDvrPort
Communication port, default: 8000
wHttpPortNo
HTTP port number
byRes2
Reserved, please set to 0
struMulticastIpAddr
Multicast IP address
struPPPoE
PPPoE parameter
byRes3
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_NETCFG_OTHER

Structure of network configuration for multi-channel decoder.

struct{
  DWORD    dwSize;
  char     sFirstDNSIP[16];
  char     sSecondDNSIP[16];
  char     sRes[32];
}NET_DVR_NETCFG_OTHER,*LPNET_DVR_NETCFG_OTHER;

Members

dwSize
Structure size
sFirstDNSIP
IP address of main DNS
sSecondDNSIP
IP address of aux DNS
sRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_NETCFG_V30

Structure of network configuration.

struct{
  DWORD                    dwSize;
  NET_DVR_ETHERNET_V30     struEtherNet[MAX_ETHERNET];
  NET_DVR_IPADDR           struRes1[2];
  NET_DVR_IPADDR           struAlarmHostIpAddr;
  BYTE                     wRes2[4];
  WORD                     wAlarmHostIpPort;
  BYTE                     byUseDhcp;
  BYTE                     byIPv6Mode;
  NET_DVR_IPADDR           struDnsServer1IpAddr;
  NET_DVR_IPADDR           struDnsServer2IpAddr;
  BYTE                     byIpResolver[MAX_DOMAIN_NAME];
  WORD                     wIpResolverPort;
  WORD                     wHttpPortNo;
  NET_DVR_IPADDR           struMulticastIpAddr;
  NET_DVR_IPADDR           struGatewayIpAddr;
  NET_DVR_PPPOECFG         struPPPoE;
  BYTE                     byRes[64];
}NET_DVR_NETCFG_V30,*LPNET_DVR_NETCFG_V30;

Members

dwSize
Structure size
struEtherNet
Ethernet
struRes1
Reserved, please set it to 0
struAlarmHostIpAddr
IP of alarm host
byRes2
Reserved, please set it to 0
wAlarmHostIpPort
Port number of alarm host
byUseDhcp
Whether to enable DHCP: 0xff- invalid, 0- disable, 1- enable
byIPv6Mode
IPv6 allocation scheme:0- router dvertisement, 1- manual, 2- enable DHCP
struDnsServer1IpAddr
IP of domain name server 1
struDnsServer2IpAddr
IP of domain name server 2
byIpResolver
Domain name or IP address of IP resolver (8000 series devices don't support domain name)
wIpResolverPort
Port number of IP resolver
wHttpPortNo
Port number of HTTP
struMulticastIpAddr
IP of multicast group
struGatewayIpAddr
IP address of gateway
struPPPoE
PPPoE parameters
byRes
Reserved, please set it to 0

Remarks

For the device which network protocol is below v3.0, such as DS-80xx series DVR, the parameter byUseDhcp is 0xff- invalid. If set its IP to null, the device will get DHCP automaticly.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_NETCFG_V50

Network configuration structure

struct{
  DWORD                    dwSize;
  NET_DVR_ETHERNET_V30     struEtherNet[MAX_ETHERNET];
  NET_DVR_IPADDR           struRes1[2];
  NET_DVR_IPADDR           struAlarmHostIpAddr;
  BYTE                     byRes2[4];
  WORD                     wAlarmHostIpPort;
  BYTE                     byUseDhcp;
  BYTE                     byIPv6Mode;
  NET_DVR_IPADDR           struDnsServer1IpAddr;
  NET_DVR_IPADDR           struDnsServer2IpAddr;
  BYTE                     byIpResolver[MAX_DOMAIN_NAME];
  WORD                     wIpResolverPort;
  WORD                     wHttpPortNo;
  NET_DVR_IPADDR           struMulticastIpAddr;
  NET_DVR_IPADDR           struGatewayIpAddr;
  NET_DVR_PPPOECFG         struPPPoE;
  BYTE                     byEnablePrivateMulticastDiscovery;
  BYTE                     byEnableOnvifMulticastDiscovery;
  WORD                     wAlarmHost2IpPort;
  NET_DVR_IPADDR           struAlarmHost2IpAddr;
  BYTE                     byEnableDNS;
  BYTE                     byRes[599];
}NET_DVR_NETCFG_V50,*LPNET_DVR_NETCFG_V50;

Members

dwSize
Structure size
struEtherNet
Ethernet port
struRes1
Reserved, set as 0
struAlarmHostIpAddr
Alarm host IP address
byRes2
Reserved, set as 0
wAlarmHostIpPort
Alarm host port No.
byUseDhcp
Whether to enable DHCP: 0xff- invalid; 0- disable, 1- enable
byIPv6Mode
IPv6 mode: 0- routing notice, 1- manual setting, 2- enable DHCP
struDnsServer1IpAddr
Domain name server 1 IP address
struDnsServer2IpAddr
Domain name server 2 IP address
byIpResolver
IP resolving server domain name or IP address (8000 device does not support domain name)
wIpResolverPort
IP resolving server port No.
wHttpPortNo
HTTP port No.
struMulticastIpAddr
Multi-cast group address
struGatewayIpAddr
Gateway address
struPPPoE
PPPoE parameter
byEnablePrivateMulticastDiscovery
Private multi-cast search (SADP): 0- default, 1- enable, 2- disable
byEnableOnvifMulticastDiscovery
Onvif multi-cast search (SADP): 0- default, 1- enable, 2- disable
wAlarmHost2IpPort
Alarm host 2 port No.
struAlarmHost2IpAddr
Alarm host 2 IP address
byEnableDNS
Enable manual setting DNS server address: 0- auto, 1- manual
byRes
Reserved, set as 0

Remarks

  • For device of 3.0 protocol or below, invalid when byUseDhcp=0xff, leave its IP address blank and the device will automatically get DHCP.
  • When byIPv6Mode is set as 0- routing notice or 2- enable DHCP, there is no need to set IPv6 address in struEtherNet, it will be obtained automatically by the device; when byIPv6Mode is set as 1- manual setting, set the IPv6 in struEtherNet. For multi-IPv6 address, the IPv6 address of current logged-in device may not be consistent with that in struEtherNet.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

Structure extension from

NET_DVR_NETCFG


NET_DVR_NETPARAM

Structure of network configuration information

struct{
  DWORD                      dwSize;
  NET_DVR_SINGLE_NETPARAM    struEtherNet[MAX_ETHERNET];
  BYTE                       byRes[64];
}NET_DVR_NETPARAM,*LPNET_DVR_NETPARAM;

Members

dwSize
Structure size
struEtherNet
Ethernet port information
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_NETSIGNAL_INFO

Structure of single network signal source information

struct{
  DWORD                    dwSize;
  BYTE                     byDevName[NAME_LEN];
  NET_DVR_PU_STREAM_CFG    struPuStream;
  BYTE                     byValid;
  BYTE                     byRes1[3];
  BYTE                     sGroupName[NAME_LEN];
  BYTE                     byRes2[28];
}NET_DVR_NETSIGNAL_INFO,*LPNET_DVR_NETSIGNAL_INFO;

Members

dwSize
Structure size
byDevName
The name of the network signal source
struPuStream
The information of network signal source, if byValid of struPuStream.struStreamMediaSvrCfg is 0, it uses the parameters of struPuStream.struDevChanInfo to be network signal source parameters
byValid
Whether the network signal source is valid or not: 0- invalid, please set the value to 0 if want to delete the signal source; 1- valid, please set the value to 1 if want to add or modify the signal source
byRes1
Reserved, please set to 0
sGroupName
The name of the group that the network signal source belongs to, the network signal source is classified by the group name
byRes2
Reserved, please set to 0

See Also

NET_DVR_AddNetSignal

NET_DVR_NETSIGNALDEV_INFO


NET_DVR_NETSIGNALDEV_INFO

Structure of network signal source information

struct{
  NET_DVR_NETSIGNAL_INFO    struDevInfo;
  BYTE                      byRes[816];
}NET_DVR_NETSIGNALDEV_INFO,*LPNET_DVR_NETSIGNALDEV_INFO;

Members

struDevInfo
Network signal source information
byRes
Reserved

See Also

NET_DVR_DIFFDEV_INFO


NET_DVR_NETWORK_BONDING

Structure of BONDING network-card configuration.

struct{
  DWORD                dwSize;
  BYTE                 byEnable;
  BYTE                 byNum;
  BYTE                 byRes1[2];
  NET_DVR_ONE_BONDING  struOneBond[MAX_BOND_NUM];
  BYTE                 byRes2[40];
}NET_DVR_NETWORK_BONDING,*LPNET_DVR_NETWORK_BONDING;

Members

dwSize
Structure size
byEnable
Enable bonding or not
byNum
The number of bonding network cards
byRes1
Reserved
struOneBond
Configuration of single BONDING network card
byRes2
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_NFSCFG

Structure of network file system configuration.

struct{
  DWORD                   dwSize;
  NET_DVR_SINGLE_NFS      struNfsDiskParam[MAX_NFS_DISK];
}NET_DVR_NFSCFG, *LPNET_DVR_NFSCFG;

Members

dwSize
Structure size
struNfsDiskParam
Sub structure of NFS configuration

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Remarks

The modification of NFS parameters is valid after rebooting the device.


NET_DVR_NOAMAL_SUB_SYSTEM

Sub-system information structure

struct{
  DWORD    dwBeJoinedSubSystem;
  BYTE     byRes[16];
}NET_DVR_NOAMAL_SUB_SYSTEM,*LPNET_DVR_NOAMAL_SUB_SYSTEM;

Members

dwBeJoinedSubSystem
Means which public sub-systems to be linked, indicated by bit, bit0==1 means the sub-system is linked to public sub-system1, bit1==1 means the sub-system is linked to public sub-system2, and so forth
byRes
Reserved

See Also

NET_DVR_JOINT_SUB_SYSTEM


NET_DVR_NOISEREMOVE

Structure of digital noise reduction configuration.

struct{
  BYTE       byDigitalNoiseRemoveEnable;
  BYTE       byDigitalNoiseRemoveLevel;
  BYTE       bySpectralLevel;
  BYTE       byTemporalLevel;
  BYTE       byDigitalNoiseRemove2DEnable;
  BYTE       byDigitalNoiseRemove2DLevel;
  BYTE       byRes[2];
}NET_DVR_NOISEREMOVE, *LPNET_DVR_NOISEREMOVE;

Members

byDigitalNoiseRemoveEnable
Digital noise reduction: 0- disable, 1- normal mode, 2- expert mode
byDigitalNoiseRemoveLevel
Digital noise reduction level of normal mode: 0x0~0xF
bySpectralLevel
Spatial strength of expert mode, value range: 0~100
byTemporalLevel
Temporal strength of expert mode, value range: 0~100
byDigitalNoiseRemove2DEnable
2D noise reduction of snapshot frame: 0- disable, 1- enable, valid for intelligent traffic camera
byDigitalNoiseRemove2DLevel
Reserved, please set it to 0
byRes
Reserved, please set it to 0

See Also

NET_DVR_CAMERAPARAMCFG


NET_DVR_NORMAL_SCHEDTIME

Arming schedule parameters structure

struct{
  NET_DVR_SCHEDTIME    struTime;
  BYTE                 byAlarmType;
  BYTE                 byRes[3];
}NET_DVR_NORMAL_SCHEDTIME,*LPNET_DVR_NORMAL_SCHEDTIME;

Members

struTime
Arming schedule start time and end time
byAlarmType
Arming type:0- Away arming, 1- Stay arming, 2- Instant arming，3-Disarming
byRes
Reserved, set as 0.

See Also

NET_DVR_SUBSYSTEM_ALARM


NET_DVR_NOTICE_DATA

The structure for sending notice data.

struct{
  DWORD                 dwSize;
  NET_DVR_TIME_EX       struTime;
  BYTE                  byNoticeNumber[MAX_NOTICE_NUMBER_LEN];
  BYTE                  byNoticeTheme[MAX_NOTICE_THEME_LEN];
  BYTE                  byNoticeDetail[MAX_NOTICE_DETAIL_LEN];
  BYTE                  byLevel;
  BYTE                  byPicNum;
  BYTE                  byRes1[2];
  NET_DVR_NOTICE_PIC    struNoticePic[MAX_NOTICE_PIC_NUM];
  BYTE                  byRes2[128];
}NET_DVR_NOTICE_DATA, *LPNET_DVR_NOTICE_DATA;

Members

dwSize
Structure size.
struTime
Notice time.
byNoticeNumber
Notice number.
byNoticeTheme
Notice theme.
byNoticeDetail
Notice details.
byLevel
Notie type: 1- advertising information, 2- property information, 3- alarm information, 4- notification information.
byPicNum
Picture amount of the notice.
byRes1
Reserved, set as 0.
struNoticePic
Picture information of the notice.
byRes2
Reserved, set as 0.

Remarks

The ability of notice data sending corresponds to the node <NoticeData> of the capability set of the IP-based video intercom controller (interface: NET_DVR_GetDeviceAbility, and the capability set type: IP_VIEW_DEV_ABILITY).

See Also

NET_DVR_RemoteControl


NET_DVR_NOTICE_PIC

Notice picture information structure

struct{
  BYTE     *pPicData;
  DWORD    dwPicDataLen;
  BYTE     byRes[32];
 }NET_DVR_NOTICE_PIC,*LPNET_DVR_NOTICE_PIC;

Members

pPicData
Buffer pointer, save picture data (max length of single picture is 512KB, jpeg format by default)
dwPicDataLen
Picture data length
byRes
Reserved, set as 0

See Also

NET_DVR_NOTICE_DATA


NET_DVR_NOTICEDATA_RECEIPT_INFO

Announcement Reading Receipt Information Structure

struct{
  BYTE    byNoticeNumber[MAX_NOTICE_NUMBER_LEN];
  BYTE    byRes[224];
}NET_DVR_NOTICEDATA_RECEIPT_INFO, *LPNET_DVR_NOTICEDATA_RECEIPT_INFO;

Members

byNoticeNumber
Announcement No.
byRes
Reserved, set as 0.

See Also

NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON


NET_DVR_NPO_DEV_INFO_UNION

The union of N+1 mode device information

struct{
  BYTE                             byUnionLen[512];
  NET_DVR_WORKING_DEVICE_INFO      struWorkingDeviceInfo;
  NET_DVR_REDUNDANT_DEVICE_INFO    struRedundantDeviceInfo;
}NET_DVR_NPO_DEV_INFO_UNION, *LPNET_DVR_NPO_DEV_INFO_UNION;

Members

byUnionLen
The size of the union, 512 bytes
struWorkingDeviceInfo
Working device information
struRedundantDeviceInfo
Standby device information

See Also

NET_DVR_N_PLUS_ONE_DEVICE_INFO


NET_DVR_NPO_PARAM_UNION

Device parameters union of N+1 mode

struct{
  BYTE                 byUnionLen[128];
  NET_DVR_ADD_PARAM    struAddParam;
  NET_DVR_DEL_PARAM    struDelParam;
}NET_DVR_NPO_PARAM_UNION, *LPNET_DVR_NPO_PARAM_UNION;

Members

byUnionLen
Union length,128 bytes
struAddParam
Add devices
struDelParam
Delete devices

See Also

NET_DVR_N_PLUS_ONE_DEVICE_PARAM


NET_DVR_NTPPARA

Structure of NTP.

struct{
  BYTE           sNTPServer[64];
  WORD           wInterval;
  BYTE           byEnableNTP;
  signed char    cTimeDifferenceH;
  signed char    cTimeDifferenceM;
  BYTE           res1;
  WORD           wNtpPort;
  BYTE           res2[8];
}NET_DVR_NTPPARA,*LPNET_DVR_NTPPARA;

Members

sNTPServer
Domain name or IP address of NTP server
wInterval
Interval of timing (hour)
byEnableNTP
Enable NTP timing or not: 0- no,1- yes
cTimeDifferenceH
Time difference with international standard time (hour), value: -12 ... +13
cTimeDifferenceM
Time difference with international standard time (minute), value: 0, 30, 45
res1
Reserved, please set it to 0
wNtpPort
Port of NTP server, default value is 123, can be set to other values.
res2
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_OBJECT_COLOR

Object (e.g. coat and hat) color property structure

struct{
  DWORD                         dwSize;
  BYTE                          byEnable;
  BYTE                          byColorMode;
  BYTE                          byRes1[2];
  NET_DVR_OBJECT_COLOR_UNION    uObjColor;
  BYTE                          byRes2[64];
}NET_DVR_OBJECT_COLOR, *LPNET_DVR_OBJECT_COLOR;

Members

dwSize
Structure size
byEnable
Whether to enable the property: 0- disable, 1- enable
byColorMode
Color picking mode: 1- color value, 2- picture
byRes1
Reserved, set as 0
uObjColor
Object color complex, based on color picking mode (byColorMode)
byRes2
Reserved, set as 0

Remarks

Describe object (e.g. coat and hat) color in order to reduce the unrelated interference to the detection result, when the color picking mode is "picture", the device picks featured color value from picture. The picture size is recommended to be within 400*300 pixels.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_OBJECT_COLOR_COND

Object color condition structure

struct{
  DWORD     dwChannel;
  DWORD     dwObjType;
  BYTE      byRes[64];
}NET_DVR_OBJECT_COLOR_COND, *LPNET_DVR_OBJECT_COLOR_COND;

Members

dwChannel
Channel No.
dwObjType
Object type, see below for details:
enum _OBJECT_TYPE_ENUM_{
  ENUM_OBJECT_TYPE_COAT  = 1
}OBJECT_TYPE_ENUM
ENUM_OBJECT_TYPE_COAT
Coat
byRes
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_OBJECT_COLOR_UNION

Object color property complex

union{
  NET_DVR_COLOR    struColor;
  NET_DVR_PIC      struPicture;
  BYTE             byRes[64];
}NET_DVR_OBJECT_COLOR_UNION, *LPNET_DVR_OBJECT_COLOR_UNION;

Members

struColor
Color value, valid when picking by color
struPicture
Color picking reference picture, valid when picking by picture
byRes
Complex size, 64 bytes

See Also

NET_DVR_OBJECT_COLOR


NET_DVR_OIS_CFG

OIS configuration structure

struct{
  DWORD    dwSize;
  BYTE     byMode;
  BYTE     byOISLevel;
  BYTE     byOISSensitivity;
  BYTE     byRes[125];
}NET_DVR_OIS_CFG,*LPNET_DVR_OIS_CFG;

Members

dwSize
Structure size
byMode
OIS mode: 0- disable, 1- normal, 2- expert
byOISLevel
OIS level: 0- low, 1- medium, 2- high
byOISSensitivity
OIS sensitivity: 0- low, 1- medium, 2- high
byRes
Reserved, set as 0

Remarks

  • Whether the device supports OIS or supported capability, can be determined through device capability set (OIS), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_OIS_CAPABILITIES.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ONE_AID_RULE

Structure of single traffic event rule.

struct{
  BYTE                          byEnable;
  BYTE                          byRes1[3];
  BYTE                          byRuleName[NAME_LEN];
  DWORD                         dwEventType;
  NET_VCA_SIZE_FILTER           struSizeFilter;
  NET_VCA_POLYGON               struPolygon;
  NET_DVR_AID_PARAM             struAIDParam;
  NET_DVR_SCHEDTIME             struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];
  NET_DVR_HANDLEEXCEPTION_V30   struHandleType;
  BYTE                          byRelRecordChan[MAX_CHANNUM_V30];
}NET_DVR_ONE_AID_RULE,*LPNET_DVR_ONE_AID_RULE;

Members

byEnable
Enable event rule or not: 0- disable, none 0- enable
byRes1
Reserved, please set to 0
byRuleName
Rule name
dwEventType
Traffic event detection type, details defined as below:
enum _TRAFFIC_AID_TYPE_{
  CONGESTION   = 0x1,
  PARKING      = 0x2,
  INVERSE      = 0x4,
  PEDESTRIAN   = 0x8,
  DEBRIS       = 0x10,
  SMOG         = 0x20,
}TRAFFIC_AID_TYPE
CONGESTION
Congestion
PARKING
Parking
INVERSE
Inverse
PEDESTRIAN
Pedestrian
DEBRIS
Debris
SMOG
Smog
struSizeFilter
Size filter
struPolygon
Rule region
struAIDParam
Traffic event parameter
struAlarmTime
Time parameter of fortification
struHandleType
Handling type
byRelRecordChan
Whether alarm triggers the channel to record, 1- trigger, 0- not trigger

See Also

NET_VCA_SIZE_FILTER NET_VCA_POLYGON NET_DVR_AID_PARAM
NET_DVR_SCHEDTIME NET_DVR_HANDLEEXCEPTION_V30
NET_DVR_AID_RULECFG


NET_DVR_ONE_BONDING

Structure of single BONDING network card configuration.

struct{
  BYTE                 byMode;
  BYTE                 byUseDhcp;
  BYTE                 byMasterCard;
  BYTE                 byStatus;
  BYTE                 byBond[MAX_NETWORK_CARD];
  NET_DVR_ETHERNET_V30 struEtherNet;
  NET_DVR_IPADDR       struGatewayIpAddr;
  BYTE                 byRes[20];
}NET_DVR_ONE_BONDING,*LPNET_DVR_ONE_BONDING;

Members

byMode
Work mode: 0 - network fault tolerance, 1 - load balancing
byUseDhcp
Enable dhcp or not
byMasterCard
Assign which network card to be master card
byStatus
BONDING status: 0 - exception, 1- normal. It is read only, and it is not supported to modify.
byBond
byBond[0]== 1 means to use eh0, byBond[0]== 0 means not to use eh0
struEtherNet
Ethernet parameter
struGatewayIpAddr
IP address of Gateway
byRes
Reserved

See Also

NET_DVR_NETWORK_BONDING


NET_DVR_ONE_LANE

Structure of single lane rule configuration.

struct{
  BYTE                  byEnable;
  BYTE                  byRes1[11];
  BYTE                  byLaneName[NAME_LEN];
  NET_DVR_DIRECTION     struFlowDirection;
  NET_VCA_POLYGON       struPolygon;
}NET_DVR_ONE_LANE, *LPNET_DVR_ONE_LANE;

Members

byEnable
Enable the lane or not
byRes1
Reserved, please set to 0
byLaneName
Lane rule name
struFlowDirection
Flow direction in the lane
struPolygon
Lane region

See Also

NET_DVR_DIRECTION NET_VCA_POLYGON
NET_DVR_LANE_CFG


NET_DVR_ONE_LINK

Information structure of the client connecting to device.

struct{
  NET_DVR_IPADDR     struIP;
  LONG               lChannel;
  BYTE               byRes[32];
}NET_DVR_ONE_LINK, *LPNET_DVR_ONE_LINK;

Members

struIP
Client IP
Channel
Channel number
byRes
Reserved

See Also

NET_DVR_LINK_STATUS


NET_DVR_ONE_OUTPUT_SCH_RULECFG_V40

Device Network SDK Programming Manual

NET_DVR_OUTPUT_SCHEDULE_RULECFG_V40

Single time control output rule configuration structure

struct{
  DWORD                                   dwSize;
  NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40    struOutputRule;
  BYTE                                    byRes[256];
}NET_DVR_ONE_OUTPUT_SCH_RULECFG_V40,*LPNET_DVR_ONE_OUTPUT_SCH_RULECFG_V40;

Members

dwSize
Structure size
struOutputRule
Rule configuration, up to 8 date periods
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40

Time control output rule structure

struct{
  BYTE                       byEnable;
  BYTE                       byRes1[3];
  NET_DVR_SCHEDDATE          struDate;
  NET_DVR_OUTPUT_SCHEDULE    struOutputSchedule[MAX_TIMESEGMENT_V30];
  BYTE                       byTriggerIndex[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE                       byRes2[64];
}NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40,*NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40;

Members

byEnable
Enable the rule? 0- No, 1- Yes
byRes1
Reserved, set as 0.
struDate
Date, XX(month)XX(day) to XX(month)XX(day)
struOutputSchedule
Time control output schedule, max. 8 segments
byTriggerIndex
Trigger, the subscript indicates the trigger No., value: 0- Disable, 1- Enable
byRes2
Reserved, set as 0.

Remarks

See Also

NET_DVR_OUTPUT_SCHEDULE_RULECFG_V40


NET_DVR_ONE_TPS_RULE

Structure of single traffic event rule.

struct{
  BYTE                          byEnable;
  BYTE                          byLaneID;
  BYTE                          byRes1[2];
  DWORD                         dwCalcType;
  NET_VCA_SIZE_FILTER           struSizeFilter;
  NET_VCA_POLYGON               struVitrualLoop;
  NET_DVR_SCHEDTIME             struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];
  NET_DVR_HANDLEEXCEPTION_V30   struHandleType;
  BYTE                          byRes2[20];
}NET_DVR_ONE_TPS_RULE,*LPNET_DVR_ONE_TPS_RULE;

Members

byEnable
Enable lane traffic rule or not
byLaneID
Lane ID
byRes1
Reserved, please set to 0
dwCalcType
Statistics parameter type
enum _ITS_TPS_TYPE_{
  LANE_VOLUME             = 0x1,
  LANE_VELOCITY           = 0x2,
  TIME_HEADWAY            = 0x4,
  SPACE_HEADWAY           = 0x8,
  TIME_OCCUPANCY_RATIO    = 0x10,
  SPACE_OCCUPANCY_RATIO   = 0x20,
  QUEUE                   = 0x40
}ITS_TPS_TYPE
LANE_VOLUME
Lane traffic flow
LANE_VELOCITY
Lane velocity
TIME_HEADWAY
Time headway
SPACE_HEADWAY
Space headway
TIME_OCCUPANCY_RATIO
Time occupancy rate
SPACE_OCCUPANCY_RATIO
Space occupancy rate, percentage
QUEUE
Queue length
struSizeFilter
Size filter
struVitrualLoop
Virtual loops, same to sense coil, the most suitable value is larger than half of vehicle length and shoter than vehicle length
struAlarmTime
Time parameter of fortification
struHandleType
Handling type, generally to set whether upload to management center
byRes2
Reserved, please set to 0

See Also

NET_VCA_SIZE_FILTER NET_VCA_POLYGON
NET_DVR_SCHEDTIME NET_DVR_HANDLEEXCEPTION_V30
NET_DVR_TPS_RULECFG


NET_DVR_ONEKEY_PUBLISH_CFG

One-click publishing video configuration structure

struct{
  DWORD                          dwSize;
  BYTE                           byUseDefine;
  BYTE                           byRes1[3];
  NET_DVR_RECORD_PUBLISH_INFO    struChanPublish[MAX_CHANNUM_V30];
  NET_DVR_RECORD_PUBLISH_INFO    struDirectChanPublish;
  NET_DVR_TIME_EX                struStartTime;
  NET_DVR_TIME_EX                struEndTime;
  BYTE                           byRes[64];
 }NET_DVR_ONEKEY_PUBLISH_CFG,*LPNET_DVR_ONEKEY_PUBLISH_CFG;

Members

dwSize
Structure size
byUseDefine
Whether to use custom: 0- use default publishing configuration information, 1- use custom publishing configuration information
byRes1
Reserved, set as 0
struChanPublish
Channel video publish information, number array subscript corresponds to channel No., e.g., struChanPublish[0] means the video publish information corresponding to channel 1
struDirectChanPublish
Directed channel video publishing information
struStartTime
Course start time
struEndTime
Course end time
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ONLINE_LOCAL_CONTROLLER_CFG

Distributed access controller information structure

struct{
  DWORD            dwSize;
  BYTE             byLocalControllerName[LOCAL_CONTROLLER_NAME_LEN];
  WORD             wLocalControllerID;
  WORD             wDevPort;
  NET_DVR_IPADDR   struDevIP;
  NET_DVR_IPADDR   struSubnetMask;
  NET_DVR_IPADDR   struGateway;
  BYTE             bySearchProgress;
  BYTE             byEffectData;
  BYTE             byRes[302];
}NET_DVR_SADPINFO,*LPNET_DVR_SADPINFO;

Members

dwSize
Structure size
byLocalControllerName
Distributed access controller name
wLocalControllerID
Distributed access controller No.
wDevPort
Device port No.
struDevIP
Device IP address
struSubnetMask
Device subnet mask
struGateway
Device network gateway
bySearchProgress
Search progress, 0- not started, 100- sync finished
byEffectData
Whether valid data, 0- valid, 1- device only returns search progress as heartbeat packet
byRes
Reserved, set as 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_ONLINE_USER_INFO

Structure for online users information.

struct{
  DWORD    dwSize;
  WORD     wOnlineUserCount;
  BYTE     byRes[514];
}NET_DVR_ONLINE_USER_INFO, *LPNET_DVR_ONLINE_USER_INFO;

Members

dwSize
Structure size
wOnlineUserCount
Online user number
byRes
Reserved, set as 0.

Remarks

  • According to the capability set, you can understand whether the supports searching the online user information or not. Corresponding CVR capability set (CVRAbility ), Relevant interface: NET_DVR_GetDeviceAbility, Capability set type: DEVICE_ABILITY_INFO, Node: <OnlineUser>.

See Also

NET_DVR_GetDVRConfig


NET_DVR_ONLINEUSER_COND

User online information query condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[128];
}NET_DVR_ONLINEUSER_COND, *LPNET_DVR_ONLINEUSER_COND;

Members

dwSize
Structure size
dwChannel
Channel No. (Network camera is 1 in default)
byRes
Reserved, set as 0.

Remarks

  • Check whether the device supports this function via the device capability(BasicCapability)，API:NET_DVR_GetDeviceAbility，capability type：DEVICE_SOFTHARDWARE_ABILITY，node：<isSupportOnLineUser>.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_OPERATE_ARRAY_PARAM

Structure of array operation parameter.

struct{
  BYTE   byRaidMode;
  BYTE   byPDCount;
  WORD   wArrayID;
  WORD   wPDSlots[SUPPORT_PD_NUM];
  BYTE   byName[MAX_NAMELEN];
  BYTE   byInitMode;
  BYTE   byRes2[19];
}NET_DVR_OPERATE_ARRAY_PARAM, *LPNET_DVR_OPERATE_ARRAY_PARAM;

Members

byRaidMode
RAID type when creating or migrating the array
byPDCount
The number of physical disks
wArrayID
Array ID type when migrating or rebuilding the array
wPDSlots
The slot number of physical disk
byName
Array name
byInitMode
Initialization mode: 0- quick initialization, 1- full initialization(front ground), 2- full initialization(back ground), 3- none initialization
byRes2
Reserved, please set to 0

Remarks


NET_DVR_OPERATE_DEVICE

Structure of device upgrade operation parameter

struct{
  DWORD    dwSize;
  DWORD    dwSubCommand;
  BYTE     sDeviceID[DVCS_DEVICEID_LEN];
  BYTE     byRes[32];
}NET_DVR_OPERATE_DEVICE,*LPNET_DVR_OPERATE_DEVICE;

Members

dwSize
Structure size
dwSubCommand
Command: 1- start the upgrade, 2- stop the upgrade
sDeviceID
Device ID identifier
byRes
Reserved, please set to 0

See Also

NET_DVR_StartUpgrade


NET_DVR_OPERATE_USER

Structure of operator user configuration.

struct{
  DWORD              dwSize;
  BYTE               sUserName[NAME_LEN];
  BYTE               sPassword[PASSWD_LEN];
  BYTE               byAlarmOnArea[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE               byAlarmOffArea[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE               byBypassArea[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE               byRes[560];
}NET_DVR_OPERATE_USER,*LPNET_DVR_OPERATE_USER;

Members

dwSize
Structure size
sUserName
User name
sPassword
Password
byAlarmOnArea
Arming authority of defense zone, it supports 512 zones, indicated by subscript. 0 - no authority, 1 - privileged
byAlarmOffArea
Disarming authority of defense zone, it supports 512 zones, indicated by subscript. 0 - no authority, 1 - privileged
byBypassArea
Defense zone bypass authority, it supports 512 zones, indicated by subscript. 0 - no authority, 1 - privileged
byRes
Reserved

See Also

NET_DVR_GetOperateUser NET_DVR_SetOperateUser


NET_DVR_OPERATE_VD_PARAM

Structure of virtual disk parameter.

struct{
  WORD    wArrayID;
  BYTE    bySlot;
  BYTE    byInitType;
  DWORD   dwHCapacity;
  DWORD   dwLCapacity;
  BYTE    byName[MAX_NAMELEN];
  BYTE    byRes[16];
}NET_DVR_OPERATE_VD_PARAM, *LPNET_DVR_OPERATE_VD_PARAM;

Members

wArrayID
RAID ID
bySlot
Assigned slot to create a virtual disk
byInitType
Initialization type when creating virtual disk: 0- fast, 1- foreground, 2- background
dwHCapacity
Higher 32 bits of the vitual disk size
dwLCapacity
Lower 32 bits of the virtual disk size
byName
Virtual disk name
byRes
Reserved, please set to 0

Remarks


NET_DVR_OPTICAL_DEHAZE

Optical defog parameters structure

struct{
  BYTE    byEnable;
  BYTE    byRes[7];
}NET_DVR_OPTICAL_DEHAZE, *LPNET_DVR_OPTICAL_DEHAZE;

Members

byEnable
Enable optical defog? 0-No，1- Yes
byRes
Reserved

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_OSD_BATTERY_POWER_CFG

OSD battery voltage display parameters structure

struct{
  DWORD            dwSize;
  NET_VCA_POINT    struOSDBatteryPower;
  BYTE             byOSDBatteryPower;
  BYTE             byRes[63];
}NET_DVR_OSD_BATTERY_POWER_CFG, *LPNET_DVR_OSD_BATTERY_POWER_CFG;

Members

dwSize
Structure size
struOSDBatteryPower
OSD overlay upper-left coordinate
byOSDBatteryPower
Enable OSD overlay? 0- No, 1- Yes
byRes
Reserved, set as 0.

Remarks

  • Check whether the device supports battery voltage OSD overlay display via the device capability设备是否支持OSD电，the related capability(BatteryPowerOverlay)，API:NET_DVR_GetSTDAbility，capability type:NET_DVR_GET_OSD_BATTERY_POWER_CFG_CAPABILITIES。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_OSD_POSITION

Structure of OSD position information.

struct{
  BYTE      byPositionMode;
  BYTE      byRes1[3];
  DWORD     dwPosX;
  DWORD     dwPosY;
  BYTE      byRes2[8];
}NET_DVR_PACKAGE_LOCATION, *LPNET_DVR_PACKAGE_LOCATION;

Members

byPositionMode
Overlay mode: 0- don't display, 1- customized
byRes1
Reserved
dwPosX
X axis coordinate, used when the mode is customized
dwPosY
Y axis coordinate, used when the mode is customized
byRes2
Reserved


NET_DVR_OSDCFG

Structure of OSD parameter.

struct{
  DWORD    dwSize;
  BYTE     byValid;
  BYTE     byDispMode;
  BYTE     byFontColorY;
  BYTE     byFontColorU;
  BYTE     byFontColorV;
  BYTE     byBackColorY;
  BYTE     byBackColorU;
  BYTE     byBackColorV;
  WORD     wXCoordinate;
  WORD     wYCoordinate;
  WORD     wWidth;
  WORD     wHeight;
  DWORD    dwCharCnt;
  WORD     wOSDChar[MAX_OSDCHAR_NUM];
  BYTE     byRes[32];
}NET_DVR_OSDCFG,*LPNET_DVR_OSDCFG;

Members

dwSize
Structure size
byValid
Whether it is valid or not: 0- invalid, 1- valid
byDispMode
Diaplsy mode: 1-transparent, 2- translucent, 3- overlay
byFontColorY
Font color Y, value range: 0~255
byFontColorU
Font color U, value range: 0~255
byFontColorV
Font color V, value range: 0~255
byBackColorY
Background color Y, value range: 0~255
byBackColorU
Background color U, value range: 0~255
byBackColorV
Background color V, value range: 0~255
wXCoordinate
The X coodinate of the OSD upper left corner on the screen
wYCoordinate
The Y coodinate of the OSD upper left corner on the screen
wWidth
OSD width
wHeight
OSD heigth
dwCharCnt
The total number of OSD characters
wOSDChar
OSD character content
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_OUTDOOR_FENCE_DEVICEID

Outer door station No. parameter structure

struct{
  WORD    wPeriod;
  WORD    wDevIndex;
  BYTE    byRes[124];
 }NET_DVR_OUTDOOR_FENCE_DEVICEID,*LPNET_DVR_OUTDOOR_FENCE_DEVICEID;

Members

wPeriod
Project No., range:[0,9]
wDevIndex
Outer door station No., the No. of door station of each floor is unique, from 0
byRes
Reserved, set as 0

See Also

NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION


NET_DVR_OUTDOOR_UNIT_DEVICEID

Door station No. parameter structure

struct{
  WORD    wPeriod;
  WORD    wBuildingNumber;
  WORD    wUnitNumber;
  WORD    wFloorNumber;
  WORD    wDevIndex;
  BYTE    byRes[118];
 }NET_DVR_OUTDOOR_UNIT_DEVICEID,*LPNET_DVR_OUTDOOR_UNIT_DEVICEID;

Members

wPeriod
Project No., range:[0,9]
wBuildingNumber
Building No.
wUnitNumber
Unit No.
wFloorNumber
Floor No.
wDevIndex
Door station No., the No. of door station of each floor is unique, from 0
byRes
Reserved, set as 0

See Also

NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION


NET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG

Door Station/Outer Door Station/Villa Door Station/ Door Phone Operation Time Configuration Structure

struct{
  DWORD    dwMaxMessageTime;
  DWORD    dwMaxTalkTime;
  BYTE     byRes[120];
 }NET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG,*LPNET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG;

Members

dwMaxMessageTime
Max. messaging time, range [30,60], unit: second
dwMaxTalkTime
Max. talking time, range[90, 120], unit: second
byRes
Reserved, set as 0.

See Also

NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION


NET_DVR_OUTDOOR_UNIT_RELATEDEV

Door station/Outer door station/ Villa door station related network device configuration structure

struct{
  NET_DVR_IPADDR    struMainOutdoorUnit;
  NET_DVR_IPADDR    struManageUnit;
  NET_DVR_IPADDR    struSIPServer;
  BYTE              byRes[592];
 }NET_DVR_OUTDOOR_UNIT_RELATEDEV,*LPNET_DVR_OUTDOOR_UNIT_RELATEDEV;

Members

struMainOutdoorUnit
Main door station IP address
struManageUnit
Master door station IP address
struSIPServer
SIP server IP address
byRes
Reserved, set as 0.

See Also

NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION


NET_DVR_OUTPUT_SCHEDULE

Time control output structure

struct{
  NET_DVR_SCHEDTIME    struTime;
  BYTE                 byState;
  BYTE                 byRes[11];
}NET_DVR_OUTPUT_SCHEDULE,*LPNET_DVR_OUTPUT_SCHEDULE;

Members

struTime
Time segment, XX(month)XX(day) to XX(month)XX(day)
byState
Output status, 0- Close, 1- Open
byRes
Reserved, set as 0.

See Also

NET_DVR_ONE_OUTPUT_SCHEDULE_RULE


NET_DVR_OUTPUT_SCHEDULE_RULECFG_V40

Time control output rule configuration structure。

struct{
  DWORD                                   dwSize;
  NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40    struOutputRule[MAX_RULE_NUM];
  BYTE                                    byRes[64];
}NET_DVR_OUTPUT_SCHEDULE_RULECFG_V40,*LPNET_DVR_OUTPUT_SCHEDULE_RULECFG_V40;

Members

dwSize
Structure size
struOutputRule
Rule configuration, max. 8 rules ( the array subscript indicates the rule No.), each rule supports 8 time segments
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_OUTPUTCFG

Structure of output channel configuration.

struct{
  DWORD                 dwSize;
  BYTE                  byScreenLayX;
  BYTE                  byScreenLayY;
  DWORD                 byRes1[6];
  NET_DVR_OUTPUTPARAM   struOutputParam;
  BYTE                  byRes2[24];
}NET_DVR_OUTPUTCFG, *LPNET_DVR_OUTPUTCFG;

Members

dwSize
Structure size
byScreenLayX
Screen layout: horizontal axis, the count of screens in horizontal direction
byScreenLayY
Screen layout: vertical axis, the count of screens in vertical direction
byRes1
Reserved, please set to 0
struOutputParam
Output channel video parameter
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_OUTPUTPARAM

Structure of output-channel video parameter.

struct{
  DWORD    dwSize;
  BYTE     byMonMode;
  BYTE     byRes1[3];
  DWORD    dwResolution;
  BYTE     byRes2[40];
}NET_DVR_OUTPUTPARAM, *LPNET_DVR_OUTPUTPARAM;

Members

dwSize
Structure size
byMonMode
Output connection mode: 1- BNC, 2- VGA, 3- DVI, 4- HDMI
byRes1
Reserved, please set to 0
dwResolution
Resolution, set according the value got by capability set
byRes2
Reserved, please set to 0

See Also

NET_DVR_OUTPUTCFG


NET_DVR_OVERLAY_CHANNEL

Structure of ATM overlay channel information.

struct{
  BYTE    byChannel[64];
  DWORD   dwDelayTime;
  BYTE    byEnableDelayTime;
  BYTE    byRes[11];
}NET_DVR_OVERLAY_CHANNEL, *LPNET_DVR_OVERLAY_CHANNEL;

Members

byChannel
The channel to overlay, each byte represents one channel, e.g. byChannel[0]==1 means the no.1 channel is to be overlaid, 0 means the no.1 channel is not to be overlaid.
dwDelayTime
Delay time of overlay
byEnableDelayTime
Whether to enable overlay delay
byRes
Reserved


NET_DVR_PACKAGE_LENGTH

Structure of ATM packet length information.

struct{
  BYTE                      byLengthMode;
  BYTE                      byRes1[3];
  DWORD                     dwFixLength;
  DWORD                     dwMaxLength;
  DWORD                     dwMinLength;
  BYTE                      byEndMode;
  BYTE                      byRes2[3];
  NET_DVR_FRAMETYPECODE     struEndCode;
  DWORD                     dwLengthPos;
  DWORD                     dwLengthLen;
  BYTE                      byRes3[8];
}NET_DVR_PACKAGE_LENGTH,* LPNET_DVR_PACKAGE_LENGTH;

Members

byLengthMode
Length type: 0- variable, 1- fixed, 2- autonomous length (got from card number)
byRes1
Reserved
dwFixLength
Fixed length, used when byLengthMode is 1
dwMaxLength
Maximum length, used when byLengthMode is 0
dwMinLength
Minimum length, used when byLengthMode is 0
byEndMode
Code terminator mode in mode 0: 0- ASCII, 1-HEX
byRes2
Reserved
struEndCode
Terminator
dwLengthPos
Position of card length in packet, used when length mode is 2
dwLengthLen
length of card length, used when length mode is 2
byRes3
Reserved

See Also

NET_DVR_FRAMETYPECODE


NET_DVR_PACKAGE_LOCATION

Structure of ATM package location information.

struct{
  BYTE                      byOffsetMode;
  BYTE                      byRes1[3];
  DWORD                     dwOffsetPos;
  NET_DVR_FRAMETYPECODE     struTokenCode;
  BYTE                      byMultiplierValue;
  BYTE                      byEternOffset;
  BYTE                      byCodeMode;
  BYTE                      byRes2[9];
}NET_DVR_PACKAGE_LOCATION, *LPNET_DVR_PACKAGE_LOCATION;

Members

byOffsetMode
Mode of package location information: 0-token (character flag mode), 1-fix (fixed mode)
byRes1
Reserved
dwOffsetPos
Size of offset, used in fixed mode (mode 1)
struTokenCode
Flag code
byMultiplierValue
The number of flags
byEternOffset
Additional offset
byCodeMode
Code mode: 0-ASCII, 1-HEX
byRes2
Reserved

See Also

NET_DVR_FRAMETYPECODE


NET_DVR_PACKET_INFO_EX

Data packet information structure

struct{
  WORD             wWidth;
  WORD             wHeight;
  DWORD            dwTimeStamp;
  DWORD            dwTimeStampHigh;
  DWORD            dwYear;
  DWORD            dwMonth;
  DWORD            dwDay;
  DWORD            dwHour;
  DWORD            dwMinute;
  DWORD            dwSecond;
  DWORD            dwMillisecond;
  DWORD            dwFrameNum;
  DWORD            dwFrameRate;
  DWORD            dwFlag;
  DWORD            dwFilePos;
  DWORD            dwPacketType;
  DWORD            dwPacketSize;
  unsigned char    *pPacketBuffer;
  BYTE             byRes1[4];
  DWORD            dwPacketMode;
  BYTE             byRes2[16];
  DWORD            dwReserved[6];
}NET_DVR_PACKET_INFO_EX, *LPNET_DVR_PACKET_INFO_EX;

Members

wWidth
Width
wHeight
Height
dwTimeStamp
Time stamp low bit
dwTimeStampHigh
Time stamp high bit
dwYear
OSD time: year
dwMonth
OSD time: month
dwDay
OSD time: day
dwHour
OSD time: hour
dwMinute
OSD time: minute
dwSecond
OSD time: second
dwMillisecond
OSD time: millisecond
dwFrameNum
Frame No.
dwFrameRate
Frame rate, when below 0, 0x80000002 means 1/2 frame rate, so 0x80000010 is 1/16 frame rate
dwFlag
Flag E frame mark
dwFilePos
Frame location in the file
dwPacketType
Packet type: 0- file header, 1- video I frame, 2- video B frame, 3- video P frame, 10- audio data packet, 11- private data packet
dwPacketSize
Data packet size
pPacketBuffer
Packet data buffer pointer
byRes1
Reserved, set as 0
dwPacketMode
Packet mode: 0- reserved, 1- FU_A packet mode
byRes2
Reserved, set as 0
dwReserved
Private data information, reserved

See Also

NET_DVR_SetESRealPlayCallBack NET_DVR_SetPlayBackESCallBack


NET_VCA_BLACKLIST_INFO_ALARM

Panoramic view linkage to event information structure

struct{
  DWORD             dwSize;
  DWORD             dwChannel;
  BYTE              byType;
  BYTE              byRes1[3];
  BYTE              byMACAddr[MACADDR_LEN];
  BYTE              byRes2[2];
  NET_DVR_IPADDR    struDevIP;
  DWORD             dwPicLen;
  char              *pPicBuff;
  BYTE              byRes[128];
}NET_VCA_BLACKLIST_INFO_ALARM, *LPNET_VCA_BLACKLIST_INFO_ALARM;

Members

dwSize
Structure size
dwChannel
Channel No.
byRes1
Reserved
byMACAddr
MAC address
byRes2
Reserved
struDevIP
Device IP address information
dwPicLen
Picture data length
pPicBuff
Picture data buffer pointer, JPEG picture
byRes
Reserved

See Also

Panoramic camera tracking linkage to upload event information, including capture picture data.

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_PANORAMIC_STITCH_UPLOAD

Panoramic view configuration file upload condition parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[128];
}NET_DVR_PANORAMIC_STITCH_UPLOAD, *LPNET_DVR_PANORAMIC_STITCH_UPLOAD;

Members

dwSize
Structure
dwChannel
Channel No.
byRes
Reserved, set as 0

Remarks

  • Whether the device supports uploading panoramic view configuration file capability, can be determined through device hardware capability set (BasicCapability), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY, node: <isSupportPanoramicStitch>.

See Also

NET_DVR_UploadFile_V40


NET_DVR_PAPERPRINTFORMAT_CFG

The structure of ticket printing format configuration

struct{
  DWORD    dwSize;
  char     sTitleInfo[MAX_LITLE_INFO_LEN];
  char     sCustomInfo[MAX_CUSTOM_INFO_LEN];
  char     sPhoneNum[MAX_PHONE_NUM_LEN];
  BYTE     byPrintInTimeEnabled;
  BYTE     byRes[127];
}NET_DVR_PAPERPRINTFORMAT_CFG,*LPNET_DVR_PAPERPRINTFORMAT_CFG;

Members

dwSize
Structure size
sTitleInfo
Ticket title info
sCustomInfo
Custom ticket info
sPhoneNum
Phone number
byPrintInTimeEnabled
Whether print enter time: 0- no，1- yes
byRes
Reserved, set to 0

Remarks

  • According to the capability set, you can understand whether the device supports configuring ticket printing format. Corresponding LED display configuration capability set (PaperPrintFormatInfo). Relevant interface: NET_DVR_GetSTDAbility. Capability type: NET_DVR_GET_PAPERPRINTFORMAT_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_PARK_INFO

The structure of parking space information

struct{
  char   sPlateNo[MAX_PlATE_NO_LEN];
  char   sParkIndex[MAX_PlATE_NO_LEN];
  BYTE   byRes[64];
}NET_DVR_PARK_INFO, *LPNET_DVR_PARK_INFO;

Members

sPlateNo
License NO., without the color.
sParkIndex
Parking space NO.
byRes
Reserved

See Also

NET_DVR_CROSSLINE_ALARM


NET_DVR_PARKING_DETECTION

Parking detection configuration structure

struct{
  DWORD                     dwSize;
  BYTE                      byEnabled;
  BYTE                      byRes1[3];
  NET_DVR_PARKING_REGION    struRegion[MAX_REGION_NUM];
  BYTE                      byRes2[128];
}NET_DVR_PARKING_DETECTION,*LPNET_DVR_PARKING_DETECTION;

Members

dwSize
Structure size
byEnabled
Enable? 0- No, 1- Yes
byRes1
Reserved
struRegion
Parking detection region
byRes2
Reserved

Remarks

  • This function corresponds to parking detection capability(Parking), API: NET_DVR_GetSTDAbility(Capability type:NET_DVR_GET_PATKING_CAPABILITIES).
  • If the all Region parameters(struRegion) are set as 0, it indicates that the region is deleted. If any of the Region parameters(struRegion) is not set as 0, the region parameters can not be configured. Configure the region parameters separately via NET_DVR_SET_PARKING_REGION.

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_PARKING_REGION

Parking region configuration structure

struct{
  NET_VCA_POLYGON    struRegion;
  BYTE               bySensitivity;
  BYTE               byTimeThreshold;
  BYTE               byRes[62];
}NET_DVR_PARKING_REGION,*LPNET_DVR_PARKING_REGION;

Members

struRegion
Parking region coverage
bySensitivity
Sensitivity, value[1,100]
byTimeThreshold
Time threshold, value range[0,10], unit:s
byRes
Reserved

Remarks

If the Region parameters is set as 0, it indicates that the region is deleted. For speed dome, when getting single region, it will be located to the scene of this region.

See Also

NET_DVR_PARKING_DETECTION


NET_DVR_PASSBACK_DAY

Video passback day schedule structure

struct{
  BYTE    byAllDay;
  BYTE    byRes[3];
}NET_DVR_PASSBACK_DAY, *LPNET_DVR_PASSBACK_DAY;

Members

byAllDay
Enable day schedule? 0- No, 1- Yes
byRes
Reserved, set as 0.

See Also

NET_DVR_RECORD_PASSBACK_SCH_CFG


NET_DVR_PASSBACK_SCHED

Video passback period schedule structure

struct{
  NET_DVR_SCHEDTIME    struPassBackTime;
  BYTE                 byRes[4];
}NET_DVR_PASSBACK_SCHED, *LPNET_DVR_PASSBACK_SCHED;

Members

struPassBackTime
Passback task period, start time and end time
byRes
Reserved, set as 0.

See Also

NET_DVR_RECORD_PASSBACK_SCH_CFG


NET_DVR_PASSIVEDECODE_CONTROL

Parameters of decoder play control.

struct{
  DWORD    dwSize;
  DWORD    dwPlayCmd;
  DWORD    dwCmdParam;
  BYTE     byRes[16];
}NET_DVR_PASSIVEDECODE_CONTROL,*LPNET_DVR_PASSIVEDECODE_CONTROL;

Members

dwSize
Structure size
dwPlayCmd
Command of decoder play control state, listed as below:
Macro Definition | Value | Meaning
PASSIVE_DEC_PAUSE 1 Pause passive decoding
(it is only valid for file stream)
PASSIVE_DEC_RESUME 2 Resume passive decoding
(it is only valid for file stream)
PASSIVE_DEC_FAST 3 Fast passive decoding
(it is only valid for file stream)
PASSIVE_DEC_SLOW 4 Slow passive decoding
(it is only valid for file stream)
PASSIVE_DEC_NORMAL 5 Normal passive decoding
(it is only valid for file stream)
PASSIVE_DEC_ONEBYONE | 6 | Play frame one by one of passive decoding (Reserved)
PASSIVE_DEC_AUDIO_ON | 7 | Open audio
PASSIVE_DEC_AUDIO_OFF | 8 | Close audio
PASSIVE_DEC_RESETBUFFER 9 Reset Buffer
(it is only valid for file stream)
dwCmdParam
Parameters of passive decoding control
byRes
Reserved

Remarks

Whether to input the value of the third parameter is related to control command.


NET_DVR_PATROL_SCENE_INFO

Structure of single scene cruise path configuration.

struct{
  WORD   wDwell;
  BYTE   byPositionID;
  BYTE   byRes[5];
}NET_DVR_PATROL_SCENE_INFO, *LPNET_DVR_PATROL_SCENE_INFO;

Members

wDwell
Dwell time, range: [30,300]
byPositionID
Scene ID, range: 1~10. Defualt 0 means the cruise point doesn't add any scene
byRes2
Reserved


NET_DVR_PATROL_TRACKCFG

Configuration structure of scene patrol track.

struct{
  DWORD                       dwSize;
  NET_DVR_PATROL_SCENE_INFO   struPatrolSceneInfo[10];
  BYTE                        byRes[16];
}NET_DVR_PATROL_TRACKCFG, *LPNET_DVR_PATROL_TRACKCFG;

Members

dwSize
Structure size
struPatrolSceneInfo
Patrol track
byRes2
Reserved

See Also

NET_DVR_PATROL_SCENE_INFO


NET_DVR_PDC_ALRAM_INFO

Structure of pedestrian flow statistics parameters.

struct{
  DWORD                    dwSize;
  BYTE                     byMode;
  BYTE                     byChannel;
  BYTE                     bySmart;
  BYTE                     byRes1;
  NET_VCA_DEV_INFO         struDevInfo;
  union{
           struct{
           DWORD           dwRelativeTime;
           DWORD           dwAbsTime;
           BYTE            byRes[92];
           }struStatFrame;
           struct{
           NET_DVR_TIME    tmStart;
           NET_DVR_TIME    tmEnd;
           BYTE            byRes[92];
           }struStatTime;
  }uStatModeParam;
  DWORD                    dwLeaveNum;
  DWORD                    dwEnterNum;
  BYTE                     byBrokenNetHttp;
  BYTE                     byRes3;
  WORD                     wDevInfoIvmsChannelEx;
  DWORD                    dwPassingNum;
  BYTE                     byRes2[32];
}NET_DVR_PDC_ALRAM_INFO,*LPNET_DVR_PDC_ALRAM_INFO;

Members

dwSize
Structure size
byMode
0- real-time statistics result, 1- periodic statistics result
byChannel
NO. of channel uploading alarm
bySmart
0- iDS professional smart device return, 1- Smart device return
byRes1
Reserved
struDevInfo
Camera information
struStatFrame structure is real-time statistics result
dwRelativeTime
Counting relative time mark
dwAbsTime
Counting absolute time mark
byRes
Reserved
struStatTime structure is periodic statistics result
tmStart
Counting start time
tmEnd
Counting end time
byRes
Reserved
dwLeaveNum
People left
dwEnterNum
People entered
byBrokenNetHttp
ANR flag bit: 0- not retransmit data, 1- retransmit data
byRes3
Reserved
wDevInfoIvmsChannelEx
Same description with byIvmsChannel of NET_VCA_DEV_INFO, can be used to indicate greater value. For older version of client, byIvmsChannel is still compatible, but the maximum value is 255. For later version of client, use wDevInfoIvmsChannelEx
dwPassingNum
People passed (the number of people who are not counted as left or entered when loitering after entering the area)
byRes2
Reserved

Remarks

  • There two types of data in people counting data upload:
    1) Real-time statistics result (byMode=0): real-time number counted since last auto-clear action, upload when counting changes.
    2) Periodic statistics result (byMode=1): set the added number within the statistics period, update frequency is the set statistics period (default 15 minutes, min. 1 minute and max. 60 minutes).
  • The algorithm used to obtain the time (Y/M/D/h/m/s) by resolving absolute time mark dwAbsTime is listed below:
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)

    • See Also

    NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_PDC_CALIBRATION

Calibration parameter structure of pedestrian flow statistics.

struct{
  NET_DVR_RECT_LIST    struRectList;
  BYTE                 byRes[120];
}NET_DVR_PDC_CALIBRATION, *LPNET_DVR_PDC_CALIBRATION;

Members

struRectList
Parameter list of calibration rectangle
byRes
Reserved

See Also

NET_DVR_RECT_LIST


NET_DVR_PDC_ENTER_DIRECTION

Direction parameter structure of pedestrian flow statistics.

struct{
  NET_VCA_POINT    struStartPoint;
  NET_VCA_POINT    struEndPoint;
}NET_DVR_PDC_ENTER_DIRECTION, *LPNET_DVR_PDC_ENTER_DIRECTION;

Members

struStartPoint
Start point
struEndPoint
End point

See Also

NET_VCA_POINT


NET_DVR_PDC_QUERY

Structure of pedestrian flow statistics.

struct{
  NET_DVR_TIME     tmStart;
  NET_DVR_TIME     tmEnd;
  DWORD            dwLeaveNum;
  DWORD            dwEnterNum;
  BYTE             byRes1[256];
}NET_DVR_PDC_QUERY, *LPNET_DVR_PDC_QUERY;

Members

tmStart
Start time
tmEnd
End time
dwLeaveNum
The number of left poeple
dwEnterNum
The number of entered poeple
byRes1
Reserved

See Also

NET_DVR_TIME


NET_DVR_PDC_QUERY_COND

Structure of PDC data query

struct{
  DWORD              dwSize;
  DWORD              dwChannel;
  NET_DVR_TIME_EX    struStartTime;
  NET_DVR_TIME_EX    struEndTime;
  BYTE               byReportType;
  BYTE               byEnableProgramStatistics;
  BYTE               byRes1[2];
  DWORD              dwPlayScheduleNo;
  BYTE               byRes[120];
}NET_DVR_PDC_QUERY_COND, *LPNET_DVR_PDC_QUERY_COND;

Members

dwSize
Structure size
dwChannel
channel number
struStartTime
Start time
struEndTime
End time
byReportType
Report type: 0- invalid, 1- daily statement, 2- weekly statement,3- monthly statement,4- yearly statement
byEnableProgramStatistics
Whether to count by program: 0- no, 1- yes
byRes1
Reserved
dwPlayScheduleNo
Schedule No. linked when count by program
byRes
Reserved

Remarks

Search end time is used for simple verification such as "if the start time is earlier than end time", the length of time to search is subject to start time and search mode, for example, if the start date is 7.1 and the end date is 8.1, and the search mode is by week, then the device will search the information between 7.1 and 7.7.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_PDC_RECOMMEND

Structure of recommended passenger flow statistic value

struct{
  DWORD    dwSize;
  WORD     wWidth;
  BYTE     byRes[126];
}NET_DVR_PDC_RECOMMEND,*LPNET_DVR_PDC_RECOMMEND;

Members

dwSize
Structure size
wWidth
Recommended width, value range:[0, 1000]
byRes
Reserved, set as 0.

Remarks

  • Check whether to support this device via device capability, the corresponded VCA capability is (VcaChanAbility)，API:NET_DVR_GetDeviceAbility，capability type：DEVICE_ABILITY_INFO，node：<PDC>sub node<isSupportRecommendedValue>.

See Also

NET_DVR_GetSTDConfig&


NET_DVR_PDC_RESULT

Structure of PDC query resuts

struct{
  DWORD                   dwSize;
  NET_DVR_TIME_EX         struStartTime;
  NET_DVR_TIME_EX         struEndTime;
  DWORD                   dwEnterNum;
  DWORD                   dwLeaveNum;
  NET_DVR_PROGRAM_INFO    struProgramInfo;
  DWORD                   dwPeoplePassing;
  BYTE                    byRes[200];
}NET_DVR_PDC_RESULT, *LPNET_DVR_PDC_RESULT;

Members

dwSize
Structure size
struStartTime
Start time
struEndTime
End time
dwEnterNum
People entered
dwLeaveNum
People left
struProgramInfo
Program information
dwPeoplePassing
People passed
byRes
Reserved

See Also

NET_DVR_GetNextRemoteConfig


NET_DVR_PDC_RULE_CFG

Structure of pedestrian flow rule configuration.

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[23];
  NET_VCA_POLYGON                struPolygon;
  NET_DVR_PDC_ENTER_DIRECTION    struEnterDirection;
}NET_DVR_PDC_RULE_CFG, *LPNET_DVR_PDC_RULE_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable rule: 0- no, 1- yes
byRes1
Reserved
struPolygon
Rule polygon parameters
struEnterDirection
Entering direction of pedestrian

See Also

NET_VCA_POLYGON NET_DVR_PDC_ENTER_DIRECTION


NET_DVR_PDC_RULE_CFG_V42

Structure of PDC rules configuration

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byOSDEnable;
  BYTE                           byCurDetectType;
  BYTE                           byInterferenceSuppression;
  NET_VCA_POINT                  struOSDPoint;
  BYTE                           byDataUploadCycle;
  BYTE                           bySECUploadEnable;
  BYTE                           byEmailDayReport;
  BYTE                           byEmailWeekReport;
  BYTE                           byEmailMonthReport;
  BYTE                           byEmailYearReport;
  BYTE                           byRes2[6];
  NET_VCA_POLYGON                struPolygon;
  NET_DVR_PDC_ENTER_DIRECTION    struEnterDirection;
  NET_DVR_SCHEDTIME              struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_TIME_EX                struDayStartTime;
  NET_DVR_TIME_EX                struNightStartTime;
  NET_DVR_HANDLEEXCEPTION_V40    struAlarmHandleType;
  BYTE                           byDetecteSensitivity;
  BYTE                           byGenerateSpeedSpace;
  BYTE                           byGenerateSpeedTime;
  BYTE                           byCountSpeed;
  BYTE                           byDetecteType;
  BYTE                           byTargetSizeCorrect;
  BYTE                           byRes3[2];
  NET_VCA_LINE                   struLine;
  BYTE                           byHeightFilterEnable;
  BYTE                           byRes4[3];
  float                          fHeightFilter;
  BYTE                           byCalibrateType;
  BYTE                           byRes6[3];
  float                          fTiltAngle;
  float                          fHeelAngle;
  float                          fHeight;
  NET_VCA_POLYGON                struCountPolygon;
  NET_VCA_POLYGON                struAutoCalibPolygon;
  BYTE                           byRes[44];
 }NET_DVR_PDC_RULE_CFG_V42,*LPNET_DVR_PDC_RULE_CFG_V42;

Members

dwSize
Structure size
byEnable
Whether enabled: 0-no, 1-yes
byOSDEnable
Whether to enable people counting OSD display: 0- No (do not display entrance and exiting data), 1- yes (display entrance and exiting data), 2- display entrance data only, 3- display exiting data only, 4- people passed
byCurDetectType
Current detection area type: 0- polygon, 1- detection line
byInterferenceSuppression
Interference suppression, in byte, bit0- shadow, bit1- loitering, bit2- trolley, value: 0- disable, 1- enable
For example: byInterferenceSuppression=7 (111 in binary), indicates suppression for interference like shadow, loitering and trolley is enabled
struOSDPoint
Display upper left coordinate in people counting OSD
byDataUploadCycle
People counting detection data upload interval: 0- 15, 1- 1, 2- 5, 3- 10, 4- 20, 5- 30, 6- 60, 单位：分钟
bySECUploadEnable
Upload by second: 0- disable, 1- enable
byEmailDayReport
People counting daily report upload by email: 0- disable, 1- enable
byEmailWeekReport
People counting weekly report upload by email: 0- disable, 1- enable
byEmailMonthReport
People counting monthly report upload by email: 0- disable, 1- enable
byEmailYearReport
People counting yearly report upload by email: 0- disable, 1- enable
byRes2
Reserved, set as 0
struPolygon
Polyson region
struEnterDirection
Enter direction
struAlarmTime
Schedule
struDayStartTime
Start time of Day, h/m/s is valid
struNightStartTime
Start time of night,h/m/s is valid
struAlarmHandleType
Handle type, support notify surveillence center only.
byDetecteSensitivity
Detection sensitivity, data range: 1-100, the default is 50
byGenerateSpeedSpace
Generate Speed(Space),data range: 1-100, the default is 50
byGenerateSpeedTime
Generate Speed(Time),data range: 1-100, the default is 50
byCountSpeed
Count speed, data range: 1-100, the default is 50
byDetecteType
Detect type: 0-auto, 1- head, 2- head and shoulder,the default is 0-auto, DSP adjust configuration parameters of the algorithm and then send to the algorithms library.
byTargetSizeCorrect
Target size correction:data range: 1-100, the default is 50
byRes3
Reserved, set it to 0
struLine
Detection line
byHeightFilterEnable
Height filtering: 0- disable, 1- enable
byRes4
Reserved, set as 0
fHeightFilter
Filtering height (valid when byHeightFilterEnable=1), unit: cm, default: 120 cm, range: 40 to 200 cm
byCalibrateType
Calibration type: 0- not calibrated, 1- auto, 2- manual
byRes6
Reserved, set as 0
fTiltAngle
Tilt angle, unit: degree, default: 0, range: 0 to 180, read only
fHeelAngle
Heel angle, unit: degree, default: 0, range: -90 to 90, read only
fHeight
Height, unit:cm, default: 300, range: 200 to 500, valid when byCalibrateType=2, read only otherwise
struCountPolygon
Counting area, read-only
struAutoCalibPolygon
Calibration area, valid when byCalibrateType=1
byRes
Reserved, set as 0

Remarks

  • Whether device supports people counting capability, can be determined through device capability set, corresponding to smart channel analysis capability set (VcaChanAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <PDC>.

See Also

Smart parameter configuration: NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig

Professional smart parameter configuration: NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_PDC_RULE_COND

Structure of PDC configuration

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[64];
}NET_DVR_PDC_RULE_COND, *LPNET_DVR_PDC_RULE_COND;

Members

dwSize
Structure size
dwChannel
Channel number
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_PEOPLE_DETECTION_RESULT

People detection result structure

struct{
  DWORD                    dwSize;
  DWORD                    dwRelativeTime;
  DWORD                    dwAbsTime;
  NET_VCA_DEV_INFO         struDevInfo;
  NET_DVR_PEOPLE_REGION    struPeopleRegion[MAX_PEOPLE_DETECTION_NUM];
  BYTE                      byRes[256];
}NET_DVR_PEOPLE_DETECTION_RESULT, *LPNET_DVR_PEOPLE_DETECTION_RESULT;

Members

dwSize
Structure size
dwRelativeTime
Relative time
dwAbsTime
Absolute time
struDevInfo
Front-end device information
struPeopleRegion
People detction region information, each array indicates a region, max. 8 regions
byRes
Reserved

Remarks

  • The year/month/day/hour/minute/second arithmetic analyzed from the absolute time(dwAbsTime) are shown below.
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_PEOPLE_REGION

People detection region information structure

struct{
  BYTE            byID;
  BYTE            byNumber;
  BYTE            byRes[2];
  NET_VCA_RECT    struRegion;
  BYTE            byRes1[32];
 }NET_DVR_PEOPLE_REGION,*LPNET_DVR_PEOPLE_REGION;

Members

byID
Region ID
byNumber
People counting in the region, 0 indicates that no people is in this region.
byRes
Reserved, set as 0.
struRegion
Region coverage
byRes1
Reserved, set as 0.

See Also

NET_DVR_PEOPLE_DETECTION_RESULT


NET_DVR_PERSON_STATISTICS_CFG

People counting parameters structure

struct{
  DWORD    dwSize;
  BYTE     byEnableStatistics;
  BYTE     byEnableOfflineStatistics;
  BYTE     byRes[606];
}NET_DVR_PERSON_STATISTICS_CFG, *LPNET_DVR_PERSON_STATISTICS_CFG;

Members

dwSize
Structure size
byEnableStatistics
Whether to enable people counting: 0- disable, 1- enable
byEnableOfflineStatistics
Whether to enable offline people counting: 0- disable, 1- enable
byRes
Reserved, set as 0

Remarks

  • Whether the device supports people counting or the supported parameter capability, can be determined through device capability set (AcsAbility ), API: NET_DVR_GetDeviceAbility, type: ACS_ABILITY, node: <PersonStatisticsCfg>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PERSONNEL_CHANNEL_CFG

Access control host personnel channel parameter configuration structure

struct{
  DWORD    dwSize;
  BYTE     byInMode;
  BYTE     byOutMode;
  BYTE     byWorkMode;
  BYTE     byRes[301];
}NET_DVR_PERSONNEL_CHANNEL_CFG,*LPNET_DVR_PERSONNEL_CHANNEL_CFG;

Members

dwSize
Structure size
byInMode
Enter mode: 0- controlled, 1- denied, 2- free
byOutMode
Exit mode: 0- controlled, 1- denied, 2- free
byWorkMode
Operating mode: 0- emergency, 1- maintenance, 2- normally closed, 3- normally open
byRes
Reserved, set as 0

Remarks

  • Whether the device supports personnel channel configuration or the supported capability, can be determined through device capability set (AcsAbility ), API: NET_DVR_GetDeviceAbility, type: ACS_ABILITY, node: <PersonnelChannelCfg>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PHONE_DOOR_RIGHT_CFG

Structure for door permission linked with mobile phone

struct{
  DWORD    dwSize;
  BYTE     byOpenRight[MAX_DOOR_NUM_256];
  BYTE     byCloseRight[MAX_DOOR_NUM_256];
  BYTE     byNormalOpenRight[MAX_DOOR_NUM_256];
  BYTE     byNormalCloseRight[MAX_DOOR_NUM_256];
  BYTE     byArmRight[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byDisarmRight[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE     byRes[256];
}NET_DVR_PHONE_DOOR_RIGHT_CFG, *LPNET_DVR_PHONE_DOOR_RIGHT_CFG;

Members

dwSize
Structure size
byOpenRight
Open door permission, array subscript stands for door number, the value: 0- no permission, 1- with permission
byCloseRight
Close door permission, arrary subscript stands for door number, the value: 0- no permission, 1- with permission
byNormalOpenRight
Remain open permission, array subscript stands for door number, the value: 0- no permission, 1- with permission
byNormalCloseRight
Remain closed permission, array subscript stands for door number, the value: 0- no permission, 1- with permission
byArmRight
Permission for arming, array subscript stands for alarm input number, the value: 0- no permission, 1- with permission
byDisarmRight
Permission for disarming, array subscript stands for alarm input number, the value: 0- no permission, 1- with permission
byRes
Reserved

Remarks

  • It is the capability set that decides whether the device supports the door permission linked with the mobile. Corresponding capability set of access controller is
  • AcsAbility, the related interface is NET_DVR_GetDeviceAbility, the capability set type is ACS_ABILITY, and the node is <SMS>.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PHONECENTERDIALCFG

Structure of center parameter configuration.

struct{
  BYTE             sCenterName[NAME_LEN];
  BYTE             byPhoneNum[MAX_PHONE_NUM];
  BYTE             byRepeatCall;
  BYTE             byPstnProtocol;
  BYTE             byDialDelay;
  BYTE             byPstnTransMode;
  BYTE             byRes1[6];
  BYTE             byReceiverId[6];
  BYTE             byRes2[32];
}NET_DVR_PHONECENTERDIALCFG, *LPNET_DVR_PHONECENTERDIALCFG;

Members

sCenterName
Center name
byPhoneNum
Telephone number
byRepeatCall
Repeat dialing times, value range: 1~15 times
byPstnProtocol
Communication protocol: 0- CID
byDialDelay
Dialing delay, value range: 0~150s
byPstnTransMode
Transmission mode: 0- DTMF 5/S, 1- DTMF 10/S
byRes1
Reserved, please set to 0
byReceiverId
Receiver identification ID
byRes2
Reserved, please set to 0

See Also

NET_DVR_ALARMHOSTDIALCFG


NET_DVR_PHONECFG

Structure of phone configuration.

struct{
  BYTE      byWhiteList[MAX_PHONE_NUM];
  BYTE      byPhonePerssion[32];
  BYTE      byAlarmHandler[32];
  BYTE      byRes[128];
}NET_DVR_PHONECFG,*LPNET_DVR_PHONECFG;

Members

byWhiteList
White list
byPhonePerssion
Whether enable some function of this phone number, indicated by byte:
0x0: support receiving alarm SMS
0x1: support SMS to control online/offline
0x2: support call to control online
0x3: support SMS to do rebooting
0x4: support door control
byAlarmHandler
Whether enable sending SMS about the alarm type, indicated by byte:
0x0: hard disk full
0x1: hard disk error
0x2: network broken
0x3: IP address conflict
0x4: illegal access
0x5: video signal exception
0x6: video input/output standard mismatch
0x7: video signal loss
0x8: audio signal loss
0x9: alarm input
0xa: tampering alarm
0xb: motion detection
0xc: recording exception
0xd: PIR alarm
0xe: Wireless alarm
0xf: Duress alarm
0x10: Audio exception alarm
0x11: Scene change alarm
0x12: De-focus alarm
0x13: Face detection alarm
0x14: Line crossing alarm
0x15: Intrusion alarm
0x16: Region exiting alarm
0x17: Region entering alarm
0x18: Loitering alarm
0x19: People gathering alarm
0x1a: Rapid moving alarm
0x1b: Parking alarm
0x1c: Unattended baggage alarm
0x1d: Object removal alarm
byRes
Reserved, please set to 0

See Also

NET_DVR_SMSRELATIVEPARAM


NET_DVR_PHY_DISK_INFO

Structure of single physical disk parameter.

struct{
  WORD    wPhySlot;
  BYTE    byType;
  BYTE    byStatus;
  BYTE    byMode[40];
  DWORD   dwHCapacity;
  DWORD   dwLCapacity;
  BYTE    byArrrayName[MAX_NAMELEN];
  WORD    wArrayID;
  BYTE    byRes[102];
}NET_DVR_PHY_DISK_INFO, *LPNET_DVR_PHY_DISK_INFO;

Members

wPhySlot
Slot number of hard disk
byType
Hard disk information: 0- general, 1- global hot spare, 2- RAID hot spare，3- RAID disk
byStatus
Hard disk state: 0- normal,1- demotion,2- deleted, 3- HDD loss, 4- offline, 5- subnormal, 6- extraneous HDD, 7- exception, 8- SMART status exception, 9- dormancy，0xff- not-exist
byMode
Hard disk type (string)
dwHCapacity
Higher 32 bits of disk capacity (Unit: kb)
dwLCapacity
Lower 32 bits of disk capacity
wArrayID
Respective RAID ID
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PHY_DISK_LIST

Structure of physical disk parameter.

struct{
  DWORD                    dwSize;
  DWORD                    dwCount;
  NET_DVR_PHY_DISK_INFO    struPhyDiskInfo[SUPPORT_PD_NUM];
}NET_DVR_PHY_DISK_LIST, *LPNET_DVR_PHY_DISK_LIST;

Members

dwSize
Structure size
dwCount
The number of physical disks
struPhyDiskInfo
Single physical disk information

See Also

NET_DVR_PHY_DISK_INFO


NET_DVR_PHY_RATIO

Physical ratio coordinate parameters structure

struct{
  DWORD    dwSize;
  DWORD    dwPhysicsRatio;
  BYTE     byRes[60];
}NET_DVR_PHY_RATIO, *LPNET_DVR_PHY_RATIO;

Members

dwSize
Size of the structure
dwPhysicsRatio
Physical ratio coordinate
byRes
Reserved, set as 0.

Remarks

Physical ratio coordinate parameters capability, related to device capability (CAMERAPARA)-<FocusMode>-<physicsRatio>API:NET_DVR_GetDeviceAbility, Capability type:IPC_FRONT_PARAMETER_V20.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PIC

Color picking reference picture parameter structure.

struct{
  BYTE     byPicType;
  BYTE     byRes1[3];
  DWORD    dwPicWidth;
  DWORD    dwPicHeight;
  DWORD    dwPicDataLen;
  DWORD    dwPicDataBuffLen;
  BYTE     *byPicDataBuff;
  BYTE     byRes2[40];
}NET_DVR_PIC, *LPNET_DVR_PIC;

Members

byPicType
Picture type: 1-jpg
byRes1
Reserved, set as 0
dwPicWidth
Picture width
dwPicHeight
Picture height
dwPicDataLen
Picture actual data size
dwPicDataBuffLen
Picture data buffer size
byPicDataBuff
Picture data buffer, allocated by client and used to save obtained picture data
byRes2
Reserved, set as 0

Remarks

Picture size recommended to be within 400*300 pixels

See Also

NET_DVR_OBJECT_COLOR_UNION


NET_DVR_PIC_ADJUST

Structure of image fine-tuning parameter

struct{
  DWORD    dwSize;
  BYTE     bySubCommand;
  BYTE     byScale;
  BYTE     byRes[30];
}NET_DVR_PIC_ADJUST,*LPNET_DVR_PIC_ADJUST;

Members

dwSize
Structure size
bySubCommand
Fine-tuning command
Macro Definition | Value | Implication
DECODEPIC_LEFTADJUST | 1 | Move left
DECODEPIC_RIGHTADJUST | 2 | Move right
DECODEPIC_UPADJUST | 3 | Move up
DECODEPIC_DOWNADJUST | 4 | Move down
byScale
The scale to adjust, an integer value that larger than 0, and it means the moving distance, unit: pixel. For example: dwPicAdjust = DECODEPIC_LEFTADJUST and dwCmdParam = 1, it means move the image left by one pixel.
byRes
Reserved, please set to 0

See Also

NET_DVR_SetDeviceConfig


NET_DVR_PIC_INFO

Picture color information structure

struct{
  BYTE     byPicType;
  BYTE     byRes1[3];
  DWORD    dwPicWidth;
  DWORD    dwPicHeight;
  DWORD    dwPicDataLen;
  char     *byPicDataBuff;
  BYTE     byRes2[32];
}NET_DVR_PIC_INFO, *LPNET_DVR_PIC_INFO;

Members

byPicType
Picture type: 0- JPEG
byRes1
Reserved, set as 0.
dwPicWidth
Picture width
dwPicHeight
Picture height
dwPicDataLen
Picture data size
byPicDataBuff
Picture data buffer
byRes2
Reserved

See Also

NET_DVR_VCA_RULE_COLOR_CFG


NET_DVR_PICCFG

Structure of channel video configuration.

struct{
  DWORD                    dwSize;
  BYTE                     sChanName[NAME_LEN];
  DWORD                    dwVideoFormat;
  BYTE                     byBrightness;
  BYTE                     byContrast;
  BYTE                     bySaturation;
  BYTE                     byHue;
  DWORD                    dwShowChanName;
  WORD                     wShowNameTopLeftX;
  WORD                     wShowNameTopLeftY;
  NET_DVR_VILOST           struVILost;
  NET_DVR_MOTION           struMotion;
  NET_DVR_HIDEALARM        struHideAlarm;
  DWORD                    dwEnableHide;
  WORD                     wHideAreaTopLeftX;
  WORD                     wHideAreaTopLeftY;
  WORD                     wHideAreaWidth;
  WORD                     wHideAreaHeight;
  DWORD                    dwShowOsd;
  WORD                     wOSDTopLeftX;
  WORD                     wOSDTopLeftY;
  BYTE                     byOSDType;
  BYTE                     byDispWeek;
  BYTE                     byOSDAttrib;
  char                     reservedData2;
}NET_DVR_PICCFG,*LPNET_DVR_PICCFG;

Members

dwSize
Structure size
sChanName
Channel name
dwVideoFormat
Video format: 1-NTSC, 2-PAL
byBrightness
Brightness, range: [0,255]
byContrast
Contrast, range: [0,255]
bySaturation
Saturation, range: [0,255]
byHue
Hue, range: [0,255]
dwShowChanName
Whether display channel name on previewing image: 0- don't display, 1- display(size of area: 704*576)
wShowNameTopLeftX
X axis coordinate of channel name displaying location
wShowNameTopLeftY
Y axis coordinate of channel name displaying location
struVILost
Video lost alarm parameter
struMotion
Motion detection alarm parameter
struHideAlarm
Video tampering alarm parameter
dwEnableHide
Enable privacy masking or not: 0- no, 1- yes
wHideAreaTopLeftX
X axis coordinate of privacy masking area
wHideAreaTopLeftY
Y axis coordinate of privacy masking area
wHideAreaWidth
Width of privacy masking area
wHideAreaHeight
Height of privacy masking area
dwShowOsd
Whether to display OSD on preview image: 0- don't display, 1- display(size of area: 704*576)
wOSDTopLeftX
X axis coordinate of OSD
wOSDTopLeftY
Y axis coordinate of OSD
byOSDType
OSD type (year month day format):
0－XXXX-XX-XX year-month-day
1－XX-XX-XXXX month-day-year
2－XXXX(year)XX(month)XX(day)
3－XX(month)XX(day)XXXX(year)
4－XX-XX-XXXX day-month-year
5－XX(day)XX(month)XXXX(year)
byDispWeek
Whethet to display week: 0- don't display, 1- display
byOSDAttrib
OSD attribute(transparent or flash):
1- transparent and flash
2- transparent, non- flash
3- flash, non-transparent
4- non-transparent, non-flash
reservedData2
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
NET_DVR_VILOST NET_DVR_MOTION NET_DVR_HIDEALARM


NET_DVR_PICCFG_EX

Structure of channel video configuration.

struct{
  DWORD                    dwSize;
  BYTE                     sChanName[NAME_LEN];
  DWORD                    dwVideoFormat;
  BYTE                     byBrightness;
  BYTE                     byContrast;
  BYTE                     bySaturation;
  BYTE                     byHue;
  DWORD                    dwShowChanName;
  WORD                     wShowNameTopLeftX;
  WORD                     wShowNameTopLeftY;
  NET_DVR_VILOST           struVILost;
  NET_DVR_MOTION           struMotion;
  NET_DVR_HIDEALARM        struHideAlarm;
  DWORD                    dwEnableHide;
  NET_DVR_SHELTER          struShelter[MAX_SHELTERNUM];
  DWORD                    dwShowOsd;
  WORD                     wOSDTopLeftX;
  WORD                     wOSDTopLeftY;
  BYTE                     byOSDType;
  BYTE                     byDispWeek;
  BYTE                     byOSDAttrib;
  BYTE                     byHourOsdType;
}NET_DVR_PICCFG_EX,*LPNET_DVR_PICCFG_EX;

Members

dwSize
Structure size
sChanName
Channel name
dwVideoFormat
Video format: 1-NTSC, 2-PAL
byBrightness
Brightness, range: [0,255]
byContrast
Contrast, range: [0,255]
bySaturation
Saturation, range: [0,255]
byHue
Hue, range: [0,255]
dwShowChanName
Whether display channel name on previewing image: 0- don't display, 1- display(size of area: 704*576)
wShowNameTopLeftX
X axis coordinate of channel name displaying location
wShowNameTopLeftY
Y axis coordinate of channel name displaying location
struVILost
Video lost alarm parameter
struMotion
Motion detection alarm parameter
struHideAlarm
Video tampering alarm parameter
dwEnableHide
Enable privacy masking or not: 0- no, 1- yes
struShelter
Parameters of privacy masking areas
dwShowOsd
Whether to display OSD on preview image: 0- don't display, 1- display(size of area: 704*576)
wOSDTopLeftX
X axis coordinate of OSD
wOSDTopLeftY
Y axis coordinate of OSD
byOSDType
OSD type (year month day format):
0－XXXX-XX-XX year-month-day
1－XX-XX-XXXX month-day-year
2－XXXX(year)XX(month)XX(day)
3－XX(month)XX(day)XXXX(year)
4－XX-XX-XXXX day-month-year
5－XX(day)XX(month)XXXX(year)
byDispWeek
Whethet to display week: 0- don't display, 1- display
byOSDAttrib
OSD attribute(transparent or flash):
1- transparent and flash
2- transparent, non- flash
3- flash, non-transparent
4- non-transparent, non-flash
byHourOsdType
Hour display format: 0 means 24-hour format, 1 means 12-hour format or am/pm format

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
NET_DVR_VILOST NET_DVR_MOTION
NET_DVR_HIDEALARM NET_DVR_SHELTER


NET_DVR_PICCFG_V30

Channel image structure

struct{
  DWORD                    dwSize;
  BYTE                     sChanName[NAME_LEN];
  DWORD                    dwVideoFormat;
  char                     byReservedData[64];
  DWORD                    dwShowChanName;
  WORD                     wShowNameTopLeftX;
  WORD                     wShowNameTopLeftY;
  NET_DVR_VILOST_V30       struVILost;
  NET_DVR_VILOST_V30       struRes;
  NET_DVR_MOTION_V30       struMotion;
  NET_DVR_HIDEALARM_V30    struHideAlarm;
  DWORD                    dwEnableHide;
  NET_DVR_SHELTER          struShelter[MAX_SHELTERNUM];
  DWORD                    dwShowOsd;
  WORD                     wOSDTopLeftX;
  WORD                     wOSDTopLeftY;
  BYTE                     byOSDType;
  BYTE                     byDispWeek;
  BYTE                     byOSDAttrib;
  BYTE                     byHourOsdType;
  BYTE                     byFontSize;
  BYTE                     byOSDColorType;
  BYTE                     byAlignment;
  BYTE                     byOSDMilliSecondEnable;
  NET_DVR_RGB_COLOR        struOsdColor;
  BYTE                     byRes[56];
}NET_DVR_PICCFG_V30,*LPNET_DVR_PICCFG_V30;

Members

dwSize
Structure size
sChanName
Channel name
dwVideoFormat
Video format：1-NTSC，2-PAL
byReservedData
Reserved, set it to 0
dwShowChanName
Whether display the channel name on the image of live view：0-no，1-yes（area size is 704*576）
wShowNameTopLeftX
The x-coordinate of the display position of channel name
wShowNameTopLeftY
The y-coordinate of the display position of channel name
struVILost
Alarm parameter of video loss
struRes
Reserved, set it to 0
struMotion
Alarm parameter of motion detection
struHideAlarm
Alarm parameter of video tampering
dwEnableHide
Enable the privacy mask: 0-no，1-yes
struShelter
Area parameter of privacy mask
dwShowOsd
Show the OSD on the image of live view：0-no，1-yes（area size is 704*576）
wOSDTopLeftX
The x-coordinate of OSD
wOSDTopLeftY
The y-coordinate of OSD
byOSDType
OSD type(year-month-day format )：
0－XXXX-XX-XX year-month-day
1－XX-XX-XXXX month-day-year
2－XXXXyearXXmonthXXday
3－XXmonthXXdayXXXXyear
4－XX-XX-XXXX day-month-year
5－XXdayXXmonthXXXXyear
byDispWeek
Show the week：0-no，1-yes
byOSDAttrib
OSD properties（Transparent/Twinkle）：
1－Transparent, Twinkle
2－Transparent, non-Twinkle
3－non-Transparent, Twinkle
4－non-Transparent, non-Twinkle
byHourOsdType
Hour format：0-24 hours，1- 12 hours am/pm
byFontSize
Font size：0- 16*16(CN)/8*16(EN)，1- 32*32(CN)/16*32(EN)，2- 64*64(CN)/32*64(EN)，3- 48*48(CN)/24*48(EN)，4- 24*24(CN)/12*24(EN)，0xff- adaptive
byOSDColorType
0-default(black&white), 1-custom
struOsdColor
The color of OSD, the color of OSD obey to RGB888
byAlignment
Align mode: 0- Auto adapted, 1- right alignment, 2- left alignment
byOSDMilliSecondEnable
Video overlay time, supports the unit of ms (supported by intelligent traffic camera of version 4.1 and above):0- Not overlay, 1- Overlay
byRes[56]
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

Expanding structure can refer to:

NET_DVR_PICCFG_V40


NET_DVR_PICCFG_V40

Structure of channel image

struct{
  DWORD                    dwSize;
  BYTE                     sChanName[NAME_LEN];
  DWORD                    dwVideoFormat;
  NET_DVR_VICOLOR          struViColor;
  DWORD                    dwShowChanName;
  WORD                     wShowNameTopLeftX;
  WORD                     wShowNameTopLeftY;
  DWORD                    dwEnableHide;
  NET_DVR_SHELTER          struShelter[MAX_SHELTERNUM];
  DWORD                    dwShowOsd;
  WORD                     wOSDTopLeftX;
  WORD                     wOSDTopLeftY;
  BYTE                     byOSDType;
  BYTE                     byDispWeek;
  BYTE                     byOSDAttrib;
  BYTE                     byHourOsdType;
  BYTE                     byFontSize;
  BYTE                     byOSDColorType;
  BYTE                     byAlignment;
  BYTE                     byOSDMilliSecondEnable;
  NET_DVR_VILOST_V40       struVILost;
  NET_DVR_VILOST_V40       struAULost;
  NET_DVR_MOTION_V40       struMotion;
  NET_DVR_HIDEALARM_V40    struHideAlarm;
  NET_DVR_RGB_COLOR        struOsdColor;
  BYTE                     byRes[128];
}NET_DVR_PICCFG_V40,*LPNET_DVR_PICCFG_V40;

Members

dwSize
Structure size
sChanName
Channel name
dwVideoFormat
Video format：1-NTSC，2-PAL
struViColor
Set the image parameter by time period
dwShowChanName
Whether display the channel name on the image of live view：0-no，1-yes（area size is 704*576）
wShowNameTopLeftX
The x-coordinate of the display position of channel name
wShowNameTopLeftY
The y-coordinate of the display position of channel name
dwEnableHide
Enable the privacy mask: 0-no，1-yes
struShelter
Area parameter of privacy mask
dwShowOsd
Show the OSD on the image of live view：0-no，1-yes（area size is 704*576）
wOSDTopLeftX
The x-coordinate of OSD
wOSDTopLeftY
The y-coordinate of OSD
byOSDType
OSD type(year-month-day format )：
0－XXXX-XX-XX year-month-day
1－XX-XX-XXXX month-day-year
2－XXXXyearXXmonthXXday
3－XXmonthXXdayXXXXyear
4－XX-XX-XXXX day-month-year
5－XXdayXXmonthXXXXyear
6－xx/xx/xxxx month/day/year
7－xxxx/xx/xx year/month/day
8－xx/xx/xxxx day/month/year
byDispWeek
Show the week：0-no，1-yes
byOSDAttrib
OSD properties（Transparent/Twinkle）：
1－Transparent, Twinkle
2－Transparent, non-Twinkle
3－non-Transparent, Twinkle
4－non-Transparent, non-Twinkle
byHourOsdType
Hour format：0-24 hours，1- 12 hours am/pm
byFontSize
Font size：0- 16*16(CN)/8*16(EN)，1- 32*32(CN)/16*32(EN)，2- 64*64(CN)/32*64(EN)，3- 48*48(CN)/24*48(EN)，4- 24*24(CN)/12*24(EN)，0xff- adaptive
byAlignment
Align mode: 0- Auto adapted, 1- right alignment, 2- left alignment
byOSDMilliSecondEnable
Video overlay time, supports the unit of ms (supported by intelligent traffic camera of version 4.1 and above):0- Not overlay, 1- Overlay
struVILost
Alarm parameter of video loss(expand）
struRes
Alarm parameter of video loss(expand), Reserved
struMotion
Alarm parameter of motion detection（expand）
struHideAlarm
Alarm parameter of video tampering (expand）
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

The structure expands from

NET_DVR_PICCFG_V30


NET_DVR_PICPARAM_V50

Capture parameter structure

struct{
  NET_DVR_JPEGPARA    struParam;
  BYTE                byPicFormat;
  BYTE                byCapturePicType;
  BYTE                byRes[254];
}NET_DVR_PICPARAM_V50, *LPNET_DVR_PICPARAM_V50;

Members

struParam
Picture parameters, including capture resolution and quality
byPicFormat
Device capture picture format: 0- JPEG
byCapturePicType
Device capture picture type: 0- device general capture, 1- panoramic camera calibrated picture (FPJA refresh after restart to get picture, requiring up to 3 minutes), 2- get panoramic camera calibrated picture from flash
byRes
Reserved, set as 0

Remarks

  • Whether device supports capture function or supported parameters, can be determined through device JPEG capture capability set (JpegCaptureAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_JPEG_CAP_ABILITY, node: <CapturePicture>.

See Also

NET_DVR_CapturePicture_V50


NET_DVR_PICTURE_NAME

Picture naming rule.

struct{
  BYTE      byItemOrder[PICNAME_MAXITEM];
  BYTE      byDelimiter;
}NET_DVR_PICTURE_NAME, *LPNET_DVR_PICTURE_NAME;

Members

byItemOrder
Parameters related to file naming, listed as below:
Macro Definition | Value | Meaning
PICNAME_ITEM_DEV_NAME | 1 | Device name
PICNAME_ITEM_DEV_NO | 2 | Decice NO.
PICNAME_ITEM_DEV_IP | 3 | IP of device
PICNAME_ITEM_CHAN_NAME | 4 | Channel name
PICNAME_ITEM_CHAN_NO | 5 | Channel NO.
PICNAME_ITEM_TIME | 6 | Time
PICNAME_ITEM_CARDNO | 7 | Card NO.
PICNAME_ITEM_PLATE_NO | 8 | License plate NO.
PICNAME_ITEM_PLATE_COLOR | 9 | Color of license plate
PICNAME_ITEM_CAR_CHAN | 10 | Drive lane NO.
PICNAME_ITEM_CAR_SPEED | 11 | Car speed
PICNAME_ITEM_CARCHAN | 12 | Monitoring point
PICNAME_ITEM_PIC_NUMBER | 13 | The sequence number of picture
PICNAME_ITEM_SPEED_LIMIT_VALUES | 15 | Speed limit
PICNAME_ITEM_ILLEGAL_CODE | 16 | Illegal code
PICNAME_ITEM_CROSS_NUMBER | 17 | Cross number
PICNAME_ITEM_DIRECTION_NUMBER | 18 | Direction number
PICNAME_ITEM_CAR_COLOR | 19 | Vehicle color
PICNAME_ITEM_PLATE_COORDINATE | 20 | Plate coordinate
PICNAME_ITEM_CAR_TYPE | 21 | Vehicle type
PICNAME_ITEM_VIOLATION_TYPE | 22 | Violation type
PICNAME_ITEM_CUSTOM | 255 | Custom
byDelimiter
Delimiter:"_", "-", "+", "=", or ".", it is '_' generally

See Also

NET_ITC_FTP_CFG NET_DVR_JPEGCFG_V30


NET_DVR_PICTURECFG

Structure of picture parameter.

struct{
  DWORD                  dwSize;
  BYTE                   byUseType;
  BYTE                   bySequence;
  BYTE                   byRes[2];
  NET_DVR_BASEMAP_CFG    struBasemapCfg;
  BYTE                   byRes2[64];
}NET_DVR_PICTURECFG,*LPNET_DVR_PICTURECFG;

Members

dwSize
Structure size
byUseType
1- picture used as traced drawing
bySequence
Sequence number of the picture, please set to 0
byRes
Reserved, please set to 0
struBasemapCfg
Traced drawing configuration
byRes2
Reserved, please set to 0

See Also

NET_DVR_PicUpload


NET_DVR_PICTUREINFO

Structure of picture information.

struct{
  DWORD       dwSize;
  BYTE        byChanIndex;
  BYTE        byRes1[3];
  BYTE        byDeviceID[NAME_LEN];
  BYTE        byAbsTime[32];
  DWORD       dwPicLen;
  BYTE        byRes2[32];
  BYTE        *pPicBuffer;
}NET_DVR_PICTUREINFO,*LPNET_DVR_PICTUREINFO;

Members

dwSize
Structure size
byChanIndex
Channel number
byRes1
Reserved, please set to 0
byDeviceID
Device ID string
byAbsTime
Absolute time, accurate to ms: yyyymmddhhmmssxxx, e.g. 20090810235959999
dwPicLen
Length of picture
byRes2
Reserved, please set to 0
pPicBuffer
Uploaded picture information

Remarks

In order to get picture information normally, it requires to set address and port of picture server in CMS configuration (NET_DVR_CMSPARAM), and then call NET_DVR_StartListen() to start listen and set the alarm callback function.

See Also

NET_DVR_StartListen_V30


NET_DVR_PICVIEW_CALLBACKPARAM

Structure of registration message for picture view callback

struct{
  DWORD    dwUserID;
  BYTE     sDeviceID[16];
  LONG     nPicViewHandle;
  WORD     wSignalIndex;
  WORD     wHeadLen;
  BYTE     byHeadBuf[100];
  BYTE     byRes[32];
}NET_DVR_PICVIEW_CALLBACKPARAM, *LPNET_DVR_PICVIEW_CALLBACKPARAM;

Members

dwUserID
User ID
sDeviceID
Device ID
nPicViewHandle
The handle of picture view callback
wSignalIndex
Signal source index
wHeadLen
The length of file header, the file header of stream is 40 bytes
byHeadBuf
File header
byRes
Reserved

See Also

NET_DVR_SetPicViewResponseCallBack


NET_DVR_PIN_PARAM

Structure of PIN code parameter

struct{
  DWORD    dwSize;
  BYTE     byPIN[8];
  BYTE     byRes[32];
}NET_DVR_PIN_PARAM, *LPNET_DVR_PIN_PARAM;

Members

dwSize
Structure size
byPIN
PIN code
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_PINCODEPARAM

Structure of PIN code parameter.

struct{
  DWORD       dwSize;
  BYTE        byPinCmd;
  BYTE        byRes1[3];
  BYTE        byPinCode[MAX_PIN_LEN];
  BYTE        byNewPinCode[MAX_PIN_LEN];
  BYTE        byRes2[16];
}NET_DVR_PINCODEPARAM,*LPNET_DVR_PINCODEPARAM;

Members

dwSize
Structure size
byPinCmd
PIN command, defined as below:
enum _PIN_READY_{
  PIN_ENABLE  = 1,
  PIN_DISABLE = 2,
  PIN_VERIFY  = 3,
  PUK_VERIFY  = 4,
  PIN_CHANGE  = 5
}PIN_READY
PIN_ENABLE
Enable PIN
PIN_DISABLE
Disable PIN
PIN_VERIFY
Verify PIN
PUK_VERIFY
Verify PUK
PIN_CHANGE
Modify PIN
byRes1
Reserved, please set to 0
byPinCode
PIN or PUK code
byNewPinCode
New PIN
byRes
Reserved, please set to 0

Remarks

It requires to get PIN status before do operation about PIN. According to the returned status(NET_DVR_PINSTATUS), it determines that which items are allowed to operate and which items are not allowed to operate, as follows:
byStatus == CPIN_PIN, "PIN_VERIFY" is allowed, and the other items are not allowed;
byStatus == CPIN_PUK, "PUK_VERIFY" is allowed, and the other items are not allowed;
byStatus == CPIN_READY && bEnableLock == 0, "PIN_ENABLE" is allowed, and the other items are not allowed;
byStatus == CPIN_READY && bEnableLock == 1, "PIN_DISABLE" and "PIN_CHANGE" are allowed, and the other items are not allowed.

When byPinCmd is PIN_ENABLE, PIN_DISABLE, or PIN_VERIFY, it requires to input byPinCode only, and no need to input byNewPinCode.
When byPinCmd is PUK_VERIFY or PIN_CHANGE, it requires to input both byPinCode and byNewPinCode.

PIN operator interface should provide current PIN status and remaining operation times to the user, so the information returned by PIN command includes PIN_STATUS and should real-time refresh the information.

See Also

NET_DVR_SetDVRConfig


NET_DVR_PINSTATUS

Structure of PIN code status.

struct{
  DWORD       dwSize;
  BYTE        byStatus;
  BYTE        byPinTimes;
  BYTE        byPukTimes;
  BYTE        bEnableLock;
  BYTE        byRes[4];
}NET_DVR_PINSTATUS,*LPNET_DVR_PINSTATUS;

Members

dwSize
Structure size
byStatus
PIN status, defined as below:
enum _PIN_READY_{
  CPIN_READY = 1,
  CPIN_PIN   = 2,
  CPIN_PUK   = 3,
  CPIN_PIN2  = 4,
  CPIN_PUK2  = 5
}PIN_READY
byPinTimes
Times of continuous input PIN code
byPukTimes
Times of continuous input PUK code
bEnableLock
Whether lock PIN code or not: 0- unlock, 1- lock
byRes
Reserved, please set to 0

Remarks

See Also

NET_DVR_GetDVRConfig


NET_DVR_PIP_CFG

PIP parameters structure

struct{
  DWORD              dwSize;
  BYTE               byEnable;
  BYTE               bySubWindowSource;
  BYTE               bySubWindowBorderColor;
  BYTE               byRes1;
  NET_DVR_RECTCFG    struPosition;
  BYTE               byRes2[12];
}NET_DVR_PIP_CFG,*LPNET_DVR_PIP_CFG;

Members

dwSize
Structure size
byEnable
Enable PIP? 0- No, 1-Yes
bySubWindowSource
Sub window signal source, for details, seeNET_DVR_CAM_MODE
bySubWindowBorderColor
Sub window border color: 1- Blue, 2- Black
byRes1
Reserved, set as 0.
struPosition
Sub window position
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PIRIS_PARAM

Structute of P-Iris size level configuration

struct{
  BYTE    byMode;
  BYTE    byPIrisAperture;
  BYTE    byRes[6];
}NET_DVR_PIRIS_PARAM, *LPNET_DVR_PIRIS_PARAM;

Members

byMode
P-Iris mode：0- auto, 1- manual
byPIrisAperture
Iris size level, the higher level, the bigger Iris, data range:1~100, default to :50, can be modified in the manual mode
byRes
Reserved, set it to 0

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_PLAN_CFG

Structure of plan configuration

struct{
  DWORD                 dwSize;
  BYTE                  byValid;
  BYTE                  byWorkMode;
  BYTE                  byRes1[2];
  BYTE                  byPlanName[NAME_LEN];
  NET_DVR_TIME_EX       struTime;
  NET_DVR_CYCLE_TIME    struTimeCycle[DAYS_A_WEEK];
  DWORD                 dwWorkCount;
  NET_DVR_PLAN_INFO     strPlanEntry[MAX_PLAN_ACTION_NUM];
  BYTE                  byRes2[64];
}NET_DVR_PLAN_CFG,*LPNET_DVR_PLAN_CFG;

Members

dwSize
Structure size
byValid
Whether this plan is valid or not: 0- no, 1- yes
byWorkMode
Plan work mode: 1- manual, 2- automatic, 3- plan cycle
byRes1
Reserved, please set to 0
byPlanName
Plan name
struTime
Time, used when byWorkMode = 2
struTimeCycle
Cycle time, the period is one week, year, month and day are not used. The value range: [0,6], 0 means Sunday, 1 means Monday, and so forth
E.g. struTimeCycle[0].byValid = 1, it means it will perform the plan on Sunday.
dwWorkCount
The performance times of the plan, it is invalid when byWorkMode = 1
strPlanEntry
The content of plan
byRes2
Reserved, please set to 0

See Also

NET_DVR_PLAN_LIST

NET_DVR_SetDVRConfig


NET_DVR_PLAN_INFO

Structure of plan item information

struct{
  BYTE     byValid;
  BYTE     byType;
  WORD     wLayoutNo;
  BYTE     byScreenStyle;
  BYTE     byRes1[3];
  DWORD    dwDelayTime;
  BYTE     byRes2[32];
}NET_DVR_PLAN_INFO,*LPNET_DVR_PLAN_INFO;

Members

byValid
Whether this item is valid or not: 0- no, 1- yes
byType
Performance type:
enum _NET_DVR_PLAN_OPERATE_TYPE_{
  NET_DVR_SWITCH_LAYOUT  = 1,
  NET_DVR_SCREEN_POWER_OFF,
  NET_DVR_SCREEN_POWER_ON
}NET_DVR_PLAN_OPERATE_TYPE
NET_DVR_SWITCH_LAYOUT
Layout switch (default)
NET_DVR_SCREEN_POWER_OFF
Close the display of large screen
NET_DVR_SCREEN_POWER_ON
Open the display of large screen
wLayoutNo
Layout series number, starting from 1
byScreenStyle
Screen style, used for startup and shutdown: 1- low-lighted, 2- highlighted
byRes1
Reserved, please set to 0
dwDelayTime
The running time of single item, unit: s
byRes2
Reserved, please set to 0

See Also

NET_DVR_PLAN_CFG


NET_DVR_PLAN_LIST

Structure of plan list

struct{
  DWORD    dwSize;
  DWORD    dwPlanNums;
  BYTE     *pBuffer;
  BYTE     byRes1[3];
  DWORD    dwBufLen;
  BYTE     byRes2[64];
}NET_DVR_PLAN_LIST,*LPNET_DVR_PLAN_LIST;

Members

dwSize
Structure size
dwPlanNums
The count of plans
pBuffer
Plan information, points to the buffer which size is dwPlanNums*sizeof(NET_DVR_PLAN_CFG)
byRes1
Reserved, please set to 0
dwBufLen
The buffer size
byRes2
Reserved, please set to 0

Remarks

1. Please call NET_DVR_GetPlanList and set pBuffer of the structure to NULL and dwBufLen to 0, then it will get the count of plans (dwPlanNums);
2. Please allocate the size of pBuffer according to the value of dwPlanNums, and then call NET_DVR_GetPlanList again, it will get the plan list (pBuffer).

See Also

NET_DVR_GetPlanList


NET_DVR_PLAN_TEMPLATE

Schedule Template Configuration Structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  BYTE     byTemplateName[TEMPLATE_NAME_LEN];
  DWORD    dwWeekPlanNo;
  DWORD    dwHolidayGroupNo[MAX_HOLIDAY_GROUP_NUM];
  BYTE     byRes2[32];
}NET_DVR_PLAN_TEMPLATE,*LPNET_DVR_PLAN_TEMPLATE;

Members

dwSize
The size of the structure
byEnable
Enable? 0- No; 1- Yes
byRes1
Reserved, set as 0
byGroupName
Schedule Template Name
dwWeekPlanNo
Week Schedule No. 0- Invalid.
dwHolidayGroupNo
Holiday Group No. 0- Invalid.
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PLAN_TEMPLATE_COND

Card permission plan template configuration condition structure

struct{
  DWORD   dwSize;
  DWORD   dwPlanTemplateNumber;
  WORD    wLocalControllerID;
  BYTE    byRes[106];
}NET_DVR_PLAN_TEMPLATE_COND,*LPNET_DVR_PLAN_TEMPLATE_COND;

Members

dwSize
Structure size
dwPlanTemplateNumber
Plan template No., starting from 1, and the max. value from access control capability set
wLocalControllerID
Distributed access controller No.[1,64], 0 means host
byRes
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_PLAN_VQD_CFG

Diagnosis Server Schedule Parameters Structure

struct{
  DWORD                dwSize;
  BYTE                 sPlanID[PLAN_ID_LEN];
  NET_DVR_SCHEDTIME    struDetectTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                 byPlanMode;
  BYTE                 byRes1;
  BYTE                 byCheckFlag;
  BYTE                 bySignal;
  BYTE                 byBlur;
  BYTE                 byLuma;
  BYTE                 byChroma;
  BYTE                 bySnow;
  BYTE                 byStreak;
  BYTE                 byFreeze;
  BYTE                 byPTZ;
  BYTE                 byEnablePlanRound;
  BYTE                 byRes[20];
}NET_DVR_PLAN_VQD_CFG,*LPNET_DVR_PLAN_VQD_CFG;

Members

dwSize
The size of the structure
sPlanID
Schedule ID, the length should be less then 31 characters
struDetectTime
Detection time
byPlanMode
Schedule mode, 0- Instant schedule, 1- Period schedule
byRes1
Reserved
byCheckFlag
Enable the diagnosis? 0- No, 1- Yes
bySignal
Enable video loss diagnosis? 0- No, 1- Yes
byBlur
Enable blur image diagnosis? 0- No, 1- Yes
byLuma
Enable brightness exception diagnosis? 0- No, 1- Yes
byChroma
Enable color cast diagnosis? 0- No, 1- Yes
bySnow
Enable snow interference diagnosis? 0- No, 1- Yes
byStreak
Enable streak interference diagnosis? 0- No, 1- Yes
byFreeze
Enable image freeze diagnosis? 0- No, 1- Yes
byPTZ
Enable PTZ diagnosis? 0- No, 1- Yes
byEnablePlanRound
Enable loop schedule?
byRes
Reserved.

Remarks

For schedule management, configure the schedule via the command of NET_DVR_SET_MONITOR_PLAN_VQDCFG, then configure the camera information in the schedule via NET_DVR_SET_MONITOR_INFO。。

You can get the schedule information (NET_DVR_PLAN_VQD_CFG) and camera information ( NET_DVR_STREAM_INFO) in the schedule via the long connection interface NET_DVR_StartRemoteConfig。

See Also

NET_DVR_SetDeviceConfig


NET_DVR_PLATE_INFO

Sub structure of license plate recognition

struct{
  BYTE                  byPlateType;
  BYTE                  byColor;
  BYTE                  byBright;
  BYTE                  byLicenseLen;
  BYTE                  byEntireBelieve;
  BYTE                  byRegion;
  BYTE                  byCountry;
  BYTE                  byRes[35];
  NET_VCA_RECT          struPlateRect;
  char                  sLicense[MAX_LICENSE_LEN];
  BYTE                  byBelieve[MAX_LICENSE_LEN];
}NET_DVR_PLATE_INFO, *LPNET_DVR_PLATE_INFO;

Members

byPlateType
License plate type, defined as below:
enum _VCA_PLATE_TYPE_{
  VCA_STANDARD92_PLATE = 0,
  VCA_STANDARD02_PLATE,
  VCA_WJPOLICE_PLATE,
  VCA_JINGCHE_PLATE,
  STANDARD92_BACK_PLATE,
  VCA_SHIGUAN_PLATE,
  VCA_NONGYONG_PLATE,
  VCA_MOTO_PLATE
}VCA_PLATE_TYPE
VCA_STANDARD92_PLATE
License plate of standard civil car and military car
VCA_STANDARD02_PLATE
Civil car license plate of form 02
VCA_WJPOLICE_PLATE
License plate of armed police car
VCA_JINGCHE_PLATE
License plate of police car
STANDARD92_BACK_PLATE
Dual-line rear plate of civil car
VCA_SHIGUAN_PLATE
License plate of embassy car
VCA_NONGYONG_PLATE
License plate of agricultural vehicle
VCA_MOTO_PLATE
License plate of motorcycle
byColor
Color of license plate, defined as below:
enum _VCA_PLATE_COLOR_{
  VCA_BLUE_PLATE  = 0,
  VCA_YELLOW_PLATE,
  VCA_WHITE_PLATE,
  VCA_BLACK_PLATE
}VCA_PLATE_COLOR
VCA_BLUE_PLATE
Blue license plate
VCA_YELLOW_PLATE
Yellow license plate
VCA_WHITE_PLATE
White license plate
VCA_BLACK_PLATE
Black license plate
VCA_GREEN_PLATE
Green licence plate
VCA_BKAIR_PLATE
Civil aviation black license plate
byBright
Brightness of license plate
byLicenseLen
The number of plate characters
byEntireBelieve
Accuracy of the license plate (percentage): 0~100
byRegion
Region index: 0- Reserved, 1- Europe Region，2- Russian Region，3- Europe and Russian (EU&CIS)，0xff- All
byCountry
Country index, for details, seeCOUNTRY_INDEX
byRes
Reserved
struPlateRect
Plate location
sLicense
License number
byBelieve
Accuracy of every recognizing character.

See Also

NET_DVR_PLATE_RESULT NET_ITS_PLATE_RESULT


NET_DVR_PLATE_RESULT

License plate detection result of traffic camera.

struct{
  DWORD                    dwSize;
  BYTE                     byResultType;
  BYTE                     byChanIndex;
  WORD                     wAlarmRecordID;
  DWORD                    dwRelativeTime;
  BYTE                     byAbsTime[32];
  DWORD                    dwPicLen;
  DWORD                    dwPicPlateLen;
  DWORD                    dwVideoLen;
  BYTE                     byTrafficLight;
  BYTE                     byPicNum;
  BYTE                     byDriveChan;
  BYTE                     byVehicleType;
  DWORD                    dwBinPicLen;
  DWORD                    dwCarPicLen;
  DWORD                    dwFarCarPicLen;
  BYTE                     *pBuffer3;
  BYTE                     *pBuffer4;
  BYTE                     *pBuffer5;
  BYTE                     byRes3[8];
  NET_DVR_PLATE_INFO       struPlateInfo;
  NET_DVR_VEHICLE_INFO     struVehicleInfo;
  BYTE                     *pBuffer1;
  BYTE                     *pBuffer2;
}NET_DVR_PLATE_RESULT, *LPNET_DVR_PLATE_RESULT;

Members

dwSize
Structure size
byResultType
Recognition result type: 0- recognize via video, 1- recognize via image, 2-long video (support query)
byChanIndex
Channel index
wAlarmRecordID
Alarm video ID (for the query, only when byResultType is 2 effective)
dwRelativeTime
Relative time (reserved)
byAbsTime
Absolute time, accurate to ms: yyyymmddhhmmssxxx, e.g. 20090810235959999
dwPicLen
Length of picture (close-range picture)
dwPicPlateLen
Length of plate picture(color picture of license plate)
dwVideoLen
Length of recording content
byTrafficLight
0 - snap when it isnot red or green light, 1- snap when it is green light, 2- snap when it is red light
byPicNum
Index of continously snapping picture
byDriveChan
The lane that triggered snapshot
byVehicleType
Vehicle type: 0- is unknown, 1- bus, 2- turck, 3- car, 4- microbus, 5- van
dwBinPicLen
Length of binary picture(supported only by iDS-65xx)
dwCarPicLen
Length of close-range picture(supported only by iDS-65xx)
dwFarCarPicLen
Length of far-range picture(supported only by iDS-65xx)
pBuffer3
Binary picture of license plate(supported only by iDS-65xx)
pBuffer4
Original picture of vehicle(supported only by iDS-65xx)
pBuffer5
Far-range picture(supported only by iDS-65xx)
byRes3
Reserved
struPlateInfo
License plate information
struVehicleInfo
Vehicle car information
*pBuffer1
It refers to picture information when the uploaded information is about picture, and length of picture is dwPicLen; when the uploaded information is record, it refers to record information, length of record information is dwVideoLen
*pBuffer2
When the uploaded information is about picture, it refers to small picture information of license plate. The length of the picture is dwPicPlateLen

Remarks

The information uploaded by intelligent traffic camera is picture or record. We can make sure that the information is picture or record by ascertaining whether the length of picture and record is 0.indicate video abnormal, and only upload alarm information without video, and the pointer to the video is NULL.

iDS-65xx manual snap supports only uploading pBuffer1 and pBuffer2.

If byResultType is 2, wAlarmRecordID can be used as search conditions to search alarm video.

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_PLATECHECK_PARA

Structure of license plate comparison parameter.

struct{
  BYTE              byAlarmWhenChecked;
  BYTE              byInformWhenChecked;
  BYTE              byRes[6];
  NET_DVR_IPADDR    struBlackFtpServer;
}NET_DVR_PLATECHECK_PARA, *LPNET_DVR_PLATECHECK_PARA;

Members

byAlarmWhenChecked
Whether alarm or not if successful to inspect: 0- no, 1- yes
byInformWhenChecked
Whether pop up dialog box to prompt if successful to inspect: 0- no, 1- yes
byRes
Reserved, please set to 0
struBlackFtpServer
Address of FTP server in black list

See Also

NET_DVR_IPADDR
NET_DVR_ENFORCESYS_PARA


NET_DVR_PLATERECOG_PARA

Structure of license plate recognition parameter.

struct{
  DWORD             dwSize;
  BYTE              byPrMode;
  BYTE              byPrScene;
  BYTE              byPrDetRect;
  BYTE              byPrPicQuality;
  BYTE              byPrPicMode;
  BYTE              byPlateOsdDisplay;
  BYTE              byPrProvCharIndex;
  BYTE              byPrProvCharIndex1;
  BYTE              byPrProvCharIndex2;
  BYTE              byRes[7];
}NET_DVR_PLATERECOG_PARA, *LPNET_DVR_PLATERECOG_PARA;

Members

dwSize
Structure size
byPrMode
License plate recognition mode: 0- static image, 1- motion video
byPrScene
License plate recognition scene: 0- low speed scene, 1- high speed scene
byPrDetRect
0- full screen, 1- central area
byPrPicQuality
Quality of picture returned by license plate recognition: 0- low, 1- normal, 2- higher, 3- highest
byPrPicMode
Resolution of picture returned by license plate recognition: 0- D1, 1- CIF, 2- QCIF
byPlateOsdDisplay
Whether display license plate OSD: 0- not display, 1- display
byPrProvCharIndex
The index corresponding to the first Chinese character of plate recognition province
byPrProvCharIndex1
The index corresponding to the first common Chinese character of plate recognition
byPrProvCharIndex2
The index corresponding to the second common Chinese character of plate recognition
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PLATFORM_VERIFY_CFG

Platform authentication result information structure

struct{
  DWORD    dwSize;
  DWORD    dwDoorNo;
  BYTE     byResultType;
  BYTE     byRes1[3];
  BYTE     byScreenDisplay[MAX_SCREEN_DISPLAY_LEN];
  BYTE     byRes[300];
}NET_DVR_PLATFORM_VERIFY_CFG, *LPNET_DVR_PLATFORM_VERIFY_CFG;

Members

dwSize
Structure size
dwDoorNo
Door No.
byResultType
Authentication result type: 0- illegal, 1- legal
byRes1
Reserved, set as 0
byScreenDisplay
LED screen display, string, used to display authentication information
byRes
Reserved, set as 0

Remarks

  • Whether the device supports platform authentication or supported parameter capability, can be determined through device capability set (AcsAbility ), API:NET_DVR_GetDeviceAbility, capability set type: ACS_ABILITY, node: <PlatformVerifyCfg>.

See Also

NET_DVR_SetDVRConfig


NET_DVR_PLAY_BACK_BY_TIME

Structure of playback by time information

struct{
  NET_DVR_TIME    StartTime;
  NET_DVR_TIME    StopTime;
}NET_DVR_PLAY_BACK_BY_TIME, *LPNET_DVR_PLAY_BACK_BY_TIME;

Members

StartTime
Start time of playback
StopTime
End time of playback

See Also

NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX


NET_DVR_PLAYBACKCALLBACKPARAM

Response callback parameter structure of push-mode playback stream.

struct{
  BYTE             byPlayBackMode;
  BYTE             byRes1[3];
  union{
           BYTE           sFileName[100];
           struct{
           LONG           lChannel;
           NET_DVR_TIME   struStartTime;
           NET_DVR_TIME   struStopTime;
           BYTE           byRes[48];
           }struPlayBackbyTime;
  }playbackmode;
  BYTE             byRes2[48];
}NET_DVR_PLAYBACKCALLBACKPARAM,*LPNET_DVR_PLAYBACKCALLBACKPARAM;

Members

byPlayBackMode
Playback or download mode: 1- by file name, 2- by time
byRes1
Reserved, please set to 0
sFileName
File name
lChannel
Channel number
struStartTime
Starting time of playback by time
struStopTime
End time of playback by time
byRes
Reserved, please set to 0
byRes2
Reserved, please set to 0

See Also

NET_DVR_TIME
NET_DVR_SetPlaybackResponseCallBack


NET_DVR_PLAYBACKREQUESTPARAM

Structure of playback request parameter.

struct{
  BYTE             byPlayBackMode;
  BYTE             byRes1[3];
  union{
           BYTE           sFileName[100];
           struct{
           LONG           lChannel;
           NET_DVR_TIME   struStartTime;
           NET_DVR_TIME   struStopTime;
           BYTE           byRes[48];
           }struPlayBackbyTime;
  }playbackmode;
  NET_DVR_IPADDR   struCuIp;
  WORD             wPort;
  BYTE             byRes2[22];
}NET_DVR_PLAYBACKREQUESTPARAM,*LPNET_DVR_PLAYBACKREQUESTPARAM;

Members

byPlayBackMode
Playback or download mode: 1- by file name, 2- by time
byRes1
Reserved, please set to 0
sFileName
File name
lChannel
Channel number
struStartTime
Starting time of playback by time
struStopTime
End time of playback by time
byRes
Reserved, please set to 0
struCuIp
IP address of CU
wPort
Port number of CU
byRes2
Reserved, please set to 0

See Also

NET_DVR_TIME NET_DVR_IPADDR
NET_DVR_PlaybackRequest


NET_DVR_PLAYCOND

Structure of playback or download information

struct{
  DWORD                 dwChannel;
  NET_DVR_TIME          struStartTime;
  NET_DVR_TIME          struStopTime;
  BYTE                  byDrawFrame;
  BYTE                  byRes[63];
}NET_DVR_PLAYCOND, *LPNET_DVR_PLAYCOND;

Members

dwChannel
Channel number
struStartTime
Starting time
struStopTime
Stopping time
byDrawFrame
Whether extract frame or not: 0- no, 1- yes
byRes
Reserved

See Also

NET_DVR_PlayBackReverseByTime_V40 NET_DVR_GetFileByTime_V40


NET_DVR_PLAYREMOTEFILE

Structure of decorder playback parameters.

struct{
  DWORD   dwSize;
  char    sDecoderIP[16];
  WORD    wDecoderPort;
  WORD    wLoadMode;
  union{
           BYTE   byFile[100];
           struct{
           DWORD          dwChannel;
           BYTE           sUserName[NAME_LEN];
           BYTE           sPassword[PASSWD_LEN];
           NET_DVR_TIME   struStartTime;
           NET_DVR_TIME   struStopTime;
           }bytime;
  }mode_size;
}NET_DVR_PLAYREMOTEFILE,*LPNET_DVR_PLAYREMOTEFILE;

Members

dwSize
Structure size
sDecoderIP
IP of front-end device
wDecoderPort
Port NO. of front-end device
wLoadMode
Playback and downloading mode: 1- by file, 2- by time
byFile
Filename for playback
dwChannel
Channel NO.
sUserName
Username for video
sPassword
Password
struStartTime
Start time of playback by time
struStopTime
End time of playback by time

See Also

NET_DVR_TIME


NET_DVR_PLCCFG

Parameter structure of car plate light-compensation

struct{
  DWORD   dwSize;
  BYTE    byPlcEnable;
  BYTE    byPlateExpectedBright;
  BYTE    byRes1[2];
  BYTE    byTradeoffFlash;
  BYTE    byCorrectFactor;
  WORD    wLoopStatsEn;
  BYTE    byRes[20];
}NET_DVR_PLCCFG,*LPNET_DVR_PLCCFG;

Members

dwSize
Structure size
byPlcEnable
Whether enable car plate light-compensation(Enabled by default):0-disable,1-enable
byPlateExpectedBright
Expected brightness(50 by default),ranging from 0 to 100
byRes1
Reserved
byTradeoffFlash
Whether take effectness of flashlight(Enabled by default) into consideration: 0-close,1-open.(Under flashlight compensation,if you think about weakening effectness of flashlight compensation,set to 1,else set to 0)
byCorrectFactor
Correction factor(50 by default),ranging from 0 to 100.(Under switchness of byTradeoffFlash,set to default)
wLoopStatsEn
Whether set triggering coil involved in the license plate brightness statistics, indicated by bit, the value: 0- no, 1- yes
byRes
Reserved


NET_DVR_POE_CFG

Structure of POE parameter

struct{
 NET_DVR_IPADDR    struIP;
 char              byRes[128];
}NET_DVR_POE_CFG,*LPNET_DVR_POE_CFG;

Members

struIP
IP address
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_POE_CHANNEL_ADD_MODE

Structure of POE channel adding mode configuration

struct{
  DWORD    dwSize;
  BYTE     byAddMode;
  BYTE     byRes1[127];
}NET_DVR_POE_CHANNEL_ADD_MODE, *LPNET_DVR_POE_CHANNEL_ADD_MODE;

Members

dwSize
Structure size
byAddMode
Adding mode: 0- Plug-and-Play, 1- manually add
byRes1
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_POINT

Structure of region point info

struct{
  DWORD    dwX;
  DWORD    dwY;
}NET_DVR_POINT,*LPNET_DVR_POINT;

Members

dwX
X-axis
dwY
Y-axis

See Also

NET_DVR_CONFERENCE_REGION


NET_DVR_POINT_FRAME

Area location information of PTZ image.

struct{
  int    xTop;
  int    yTop;
  int    xBottom;
  int    yBottom;
  int    bCounter;
}NET_DVR_POINT_FRAME, *LPNET_DVR_POINT_FRAME;

Members

xTop
X axis coordinate of the rectangle starting point
yTop
Y axis coordinate of the rectangle starting point
xBottom
X axis coordinate of the rectangle end point
yBottom
Y axis coordinate of the rectangle end point
bCounter
Frame direction: 1- upper left, 2- upper right, 3- lower left, 4- lower right

Remarks

The coordinate value is related to the size of display box for current preview. Now we suppose the display box is 352*288, and set upper left point to be original point, calculation method of the first four parameters is as below:
xTop = (the value of upper left coordinate of currently selected area) *255/352;
xBottom = (the value of upper right coordinate of currently selected area) *255/352;
yTop = (the value of lower left coordinate of currently selected area) *255/288;
yBottom = (the value of lower right coordinate of currently selected area) *255/288;
Zoom-out condition: xBottom - xTop >2.
Zoom-in condition: xBottom - xTop > 0 and yBottom - yTop > 0.


NET_DVR_POOLPARAM

The structure of Cloud Storage Data Pool Parameters Structure

struct{
  DWORD    dwPoolID;
  BYTE     byRes[4];
}NET_DVR_POOLPARAM,*LPNET_DVR_POOLPARAM;

Members

dwPoolID
Cloud Storage Arranged Nodes
byRes
Reserved, set as 0

See Also

NET_DVR_CLOUDSTORAGE_CFG NET_DVR_SERVER_TEST_PARA


NET_DVR_PORTCFG

Structure of decoder transparent channel configuration.

struct{
  DWORD              dwSize;
  NET_DVR_PORTINFO   struTransPortInfo[MAX_TRANSPARENTNUM];
}NET_DVR_PORTCFG,*LPNET_DVR_PORTCFG;

Members

dwSize
Structure size
struTransPortInfo
Decoder transparent channel information

See Also

NET_DVR_PORTINFO


NET_DVR_PORTINFO

Sub structure of transparent channel configuration.

struct{
  DWORD   dwEnableTransPort;
  char    sDecoderIP[16];
  WORD    wDecoderPort;
  WORD    wDVRTransPort;
  char    cReserve[4];
}NET_DVR_PORTINFO,*LPNET_DVR_PORTINFO;

Members

dwEnableTransPort
Whether to enable transparent channel: 0- disable, 1- enable
sDecoderIP
IP address of front-end device
wDecoderPort
Port NO.
wDVRTransPort
Set output from RS485 or RS 232 : 1- RS232, 2- RS485
cReserve
Reserved, please set it to 0


NET_DVR_POSITION_INDEX

Structure of scene information rule.

struct{
  BYTE    byIndex;
  BYTE    byRes1;
  WORD    wDwell;
  BYTE    byRes2[4];
}NET_DVR_POSITION_INDEX,*LPNET_DVR_POSITION_INDEX;

Members

byIndex
Scene index
byRes1
Reserved
wDwell
Dwell time
byRes2
Reserved


NET_DVR_POSITION_RULE_CFG

Configuration structure of scene position behaviour rule.

struct{
  DWORD                  dwSize;
  NET_DVR_PTZ_POSITION   struPtzPosition;
  NET_VCA_RULECFG        struVcaRuleCfg;
  BYTE                   byRes2[80];
}NET_DVR_POSITION_RULE_CFG, *LPNET_DVR_POSITION_RULE_CFG;

Members

dwSize
Structure size
struPtzPosition
Information of scene position
struVcaRuleCfg
Configuration of behaviour rule
byRes2
Reserved

See Also

NET_DVR_PTZ_POSITION NET_VCA_RULECFG


NET_DVR_POSITION_TRACK_CFG

Structure of scene trcking rule list.

struct{
  DWORD                     dwSize;
  BYTE                      byNum;
  BYTE                      byRes1[3];
  NET_DVR_POSITION_INDEX    struPositionIndex[MAX_POSITION_NUM];
  BYTE                      byRes2[8];
}NET_DVR_POSITION_TRACK_CFG,*LPNET_DVR_POSITION_TRACK_CFG;

Members

dwSize
Structure size
byNum
Number of scene
byRes1
Reserved
struPositionIndex
Scene rule information
byRes2
Reserved

See Also

NET_DVR_POSITION_INDEX


NET_DVR_POSTEPOLICECFG

Structure of electronic police parameter.

struct{
  DWORD   dwSize;
  DWORD   dwDistance;
  DWORD   dwLightChan[MAX_SIGNALLIGHT_NUM];
  BYTE    byCapSpeed;
  BYTE    bySpeedLimit;
  BYTE    byTrafficDirection;
  BYTE    byRes[129];
}NET_DVR_POSTEPOLICECFG,*LPNET_DVR_POSTEPOLICECFG;

Members

dwSize
Structure size
dwDistance
Distance of two loops,unit:cm,range[0,20000]
dwLightChan
Traffic light channel number
byCapSpeed
Indication speed limit,unit:km/h,range[0,255]
bySpeedLimit
Speed limit,unit:km/h,range[0,255]
byTrafficDirection
Traffic direction,0-from east to west,1-from west to east,2-from south to north,3-from north to south
byRes
Rervered


NET_DVR_PPPCFG

Structure of PPP parameters.

struct{
  char      sRemoteIP[16];
  char      sLocalIP[16];
  char      sLocalIPMask[16];
  BYTE      sUsername[NAME_LEN];
  BYTE      sPassword[PASSWD_LEN];
  BYTE      byPPPMode;
  BYTE      byRedial;
  BYTE      byRedialMode;
  BYTE      byDataEncrypt;
  DWORD     dwMTU;
  char      sTelephoneNumber[PHONENUMBER_LEN];
}NET_DVR_PPPCFG, *LPNET_DVR_PPPCFG;

Members

sRemoteIP
Remote IP address
sLocalIP
Local IP address
sLocalIPMask
Local IP mask
sUsername
Usename
sPassword
Password
byPPPMode
PPP mode: 0- active, 1- passive
byRedial
Redial or not: 0- no, 1- yes
byRedialMode
Redial mode: 0- customize, 1- preset redial number
byDataEncrypt
Encrypt data or not: 0- no, 1- yes
dwMTU
MTU
sTelephoneNumber
Telephone NO.


NET_DVR_PPPCFG_V30

Structure of PPP parameters.

struct{
  NET_DVR_IPADDR      struRemoteIP;
  NET_DVR_IPADDR      struLocalIP;
  char                sLocalIPMask[16];
  BYTE                sUsername[NAME_LEN];
  BYTE                sPassword[PASSWD_LEN];
  BYTE                byPPPMode;
  BYTE                byRedial;
  BYTE                byRedialMode;
  BYTE                byDataEncrypt;
  DWORD               dwMTU;
  char                sTelephoneNumber[PHONENUMBER_LEN];
}NET_DVR_PPPCFG_V30, *LPNET_DVR_PPPCFG_V30;

Members

struRemoteIP
Remote IP address
struLocalIP
Local IP address
sLocalIPMask
Local IP mask
sUsername
Usename
sPassword
Password
byPPPMode
PPP mode: 0- active, 1- passive
byRedial
Redial or not: 0- no, 1- yes
byRedialMode
Redial mode: 0- customize, 1- preset redial number
byDataEncrypt
Encrypt data or not: 0- no, 1- yes
dwMTU
MTU
sTelephoneNumber
Telephone NO.

See Also

NET_DVR_IPADDR


NET_DVR_PPPDPARAM

Structure of PPP dialing parameter.

struct{
  BYTE                byDialNum[NAME_LEN];
  BYTE                byUserName[NAME_LEN];
  BYTE                byPassword[DIALPASSWD_LEN];
  BYTE                byApn[NAME_LEN];
  NET_DVR_IPADDR      struLocalIp;
  NET_DVR_IPADDR      struRemoteIp;
  WORD                wMtuSize;
  BYTE                byVerifyProtocal;
  BYTE                byRes[25];
}NET_DVR_PPPDPARAM, *LPNET_DVR_PPPDPARAM;

Members

byDialNum
Dialing number, e.g."#777"
byUserName
Dialing username
byPassword
Dialing password
byApn
Access point name
struLocalIp
Local IP address
struRemoteIp
Remote IP address
wMtuSize
MTU of PPP
byVerifyProtocal
IPCP verification protocol: 0- auto, 1- CHAP, 2- PAP
byRes
Reserved, please set to 0

See Also

NET_DVR_IPADDR
NET_DVR_DIALPARAM


NET_DVR_PPPOECFG

Structure of PPPoE parameters.

struct{
  DWORD             dwPPPOE;
  BYTE              sPPPoEUser[NAME_LEN];
  char              sPPPoEPassword[PASSWD_LEN];
  NET_DVR_IPADDR    struPPPoEIP;
}NET_DVR_PPPOECFG, *LPNET_DVR_PPPOECFG;

Members

dwPPPOE
Whether to enable PPPoE: 0- disable, 1- enable
sPPPoEUser
PPPoE user name
sPPPoEPassword
PPPoE password
struPPPoEIP
PPPoE IP address

See Also

NET_DVR_NETCFG_V30 NET_DVR_NETCFG_MULTI


NET_DVR_PPT_CHANNEL_CFG

PPT supported channel information structure

struct{
  DWORD    dwSize;
  BYTE     byChan[MAX_PPT_CHAN];
  BYTE     byRes[32];
 }NET_DVR_PPT_CHANNEL_CFG,*LPNET_DVR_PPT_CHANNEL_CFG;

Members

dwSize
Structure size
byChan
PPT supported channel, subscript corresponding to channel, value: 0- not supported, 1- supported, e.g., byChan[0]=1 means channel 01 supports PPT function
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_PPT_DETECT_CFG

PPT detection parameter configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnablePPTDetect;
  BYTE     byPptDetLevel;
  BYTE     byEnablePartScreen;
  BYTE     byRes1[2];
  WORD     wX;
  WORD     wY;
  WORD     wWidth;
  WORD     wHeight;
  BYTE     byRes[32];
 }NET_DVR_PPT_DETECT_CFG,*LPNET_DVR_PPT_DETECT_CFG;

Members

dwSize
Structure size
byEnablePPTDetect
Whether to enable PPT detection: 0- no, 1- yes
byPptDetLevel
Detection sensitivity
byEnablePartScreen
Whether to configure certain area: 0- no, 1- yes
byRes1
Reserved, set as 0
wX
Area X coordinate
wY
Area Y coordinate
wWidth
Area width
wHeight
Area height
byRes
Reserved, set as 0

Remarks

PPT detection parameter value range can be obtained through NET_DVR_GetDeviceAbility(capability set: DEVICE_ABILITY_INFO, education sharing system capability RecordingHostAbility), node <PPTDetection>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PRESET_COND

Structure of the condition patameter to get preset information

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwGroupNO;
  BYTE     byRes[8];
}NET_DVR_PRESET_COND, *LPNET_DVR_PRESET_COND;

Members

dwSize
Structure size
dwChannel
Channel number
dwGroupNum
Group number
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig


NET_DVR_PRESET_INFO

Structure of preset information

struct{
  DWORD    dwSize;
  DWORD    dwPresetNum;
  DWORD    dwGroupNum;
  BYTE     byRes[8];
}NET_DVR_PRESET_INFO, *LPNET_DVR_PRESET_INFO;

Members

dwSize
Structure size
dwPresetNum
The total number of presets
dwGroupNum
The total number of groups
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_PRESET_NAME

Preset name configuration structure

struct(
 DWORD                   dwSize,
 WORD                    wPresetNum,
 BYTE                    byRes1[2],
 BYTE                    byName[NAME_LEN],
 BYTE                    byRes[64],
)NET_DVR_PRESET_NAME, *LPNET_DVR_PRESET_NAME;

Members

dwSize
Structure size
wPresetNum
Preset ID
byRes1
Reserved,please set it to 0
byName
Preset name
byRes
Reserved,please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PRESET_POINT_PARAM

Structure of preset control parameter

struct{
  DWORD             dwSize;
  DWORD             dwChannel;
  DWORD             dwPTZPresetCmd;
  NET_VCA_POINT     struVcaPoint;
  DWORD             dwPresetIndex;
  WORD              wZoomCoordinate;
  BYTE              byRes[30];
}NET_DVR_PRESET_POINT_PARAM,*LPNET_DVR_PRESET_POINT_PARAM;

Members

dwSize
Structure size
dwChannel
Channel number
dwPTZPresetCmd
The commands to control PTZ preset point:
Macro Definition | Value | Implication
SET_PRESET | 8 | Set preset point
CLE_PRESET | 9 | Clear preset point
GOTO_PRESET | 39 | Goto preset point
struVcaPoint
Point coordinate of view window
dwPresetIndex
The number of preset, it supports max 255 presets, the number starts from 1
wZoomCoordinate
The zooming value of the PTZ view window
byRes
Reserved, please set to 0

See Also

NET_DVR_RemoteControl


NET_DVR_PRESETCFG

Structure of preset parameter

struct{
  DWORD            dwSize;
  DWORD            dwPresetIndex;
  NET_VCA_POINT    struVcaPoint;
  WORD             wZoomCoordinate;
  BYTE             byRes[30];
}NET_DVR_PRESET_COND, *LPNET_DVR_PRESET_COND;

Members

dwSize
Structure size
dwPresetIndex
The sequence number of preset
struVcaPoint
The coordinate of preset
wZoomCoordinate
The zooming value of the PTZ view window
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig


NET_DVR_PRESETCHAN_INFO

Preset channel information structure

struct{
  DWORD   dwEnablePresetChan;
  DWORD   dwPresetPointNo;
}NET_DVR_PRESETCHAN_INFO,*LPNET_DVR_PRESETCHAN_INFO;

Members

dwEnablePresetChan
Enable preset channel
dwPresetPointNo
Call the preset channel related preset No,. 0xfffffff indicates do not call the preset

See Also

NET_DVR_ALARMINCFG_V40 NET_DVR_VCA_DETECTION_CFG_V40 NET_DVR_EVENT_TRIGGER


NET_DVR_PREVIEW_DELAY_CFG

Preview delay parameter structure

struct{
  DWORD   dwSize;
  WORD    wdelayTime;
  BYTE    byRes[130];
}NET_DVR_PREVIEW_DELAY_CFG,*LPNET_DVR_PREVIEW_DELAY_CFG;

Members

dwSize
Structure size
wdelayTime
Preview delay time, unit: s
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PREVIEW_DISPLAYCFG

Structure of live view display parameters

struct{
  DWORD    dwSize;
  BYTE     byCorrectMode;
  BYTE     byMountType;
  BYTE     byDisplayMode;
  BYTE     byRes[61];
}NET_DVR_PREVIEW_DISPLAYCFG,*LPNET_DVR_PREVIEW_DISPLAYCFG;

Members

dwSize
Structure size
byCorrectMode
Correction mode：0- corrected by software, 1- corrected by chip
byMountType
Mounting type: 0- ceiling, 1- desktop, 2- wall
byDisplayMode
Display mode, defined as below:
enum _PREVIEW_DISPLAY_MODE_{
  PREVIEW_DISPLAY_NONE                  = 0,
  PREVIEW_DISPLAY_FISHEYE               = 1,
  PREVIEW_DISPLAY_SINGLEPTZ             = 2,
  PREVIEW_DISPLAY_FULL_PANORAMA         = 3,
  PREVIEW_DISPLAY_TWO_AROUNDPANORAMA    = 4,
  PREVIEW_DISPLAY_WIDEPANORAMA_TWO_PTZ  = 5,
  PREVIEW_DISPLAY_FULL_PANORAMA_TWO_PTZ = 6,
  PREVIEW_DISPLAY_FISHEYE_THREE_PTZ     = 7
}PREVIEW_DISPLAY_MODE
PREVIEW_DISPLAY_NONE
None
PREVIEW_DISPLAY_FISHEYE
Fisheye view mode: displays the full view with the fisheye lens and you can see the distortion of the edge of the image
PREVIEW_DISPLAY_SINGLEPTZ
PTZ view mode: displays a partial area of the scene and PTZ function can be utilized in this mode; you can view the panning, tilting and zooming of the image
PREVIEW_DISPLAY_FULL_PANORAMA
Panorama view: displays the de-warped panoramic view of the scene
PREVIEW_DISPLAY_TWO_AROUNDPANORAMA
Double panorama view (only for ceiling mounting): displays the two 180° panoramic views and the two views are complimentary to each other in the image to display the whole scene.
PREVIEW_DISPLAY_WIDEPANORAMA_TWO_PTZ
3-screen mode- with two PTZ view windows and one 360°panoramic view window
PREVIEW_DISPLAY_FULL_PANORAMA_TWO_PTZ
3-screen mode- with two PTZ view windows and one de-warped panoramic view window
PREVIEW_DISPLAY_FISHEYE_THREE_PTZ
4-screen Mode- with 3 PTZ view windows and fisheye view window
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PREVIEW_SWITCH_CFG

Structure of local preview switch parameters

struct{
  DWORD    dwSize;
  WORD     wSwitchSeq[MAX_WINDOW_V40];
  BYTE     byPreviewNumber;
  BYTE     byEnableAudio;
  BYTE     bySwitchTime;
  BYTE     byRes[33];
}NET_DVR_PREVIEW_SWITCH_CFG, *LPNET_DVR_PREVIEW_SWITCH_CFG;

Members

dwSize
Structure size
wSwitchSeq
bySwitchSeq[i]=6，means the （group*64+i+1）window displays image of channel 6, 0xff- the window doeds not display, for byGroup, please refer to NET_DVR_PREVIEW_SWITCH_COND。
byPreviewNumber
Segment mode of live view image: 0- 1，1- 4，2- 9，3- 16，4- 6，5- 8，0xff- the max
byEnableAudio
Whether enable audio preview: 0- no，1- yes
bySwitchTime
Curise switch time: 0- no switch，1- 5s，2- 10s，3- 20s，4- 30s，5- 60s，6- 120s，7- 300s
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_PREVIEW_SWITCH_COND

Structure of local preview output parameters

struct{
  DWORD    dwSize;
  DWORD    byGroup;
  BYTE     byVideoOutType;
  BYTE     byRes[2];
}NET_DVR_PREVIEW_SWITCH_COND, *LPNET_DVR_PREVIEW_SWITCH_COND;

Members

dwSize
Structure size
byGroup
Group number, 64 images a group
byVideoOutType
Video output type: 0- main CVBS，1-HDMI，2-VGA，3-Auxiliary output，4-Auxiliary output 2，5-Auxiliary output 3，6-Auxiliary output 4
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_PREVIEWCALLBACKPARAM

Structure of push-mode preview parameter.

struct{
  LONG              lChannel;
  BYTE              nLinkProtocol;
  BYTE              nTransMode;
  BYTE              byRes[10];
}NET_DVR_PREVIEWCALLBACKPARAM,*LPNET_DVR_PREVIEWCALLBACKPARAM;

Members

lChannel
Channel number
nLinkProtocol
Transmission protocol: 0- TCP, 1- UDP
nTransMode
Transmission stream mode: 0- main stream, 1- sub stream
byRes
Reserved, please set to 0

See Also

NET_DVR_SetPreviewResponseCallBack


NET_DVR_PREVIEWCFG

Structure of local preview configuration.

struct{
  DWORD      dwSize;
  BYTE       byPreviewNumber;
  BYTE       byEnableAudio;
  BYTE       wSwitchTime;
  BYTE       bySwitchSeq[MAX_WINDOW];
}NET_DVR_PREVIEWCFG,*LPNET_DVR_PREVIEWCFG;

Members

dwSize
Structure size
byPreviewNumber
The number of preview screen: 0- 1 screen, 1-4 screens, 2- 9 screens, 3-16 screens, 0xff- max screens
byEnableAudio
Whether to enable audio preview: 0- no, 1- yes
wSwitchTime
Switch time of preview: 0- not switch, 1-5s, 2-10s, 3-20s, 4-30s, 5-60s, 6-120s, 7-300s
bySwitchSeq
Switch sequence. If bySwitchSeq[i] is 0xff, it isn't used.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PREVIEWCFG_V30

Structure of local preview configuration.

struct{
  DWORD      dwSize;
  BYTE       byPreviewNumber;
  BYTE       byEnableAudio;
  BYTE       wSwitchTime;
  BYTE       bySwitchSeq[MAX_PREVIEW_MODE][MAX_WINDOW_V30];
  BYTE       byRes[24];
}NET_DVR_PREVIEWCFG_V30,*LPNET_DVR_PREVIEWCFG_V30;

Members

dwSize
Structure size
byPreviewNumber
The number of preview screen: 0- 1 screen, 1-4 screens, 2- 9 screens, 3-16 screens, 0xff- max screens
byEnableAudio
Whether to enable audio preview: 0- no, 1- yes
wSwitchTime
Switch time of preview: 0- not switch, 1-5s, 2-10s, 3-20s, 4-30s, 5-60s, 6-120s, 7-300s
bySwitchSeq
Switch sequence. If bySwitchSeq[i] is 0xff, it isn't used.
byRes
Reserved, please set it to 0

Remarks

If it is to set local live view parameter of zero channel, that live view of zero channel corresponds to main CVBS or aux CVBS is recognized by the device.

Currently it supports one live view mode only, that is, it supports to select one of the modes: 1 screen, 4 screens, 9 screens, 16 screens, and max screens.

E.g. if byPreviewNumber is 4, bySwitchSeq[0][1] equals to 4 and the other value of array bySwitchSeq are all 0xff, it means it selects live view of 4 screens and the second screen in firstly displayed 4 screens is the no.4 channel’s video, and the other screens in the first display and following display in turn will do not display any video.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PREVIEWINFO

Structure of preview parameters

struct{
  LONG     lChannel;
  DWORD    dwStreamType;
  DWORD    dwLinkMode;
  HWND     hPlayWnd;
  BOOL     bBlocked;
  BOOL     bPassbackRecord;
  BYTE     byPreviewMode;
  BYTE     byStreamID[STREAM_ID_LEN];
  BYTE     byProtoType;
  BYTE     byRes1[2];
  DWORD    dwDisplayBufNum;
  BYTE     byRes[216];
}NET_DVR_PREVIEWINFO, *LPNET_DVR_PREVIEWINFO;

Members

lChannel
The analog channel number start from 1, the IP channel start number, you can get it from dwStartDChan of NET_DVR_GetDVRConfig（NET_DVR_GET_IPPARACFG_V40）
dwStreamType
Stream type:0-main stream，1-sub stream，2-stream 3，3- virtual stream, and so on
dwLinkMode
Link mode：0- TCP，1- UDP，2- multicast，3- RTP，4-RTP/RTSP，5-RSTP/HTTP, 6- HRUDP
hPlayWnd
Handle of play，NULL- no deccoding and display
bBlocked
0- non-blocking stream getting，1- blocking stream getting. if it is block, there will be 5s timeout return when connect failed in the SDK, it is not suitable for polling stream gettitng.
bPassbackRecord
0-disable video passback，1-enable video passback. back tracking when ANR disconnected- devices send the data automaticly after the network recovery between client and devices.(need devices support)
byPreviewMode
Prerview mode:0- normally preview，1- delay preview
byStreamID
Stream ID，combination of letter, number and '_',enable the parameter when lChannel = 0xffffffff
byProtoType
Application layer protocol：0- private protocol，1- RTSP.The protocol supported by main stream gets from byMainProto, bySubProto of NET_DVR_DEVICEINFO_V30. The parameter is valid when devices support private and RTSP simultaneously.Deafult- private (RTSP optional)
byRes1
Reserved, please set it to 0
dwDisplayBufNum
The max buffer frames of player SDK,data range:1-50. The default value is 1 when you set it to 0. Please set the disppay buffer before the player SDK calls the PlayM4_Play. The API replaces the NET_DVR_SetPlayerBufNumber.
byRes
Reserved

See Also

NET_DVR_RealPlay_V40


NET_DVR_PREVIEWPARAM

Structure of push-mode preview parameter.

struct{
  BYTE              byTransProtol;
  BYTE              byTransMode;
  NET_DVR_IPADDR    struCuIp;
  WORD              wPort;
  WORD              wUdpPort;
  BYTE              bySupportQos;
  BYTE              byNatRequest;
  BYTE              byRes[8];
}NET_DVR_PREVIEWPARAM,*LPNET_DVR_PREVIEWPARAM;

Members

byTransProtol
Transmission protocol: 0- TCP, 1- UDP
byTransMode
Transmission stream mode: 0- main stream, 1- sub stream
struCuIp
IP address of CU
wPort
Port number of CU
wUdpPort
UDP port number on UDP mode
bySupportQos
Whether enable QOS or not: 1- enable, 0- disable
byNatRequest
Is it the NAT preview request: 0- no, 1- yes(need parameter byTransMode only)
byRes
Reserved, please set to 0

See Also

NET_DVR_IPADDR
NET_DVR_PreviewRequest


NET_DVR_PRIOR_SCHEDTIME

arming schedule priority structure

struct{
  DWORD                       dwSize;
  NET_DVR_SCHEDDATE           struData;
  NET_DVR_NORMAL_SCHEDTIME    struOneDayTime[8];
  BYTE                        byEnable;
  BYTE                        byRes1[3];
  BYTE                        bySubSystem[32];
  BYTE                        byMandatoryAlarm;
  BYTE                        byRes[63];
}NET_DVR_PRIOR_SCHEDTIME,*LPNET_DVR_PRIOR_SCHEDTIME;

Members

dwSize
Structure size
struData
Prior schedule start/end time
struOneDayTime
Scheduled arming parameters
byEnable
Enable? 0- No, 1- Yes
byRes1
Reserved, set as 0.
bySubSystem
Partition, the sunscript indicates the partition No., value: 0- Not supported, 1- Supported
byMandatoryAlarm
Whether to bypass the zone by force when error occurred? 0- Yes, 1- No.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PRIVACY_MASKS_CFG

PTZ privacy mask configuration structure

struct{
  DWORD              dwSize;
  BYTE               byEnable;
  BYTE               byPrivacyMaskCfgEnable;
  BYTE               byColorType;
  BYTE               byActiveZoomRatio;
  char               sPrivacyMaskName[NAME_LEN];
  NET_VCA_POLYGON    struRegion;
  BYTE               byCurrentRegionEnable;
  BYTE               byCurZoomRatio;
  BYTE               byRes[2];
  float              fActiveZoomRatio;
  BYTE               byRes1[120];
}NET_DVR_PRIVACY_MASKS_CFG, *LPNET_DVR_PRIVACY_MASKS_CFG;

Members

dwSize
Size of the structure
byEnable
Enable privacy mask: 0- No, 1- Yes
byPrivacyMaskCfgEnable
Display privacy mask configuration parameters (ReadOnly)? 0- No, 1- Yes
byColorType
Area color: 0- Reserved, 1- Gray, 2- Red, 3-Green, 4-Blue, 5-Orange, 6-Yellow, 0xff- Mosaic
byActiveZoomRatio
Area ratio( valid when byCurZoomRatio is 0), value range:1~100
sPrivacyMaskName
Privacy mask area name, 16 bytes
struRegion
Area
byCurrentRegionEnable
Valid area coordinate?:0- No, 1- Yes
byCurZoomRatio
Field for current ratio:0- byActiveZoomRatio，1- fActiveZoomRatio(Node:<curActiveZoomRatioType>)
byRes
Reserved, set as 0.
fActiveZoomRatio
Zoom ratio(valid when byCurZoomRatio is 1), value range: [1.0~100.0]
byRes1
Reserved, set as 0.

Remarks

  • struRegion(area range) and other parameters(byColorType, byActiveZoomRatio and so on) can be configured separately, configure the area range first and then other parameters. You can check if this privacy mask area has been configured already via the filed of byPrivacyMaskCfgEnable. If the area range is not configured, the configuration of other parameters cannot be implemented. The area range cannot be configured in batch.
  • PTZ privacy mask capability, corresponded to PTZ capability (PTZAbility)-<PrivacyMaskCfg>, API: NET_DVR_GetDeviceAbility, capability type: DEVICE_ABILITY_INFO。

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_PRIVACY_MASKS_COND

PTZ privacy mask parameters configuration condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  BYTE     byRegionalID;
  BYTE     byDelPrivacyMaskCfg;
  BYTE     byRes[62];
}NET_DVR_PRIVACY_MASKS_COND, *LPNET_DVR_PRIVACY_MASKS_COND;

Members

dwSize
Size of the structure
dwChan
Device channel No.
byRegionalID
Area ID, value range: 1~24
byDelPrivacyMaskCfg
Delete current ID corresponded privacy mask information; 0- Reserved, 1- Deleted(WriteOnly)
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_PRIVACY_MASKS_ENABLECFG

PTZ privacy mask global enabling structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes[127];
}NET_DVR_PRIVACY_MASKS_ENABLECFG, *LPNET_DVR_PRIVACY_MASKS_ENABLECFG;

Members

dwSize
Size of the structure
byEnable
Enable privacy mask: 0-No, 1-Yes
byRes
Reserved, set as 0.

Remarks

Remarks

  • Configure the PTZ privacy mask area viaNET_DVR_SetDeviceConfig(Command:NET_DVR_SET_PRIVACY_MASKSCFG)
  • PTZ privacy mask global enabling capability, corresponds to PTZ capability(PTZAbility)-<PrivacyMaskCfg>-<globalEnable>, API:NET_DVR_GetDeviceAbility, capability type:DEVICE_ABILITY_INFO。

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PRIVILEGE_PASSWORD_CFG

The structure for permission password configuration.

struct{
  DWORD    dwSize;
  BYTE     byPwdType;
  BYTE     byRes1[3];
  BYTE     byOldPassword[PASSWD_LEN];
  BYTE     byNewPassword[PASSWD_LEN];
  BYTE     byRes2[128];
}NET_DVR_PRIVILEGE_PASSWORD_CFG, *LPNET_DVR_PRIVILEGE_PASSWORD_CFG;

Members

dwSize
Structure size.
byPwdType
Password type, see detailed definition as follows:
enum _PRIVILEGE_PASSWORD_TYPE_ENUM_{
  ENUM_PRIVILEGE_PASSWORD_ENGINEERING        = 1,
  ENUM_PRIVILEGE_PASSWORD_SETUPALARM         = 2,
  ENUM_PRIVILEGE_PASSWORD_HOUSEHOLDER_UNLOCK = 3,
  ENUM_PRIVILEGE_PASSWORD_ANTI_HIJACKING     = 4
}PRIVILEGE_PASSWORD_TYPE_ENUM
ENUM_PRIVILEGE_PASSWORD_ENGINEERING
Configuration Password
ENUM_PRIVILEGE_PASSWORD_SETUPALARM
Arm/Disarm Password
ENUM_PRIVILEGE_PASSWORD_HOUSEHOLDER_UNLOCK
Unlock Password
ENUM_PRIVILEGE_PASSWORD_ANTI_HIJACKING
Duress Code
byRes1
Reserved, set as 0.
byOldPassword
Old password.
byNewPassword
New password.
byRes2
Reserved, set as 0.

Remarks

The ability of permission password configuration corresponds to the node <PrivilegePwd> of the capability set of the IP-based video intercom controller (interface: NET_DVR_GetDeviceAbility, and the capability set type: IP_VIEW_DEV_ABILITY).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PROGRAM_INFO

Program information structure

struct{
  DWORD    dwProgramNo;
  BYTE     sProgramName[NAME_LEN];
  BYTE     byRes[16];
}NET_DVR_PROGRAM_INFO,*LPNET_DVR_PROGRAM_INFO;

Members

dwProgramNo
Program No.
sProgramName
Program name
byRes
Reserved

See Also

NET_DVR_PDC_RESULT


NET_DVR_PROTO_TYPE

Protocol parameter structure

struct{
  DWORD   dwType;
  BYTE    byDescribe[DESC_LEN];
}NET_DVR_PROTO_TYPE,*LPNET_DVR_PROTO_TYPE;

Members

dwType
Protocol value
byDescribe
Protocol description

Remarks

  • For protocol type corresponding to dwType value, see byDescribe description below.
  • If the device supports unified IP camera protocol, the corresponding enumeration type is NET_DVR_IPC_ENUM_UNIFY; if not, the corresponding enumeration type is NET_DVR_IPC_ENUM。
  • Whether the device supports unified IP camera protocol can be determined through device capability set (BasicCapability), API:NET_DVR_GetDeviceAbility, type: DEVICE_SOFTHARDWARE_ABILITY, node: <SupportUnifiedIPCProtocol>.
enum tagNET_DVR_IPC_ENUM_UNIFY{
  ENUM_IPC_PROTOCOL_INVALID = -1,
  ENUM_IPC_PROTOCOL_HIKVISION = 0,       //HIKVISION
  ENUM_IPC_PROTOCOL_PANASONIC = 1,           //PANASONIC
  ENUM_IPC_PROTOCOL_SONY = 2,                //SONY
  ENUM_IPC_PROTOCOL_AXIS = 4,            //AXIS
  ENUM_IPC_PROTOCOL_SANYO = 5,               //SANYO
  ENUM_IPC_PROTOCOL_BOSCH = 6,               //BOSCH
  ENUM_IPC_PROTOCOL_ZAVIO = 7,               //ZAVIO
  ENUM_IPC_PROTOCOL_GRANDEYE,            //GRANDEYE
  ENUM_IPC_PROTOCOL_PROVIDEO = 16,            //PROVIDEO
  ENUM_IPC_PROTOCOL_ARECONT = 10,             //ARECONT
  ENUM_IPC_PROTOCOL_ACTI = 11,                //ACTI
  ENUM_IPC_PROTOCOL_PELCO = 12,               //PELCO
  ENUM_IPC_PROTOCOL_VIVOTEK = 13,             //VIVOTEK
  ENUM_IPC_PROTOCOL_DAHUA = 3,               //DAHUA
  ENUM_IPC_PROTOCOL_SAMSUNG = 15,             //SAMSUNG
  ENUM_IPC_PROTOCOL_PSIA = 17,           //PSIA
  ENUM_IPC_PROTOCOL_ONVIF = 18,               //ONVIF
  ENUM_IPC_PROTOCOL_BRICKCOM = 19,            //BRICKCOM
  ENUM_IPC_PROTOCOL_GB28181 = 37,             //GB28181
  ENUM_IPC_PROTOCOL_CANON = 23,          //CANON
  ENUM_IPC_PROTOCOL_HUINT = 32,          //HUINT
  ENUM_IPC_PROTOCOL_INFINOVA = 14,            //INFINOVA
  ENUM_IPC_PROTOCOL_HIK_STD_H264,        //HIKVISION STANDARD H.264
  ENUM_IPC_PROTOCOL_HIK_STD_MPEG4,       //HIKVISION STANDARD MPEG4
  ENUM_IPC_PROTOCOL_SUNELL,              //SUNELL
  ENUM_IPC_PROTOCOL_ATEME,               //ATEME
  ENUM_IPC_PROTOCOL_LAUNCH,              //LAUNCH
  ENUM_IPC_PROTOCOL_YAAN,                //YAAN
  ENUM_IPC_PROTOCOL_BLUESKY,             //BLUESKY
  ENUM_IPC_PROTOCOL_BLUESKYLIMIT,        //BLUESKYLIMIT
  ENUM_IPC_PROTOCOL_TDWY,                //TIANDY
  ENUM_IPC_PROTOCOL_HBGK,                //HBGK
  ENUM_IPC_PROTOCOL_SANTACHI,            //SANTACHI
  ENUM_IPC_PROTOCOL_HIGHEASY,            //HIGHEASY
  ENUM_IPC_PROTOCOL_HANBANG,             //HANBANG
  ENUM_IPC_PROTOCOL_SAMSUNG_3120,        //SAMSUNG 3120
  ENUM_IPC_PROTOCOL_SAMSUNG_3080,        //SAMSUNG 3080
  ENUM_IPC_PROTOCOL_SAMSUNG_2000,        //SAMSUNG 2000
  ENUM_IPC_PROTOCOL_SAMSUNG_5200,        //SAMSUNG 5200
  ENUM_IPC_PROTOCOL_JINGYUAN,            //JINGYUAN
  ENUM_IPC_PROTOCOL_VIDEOTREC,           //VIDEOTREC
  ENUM_IPC_PROTOCOL_CHENOVA,             //CHENOVA
  ENUM_IPC_PROTOCOL_FENGHUO,             //FENGHUO
  ENUM_IPC_PROTOCOL_ZB_5301,             //ZB_5301
  ENUM_IPC_PROTOCOL_ZB_5401,             //ZB_5401
  ENUM_IPC_PROTOCOL_HAIXIN,              //HISENSE
  ENUM_IPC_PROTOCOL_ZHONGYINGXIN,        //ZHONGYINGXIN
  ENUM_IPC_PROTOCOL_AVUN,                //AVUN
  ENUM_IPC_PROTOCOL_GOVTY,               //GOVTY
  ENUM_IPC_PROTOCOL_SAE,                 //SAE
  ENUM_IPC_PROTOCOL_DONGFANGWANGLI,      //NETPOSA
  ENUM_IPC_PROTOCOL_CHANGHONG,           //CHANGHONG
  ENUM_IPC_PROTOCOL_H3C,                 //H3C
  ENUM_IPC_PROTOCOL_BAIAN,               //BAIAN
  ENUM_IPC_PROTOCOL_HAT,                 //HAT
  ENUM_IPC_PROTOCOL_YUANYE,              //YUANYE
  ENUM_IPC_PROTOCOL_HIKCARD,             //HIKVISION BOARD CARD
  ENUM_IPC_PROTOCOL_HAIXINCAP,           //HISENSE CAPTURE CAMERA
  ENUM_IPC_PROTOCOL_WENANCAP,            //WENAN CAPTURE CAMERA
  ENUM_IPC_PROTOCOL_XUNMEI,              //XUNMEI
  ENUM_IPC_PROTOCOL_BAIWO,               //BAIWO
  ENUM_IPC_PROTOCOL_APD,                 //APD
  ENUM_IPC_PROTOCOL_REACHDEV,            //REACHDEV
  ENUM_IPC_PROTOCOL_XUNMEI_DAHUA,        //XUNMEI_DAHUA OEM
  ENUM_IPC_PROTOCOL_HUANGHE,             //HUANGHE
  ENUM_IPC_PROTOCOL_LIANCHEN,            //LIANCHEN
  ENUM_IPC_PROTOCOL_CHENGYE,             //CHENGYE
  ENUM_IPC_PROTOCOL_VISIONDIGI,          //VISIONDIGI
  ENUM_IPC_PROTOCOL_HENGHE,              //HENGHE
  ENUM_IPC_PROTOCOL_KODAK,               //KODAK
  ENUM_IPC_PROTOCOL_AIRONIX,             //AIRONIX
  ENUM_IPC_PROTOCOL_LG,                  //LG
  ENUM_IPC_PROTOCOL_HASEE,               //HASEE
  ENUM_IPC_PROTOCOL_8000ME,              //8000ME
  ENUM_IPC_PROTOCOL_POVITEL,             //POVITEL
  ENUM_IPC_PROTOCOL_YIVIEW,              //YIVIEW
  ENUM_IPC_PROTOCOL_TIANYUE,             //TIANYUE
  ENUM_IPC_PROTOCOL_HOWELL,              //HOWELL
  ENUM_IPC_PROTOCOL_WAPA,                //WAPA
  ENUM_IPC_PROTOCOL_SANLE,               //SANLE
  ENUM_IPC_PROTOCOL_HIKCARD_ENCRYPTION,  //ENCRYPTED HIKVISION BOARD CARD
  ENUM_IPC_PROTOCOL_JUNSDA,              //JUNSDA
  ENUM_IPC_PROTOCOL_LIYUAN,              //LIYUAN
  ENUM_IPC_PROTOCOL_XINCHAN,             //XINCHAN
  ENUM_IPC_PROTOCOL_BITE,                //BITE
  ENUM_IPC_PROTOCOL_MEIAN,               //MEIAN
  ENUM_IPC_PROTOCOL_ROSEEK,              //ROSEEK
  ENUM_IPC_PROTOCOL_AEBELL,              //AEBELL
  ENUM_IPC_PROTOCOL_JSL_ST,              //JSL ST
  ENUM_IPC_PROTOCOL_VIMICRO,             //VIMICRO
  ENUM_IPC_PROTOCOL_TYPE,                //MAX MANUFACTURER TYPE
}NET_DVR_IPC_ENUM_UNIFY

enum _NET_DVR_IPC_ENUM_{
  ENUM_BUSINESS_INVALID = -1,
  ENUM_BUSINESS_HIKVISION = 0,
  ENUM_BUSINESS_PANASONIC,
  ENUM_BUSINESS_SONY,
  ENUM_BUSINESS_AXIS,
  ENUM_BUSINESS_SANYO,
  ENUM_BUSINESS_BOSCH,
  ENUM_BUSINESS_ZAVIO,
  ENUM_BUSINESS_GRANDEYE,
  ENUM_BUSINESS_PROVIDEO,
  ENUM_BUSINESS_ARECONT,        //9
  ENUM_BUSINESS_ACTI,
  ENUM_BUSINESS_PELCO,
  ENUM_BUSINESS_VIVOTEK,
  ENUM_BUSINESS_INFINOVA,
  ENUM_BUSINESS_DAHUA,          //14
  ENUM_BUSINESS_HIK_STD_H264 = 0x20,
  ENUM_BUSINESS_HIK_STD_MPEG4,
  ENUM_BUSINESS_SUNELL,         //SUNELL
  ENUM_BUSINESS_ATEME,
  ENUM_BUSINESS_LAUNCH,         //LAUNCH
  ENUM_BUSINESS_YAAN,           //YAAN
  ENUM_BUSINESS_BLUESKY,        //BLUESKY
  ENUM_BUSINESS_BLUESKYLIMIT,   //BLUESKYLIMIT
  ENUM_BUSINESS_TDWY,           //TIANDY
  ENUM_BUSINESS_HBGK,           //HBGK
  ENUM_BUSINESS_SANTACHI,       //SANTACHI
  ENUM_BUSINESS_HIGHEASY,       //HIGHEASY
  ENUM_BUSINESS_SAMSUNG,
  ENUM_BUSINESS_URL_RTSP = 0x40,//url type streaming
  ENUM_BUSINESS_ONVIF,
  ENUM_MAX_BUSINESS_TYPE,       //Max manufacturer type
}NET_DVR_IPC_ENUM

See Also

NET_DVR_DEVICE_PROTO_LIST NET_DVR_IPC_PROTO_LIST


NET_DVR_PTZ_BASICPARAMCFG

PTZ basic parameters configuration structure

struct{
  DWORD    dwSize;
  BYTE     byProportionalPan;
  BYTE     byPresetFreezing;
  BYTE     byPresetSpeed;
  BYTE     byKeyboardCtrlSpeed;
  BYTE     byAutoScanSpeed;
  BYTE     byZoomingSpeed;
  BYTE     byManualControlSpeed;
  BYTE     byPTZMotionTrack;
  BYTE     byRes[125];
}NET_DVR_PTZ_BASICPARAMCFG, *LPNET_DVR_PTZ_BASICPARAMCFG;

Members

dwSize
Size of the structure
byProportionalPan
Enable zoom configuration: 0-No, 1-Yes
byPresetFreezing
Enable preset video freeze: 0-No,1-Yes
byPresetSpeed
Preset speed level, value range[1 to 8], default:4
byKeyboardCtrlSpeed
Manual control speed level: 0- Low, 1- High
byAutoScanSpeed
Scanning speed level, value range[1 to 40], default:28
byZoomingSpeed
Zooming speed, value range[1 to 3], default:3
byManualControlSpeed
Manual control speed mode: 0- Compatible, 1-Pedestrian, 2- Bicycle, 3-Vehicle, 4-Auto-adapted
byPTZMotionTrack
Enable motion track (lock PTZ)? 0- Default (on)，1- off
byRes
Reserved

Remarks

  • PTZ basic parameters capability, corresponds to device PTZ capability (PTZAbility)-<PtzBasicCfg>,API: NET_DVR_GetDeviceAbility，Capability type: DEVICE_ABILITY_INFO。

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PTZ_CRUISE_PARAM

Structure of patrol parameter

struct{
  DWORD            dwSize;
  DWORD            dwChannel;
  DWORD            dwPTZCruiseCmd;
  NET_VCA_POINT    struVcaPoint;
  WORD             wCruiseRoute;
  WORD             wCruisePoint;
  WORD             wInput;
  WORD             wZoomCoordinate;
  BYTE             byRes[32];
}NET_DVR_PTZ_CRUISE_PARAM, *LPNET_DVR_PTZ_CRUISE_PARAM;

Members

dwSize
Structure size
dwChannel
Channel number
dwPTZCruiseCmd
The commands to control PTZ patrol:
Macro Definition | Value | Implication
FILL_PRE_SEQ | 30 | Add preset to the patrol sequence
SET_SEQ_DWELL | 31 | Set dwell time of the patrol point
SET_SEQ_SPEED | 32 | Set patrol speed
CLE_PRE_SEQ | 33 | Delete preset point from the patrol sequence
RUN_SEQ | 37 | Start running the patrol
STOP_SEQ | 38 | Stop running the patrol
struVcaPoint
Point coordinate of view window
wCruiseRoute
The number of patrol route, it supports maximum 32 routes, the number starts from 1
wCruisePoint
The number of patrol points, it supports maximum 32 presets, the number starts from 1
wInput
The value is different for different commands, preset(maximum is 255), dwell time (maximum is 255), Speed (maximum is 40)
wZoomCoordinate
The zooming value of the PTZ view window
byRes
Reserved, please set to 0

See Also

NET_DVR_RemoteControl


NET_DVR_PTZ_LIMITCFG

PTZ limit configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byLimitStatus;
  BYTE     byRes[122];
}NET_DVR_PTZ_LIMITCFG, *LPNET_DVR_PTZ_LIMITCFG;

Members

dwSize
Size of the structure
byEnable
Enable? 0-No, 1-Yes
byLimitStatus
Limit status(get only, cannot be configured): 0- Limited, 1- Not limited
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_PTZ_LIMITCOND

PTZ limit configuration condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  BYTE     byLimitMode;
  BYTE     byRes[127];
}NET_DVR_PTZ_LIMITCOND, *LPNET_DVR_PTZ_LIMITCOND;

Members

dwSize
Size of the structure
dwChan
Device channel No.
byLimitMode
Limit mode: 0-Reserved, 1-Keyboard control limit, 2- Scanning limit
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_PTZ_LIMITCTRL

Limit parameters control structure

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  BYTE     byLimitMode;
  BYTE     byWorkMode;
  BYTE     byRes[122];
}NET_DVR_PTZ_LIMITCTRL, *LPNET_DVR_PTZ_LIMITCTRL;

Members

dwSize
Size of he structure
dwChan
Device channel No.
byLimitMode
Limit mode:0- Reserved，1- Keypad limit,2- Scanning limit
byWorkMode
Working mode:0- Settings，1- Clearing
byRes
Reserved

See Also

NET_DVR_RemoteControl


NET_DVR_PTZ_LOCKCFG

PTZ locking configuration structure

struct{
  DWORD    dwSize;
  BYTE     byWorkMode ;
  BYTE     byRes[123];
}NET_DVR_PTZ_LOCKCFG, *LPNET_DVR_PTZ_LOCKCFG;

Members

dwSize
Size of the structure
byWorkMode
PTZ locking control: 0-unlocking, 1- locking
byRes
Reserved, set as 0.

Remarks

The default PTZ locking time is 180s, get the remaining Time via NET_DVR_StartRemoteConfig(Command:NET_DVR_GET_PTZLOCKINFO).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PTZ_MANUALTRACE

Structure of manual trace parameters

struct{
  DWORD            dwSize;
  DWORD            dwChannel;
  NET_VCA_POINT    struPoint;
  BYTE             byTrackType;
  BYTE             byRes[63];
}NET_DVR_PTZ_MANUALTRACE,*LPNET_DVR_PTZ_MANUALTRACE;

Members

dwSize
Structure size
dwChannel
Channel number
struPoint
Locate the position
byTrackType
Trace type: 0- normal, 1- trace on the high speed ，2- trace on the city road
byRes
Reserved

See Also

NET_DVR_RemoteControl


NET_DVR_PTZ_OSDCFG

PTZ OSD parameters configuration structure

struct{
  DWORD    dwSize;
  BYTE     byZoomStatus;
  BYTE     byPtStatus;
  BYTE     byPresetStatus;
  BYTE     byRes[125];
}NET_DVR_PTZ_OSDCFG, *LPNET_DVR_PTZ_OSDCFG;

Members

dwSize
Size of the structure
byZoomStatus
Lens magnification display time:1- 2s, 2- 5s, 3- 10s, 0xff- NC, 0- NO, default:2s
byPtStatus
PT status display time:1- 2s, 2- 5s, 3- 10s, 0xff- NC, 0- NO, default:2s
byPresetStatus
Preset name display time: 1- 2s, 2- 5s, 3- 10s, 0xff- NC, 0- NO, default:2s
byRes
Reserved.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PTZ_PARKACTION_CFG

PTZ park action parameter structure

struct(
  DWORD    dwSize,
  BYTE     byEnable,
  BYTE     byOneTouchSwitch;
  BYTE     byRes1[2];
  DWORD    dwParkTime
  WORD     wActionType
  WORD     wID
  BYTE     byRes[128],
)NET_DVR_PTZ_PARKACTION_CFG,*LPNET_DVR_PTZ_PARKACTION_CFG;

Members

dwSize
Structure size
byEnable
Whether enable the function: 0- disable, 1- enable
byOneTouchSwitch
One-touch switch: 0- disable, 1- enable (used with wActionType)
byRes1
Reserved
dwParkTime
Park time, unit: s
wActionType
Park action type: 0- automatic scanning, 1- frame scanning, 2- random scanning, 3- cruise scanning, 4- pattern scanning, 5- preset, 6- panoramic scanning, 7- vertical scanning, 8- region scanning
wID
ID number(cruise scanning ID,preset ID,pattern scanning ID)
byRes
Reserved

Remarks

Latency time of park action:waiting time of action after park action configuration

Cruise scanning,preset and pattern scanning should be configure first

Cruise path ID,preset ID and pattern scanning ID can be get from devcie ability

Just when wActionType value is 3,4,5,ID number is valid

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PTZ_PATTERN

Structure of PTZ pattern parameters

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwPatternCmd;
  DWORD    dwPatternID;
  BYTE     byRes[64];
}NET_DVR_PTZ_PATTERN,*LPNET_DVR_PTZ_PATTERN;

Members

dwSize
Structure size
dwChannel
Channel number
dwPatternCmd
PTZ pattern command, please see the list below:
Macro Definition | Macro Value | Implication
STA_MEM_CRUISE | 34 | Start record the cruise
STO_MEM_CRUISE | 35 | Stop record the cruise
RUN_CRUISE | 36 | Start run the cruise
STOP_CRUISE | 44 | Stop run the cruise
DELETE_CRUISE | 45 | Delete the single cruise
DELETE_ALL_CRUISE | 46 | Delete all the cruise
dwPatternID
Pattern ID (it will be invalid if you delete all the cruise)
byRes
Reserved

Remarks

The API is the extend of NET_DVR_PTZTrack and NET_DVR_PTZTrack_Other,and support one cuise only. After calling the NET_DVR_RemoteControl, mutiple cruises can be supported. And support the functions such as: stop the cruise, delete single cruise and delete all the cruises.

See Also

NET_DVR_RemoteControl


NET_DVR_PTZ_POSITION

Structure of scene congfiguration.

struct{
  BYTE             byEnable;
  BYTE             byRes1[3];
  BYTE             byPtzPositionName[NAME_LEN];
  NET_DVR_PTZPOS   struPtzPos;
  BYTE             byRes2[40];
}NET_DVR_PTZ_POSITION, *LPNET_DVR_PTZ_POSITION;

Members

byEnable
Enable scene configuration or not: 0-disable, 1-enable
byRes1
Reserved
byPtzPositionName
Name of scene position
struPtzPos
PTZ position
byRes2
Reserved

Remarks

byEnable is used for local scene configuration. It is invalid when setting intelligent rules.

See Also

NET_DVR_PTZPOS


NET_DVR_PTZ_POWEROFFMEMCFG

PTZ power off memory configuration structure

struct{
  DWORD    dwSize;
  BYTE     byResumeTimePoint;
  BYTE     byRes[127];
}NET_DVR_PTZ_POWEROFFMEMCFG, *LPNET_DVR_PTZ_POWEROFFMEMCFG;

Members

dwSize
size of the structure
byResumeTimePoint
Power off memory mode: ：Oxff- Disabled, 1-30s, 2-60s, 3-300s, 4-600s, default:30s
byRes
Reserved.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PTZ_PRIORITIZECFG

Prioritize PTZ configuration structure

struct{
  DWORD    dwSize;
  BYTE     byPTZPrioritize;
  BYTE     byRes[3];
  DWORD    dwDelay;
  BYTE     byRes1[124];
}NET_DVR_PTZ_PRIORITIZECFG, *LPNET_DVR_PTZ_PRIORITIZECFG;

Members

dwSize
Size of the structure
byPTZPrioritize
Prioritize PTZ:0- Rs485，1- Network(default)
byRes
Reserved
dwDelay
Delay: 2s to 200s,unit: second
byRes1
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PTZ_PROTOCOL

Configuration of PTZ protocols.

struct{
  DWORD    dwType;
  BYTE     byDescribe[DESC_LEN];
}NET_DVR_PTZ_PROTOCOL, *LPNET_DVR_PTZ_PROTOCOL;

Members

dwType
Value of protocol type
byDescribe
Description of protocol


NET_DVR_PTZ_TRACK_PARAM

PTZ Tracking Parameters Structure。

struct{
  DWORD    dwSize;
  BYTE     byTrackMode;
  BYTE     byRes1[3];
  DWORD    dwTrackTime;
  BYTE     byRes2[256];
}NET_DVR_PTZ_TRACK_PARAM, *LPNET_DVR_PTZ_TRACK_PARAM;

Members

dwSize
The size of the structure
byTrackMode
Tracking mode. the details are shown below.
enum _PTZ_TRACK_MODE_{
  PTZ_TRACK_MODE_ALWAYS  = 1,
  PTZ_TRACK_MODE_BYTIME  = 2,
  PTZ_TRACK_MODE_NEXT    = 3
}PTZ_TRACK_MODE
PTZ_TRACK_MODE_ALWAYS
Always tracking
PTZ_TRACK_MODE_BYTIME
Tracking specified time
PTZ_TRACK_MODE_NEXT
Track for next target
byRes1
Reserved, set as 0.
dwTrackTime
Tracking time:
Invalid when the tracking mode is PTZ_TRACK_MODE_ALWAYS.
Range[1~60](10 sec] when the tracking mode is PTZ_TRACK MODE_BYTIME
Range[1~10](2 sec] when the tracking mode is PTZ_TRACK MODE_NEXT.
byRes2
Reserved, set as 0.

Remarks

When the fish-eye camera links to speed dome(NET_DVR_TRACK_DEV_PARAM), the operation mode of intrusion detection NET_VCA_FIELDDETECION)or line-crossing detection(NET_VCA_TRAVERSE_PLANE_DETECTION)enable the PTZ linked tracking(NET_DVR_HANDLEEXCEPTION_V40dwHandleType&0x800 equal to 1), the parameters of tracking are valid.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PTZABSOLUTEEX_CFG

High accuracy PTZ absolute location configuration structure

struct{
  DWORD                   dwSize;
  NET_PTZ_INFO            struPTZCtrl ;
  DWORD                   dwFocalLen;
  float                   fHorizontalSpeed;
  float                   fVerticalSpeed;
  BYTE                    byZoomType;
  BYTE                    byRes[123];
}NET_DVR_PTZABSOLUTEEX_CFG, *LPNET_DVR_PTZABSOLUTEEX_CFG;

Members

dwSize
Structure size
struPTZCtrl
Device PTZF information
dwFocalLen
Focus range: 0 to 100000, unit: mm
fHorizontalSpeed
Pan speed: 0.01 to 1000.00, unit: degree/S
fVerticalSpeed
Tilt speed: 0.01 to 1000.00, unit: degree/S
byZoomType
Lens zoom configuration type: 0- absoluteZoom, 1- focalLen.
absoluteZoom: configure through zoom parameters, when choosing this type, fZoom of struPTZCtrl is valid; focalLen: configure through focal length parameter, when choosing this type, dwFocalLen is valid.
byRes
Reserved, set as 0

Remarks

  • Whether the device supports high accuracy PTZ absolute position extension function or the supported parameter capability, can be determined through device capability set (PTZAbsoluteEx), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_PTZABSOLUTEEX_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_PTZCFG

Configuration of PTZ protocols.

struct{
  DWORD                   dwSize;
  NET_DVR_PTZ_PROTOCOL    struPtz[PTZ_PROTOCOL_NUM];
  DWORD                   dwPtzNum;
  BYTE                    byRes[8];
}NET_DVR_PTZCFG, *LPNET_DVR_PTZCFG;

Members

dwSize
Structure size
struPtz
Protocol information, 200 kinds max
dwPtzNum
The number of valid PTZ protocols, starts from 0 (the total number is the value plus 1)
byRes
Reserved, please set it to 0

See Also

NET_DVR_PTZ_PROTOCOL


NET_DVR_PTZCRUISE_COND

Structure of the condition patameter to get patrol information

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwGroupNO;
  BYTE     byRes[8];
}NET_DVR_PTZCRUISE_COND, *LPNET_DVR_PTZCRUISE_COND;

Members

dwSize
Structure size
dwChannel
Channel number
dwGroupNum
Group number
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig


NET_DVR_PTZCRUISE_INFO

Structure of the patrol patameter

struct{
  DWORD    dwSize;
  DWORD    dwPtzCruiseNum;
  DWORD    dwGroupNum;
  BYTE     byRes[8];
}NET_DVR_PTZCRUISE_INFO, *LPNET_DVR_PTZCRUISE_INFO;

Members

dwSize
Structure size
dwPtzCruiseNum
The total number of patrols
dwGroupNum
The total number of the groups
byRes
Reserved

See Also

NET_DVR_GetDVRConfig


NET_DVR_PTZCRUISE_POINTCFG

Structure of patrol point configuration

struct{
  DWORD            dwSize;
  DWORD            dwPresetIndex;
  NET_VCA_POINT    struVcaPoint;
  BYTE             byDwell;
  BYTE             bySpeed;
  BYTE             byRes[32];
}NET_DVR_PTZCRUISE_POINTCFG, *LPNET_DVR_PTZCRUISE_POINTCFG;

Members

dwSize
Structure size
dwPresetIndex
The sequence number of preset
struVcaPoint
The coordinate of preset
byDwell
Dwell time
bySpeed
Speed
byRes
Reserved

Remarks

It supports to get the total number of presets by using the command NET_DVR_GET_PRESET_NUM (API: NET_DVR_GetDVRConfig).

See Also

NET_DVR_PTZCRUISECFG


NET_DVR_PTZCRUISECFG

Structure of patrol configuration

struct{
  DWORD                         dwSize;
  DWORD                         dwCruiseRoute;
  NET_DVR_PTZCRUISE_POINTCFG    struCruisePoint[MAX_PTZCRUISE_POINT_NUM];
  BYTE                          byRes[32];
}NET_DVR_PTZCRUISECFG, *LPNET_DVR_PTZCRUISECFG;

Members

dwSize
Structure size
dwCruiseRoute
The sequence number of the patrol
struCruisePoint
Patrol point configuration
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig


NET_DVR_PTZLOCKINFO

PTZ locking information structure。

struct{
  DWORD    dwSize;
  DWORD    dwRemainingSec;
  BYTE     byRes[128];
}NET_DVR_PTZLOCKINFO, *LPNET_DVR_PTZLOCKINFO;

Members

dwSize
Structure size
dwRemainingSec
Remaining time(s)
byRes
Reserved, set as 0.

Remarks

Configure the PTZ viaNET_DVR_SetDVRConfig(Command: NET_DVR_SET_PTZLOCKCFG).

See Also

NET_DVR_StartRemoteConfig


NET_DVR_PTZLOCKINFO_COND

PTZ locking time query condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[64];
}NET_DVR_PTZLOCKINFO_COND, *LPNET_DVR_PTZLOCKINFO_COND;

Members

dwSize
Structure size
dwChannel
Device channel No.
byRes
Reserved, set as 0.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_PTZPOS

Structure of PTZ position.

struct{
  WORD     wAction;
  WORD     wPanPos;
  WORD     wTiltPos;
  WORD     wZoomPos;
}NET_DVR_PTZPOS, *LPNET_DVR_PTZPOS;

Members

wAction
Operation type, valid only when setting. 1- locate PTZ parameter, 2- locate P parameter, 3- locate T parameter, 4- locate Z parameter, 5- locate PT parameter
wPanPos
P (pan position)
wTiltPos
T (tilt position)
wZoomPos
Z (zoom position)

Remarks

Only the network speed dome support the function to get PTZ scope.

wAction is valid operation type when setting, it is invalid when getting.

Actual PTZ value is one-tenth of the got value, for example:
if the got P value is 0x1750, the actual P value is 175°;
if the got T value is 0x0789, the actual T value is 78.9°;
if the got Z value is 0x1100, the actual Z value is 110°.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PTZPOS_INFO

PTZ parameter structure

struct{
  DWORD    dwPanPos;
  DWORD    dwTiltPos;
  DWORD    dwZoomPos;
}NET_DVR_PTZPOS_INFO, *LPNET_DVR_PTZPOS_INFO;

Members

dwPanPos
Pan
dwTiltPos
Tilt
dwZoomPos
Zoom

See Also

NET_DVR_TRAVERSE_PLANE_SEARCHCOND


NET_DVR_PTZPOS_PARAM

Structure of PTZ Coordinate Information

struct{
  float    fPanPos;
  float    fTiltPos;
  float    fZoomPos;
  BYTE     byRes[16];
}NET_DVR_PTZPOS_PARAM,*LPNET_DVR_PTZPOS_PARAM;

Members

fPanPos
Horizontal Parameters are accurate to 1 digit after the decimal point.
fTiltPos
Vertical Parameters are accurate to 1 digit after the decimal point.
fZoomPos
Zoom Parameters are accurate to 1 digit after the decimal point.
byRes
Reserved; Set to 0.

See Also

NET_DVR_GIS_UPLOADINFO NET_DVR_GIS_INFO


NET_DVR_PTZSCOPE

Structure of PTZ scope.

struct{
  WORD     wPanPosMin;
  WORD     wPanPosMax;
  WORD     wTiltPosMin;
  WORD     wTiltPosMax;
  WORD     wZoomPosMin;
  WORD     wZoomPosMax;
}NET_DVR_PTZSCOPE, *LPNET_DVR_PTZSCOPE;

Members

wPanPosMin
Minimum value of P (pan position)
wPanPosMax
Maximum value of P (pan position)
wTiltPosMin
Minimum value of T (tilt position)
wTiltPosMax
Maximum value of T (tilt position)
wZoomPosMin
Minimum value of Z (zoom position)
wZoomPosMax
Maximum value of Z (zoom position)

Remarks

Only the network speed dome support the function to get PTZ scope.

See Also

NET_DVR_GetDVRConfig


NET_DVR_PTZTRACKCHAN_INFO

Pattern channel information structure

struct{
  DWORD   dwEnablePtzTrackChan;
  DWORD   dwPtzTrackNo;
}NET_DVR_PTZTRACKCHAN_INFO,*LPNET_DVR_PTZTRACKCHAN_INFO;

Members

dwEnablePtzTrackChan
Channel that enabl the pattern
dwPtzTrackNo
Related pattern No., 0xfffffff indicates invalid.

See Also

NET_DVR_ALARMINCFG_V40 NET_DVR_VCA_DETECTION_CFG_V40 NET_DVR_EVENT_TRIGGER


NET_DVR_PU_STREAM_CFG

Structure of dynamic decoding parameters.

struct{
  DWORD                             dwSize;
  NET_DVR_STREAM_MEDIA_SERVER_CFG   struStreamMediaSvrCfg;
  NET_DVR_DEV_CHAN_INFO             struDevChanInfo;
}NET_DVR_PU_STREAM_CFG,*LPNET_DVR_PU_STREAM_CFG;

Members

dwSize
Structure size
struStreamMediaSvrCfg
Configuration of stream media server
struDevChanInfo
Configuration of device channel


NET_DVR_PU_STREAM_CFG_V41

Structure of dynamic decoding configuration

struct{
  DWORD                      dwSize;
  BYTE                       byStreamMode;
  BYTE                       byRes1[3];
  NET_DVR_DEC_STREAM_MODE    uDecStreamMode;
  BYTE                       byRes2[64];
}NET_DVR_PU_STREAM_CFG_V41,*LPNET_DVR_PU_STREAM_CFG_V41;

Members

dwSize
Structure size
byStreamMode
Stream mode: 0- invalid, 1- get stream by IP or domain name, 2- get stream by URL, 3- get stream by DDNS
byRes1
Reserved, please set to 0
uDecStreamMode
Stream configuration union
byRes2
Reserved, please set to 0

See Also

NET_DVR_MatrixStartDynamic_V41


NET_DVR_PU_STREAM_URL

Structure of the configuration about getting stream by URL

struct{
  BYTE    byEnable;
  BYTE    strURL[240];
  BYTE    byTransPortocol ;
  WORD    wIPID;
  BYTE    byChannel;
  BYTE    byRes[7];
}NET_DVR_PU_STREAM_URL,*LPNET_DVR_PU_STREAM_URL;

Members

byEnable
Whether enable it or not: 0- disable, 1- enable
strURL
URL path
byTransPortocol
Transfer Protocol: 0- TCP, 1- UDP
wIPID
Device ID, wIPID = iDevInfoIndex + iGroupNO*64 +1
byChannel
Channel number
byRes
Reserved, please set to 0

Remarks

One eaxample of URL format to get stream for stream media server:
{rtsp://ip[:port]/urlExtension}[?username=username][?password=password][?linkmode=linkmode]

See Also

NET_DVR_DEC_STREAM_MODE NET_DVR_GET_STREAM_UNION NET_DVR_STREAM_TYPE_UNION


NET_DVR_PU_STREAM_URL_CFG_V40

The structure of URL stream getting path constituted parameters.。

struct{
  BYTE    byEnable;
  BYTE    byRes[3];
  BYTE    byStreamMediaIP[64];
  WORD    wStreamMediaPort;
  BYTE    byTransmitType;
  BYTE    byRes1;
  BYTE    byDevIP[64];
  WORD    wDevPort;
  BYTE    byChannel;
  BYTE    byTransMode;
  BYTE    byProType;
  BYTE    byTransProtocol;
  BYTE    byRes3[2];
  BYTE    sUserName[NAME_LEN];
  BYTE    sPassWord[PASSWD_LEN];
  BYTE    byRes2[308];
}NET_DVR_PU_STREAM_URL_CFG_V40,*LPNET_DVR_PU_STREAM_URL_CFG_V40;

Members

byEnable
Enable? 0- Disable,1- Enable
byRes
Reserved, set as 0.
byStreamMediaIP
The IP address of the stream media.
wStreamMediaPort
The port No. of the stream media.
byTransmitType
The protocol of the stream media: 0- TCP, 1- UDP, 2-RTSP
byRes1
Reserved, set as 0.
byDevIP
The IP address of the device.
wDevPort
The device port No.
byChannel
The channel No. of the device.
byTransMode
The transmission mode: 0- Main stream, 1- Sub stream
byProType
Protocol type: 0- private (default), 1- Dahua, 2-Hanbang, 3-Launch,4- Bluestrar
byTransProtocol
The protocol type: 0- TCP, 1- UDP, 2- Multicast
byRes3
Reserved, set as 0.
sUserName
The logon username of the device
sPassWord
The logon password of the device
byRes2
Reserved, set as 0.

See Also

NET_DVR_STREAM_TYPE_V40_UNION


NET_DVR_PUBLIC_SUB_SYSTEM

Public sub-system information structure

struct{
  DWORD    dwJointSubSystem;
  BYTE     byRes[16];
}NET_DVR_PUBLIC_SUB_SYSTEM,*LPNET_DVR_PUBLIC_SUB_SYSTEM;

Members

dwJointSubSystem
No. of linked sub-system, indicated by bit, dwJointSubSystem&0x1==1 means the sub-system1 linked to the public sub-system, dwJointSubSystem&0x2==1 means the sub-system2 linked to the public sub-system, and so forth
byRes
Reserved

See Also

NET_DVR_JOINT_SUB_SYSTEM


NET_DVR_PUBLISH_ADD_UNION

One-click publish address information complex

union{
  BYTE                           byLen[256];
  NET_DVR_PUBLISH_HTTP_CFG       struHttpCfg;
  NET_DVR_PUBLISH_FTP_CFG        struFtpCfg;
  NET_DVR_PUBLISH_FTP_CFG_DIR    struDirFtpCfg;
}NET_DVR_PUBLISH_ADD_UNION, *LPNET_DVR_PUBLISH_ADD_UNION;

Members

byLen
Complex size, 256 bytes
struHttpCfg
HTTP address information
struFtpCfg
FTP address information
struDirFtpCfg
Address of FTP by directory

See Also

NET_DVR_PUBLISH_CFG


NET_DVR_PUBLISH_CFG

One-click publish information configuration structure

struct{
  DWORD                          dwSize;
  BYTE                           byPublishType;
  BYTE                           byRes1[3];
  NET_DVR_PUBLISH_ADD_UNION      struPublishAddr;
  NET_DVR_RECORD_PUBLISH_INFO    struChanPublish[MAX_CHANNUM_V30];
  NET_DVR_RECORD_PUBLISH_INFO    struDirectChanPublish;
  BYTE                           byUploadTime;
  BYTE                           byTimerMode;
  BYTE                           byUploadStartHour;
  BYTE                           byUoploadStartMin;
  BYTE                           byRes[1020];
 }NET_DVR_PUBLISH_CFG,*LPNET_DVR_PUBLISH_CFG;

Members

dwSize
Structure size
byPublishType
Publishing mode: 0- HTTP, 1- FTP, 2- FTP by directory
byRes1
Set as 0
struPublishAddr
One-click publish address information
struChanPublish
Channel video publish information, number array subscript corresponds to channel No., e.g., struChanPublish[0] means the video publish information corresponding to channel 1
struDirectChanPublish
Directed channel video publish information
byUploadTime
Whether to enable FTP upload function: 0- no, 1- yes
byTimerMode
Timed mode: 0- null, 1- upload the most recent class video according to class schedule, 2- upload the video of last 24 hours by time point
byUploadStartHour
Upload schedule start time: hour, range: 0 to 23
byUoploadStartMin
Upload schedule start time: minute, range: 0 to 59
byRes
Reserved, set as 0

Remarks

Publishing means to upload the video of the current day to the server for easy management.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_PUBLISH_FTP_CFG

FTP publishing parameter structure

struct{
  BYTE    byProtocolType;
  BYTE    byRes1;
  WORD    wFTPPort;
  BYTE    byAddress[MAX_DOMAIN_NAME];
  BYTE    szUserName[NAME_LEN];
  BYTE    szPassWord[PASSWD_LEN];
  BYTE    szCustomDir[128];
  BYTE    byRes[12];
}NET_DVR_PUBLISH_FTP_CFG, *LPNET_DVR_PUBLISH_FTP_CFG;

Members

byProtocolType
Protocol type: 0- FTP, 1- SFTP
byRes1
Reserved, set as 0
wFTPPort
Port No.
byAddress
IP or domain name, requires device resolving: letters with "." for domain name, otherwise IP address
szUserName
User name
szPassWord
Password
szCustomDir
Custom publishing directory, supporting directory structure
byRes
Reserved, set as 0

See Also

NET_DVR_PUBLISH_ADD_UNION


NET_DVR_PUBLISH_FTP_CFG_DIR

FTP publishing by directory parameter structure

struct{
  BYTE    byProtocolType;
  BYTE    byRes1;
  WORD    wFTPPort;
  BYTE    byAddress[MAX_DOMAIN_NAME];
  BYTE    szUserName[NAME_LEN];
  BYTE    szPassWord[PASSWD_LEN];
  BYTE    byDirLevel;
  BYTE    byTopDirMode;
  BYTE    bySubDirMode;
  BYTE    byRes2;
  BYTE    byTopCustomDir[MAX_CUSTOMDIR_LEN];
  BYTE    bySubCustomDir[MAX_CUSTOMDIR_LEN];
  BYTE    byRes[72];
}NET_DVR_PUBLISH_FTP_CFG_DIR, *LPNET_DVR_PUBLISH_FTP_CFG_DIR;

Members

byProtocolType
Protocol type: 0- FTP, 1- SFTP
byRes1
Reserved, set as 0
wFTPPort
Port No.
byAddress
IP or domain name, requires device resolving: letters with "." for domain name, otherwise IP address
szUserName
User name
szPassWord
Password
byDirLevel
Directory level: 0- save to root directory; 1- use top directory; 2- use sub directory
byTopDirMode
Top directory: 0x1- use device name, 0x2- use device No., 0x3- use device IP address, 0xff- use custom
bySubDirMode
Sub directory: 0x1- use channel name, 0x2- use channel No., 0x3- use course name, 0x4- use course date, 0xff- use custom
byRes2
Reserved, set as 0
byTopCustomDir
Custom top directory
bySubCustomDir
Custom sub directory
byRes
Reserved, set as 0

See Also

NET_DVR_PUBLISH_ADD_UNION


NET_DVR_PUBLISH_HTTP_CFG

HTTP publishing parameter structure

struct{
  BYTE    strUrl[256];
}NET_DVR_PUBLISH_HTTP_CFG, *LPNET_DVR_PUBLISH_HTTP_CFG;

Members

strUrl
Published URL address information

See Also

NET_DVR_PUBLISH_ADD_UNION


NET_DVR_PUBLISH_PROGRESS_CFG

File publishing progress parameter structure

struct{
  DWORD    dwSize;
  BYTE     byPublishPercent;
  BYTE     byPublishStatus;
  BYTE     byRes[302];
 }NET_DVR_PUBLISH_PROGRESS_CFG,*LPNET_DVR_PUBLISH_PROGRESS_CFG;

Members

dwSize
Structure size
byPublishPercent
Publishing percentage, value range: 0 to 100
byPublishStatus
Publishing status: 0- published successfully, 1- publishing in progress, 2- waiting for publishing, 3- failed to connect to FTP, 4- file not found, 5- failed to publish (other error)
byRes
Reserved, set as 0

Remarks

  • Whether the device supports file publishing progress search can be determined through device capability set (PublishFile), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RECORDING_PUBLISH_FILE_CAP.

See Also

NET_DVR_GetSTDConfig


NET_DVR_PUBLISH_PROGRESS_COND

File publishing progress searching condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byFileID[MAX_ID_LEN_128];
  BYTE     byRes[256];
 }NET_DVR_PUBLISH_PROGRESS_COND,*LPNET_DVR_PUBLISH_PROGRESS_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byFileID
Publishing file ID
byRes
Reserved, set as 0

Remarks

  • Whether device supports file publishing progress search capability or supported parameter, can be determined through device capability set (PublishFile), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RECORDING_PUBLISH_FILE_CAP.

See Also

NET_DVR_GetSTDConfig


NET_DVR_PUSHALARMINFO

Structure of push-mode alarm information.

struct{
  DWORD             dwAlarmType;
  DWORD             dwAlarmInputNumber;
  DWORD             dwAlarmOutputNumber[MAX_ALARMOUT];
  DWORD             dwAlarmRelateChannel[MAX_CHANNUM];
  DWORD             dwChannel[MAX_CHANNUM];
  DWORD             dwDiskNumber[MAX_DISKNUM];
  BYTE              byDeviceID[NAME_LEN];
  BYTE              byRes[4];
}NET_DVR_PUSHALARMINFO,*LPNET_DVR_PUSHALARMINFO;

Members

dwAlarmType
Alarm type: 0- semaphore alarm, 1- hard disk full, 2- video loss, 3- motion detection, 4- hard disk unformatted, 5- hard disk error, 6- tampering detection, 7- unmatched video format(PAL or NTSC), 8- illegal access
dwAlarmInputNumber
Alarm input port
dwAlarmOutputNumber
Triggered alarm output port, that its value is 1 means triggering the alarm output port. For example, if dwAlarmType==3 and dwAlarmOutputNumber[0]==1 means the motion detection alarm will trigger the NO.1 alarm output port.
dwAlarmRelateChannel
The channel triggered to record, the array subscript corresponds to the channel number. For example, dwAlarmRelateChannel[1]==1 means channel NO.2 is triggered to record.
dwChannel
Alarming channel. It is valid when alarm type is 2, 3, or 6. The array subscript corresponds to the channel number. For example, if dwAlarmType==2 and byChannel[2]==1 means channel NO.3 occurs the video loss alarm.
dwDiskNumber
Alarming hard disk. When alarm type is 1, 4, or 5, it is valid. The array subscript corresponds to the hard disk number. For example, if dwAlarmType==4 and byDiskNumber[3]==1 means hard disk NO.4 is unformatted.
byDeviceID
Device ID string
byRes
Reserved, please set to 0

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_PUSHALARMINFO_V30

Structure of push-mode alarm information.

struct{
  DWORD             dwAlarmType;
  DWORD             dwAlarmInputNumber;
  DWORD             dwAlarmOutputNumber[MAX_ALARMOUT_V30];
  DWORD             dwAlarmRelateChannel[MAX_CHANNUM_V30];
  DWORD             dwChannel[MAX_CHANNUM_V30];
  DWORD             dwDiskNumber[MAX_DISKNUM_V30];
  BYTE              byDeviceID[NAME_LEN];
  BYTE              byRes[4];
}NET_DVR_PUSHALARMINFO_V30,*LPNET_DVR_PUSHALARMINFO_V30;

Members

dwAlarmType
Alarm type: 0- semaphore alarm, 1- hard disk full, 2- video loss, 3- motion detection, 4- hard disk unformatted, 5- hard disk error, 6- tampering detection, 7- unmatched video format(PAL or NTSC), 8- illegal access, 9- video signal abnormal, 10- record abnormal, 11- intelligent scene change, 12- array abnormal
dwAlarmInputNumber
Alarm input port
dwAlarmOutputNumber
Triggered alarm output port, that its value is 1 means triggering the alarm output port. For example, if dwAlarmType==3 and dwAlarmOutputNumber[0]==1 means the motion detection alarm will trigger the NO.1 alarm output port.
dwAlarmRelateChannel
The channel triggered to record, the array subscript corresponds to the channel number. For example, dwAlarmRelateChannel[1]==1 means channel NO.2 is triggered to record.
dwChannel
Alarming channel. It is valid when alarm type is 2, 3, 6, 9, or 10. The array subscript corresponds to the channel number. For example, if dwAlarmType==2 and byChannel[2]==1 means channel NO.3 occurs the video loss alarm.
dwDiskNumber
Alarming hard disk. When alarm type is 1, 4, or 5, it is valid. The array subscript corresponds to the hard disk number. For example, if dwAlarmType==4 and byDiskNumber[3]==1 means hard disk NO.4 is unformatted.
byDeviceID
Device ID string
byRes
Reserved, please set to 0

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_PUSHJPEGPARA

Structure of push-mode picture parameter.

struct{
  WORD        wPicSize;
  WORD        wPicQuality;
  BYTE        byPicTackleMode;
  BYTE        byRes[11];
}NET_DVR_PUSHJPEGPARA,*LPNET_DVR_PUSHJPEGPARA;

Members

wPicSize
Picture resolution: 0- CIF, 1- QCIF, 2- D1, 3- UXGA(1600x1200), 4- SVGA(800x600), 5- HD720p(1280x720), 6- VGA
wPicQuality
Picture quality factor: 0- best, 1- better, 2- general
byPicTackleMode
Handling method of captured picture: 1- uploaded to certer, 2- saved in device local hard disk, 3- uploaded to certer and saved in device local hard disk
byRes
Reserved, please set to 0

See Also

NET_DVR_SpringJPEGPicture


NET_DVR_PUSHMODEPARAM

Structure of push-mode parameter.

struct{
  BYTE        byUdpPreviewMode;
  BYTE        byRes[19];
}NET_DVR_PUSHMODEPARAM,*LPNET_DVR_PUSHMODEPARAM;

Members

byUdpPreviewMode
UDP preview mode when directly connecting: 1- one port with multiple streams, 2- one port with one stream
byRes
Reserved, please set to 0

See Also

NET_DVR_SetPushModeParam


NET_DVR_PXMULTICTRL_CFG

The structure of multi-channel parameters configuration of parking lot ticket machine slave devices

struct{
  DWORD    dwSize;
  DWORD    dwMultiChansWaitTime;
  BYTE     byMultiChansCapEnabled;
  BYTE     byRes[127];
}NET_DVR_PXMULTICTRL_CFG,*LPNET_DVR_PXMULTICTRL_CFG;

Members

dwSize
Structure size
dwMultiChansWaitTime
Multi-channel capture matching time, value range: 1~300, unit: s
byMultiChansCapEnabled
Enable multi-channel capture? 0- no, 1- yes
byRes
Reserved, set to 0

Remarks

  • According to the capability set, you can understand whether the device supports multi-channel parameters configuration of parking lot ticket machine slave devices. Corresponding ticket machine slave devices multi-channel configuration capability set (TMEMultiCtrlConfiguration). Relevant interface: NET_DVR_GetSTDAbility. Capability type: NET_DVR_GET_PXMULTICTRL_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_PXOFFLINE_CFG

The structure of parking lot ticket machine offline configuration.

struct{
  DWORD    dwSize;
  BYTE     byEnabled;
  BYTE     byChargeEnabled;
  BYTE     byAlarmEnabled;
  BYTE     byRecordSource;
  DWORD    dwTimeWait;
  DWORD    dwRealeaseMode;
  BYTE     byVehCardmatch;
  BYTE     bySingleInSingleOut;
  BYTE     byRes[126];
}NET_DVR_PXOFFLINE_CFG,*LPNET_DVR_PXOFFLINE_CFG;

Members

dwSize
Structure size
byEnabled
Enable the ticket machine offline mode? 0- disable, 1- enable
byChargeEnabled
Enable offline charge? 0- no, 1- yes
byAlarmEnabled
Enable offline alarm? 0- no, 1- yes
byRecordSource
Record Source: 0- License Plate Recognition, 1- reading card
dwTimeWait
Waiting time before offline mode of ticket machine, value range: 1~300, unit: s
dwRealeaseMode
Passing mode, value：0- don't pass，1- pass
dwRealeaseMode&(0x1<<0)，Internal vehicle pass
dwRealeaseMode&(0x1<<1)，Internal card pass
dwRealeaseMode&(0x1<<2)，Temporary vehicle pass
dwRealeaseMode&(0x1<<3)，Temporary card pass
dwRealeaseMode&(0x1<<4)，Pass without license plate
dwRealeaseMode&(0x1<<5)，Auto pass for internal vehicle if free
dwRealeaseMode&(0x1<<6)，Auto pass for temporary vehicle if free
byVehCardmatch
Whether both card and vehicle match: 0- no, 1- yes
bySingleInSingleOut
Whether single in single out: 0- no, 1- yes
byRes
Reserved, set to 0

Remarks

  • According to the capability set, you can understand whether the device supports configuring parking lot ticket machine offline parameters. Corresponding ticket machine offline configuration capability set (TMEOfflineConfiguration). Relevant interface: NET_DVR_GetSTDAbility. Capability type: NET_DVR_GET_PXOFFLINE_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_QOS_CFG

Structure of QoS configuration

struct{
  DWORD    dwSize;
  BYTE     byManageDscp;
  BYTE     byAlarmDscp;
  BYTE     byVideoDscp;
  BYTE     byAudioDscp;
  BYTE     byFlag;
  BYTE     byEnable;
  BYTE     byRes[126];
}NET_DVR_QOS_CFG,*LPNET_DVR_QOS_CFG;

Members

dwSize
Structure size
byManageDscp
Management DSCP, value range: [0,63]
byAlarmDscp
Event/alarm DSCP, value range: [0,63]
byVideoDscp
Video DSCP, value range: [0,63]. When byFlag==0, it means video&audio
byAudioDscp
Audio DSCP, value range: [0,63], it is valid when byFlag==1
byFlag
The type of video/audio data: 0- video and audio is composite, 1- video and audio is separate
byEnable
Enable QoS or not: 0- disable, 1- enable
byRes
Reserved, please set to 0

See Also

DSCP: Differentiated Services Code Point, the QoS classification criteria that was released by IETF in December 1998.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_QOSPARAM

Structure of QoS parameter.

struct{
  WORD         wMaxBitUL;
  WORD         wMaxBitDL;
  BYTE         byTrafficClass;
  BYTE         byRes[7];
}NET_DVR_QOSPARAM,*LPNET_DVR_QOSPARAM;

Members

wMaxBitUL
The maximum uplink bitrate(kbits/s): 0- 8, 1- 16, 2- 32, 3- 64, 4- 128, 5- 256, 6- 384, 7- 512, 8- 1152, 9- 1536, 10- 2048. If the 15th bit is set as 1, it means customized bitrate, and bit 0~14 are used for the bitrate value.
wMaxBitDL
The maximum downlink bitrate(kbits/s): 0- 8, 1- 16, 2- 32, 3- 64, 4- 128, 5- 256, 6- 384, 7- 512, 8- 1152, 9- 1536, 10- 2048. If the 15th bit is set as 1, it means customized bitrate, and bit 0~14 are used for the bitrate value.
byTrafficClass
Traffic class: 0- conversational, 1- streaming, 2- interactive, 3- background, 4- subscribed value(default)
byRes
Reserved, please set to 0

See Also

NET_DVR_DIALPARAM


NET_DVR_QUERY_STATUS

Structure of query status

struct{
  DWORD    dwSize;
  BYTE     byCpuLoad;
  BYTE     byMemLoad;
  WORD     wAbility;
  WORD     wRemainAbility;
  WORD     wTotalPlanNum;
  WORD     wCurPlanNum;
  BYTE     byRes[62];
}NET_DVR_QUERY_STATUS, *LPNET_DVR_QUERY_STATUS;

Members

dwSize
Structure size
byCpuLoad
CPU load, data range: 0-100
byMemLoad
Memory load, data range: 0-100
wAbility
VQD ability, more than 0
wRemainAbility
Remain ability ,data range: more than 0, number of remain cameras
wTotalPlanNum
Number of total plan, up to 100
wCurPlanNum
Current plan number, up to 100
byRes3
Reserved

See Also

NET_DVR_GetDeviceStatus


NET_DVR_RAID_ADAPTER_INFO

Structure of adapter parameter.

struct{
  DWORD                     dwSize;
  NET_DVR_ADAPTER_VERSION   struVersion;
  BYTE                      bySlotCount;
  BYTE                      bySupportMigrate;
  BYTE                      bySupportExpand;
  BYTE                      bySupportRebuild;
  WORD                      wSlotSupportType;
  WORD                      wSupportRaidType;
  BYTE                      byAutoRebuild;
  BYTE                      byRes[27];
}NET_DVR_RAID_ADAPTER_INFO, *LPNET_DVR_RAID_ADAPTER_INFO;

Members

dwSize
The Structure size
struVersion
Adapter version number
bySlotCount
The count of adapter slots
bySupportMigrate
Whether it supports migration or not: 0- no, 1- yes
bySupportExpand
Whether it supports expansion or not: 0- no, 1- yes
bySupportRebuild
Whether it supports to rebulid array or not: 0- no, 1- yes
wSlotSupportType
Type supported by slot, it is stated by bit. Detailed definition listed below:
enum _HD_SUPPORT_TYPE_{
  HD_TYPE_SATA   = 0x01,
  HD_TYPE_PATA   = 0x02,
  HD_TYPE_SAS    = 0x04,
  HD_TYPE_ATAPI  = 0x08,
  HD_TYPE_TAPE   = 0x10,
  HD_TYPE_SES    = 0x20
}HD_SUPPORT_TYPE
HD_TYPE_SATA
SATA
HD_TYPE_PATA
PATA
HD_TYPE_SAS
SAS
HD_TYPE_ATAPI
ATAPI
HD_TYPE_TAPE
TAPE
HD_TYPE_SES
SES
wSupportRaidType
Supported RAID type, it is stated by bit. Detailed definition listed below:
enum _RAID_MODE_{
  RAID0 = 1,
  RAID1,
  RAID10,
  RAID1E,
  RAID5,
  RAID6,
  RAID50,
  JBOD,
  RAID60
}RAID_MODE
RAID0
RAID0
RAID1
RAID1
RAID10
RAID10
RAID1E
RAID1E
RAID5
RAID5
RAID6
RAID6
RAID50
RAID50
JBOD
JBOD
RAID60
RAID60
byAutoRebuild
Whether it supports auto rebuilding or not: 0- no, 1- yes
byRes
Reserved, please set to 0

See Also

NET_DVR_ADAPTER_VERSION


NET_DVR_RAID_BTS_CFG

The structure of RAID background task speed parameters

struct{
  DWORD    dwSize;
  BYTE     bySpeed;
  BYTE     byRes[127];
}NET_DVR_RAID_BTS_CFG,*LPNET_DVR_RAID_BTS_CFG;

Members

dwSize
The size of the structure
bySpeed
The speed of RAID background task: 0-High, 1- Medium, 2- Low
byRes
Reserved

Remarks

  • Users can select the background task speed according to the actual condition.
  • 1. Default settings: Medium
  • 2. Speed of the task、
    High: Less than or equal to 200MB/s
    Medium: Less than or equal to 20MB/s
    Low:Less than or equal to 10MB/s
    The higher speed is selected, the more system resources is consumed.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_RAPIDMOVE_DETECTION

Fast moving detection configuration structure

struct{
  DWORD                       dwSize;
  BYTE                        byEnabled;
  NET_DVR_RAPIDMOVE_REGION    struRegion[MAX_REGION_NUM];
  BYTE                        byRes2[128];
}NET_DVR_RAPIDMOVE_DETECTION,*LPNET_DVR_RAPIDMOVE_DETECTION;

Members

dwSize
Structure size
byEnabled
Enable? 0- No, 1- Yes
byRes1
Reserved
struRegion
Fast moving detection region
byRes2
Reserved

Remarks

  • This function corresponds to fast moving detection capability(RapidMove), API;NET_DVR_GetSTDAbility(Capability type:NET_DVR_GET_RAPIDMOVE_CAPABILITIES).
  • If the all Region parameters(struRegion) are set as 0, it indicates that the region is deleted. If any of the Region parameters(struRegion) is not set as 0, the region parameters can not be configured. Configure the region parameters separately via NET_DVR_SET_REGION_ENTR_REGION.

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_RAPIDMOVE_REGION

Fast moving detection region configuration structure

struct{
  NET_VCA_POLYGON    struRegion;
  BYTE               bySensitivity;
  BYTE               byRes[63];
}NET_DVR_RAPIDMOVE_REGION,*LPNET_DVR_RAPIDMOVE_REGION;

Members

struRegion
Region coverage
bySensitivity
Sensitivity parameters, value range[1,100]
byRes
Reserved

Remarks

If the Region parameters is set as 0, it indicates that the region is deleted. For speed dome, when getting single region, it will be located to the scene of this region.。

See Also

NET_DVR_RAPIDMOVE_DETECTION


NET_DVR_REALTIME_THERMOMETRY_COND

Real time temperature measurement condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  BYTE     byRuleID;
  BYTE     byRes[64];
}NET_DVR_REALTIME_THERMOMETRY_COND,*LPNET_DVR_REALTIME_THERMOMETRY_COND;

Members

dwSize
Structure size
dwChan
Channel No., from 1, 0xffffffff means getting all channels
byRuleID
Rule ID, 0- means getting all rules, rule ID starts from 1
byRes
Reserved, set as 0

Remarks

  • Check whether to support the real time temperature measurement function via the device capability set(ThermalCap)，API：NET_DVR_GetSTDAbility，Capability Set Type：NET_DVR_GET_THERMAL_CAPABILITIES，Node：<ThermalCap>.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_REBOOT_TIME

Structure of auto reboot time

struct{
  BYTE    byDate;
  BYTE    byHour;
  BYTE    byMinute;
  BYTE    byRes[13];
}NET_DVR_REBOOT_TIME,*LPNET_DVR_REBOOT_TIME;

Members

byDate
Day of the week
byHour
Hour
byMinute
Minute
byRes
Reserved, please set it to 0

See Also

NET_DVR_AUTO_REBOOT_CFG


NET_DVR_REC_PASSBACK_BASIC_CFG

Passback function basic configuration structure

struct{
  DWORD    dwSize;
  DWORD    dwStartTime;
  DWORD    dwStopTime;
  WORD     wMaxTotalConcurrenceNum;
  WORD     wMaxDvrConcurrenceNum;
  BYTE     byRes[127];
}NET_DVR_REC_PASSBACK_BASIC_CFG,*LPNET_DVR_REC_PASSBACK_BASIC_CFG;

Members

dwSize
Structure size
dwStartTime
Detection window start time, unit: minute, 120 means the start time is 2 hours ago
dwStopTime
Detection window end time, unit: minute, 60 means the end time is 1 hour ago
wMaxTotalConcurrenceNum
Concurrent passback channel limit, works for number of encoder channels, not entries of passback tasks
wMaxDvrConcurrenceNum
Single DVR concurrent passback channel upper limit
byRes
Reserved, set as 0

Remarks

  • Configure the time period of history video for passback through NET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG, and set the start time and end time of detection window, then the video from front-end device within the specified history video time period and detection time period will be automatically passed back for storage.
  • Whether device supports passback configuration or the supported capability, can be determined through device capability set (RecordPassBackBasicCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_RECORD

Parameter structure of channel record.

struct{
  DWORD                 dwSize;
  DWORD                 dwRecord;
  NET_DVR_RECORDDAY     struRecAllDay[MAX_DAYS];
  NET_DVR_RECORDSCHED   struRecordSched[MAX_DAYS][MAX_TIMESEGMENT];
  DWORD                 dwRecordTime;
  DWORD                 dwPreRecordTime;
}NET_DVR_RECORD, *LPNET_DVR_RECORD;

Members

dwSize
Structure size
dwRecord
Whether to enable record:0-no,1-yes
struRecAllDay
Record schedule
struRecordSched
Paremeter of record schedule
dwRecordTime
Post-record time,0-5s, 1-10s, 2-30s, 3-1min, 4-2min, 5-5min, 6-10min
dwPreRecordTime
Pre-record time:0-no pre-record,1-5s,2-10s,3-15s,4-20s,5-25s,6-30s,7-0xffffffff(record as long as possible)

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_RECORDDAY NET_DVR_RECORDSCHED


NET_DVR_RECORD_CHECK_COND

Structure for detecting the video completeness.

struct{
  DWORD                  dwSize;
  NET_DVR_STREAM_INFO    struStreamInfo;
  BYTE                   byCheckType;
  BYTE                   byRes1[3];
  NET_DVR_TIME_EX        struBeginTime;
  NET_DVR_TIME_EX        struEndTime;
  BYTE                   byRes[128];
}NET_DVR_RECORD_CHECK_COND, *LPNET_DVR_RECORD_CHECK_COND;

Members

dwSize
Structure size
struStreamInfo
Stream information (only valid for the stream ID)
byCheckType
Detection mode: 0- video completeness (yes or no), 1- video completeness (yes or no) & the start time and end time of the lost video
byRes1
Reserved, set as 0
struBeginTime
Time when video detection starts
struEndTime
Time when video detection stops
byRes
Reserved, set as 0

Remarks

  • According to the capability set, you can understand whether the device supports detecting the video completeness or not. Corresponding CVR capability set (CVRAbility ), Relevant interface: NET_DVR_GetDeviceAbility, Capability set type: DEVICE_ABILITY_INFO, Node: <RecordCheck>.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_RECORD_CHECK_RET

Video Completeness Result Structure

struct{
  DWORD              dwSize;
  BYTE               byRecordNotComplete;
  BYTE               byRes1[3];
  NET_DVR_TIME_EX    struBeginTime;
  NET_DVR_TIME_EX    struEndTime;
  BYTE               byRes[128];
}NET_DVR_RECORD_CHECK_RET, *LPNET_DVR_RECORD_CHECK_RET;

Members

dwSize
Structure Size
byRecordNotComplete
The Completeness of the Record: 0- Complete, 1- Incomplete
byRes1
Reserved, Value=0
struBeginTime
Lack the video start time. When the parameter value of byRecordNotComplete andNET_DVR_RECORD_CHECK_CONDthe searching condition of byCheckType are 1, the values are valid.
struEndTime
Lack the video end time. When the parameter value of byRecordNotComplete andNET_DVR_RECORD_CHECK_CONDthe searching condition of byCheckType are 1, the values are valid.
byRes
Reserved, Value=0

Remarks

  • Use the device capability set to judge whether the device contains the video completeness test or the parameter capacity or not. Matched CVR Capability Set(CVRAbility ), Related Interface: NET_DVR_GetDeviceAbility, Capability Type: DEVICE_ABILITY_INFO, Node: <RecordCheck>.

See Also

NET_DVR_GetNextRemoteConfig


NET_DVR_RECORD_LABEL

Structure of record label.

struct{
  DWORD                   dwSize;
  NET_DVR_TIME            struTimeLabel;
  BYTE                    byQuickAdd;
  BYTE                    byRes1[3];
  BYTE                    sLabelName[LABEL_NAME_LEN];
  BYTE                    byRes2[40];
}NET_DVR_RECORD_LABEL,*LPNET_DVR_RECORD_LABEL;

Members

dwSize
Structure size
struTimeLabel
Label time
byQuickAdd
Whether quickly add label. Label name is invalid when quickly adding.
byRes1
Reserved
sLabelName
Label name. Its length is 40 bytes.
byRes2
Reserved

See Also

NET_DVR_InsertRecordLabel


NET_DVR_RECORD_PACK

The structure of video package

struct{
  NET_DVR_STRUCTHEAD    struStructHead;
  DWORD                 dwPackageInterval;
  BYTE                  byRes[32];
}NET_DVR_RECORD_PACK,*LPNET_DVR_RECORD_PACK;

Members

struStructHead
The header information of the structure
dwPackageInterval
The packing interval of the record file, unit: minute
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG

History video passback plan configuration structure

struct{
  DWORD                     dwSize;
  BYTE                      byEnable;
  BYTE                      byRes1[3];
  NET_DVR_PASSBACK_DAY      struPassBackDay[MAX_DAYS];
  NET_DVR_PASSBACK_SCHED    struPassBackSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                      byRes[256];
}NET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG,*LPNET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable: 0- no, 1- yes
byRes1
Reserved, set as 0
struPassBackDay
All day passback plan, 7 days each week
struPassBackSched
Time period plan, 7 days each week, up to 8 periods each day
byRes
Reserved, set as 0

Remarks

  • Configure the time period of history video for passback through this structure, and then set the start time and end time of detection window through NET_DVR_REC_PASSBACK_BASIC_CFG, the video from front-end device within the specified history video time period and detection time period will be automatically passed back for storage.
  • Whether device supports passback configuration or the supported capability, can be determined through device capability set (RecordPassBackHistoryPlanCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_RECORD_PASSBACK_MANUAL_COND

Structure of manual add video passback task search condition parameter.

struct{
  DWORD                  dwSize;
  BYTE                   byType;
  BYTE                   byTimeSegmentQuety;
  BYTE                   byRes1[2];
  NET_DVR_STREAM_INFO    struStreamInfo;
  NET_DVR_TIME_EX        struBeginTime;
  NET_DVR_TIME_EX        struEndTime;
  DWORD                  dwTaskID;
  BYTE                   byRes[108];
}NET_DVR_RECORD_PASSBACK_MANUAL_COND, *LPNET_DVR_RECORD_PASSBACK_MANUAL_COND;

Members

dwSize
Structure size
byType
Search method: 0-get all remaining tasks; 1-get remaining tasks according to stream ID; 2-get all tasks; 3-get tasks according to stream ID; 4-get tasks according to task ID
byTimeSegmentQuety
Whether to enable time range search: 0-disable; 1-enable
byRes1
Reserved, set as 0
struStreamInfo
Stream information (only stream ID is valid), byType is valid at 1 or 3
struBeginTime
Search start time, byTimeSegmentQuety is valid at 1
struEndTime
Search end time, byTimeSegmentQuety is valid at 1
dwTaskID
Task ID, byType is valid at 4
byRes
Reserved, set as 0

Remarks

  • Whether the device supports manual add video passback task search or the supported parameter, can be determined through device capability set(CVRAbility ), API:NET_DVR_GetDeviceAbility, type:DEVICE_ABILITY_INFO, node: <GetAllRecordPassBackManulTask>.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_RECORD_PASSBACK_MANUAL_CTRL

Manual recording passback task control parameters

struct{
  DWORD    dwSize;
  BYTE     byControlType;
  BYTE     byRes[131];
}NET_DVR_RECORD_PASSBACK_MANUAL_CTRL, *LPNET_DVR_RECORD_PASSBACK_MANUAL_CTRL;

Members

dwSize
Structure size
byControlType
Control mode:0- Stop all manual tasks, 1- Restart all manual tasks
byRes
Reserved, set as 0.

Remarks

  • The device does not support stopping/restarting single task control. Check whether to support the function of manual recording passback task control via device capability(CVRAbility ), API: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO, Node: <RecordPassBackManulTaskCtrl>。

See Also

NET_DVR_RemoteControl


NET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET

Manually add the structure of video pass back task searching results.

struct{
  DWORD                  dwSize;
  NET_DVR_STREAM_INFO    struStreamInfo;
  DWORD                  dwTaskID;
  NET_DVR_TIME_EX        struStartTime;
  NET_DVR_TIME_EX        struStopTime;
  BYTE                   byTaskStatus;
  BYTE                   byRes1[3];
  NET_DVR_TIME_EX        struExecuteStartTime;
  NET_DVR_TIME_EX        struExecuteStopTime;
  BYTE                   byRes[128];
}NET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET, *LPNET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET;

Members

dwSize
Structure Size
struStreamInfo
Stream ID Information
dwTaskID
Task ID
struStartTime
Start Time of Pass Back Video
struStopTime
End Time of Pass Back Video
byTaskStatus
Task Status: 0- Non Executed, 1- Pause, 2- Executed, 3- Passing Back
byRes1
Reserved, Value=0
struExecuteStartTime
Start Time of Task Actual Executing, It is valid when byTaskStatus is 1 or 2.
struExecuteStopTime
End Time of Task Actual Executing, It is valid when byTaskStatus is 2.
byRes
Reserved, Value=0

Remarks

  • Use the device capability set to judge whether the device supports to manually add the video pass back task searching or the parameter capacity or not. Corresponded CVR Capability Set (CVRAbility ), Related Interface: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO, Node: <GetAllRecordPassBackManulTask>.

See Also

NET_DVR_GetNextRemoteConfig


NET_DVR_RECORD_PASSBACK_SCH_CFG

Video Pass Back Schedule Configuration Structure

struct{
  DWORD                     dwSize;
  BYTE                      byEnable;
  BYTE                      byPassBackWeek;
  BYTE                      byRes1[2];
  NET_DVR_PASSBACK_DAY      struPassBackDay[MAX_DAYS];
  NET_DVR_PASSBACK_SCHED    struPassBackSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                      byRes[128];
}NET_DVR_RECORD_PASSBACK_SCH_CFG, *LPNET_DVR_RECORD_PASSBACK_SCH_CFG;

Members

dwSize
Structure Size
byEnable
Enable: 0- Disable, 1-Enable
byPassBackWeek
Pass Back by Weeks: 0-No, 1- Yes. When the value is 1, struPassBackDay and struPassBackSched are invalid.
byRes1
Reserved, Value=0
struPassBackDay
Pass Back All Day Schedule. When the value is 0, byPassBackWeek is valid.
struPassBackSched
Time Segment Pass Back Schedule. When the value is 0, byPassBackWeek is valid. 7 days in a week. Maximum: 8 time segments.
byRes
Reserved, Value=0

Remarks

  • Use the device capability set to judge whether the device contains the video pass back schedule configuration or the parameter capacity or not. Matched CVR Capability Set(CVRAbility ), Related Interface: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO, Node: <RecordPassBackPlanConfig>.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_RECORD_PUBLISH_INFO

Channel video publishing information structure

struct{
  BYTE     byPublish;
  BYTE     byRes1[3];
  DWORD    dwStreamType;
  BYTE     byRes[12];
}NET_DVR_RECORD_PUBLISH_INFO,*LPNET_DVR_RECORD_PUBLISH_INFO;

Members

byPublish
Whether to publish: 0- no, 1- yes
byRes1
Reserved, set as 0
dwStreamType
One-click publishing stream type, by bit, value: 0- do not publish, 1- publish
dwStreamType&0x1- main stream
dwStreamType&0x2- sub-stream
dwStreamType&0x4- third stream
byRes
Reserved, set as 0

See Also

NET_DVR_PUBLISH_CFG NET_DVR_ONEKEY_PUBLISH_CFG


NET_DVR_RECORD_SEGMENT_COND

Structure of Video Segments Total Size Searching Conditions

struct{
  DWORD                  dwSize;
  NET_DVR_STREAM_INFO    struStreamInfo;
  NET_DVR_TIME_EX        struStartTime;
  NET_DVR_TIME_EX        struStopTime;
  BYTE                   byRes[256];
}NET_DVR_RECORD_SEGMENT_COND, *LPNET_DVR_RECORD_SEGMENT_COND;

Members

dwSize
Structure Size
struStreamInfo
Stream Informtaion (Only the stream ID is valid.)
struStartTime
Video Segment Start Time
struStopTime
Video Segment End Time
byRes
Reserved, Value=0

Remarks

  • Use the device capability set to judge whether the device contains the searching capability of the video segments total size or the parameter capacity or not. Matched CVR Capability Set(CVRAbility )，Related Interface: NET_DVR_GetDeviceAbility, Capability Set Type: DEVICE_ABILITY_INFO, Node: <GetSegmentRecordtotalSize>.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_RECORD_SEGMENT_RET

Structure of Video Segments Total Size Searching Result

struct{
  DWORD    dwSize;
  DWORD    dwRecordTotalSize;
  BYTE     byRes[256];
}NET_DVR_RECORD_SEGMENT_RET, *LPNET_DVR_RECORD_SEGMENT_RET;

Members

dwSize
Structure Size
dwRecordTotalSize
Total Video Size, Unit: MB
byRes
Reserved, Value=0

Remarks

  • Use the device capability set to judge whether the device contains the searching capability of the video segments total size or the parameter capacity or not. Matched CVR Capability Set(CVRAbility ), Related Interface: NET_DVR_GetSTDAbility, Capability Set Type: DEVICE_ABILITY_INFO, Node: <GetSegmentRecordtotalSize>。

See Also

NET_DVR_GetNextRemoteConfig


NET_DVR_RECORD_STATUS

Course status structure

struct{
  DWORD          dwSize;
  BYTE           byRecUUID[MAX_UUID_LEN];
  BYTE           byRecordStatus;
  BYTE           byRes[603];
 }NET_DVR_RECORD_STATUS,*LPNET_DVR_RECORD_STATUS;

Members

dwSize
Structure size
byRecUUID
Manual course list UUID
byRecordStatus
Recording status, value: 0- pause, 1- block, 2- recording, 3- idle
byRes
Reserved, set as 0

See Also

NET_DVR_GetSTDConfig


NET_DVR_RECORD_TIME_SPAN

Structure of the query result about the video stating and stopping time of the channel.

struct{
  DWORD           dwSize;
  NET_DVR_TIME    strBeginTime;
  NET_DVR_TIME    strEndTime;
  BYTE            byType;
  BYTE            byRes[35];
}NET_DVR_RECORD_TIME_SPAN, *LPNET_DVR_RECORD_TIME_SPAN;

Members

dwSize
Structure size
strBeginTime
Starting time
strEndTime
Stopping time
byType
Record type: 0- normal audio&video record, 1- picture channel record, 2- ANR channel record, 3- draw-frame channel record
byRes
Reserved, please set to 0

See Also

NET_DVR_InquiryRecordTimeSpan


NET_DVR_RECORD_TIME_SPAN_INQUIRY

Structure of the query condition about the video stating and stopping time of the channel.

struct{
  DWORD    dwSize;
  BYTE     byType;
  BYTE     byRes[63];
}NET_DVR_RECORD_TIME_SPAN_INQUIRY, *LPNET_DVR_RECORD_TIME_SPAN_INQUIRY;

Members

dwSize
Structure size
byType
Record type: 0- normal audio&video record, 1- picture channel record, 2- ANR channel record, 3- draw-frame channel record
byRes
Reserved, please set to 0

See Also

NET_DVR_InquiryRecordTimeSpan


NET_DVR_RECORD_V30

Channel Record Parameter Structure

struct{
  DWORD                 dwSize;
  DWORD                 dwRecord;
  NET_DVR_RECORDDAY     struRecAllDay[MAX_DAYS];
  NET_DVR_RECORDSCHED   struRecordSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  DWORD                 dwRecordTime;
  DWORD                 dwPreRecordTime;
  DWORD                 dwRecorderDuration;
  BYTE                  byRedundancyRec;
  BYTE                  byAudioRec;
  BYTE                  byStreamType;
  BYTE                  byPassbackRecord;
  BYTE                  wLockDuration;
  BYTE                  byRecordBackup;
  BYTE                  bySVCLevel;
  BYTE                  byRecordManage;
  BYTE                  byReserve[10];
}NET_DVR_RECORD_V30, *LPNET_DVR_RECORD_V30;

Members

dwSize
Structure size
dwRecord
Whether record: 0-no 1-yes
struRecAllDay
record all day, please refer to NET_DVR_RECORDDAY
struRecordSched
schedule record, please refer to NET_DVR_RECORDSCHED
dwRecordTime
record time duration: 0-5 seconds, 1-10 seconds, 2-30 seconds, 3-1 minutes, 4-2 minutes, 5-5 minutes, 6-10 minutes
dwPreRecordTime
pre-record time: 0-disable; 1-5 sec; 2-10 sec; 3-15 sec; 4-20 sec; 5-25 sec; 6-30 sec; 7-0xffffffff (max pre-record time)
dwRecorderDuration
max keeping time duration for recorded files
byRedundancyRec
enable redundancy record for important data backup: 0- disable (default); 1-enable
byAudioRec
Whether to enable audio record on video& audio recording mode: 0-not record, 1-record
byStreamType
0-main stream, 1-sub stream, 3-third stream
byPassbackRecord
0-not passback record file, 1-passback record file
wLockDuration
Time length of record file,0-not lock,0xffff-lock forever, if the time of recording file is longer than the time of lock, the recording file will not be locked
byRecordBackup
0-not backup, 1-backup
bySVCLevel
SVC frame extraction type, 0- no frame extraction，1- 1/2 ，2- 3/4
byRecordManage
Record Management, 0-disable, 1- enable If the record management is enabled, the scheduling record is enabled, and if the function is disbaled, the schduling record will be disabled(however, the record schedule is still valid, the record of motion detection and pass-back will be implemented in accordance with the record schedule.)
byReserve
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_RECORD_V40

Camera record parameters Structure

struct{
  DWORD                      dwSize;
  DWORD                      dwRecord;
  NET_DVR_RECORDDAY_V40      struRecAllDay[MAX_DAYS];
  NET_DVR_RECORDSCHED_V40    struRecordSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  DWORD                      dwRecordTime;
  DWORD                      dwPreRecordTime;
  DWORD                      dwRecorderDuration;
  BYTE                       byRedundancyRec;
  BYTE                       byAudioRec;
  BYTE                       byStreamType;
  BYTE                       byPassbackRecord;
  WORD                       wLockDuration;
  BYTE                       byRecordBackup;
  BYTE                       bySVCLevel;
  BYTE                       byRecordManage;
  BYTE                       byExtraSaveAudio;
  BYTE                       byRes[126];
}NET_DVR_RECORD_V40, *LPNET_DVR_RECORD_V40;

Members

dwSize
Structure size
dwRecord
Whether to enable recording configuration: 0-no 1-yes
struRecAllDay
All day record
struRecordSched
Scheduled record
dwRecordTime
record delay time: 0-5 seconds, 1-10 seconds, 2-30 seconds, 3-1 minutes, 4-2 minutes, 5-5 minutes, 6-10 minutes
dwPreRecordTime
pre-record time: 0-disable; 1-5 sec; 2-10 sec; 3-15 sec; 4-20 sec; 5-25 sec; 6-30 sec; 7-0xffffffff (max pre-record time)
dwRecorderDuration
Max. time of keeping the video files, unit: day
byRedundancyRec
Enable redundancy record for important data backup: 0- disable (default); 1-enable
byAudioRec
Whether to enable audio record on video& audio recording mode: 0-not record, 1-record
byStreamType
Stream type: 0-main stream, 1-sub stream, 3-third stream
byPassbackRecord
0-not passback record file, 1-passback record file
wLockDuration
Video locking duration, unit: hour, 0-not lock,0xffff-lock forever, if the time of recording file is longer than the time of lock, the recording file will not be locked
byRecordBackup
0- 0-not backup, 1-backup
bySVCLevel
SVC frame extraction type, 0- no frame extraction，1- 1/2 ，2- 3/4
byRecordManage
Record Management, 0-disable, 1- enable If the record management is enabled, the scheduling record is enabled, and if the function is disbaled, the schduling record will be disabled(however, the record schedule is still valid, the record of motion detection and pass-back will be implemented in accordance with the record schedule.)
byExtraSaveAudio
Whether to save the audio file separately? 0-No, 1- Yes
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

This API is expended from

NET_DVR_RECORD_V30


NET_DVR_RECORD_VIDEO_CFG

Recording video parameter structure

struct{
  DWORD    dwSize;
  BYTE     byExportType;
  BYTE     byRes[255];
 }NET_DVR_RECORD_VIDEO_CFG,*LPNET_DVR_RECORD_VIDEO_CFG;

Members

dwSize
Structure size
byExportType
Export file type: 0- MP4, 1- AVI
byRes
Reserved, set as 0

Remarks

  • Whether device supports recording video parameter configuration capability or supported parameter, can be determined through device capability set (RecordingVideoCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RECORD_VIDEO_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_RECORDDAY

Whole day record parameter structure

struct{
  WORD    wAllDayRecord;
  BYTE    byRecordType;
  char    reservedData;
}NET_DVR_RECORDDAY, *LPNET_DVR_RECORDDAY;

Members

wAllDayRecord
Whether record whole day: 0-no, 1-yes
byRecordType
Record type: 0-scheduled record; 1-motion detection record; 2-alarm record; 3-motion|Alarm; 4-motion & alarm; 5-record triggered by command; 6-Intelligent alarm record; 10-PIR alarm, 11-wireless alarm, 12-calling for help alarm, 13-PIR|wireless|calling for help alarm, 14-intelligent traffic event, 15-line crossing detection, 16- intrusion detection, 17-audio exception, 18-scene change, 19-intelligent detection(over line detection|field detection|leave field|face detection), 20-face detection.
reservedData
Reserved, please set it to 0


NET_DVR_RECORDDAY

Device Network SDK Programming Manual

NET_DVR_RECORDDAY_V40

All-Day record configuration

struct{
  BYTE    byAllDayRecord;
  BYTE    byRecordType;
  char    byRes[62];
}NET_DVR_RECORDDAY_V40, *NET_DVR_RECORDDAY_V40;

Members

byAllDayRecord
Whether to enable all-day record：0- No, 1- Yes
byRecordType
Record type: 0-scheduled record; 1-motion detection record; 2-alarm record; 3-motion|Alarm; 4-motion & alarm; 5-record triggered by command; 6-Intelligent alarm record; 10-PIR alarm, 11-wireless alarm, 12-calling for help alarm, 13-PIR|wireless|calling for help alarm, 14-intelligent traffic event, 15-line crossing detection, 16- intrusion detection, 17-audio exception, 18-scene change, 19-intelligent detection(over line detection|field detection|leave field|face detection), 20-face detection, 21- POS, 22- region entering detection, 23- region exiting detection, 24-loitering detection, 25-people gathering detection, 26- rapid moving detection, 27- Parking detection, 28- unattended object detection, 29-Baggage removing detection, 30- Fire detection,35-Ship detection, 36- temperature measurement early warning, 37- temperature measurement alarm, 38-Temperature difference alarm, 40- arming region alarm, 41- emergency, 42- service inquiry
byRes
Reserved, set as 0.

Remarks

When configuring record schedule, if the record type is set as 13, the searched file (searched by file type or time) type is 13. Users can get the detailed event type if searching by event.

See Also

NET_DVR_RECORD_V40


NET_DVR_RECORDING_CONTROL_CFG

Education sharing system control parameter structure

struct{
  DWORD                         dwSize;
  WORD                          wCmdType;
  BYTE                          byRes1[2];
  NET_DVR_CONTROL_INFO_UNION    struControlInfo;
  BYTE                          byRes[256];
}NET_DVR_RECORDING_CONTROL_CFG,*LPNET_DVR_RECORDING_CONTROL_CFG;

Members

dwSize
Structure size
wCmdType
Control command type: 0- one-click start, 1- one-click end, 2- one-click pause, 3- one-click resume, 4- one-click delay, 5- one-click start blocking, 6- one-click end blocking
byRes1
Reserved, set as 0
struControlInfo
Control information, valid for one-click start and one-click delay
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRConfig


NET_DVR_RECORDING_HOST_CFG

Education sharing system configuration structure

struct{
  DWORD    dwSize;
  DWORD    dwOneKeyDelayTime;
  BYTE     byDirectedMode;
  BYTE     byClassroomType;
  BYTE     byCourseDataStorageEnabled;
  BYTE     byRes[125];
}NET_DVR_RECORDING_HOST_CFG, *LPNET_DVR_RECORDING_HOST_CFG;

Members

dwSize
Structure size
dwOneKeyDelayTime
One-click local delay time, unit: s
byDirectedMode
Live view control mode: 0- auto directing, 1- manual directing
byClassroomType
Classroom type: 0- invalid, 1- main room, 2- secondary room
byCourseDataStorageEnabled
Whether classroom statistics are stored in HDD: 0- no, 1- yes
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_RECORDING_PUBLISH_FILE_CFG

File publishing parameter structure

struct{
  DWORD               dwSize;
  BYTE                byFileID[MAX_ID_LEN_128];
  NET_DVR_TIME_EX     struStartTime;
  NET_DVR_TIME_EX     struEndTime;
  BYTE                byCmdType;
  BYTE                byRes[255];
 }NET_DVR_RECORDING_PUBLISH_FILE_CFG,*LPNET_DVR_RECORDING_PUBLISH_FILE_CFG;

Members

dwSize
Structure size
byFileID
Publishing file ID
struStartTime
Course start time
struEndTime
Course end time
byCmdType
Publishing command type: 1- start publishing 2- cancel publishing
byRes
Reserved, set as 0

Remarks

  • Whether the device supports file publishing capability or supported capability can be determined through device capability set (PublishFile), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RECORDING_PUBLISH_FILE_CAP.

See Also

NET_DVR_SetSTDConfig


NET_DVR_RECORDING_PUBLISH_FILE_COND

Video publishing file condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byFileID[MAX_ID_LEN_128];
  BYTE     byRes[300];
 }NET_DVR_RECORDING_PUBLISH_FILE_COND,*LPNET_DVR_RECORDING_PUBLISH_FILE_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byFileID
Publishing file ID
wPicWidth
Picture width
byRes
Reserved, set as 0

Remarks

  • Whether device support s publishing file information configuration can be determined through device capability set (PublishFileCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RECORDING_PUBLISH_FILE_INFO_CAP.

See Also

NET_DVR_GetSTDConfig


NET_DVR_RECORDSCHED

Parameter structure of time segment record

struct{
  NET_DVR_SCHEDTIME    struRecordTime;
  BYTE                 byRecordType;
  char                 reservedData[3];
}NET_DVR_RECORDSCHED, *LPNET_DVR_RECORDSCHED;

Members

struRecordTime
Record time
byRecordType
Record type: 0-scheduled record; 1-motion detection record; 2-alarm record; 3-motion|alarm; 4-motion & alarm; 5-command trigger; 6-intelligent alarm record; 10-PIR alarm, 11-wireless alarm, 12-calling for help alarm, 13-PIR|wireless|calling for help alarm, 14-intelligent traffic event
reservedData
Reserved, please set it to 0


NET_DVR_RECORDSCHED_V40

Scheduled record configuration

struct{
  NET_DVR_SCHEDTIME    struRecordTime;
  BYTE                 byRecordType;
  BYTE                 byRes[31];
}NET_DVR_RECORDSCHED_V40, *LPNET_DVR_RECORDSCHED_V40;

Members

struRecordTime
Record time period, start time - end time
byRecordType
Record type: 0-scheduled record; 1-motion detection record; 2-alarm record; 3-motion|Alarm; 4-motion & alarm; 5-record triggered by command; 6-Intelligent alarm record; 10-PIR alarm, 11-wireless alarm, 12-calling for help alarm, 13-PIR|wireless|calling for help alarm, 14-intelligent traffic event, 15-line crossing detection, 16- intrusion detection, 17-audio exception, 18-scene change, 19-intelligent detection(over line detection|field detection|leave field|face detection), 20-face detection. 22-region entering detection, 23- region exiting detection，24-loitering detection，25-people gathering detection，26- rapid moving detection, 27- Parking detection，28- unattended object detection, 29-Baggage removing detection, 30- Fire detection, 35-Ship detection, 36- temperature measurement early warning, 37- temperature measurement alarm, 38-Temperature difference alarm.
byRes
Reserved, set as 0.

See Also

NET_DVR_RECORD_V40


NET_DVR_RECT_LIST

Calibrate parameters of rectangular box structure.

struct{
  BYTE             byRectNum;
  BYTE             byRes1[11];
  NET_VCA_RECT     struVcaRect[MAX_RECT_NUM];
}NET_DVR_RECT_LIST, *LPNET_DVR_RECT_LIST;

Members

byRectNum
Number of regional frames, minimum 2 ,maximum 6
byRes1
Reserved
struVcaRect
Regional frame parameters

See Also

NET_VCA_RECT


NET_DVR_RECTCFG

Structure of window configuration.

struct{
  WORD    wXCoordinate;
  WORD    wYCoordinate;
  WORD    wWidth;
  WORD    wHeight;
}NET_DVR_RECTCFG, *LPNET_DVR_RECTCFG;

Members

wXCoordinate
The upper-left-corner-point X coordinate of the rectangle
wYCoordinate
The upper-left-corner-point Y coordinate of the rectangle
wWidth
The width of the rectangle
wHeight
The height of the rectangle

See Also

NET_DVR_SCREEN_WINCFG NET_DVR_PICTURECFG


NET_DVR_RECTCFG_EX

Matrix parameters configuration structure。

struct{
  DWORD   dwXCoordinate;
  DWORD   dwYCoordinate;
  DWORD   dwWidth;
  DWORD   dwHeight;
  BYTE    byRes[4];
}NET_DVR_RECTCFG_EX, *LPNET_DVR_RECTCFG_EX;

Members

dwXCoordinate
Rectangle upper-left peak X axis coordinate
dwYCoordinate
Rectangle upper-right peak X axis coordinate
dwWidth
Rectangle width
dwHeight
Rectangle height
byRes
Reserved, set as 0.


NET_DVR_REGION_CLIP_CFG

Region clipping configuration structure

struct{
  DWORD              dwSize;
  BYTE               byEnabled;
  BYTE               byRes1[3];
  WORD               wResolutionWidth;
  WORD               wResolutionHeight;
  NET_VCA_POLYGON    struRegion[MAX_REGION_NUM];
  BYTE               byRes2[64];
}NET_DVR_REGION_CLIP_CFG,*LPNET_DVR_REGION_CLIP_CFG;

Members

dwSize
Structure size
byEnabled
Enable? 0-No, 1- Yes
byRes1
Reserved.
wResolutionWidth
Clipping width
wResolutionHeight
Clipping height
struRegion
Clipping region
byRes2
Reserved, set as0.

Remarks

  • This function corresponds to region clipping capability(RegionClip).API:NET_DVR_GetSTDAbility(Capability type：NET_DVR_GET_REGIONCLIP_CAPABILITIES).
  • Only thrd stream supports region clipping. After enabling clipping function, the resolution of third steam will not be configured, only clipping resolution can be configured.
  • After enabling region clipping function, ROI and DSP are disabled, motion detection and VCA rule / object information cannot be overlapped. The OSD position is constant.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_REGION_CLIP_COND

Region clipping condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwStreamType;
  BYTE     byRes[8];
}NET_DVR_REGION_CLIP_COND,*LPNET_DVR_REGION_CLIP_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
dwStreamType
Stream type: 0- Main stream, 1- Sub stream, 2-Third stream
byRes
Reserved, set as 0.

Remarks

Only the stream supports region clipping.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_REGION_ENTRANCE_DETECTION

Region entering detection structure

struct{
  DWORD                            dwSize;
  BYTE                             byEnabled;
  BYTE                             byRes1[3];
  NET_DVR_REGIONENTRANCE_REGION    struRegion[MAX_REGION_NUM];
  BYTE                             byRes2[128];
}NET_DVR_REGION_ENTRANCE_DETECTION,*LPNET_DVR_REGION_ENTRANCE_DETECTION;

Members

dwSize
Structure size
byEnabled
Enable? 0-No, 1- Yes
byRes1
Reserved
struRegion
Region entering detection parameters
byRes2
Reserved, set as 0.

Remarks

  • This function corresponds to region entrance detection capability(RegionEntrance), API:NET_DVR_GetSTDAbility(capability type:NET_DVR_GET_REGION_ENTRANCE_CAPABILITIES).

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_REGION_EXITING_DETECTION

Region exiting detection configuration structure

struct{
  DWORD                           dwSize;
  BYTE                            byEnabled;
  BYTE                            byRes1[3];
  NET_DVR_REGIONEXITING_REGION    struRegion[MAX_REGION_NUM];
  BYTE                            byRes2[128];
}NET_DVR_REGION_EXITING_DETECTION,*LPNET_DVR_REGION_EXITING_DETECTION;

Members

dwSize
Structure size
byEnabled
Enable?0- No, 1- Yes
byRes1
Reserved
struRegion
Region coverage
byRes2
Reserved

Remarks

  • This function corresponds to region exiting detection capability(RegionExiting), API:NET_DVR_GetSTDAbility(Capability type:NET_DVR_GET_REGION_EXITINT_CAPABILITIES)。
  • If the all Region parameters(struRegion) are set as 0, it indicates that the region is deleted. If any of the Region parameters(struRegion) is not set as 0, the region parameters can not be configured. Configure the region parameters separately via NET_DVR_SET_REGION_EXITING_REGION.

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_REGION_LIST

Structure of region list.

struct{
  DWORD              dwSize;
  BYTE               byNum;
  BYTE               byRes1[3];
  NET_VCA_POLYGON    struPolygon[MAX_REGION_NUM];
  BYTE               byRes2[20];
}NET_DVR_REGION_LIST, *LPNET_DVR_REGION_LIST;

Members

dwSize
Structure size
byNum
The number of regions
byRes1
Reserved
struPolygon
Region parameter
byRes2
Reserved

See Also

NET_VCA_POLYGON


NET_DVR_REGIONENTRANCE_REGION

Region entrance detection structure

struct{
  NET_VCA_POLYGON    struRegion;
  BYTE               bySensitivity;
  BYTE               byRes[63];
}NET_DVR_REGIONENTRANCE_REGION,*LPNET_DVR_REGIONENTRANCE_REGION;

Members

struRegion
Region range
bySensitivity
Sensitivity, range[1,100]
byRes
Reserved.

Remarks

If the Region parameters set as 0, it indicates that the region is deleted. For speed dome, when getting single region, it will be located to the scene of this single region.

See Also

NET_DVR_REGION_ENTRANCE_DETECTION


NET_DVR_REGIONEXITING_REGION

Region exiting configuration structure

struct{
  NET_VCA_POLYGON    struRegion;
  BYTE               bySensitivity;
  BYTE               byRes[63];
}NET_DVR_REGION_EXITING_DETECTION,*LPNET_DVR_REGION_EXITING_DETECTION;

Members

struRegion
Region coverage
bySensitivity
Sensitivity, value range[1,100]
byRes
Reserved, set as 0.

Remarks

If the Region parameters is set as 0, it indicates that the region is deleted. For speed dome, when getting single region, it will be located to the scene of this region.

See Also

NET_DVR_REGION_EXITING_DETECTION


NET_DVR_REGISTER_RS485CFG

RS485 register configuration structure

struct{
  DWORD    dwSize;
  WORD     wDeviceProtocol;
  BYTE     byRes[2];
  DWORD    dwBaudRate;
  BYTE     byRes1[124];
}NET_DVR_REGISTER_RS485CFG,*LPNET_DVR_REGISTER_RS485CFG;

Members

dwSize
Structure size
wDeviceProtocol
Front-end device protocol, obtained through protocol list
byRes
Reserved, set as 0
dwBaudRate
Baud rate (bps): 0-50, 1-75, 2-110, 3-150, 4-300, 5-600, 6-1200, 7-2400, 8-4800, 9-9600, 10-19200, 11-38400, 12-57600, 13-76800, 14-115.2k
byRes1
Reserved, set as 0

See Also

NET_DVR_SetSTDConfig


NET_DVR_REL_CAPTURE_CHAN

The channel triggered to capture picture.

struct{
  BYTE      byChan[16];
  BYTE      byRes[20];
}NET_DVR_REL_CAPTURE_CHAN, *LPNET_DVR_REL_CAPTURE_CHAN;

Members

byChan
Indicated by bit. That byChan[0]=1 means it will trigger NO.1 channel to capture picture, and byChan[1]=1 means it will trigger NO.2 channel to capture picture, and so forth.
byRes
Reserved, please set to 0

See Also

NET_DVR_EVENT_CAPTURE


NET_DVR_REL_CAPTURE_CHAN_V40

触发抓图的通道信息。

struct{
  DWORD    dwMaxRelCaptureChanNum;
  DWORD    dwChanNo[MAX_CHANNUM_V40];
  BYTE     byRes[32];
}NET_DVR_REL_CAPTURE_CHAN_V40, *LPNET_DVR_REL_CAPTURE_CHAN_V40;

Members

dwMaxRelCaptureChanNum
The max. channel number triggered by alarm input (read only)
dwChanNo
The triggered capture channel No., represented by value, permutate compactly,0xffffffff indicates that the subsequent value is invalid.
byRes
Reserved, set as 0.

See Also

NET_DVR_EVENT_CAPTURE_V40


NET_DVR_RELAY_PARAM

Structure of Relay Related Configuration

struct{
  BYTE    byAccessDevInfo;
  BYTE    byRes[3];
}NET_DVR_RELAY_PARAM,*LPNET_DVR_RELAY_PARAM;

Members

byExternalDevInfo
Connected device information, 0- No device is connected. 1- Open barrier gate, 2- Close barrier gate, 3- Disable barrier gate, 4- Alarm signal, 5- Normally lighted lamp
byRes
Reserved, set as 0.

See Also

NET_DVR_ENTRANCE_CFG


NET_DVR_RELOCATE_INFO

Re-positioning Device under the N+0 Mode

struct{
  DWORD    dwSize;
  BYTE     byTakeOverAddr[MAX_DOMAIN_NAME];
  WORD     wPort;
  BYTE     byRes[254];
}NET_DVR_RELOCATE_INFO,*LPNET_DVR_RELOCATE_INFO;

Members

dwSize
Structure size
byTakeOverAddr
Device IP address
wPort
Device port No.
byRes
reserved, set as 0.

Remarks

  • N+0 only supports stream ID mode. teh channel mode is not supported.
  • Check whether the device supports this function via the device capability, the corresponded CVR capability set (CVRAbility)，API:NET_DVR_GetDeviceAbility，capability set:DEVICE_ABILITY_INFO，node：<NPlus0>.

See Also

NET_DVR_GetDeviceConfig


NET_DVR_REMIND_TIME

Reminder time parameter structure

struct{
  BYTE    byEnable;
  BYTE    byHour;
  BYTE    byMinute;
  BYTE    bySecond;
}NET_DVR_REMIND_TIME,*LPNET_DVR_REMIND_TIME;

Members

byEnable
Whether to enable current notification: 0- no, 1- yes
byHour
Hour, range: 0 to 24
byMinute
Minute, range: 0 to 60
bySecond
Second, range: 0 to 60

See Also

NET_DVR_SUBSYSTEM_PARAM_EX


NET_DVR_REMOTE_PLAY

Device local playback remote control parameter structure

struct{
  DWORD    dwSize;
  BYTE     byFileName[FILE_NAME_LEN];
  BYTE     byVideoOut[7];
  BYTE     byRes1[5];
  BYTE     byType;
  BYTE     byRes[31];
}NET_DVR_REMOTE_PLAY,*LPNET_DVR_REMOTE_PLAY;

Members

dwSize
Structure size
byFileName
Name of the file for playback
byVideoOut
Video output port, subscript means channel No., by order: VGA1, VGA2, VGA3, VGA4, VGA5-10, HDMI1, HDMI2, value: 0- no output, 1- output
byRes1
Reserved, set as 0
byType
Control type: 0- invalid, 1- start playback, 2- stop, 3- pause, 4- resume
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRConfig


NET_DVR_REMOTECONTROL_ALARM_PARAM

Structure of remote controller arming or disarming parameter

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  WORD     wDealyTime;
  BYTE     byRes[30];
}NET_DVR_REMOTECONTROL_ALARM_PARAM,*LPNET_DVR_REMOTECONTROL_ALARM_PARAM;

Members

dwSize
Structure size
dwChannel
Channel number
wDealyTime
Delay time, unit: s, max value: 5 minutes
byRes
Reserved, please set to 0

See Also

NET_DVR_RemoteControl


NET_DVR_REMOTECONTROL_COND

Wireless arming status query condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[64];
}NET_DVR_REMOTECONTROL_COND, *LPNET_DVR_REMOTECONTROL_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byRes
Reserved

See Also

NET_DVR_GetDeviceStatus


NET_DVR_REMOTECONTROL_STATUS

Wireless arming status parameters structure

struct{
  DWORD    dwSize;
  BYTE     byAlarmStatus;
  BYTE     byRes[3];
  WORD     wAlarmDealyTime;
  WORD     wDisAlarmDealyTime;
  BYTE     byRes1[64];
}NET_DVR_REMOTECONTROL_STATUS, *LPNET_DVR_REMOTECONTROL_STATUS;

Members

dwSize
Structure size
byAlarmStatus
Arming status: 0- Reserved, 1- Disarming, 2-Arming
byRes
Reserved
wAlarmDealyTime
Arming delay time, unit:s
wDisAlarmDealyTime
Disarming delay time, unit:s
byRes1
Reserved

See Also

NET_DVR_GetDeviceStatus


NET_DVR_REMOTECONTROL_STUDY_PARAM

Structure of remote controller study parameter

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRes[16];
}NET_DVR_REMOTECONTROL_STUDY_PARAM,*LPNET_DVR_REMOTECONTROL_STUDY_PARAM;

Members

dwSize
Structure size
dwChannel
Channel number
byRes
Reserved, please set to 0

See Also

NET_DVR_RemoteControl


NET_DVR_REMOTECONTROLLER_PERMISSION_CFG

Remote control user parameters configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1;
  WORD     wRemoteCtrllerID;
  BYTE     sDevSn[16];
  BYTE     byArmRight;
  BYTE     byDisArmRight;
  BYTE     byArmReportRight;
  BYTE     byDisArmReportRight;
  BYTE     byClearAlarmRight;
  BYTE     bySubSystemID;
  BYTE     byKeyboardAddr;
  BYTE     byRes2[65];
}NET_DVR_REMOTECONTROLLER_PERMISSION_CFG,*LPNET_DVR_REMOTECONTROLLER_PERMISSION_CFG;

Members

dwSize
Structure size
byEnable
Enable? 0- No, 1- Yes
byRes1
Reserved, set as 0.
wRemoteCtrllerID
Remote control No, start from 1.
sDevSn
Product serial No.
byArmRight
With arming permission? 0- No, 1- Yes
byDisArmRight
With disarming permission? 0- No, 1- Yes
byArmReportRight
With arming report uploading permission? 0- No, 1- Yes
byDisArmReportRight
With disarming report uploading permission? 0- No, 1- Yes
byClearAlarmRight
With alarm clearing permission? 0- No, 1- Yes
bySubSystemID
Device (remote control) partition No., value range: 1~8
byKeyboardAddr
Keyboard address
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_RESOLUTION_SWITCH

Resolution mode switch configuration structure

struct{
  DWORD    dwSize;
  BYTE     byResolutionType;
  BYTE     byRes[127];
}NET_DVR_RESOLUTION_SWITCH, *LPNET_DVR_RESOLUTION_SWITCH;

Members

dwSize
Structure size
byResolutionType
Resolution mode: 0- all, 1- 20:9, 2- 20:6
byRes
Reserved, set as 0

Remarks

  • Whether device supports resolution switch configuration or the supported parameter capability, can be determined through device capability set, corresponding to resolution mode switch capability set (ResolutionSwitch), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RESOLUTION_SWITCH_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_REVISE_GPS_CFG

Structure for GPS longitude and latitude calibration configuration.

struct{
  DWORD                dwSize;
  BYTE                 byLatitudeType;
  BYTE                 byLongitudeType;
  BYTE                 byRes[2];
  NET_DVR_LLI_PARAM    struLatitude;
  NET_DVR_LLI_PARAM    struLongitude;
  BYTE                 byRes1[300];
}NET_DVR_REVISE_GPS_CFG, *LPNET_DVR_REVISE_GPS_CFG;

Members

dwSize
Structure size
byLatitudeType
Latitude type: 0-northern latitude, 1-southern latitude.
byLongitudeType
Longitude：0- east longitude, 1- west longitude.
byRes
Reserved.
struLatitude
Latitude information
struLongitude
Longitude information
byRes1
Reserved.

Remarks

  • It is the capacity set that decide whether the device support the longitude and latitude adjusting configuration or not.Corresponding capability set:(ReviseGPS)，corresponding interface: NET_DVR_GetSTDAbility，and capability set type: NET_DVR_GET_REVISE_GPS_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_RGB_COLOR

Picture naming rule.

struct{
  BYTE      byRed;
  BYTE      byGreen;
  BYTE      byBlue;
  BYTE      byRes;
}NET_DVR_RGB_COLOR, *LPNET_DVR_RGB_COLOR;

Members

byRed
red in RGB color
byGreen
green in RGB color
byBlue
Blue in RGB color
byRes
Reserved


NET_DVR_ROI_DETECT_CFG

Structure of ROI region detection

struct{
  DWORD                       dwSize;
  DWORD                       dwStreamType;
  BYTE                        byRoiDetectType;
  BYTE                        byRes[3];
  NET_DVR_ROI_DETECT_UNION    uRoiDetectInfo;
  BYTE                        byRes1[36];
}NET_DVR_ROI_DETECT_CFG,*LPNET_DVR_ROI_DETECT_CFG;

Members

dwSize
Structure size
dwStreamType
Stream type:0-main stream, 1-substream, 2-event type, 3-stream 3, ......
byRoiDetectType
Type definition of region detection:
enum _DETECT_ROI_TYPE_{
  DETECT_FIX_ROI   = 0,
  DETECT_TRACK_ROI = 1
}DETECT_ROI_TYPE
DETECT_FIX_ROI
Detect fixed ROI region
DETECT_TRACK_ROI
Detect ROI dynamic region
byRes
Reserved
uRoiDetectInfo
Region of ROI detection
byRes1
Reserved

Remarks

  • ROI：Region Of Interest. User can enable ROI to set the most interest region in the video, adn the quality of video image will be increased when encoding.
  • dwStreamType used to set ROI type: main stream, sub stream, triple streams and so on. Each stream is mutual independence and can be set different ROI region.
  • “Fixed region”and “dynamic track region”are the different work mode of ROI.Users can set the image quality of face passed region as they want.

    • See Also

    NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_ROI_DETECT_COND

Structure of ROI region detection information

struct{
  DWORD                                       dwSize;
  DWORD                                       dwRoiID;
  NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND    struMultiStreamCfg;
  BYTE                                        byRoiDetectType;
  BYTE                                        byRoiDetectTrackType;
  BYTE                                        byRes[30];
}NET_DVR_ROI_DETECT_COND,*LPNET_DVR_ROI_DETECT_COND;

Members

dwSize
Structure size
dwRoiID
Region detection ID
struMultiStreamCfg
Multi-stream settings
byRoiDetectType
Region detection type, the definition is as follows:
enum _DETECT_ROI_TYPE_{
  DETECT_FIX_ROI   = 0,
  DETECT_TRACK_ROI = 1
}DETECT_ROI_TYPE
DETECT_FIX_ROI
Detect the fixed ROI region
DETECT_TRACK_ROI
Detect the dynamic ROI region
byRoiDetectTrackType
Fixed region- the field is invalid; dynamic region- track type: 1- face detection (IPC), 2- motion detection
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_ROI_DETECT_NUM

Structure of number of ROI region detection

struct{
  DWORD    dwSize;
  DWORD    dwGroup;
  DWORD    dwStreamType;
  DWORD    dwRoiFixNum;
  DWORD    dwRoiFixID[MAX_ROIDETECT_NUM];
  BYTE     szFixRoiName[MAX_ROIDETECT_NUM][NAME_LEN];
  DWORD    dwRoiTrackNum;
  DWORD    dwRoiTrackID[MAX_ROIDETECT_NUM];
  BYTE     byRes[320];
}NET_DVR_ROI_DETECT_NUM,*LPNET_DVR_ROI_DETECT_NUM;

Members

dwSize
Structure size
dwGroup
Group number
dwStreamType
Stream type:0-main stream, 1-sub stream, 2- event type, 3- stream 3, ......
dwRoiFixNum
Fixed region number, get the group number follow-up
dwRoiFixID
Fixed ROI region ID, IPC supports 4 while speed dome supports 24(can be extend depending on device capability)
szFixRoiName
Name of Fixed ROI region
dwRoiTrackNum
Totally number of ROI dynamic to get the group number follow-up
dwRoiTrackID
ROI dynamic region track ID, IPC supports 4 while speed dome supports 24(can be extend depending on device capability)
byRes
Reserved

Remarks

ROI：Region Of Interest. Users can enable the ROI to set the most interest region in the video image. The image quality of video image will be increased when encoding

dwGroup is the group number. When the extension number of regions exceed the MAX_ROIDETECT_NUM , we need to get by group. The first time, group number is 1 or 0: when the number of dwRoiFixNum or dwRoiTrackNum more than MAX_ROIDETECT_NUM, you can get by group, the group number increases in turn

See Also

NET_DVR_GetDeviceConfig


NET_DVR_ROI_DETECT_UNION

Union of ROI detection region configuration

struct{
  DWORD                         uLen[128];
  NET_DVR_ROI_FIX_RECT_CFG      strRoiFixRectCfg;
  NET_DVR_ROI_TRACK_RECT_CFG    strRoiTrackRectCfg;
}NET_DVR_ROI_DETECT_UNION,*LPNET_DVR_ROI_DETECT_UNION;

Members

uLen
Union size,512 bytes
strRoiFixRectCfg
Fixed region mode
strRoiTrackRectCfg
Auto track mode

Remarks

ROI：Region Of Interest

Support 4 draw regions (region detection number) in single scene: speed dome supports 24 regions (region detection number) in total in multi-scene

See Also

NET_DVR_ROI_DETECT_CFG


NET_DVR_ROI_FIX_RECT_CFG

Structure of fixed ROI region configuration

struct{
  BYTE            byEnableFixRoi;
  BYTE            byImageQualityLevel;
  BYTE            byRes[2];
  BYTE            byFixRoiName[NAME_LEN];
  NET_VCA_RECT    struRoiRect;
  BYTE            byRes1[468];
}NET_DVR_ROI_FIX_RECT_CFG,*LPNET_DVR_ROI_FIX_RECT_CFG;

Members

byEnableFixRoi
Whether enable fixed ROI region: 0- disable, 1- enable
byImageQualityLevel
Image quality level, data range:1-6
byRes
Reserved
byFixRoiName
Name of fixed ROI region
struRoiRect
ROI region
byRes1
Reserved

Remarks

ROI：Region Of Interest

See Also

NET_DVR_ROI_DETECT_UNION


NET_DVR_ROI_TRACK_RECT_CFG

Structure of ROI dynamic track mode cofiguration

struct{
  BYTE            byEnableTrackRoi;
  BYTE            byImageQualityLevel;
  BYTE            byModeType;
  BYTE            byRes1[509];
}NET_DVR_ROI_TRACK_RECT_CFG,*LPNET_DVR_ROI_TRACK_RECT_CFG;

Members

byEnableTrackRoi
Whether enable ROI dynamic track mode: 0- disable, 1- enable
byImageQualityLevel
Image quality level, data range: 1-6
byModeType
Dynamic track mode: 0- reserved, 1- face mode, 2- motion track
byRes1
Reserved

Remarks

ROI：Region Of Interest

See Also

NET_DVR_ROI_DETECT_UNION


NET_DVR_RS232CFG

Parameter structure of RS232 serial port

struct{
  DWORD               dwSize;
  DWORD               dwBaudRate;
  BYTE                byDataBit;
  BYTE                byStopBit;
  BYTE                byParity;
  BYTE                byFlowcontrol;
  DWORD               dwWorkMode;
  NET_DVR_PPPCFG      struPPPConfig;
}NET_DVR_RS232CFG, *LPNET_DVR_RS232CFG;

Members

dwSize
Structure size
dwBaudRate
Baute rate(bps),0-50,1-75,2-110,3-150,4-300,5-600,6-1200,7-2400,8-4800,9-9600,10-19200,11-38400,12-57600,13-76800,14-115.2k
byDataBit
Data size: 0-5 bytes, 1-6 bytes, 2-7 bytes, 3-8 bytes
byStopBit
Stop bit: 0-1 byte, 1-2 bytes
byParity
parity: 0- disable; 1- odd parity; 2- even parity
byFlowcontrol
flow control: 0-disable; 1-software flow control; 2- hardware flow control
dwWorkMode
work mode: 0-narrowband transmission (232 is used for PPP dailing); 1- control center (232 works as paramter configuration); 2- transparent channel
struPPPConfig
PPP parameter

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_PPPCFG


NET_DVR_RS232CFG_V30

Structure of RS232 paramerer.

struct{
  DWORD                        dwSize;
  NET_DVR_SINGLE_RS232         struRs232[MAX_SERIAL_PORT];
  NET_DVR_PPPCFG_V30           struPPPConfig;
}NET_DVR_RS232CFG_V30, *LPNET_DVR_RS232CFG_V30;

Members

dwSize
Structure size
struRs232
232 serial port number
struPPPConfig
PPP parameter

Remarks

When configuring the RS232 parameter of ATM safety cabin controller, the device will judge the value of serial port no.1 and no.3,and the baud rate should be larger than 1200, flow control should be none, data bit should be 8, work mode should be "control center" or "transparent channel".

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_RS232CFG_V30

Parameter structure of RS232 serial port

struct{
  DWORD                        dwSize;
  NET_DVR_SINGLE_RS232         struRs232[MAX_SERIAL_PORT];
  NET_DVR_PPPCFG_V30           struPPPConfig;
}NET_DVR_RS232CFG_V30, *LPNET_DVR_RS232CFG_V30;

Members

dwSize
Structure size
struRs232
9016 only one 232 serial port, use the first one.
struPPPConfig
PPP parameter

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_RS485_CASCADE_CFG

RS485 cascade device configuration structure

struct{
  DWORD    dwSize;
  BYTE     byDevAddr;
  BYTE     byRes[131];
}NET_DVR_RS485_CASCADE_CFG,*LPNET_DVR_RS485_CASCADE_CFG;

Members

dwSize
Structure size
byDevAddr
Device address, 0-Master, 1~15-Slaver
byRes
Reserved, set as 0.

Remarks

Device supports the configuration function or not. Child node of the corresponding Alarm Host Ability < SafetyCabinCascadeCfg> Corresponding interface: NET_DVR_GetDeviceAbility(Ability type: DEVICE_ABILITY_INFO)。

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_RTMP_CFG

RTMP parameter configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwPacketLen;
  char     szURL[RTMP_URL_LEN];
  BYTE     byRes[256];
 }NET_DVR_RTMP_CFG,*LPNET_DVR_RTMP_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable RTMP: 0- no, 1- yes
byRes1
Reserved, set as 0
dwPacketLen
RTMP packet length
szURL
RTMP URL
byRes
Reserved, set as 0

Remarks

  • Whether device supports RTMP configuration capability or supported capability, can be determined through device capability set (RTMPCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RTMP_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_RTMP_COND

RTMP configuration condition parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byStreamType;
  BYTE     byRes[303];
 }NET_DVR_RTMP_COND,*LPNET_DVR_RTMP_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byStreamType
Stream type: 1- main, 2- sub, 3- third
byRes
Reserved, set as 0

Remarks

  • Whether the device supports RTMP configuration capability or supported parameter, can be determined through capability set (RTMPCfg), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_RTMP_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig

NET_DVR_GetSTDAbility


NET_DVR_RTSP_PROTOCAL_CFG

RTSP protocol getting stream parameters structure

struct{
  BYTE     byEnable;
  BYTE     byLocalBackUp;
  BYTE     byRes[2];
  BYTE     strURL[URL_LEN_V40];
  DWORD    dwProtocalType;
  BYTE     sUserName[NAME_LEN];
  BYTE     sPassWord[PASSWD_LEN];
  BYTE     byAddress[MAX_DOMAIN_NAME];
  WORD     wPort;
  BYTE     byRes1[122];
}NET_DVR_RTSP_PROTOCAL_CFG,*LPNET_DVR_RTSP_PROTOCAL_CFG;

Members

byEnable
Enable? 0- Disable, 1-Enable
byLocalBackUp
Enable local backup: 0-Disable, 1- Enable
byRes
Reserved, set as 0.
strURL
The URL of getting stream
dwProtocalType
The IPC protocol type, Get via the interfaceNET_DVR_GetIPCProtoList
sUserName
Device logon username
sPassWord
Device logon password
byAddress
The IP address or domain name of the front-end device(needs to be analyzed by the device, if the address with the symbol '.", it is considered as domain name.)
wPort
Device port No.
byRes1
Reserved, set as 0.

See Also

NET_DVR_STREAM_TYPE_V40_UNION


NET_DVR_RTSPCFG

RTSP protocol parameter structure

struct{
  DWORD    dwSize;
  WORD     wPort;
  BYTE     byReserve[54];
}NET_DVR_RTSPCFG, *LPNET_DVR_RTSPCFG;

Members

dwSize
Structure size
wPort
Rtsp server listening port
byReserve
Reserved, please set it to 0


NET_DVR_RULE_INFO_ALARM

Structure of uploading real-time event information.

struct{
  DWORD                       dwSize;
  DWORD                       dwRelativeTime;
  DWORD                       dwAbsTime;
  NET_VCA_DEV_INFO            struDevInfo;
  NET_DVR_EVENT_INFO_LIST     struEventInfoList;
  BYTE                        byRes[40];
}NET_DVR_RULE_INFO_ALARM, *LPNET_DVR_RULE_INFO_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative time
dwAbsTime
Absolute time
struDevInfo
Device information
struEventInfoList
Event information list
byRes1
Reserved

See Also

NET_VCA_DEV_INFO NET_DVR_EVENT_INFO_LIST
NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_SADP_VERIFY

Verify information structure

struct{
  char             chPassword[PASSWD_LEN];
  NET_DVR_IPADDR   struOldIP;
  WORD             wOldPort;
  BYTE             byRes[62];
}NET_DVR_SADP_VERIFY,*LPNET_DVR_SADP_VERIFY;

Members

chPassword
Administrator user password
struOldIP
IP address before modification
wOldPort
Port number before modification
byRes
Reserved, please set to 0

See Also

NET_DVR_IPADDR


NET_DVR_SADPINFO

The structure of single IPC information。

struct{
  NET_DVR_IPADDR   struIP;
  WORD             wPort;
  WORD             wFactoryType;
  char             chSoftwareVersion[SOFTWARE_VERSION_LEN];
  char             chSerialNo[16];
  WORD             wEncCnt;
  BYTE             byMACAddr[MACADDR_LEN];
  NET_DVR_IPADDR   struSubDVRIPMask;
  NET_DVR_IPADDR   struGatewayIpAddr;
  NET_DVR_IPADDR   struDnsServer1IpAddr;
  NET_DVR_IPADDR   struDnsServer2IpAddr;
  BYTE             byDns;
  BYTE             byDhcp;
  BYTE             szGB28181DevID[DEV_ID_LEN];
  BYTE             byActivated;
  BYTE             byRes[125];
}NET_DVR_SADPINFO,*LPNET_DVR_SADPINFO;

Members

struIP
Device IP address
wPort
Device port No.
wFactoryType
Manufactory type
chSoftwareVersion
Software version
chSerialNo
Serial No.
wEncCnt
The number of encoding channel
byMACAddr
MAC address
struSubDVRIPMask
Subnet mask
struGatewayIpAddr
Gateway
struDnsServer1IpAddr
DNS 1 IP address
struDnsServer1IpAddr
DNS 2 IP address
byDns
Enable DNS? 0- Disable, 1- Enable
byDhcp
Enbale DHCP? 0- Disable, 1- Enable
szGB28181DevID
The device ID when accessing the GB28181 protocol, used for IPC accessing with GB28181 protocol
byActivated
Activating mode, 0- invalid, 1-valid, 2- not activated
byRes
Reserved, set as 0.

See Also

NET_DVR_SADPINFO_LIST


NET_DVR_SADPINFO_LIST

SADP Info List Structure

struct{
  DWORD              dwSize;
  WORD               wSadpNum;
  BYTE               byRes[6];
  NET_DVR_SADPINFO   struSadpInfo[MAX_SADP_NUM];
}NET_DVR_SADPINFO_LIST,*LPNET_DVR_SADPINFO_LIST;

Members

dwSize
Structure size
wSadpNum
Detected device number
byRes
Reserved, please set to 0
struSadpInfo
SADP Info Structure

See Also

NET_DVR_SADPINFO


NET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG

Safety cabin people signal detection parameter structure

struct{
  DWORD     dwSize;
  BYTE      bySensorType;
  BYTE      bySensitivity;
  BYTE      byDevUseTimeout;
  BYTE      byRes1;
  WORD      wCurtainDelayTime;
  WORD      wCurtainResponseTime;
  BYTE      byRes2[32];
}NET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG, *LPNET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG;

Members

dwSize
Structure size
bySensorType
Detector type: 0- active infrared intrusion detector, 1- curtain sensor
bySensitivity
Sensor sensitivity, range: 0 to 100%
byDevUseTimeout
Safety cabin usage timeout time, unit: min, range: 0 to 30, default timeout: 15 min, alarm will be uploaded through arming channel
byRes1
Reserved
wCurtainDelayTime
Curtain sensor detector delay time, unit: s, range: 0 to 10
wCurtainResponseTime
Curtain people status change controller response time, unit: s, range: 0 to 300
byRes2
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SAFETYCABIN_WORK_MODE

Safety cabin operating mode parameter structure

struct{
  DWORD    dwSize;
  BYTE     byWorkMode;
  BYTE     byRes[15];
}NET_DVR_SAFETYCABIN_WORK_MODE,*LPNET_DVR_SAFETYCABIN_WORK_MODE;

Members

dwSize
Structure size
byWorkMode
Operating mode: 0- door normally open when no one, 1- door normally closed when no one
byRes
Reserved, set as 0

Remarks

Whether device supports the configuration function corresponds to the sub-node <SafetyCabinWorkMode> of alarm host capability set (AlarmHostAbility), API: NET_DVR_GetDeviceAbility(capability set type: DEVICE_ABILITY_INFO).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCALECFG

Scale Configuration Structure

struct{
  DWORD    dwSize;
  DWORD    dwMajorScale;
  DWORD    dwMinorScale;
  DWORD    dwRes[2];
}NET_DVR_SCALECFG, *LPNET_DVR_SCALECFG;

Members

dwSize
Structure size
dwMajorScale
Main display: 0-no scale; 1-scale
dwMinorScale
Aux display: 0-no scale; 1-scale
dwRes
Reserved, please set to 0


NET_DVR_SCENE_INFO

Scene information structure

struct{
  DWORD             dwSceneID;
  BYTE              bySceneName[NAME_LEN];
  BYTE              byDirection;
  BYTE              byRes1[3];
  NET_DVR_PTZPOS    struPtzPos;
  BYTE              byRes2[64];
}NET_DVR_SCENE_INFO, *LPNET_DVR_SCENE_INFO;

Members

dwSceneID
Scene ID, 0- invalid scene
bySceneName
Scene name
byDirection
Monitoring direction: 1- up, 2- down, 3- bi-directional, 4- east to west, 5- south to north, 6- west to east, 7- north to south, 8- other
byRes1
Reserved
struPtzPos
PTZ coordinates
byRes2
Reserved

See Also

NET_DVR_AID_ALARM_V41


NET_DVR_SCENECHANGE_DETECTION

Structure of scene change alarm configuration

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           bySensitiveLevel;
  BYTE                           byRes1[2];
  NET_DVR_SCHEDTIME              struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V40    struHandleException;
  DWORD                          dwMaxRelRecordChanNum;
  DWORD                          dwRelRecordChanNum;
  DWORD                          dwRelRecordChan[MAX_CHANNUM_V30];
  BYTE                           byRes2[128];
}NET_DVR_SCENECHANGE_DETECTION, *LPNET_DVR_SCENECHANGE_DETECTION;

Members

dwSize
Structure size
byEnable
Whether enable scene change alarm: 0- disable, 1- enable
bySensitiveLevel
Sensitivity:1-100, default it to 50, higher sensitivity with easier alarm
byRes1
Reserved, set it to 0
struAlarmSched
Arm schedul
struHandleException
Exception handle
dwMaxRelRecordChanNum
The max number of channel(read only) triggered by alarm
dwRelRecordChanNum
The actual channel number that triggered by alarm, the including channel number of current group
dwRelRecordChan
The front value of dwRelRecordChanNum is the record channel number triggered by alarm, the init value is 0xfffffffff (without associated channel). For example, you can configure record channel dwRelRecordChan[0]- dwRelRecordChan[4] when dwRelRecordChanNum=5
byRes2
Reserved, set it to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_SCENECHANGE_DETECTION_RESULT

Structure of scene change alarm information

struct{
  DWORD               dwSize;
  NET_VCA_DEV_INFO    struDevInfo;
  WORD                wDevInfoIvmsChannelEx;
  BYTE                byRes[126];
}NET_DVR_SCENECHANGE_DETECTION_RESULT, *LPNET_DVR_SCENECHANGE_DETECTION_RESULT;

Members

dwSize
The Size of the Structure
struDevInfo
Front-end Device Information
wDevInfoIvmsChannelEx
Same description with byIvmsChannel of NET_VCA_DEV_INFO, can be used to indicate greater value. For older version of client, byIvmsChannel is still compatible, but the maximum value is 255. For later version of client, use wDevInfoIvmsChannelEx
byRes
Reserved, set as 0.

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_SCHED_CAPTURECFG

Structure of capture schedule configuration.

struct{
  DWORD                       dwSize;
  BYTE                        byEnable;
  BYTE                        byRes1[3];
  NET_DVR_CAPTURE_DAY         struCaptureDay[MAX_DAYS];
  NET_DVR_CAPTURE_SCHED       struCaptureSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_CAPTURE_DAY         struCaptureHoliday;
  NET_DVR_CAPTURE_SCHED       struHolidaySched[MAX_TIMESEGMENT_V30];
  DWORD                       dwRecorderDuration;
  BYTE                        byRes[40];
}NET_DVR_SCHED_CAPTURECFG, *LPNET_DVR_SCHED_CAPTURECFG;

Members

dwSize
Structure size
byEnable
Enable to capture or not
byRes1
Reserved
struCaptureDay
all-day capture
struCaptureSched
Capture schedule
struCaptureHoliday
Holiday capture schedule
struHolidaySched
Holiday schedule
dwRecorderDuration
Max keeping time for captured pictures, unit: day. 0xffffffff means the value is invalid.
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCHEDDATE

Start/end date structure

struct{
  BYTE    byStartMonth;
  BYTE    byStartDay;
  BYTE    byStopMonth;
  BYTE    byStopDay;
}NET_DVR_SCHEDDATE,*LPNET_DVR_SCHEDDATE;

Members

byStartMonth
Start date(Month)
byStartDay
Start date(day)
byStopMonth
End date(Month)）
byStopDay
End date(day）

See Also

NET_DVR_ONE_OUTPUT_SCHEDULE_RULE NET_DVR_PRIOR_SCHEDTIME


NET_DVR_SCHEDTASK

Schedule task information structure

struct{
  NET_DVR_SCHEDTIME    struSchedTime;
  WORD                 wAction;
  WORD                 wActionNum;
  BYTE                 byres[12];
}NET_DVR_SCHEDTASK, *LPNET_DVR_SCHEDTASK;

Members

struSchedTime
Time
wAction
Schedule action: 0- close, 1- auto scan, 2- frame scan, 3- random scan, 4- patrol, 5- pattern, 6- preset, 7- panorama scan, 8- tilt scan, 9- period reboot, 10- period adjust, 11- aux output, 12- area scan
wActionNum
Special action sub No., see below for details:
Patrol: No.1 to 8
Pattern: No.1 to 4
Preset: No.1 to 8
Aux output: No.1 to 2
No. cannot be assigned to other actions.
byres
Reserved, set as 0

See Also

NET_DVR_TIME_TASK


NET_DVR_SCHEDTIME

Structure of starting and ending time segment

struct{
  BYTE    byStartHour;
  BYTE    byStartMin;
  BYTE    byStopHour;
  BYTE    byStopMin;
}NET_DVR_SCHEDTIME, *LPNET_DVR_SCHEDTIME;

Members

byStartHour
Starting time: hour
byStartMin
Starting time: minute
byStopHour
Ending time: hour
byStopMin
Ending time: minute


NET_DVR_SCHEDULE_AUTO_TRACK_CFG

Schedule smart tracking configuration structure

struct{
  DWORD                   dwSize;
  BYTE                    byEnableTrack;
  BYTE                    byRes1[3];
  NET_DVR_DAY_SCHEDULE    struSchedule[MAX_DAYS];
  BYTE                    byRes2[128];
}NET_DVR_SCHEDULE_AUTO_TRACK_CFG,*LPNET_DVR_SCHEDULE_AUTO_TRACK_CFG;

Members

dwSize
The size of the structure
byEnableTrack
Enable smart tracking scheduled task? 0- No, 1- Yes
byRes1
Reserved, set as 0.
struSchedule
Scheduled smart tracking plan, 7 days/week, 8 time segments/day. Smart tracking is disabled if the time is not in this range.
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCHEDULE_DAYTIME

Time parameter structure

struct{
  NET_DVR_DAYTIME     struStartTime;
  NET_DVR_DAYTIME     struStopTime;
}NET_DVR_SCHEDULE_DAYTIME, *LPNET_DVR_SCHEDULE_DAYTIME;

Members

struStartTime
Start time
struStopTime
Stop time

See Also

NET_DVR_MOTION_MULTI_AREA NET_DVR_ISP_CAMERAPARAMCFG


NET_DVR_SCREEN_BASE_INFO

Screen basic information union

union{
  BYTE                   byScreenAddress[MAX_SCREEN_ADDRESS_LEN];
  NET_DVR_DEV_IP_INFO    struIPInfo;
  BYTE                   byRes[100];
}NET_DVR_SCREEN_BASE_INFO,*LPNET_DVR_SCREEN_BASE_INFO;

Members

byScreenAddress
Screen specification code, device adding mode ( valid when byDevAddType is 0)
struIPInfo
Screen IP address, device adding mode (valid when byDevAddType is 1)
byRes
Union size, 100 bytes

See Also

NET_DVR_SCREEN_INDEX_CFG


NET_DVR_SCREEN_CONTROL

Structure of screen control.

struct{
  DWORD                           dwSize;
  DWORD                           dwCommand;
  BYTE                            byProtocol;
  BYTE                            byRes1[3];
  NET_DVR_SCREEN_CONTROL_PARAM    struControlParam;
  BYTE                            byRes2[52];
}NET_DVR_SCREEN_CONTROL, *LPNET_DVR_SCREEN_CONTROL;

Members

dwSize
Structure size
dwCommand
Control command: 1- open, 2- close
byProtocol
Screen protocol: 1-LCD-S1, 2-LCD-S2, 3-LCD-L1, 4-LCD-DLP, 5-LCD-S3, 6-LCD-H1
byRes1
Reserved, please set to 0
struControlParam
Screen control parameter
byRes2
Reserved, please set to 0

See Also

NET_DVR_ScreenCtrl


NET_DVR_SCREEN_CONTROL_PARAM

Structure of screen control parameter

struct{
  NET_DVR_INPUT_INTERFACE_CTRL     struInputCtrl;
  NET_DVR_DISPLAY_COLOR_CTRL       struDisplayCtrl;
  NET_DVR_DISPLAY_POSITION_CTRL    struPositionCtrl;
  BYTE                             byRes[16];
}NET_DVR_SCREEN_CONTROL_PARAM,*LPNET_DVR_SCREEN_CONTROL_PARAM;

Members

struInputCtrl
Input interface control
struDisplayCtrl
Display unit colour control
struPositionCtrl
Display unit position control
byRes
Reserved, please set to 0

See Also

NET_DVR_SCREEN_CONTROL


NET_DVR_SCREEN_DISPLAY_CFG

显示参数配置结构体。

struct{
  DWORD                            dwSize;
  BYTE                             byCfgType;
  BYTE                             byBackLight;
  BYTE                             byRes1[2];
  NET_DVR_VIDEO_OUT_CFG            struVideoOutCfg;
  NET_DVR_COLOR_TEMPERATURE_CFG    struColorTempCfg;
  NET_DVR_ADC_CFG                  struAdcCfg;
  NET_DVR_SCREEN_EDGE_CFG          struScreenEdgeCfg;
  BYTE                             byRes[32];
}NET_DVR_SCREEN_DISPLAY_CFG,*LPNET_DVR_SCREEN_DISPLAY_CFG;

Members

dwSize
Structure size
byCfgType
Configured parameters type:0-Invalid，1-Back light parameters, 2-Video parameters, 3- Color temperature 4- ADC，5- Screen edge parameters
byBackLight
Back light parameters, value range:：0 to 100
byRes1
Reserved, set as 0.
struVideoOutCfg
Video parameters
struColorTempCfg
Color temperature
struAdcCfg
ADC
struScreenEdgeCfg
Screen edge parameters
byRes
Reserved, set as 0.

Remarks

Only one of the following parameters can be set ant a time,: bak light, video, color temperarure, ADC, and screen edge.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCREEN_EDGE_CFG

Structure of screen edge.

struct{
  BYTE    byEnable;
  BYTE    byLeftEdge;
  BYTE    byRightEdge;
  BYTE    byTopEdge;
  BYTE    byLowerEdge;
  BYTE    byRes[7];
}NET_DVR_SCREEN_EDGE_CFG,*LPNET_DVR_SCREEN_EDGE_CFG;

Members

byEnable
Whether to enable the screen edge: 0- no, 1- yes
byLeftEdge
Left edge: 0 ~ 100
byRightEdge
Right edge: 0 ~ 100
byTopEdge
Upper edge: 0 ~ 100
byLowerEdge
Lower edge: 0 ~ 100
byRes
Reserved, please set to 0

See Also

NET_DVR_SCREEN_DISPLAY_CFG NET_DVR_MSC_SCREEN_PARAM


NET_DVR_SCREEN_FAN_WORK_MODE_CFG

Fan working mode configuration structure

struct{
  DWORD    dwSize;
  BYTE     byWorkMode;
  BYTE     byTemperatureLimitValue;
  BYTE     byRes[14];
}NET_DVR_SCREEN_FAN_WORK_MODE_CFG,*LPNET_DVR_SCREEN_FAN_WORK_MODE_CFG;

Members

dwSize
Structure size
byWorkMode
Fan working mode: 1- Normally opened, 2- Auto
byTemperatureLimitValue
Temperature threshold(valid when the working mode is auto), value range: 0 to 100， Unit: Degree centigrade
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCREEN_INDEX_CFG

Screen index corresponded parameters structure

struct{
  DWORD                       dwSize;
  BYTE                        byEnbale;
  BYTE                        byDevAddType;
  BYTE                        byRes1[2];
  NET_DVR_SCREEN_BASE_INFO    struScreenBaseInfo;
  BYTE                        byRes[32];
}NET_DVR_SCREEN_INDEX_CFG, *LPNET_DVR_SCREEN_INDEX_CFG;

Members

dwSize
Structure size
byEnbale
Enable? 0- No, 1- Yes
byDevAddType
Device adding mode: 0- By specification code(screen and server serial port communication), 1- By IP address (screen and server network communication)
byRes1
Reserved, set as 0.
struScreenBaseInfo
Screen device basic information
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_SCREEN_MENU_CFG

Screen menu configuration structure

struct{
  DWORD    dwSize;
  BYTE     byMenuLanguage;
  BYTE     byTransparency;
  BYTE     byDuration;
  BYTE     byRes[13];
}NET_DVR_SCREEN_MENU_CFG,*LPNET_DVR_SCREEN_MENU_CFG;

Members

dwSize
Structure size
byMenuLanguage
Language: 1- Chinese, 2- English
byTransparency
Transparent: 0- Non-transparent, 1- Low, 2- Medium, 3- high
byDuration
Duration: Normally opened, 1- 5s, 2- 15s, 3- 30s
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCREEN_POS_CFG

Screen position structure。

struct{
  DWORD    dwSize;
  BYTE     byScreenRowNum;
  BYTE     byScreenColNum;
  BYTE     byRes[34];
}NET_DVR_SCREEN_POS_CFG,*LPNET_DVR_SCREEN_POS_CFG;

Members

dwSize
Structure size
byScreenRowNum
Screen position of the video wall, row No.
byScreenColNum
Screen position of the video wall, column No.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCREEN_SCREENINFO

Structure of large size display information.

struct{
  DWORD                    dwSize;
  BYTE                     byValid;
  BYTE                     nLinkMode;
  BYTE                     byDeviceType;
  BYTE                     byScreenLayX;
  BYTE                     byScreenLayY;
  BYTE                     byRes1[3];
  BYTE                     sUserName[NAME_LEN];
  BYTE                     sPassword[PASSWD_LEN];
  BYTE                     sDevName[NAME_LEN];
  NET_DVR_SCREEN_UNION     struScreenUnion;
  BYTE                     byInputNum;
  BYTE                     byOutputNum;
  BYTE                     byCBDNum;
  BYTE                     byRes2[29];
}NET_DVR_SCREEN_SCREENINFO,*LPNET_DVR_SCREEN_SCREENINFO;

Members

dwSize
Structure size
byValid
Whether it is valid or not: 0- no, 1- yes
nLinkMode
Link mode: 0- serial port, 1- network port
byDeviceType
Device type, please get from capability set
byScreenLayX
Screen layout: horizontal axis, the count of screens in the horizontal direction
byScreenLayY
Screen layout: vertical axis, the count of screens in the vertical direction
byRes1
Reserved, please set to 0
sUserName
User name
sPassword
Password
sDevName
Device name
struScreenUnion
Screen information
byInputNum
The count of input sources
byOutputNum
The count of output sources
byCBDNum
The count of CBDs
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_SCREEN_SIGNAL_CFG

Screen signal resource parameters structure

struct{
  DWORD    dwSize;
  BYTE     bySignalSourceType;
  BYTE     byNoSignalPic;
  BYTE     byRes[14];
}NET_DVR_SCREEN_SIGNAL_CFG,*LPNET_DVR_SCREEN_SIGNAL_CFG;

Members

dwSize
Structure size
bySignalSourceType
Signal resource index, for details, seeNET_DVR_CAM_MODE
byNoSignalPic
No signal frames: 1- Blue screen, 2- Black screen, 3- LOGO
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCREEN_SPLICE_CFG

Screen splicing parameters structure

struct{
  DWORD    dwSize;
  BYTE     bySpliceIndex;
  BYTE     bySpliceX;
  BYTE     bySpliceY;
  BYTE     byWidth;
  BYTE     byHeight;
  BYTE     byRes[11];
}NET_DVR_SCREEN_SPLICE_CFG,*LPNET_DVR_SCREEN_SPLICE_CFG;

Members

dwSize
Structure size
bySpliceIndex
Splicing screen No., 0 indicates no splicing
bySpliceX
The rows position of the screen in the video wall
bySpliceY
The columns position of the screen in the video wall
byWidth
Splicing screen width
byHeight
Splicing screen height
byRes
Reserved, set as 0.

Remaks

To splice 4 screens such as 0101, 0102, 0201, and 0202, you should log on the 4 screens and configure the splicing parameters separately (the bySpliceIndex should be the same and not be 0):
Screen 0101：bySpliceIndex=1，bySpliceX=1，bySpliceY=1，byWidth=2，byHeight=2，indicates that this screen is located at row 1 and column 1 of the video wall.
Screen 0102：bySpliceIndex=1，bySpliceX=1，bySpliceY=2，byWidth=2，byHeight=2，indicates that this screen is located at row 1 and column 2 of the video wall.
Screen 0201：bySpliceIndex=1，bySpliceX=2，bySpliceY=1，byWidth=2，byHeight=2，indicates that this screen is located at row 2 and column 1 of the video wall.
Screen 0202：bySpliceIndex=1，bySpliceX=2，bySpliceY=2，byWidth=2，byHeight=2，indicates that this screen is located at row 2 and column 2 of the video wall.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCREEN_UNION

Union of screen information

union{
  NET_DVR_DIGITALSCREEN    struDigitalScreen;
  NET_DVR_ANALOGSCREEN     struAnalogScreen;
}NET_DVR_SCREEN_UNION,*LPNET_DVR_SCREEN_UNION;

Members

struDigitalScreen
Digital screen information
struAnalogScreen
Analog screen information

See Also

NET_DVR_SCREEN_SCREENINFO


NET_DVR_SCREEN_VGA_CFG

NET_DVR_SCREEN_VGA_CFG

VGA signal configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnableAutoAdjust;
  BYTE     byHorizontalPosition;
  BYTE     byVerticalPosition;
  BYTE     byClock;
  BYTE     byPhase;
  BYTE     byRes[11];
}NET_DVR_SCREEN_VGA_CFG,*LPNET_DVR_SCREEN_VGA_CFG;

Members

dwSize
Structure size
byEnableAutoAdjust
Enable auto adjustment? 0- No, 1- Yes
byHorizontalPosition
Horizontal position, value range: 0 to 100
byVerticalPosition
Vertical position, value range: 0 to 100
byClock
Clock, value range: 0 to 100
byPhase
Phase, value range: 0 to 100
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SCREEN_WINCFG

Structure of layout window configuration

struct{
  DWORD              dwSize;
  BYTE               byVaild;
  BYTE               byInputType;
  WORD               wInputIdx;
  DWORD              dwLayerIdx;
  NET_DVR_RECTCFG    struWin;
  BYTE               byWnd;
  BYTE               byCBD;
  BYTE               bySubWnd;
  BYTE               byDeviceID[16];
  BYTE               byRes[5];
}NET_DVR_SCREEN_WINCFG, *LPNET_DVR_SCREEN_WINCFG;

Members

dwSize
Structure size
byVaild
Whether it is valid or not: 0- invalid, 1- valid
byInputType
Signal input source type:
enum _NET_DVR_CAM_MODE_{
  NET_DVR_UNKNOW  = 0,
  NET_DVR_CAM_BNC = 1,
  NET_DVR_CAM_VGA = 2,
  NET_DVR_CAM_DVI = 3,
  NET_DVR_CAM_HDMI= 4,
  NET_DVR_CAM_IP  = 5,
  NET_DVR_CAM_RGB = 6,
  NET_DVR_CAM_DECODER
}NET_DVR_CAM_MODE
NET_DVR_UNKNOW
Unknow
NET_DVR_CAM_BNC
BNC input
NET_DVR_CAM_VGA
VGA input
NET_DVR_CAM_DVI
DVI input
NET_DVR_CAM_HDMI
HDMI input
NET_DVR_CAM_IP
IP input
NET_DVR_CAM_RGB
RGB input
NET_DVR_CAM_DECODER
Decoder board input
wInputIdx
Input source index: 0- video, 1- RGB, 2- network
dwLayerIdx
Layer index, 0 is the bottom layer
struWin
The purpose window (relative to display wall)
byWnd
Window index
byCBD
Whether with background: 0- none, 1- with background, 2- without background
bySubWnd
Whether it is sub window: 0- no, 1- yes
byDeviceID
The unique ID of the device identification
byRes
Reserved, please set to 0

See Also

NET_DVR_LAYOUTCFG NET_DVR_ScreenWinCtrl NET_DVR_GetDVRConfig


NET_DVR_SCREEN_WORK_STATE

Structure of screen working status.

struct{
  DWORD    dwSize;
  BYTE     byFanStatus;
  BYTE     byFanExceptionStatus;
  BYTE     byRes1[2];
  DWORD    dwWorkingHours;
  BYTE     byVersion[VERSION_LEN];
  int      iTemperature;
  BYTE     byRes[32];
}NET_DVR_SCREEN_WORK_STATE,*LPNET_DVR_SCREEN_WORK_STATE;

Members

dwSize
Structure size
byFanStatus
Fan status: 0- closed, 1- open
byFanExceptionStatus
Status of fan exception: 0- not supported, 1- normal, 2- abnormal
byRes1
Reserved, please set to 0
dwWorkingHours
Cumulative working time (unit: hour)
byVersion
Software version
iTemperature
Compression card temperature (unit: ℃), accurate to the single digit
byRes
Reserved, please set to 0

See Also

NET_DVR_MSC_SCREEN_PARAM


NET_DVR_SCREENALARMCFG

Structure of multi-screen controller alarm information.

struct{
  DWORD          dwSize;
  BYTE           byAlarmType;
  BYTE           byBoardType;
  BYTE           bySubException;
  BYTE           byRes1;
  WORD           wStartInputNum;
  WORD           wEndInputNum;
  BYTE           byRes2[16];
}NET_DVR_SCREENALARMCFG, *LPNET_DVR_SCREENALARMCFG;

Members

dwSize
Structure size
byAlarmType
Alarm type: 1- sub-board pulled out, 2- sub-board plugged in, 3- subsystem exception, 4- subsystem resumed to normal, 5- input source exception, 6- temperature alarm, 7- FPGA version not match with the device, 8- start plan, 9- stop plan
byBoardType
1- input board, 2- output board
bySubException
 Sub-exception when inputting exception: 1- the resolution changed; 2-
    the interface changed; 3- the resolution error;
4- that the resolution modified results to the lack of decoding resources, and closed the window corresponding to the input source;
5- that the resolution modified results to the scaling factor of the open window is out of the range from 1/8 to 8;
6- the resolution resumed
byRes1
Reserved, please set to 0
wStartInputNum
Input source of exception (starting point of exception)
wEndInputNum
Input source of exception (end point of exception)
byRes2
Reserved, please set to 0

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_SCREENCONTROL_ABILITY

Structure of multi-screen controller capability set.

struct{
  DWORD                dwSize;
  BYTE                 byLayoutNum;
  BYTE                 byWinNum;
  BYTE                 byOsdNum;
  BYTE                 byLogoNum;
  BYTE                 byInputStreamNum;
  BYTE                 byOutputChanNum;
  BYTE                 byCamGroupNum;
  BYTE                 byPlanNum;
  BYTE                 byIsSupportOSD;
  BYTE                 byIsSupportLogo;
  BYTE                 byIsSupportPlan;
  BYTE                 byIsSupportGroup;
  BYTE                 byIsSupportLayout;
  BYTE                 byIsSupportPlayBack;
  BYTE                 byMatrixInputNum;
  BYTE                 byMatrixOutputNum;
  NET_DVR_DISPINFO     struVgaInfo;
  NET_DVR_DISPINFO     struBncInfo;
  NET_DVR_DISPINFO     struHdmiInfo;
  NET_DVR_DISPINFO     struDviInfo;
  BYTE                 byWinLayer;
  BYTE                 byPicSpan;
  WORD                 wDVCSDevNum;
  WORD                 wNetSignalNum;
  BYTE                 byRes[54];
}NET_DVR_SCREENCONTROL_ABILITY, *LPNET_DVR_SCREENCONTROL_ABILITY;

Members

dwSize
Structure size
byLayoutNum
The total number of layouts
byWinNum
The total number of screen windows
byOsdNum
The total number of OSDs
byLogoNum
The total number of Logos
byInputStreamNum
The total number of input sources
byOutputChanNum
The total number of output channels
byCamGroupNum
The total number of groups
byPlanNum
The total number of plans
byIsSupportOSD
Whether it supports OSD or not
byIsSupportLogo
Whether it supports logo or not
byIsSupportPlan
Whether it supports plan or not
byIsSupportGroup
Whether it supports group or not
yIsSupportLayout
Whether it supports layout or not
byIsSupportPlayBack
Whether it supports playback or not
byMatrixInputNum
The max number supported by input source
byMatrixOutputNum
The max number supported by output source
struVgaInfo
VGA output information
struBncInfo
BNC output information
struHdmiInfo
HDMI output information
struDviInfo
DVI output information
byWinLayer
The max number of window layers on single screen
byPicSpan
Span of traced drawing, the max number of screens overlaid by one traced drawing
wDVCSDevNum
The max number of devices for distributed large-screen controller
wNetSignalNum
The max number of network input source
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceAbility


NET_DVR_SCREENINFO

Structure of screen stitching information.

struct{
  BYTE      bySupportBigScreenNums;
  BYTE      byStartBigScreenNum;
  BYTE      byMaxScreenX;
  BYTE      byMaxScreenY;
  BYTE      byRes[8];
}NET_DVR_SCREENINFO, *LPNET_DVR_SCREENINFO;

Members

bySupportBigScreenNums
The max total number of supported screens
byStartBigScreenNum
Starting serial number of stitching screen
byMaxScreenX
The number of screens on horizontal direction
byMaxScreenY
The number of screens on vertical direction, stitching mode: byMaxScreenX*byMaxScreenY, e.g. 3*3, it means there are 9 screens in total and they form a large size display.
byRes
Reserved, please set to 0

See Also

NET_DVR_MATRIX_ABILITY_V41


NET_DVR_SCREENINPUTSTATUS

Structure of screen status

struct{
  DWORD    dwSize;
  BYTE     byRes[12];
  DWORD    dwNums;
  BYTE     *pBuffer;
  BYTE     dwBufLen;
}NET_DVR_SCREENINPUTSTATUS, *LPNET_DVR_SCREENINPUTSTATUS;

Members

dwSize
Structure size
byRes
Reserved, please set to 0
dwNums
The count of input source status returned by the device
pBuffer
Buffer, to save the input source status information: dwNums*sizeof(NET_DVR_INPUTSTATUS)
dwBufLen
The buffer size

See Also

NET_DVR_INPUTSTATUS

NET_DVR_GetScreenInputStatus


NET_DVR_SCREENLIST

Structure of display screen mapping relationship list

struct{
  DWORD    dwSize;
  BYTE     byRes[12];
  DWORD    dwScreenNums;
  BYTE     *pBuffer;
  DWORD    dwBufLen;
}NET_DVR_SCREENLIST,*LPNET_DVR_SCREENLIST;

Members

dwSize
Structure size
byRes
Reserved, please set to 0
dwScreenNums
The count of mapped display screens returned bu the device
pBuffer
Display screen mapping relationship, dwScreenNums*NET_DVR_DISP_SCREEN
dwBufLen
Buffer size, input parameter

See Also

NET_DVR_DISP_SCREEN

NET_DVR_GetScreenList


NET_DVR_SDKABL

SDK capability structure

struct{
  DWORD     dwMaxLoginNum;
  DWORD     dwMaxRealPlayNum;
  DWORD     dwMaxPlayBackNum;
  DWORD     dwMaxAlarmChanNum;
  DWORD     dwMaxFormatNum;
  DWORD     dwMaxFileSearchNum;
  DWORD     dwMaxLogSearchNum;
  DWORD     dwMaxSerialNum;
  DWORD     dwMaxUpgradeNum;
  DWORD     dwMaxVoiceComNum;
  DWORD     dwMaxBroadCastNum;
  DWORD     dwRes[10];
}NET_DVR_SDKABL,*LPNET_DVR_SDKABL;

Members

dwMaxLoginNum
The supported max number of login operations
dwMaxRealPlayNum
The supported max number of live view operations
dwMaxPlayBackNum
The supported max number of playback or download operations
dwMaxAlarmChanNum
The supported max number of alarm channels
dwMaxFormatNum
The supported max number of hard disk formatting operations
dwMaxFileSearchNum
The supported max number of file searching operations
dwMaxLogSearchNum
The supported max number of log searching operations
dwMaxSerialNum
The supported max number of transparent channels
dwMaxUpgradeNum
The supported max number of upgrading operations
dwMaxVoiceComNum
The supported max number of voice forwarding operations
dwMaxBroadCastNum
The supported max number of voice broadcast operations
dwRes
Reserved, please set to 0

Remarks

Audio Broadcast function is notsupported in the Windows64 bit and linux32/64 bit OS. The value of dwMaxBroadCastNum is 0.

See Also

NET_DVR_GetSDKAbility


NET_DVR_SDKLOCAL_CFG

Structure of SDK local parameters

struct{
  BYTE    byEnableAbilityParse;
  BYTE    byVoiceComMode;
  BYTE    byRes[510];
}NET_DVR_SDKLOCAL_CFG,*LPNET_DVR_SDKLOCAL_CFG;

Members

byEnableAbilityParse
Enable or disable the simulate capability set: 0- disable, 1- enable, disabled by default
byVoiceComMode
Voice talk mode: 0- use voice talk library(default), 1- use Windows api
byRes
Reserved, please set to 0

See Also

NET_DVR_GetSDKLocalConfig NET_DVR_SetSDKLocalConfig


NET_DVR_SDKSTATE

SDK state structure

struct{
  DWORD     dwTotalLoginNum;
  DWORD     dwTotalRealPlayNum;
  DWORD     dwTotalPlayBackNum;
  DWORD     dwTotalAlarmChanNum;
  DWORD     dwTotalFormatNum;
  DWORD     dwTotalFileSearchNum;
  DWORD     dwTotalLogSearchNum;
  DWORD     dwTotalSerialNum;
  DWORD     dwTotalUpgradeNum;
  DWORD     dwTotalVoiceComNum;
  DWORD     dwTotalBroadCastNum;
  DWORD     dwRes[10];
}NET_DVR_SDKSTATE,*LPNET_DVR_SDKSTATE;

Members

dwTotalLoginNum
The count of current login operations
dwTotalRealPlayNum
The count of current realplay operations
dwTotalPlayBackNum
The count of current playback or download operations
dwTotalAlarmChanNum
The count ofcurrent alarm channel setup operations
dwTotalFormatNum
The count of current HDD formatting operations
dwTotalFileSearchNum
The count of current file searching operations
dwTotalLogSearchNum
The count of current log searching operations
dwTotalSerialNum
The count of current transparent channel setup operations
dwTotalUpgradeNum
The count of current upgrading operations
dwTotalVoiceComNum
The count of current network voice forwarding operations
dwTotalBroadCastNum
The count of current network voice broadcast operations
dwRes
Reserved, please set to 0


NET_DVR_SEARCH_EVENT_PARAM

Structure of event searching condition

struct{
  WORD            wMajorType;
  WORD            wMinorType;
  NET_DVR_TIME    struStartTime;
  NET_DVR_TIME    struEndTime;
  BYTE            byLockType;
  BYTE            byRes[127];
  union{
           BYTE   byLen[SEARCH_EVENT_INFO_LEN];
           struct{
           BYTE   byAlarmInNo[MAX_ALARMIN_V30];
           BYTE   byRes[SEARCH_EVENT_INFO_LEN - MAX_ALARMIN_V30];
           }struAlarmParam;
           struct{
           BYTE   byMotDetChanNo[MAX_CHANNUM_V30];
           BYTE   byRes[SEARCH_EVENT_INFO_LEN - MAX_CHANNUM_V30];
           }struMotionParam;
           struct{
           BYTE   byChanNo[MAX_CHANNUM_V30];
           BYTE   byRuleID;
           BYTE   byRes1[43];
           }struVcaParam;
           struct{
           BYTE   byRoomIndex;
           BYTE   byRes[299];
           }struInquestParam;
           struct{
           NET_DVR_STREAM_INFO   struIDInfo;
           DWORD                 dwCmdType;
           BYTE                  byRes[224];
           }struStreamIDParam;
  }uSeniorParam;
}NET_DVR_SEARCH_EVENT_PARAM,*LPNET_DVR_SEARCH_EVENT_PARAM;

Members

wMajorType
Major search type:
enum _MAIN_EVENT_TYPE_{
  EVENT_MOT_DET        = 0,
  EVENT_ALARM_IN       = 1,
  EVENT_VCA_BEHAVIOR   = 2,
  EVENT_INQUEST        = 3,
  EVENT_STREAM_INFO    = 100
}MAIN_EVENT_TYPE
EVENT_MOT_DET
Motion detection
EVENT_ALARM_IN
Alarm input
EVENT_VCA_BEHAVIOR
Behavior Analysis
EVENT_INQUEST
Inquest event
EVENT_STREAM_INFO
Stream ID information
wMinorType
Minor search type, which will change according to major type, 0xffff stands for all type.
When major type is EVENT_VCA_BEHAVIOR, the minor types are defined as below:
enum _BEHAVIOR_MINOR_TYPE_{
  EVENT_TRAVERSE_PLANE       = 0,
  EVENT_ENTER_AREA,
  EVENT_EXIT_AREA,
  EVENT_INTRUSION,
  EVENT_LOITER,
  EVENT_LEFT_TAKE,
  EVENT_PARKING,
  EVENT_RUN,
  EVENT_HIGH_DENSITY,
  EVENT_STICK_UP,
  EVENT_INSTALL_SCANNER,
  EVENT_OPERATE_OVER_TIME,
  EVENT_FACE_DETECT,
  EVENT_LEFT,
  EVENT_TAKE,
  EVENT_LEAVE_POSITION,
  EVENT_TRAIL_INFO          = 16,
  EVENT_FALL_DOWN_INFO      = 19,
  EVENT_OBJECT_PASTE        = 20,
  EVENT_FACE_CAPTURE_INFO   = 21,
  EVENT_MULTI_FACES_INFO    = 22,
  EVENT_AUDIO_ABNORMAL_INFO = 23
}BEHAVIOR_MINOR_TYPE
EVENT_TRAVERSE_PLANE
Cross alert surface
EVENT_ENTER_AREA
Enter the area,support regional rule
EVENT_EXIT_AREA
Leave the area, support regional rule
EVENT_INTRUSION
Perimeter intrusion, support regional rule
EVENT_LOITER
Loiter, support regional rule
EVENT_LEFT_TAKE
Drop/pick up, support regional rule
EVENT_PARKING
Parking, support regional rule
EVENT_RUN
Run, support regional rule
EVENT_HIGH_DENSITY
Density of person in the area, support regional rule
EVENT_STICK_UP
Stick a note, support regional rule
EVENT_INSTALL_SCANNER
Install card reader, support regional rule
EVENT_OPERATE_OVER_TIME
Operation timeout
EVENT_FACE_DETECT
Abnormal face detection
EVENT_LEFT
Item left
EVENT_TAKE
Item pick up
EVENT_LEAVE_POSITION
Leave one's position
EVENT_TRAIL_INFO
Tail
EVENT_FALL_DOWN_INFO
Fell to the ground
EVENT_OBJECT_PASTE
The foreign object pasted to the region
EVENT_FACE_CAPTURE_INFO
Normal face
EVENT_MULTI_FACES_INFO
Multiple faces
EVENT_AUDIO_ABNORMAL_INFO
Sound intensity mutations
When major type is EVENT_INQUEST, the minor types are defined as below:
Major Type | Value | Implication
EVENT_INQUEST | 3 | Inquest event
Minor Type | Value | Implication
INQUEST_START_INFO | 0x1001 | Starting information of inquest
INQUEST_STOP_INFO | 0x1002 | Stopping information of inquest
INQUEST_TAG_INFO | 0x1003 | Emphasis marker
INQUEST_SEGMENT_INFO | 0x1004 | Segment status of inquest
struStartTime
Starting time to search
struEndTime
Stopping time to search
byLockType
whether to search the file locked or unlocked: 0xff- all files, 0- unlocked, 1- locked
byRes
Reserved, please set to 0
byLen
Length of the unoin
struAlarmParam Sensor Alarm
byAlarmInNo
The alarm input number, if byAlarmInNo[0]==1, it means to search the events triggered by the no.1 alarm input port.
byRes
Reserved, please set to 0
struMotionParam Motion Detection
byMotDetChanNo
The channel number of motion detection, if byMotDetChanNo[0]==1, it means to search the events triggered by motion detection of no.1 channel.
byRes
Reserved, please set to 0
struVcaParam Behavior Analysis
byChanNo
The channel that triggered Event
byRuleID
Rule ID, 0xff means all the rules
byRes1
Reserved, please set to 0
struInquestParam is the structure of inquest event
byRoomIndex
Inquest room index, starts from 1
byRes
Reserved, please set to 0
struStreamIDParam is the structure of stream ID information
struIDInfo
Stream ID information
dwCmdType
The external trigger type, used when connect NVR to the cloud storage
byRes
Reserved, please set to 0

See Also

NET_DVR_TIME NET_DVR_STREAM_INFO


NET_DVR_SEARCH_EVENT_PARAM_V40

Structure of event searching condition

struct{
  WORD             wMajorType;
  WORD             wMinorType;
  NET_DVR_TIME     struStartTime;
  NET_DVR_TIME     struEndTime;
  BYTE             byLockType;
  BYTE             byRes[131];
  union{
           BYTE                  byLen[SEARCH_EVENT_INFO_LEN_V40];

           struct{
           WORD                  wAlarmInNo[128];
           BYTE                  byRes[544];
           }struAlarmParam;

           struct{
           WORD                  wMotDetChanNo[MAX_CHANNUM_V30];
           BYTE                  byRes[672];
           }struMotionParam;

           struct{
           WORD                  wChanNo[MAX_CHANNUM_V30];
           BYTE                  byRuleID;
           BYTE                  byRes[671];
           }struVcaParam;

           struct{
           BYTE                  byRoomIndex;
           BYTE                  byRes[799];
           }struInquestParam;

           struct{
           BYTE                  byAll;
           BYTE                  byRes1[3];
           WORD                  wChanNo[MAX_CHANNUM_V30];
           BYTE                  byRes1[3];
           }struVCADetect;

           struct{
           NET_DVR_STREAM_INFO   struIDInfo;
           DWORD                 dwCmdType;
           BYTE                  byBackupVolumeNum;
           BYTE                  byRes[723];
           }struStreamIDParam;

           struct{
           BYTE                  byCaseNo[SEARCH_CASE_NO_LEN];
           BYTE                  byCaseName[SEARCH_CASE_NAME_LEN];
           BYTE                  byLitigant1[SEARCH_LITIGANT_LEN];
           BYTE                  byLitigant2[SEARCH_LITIGANT_LEN];
           BYTE                  byChiefJudge[SEARCH_CHIEF_JUDGE_LEN];
           BYTE                  byCaseType;
           BYTE                  byRes[547];
           }struTrialParam;

  }uSeniorParam;
}NET_DVR_SEARCH_EVENT_PARAM_V40,*LPNET_DVR_SEARCH_EVENT_PARAM_V40;

Members

wMajorType
Major search type：
enum _MAIN_EVENT_TYPE_{
  EVENT_MOT_DET        = 0,
  EVENT_ALARM_IN       = 1,
  EVENT_VCA_BEHAVIOR   = 2,
  EVENT_INQUEST        = 3,
  EVENT_VCA_DETECTION  = 4,
  EVENT_TRIAL_CASE     = 6,
  EVENT_STREAM_INFO    = 100
}MAIN_EVENT_TYPE
EVENT_MOT_DET
Motion detection
EVENT_ALARM_IN
Alarm input
EVENT_VCA_BEHAVIOR
Behavior analysis
EVENT_INQUEST
Inquest event
EVENT_VCA_DETECTION
VCA detection
EVENT_TRIAL_CASE
Trial case information
EVENT_STREAM_INFO
Stream ID information
wMinorType
Minor search type, which will change according to major type, 0xffff stands for all type. Motion detection, alarm inputhas no minor type, which can be set as Oxffff directly. Other minor types are defined as below:
Major type | Value | Definition
EVENT_VCA_BEHAVIOR | 2 | Behavior analysis
Minor type | Value | Definition
EVENT_TRAVERSE_PLANE | 0 | Line crossing
EVENT_ENTER_AREA | 1 | Entering the area,support regional rule
EVENT_EXIT_AREA | 2 | Leaving the area, support regional rule
EVENT_INTRUSION | 3 | Perimeter intrusion, support regional rule
EVENT_LOITER | 4 | Loitering, support regional rule
EVENT_LEFT_TAKE | 5 | Droping/picking up, support regional rule
EVENT_PARKING | 6 | Parking, support regional rule
EVENT_RUN | 7 | Running, support regional rule
EVENT_HIGH_DENSITY | 8 | People density in the area, support regional rule
EVENT_STICK_UP | 9 | Sticking a note, support regional rule
EVENT_INSTALL_SCANNER | 10 | Installing card reader, support regional rule
EVENT_OPERATE_OVER_TIME | 11 | Operation timeout
EVENT_FACE_DETECT | 12 | Abnormal face detection
EVENT_LEFT | 13 | Unattended baggage
EVENT_TAKE | 14 | Object removal
EVENT_LEAVE_POSITION | 15 | Absence event
EVENT_TRAIL_INFO | 16 | Tailing
EVENT_FALL_DOWN_INFO | 19 | Falling down
EVENT_OBJECT_PASTE | 20 | Sticking script area
EVENT_FACE_CAPTURE_INFO | 21 | Normal face
EVENT_MULTI_FACES_INFO | 22 | Multiple faces
EVENT_AUDIO_ABNORMAL_INFO | 23 | Sudden change of sound intensity

Major type | Value | Definition
EVENT_INQUEST | 3 | Inquest event
Minor type | Value | Definition
INQUEST_START_INFO | 0x1001 | Starting information of inquest
INQUEST_STOP_INFO | 0x1002 | Stopping information of inquest
INQUEST_TAG_INFO | 0x1003 | Emphasis marker
INQUEST_SEGMENT_INFO | 0x1004 | Segment status of inquest

Major type | Value | Definition
EVENT_VCA_DETECTION | 4 | VCA detection
Minor type | Value | Definition
EVENT_VCA_TRAVERSE_PLANE | 1 | Line crossing
EVENT_FIELD_DETECTION | 2 | Intrusion detection
EVENT_AUDIO_INPUT_ALARM | 3 | Audio loss detection
EVENT_SOUND_INTENSITY_ALARM | 4 | Sudden increase of sound increase/decrease detection
EVENT_FACE_DETECTION | 5 | Face detection
EVENT_VIRTUAL_FOCUS_ALARM | 6 | Defocus detection
EVENT_SCENE_CHANGE_ALARM | 7 | Scene change detection
EVENT_PIR_ALARM | 8 | PIR alarm
EVENT_ENTER_REGION | 9 | Region entrance
EVENT_EXIT_REGION | 10 | Region exiting
EVENT_LOITERING | 11 | Loitering
EVENT_GROUPDETECTION | 12 | People gathering in the area, support regional rule
EVENT_RAPIDMOVE | 13 | Fast moving
EVENT_PARK | 14 | Parking
EVENT_UNATTENDED_BAGGAGE | 15 | Unattended baggage
EVENT_ATTENDEDBAGGAGE | 16 | Object removal
EVENT_VEHICLE_DETECTION | 17 | Vehicle detection

Major type | Value | Definition
EVENT_STREAM_INFO | 100 | Stream ID information
Minor type | Value | Definition
EVENT_STREAM_ID | 0 | Stream ID
EVENT_TIMING | 1 | Timing record
EVENT_MOTION_DETECT | 2 | Motion detection
EVENT_ALARM | 3 | Alarm record
EVENT_ALARM_OR_MOTION_DETECT | 4 | Alarm or motion detection
EVENT_ALARM_AND_MOTION_DETECT | 5 | Alarm and motion detection
EVENT_COMMAND_TRIGGER | 6 | Command triggering
EVENT_MANNUAL | 7 | Manual record
EVENT_BACKUP_VOLUME | 8 | Storage volume record
STREAM_EVENT_SEMAPHORE | 9 | Sensor alarm
STREAM_EVENT_HIDE | 10 | Video tempering
STREAM_EVENT_INVERSE | 11 | Driving in opposite direction
STREAM_EVENT_VIDEO_LOST | 12 | Video loss
STREAM_EVENT_WIRELESS_ALARM | 13 | Wirless alarm
STREAM_EVENT_PIR_ALARM | 14 | PIR alarm
STREAM_EVENT_CALLHELP_ALARM | 15 | Call for help alarm
STREAM_EVENT_FACESNAP | 16 | Face capture
STREAM_EVENT_FACE_DETECTION | 17 | Face detection
STREAM_EVENT_ITS_PLATE | 18 | Vehicle detection
STREAM_EVENT_PDC | 19 | People counting
STREAM_EVENT_SCENECHANGE_DETECTION | 20 | Scene change
STREAM_EVENT_DEFOCUS_DETECTION | 21 | Defocus detection
STREAM_EVENT_AUDIOEXCEPTION | 22 | Audio exception
VCA_EVENT_TRAVERSE_PLANE | 23 | Line crossing
VCA_EVENT_INTRUSION | 24 | Intrusion
VCA_EVENT_ENTER_AREA | 25 | Region entrance
VCA_EVENT_EXIT_AREA | 26 | Region exiting
VCA_EVENT_LOITER | 27 | Loitering detection
VCA_EVENT_HIGH_DENSITY | 28 | People gathering
VCA_EVENT_RUN | 29 | Fast moving
VCA_EVENT_PARKING | 30 | Illegal parking
VCA_EVENT_LEFT, | 31 | Unattended baggage
VCA_EVENT_TAKE | 32 | Object removal

Major type | Value | Definition
EVENT_TRIAL_CASE | 5 | Inquest information
Minor type | Value | Definition
TRIAL_START_INFO | 0x1001 | Starting information of inquest
TRIAL_STOP_INFO | 0x1002 | Stopping information of inquest
TRIAL_TAG_INFO | 0x1003 | Emphasis marker of inquest
TRIAL_SEGMENT_INFO | 0x1004 | Segment status of inquest
TRIAL_JUDGE_CASE_INFO | 0x1005 | Inquest case information
struStartTime
Starting time to search
struEndTime
Stopping time to search
byLockType
Locked or unlocked：0xff- all files，0- unlocked，1- locked
byRes
Reserved, please set to 0
uSeniorParam Event searching union
byLen
Union length, 800 byte
struAlarmParam Sensor alarm
wAlarmInNo
Alarm input number, shown by value, compact arrangement. Oxffff means trailings are invalid. For example, wAlarmInNo[0]==1&&wAlarmInNo[1]==2 means searching for events triggered by alarm input 1 and alarm input 2
byRes
Reserved, please set to 0
struMotionParam Motion detection
wMotDetChanNo
The channel number, shown by value, compact arrangement. Oxffff means trailings are invalid. For example,wMotDetChanNo[0]==1&&wMotDetChanNo[1]==2 means searching for events triggered by motion detection of channel 1 and channel 2
byRes
Reserved, please set to 0
struVcaParam Behavior analysis
wChanNo
The event triggering channel, shown by value, compact arrangment. Oxffff means trailings are invalid. For example, wChanNo[0]==1&&wChanNo[1]==2 means searching for events triggered by behavior analysis of channel 1 and channel 2
byRuleID
Rule ID，0xff means all rules
byRes
Reserved, please set to 0
struInquestParam Inquest event
byRoomIndex
The inquest room indext, starts from 1
byRes
Reserved, please set to 0
struVCADetect VCA detection
byAll
0- Search by channel number，1- Search all channels
byRes1
Reserved, please set to 0
wChanNo
VCA detection of matched channel, shown by value, Oxffff means trailings are invalid. For example, wChanNo[0]==1&&wChanNo[1]==2 means searching for VCA detection event of channel 1 and channel 2
byRes
Reserved, please set to 0
struStreamIDParam Stream ID information
struIDInfo
Stream ID information, 72 byte
dwCmdType
The external trigger type, used when connect NVR to the cloud storage
byBackupVolumeNum
The storage volume number, applied to CVR
byRes
Reserved, please set to 0
struTrialParam Search condition of inquest information
byCaseNo
Case number
byCaseName
Case name
byLitigant1
Litigant1
byLitigant2
Litigant2
byChiefJudge
Chief judge
byCaseType
Case type：0- all，1- criminal case，2- civil case
byRes
Reserved, please set to 0

See Also

NET_DVR_FindFileByEvent_V40


NET_DVR_SEARCH_EVENT_RET

Structure of file information searched by event

struct{
  WORD            wMajorType;
  WORD            wMinorType;
  NET_DVR_TIME    struStartTime;
  NET_DVR_TIME    struEndTime;
  BYTE            byChan[MAX_CHANNUM_V30];
  BYTE            byRes[36];
  union{
           struct{
           DWORD                 dwAlarmInNo;
           BYTE                  byRes[SEARCH_EVENT_INFO_LEN];
           }struAlarmRet;
           struct{
           DWORD                 dwMotDetNo;
           BYTE                  byRes[SEARCH_EVENT_INFO_LEN];
           }struMotionRet;
           struct{
           DWORD                 dwChanNo;
           BYTE                  byRuleID;
           BYTE                  byRes1[3];
           BYTE                  byRuleName[NAME_LEN];
           NET_VCA_EVENT_UNION   uEvent;
           }struVcaRet;
           struct{
           BYTE                  byRoomIndex;
           BYTE                  byDriveIndex;
           BYTE                  byRes1[6];
           DWORD                 dwSegmentNo;
           WORD                  wSegmetSize;
           WORD                  wSegmentState;
           BYTE                  byRes2[288];
           }struInquestRet;
           struct{
           DWORD                 dwRecordType;
           DWORD                 dwRecordLength;
           BYTE                  byLockFlag;
           BYTE                  byDrawFrameType;
           BYTE                  byFileName[NAME_LEN];
           BYTE                  byRes[262];
           }struStreamIDRet;
  }uSeniorRet;
}NET_DVR_SEARCH_EVENT_RET,*LPNET_DVR_SEARCH_EVENT_RET;

Members

wMajorType
Major type:
enum _MAIN_EVENT_TYPE_{
  EVENT_MOT_DET        = 0,
  EVENT_ALARM_IN       = 1,
  EVENT_VCA_BEHAVIOR   = 2,
  EVENT_INQUEST        = 3,
  EVENT_STREAM_INFO    = 100
}MAIN_EVENT_TYPE
EVENT_MOT_DET
Motion detection
EVENT_ALARM_IN
Alarm input
EVENT_VCA_BEHAVIOR
Behavior Analysis
EVENT_INQUEST
Inquest event
EVENT_STREAM_INFO
Stream ID information
wMinorType
Minor Type: 0xffff Stands for all:
When major type is EVENT_VCA_BEHAVIOR, the minor types are defined as below:
enum _BEHAVIOR_MINOR_TYPE_{
  EVENT_TRAVERSE_PLANE       = 0,
  EVENT_ENTER_AREA,
  EVENT_EXIT_AREA,
  EVENT_INTRUSION,
  EVENT_LOITER,
  EVENT_LEFT_TAKE,
  EVENT_PARKING,
  EVENT_RUN,
  EVENT_HIGH_DENSITY,
  EVENT_STICK_UP,
  EVENT_INSTALL_SCANNER,
  EVENT_OPERATE_OVER_TIME,
  EVENT_FACE_DETECT,
  EVENT_LEFT,
  EVENT_TAKE,
  EVENT_LEAVE_POSITION,
  EVENT_TRAIL_INFO          = 16,
  EVENT_FALL_DOWN_INFO      = 19,
  EVENT_OBJECT_PASTE        = 20,
  EVENT_FACE_CAPTURE_INFO   = 21,
  EVENT_MULTI_FACES_INFO    = 22,
  EVENT_AUDIO_ABNORMAL_INFO = 23
}BEHAVIOR_MINOR_TYPE
EVENT_TRAVERSE_PLANE
Cross alert surface
EVENT_ENTER_AREA
Enter the area,support regional rule
EVENT_EXIT_AREA
Leave the area, support regional rule
EVENT_INTRUSION
Perimeter intrusion, support regional rule
EVENT_LOITER
Loiter, support regional rule
EVENT_LEFT_TAKE
Drop/pick up, support regional rule
EVENT_PARKING
Parking, support regional rule
EVENT_RUN
Run, support regional rule
EVENT_HIGH_DENSITY
Density of person in the area, support regional rule
EVENT_STICK_UP
Stick a note, support regional rule
EVENT_INSTALL_SCANNER
Install card reader, support regional rule
EVENT_OPERATE_OVER_TIME
Operation timeout
EVENT_FACE_DETECT
Abnormal face detection
EVENT_LEFT
Item left
EVENT_TAKE
Item pick up
EVENT_LEAVE_POSITION
Leave one's position
EVENT_TRAIL_INFO
Tail
EVENT_FALL_DOWN_INFO
Fell to the ground
EVENT_OBJECT_PASTE
The foreign object pasted to the region
EVENT_FACE_CAPTURE_INFO
Normal face
EVENT_MULTI_FACES_INFO
Multiple faces
EVENT_AUDIO_ABNORMAL_INFO
Sound intensity mutations
When major type is EVENT_INQUEST, the minor types are defined as below:
Minor Type | Value | Implication
INQUEST_START_INFO | 0x1001 | Starting information of inquest
INQUEST_STOP_INFO | 0x1002 | Stopping information of inquest
INQUEST_TAG_INFO | 0x1003 | Emphasis marker
INQUEST_SEGMENT_INFO | 0x1004 | Segment status of inquest
struStartTime
Starting time of the event
struEndTime
Stopping time of the event; Starting time and stopping time of a pulse event are the same
byChan
The channel that triggered the event
byRes
Reserved, please set to 0
struAlarmRet Result of Alarm input
dwAlarmInNo
Alarm input number
byRes
Reserved
struMotionRet Result of Motion Detection
dwMotDetNo
Motion detection chanel
byRes
Reserved, please set to 0
struVcaRet Result of Behavior Analysis
dwChanNo
The channel that triggered the event
byRuleID
Rule ID,0xff means all the rules
byRes1
Reserved, please set to 0
byRuleName
Rule name
uEvent
Behavior event parameter, decided by wMinorType
struInquestRet is the searched result of inquest event
byRoomIndex
Inquest room index, starts from 1
byDriveIndex
Recorder index, starts from 1
byRes1
Reserved, please set to 0
dwSegmentNo
The index of the segment in the inquest, starts from 1
wSegmetSize
The size of the segment, unit: M
wSegmentState
The state of the segment: 0- burning is normal, 1- burning is abnormal, 2- not burn the inquest
byRes2
Reserved, please set to 0
struStreamIDRet is the result searched by stream ID
dwRecordType
The video type: 0- scheduled recording, 1- motion detection, 2- semaphore (IO) alarm, 3- semaphore (IO) alarm or motion detection, 4- semaphore (IO) alarm and motion detection, 5- command trigger, 6- manual recording, 7- vibration alarm, 8- environment alarm, 9- intelligent alarm (including retrograde, transboundary, item lost, remnants, and so on), 10- tampering alarm
dwRecordLength
The size of the record file
byLockFlag
Locking flag: 0- unlocked, 1- locked
byDrawFrameType
Whether it is frame extract recording: 0- no, 1- yes
byFileName
The file name
byRes
Reserved, please set to 0

See Also

NET_DVR_TIME NET_VCA_EVENT_UNION


NET_DVR_SEARCH_EVENT_RET_V40

Structure of file information searched by event.

struct{
  WORD            wMajorType;
  WORD            wMinorType;
  NET_DVR_TIME    struStartTime;
  NET_DVR_TIME    struEndTime;
  WORD            wChan[MAX_CHANNUM_V40];
  BYTE            byRes[36];
  union{
           BYTE                  byLen[800];
           struct{
           DWORD                 dwAlarmInNo;
           BYTE                  byRes[796];
           }struAlarmRet;

           struct{
           DWORD                 dwMotDetNo;
           BYTE                  byRes[796];
           }struMotionRet;

           struct{
           DWORD                 dwChanNo;
           BYTE                  byRuleID;
           BYTE                  byRes1[3];
           BYTE                  byRuleName[NAME_LEN];
           NET_VCA_EVENT_UNION   uEvent;
           BYTE                  byRes[668];
           }struVcaRet;

           struct{
           BYTE                  byRoomIndex;
           BYTE                  byDriveIndex;
           BYTE                  byRes1[6];
           DWORD                 dwSegmentNo;
           WORD                  wSegmetSize;
           WORD                  wSegmentState;
           BYTE                  byRes2[784];
           }struInquestRet;

           struct{
           DWORD                 dwRecordType;
           DWORD                 dwRecordLength;
           BYTE                  byLockFlag;
           BYTE                  byDrawFrameType;
           BYTE                  byRes1[2];
           BYTE                  byFileName[NAME_LEN];
           DWORD                 dwFileIndex;
           BYTE                  byRes[752];
           }struStreamIDRet;

           struct{
           BYTE                  byRoomIndex;
           BYTE                  byDriveIndex;
           WORD                  wSegmetSize;
           DWORD                 dwSegmentNo;
           BYTE                  bySegmentState;
           BYTE                  byCaseType;
           BYTE                  byRes[2];
           BYTE                  byCaseNo[CASE_NO_RET_LEN];
           BYTE                  byCaseName[CASE_NAME_RET_LEN];
           BYTE                  byLitigant1[LITIGANT_RET_LEN];
           BYTE                  byLitigant2[LITIGANT_RET_LEN];
           BYTE                  byChiefJudge[CHIEF_JUDGE_RET_LEN];
           BYTE                  byRes1[600];
           }struTrialRet;

  }uSeniorRet;
}NET_DVR_SEARCH_EVENT_RET_V40,*LPNET_DVR_SEARCH_EVENT_RET_V40;

Members

wMajorType
Major type:
enum _MAIN_EVENT_TYPE_{
  EVENT_MOT_DET        = 0,
  EVENT_ALARM_IN       = 1,
  EVENT_VCA_BEHAVIOR   = 2,
  EVENT_INQUEST        = 3,
  EVENT_VCA_DETECTION  = 4,
  EVENT_TRIAL_CASE     = 6,
  EVENT_STREAM_INFO    = 100
}MAIN_EVENT_TYPE
EVENT_MOT_DET
Motion detection
EVENT_ALARM_IN
Input alarm
EVENT_VCA_BEHAVIOR
Behavior analysis
EVENT_INQUEST
Inquest event
EVENT_VCA_DETECTION
VCA detection
EVENT_TRIAL_CASE
Trial case information
EVENT_STREAM_INFO
Stream ID information
wMinorType
Minor search type, which will change according to major typ., 0xffff stands for all types. Motion detection, alarm input and PPOS recording has no minor type. Other minor types are defined as below：
Major type | Value | Definition
EVENT_VCA_BEHAVIOR | 2 | Behavior analysis
Minor type | Value | Definition
EVENT_TRAVERSE_PLANE | 0 | Line crossing
EVENT_ENTER_AREA | 1 | Entering the area,support regional rule
EVENT_EXIT_AREA | 2 | Leaving the area, support regional rule
EVENT_INTRUSION | 3 | Perimeter intrusion, support regional rule
EVENT_LOITER | 4 | Loitering, support regional rule
EVENT_LEFT_TAKE | 5 | Droping/picking up, support regional rule
EVENT_PARKING | 6 | Parking, support regional rule
EVENT_RUN | 7 | Running, support regional rule
EVENT_HIGH_DENSITY | 8 | People density in the area, support regional rule
EVENT_STICK_UP | 9 | Sticking a note, support regional rule
EVENT_INSTALL_SCANNER | 10 | Installing card reader, support regional rule
EVENT_OPERATE_OVER_TIME | 11 | Operation timeout
EVENT_FACE_DETECT | 12 | Abnormal face detection
EVENT_LEFT | 13 | Unattended baggage
EVENT_TAKE | 14 | Object removal
EVENT_LEAVE_POSITION | 15 | Absence event
EVENT_TRAIL_INFO | 16 | Tailing
EVENT_FALL_DOWN_INFO | 19 | Falling down
EVENT_OBJECT_PASTE | 20 | Sticking script area
EVENT_FACE_CAPTURE_INFO | 21 | Normal face
EVENT_MULTI_FACES_INFO | 22 | Multiple faces
EVENT_AUDIO_ABNORMAL_INFO | 23 | Sudden change of sound intensity

Major type | Value | Definition
EVENT_INQUEST | 3 | Inquest event
Minor type | Value | Definition
INQUEST_START_INFO | 0x1001 | Starting information of inquest
INQUEST_STOP_INFO | 0x1002 | Stopping information of inquest
INQUEST_TAG_INFO | 0x1003 | Emphasis marker
INQUEST_SEGMENT_INFO | 0x1004 | Segment status of inquest

Major type | Value | Definition
EVENT_VCA_DETECTION | 4 | VCA detection
Minor type | Value | Definition
EVENT_VCA_TRAVERSE_PLANE | 1 | Line crossing detection
EVENT_FIELD_DETECTION | 2 | Intrusion detection
EVENT_AUDIO_INPUT_ALARM | 3 | Audio loss detection
EVENT_SOUND_INTENSITY_ALARM | 4 | Sudden increase of sound increase/decrease detection
EVENT_FACE_DETECTION | 5 | Face detection
EVENT_VIRTUAL_FOCUS_ALARM | 6 | Defocus detection
EVENT_SCENE_CHANGE_ALARM | 7 | Scene change detection
EVENT_PIR_ALARM | 8 | PIR alarm
EVENT_ENTER_REGION | 9 | Region entrance
EVENT_EXIT_REGION | 10 | Region exiting
EVENT_LOITERING | 11 | Loitering
EVENT_GROUPDETECTION | 12 | People gathering in the area, support regional rule
EVENT_RAPIDMOVE | 13 | Fast moving
EVENT_PARK | 14 | Parking
EVENT_UNATTENDED_BAGGAGE | 15 | Unattended baggage
EVENT_ATTENDEDBAGGAGE | 16 | Object removal
EVENT_VEHICLE_DETECTION | 17 | Vehicle detection

Major type | Value | Definition
EVENT_STREAM_INFO | 100 | Stream ID information
Minor type | Value | Definition
EVENT_STREAM_ID | 0 | Stream ID
EVENT_TIMING | 1 | Timing record
EVENT_MOTION_DETECT | 2 | Motion detection
EVENT_ALARM | 3 | Alarm record
EVENT_ALARM_OR_MOTION_DETECT | 4 | Alarm or motion detection
EVENT_ALARM_AND_MOTION_DETECT | 5 | Alarm and motion detection
EVENT_COMMAND_TRIGGER | 6 | Command triggering
EVENT_MANNUAL | 7 | Manual record
EVENT_BACKUP_VOLUME | 8 | Storage volume record
STREAM_EVENT_SEMAPHORE | 9 | Sensor alarm
STREAM_EVENT_HIDE | 10 | Video tempering
STREAM_EVENT_INVERSE | 11 | Driving in opposite direction
STREAM_EVENT_VIDEO_LOST | 12 | Video loss
STREAM_EVENT_WIRELESS_ALARM | 13 | Wirless alarm
STREAM_EVENT_PIR_ALARM | 14 | PIR alarm
STREAM_EVENT_CALLHELP_ALARM | 15 | Call for help alarm
STREAM_EVENT_FACESNAP | 16 | Face capture
STREAM_EVENT_FACE_DETECTION | 17 | Face detection
STREAM_EVENT_ITS_PLATE | 18 | Vehicle detection
STREAM_EVENT_PDC | 19 | People counting
STREAM_EVENT_SCENECHANGE_DETECTION | 20 | Scene change
STREAM_EVENT_DEFOCUS_DETECTION | 21 | Defocus detection
STREAM_EVENT_AUDIOEXCEPTION | 22 | Audio exception
VCA_EVENT_TRAVERSE_PLANE | 23 | Line crossing
VCA_EVENT_INTRUSION | 24 | Intrusion
VCA_EVENT_ENTER_AREA | 25 | Region entrance
VCA_EVENT_EXIT_AREA | 26 | Region exiting
VCA_EVENT_LOITER | 27 | Loitering detection
VCA_EVENT_HIGH_DENSITY | 28 | People gathering
VCA_EVENT_RUN | 29 | Fast moving
VCA_EVENT_PARKING | 30 | Illegal parking
VCA_EVENT_LEFT, | 31 | Unattended baggage
VCA_EVENT_TAKE | 32 | Objet removal

Major type | Value | Definition
EVENT_TRIAL_CASE | 5 | Inquest information
Minor type | Value | Definition
TRIAL_START_INFO | 0x1001 | Starting information of inquest
TRIAL_STOP_INFO | 0x1002 | Stopping information of inquest
TRIAL_TAG_INFO | 0x1003 | Emphasis marker of inquest
TRIAL_SEGMENT_INFO | 0x1004 | Segment status of inquest
TRIAL_JUDGE_CASE_INFO | 0x1005 | Inquest case information
struStartTime
Starting time of the event
struEndTime
Stopping time of the event; Starting time and stopping time of a pulse event are the same
wChan
The channel that triggered the event. 0xffff means trailings are invalid.
byRes
Reserved, please set to 0
uSeniorRet Result of event searching union
byLen
Union length, 800 byte
struAlarmRet Result of sensor alarm
dwAlarmInNo
Alarm input number
byRes
Reserved
struMotionRet Result of motion detection
dwMotDetNo
The motion detection channel
byRes
Reserved, please set to 0
struVcaRet Result of behavior analysis
dwChanNo
The Event triggering channel
byRuleID
Rule ID，0xff means all rules
byRes1
Reserved, please set to 0
byRuleName
Rule name
uEvent
Behavior event parameter, decided by wMinorType
byRes
Reserved, please set to 0
struInquestRet Result of inquest event
byRoomIndex
Inquest room indext, starts from 1
byDriveIndex
Recorder index, starts from 1
byRes1
Reserved, please set to 0
dwSegmentNo
The index of the segment in the inquest, starts from 1
wSegmetSize
The size of the segment, unit: M
wSegmentState
The status of the segment: 0- burning is normal, 1- burning is abnormal, 2- not burn the inquest
byRes2
Reserved, please set to 0
struStreamIDRet Result of searching for stream ID video
dwRecordType
The video type: 0- scheduled recording, 1- motion detection, 2- semaphore (IO) alarm, 3- semaphore (IO) alarm or motion detection, 4- semaphore (IO) alarm and motion detection, 5- command triggering, 6- manual recording, 7- vibration alarm, 8- environment alarm, 9- intelligent alarm (including driving in the opposite direction, line crossing, unattended baggage, object removal and so on), 10- tampering alarm
dwRecordLength
The size of the record file
byLockFlag
Locking flag: 0- unlocked, 1- locked
byDrawFrameType
Frame extract recording or not: 0- no, 1- yes
byRes1
Reserved, please set to 0
byFileName
The file name
dwFileIndex
The file index in the storage volume
byRes
Reserved, please set to 0
struTrialRet Result of searching for inquest information
byRoomIndex
The inquest room number, starts from 1
byDriveIndex
The recorder number, starts from 1
wSegmetSize
The segment size, unit: M
dwSegmentNo
The number of the segment in the inquest, starts from 1
bySegmentState
The status of the segment: 0- burning is normal, 1- burning is abnormal, 2- not burn the inquest
byCaseType
Case type：0- all，1- criminal case，2- civil case
byRes
Reserved, please set to 0
byCaseNo
Case number
byCaseName
Case name
byLitigant1
Litigant 1
byLitigant2
Litigant 2
byChiefJudge
Chief judge
byRes1
Reserved, please set to 0

See Also

NET_DVR_FindNextEvent_V40


NET_DVR_SECURITY_CFG

Structure of security authentication configuration

struct{
  DWORD    dwSize;
  BYTE     bySecurityLevel;
  BYTE     byCommadCheckLevel;
  BYTE     byLoginLevel;
  BYTE     byWebAuthentication;
  BYTE     byRtspAuthentication;
  BYTE     byTelnetServer;
  BYTE     bySSHServer;
  BYTE     byRes[29];
}NET_DVR_SECURITY_CFG,*LPNET_DVR_SECURITY_CFG;

Members

dwSize
Structure size
bySecurityLevel
Security level：0- close;1-open, 2- customized
byCommadCheckLevel
Single signal authentication: 0- disable, 1- enable
byLoginLevel
Login level: 0- un-limited, 1- high security authentication login is permitted (MD5).
byWebAuthentication
web authentication:0- Digest，1- basic(default)
byRtspAuthentication
rtsp authentication: 0- forbidden，1-basic(default)
byTelnetServer
telnet: 0- forbidden, 1- enabled
bySSHServer
SSH: 0- forbidden (default), 1- enabled
byRes
Reserved, set it to 0

Remarks

Only Administrator is permitted to do the security authentication configuration.

  • Security level close:
    Do not mandate the single signaling command authentication, use SDK supports a single signal calibration certificate to determine whether to use a single command interaction process check authentication automatically; if the SDK does not support then the device does not check; Otherwise, the SDK support equipment calibration. MD5 and DES, analog encryption can be login the devices. Web authentication level is low.
  • Security level open:
    Single command authentication is mandatory required, login will be failed if the SDK does not support , the SDK version must be upgrade. Login authentication only use the MD5. DES and weak safety level login way cannot login the devices. When the Security level open, password length must be greater than or equal to 8 bits, and password needs to be numeric characters of special symbols, the user name password cannot be the same. Then web authentication is upgrade.
  • Security level user-defined:
    In this mode, byCheckSingleCommad、byLoginLevel and byWebLevel are valid.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SECURITY_QUESTION_CFG

Device security question configuration structure

struct{
  DWORD                                   dwSize;
  NET_DVR_SINGLE_SECURITY_QUESTION_CFG    struSecurityQuestion[NET_SDK_MAX_QUESTION_LIST_LEN];
  char                                    sLoginPassWord[NET_SDK_MAX_LOGIN_PASSWORD_LEN];
  BYTE                                    byRes[512];
}NET_DVR_SECURITY_QUESTION_CFG, *LPNET_DVR_SECURITY_QUESTION_CFG;

Members

dwSize
Structure size
struSecurityQuestion
Security question list, each number array means a security question
sLoginPassWord
admin user login password
byRes
Reserved, set as 0

Remarks

  • Whether the device supports security question other supported parameter capability, can be determined through device security capability (SecurityCap), API: NET_DVR_STDXMLConfig,command for getting capability set: GET /ISAPI/Security/capabilities, node: <isSupportSecurityQuestionConfig> and <SecurityLimits>.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_SENSOR_ADJUSTMENT

Sensor parameter structure

struct{
  DWORD    dwSize;
  BYTE     byType;
  BYTE     bySensorNo;
  BYTE     byRes[2];
  int      iAdjustMentRange;
  BYTE     byR;
  BYTE     byG;
  BYTE     byB;
  BYTE     byRes1[125];
}NET_DVR_SENSOR_ADJUSTMENT, *LPNET_DVR_SENSOR_ADJUSTMENT;

Members

dwSize
Structure size
byType
Adjustment mode: 0- tilt, 1- pan, 2- rotate, 3- angle of view, 4- RGB adjustment
bySensorNo
Sensor No., range: 1 to 8
byRes
Reserved, set as 0
iAdjustMentRange
Tilt and pan range: -100 to 100, rotate range: -30 to 30, angle of view range: -10 to 10
byR
RGB parameter, R (red), range: 0 to 25, valid when byType is 4
byG
RGB parameter, G (green), range: 0 to 25, valid when byType is 4
byB
RGB parameter, B (blue), range: 0 to 25, valid when byType is 4
byRes1
Reserved, set as 0

Remarks

  • Negative value for tilting up, and positive value for tilting down, opposite for panoramic camera;
    Negative value for panning right, positive value for panning left;
    Negative value for rotating clockwise, positive value for anti-clockwise;
    Negative value for broadening angle of view, positive value for narrowing;
    The setting will be successful when the difference between any of the RGB values is over 5.
  • Whether the device supports sensor parameter adjustment capability can be determined through device sensor adjustment capability set (SensorCap), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_SENSOR_ADJUSTMENT_CAPABILITIES.

See Also

NET_DVR_STDControl


NET_DVR_SENSOR_ADJUSTMENT_INFO

Sensor adjustment information structure

struct{
  DWORD    dwSize;
  int      iPan;
  int      iTilt;
  int      iRotation;
  int      iFieldAngle;
  BYTE     byRes[128];
}NET_DVR_SENSOR_ADJUSTMENT_INFO, *LPNET_DVR_SENSOR_ADJUSTMENT_INFO;

Members

dwSize
Structure size
iPan
Pan value
iTilt
Tilt value
iRotation
Rotation angle
iFieldAngle
Angle of view
byRes
Reserved, set as 0

Remarks

  • Negative value for tilting up, and positive value for tilting down, opposite for panoramic camera;
    Negative value for panning right, positive value for panning left;
    Negative value for rotating clockwise, positive value for anti-clockwise;
    Negative value for broadening angle of view, positive value for narrowing;
  • Whether the device supports sensor adjustment can be determined through device sensor adjustment capability set (SensorCap), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_SENSOR_ADJUSTMENT_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig


NET_DVR_SENSOR_ALARM

Structure of uploaded analog data.

struct{
  DWORD               dwSize;
  DWORD               dwAbsTime;
  BYTE                byName[NAME_LEN];
  BYTE                bySensorChannel;
  BYTE                byType;
  BYTE                byAlarmType;
  BYTE                byAlarmMode;
  float               fValue;
  BYTE                byRes2[32];
}NET_DVR_SENSOR_ALARM, *LPNET_DVR_SENSOR_ALARM;

Members

dwSize
Structure size
dwAbsTime
Absolute time, OSD display information
byName
Sensor name
bySensorChannel
Analog channel
byType
Analog type, defined as follows:
enum _SENSOR_TYPE_{
  SENSOR_TYPE_NONE           = 0,
  SENSOR_TYPE_TEMPERATURE    = 1,
  SENSOR_TYPE_HUMIDITY,
  SENSOR_TYPE_WINDSPEED,
  SENSOR_TYPE_GAS,
  SENSOR_TYPE_UNKNOW         = 255
}SENSOR_TYPE
SENSOR_TYPE_NONE
none
SENSOR_TYPE_TEMPERATURE
Temperature
SENSOR_TYPE_HUMIDITY
Humidity
SENSOR_TYPE_WINDSPEED
Wind speed
SENSOR_TYPE_GAS
Gas
SENSOR_TYPE_UNKNOW
Undefined
byAlarmType
Alarm type
byAlarmMode
Alarm mode, five kinds: 15-HHHH, 14-HHHL, 12-HHLL, 8-HLLL, 0-LLLL, that is:
1111- UP UP UP UP
1110- UP UP UP DOWN
1100- UP UP DOWN DOWN
1000- UP DOWN DOWN DOWN
0000- DOWN DOWN DOWN DOWN
fValue
Current analog value
byRes2
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_SENSOR_INFO

Structure of sensor parameter.

struct{
  DWORD               dwSize;
  BYTE                byName[MAX_NAMELEN];
  BYTE                byEnable;
  BYTE                byValid;
  BYTE                byType;
  BYTE                byAlarmMode;
  float               fMeasureHigh;
  float               fMeasureLow;
  float               fAlarm1;
  float               fAlarm2;
  float               fAlarm3;
  float               fAlarm4;
  DWORD               dwOsdCfg;
  float               fSensitive;
  BYTE                byRes3[116];
}NET_DVR_SENSOR_INFO, *LPNET_DVR_SENSOR_INFO;

Members

dwSize
Structure size
byName
Sensor name
byEnable
Enable or not
byValid
Valid or not, sensor is normal or abnormal(read-only)
byType
Analog type, defined as follows:
enum _SENSOR_TYPE_{
  SENSOR_TYPE_NONE           = 0,
  SENSOR_TYPE_TEMPERATURE    = 1,
  SENSOR_TYPE_HUMIDITY,
  SENSOR_TYPE_WINDSPEED,
  SENSOR_TYPE_GAS,
  SENSOR_TYPE_UNKNOW         = 255
}SENSOR_TYPE
SENSOR_TYPE_NONE
none
SENSOR_TYPE_TEMPERATURE
Temperature
SENSOR_TYPE_HUMIDITY
Humidity
SENSOR_TYPE_WINDSPEED
Wind speed
SENSOR_TYPE_GAS
Gas
SENSOR_TYPE_UNKNOW
Undefined
byAlarmMode
Alarm mode, five kinds: 15-HHHH, 14-HHHL, 12-HHLL, 8-HLLL, 0-LLLL, that is:
1111- UP UP UP UP
1110- UP UP UP DOWN
1100- UP UP DOWN DOWN
1000- UP DOWN DOWN DOWN
0000- DOWN DOWN DOWN DOWN
fMeasureHigh
Upper limit of measuring range
fMeasureLow
Lower limit of measuring range
fAlarm1
Alarm limit 1
fAlarm2
Alarm limit 2
fAlarm3
Alarm limit 3
fAlarm4
Alarm limit 4, limit 1-4 increases in turn
dwOsdCfg
Analog OSD, indicated by bit, 0-15 corresponds to video channel 1-16
fSensitive
Sensitivity
byRes3
Reserved

Remarks

When the change of real-time value exceeds the sensitivity range, it menas real-time value has changed, otherwise, there is no change. E.g. When sensitivity is 0.1, if the difference between the two values got before and after is larger than 0.1, it means data has changed and requires to upload it; When sensitivity is 1, it means it will upload the value if the change is more than 1.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SENSOR_INFO_UPLOAD

Structure for uploading sensor information

struct{
  DWORD               dwSize;
  NET_DVR_TIME_V30    struTime;
  char                szSensorName[MAX_SENSORNAME_LEN];
  char                szSensorChan[MAX_SENSORNAME_LEN];
  BYTE                byReboot;
  BYTE                byPowerSupply;
  BYTE                byStatusType;
  BYTE                bySensorType;
  float               fVoltageValue;
  float               fCurrentValue;
  float               fActualValue;
  char                szDescription[MAX_DESCRIPTION_LEN];
  BYTE                byRes1[128];
}NET_DVR_SENSOR_INFO_UPLOAD,*LPNET_DVR_SENSOR_INFO_UPLOAD;

Members

dwSize
Structure Size
strustruTime
Uploaded Time
szSensorName
Sensor Name
szSensorChan
Sensor Channel Name
byReboot
Restarted before or not(generally, the first data will be marked with this tag after restarted): 0- Unrestart，1- Restarted
byPowerSupply
In normal power supply or not: 0- Not in normal power supply，1- In power supply
byStatusType
Device Status：0- Normal，1- Exception，2- Alarm
bySensorType
Sensor Type, see detailed definition below:
enum _SENSOR_TYPE_{
  SENSOR_TYPE_NONE           = 0,
  SENSOR_TYPE_TEMPERATURE    = 1,
  SENSOR_TYPE_HUMIDITY,
  SENSOR_TYPE_WINDSPEED,
  SENSOR_TYPE_GAS,
  SENSOR_AC_VOLTAGE,
  SENSOR_AC_CURRENT,
  SENSOR_DC_VOLTAGE,
  SENSOR_DC_CURRENT,
  SENSOR_WATER_PRESSURE,
  SENSOR_PRESSURE_TRANSMITTER,
  SENSOR_FLOW_TRANSMITTER,
  SENSOR_WATER_LEAKAGE,
  SENSOR_INTERGRATED_TEMPERATURE_DETECTOR,
  SENSOR_ISOLATION_TEMPERATURE_DETECTOR,
  SENSOR_RESIDUAL_CHLORINE,
  SENSOR_TYPE_AC_TERMINAL  = 16,
  SENSOR_TYPE_AC_SOCKET    = 17,
  SENSOR_TYPE_UNKNOW       = 255
}SENSOR_TYPE
SENSOR_TYPE_NONE
None
SENSOR_TYPE_TEMPERATURE
Temperature
SENSOR_TYPE_HUMIDITY
Humidity
SENSOR_TYPE_WINDSPEED
Wind Speed
SENSOR_TYPE_GAS
Gas
SENSOR_AC_VOLTAGE
ACV
SENSOR_AC_CURRENT
AC
SENSOR_DC_VOLTAGE
DCV
SENSOR_DC_CURRENT
DC
SENSOR_WATER_PRESSURE
Water Pressure
SENSOR_PRESSURE_TRANSMITTER
Pressure Transmitter
SENSOR_FLOW_TRANSMITTER
Flow Transmitter
SENSOR_WATER_LEAKAGE
Water Leakage
SENSOR_INTERGRATED_TEMPERATURE_DETECTOR
Integrated Temperature Detector
SENSOR_ISOLATION_TEMPERATURE_DETECTOR
Isolation Temperature Detector
SENSOR_RESIDUAL_CHLORINE
Online Residual Chlorine Instrument
SENSOR_TYPE_AC_TERMINAL
AC Terminal
SENSOR_TYPE_AC_SOCKET
AC Socket
SENSOR_TYPE_UNKNOW
Undefined
fVoltageValue
Voltage value,corrects to 0.001
fCurrentValue
Current value, corrects to 0.001
fActualValue
The value transformed from analog signal, corrects to 0.001
szDescription
Description information, it takes effect when the device status（byStatusType）is not 0
byRes1
Reserved, set as 0

Remarks

  • The sensor capability set supported by device(SensorPortList)，API：NET_DVR_GetSTDAbility(Capability set type：NET_DVR_GET_SENSOR_PORT_CAPABILITIES)。

    • See Also

    NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_SENSOR_PARAM

Sensor Parameters Structure

struct{
  BYTE     bySensorType;
  BYTE     byRes[3];
  float    fHorWidth;
  float    fVerWidth;
  float    fFold;
}NET_DVR_SENSOR_PARAM,*LPNET_DVR_SENSOR_PARAM;

Members

bySensorType
Sensor Type: 0- CCD, 1- CMOS
byRes
Reserved; Set to 0
fHorWidth
Horizontal Width is accurate to 2 digits after the decimal point. Unit: mm
fVerWidth
Vertical Width is accurate to 2 digits after the decimal point. Unit: mm
fFold
When Zoom=1, the focal length is not zoomed. The focal length is accurate to 2 digits after the decimal point.

See Also

NET_DVR_GIS_UPLOADINFO NET_DVR_GIS_INFO


NET_DVR_SENSOR_RESET

Sensor reset parameter structure

struct{
  DWORD    dwSize;
  BYTE     bySensorNo;
  BYTE     byRes[127];
}NET_DVR_SENSOR_RESET, *LPNET_DVR_SENSOR_RESET;

Members

dwSize
Structure size
bySensorNo
Sensor No., range: 0 to 8, 0 means to clear all, 1 to 8 means to clear single
byRes
Reserved, set as 0

Remarks

  • Whether device supports sensor reset capability can be determined through device sensor adjustment capability set (SensorCap), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_SENSOR_ADJUSTMENT_CAPABILITIES.

See Also

NET_DVR_STDControl


NET_DVR_SENSOR_SWITCH_COND

Sensor Control Parameters Structure

struct{
  DWORD    dwSize;
  BYTE     byDeviceType;
  BYTE     byDeviceID;
  BYTE     bySwitch;
  BYTE     byRes[125];
}NET_DVR_SENSOR_SWITCH_COND, *LPNET_DVR_SENSOR_SWITCH_COND;

Members

dwSize
Structure size
byDeviceType
Device type:0- Unknown, 1- Power supply terminal，3- Power supply socket
byDeviceID
Device ID, Terminal(Power supply terminal) range"1~4, Socket(Power supply socket)range: 1~2
bySwitch
Switch control:0-Power off, 1- Power on, 2- Rebooting
byRes
Reserved

See Also

NET_DVR_STDControl


NET_DVR_SERIAL_CATCHPIC_PARA

Serial port capture parameter structure

struct{
  BYTE      byStrFlag;
  BYTE      byEndFlag;
  WORD      wCardIdx;
  DWORD     dwCardLen;
  DWORD     dwTriggerPicChans;
}NET_DVR_SERIAL_CATCHPIC_PARA, *LPNET_DVR_SERIAL_CATCHPIC_PARA;

Members

byStrFlag
Serial port data start flag
byEndFlag
Serial port data finish flag
wCardIdx
card number to the relative starting position
dwCardLen
Card number length
dwTriggerPicChans
Trigger channel number, by bytes, begin with the first byte, 0x2 means the first channel


NET_DVR_SERIAL_CONTROL

Structure of serial port information

struct{
  DWORD    dwSize;
  BYTE     bySerialNum;
  BYTE     byRes1[3];
  BYTE     bySerial[32];
  BYTE     byRes2[32];
}NET_DVR_SERIAL_CONTROL,*LPNET_DVR_SERIAL_CONTROL;

Members

dwSize
Structure size
bySerialNum
The count of serial port
byRes1
Reserved, please set to 0
bySerial
The valid serial port, the previous bySerialNum bytes of array bySerial[32] are valid.
bySerial[0]=1 means COM1 is valid
byRes2
Reserved, please set to 0

See Also

NET_DVR_PicUpload NET_DVR_GetDVRConfig


NET_DVR_SERVER_TEST_PARA

the structure of server testing parameters

struct{
  DWORD    dwSize;
  union{
         BYTE                byRes[740];

         struct{
             NET_DVR_NTPPARA                    struNtpPara;
             BYTE                               byRes1[660];
         }struNtpPara;

         struct{
             NET_DVR_SINGLE_NET_DISK_INFO_V40   struNasPara;
             BYTE                               byRes1[260];
         }struNasPara;

         struct{
             NET_DVR_FTP_SERVER_TEST_PARA       struFtpPara;
             BYTE                               byRes1[212];
         }struFtpPara;

         struct{
             NET_DVR_EMAILCFG_V30               struEmailPara;
             BYTE                               byRes1[80];
         }struEmailPara;

         struct{
             NET_DVR_IPADDR                     struIp;
             BYTE                               byRes1[716];
         }struIpPara;

  }unionServerPara;
  BYTE     byRes[800];
}NET_DVR_SERVER_TEST_PARA,*LPNET_DVR_EMAILCFG_V30;

Members

dwSize
the size of structure
unionServerPara, union of server testing parameters
byRes
length of union, 740 bytes
struNtpPara,testing parameters of NTP server
struNtpPara
parameters of NTP
byRes1
reserved
struNasPara, testing parameters of NAS server
struNasPara
parameters of NAS
byRes1
reserved
struFtpPara, testing parameters of FTP server
struFtpPara
parameters of FTP
byRes1
reserved
struEmailPara,testing parameters of email server
struEmailPara
the parameters of EMAIL
byRes1
reserved
struIpPara, the parameters of IP testing
struIp
IP address
byRes1
reserved
byRes
reserved, set to 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_SETUP_CALIB_COND

People counting camera calibration verification condition parameter structure

struct{
  DWORD              dwSize;
  BYTE               byCalibrateType;
  BYTE               byRes1[3];
  float              fTiltAngle;
  float              fHeelAngle;
  float              fHeight;
  NET_VCA_POLYGON    struAutoCalibPolygon;
  BYTE               byRes[128];
}NET_DVR_SETUP_CALIB_COND,*LPNET_DVR_SETUP_CALIB_COND;

Members

dwSize
Structure size
byCalibrateType
Calibration type: 0- not calibrated, 1- auto, 2- manual
byRes1
Reserved, set as 0
fTiltAngle
Tilt angle, unit: degree, default: 0, range: 0 to 180, valid when byCalibrateType=2
fHeelAngle
Heel angle, unit: degree, default: 0, range: -90 to 90, valid when byCalibrateType=2
fHeight
Height, unit:cm, default: 300, range: 200 to 500, valid when byCalibrateType=2
struAutoCalibPolygon
Auto calibration area, valid when byCalibrateType=1
byRes
Reserved, set as 0

Remarks

  • Whether the device supports calibration verification or the supported parameters, can be determined through device capability set, related smart channel analysis capability set (VcaChanAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <isSupportCalibrate> and <CountingCalibrate>of <PDC>.

See Also

NET_DVR_GetSTDConfig


NET_DVR_SETUP_CALIB_RESULT

People counting camera calibration verification result parameter structure

struct{
  DWORD                          dwSize;
  BYTE                           byCalibrateType;
  BYTE                           byRes1[3];
  float                          fTiltAngle;
  float                          fHeelAngle;
  float                          fHeight;
  NET_VCA_POLYGON                struCountPolygon;
  NET_DVR_PDC_ENTER_DIRECTION    struEnterDirection;
  NET_VCA_LINE                   struLine;
  BYTE                           byRes[128];
}NET_DVR_SETUP_CALIB_RESULT,*LPNET_DVR_SETUP_CALIB_RESULT;

Members

dwSize
Structure size
byCalibrateType
Calibration type: 0- not calibrated, 1- auto, 2- manual
byRes1
Reserved, set as 0
fTiltAngle
Tilt angle, unit: degree, default: 0, range: 0 to 180, valid when byCalibrateType=2
fHeelAngle
Heel angle, unit: degree, default: 0, range: -90 to 90, valid when byCalibrateType=2
fHeight
Height, unit:cm, default: 3000, range: 200 to 500, valid when byCalibrateType=2
struCountPolygon
Counting area
struEnterDirection
Flow entrance direction
struLine
Detection line
byRes
Reserved, set as 0

Remarks

  • Whether the device supports calibration verification or the supported parameters, can be determined through device capability set, related smart channel analysis capability set (VcaChanAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <isSupportCalibrate> and <CountingCalibrate>of <PDC>.

See Also

NET_DVR_GetSTDConfig


NET_DVR_SETUPALARM_PARAM

Structure of alarm arming parameter

struct{
  DWORD    dwSize;
  BYTE     byLevel;
  BYTE     byAlarmInfoType;
  BYTE     byRetAlarmTypeV40;
  BYTE     byRetDevInfoVersion;
  BYTE     byRetVQDAlarmType;
  BYTE     byFaceAlarmDetection;
  BYTE     bySupport;
  BYTE     byBrokenNetHttp;
  WORD     wTaskNo;
  BYTE     byRes1[6];
}NET_DVR_SETUPALARM_PARAM, *LPNET_DVR_SETUPALARM_PARAM;

Members

dwSize
Structure size
byLevel
Arming priority: 0- level one (high), 1- level two (medium), 2- level three (low)
byAlarmInfoType
ITS alarm upload information type: 0- past alarm information (NET_DVR_PLATE_RESULT),1- new alarm information (NET_ITS_PLATE_RESULT)
byRetAlarmTypeV40
0- alarm information including motion detection, video loss, tampering and I/O input is uploaded in normal mode (NET_DVR_ALARMINFO_V30), 1- alarm information is uploaded in variable length (NET_DVR_ALARMINFO_V40, if not supported by device, normal mode wll be applied)
byRetDevInfoVersion
CVR upload alarm information callback structure version: 0- COMM_ALARM_DEVICE, 1- COMM_ALARM_DEVICE_V40
byRetVQDAlarmType
VQD alarm upload type: 0- upload VQD diagnosis information (NET_DVR_VQD_DIAGNOSE_INFO), 1- VQD diagnosis exception information (NET_DVR_VQD_ALARM)
byFaceAlarmDetection
Face detection alarm information type: 1- face detection alarm extension (NET_DVR_FACE_DETECTION), 0- formerly supported structure (NET_VCA_FACESNAP_RESULT)
bySupport
Indicate by bit, each bit means different capability
bit0- indicate whether level 2 arming uploads picture, value: 0- upload, 1- do not upload
Bit1- indicate whether to enable ANR data confirm mode, value: 0- disable, 1- enable
byBrokenNetHttp
ANR type (currently device only supports one ANR connection), by bit, value: 0- disable, 1- enable
bit0- LPR (IPC)
bit1- people counting
bit2- heat map statistics
E.g. byBrokenNetHttp&0x1==0 indicates ANR is not enabled for LPR result
wTaskNo
Task processing No.
byRes1
Reserved, set as 0

Remarks

  • byLevel and byAlarmInfoType apply to ITS device (capture camera): number of max connections for level 1 arming is 1, level 2 is 3, level 3 is 5, device supports simultaneous level 1, 2 and 3 arming, level 1 arming uploads information with priority; whether byAlarmInfoType supports new alarm information can be determined through returned capability from registration, for details see bySupport1 (whether to support new plate alarm information) of NET_DVR_DEVICEINFO_V30, if not supported by returned capability from registration, the device only supports past alarm information upload.
  • byRetVQDAlarmType applies to device with VQD diagnosis function.
  • wTaskNo applies to device of vehicle double-checking, and is used for distinguishing different arming links, current upload mode:
    1) If wTaskNo=0, all results need to be uploaded through this link.
    2) If the value of wTaskNo in 2 arming links is same (except 0), return arming link error.
    3) After arming link is set, client sends task No. wTaskNo, which corresponds to wTaskNo in vehicle double-check and upload results, e.g., wTaskNo==1 in arming link, wTaskNo==1 in task A, wTaskNo==1 in result information callback (the information can only be called back in the link of wTaskNo == 1 in arming).

See Also

NET_DVR_SetupAlarmChan_V41


NET_DVR_SEXGROUP_PARAM

Gender people counting structure

struct{
  DWORD    dwMale;
  DWORD    dwFemale;
  BYTE     byRes[64];
 }NET_DVR_SEXGROUP_PARAM,*LPNET_DVR_SEXGROUP_PARAM;

Members

dwMale
People counting for male
dwFemale
People counting for female
byRes
Reserved, set as 0.

See Also

NET_DVR_FACECAPTURE_STATISTICS_RESULT


NET_DVR_SHELTER

Privacy Mask Area

struct{
  WORD    wHideAreaTopLeftX;
  WORD    wHideAreaTopLeftY;
  WORD    wHideAreaWidth;
  WORD    wHideAreaHeight;
}NET_DVR_SHELTER, *LPNET_DVR_SHELTER;

Members

wHideAreaTopLeftX
Top Left X axis position of privacy mask area
wHideAreaTopLeftY
Top Left Y axis position of privacy mask area
wHideAreaWidth
width of privacy mask area
wHideAreaHeight
height of privacy mask area

Remarks

SDK set the whole image region size to 704*576, the axis of the privacy region and width, height in the structure should change to adapt the 704*576 region.

See Also

NET_DVR_PICCFG_V40 NET_DVR_PICCFG_V30


NET_DVR_SHIPSDETECTION_ALARM

Ship detection alarm information structure

struct{
  DWORD                dwSize;
  NET_VCA_DEV_INFO     struDevInfo;
  DWORD                dwRelativeTime;
  DWORD                dwAbsTime;
  BYTE                 byShipsNum;
  BYTE                 byShipsNumHead;
  BYTE                 byShipsNumEnd;
  BYTE                 byRes1;
  NET_DVR_SHIPSINFO    struShipInfo[MAX_SHIPS_NUM];
  DWORD               dwPicLen;
  DWORD               dwThermalPicLen;
  char                *pPicBuffer;
  char                *pThermalPicBuffer;
  WORD                wDevInfoIvmsChannelEx;
  BYTE                byRes[254];
}NET_DVR_SHIPSDETECTION_ALARM, *LPNET_DVR_SHIPSDETECTION_ALARM;

Members

dwSize
Structure大小
struDevInfo
Alarm device information, including IP, port, channel No.
dwRelativeTime
Relative time mark
dwAbsTime
Absolute time mark
byShipsNum
Number of ships crossing detection line
byShipsNumHead
Number of nose detection ships
byShipsNumEnd
Number of tail detection ships
byRes1
Reserved
struShipInfo
Ship information, each number array means a ship, up to 20 ships are supported
dwPicLen
Length of visible light picture
dwThermalPicLen
Length of thermal imaging picture
pPicBuff
Pointer to visible light picture, saving visible light picture data, JPEG format
pThermalPicBuff
Pointer to thermal imaging picture, saving thermal imaging picture data, JPEG format
wDevInfoIvmsChannelEx
Same description with byIvmsChannel of NET_VCA_DEV_INFO, can be used to indicate greater value. For older version of client, byIvmsChannel is still compatible, but the maximum value is 255. For later version of client, use wDevInfoIvmsChannelEx
byRes
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_SHIPSDETECTION_CFG

Ship detection settings structure

struct{
  DWORD                                dwSize;
  BYTE                                 byEnable;
  BYTE                                 byRes1[3];
  float                                fLookDownUpAngle;
  float                                fHorizontalHeight;
  NET_DVR_SHIPSDETECTION_REGION_CFG    struShipsDetectionRegion[MAX_SHIPSDETE_REGION_NUM];
  BYTE                                 byRes[256];
}NET_DVR_SHIPSDETECTION_CFG,*LPNET_DVR_SHIPSDETECTION_CFG;

Members

dwSize
Structure size
byEnable
Enable ship detection? 0-No, 1-Yes
byRes1
Reserved, set as 0.
fLookDownUpAngle
Device angle of pitch， accurate to one decimal place
fHorizontalHeight
Device horizontal high，accurate to one decimal place
struShipsDetectionRegion
Ship detection region, each array indicats on region, max. 8 regions.
byRes
Reserved, set as 0.

Remarks

  • Check whether the device supports the function of ship detection settings via the device capability set. (ShipsDetectionCap)，API：NET_DVR_GetSTDAbility，Capability Set：NET_DVR_GET_SHIPSDETECTION_CAPABILITIES，Node：<ShipsDetection>。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_SHIPSINFO

Ship information structure

struct{
  float    fShipsLength;
  float    fShipsHeight;;
  float    fShipsWidth;
  float    fShipsSpeed;
  BYTE     byShipsDirection;
  BYTE     byShipsDetState;
  BYTE     byRes[62];
}NET_DVR_SHIPSINFO,*LPNET_DVR_SHIPSINFO;

Members

fShipsLength
Ship length, value range: 1 to 1000.0, unit: m, accurate to first decimal place
fShipsHeight;
Ship height, value range: 1 to 1000.0, unit: m, accurate to first decimal place
fShipsWidth
Ship width, value range: 1 to 1000.0, unit: m, accurate to first decimal place
fShipsSpeed
Ship speed, value range: 1 to 1000.0, unit: m/s, accurate to first decimal place
byShipsDirection
Ship direction: 0- up, 1- down, 2- left, 3- right
byShipsDetState
Ship detection status: 0- crossing detection line, 1- ship nose detection, 2- ship tail detection
byRes
Reserved, set as 0

See Also

NET_DVR_SHIPSDETECTION_ALARM


NET_DVR_SHOWSTRING

Text Overlay Parameter Structure

struct{
  DWORD                      dwSize;
  NET_DVR_SHOWSTRINGINFO     struStringInfo[MAX_STRINGNUM];
}NET_DVR_SHOWSTRING,*LPNET_DVR_SHOWSTRING;

Members

dwSize
Structure size
struStringInfo
Overlay content. Please refer to NET_DVR_SHOWSTRINGINFO

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_SHOWSTRINGINFO


NET_DVR_SHOWSTRING_V30

Text Overlay

struct{
  DWORD                      dwSize;
  NET_DVR_SHOWSTRINGINFO     struStringInfo[MAX_STRINGNUM_V30];
}NET_DVR_SHOWSTRING_V30,*LPNET_DVR_SHOWSTRING_V30;

Members

dwSize
Structure size
struStringInfo
Text overlay content

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SHOWSTRINGINFO

Text Overlay Sub Structure

struct{
  WORD       wShowString;
  WORD       wStringSize;
  WORD       wShowStringTopLeftX;
  WORD       wShowStringTopLeftY;
  char       sString[44];
}NET_DVR_SHOWSTRINGINFO,*LPNET_DVR_SHOWSTRINGINFO;

Members

wShowString
enable text overlay on preview image: 0-disable; 1-enable. The display area ranges totally 704*576 , with single character size as 32*32
wStringSize
text length, no more than 44 text character
wShowStringTopLeftX
top left X axis position for text overlay
wShowStringTopLeftY
top left Y axis position for text overlay
sString
overlay text content


NET_DVR_SIGNAL_SYNCCFG

structure of sync signal configuration

struct{
  DWORD       dwSize;
  WORD        wPhase;
  BYTE        byLineLock;
  BYTE        byRes[125];
}NET_DVR_SIGNAL_SYNCCFG, *LPNET_DVR_SIGNAL_SYNCCFG;

Members

dwSize
the size of structure
wPhase
phase:[0,360]
byLineLock
Power synchronization: 0-no, 1-yes
byRes
reserved


NET_DVR_SIGNALLAMP_DETCFG

The Structure of The Signal Lamp Exception Detection Information

struct{
  DWORD             dwSize;
  BYTE              byAbsTime[32];
  NET_DVR_IPADDR    struAlarmCamIP;
  DWORD             dwPic1Len;
  DWORD             dwPic2Len;
  char              *pPic1Buffer;
  char              *pPic2Buffer;
  BYTE              byRes[128];
}NET_DVR_SIGNALLAMP_DETCFG, *LPNET_DVR_SIGNALLAMP_DETCFG;

Members

dwSize
The size of the structure
byAbsTime
Absolute time point, yyyymmddhhmmssxxx，e.g.20090810235959999，the last three places are the millisecond
struAlarmCamIP
Alarm camera IP address
dwPic1Len
Exception picture 1 data length
dwPic2Len
Exception picture 2 data length
pPic1Buffer
Data buffer pointer 1, is the picture of the overlapped vehicle lane line.
pPic2Buffer
Data buffer pointer 1, is the picture of the overlapped signal lamp status.
byRes
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V31

NET_DVR_StartListen_V30


NET_DVR_SIMPLE_DAYTIME

Time Point Information Structure

struct{
  BYTE    byHour;
  BYTE    byMinute;
  BYTE    bySecond;
  BYTE    byRes;
}NET_DVR_SIMPLE_DAYTIME,*LPNET_DVR_SIMPLE_DAYTIME;

Members

byHour
Hour
byMinute
Minute
bySecond
Second
byRes
Reserved, set as 0.

See Also

NET_DVR_TIME_SEGMENT


NET_DVR_SINGLE_ALARMIN_PARAM

Single arming region parameter information structure

struct{
  DWORD    dwSize;
  WORD     wZoneNo;
  BYTE     byJointSubSystem;
  BYTE     byType;
  char     byName[NAME_LEN];
  WORD     wDetectorType;
  WORD     wInDelay;
  WORD     wOutDelay;
  BYTE     byAlarmType;
  BYTE     byZoneSignalType;
  BYTE     byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN];
  BYTE     byDisableDetectorTypeCfg;
  BYTE     byRes2[118];
}NET_DVR_SINGLE_ALARMIN_PARAM,*LPNET_DVR_SINGLE_ALARMIN_PARAM;

Members

dwSize
Structure size
wZoneNo
Arming region No., the parameter can only be obtained
byJointSubSystem
Sub system No. of the arming region, the parameter can only be obtained
byType
Arming region type: 0- instant zone, array 1- 24-hour sound zone, array 2- delay zone, array 3- interior zone, array 4- key zone, array 5- fire zone, array 6- perimeter zone, array 7- 24-hour silent zone, 8- 24-hour auxiliary zone, 9- 24-hour vibration zone, 0xff- null
byName
Arming region name
wDetectorType
Arming region detector type, for details, seeDETECTOR_TYPE
wInDelay
Enter delay, value range: 0 to 255, unit: s
wOutDelay
Exit delay, value range: 0 to 255, unit: s
byAlarmType
Alarm type: 0- invalid, 1- normally open, 2- normally closed
byZoneSignalType
Arming region signal type: 0- wired region, 1- wireless region
byDetectorSerialNo
Detector serial No., read only
byDisableDetectorTypeCfg
Whether detector type is configurable: 0- configurable, 1- not configurable
byRes2
Reserved, set as 0

See Also

NET_DVR_ALARMIN_PARAM_LIST


NET_DVR_SINGLE_DEV_INFO

Structure of sub-device information

struct{
  DWORD                     dwSize;
  DWORD                     dwSoftVersion;
  DWORD                     dwSoftwareBuildDate;
  BYTE                      byUseInSys;
  BYTE                      byDevStatus;
  BYTE                      byDeviceType;
  BYTE                      byRes1;
  BYTE                      sDeviceID[DVCS_DEVICEID_LEN];
  BYTE                      sDevName[NAME_LEN];
  NET_DVR_SINGLE_NETPARAM   struEtherNet[MAX_ETHERNET];
  BYTE                      sSerialNumber[SERIALNO_LEN];
  NET_DVR_DIFFDEV_INFO      struSubDevInfo;
  BYTE                      byRes2[20];
}NET_DVR_SINGLE_DEV_INFO,*LPNET_DVR_SINGLE_DEV_INFO;

Members

dwSize
Structure size
dwSoftVersion
Device software version (read-only): the highest 8 bit is the major version number, the lower 8 bit is the minor version number, and the lowest 16 bit is the repairment version number
dwSoftwareBuildDate
Version building date: 0xYYYYMMDD
byUseInSys
Wheterh used in the system: 0- no, 1- yes
byDevStatus
Device current status: 0- off-line, 1- on-line, (read-only)
byDeviceType
Device type(read-only), defined as below:
enum{
  NET_DVR_BNC_PROC  = 1,
  NET_DVR_RGB_PROC  = 2,
  NET_DVR_STP_PROC  = 3,
  NET_DVR_DISP_PROC = 4,
  NET_DVR_NETSIGNAL = 5
}NET_DVCS_DEVICE_TYPE
NET_DVR_BNC_PROC
BNC processor
NET_DVR_RGB_PROC
RGB processor
NET_DVR_STP_PROC
Transcoding processor
NET_DVR_DISP_PROC
Display processor
NET_DVR_NETSIGNAL
Network signal source
byRes1
Reserved, please set to 0
sDeviceID
Device ID identifier
sDevName
Device name
struEtherNet
Device network parameter
sSerialNumber
Device serial number
struSubDevInfo
Devie information
byRes2
Reserved, please set to 0

See Also

NET_DVR_DEVLIST


NET_DVR_SINGLE_HD

Structure of single hard disk information

struct{
  DWORD     dwHDNo;
  DWORD     dwCapacity;
  DWORD     dwFreeSpace;
  DWORD     dwHdStatus;
  BYTE      byHDAttr;
  BYTE      byHDType;
  BYTE      byDiskDriver;
  BYTE      byRes1[1];
  DWORD     dwHdGroup;
  BYTE      byRecycling;
  BYTE      byRes2[3];
  DWORD     dwStorageType;
  DWORD     dwPictureCapacity;
  DWORD     dwFreePictureSpace;
  BYTE      byRes2[104];
}NET_DVR_SINGLE_HD, *LPNET_DVR_SINGLE_HD;

Members

dwHDNo
Disk number, value arrange[0,MAX_DISKNUM_V30-1], #define MAX_DISKNUM_V30 33
dwCapacity
Disk capacity, unit: MB. The value supports to be got, but can't be set
dwFreeSpace
Disk capacity, unit: MB. The value supports to be got, but can't be set
dwHdStatus
Hard disk status, the value supports to be got, but can't be set: 0- normal, 1- unformatted, 2- error, 3- S.M.A.R.T state, 4- not match, 5- sleeping, 6- un-connected(network disk), 7- virtual disk is normal and supports expansion, 10- hard disk is being restored, 11- hard disk is being formatted, 12- hard disk is waiting formatted, 13- the hard disk has been uninstalled, 14- local hard disk does not exist, 15- it is deleting the network disk 16- locked
byHDAttr
Hard disk property: 0- default, 1 - redundancy (back up important data), 2 - read only, 3- Archiving, 4-Cannot be read/read
byHDType
Hard disk type: 0-local disk, 1-ESATA disk, 2-NFS disk, 3-iSCSI disk , 4- RAID virtual disk, 5- SD card, 6- miniSAS
byDiskDriver
Hard disk value, represent for its ASCII characters
byRes1
Reserved, please set to 0
dwHdGroup
Which disk group this HDD belongs to, value arrange [1,MAX_HD_GROUP],#define MAX_HD_GROUP 16
byRecycling
Whether recycling or not: 0- no, 1- yes
byRes2
Reserved, please set to 0
dwStorageType
The bit representation: 0- does not support, no 0- support,
dwStorageType & 0x1 indicates whether special storage disc for the ordinary video
dwStorageType & 0x2 indicates whether special storage disc for the draw frame video
dwStorageType & 0x4 indicates whether special storage disc for the picture video
dwPictureCapacity
Hard disk image capacity (not set), unit：MB
dwFreePictureSpace
The residual image space (not set), unit：MB
byRes3
Reserved, please set to 0

Remarks

dwCapacity, dwFreeSpace and dwHdStatus are the property of the hard disk in the device, so they support to be got only but not support to be set.


NET_DVR_SINGLE_HDGROUP

Structure of single disk group information

struct{
  DWORD     dwHDGroupNo;
  BYTE      byHDGroupChans[64];
  BYTE      byRes[8];
}NET_DVR_SINGLE_HDGROUP, *LPNET_DVR_SINGLE_HDGROUP;

Members

dwHDGroupNo
Group number, the value supports to be got but can't be set, value range: [1,MAX_HD_GROUP], #define MAX_HD_GROUP 16
byHDGroupChans
The recording channel corresponding to the disk group, the value: 0- the channel is not set to record into the group, 1- the channel is set to record into the group.
E.g. byHDGroupChans[0]==1, the no.1 channel is set to record into the group.
struHDGroupAttr
Reserved, please set to 0

Remarks

dwHDGroupNo indicates the disk number in the device, so it supports to be got only but not support to be set.


NET_DVR_SINGLE_HDGROUP_V40

The structure of HDD group configuration。

struct{
  DWORD     dwHDGroupNo;
  BYTE      dwRelRecordChan[MAX_CHANNUM_V40];
  BYTE      byRes[64];
}NET_DVR_SINGLE_HDGROUP_V40, *LPNET_DVR_SINGLE_HDGROUP_V40;

Members

dwHDGroupNo
The HDD group No., this parameter can only be obtained but not be configured, value range [1,MAX_HD_GROUP].
dwRelRecordChan
The triggered record channel, represented by value, 0xffffffff indicates invalid
struHDGroupAttr
Reserved, set as 0.

See Also

NET_DVR_HDGROUP_CFG_V40


NET_DVR_SINGLE_NET_DISK_INFO

Single Network Disk Structure

struct{
  BYTE              byNetDiskType;
  BYTE              byRes1[3];
  NET_DVR_IPADDR    struNetDiskAddr;
  BYTE              sDirectory[PATHNAME_LEN];
  WORD              wPort;
  BYTE              byRes2[66];
}NET_DVR_SINGLE_NET_DISK_INFO, *LPNET_DVR_SINGLE_NET_DISK_INFO;

Members

byNetDiskType
Network Disk type : 0-NFS,1-ISCSI
byRes1
Reserved, please set to 0
struNetDiskAddr
Address of network disk
sDirectory
Direcotry
wPort
ISCSI port, (currently use the default port)
byRes2
Reserved, please set to 0

See Also

NET_DVR_IPADDR


NET_DVR_SINGLE_NET_DISK_INFO_V40

Single Network Disk Structure

struct{
  BYTE              byNetDiskType;
  BYTE              byRes1[3];
  NET_DVR_IPADDR    struNetDiskAddr;
  BYTE              sDirectory[PATHNAME_LEN];
  BYTE              byDevAddr[MAX_DOMAIN_NAME];
  WORD              wPort;
  BYTE              byRes2[2];
  NET_DVR_MOUNTMETHOD_PARAM_UNION       uMountMethodParam;
  BYTE              byRes4[80];
}NET_DVR_SINGLE_NET_DISK_INFO_V40, *LPNET_DVR_SINGLE_NET_DISK_INFO_V40;

Members

byNetDiskType
Network Disk type : 0-NFS,1-ISCSI
byRes1
Reserved, please set to 0
struNetDiskAddr
Address of network disk
sDirectory
the IP address of network hard disk.
byDevAddr
Direcotry
wPort
ISCSI port, (currently use the default port)
byRes2
Reserved, please set to 0
uMountMethodParam
Mmunt method Union of network hard disk
byRes4
Reserved, please set to 0


NET_DVR_SINGLE_NETPARAM

Structure of single network parameter

struct{
  DWORD              dwSize;
  BYTE               byUseDhcp;
  BYTE               byRes1[3];
  NET_DVR_IPADDR     struDevIP;
  NET_DVR_IPADDR     struSubnetMask;
  NET_DVR_IPADDR     struGateway;
  WORD               wDevPort;
  BYTE               byMACAddr[MACADDR_LEN];
  BYTE               byRes2[16];
}NET_DVR_SINGLE_NETPARAM,*LPNET_DVR_SINGLE_NETPARAM;

Members

dwSize
Structure size
byUseDhcp
Whether to enable DHCP or not: 0xff- invalid, 0- disable, 1- enable
byRes1
Reserved, please set to 0
struDevIP
IP address of the device
struSubnetMask
Subnet mask of the device
struGateway
Gateway of the device
wDevPort
Port number of the device
byMACAddr
MAC address (read-only)
byRes2
Reserved, please set to 0

See Also

NET_DVR_SINGLE_DEV_INFO NET_DVR_NETPARAM


NET_DVR_SINGLE_NFS

NFS configuration sub structure

struct{
  char     sNfsHostIPAddr[16];
  BYTE     sNfsDirectory[PATHNAME_LEN];
}NET_DVR_SINGLE_NFS, *LPNET_DVR_SINGLE_NFS;

Members

sNfsHostIPAddr
Netwrok file system host IP address
sNfsDirectory
NFS path


NET_DVR_SINGLE_PLAN_SEGMENT

Schedule Parameters Structure

struct{
  BYTE                    byEnable;
  BYTE                    byDoorStatus;
  BYTE                    byVerifyMode;
  BYTE                    byRes[5];
  NET_DVR_TIME_SEGMENT    struTimeSegment;
}NET_DVR_SINGLE_PLAN_SEGMENT,*LPNET_DVR_SINGLE_PLAN_SEGMENT;

Members

byEnable
Enbale? 0- NO,1- Yes.
byDoorStatus
Door Status. 0-Invalid, 1-Sleep: 2-Remain Open, 3-Remain Closed(For door status plan).
byVerifyMode
Authentication Mode. 0-Invalid; 1-Sleep; 2-Swiping & Password(for card reader authentication schedule); 3- Swiping card (for card reader authentication schedule), 4- Swiping card or password4(for card reader authentication schedule), 5-fingerprint, 6-fingerprint+password, 7-fingerprint or swiping card, 8-fingerprint+swiping card, 9-fingerprint+swiping card+password (not ordered).
byRes
Reserved, set as 0.
struTimeSegment
Schedule Time Segments, including sart time and end time.

See Also

NET_DVR_WEEK_PLAN_CFG NET_DVR_HOLIDAY_PLAN_CFG


NET_DVR_SINGLE_RS232

RS232 Configuration Structure (extended for 9000) Sub Structure

struct{
  DWORD       dwBaudRate;
  BYTE        byDataBit;
  BYTE        byStopBit;
  BYTE        byParity;
  BYTE        byFlowcontrol;
  DWORD       dwWorkMode;
}NET_DVR_SINGLE_RS232, *LPNET_DVR_SINGLE_RS232;

Members

dwBaudRate
baud rate (bps): 0-50; 1-75; 2-110; 3-150; 4-300; 5-600; 6-1200; 7-2400; 8-4800; 9-9600; 10-19200; 11-38400; 12-57600; 13-76800; 14-115.2k
byDataBit
data bit: 0-5 digit; 1-6 digit; 2-7 digit; 3-8 digit
byStopBit
stop bit: 0-1 digit; 1-2 digit
byParity
parity: 0- disable; 1- odd parity; 2- even parity
byFlowcontrol
flow control: 0-disable; 1-software flow control; 2- hardware flow control
dwWorkMode
work mode: 0-narrowband transmission (232 is used for PPP dailing); 1- control center (232 works as paramter configuration); 2- transparent channel


NET_DVR_SINGLE_SECURITY_QUESTION_CFG

Device security question parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwId;
  char     sAnswer[NET_SDK_MAX_ANSWER_LEN];
  BYTE     byMark;
  BYTE     byRes[127];
}NET_DVR_SINGLE_SECURITY_QUESTION_CFG, *LPNET_DVR_SINGLE_SECURITY_QUESTION_CFG;

Members

dwSize
Structure size
dwId
No. (security question No., read-only)
sAnswer
Security question answer
byMark
MArk: 0- not set, 1- set
byRes
Reserved, set as 0

Remarks

Below is the question corresponding to each No., for reference:

dwId No. | Security question
1 | What is your father's name
2 | What is your mother's name
3 | What is the name of the teacher in charge of your high school class
4 | What is the name of the teacher in charge of your middle school class
5 | Who is your most familiar roommate
6 | Who influenced you most
7 | Who is your favorite star
8 | What is your favorite car brand
9 | What is your favorite game
10 | What is your favorite book
11 | What is your favorite color
12 | What is your favorite movie
13 | What is your favorite flower
14 | What is the brand of your first cellphone
15 | What is the destination of your first flight

See Also

NET_DVR_SECURITY_QUESTION_CFG


NET_DVR_SINGLESCREENCFG

Structure of single sub-screen information.

struct{
  BYTE      byScreenSeq;
  BYTE      bySubSystemNum;
  BYTE      byDispNum;
  BYTE      byRes[9];
}NET_DVR_SINGLESCREENCFG, *LPNET_DVR_SINGLESCREENCFG;

Members

byScreenSeq
Screen sequence number, 0xff means the screen is not used
bySubSystemNum
Slot sequence number of decoding subsystem
byDispNum
Display channel number corresponding to the decoding subsystem
byRes
Reserved, please set to 0

See Also

NET_DVR_BIGSCREENCFG


NET_DVR_SINGLEWALLPARAM

Structure of screen parameters in TV wall

struct{
  DWORD               dwSize;
  BYTE                byEnable;
  BYTE                byRes1[3];
  DWORD               dwWallNum;
  NET_DVR_RECTCFG     struRectCfg;
  BYTE                byRes2[36];
}NET_DVR_SINGLEWALLPARAM, *LPNET_DVR_SINGLEWALLPARAM;

Members

dwSize
Structure size
byEnable
Whether enable the screen or not: 0- no, 1- yes
byRes1
Reserved, please set to 0
dwWallNum
The sequence number of the screen in TV wall
struRectCfg
The screen area, the coordinate should be multiple of (128,128). It can not set the value of width and heigth, and it will be reference value
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_SIP_CFG

Structure of SIP server parameters configuration

struct{
  DWORD             dwSize;
  BYTE              byEnableAutoLogin;
  BYTE              byLoginStatus;
  BYTE              byRes1[2];
  NET_DVR_IPADDR    stuServerIP;
  WORD              wServerPort;
  BYTE              byRes2[2];
  BYTE              byUserName[NAME_LEN];
  BYTE              byPassWord[PASSWD_LEN];
  BYTE              byLocalNo[MAX_NUMBER_LEN];
  BYTE              byDispalyName[MAX_NAME_LEN];
  WORD              wLocalPort;
  BYTE              byLoginCycle;
  BYTE              byRes[129];
}NET_DVR_SIP_CFG,*LPNET_DVR_SIP_CFG;

Members

dwSize
Structure size
byEnableAutoLogin
Enable automaic register: 0- disable, 1- enable
byLoginStatus
Login status: 0- unregistered,1- registered, the parameter can only be obtained
byRes1
Reserved, set it to 0
stuServerIP
SIP server IP
wServerPort
SIP server port
byRes2
Reserved, set it to 0
byUserName
User name
byPassWord
Password
byLocalNo
Loacal number
byDispalyName
Display name
wLocalPort
Local port
byLoginCycle
Register cycle, data range: 1-99, unit: minute
byRes
Reserved, set it to 0


NET_DVR_SIREN_PARAM

Structure of siren parameter.

struct{
  DWORD               dwSize;
  BYTE                byName[NAME_LEN];
  WORD                wDelay;
  BYTE                byRes1[2];
  BYTE                byAssociateAlarmIn[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE                byRes2[68];
}NET_DVR_SIREN_PARAM, *LPNET_DVR_SIREN_PARAM;

Members

dwSize
Structure size
byName
Siren name
wDelay
Output delay, unit: s, value range: 0~3599s, 0 means output all the time
byRes1
Reserved
byAssociateAlarmIn
Alarm input channel followed by siren(multi alarm inputs trigger one siren output). Subscript 0 means alarm input 1, 0- not follow, 1- follow
byRes2
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SLAVE_CHANNEL_UNION

Affiliated Channel Parameters Union。

union{
  BYTE               byRes[152];
  DWORD              dwLocalChannel;
  NET_DVR_CHANNEL    struRemoteChannel;
}NET_DVR_SLAVE_CHANNEL_UNION, *LPNET_DVR_SLAVE_CHANNEL_UNION;

Members

byRes
The size of the union, 152 bytes
dwLocalChannel
Local channel, valid when channel type is the local channel.
struRemoteChannel
Remote channel, valid when channel type is the remote channel.

See Also

NET_DVR_SLAVE_CHANNEL_PARAM


NET_DVR_SLAVECAMERA_CALIB_CFG

Structure for salve camera calibration configuration

struct{
  DWORD                  dwSize;
  BYTE                   byCalibMode;
  BYTE                   byRes[3];
  NET_DVR_CALIB_PARAM    struCalibParam[MAX_CALIB_NUM];
  BYTE                   byRes1[64];
}NET_DVR_SLAVECAMERA_CALIB_CFG,*LPNET_DVR_SLAVECAMERA_CALIB_CFG;

Members

dwSize
Structure size
byCalibMode
Calibration mode: 0- reserved, 1- automatic calibration, 2- manual calibration
byRes
Reserved, set as 0.
struCalibParam
Calibration parameters (The parameters can be configured and obtained in the manual calibration mode, while the parameters only can be obtained in the auto mode.).The subscript 0 of the number array refers to the calibration point 1. The rest calibration points are set in the same manner. At least 4 calibration points should be set, and up to 6 calibration points should be set.
byRes1
Reserved, set as 0.

Remarks

  • The box camera works as a master camera, and the dome camera works as a master camera. After logging in to the master station, you can do the calibration operations on the linked slave cameras.
  • According to the device Capability Set, you can understand whether the device supports the manual tracking zooming rate configuration or not.Capability Set of corresponding slave camera configuration and calibration (SlaveCameraCalibrating), Relevant interface: NET_DVR_GetSTDAbility, Capability Set type: NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_SLAVECAMERA_CALIB_V50

Structure for the slave camera calibration configuration.

struct{
  DWORD                  dwSize;
  BYTE                   byCalibMode;
  BYTE                   byRes[3];
  NET_DVR_CALIB_PARAM    struCalibParam[MAX_CALIB_NUM_EX];
  BYTE                   byRes1[64];
}NET_DVR_SLAVECAMERA_CALIB_V50,*LPNET_DVR_SLAVECAMERA_CALIB_V50;

Members

dwSize
Structure size
byCalibMode
Calibration mode: 0-reserved, 1- automatic calibration, 2- manual calibration
byRes
Reserved, set as 0.
struCalibParam
Calibration parameters (The parameters can be configured and obtained in the manual calibration mode, while the parameters only can be obtained in the auto mode.).The subscript 0 of the number array refers to the calibration point 1. The rest calibration points are set in the same manner. At least 4 calibration points should be set.
byRes1
Reserved, set as 0.

Remarks

  • The box camera works as a master camera, and the dome camera works as a master camera. After logging in to the master station, you can do the calibration operations on the linked slave cameras.
  • According to the device Capability Set, you can understand whether the device supports the manual tracking zooming rate configuration or not.Capability Set of corresponding slave camera configuration and calibration (SlaveCameraCalibrating), Relevant interface: NET_DVR_GetSTDAbility, Capability Set type: NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_SLAVECAMERA_CALIB_V51

Slave camera calibration configuration structure

struct{
  DWORD                  dwSize;
  BYTE                   byCalibMode;
  BYTE                   byRes[3];
  NET_DVR_CALIB_PARAM    struCalibParam[MAX_CALIB_NUM_EX];
  BYTE                   byRes1[512];
}NET_DVR_SLAVECAMERA_CALIB_V51,*LPNET_DVR_SLAVECAMERA_CALIB_V51;

Members

dwSize
Structure size
byCalibMode
Calibration mode: 0- Reserved, 1- auto, 2- manual
byRes
Reserved, set as 0
struCalibParam
Calibration parameter (getting and setting are supported in manual mode, while only getting is supported in auto mode), the subscript 0 of number array means 1, and so forth. At least 4 calibration points are required.
byRes1
Reserved, set as 0

Remarks

  • The box camera serves as master camera, and the dome as slave. First log into the master camera and calibrate its linked slave camera.
  • Whether the device supports calibration configuration or the supported parameters, can be determined through device capability set (SlaveCameraCalibrating), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_SLAVECAMERA_CFG

Structure for the slave camera IP configuration.

struct{
  DWORD    dwSize;
  BYTE     byAddressType;
  WORD     wPort;
  BYTE     byLoginStatus;
  union{
           struct{
           BYTE              szDomain[MAX_DOMAIN_NAME];
           BYTE              byRes1[80];
           }struDomain;
           struct{
           NET_DVR_IPADDR    struIp;
           }struAddrIP;
  }unionServer;
  BYTE     szUserName[NAME_LEN];
  BYTE     szPassWord[PASSWD_LEN];
  BYTE     byRes1[128];
}NET_DVR_SLAVECAMERA_CFG,*LPNET_DVR_SLAVECAMERA_CFG;

Members

dwSize
Structure size
byAddressType
Address type: 0- ipv4 address or ipv6 address, 1- domain name
wPort
Port
byLoginStatus
Login status of the slave camera: 0- logout, 1- login
unionDevAddr is the union of device addresses.
szDomain
device address, admin name, it is valid when the value of byAddressType is 1.
byRes1
reserved, set as 0.
struIp
IPv4 or IPv6 address (144 bytes), it is valid when the value of byAddressType is 0.
szUserName
User name
szPassWord
Password
byRes1
Reserved, set as 0.

Remarks

  • The box camera works as a master camera, and the doom camera works as a slave camera. For the slave camera configuration, you should log in to the master camera first, and then set the linked camera. Up to 4 slave cameras can be configured.
  • According to the capability set, you can understand whether the device supports the slave camera IP configuration or not. Corresponding capability set of the salve camera IP configuration (SlaveCamera), Relevant interface: NET_DVR_GetSTDAbility, Capability set type: NET_DVR_GET_SLAVECAMERA_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_SLAVECAMERA_COND

Structure for the salve camera configuration conditions.

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byID;
  BYTE     byRes[63];
}NET_DVR_SLAVECAMERA_COND,*LPNET_DVR_SLAVECAMERA_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byID
Slave camera ID No. in the master-slave tracking mode, range: from 1 to 4.
byRes
Reserved, set as 0.

Remarks

  • The box camera works as a master camera, and the doom camera works as a slave camera. For the slave camera configuration, you should log in to the master camera first, and then set the linked camera. Up to 4 slave cameras can be configured.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig

NET_DVR_STDControl


NET_DVR_SLAVECAMERA_PARAM

Structure for each slave camera status.

struct{
  BYTE    byLinkStatus;
  BYTE    byRes[15];
}NET_DVR_SLAVECAMERA_PARAM,*LPNET_DVR_SLAVECAMERA_PARAM;

Members

byLinkStatus
Connection status: 0-disconnected, 1- connected.
byRes
Reserved, set as 0.

See Also

NET_DVR_SLAVECAMERA_STATUS


NET_DVR_SLAVECAMERA_STATUS

Structure for slave camera connection status.

struct{
  DWORD                        dwSize;
  NET_DVR_SLAVECAMERA_PARAM    struSlaveCamera[MAX_SLAVECAMERA_NUM];
  BYTE                         byRes[64];
}NET_DVR_SLAVECAMERA_STATUS,*LPNET_DVR_SLAVECAMERA_STATUS;

Members

dwSize
Structure size
struSlaveCamera
Connection status of slave camera. The subscript 0 of the number array refers to the salve camera ID 1. The rest salve cameras IDs are set in the same manner. /dd>
byRes
Reserved, set as 0.

Remarks

  • the box camera works as a master camera, and the dome camera works as a slave camera. After logging in to the master camera, you can get the connection information of the linked cameras.
  • According to the capability set, you can understand whether the device supports getting the connection information of the slave camera or not. Corresponding capability set of the master-slave tracking: (MasterSlaveTrackingCap(, Relevant interface: NET_DVR_GetSTDAbility, Capability set type: NET_DVR_GET_MASTERSLAVETRACKING_CAPABILITIES, Node: <isSupportSlaveCameraStatus>.

See Also

NET_DVR_GetSTDConfig


NET_DVR_SMART_REGION_COND

Smart detection region configuration condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwRegion;
}NET_DVR_SMART_REGION_COND,*LPNET_DVR_SMART_REGION_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
dwRegion
Region ID, start from 1.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_SMART_SEARCH_PARAM

Parameter structure of search by event.

struct{
  BYTE            byChan;
  BYTE            byRes1[3];
  NET_DVR_TIME    struStartTime;
  NET_DVR_TIME    struEndTime;
  BYTE            byMotionScope[64][96];
  BYTE            bySensitivity;
  BYTE            byRes2[11];
}NET_DVR_SMART_SEARCH_PARAM,*LPNET_DVR_SMART_SEARCH_PARAM;

Members

byChan
Channel number
byRes1
Reserved, please set to 0
struStartTime
Starting time of record
struEndTime
End time of record
byMotionScope
Detection region: there are 96*64 macro blocks, 1- motion detection region, 1- not motion detection region
bySensitivity
Sensitivity of motion detection (that is, the percentage that motion detection area accounted for the searching area. The percentage more higher, the search is easier): 1- higher than 80%, 2- higher than 40% and lower than 80%, 3- higher than 1% and lower than 40%
byRes2
Reserved, please set to 0

See Also

NET_DVR_TIME


NET_DVR_SMART_SEARCH_PARAM_V40

Smart search parameter structure

struct{
  DWORD                                  dwSize;
  NET_DVR_STREAM_INFO                    struIDInfo;
  BYTE                                   bySearchCondType;
  BYTE                                   bySensitivity;
  BYTE                                   byRes1[2];
  NET_DVR_TIME_EX                        struStartTime;
  NET_DVR_TIME_EX                        struEndTime;
  NET_DVR_AREA_SMARTSEARCH_COND_UNION    uSmartSearchCond;
  BYTE                                   byRes2[256];
}NET_DVR_SMART_SEARCH_PARAM_V40,*LPNET_DVR_SMART_SEARCH_PARAM_V40;

Members

dwSize
Structure size
struIDInfo
Stream information, stream ID or channel No.
bySearchCondType
Smart search complex index: 0- detection area, 1- line crossing detection, 2- intrusion detection, 3- face detection
bySensitivity
Dynamic search sensitivity (valid when bySearchCondType==0, means the percentage of motion detected area in the searched area, higher sensitivity, lower percentage, higher chance to get the result),value: 1 to 100
byRes1
Reserved, set as 0
struStartTime
Video start time
struEndTime
Video end time
uSmartSearchCond
Smart search condition complex
byRes2
Reserved, set as 0

See Also

NET_DVR_SmartSearch_V40


NET_DVR_SMART_SEARCH_RET

Structure of search result by event.

struct{
  NET_DVR_TIME    struStartTime;
  NET_DVR_TIME    struEndTime;
  BYTE            byRes[64];
}NET_DVR_SMART_SEARCH_RET,*LPNET_DVR_SMART_SEARCH_RET;

Members

struStartTime
Start time of motion detection alarm
struEndTime
End time of motion detection alarm
byRes2
Reserved, please set to 0

See Also

NET_DVR_TIME


NET_DVR_SMARTIR_PARAM

Structure of SMART IR(defend over exposure)configuration parameters

struct{
  BYTE    byMode;
  BYTE    byIRDistance;
  BYTE    byShortIRDistance;
  BYTE    byLongIRDistance;
}NET_DVR_SMARTIR_PARAM, *LPNET_DVR_SMARTIR_PARAM;

Members

byMode
SMART IR mode：0- auto, 1- manual
byIRDistance
IP distance level, the higher level, more far IR distance, data range:1~100, default to :50, can be modified in the manual mode
byShortIRDistance
Set the distance level of short light
byLongIRDistance
Set the distance level of long light

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_SMARTTRACKCFG

Smart tracking configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes[3];
  DWORD    dwDuration;
  BYTE     byRes1[124];
}NET_DVR_SMARTTRACKCFG, *LPNET_DVR_SMARTTRACKCFG;

Members

dwSize
size of the structure
byEnable
Enable smart tracking? 0-No,1- Yes
byRes
Reserved, set as 0.
dwDuration
Tracking duration, value range[0 to 300], unit: second, default:300
byRes1
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SMOKEDETECTION_ALARM

Smoke alarm information structure

struct{
  NET_PTZ_INFO          struPTZPos;
  NET_PTZ_INFO          struThermalPTZPos;
  NET_DVR_LLPOS_PARAM   struLLPos;
  NET_VCA_RECT          struSmokePos;
  BYTE                  byRes[256];
}NET_DVR_SMOKEDETECTION_ALARM,*LPNET_DVR_SMOKEDETECTION_ALARM;

Members

struPTZPos
Visible light device PTZ location
struThermalPTZPos
Thermal imaging device PTZ location
struLLPos
Device longitude and latitude location
struSmokePos
Location of smoke region in the picture
byRes
Reserved, set as 0

See Also

NET_DVR_FIREDETECTION_ALARM


NET_DVR_SMOKEDETECTION_CFG

Fire & smoke detection sensitivity parameter structure

struct{
  BYTE     byEnable;
  BYTE     bySensitivity;
  BYTE     byRes[58];
}NET_DVR_SMOKEDETECTION_CFG, *LPNET_DVR_SMOKEDETECTION_CFG;

Members

byEnable
Enable: 0- no, 1- yes
bySensitivity
Detection sensitivity, range: 1 to 100, default 50
byRes
Reserved

Remarks

  • Whether the device supports fire & smoke detection configuration capability or supported capability, can be determined through device capability set (FireDetection), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_FIREDETECTION_CAPABILITIES.

See Also

NET_DVR_FIREDETECTION_CFG


NET_DVR_SMSCONTENT

Structure of SMS content.

struct{
  DWORD    byPhoneNum[MAX_PHONE_NUM];
  BYTE     byMsg[MAX_SMSCONTENT_LEN];
}NET_DVR_SMSCONTENT,*LPNET_DVR_SMSCONTENT;

Members

byPhoneNum
Mobile phone number
byMsg
Message content

See Also

NET_DVR_GetSmsContent NET_DVR_SendSms


NET_DVR_SMSLISTINFO

Structure of SMS list information.

struct{
  DWORD      dwSize;
  DWORD      dwTotalSmsNum;
  BYTE       byRes[8];
  BYTE       *pSmsParam;
  DWORD      dwBufLen;
}NET_DVR_SMSLISTINFO,*LPNET_DVR_SMSLISTINFO;

Members

dwSize
Structure size
dwTotalSmsNum
The total number of SMS
byRes
Reserved, please set to 0
pSmsParam
SMS parameter
dwBufLen
The length of the allocated pointer

See Also

NET_DVR_GetSmsListInfo


NET_DVR_SMSRELATIVEPARAM

Structure of SMS parameter.

struct{
  DWORD               dwSize;
  BYTE                bEnableSmsAlarm;
  BYTE                byRes1[7];
  NET_DVR_PHONECFG    struWhiteList[MAX_WHITELIST_NUM];
  BYTE                byRes2[32];
}NET_DVR_SMSRELATIVEPARAM, *LPNET_DVR_SMSRELATIVEPARAM;

Members

dwSize
Structure size
bEnableSmsAlarm
Whether enable SMS alarm: 0- disable, 1- enable
byRes1
Reserved, please set to 0
struWhiteList
White list
byRes2
Reserved, please set to 0

Remarks

If you want to set the alarm or exception link to SMS alarm, the linkage method will take effect when enable to true.
SMS alarm should used with white list, and it will send SMS to the phone number in the white list when SMS alarm occurs.
White list can be used with SMS control equipment. It allows the number in the white list only to send control message to the device, and device does the corresponding operation.

See Also

NET_DVR_PHONECFG
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SNAP_ABILITY

Structure of intelligent traffic camera ability.

struct{
  DWORD       dwSize;
  BYTE        byIoInNum;
  BYTE        byIoOutNum;
  BYTE        bySingleSnapNum;
  BYTE        byLightModeArrayNum;
  BYTE        byMeasureModeArrayNum;
  BYTE        byPlateEnable;
  BYTE        byLensMode;
  BYTE        byPreTriggerSupport;
  DWORD       dwAbilityType;
  BYTE        byIoSpeedGroup;
  BYTE        byIoLightGroup;
  BYTE        byRecogRegionType;
  BYTE        bySupport;
  WORD     wSupportMultiRadar;
  BYTE     byICRPresetNum;
  BYTE     byICRTimeSlot;
  BYTE     bySupportRS485Num;
  BYTE     byExpandRs485SupportSensor;
  BYTE     byExpandRs485SupportSignalLampDet;
  BYTE     byRelayNum;
  BYTE     bySupport2;
  BYTE     bySupportWhiteBalance;
  BYTE     byRes[9];
}NET_DVR_SNAP_ABILITY, *LPNET_DVR_SNAP_ABILITY;

Members

dwSize
Structure size
byIoInNum
The count of IO input
byIoOutNum
The count of IO output
bySingleSnapNum
The count of signal IO triggered snap groups
byLightModeArrayNum
The count of traffic light mode groups
byMeasureModeArrayNum
The count of messuring mode groups
byPlateEnable
License plate recognition capability: 0- not support, 1- support
byLensMode
Front lens mod: 0- CCD, 1- CMOS
byPreTriggerSupport
Whether it supports original trigger mode: 0- support, 1- not support
dwAbilityType
The capability of trigger mode, described by bit：
enum _ITC_MAINMODE_ABILITY_{
  ITC_MODE_UNKNOW      = 0x0,
  ITC_POST_MODE        = 0x1,
  ITC_EPOLICE_MODE     = 0x2,
  ITC_POSTEPOLICE_MODE = 0x4
}ITC_MAINMODE_ABILITY
ITC_MODE_UNKNOW
None
ITC_POST_MODE
intelligent monitoring and recording system of vehicles
ITC_EPOLICE_MODE
Electronic police mode
ITC_POSTEPOLICE_MODE
Electronic police and intelligent monitoring and recording system of vehicles
byIoSpeedGroup
The count of IO speed messuring groups
byIoLightGroup
The count of IO traffic light groups
byRecogRegionType
The type of license plate recognition region, defined as below:
enum _ITC_RECOG_REGION_TYPE_{
  ITC_REGION_RECT      = 0x0,
  ITC_REGION_POLYGON   = 0x1
}ITC_RECOG_REGION_TYPE
ITC_REGION_RECT
Rectangle
ITC_REGION_POLYGON
Polygon
bySupport
Equipment capacity, bit representation, value: 0- does not support, 1- support
bySupport&0x1, bySupport&0x1，indicates whether support characters overlay configuration extension(NET_ITS_OVERLAP_CFG)
bySupport&0x2，indicates whether support extend time correction cofiguration(NET_DVR_CALIBRATE_TIME)
bySupport&0x4, indicates whether support multi-NIC(multi-NIC segregation)（NET_DVR_ETHERNET_MULTI）
bySupport&0x8, indicates whether support NIC bonding function(network failover)（NET_DVR_NETWORK_BONDING）
bySupport&0x10, indicates whether support voice talk
bySupport&0x20，indicates whether support single IO trigger interface cofiguration(byRelatedIOOutEx of NET_ITC_SINGLEIO_PARAM）
bySupport&0x40，indicates whether support FTP interface extension(support in v3.6,NET_ITC_FTP_CFG）
wSupportMultiRadar
Device capability (RS485 associated with radar ability), described by bit,value:0- not support, 1- support
wSupportMultiRadar&0x1，indicates whether bayonet RS485 radar support lane associsted with radar
wSupportMultiRadar&0x2，indicates whether bayonet virtual coilsupport lane associsted with radar
wSupportMultiRadar&0x8, indicates whether video detection support lane associsted with radar
byICRPresetNum
The supported ICR preset number (optical filter offset point)
byICRTimeSlot
The supported ICR time quantum number:(1- 8)
bySupportRS485Num
Number of RS485 supported
byExpandRs485SupportSensor
Device capability (RS485 associated with vehicle detector ability), described by bit,value:0- not support, 1- support
byExpandRs485SupportSensor&0x1, indicates e-police vehicle inspection support vehicle detector
byExpandRs485SupportSensor&0x2, indicates bayonet e-police inspection support detector
byExpandRs485SupportSignalLampDet
Device capability (RS485 associated with signal detector ability), described by bit,value:0- not support, 1- support
byExpandRs485SupportSignalLampDet&0x1, indicates e-police inspection support signal detector
byExpandRs485SupportSignalLampDet&0x2, indicates bayonet e-police inspection support external signal detector
byExpandRs485SupportSignalLampDet&0x4, indicates video e-police support external signal detector
byRelayNum
The number of supported relay.
bySupport1
The device capacity (expanded), bit representation, value: 0- does not support, 1- support
bySupport1&0x1, indicates whether to support characters overlay configuration extension（NET_DVR_CALIBRATE_TIME）
bySupport1&0x2, indicates whether to support extend time correction cofiguration（NET_ITC_POST_VTCOIL_PARAM）
bySupport1&0x4, indicates whether to support multi-NIC(multi-NIC segregation)（NET_DVR_DDNSPARA_V30）
bySupport1&0x8, indicates whether to support getting taiggering mode command interface of the current device.（NET_DVR_CURTRIGGERMODE）
bySupport1&0x10, indicates whether to support entrance/exit configuration（NET_DVR_ENTRANCE_CFG）
bySupport1&0x20, indicates whether to suppport GPS module configuration. （NET_DVR_GPS_DATACFG）
bySupport1&0x40, indicates whether to support NTP timing parameters configuration.（NET_DVR_NTPPARA）
bySupport1&0x80, indicates whether to support TPS alarm data uploading. （COMM_ALARM_TPS_REAL_TIME and COMM_ALARM_TPS_STATISTICS）
bySupport2
Device capability (expended), represented by byte, value: 0- Not supported, 1- Supported
bySupport2&0x01, indicates whether to support stream attached information settings(NET_DVR_STREAM_ATTACHINFO_CFG)
bySupport2&0x02, indicates whether to support overlaying image parameters to channel(NET_DVR_PICCFG_V30)enbale video overlay time(ms)byOSDMilliSecondEnable)
bySupportWhiteBalance
White balance settings (default: Manual WB, Auto WB, and Auto WB2), represented by byte, 0- Not supported, 1- Supported按
bySupportWhiteBalance &0x01, Whether to support fluorescent lamp mode.
bySupportWhiteBalance &0x02, Whether to support natural light mode.
bySupportWhiteBalance &0x04, Whether to support warm light mode.
bySupportWhiteBalance &0x08, Whether to support incandescent lamp mode.
byRes
Reserved, please set to 0

Remarks

V3.0 (include) before version supports only trigger the old model (byPreTriggerSupport=0), do not support the new trigger mode（dwAbilityType=0).

See Also

NET_DVR_GetDeviceAbility


NET_DVR_SNAP_CAMERAPARAMCFG

The struct of CCD configuration

struct{
  BYTE               byWDRMode;
  BYTE               byWDRType;
  BYTE               byWDRLevel;
  BYTE               byRes1;
  NET_DVR_TIME_EX    struStartTime;
  NET_DVR_TIME_EX    struEndTime;
  BYTE               byDayNightBrightness;
  BYTE               byMCEEnabled;
  BYTE               byMCELevel;
  BYTE               byAutoContrastEnabled;
  BYTE               byAutoContrastLevel;
  BYTE               byLSEDetailEnabled;
  BYTE               byLSEDetailLevel;
  BYTE               byLPDEEnabled;
  BYTE               byLPDELevel;
  BYTE               byRes[35];
}NET_DVR_SNAP_CAMERAPARAMCFG, *LPNET_DVR_SNAP_CAMERAPARAMCFG;

Members

byWDRMode
WDR mode：0- close，1- DWDR, 2- WDR
byWDRType
WDR switch mode: 0- Force enable, 1- enable by time, ，2- enable by brightness
byWDRLevel
WDR level, the corresponding level of index 0~6 is 1~7，the default index is 2 (level 3)
byRes1
Reserved
struStartTime
Start WDR time
struEndTime
End WDR time
byDayNightBrightness
The brightness threshold of Day/Night Switch, value range: 0~100，default value: 50
byMCEEnabled
Enable memory color enhancement? 0- disable, 1- enable
byMCELevel
Memory color enhancement level, value range: 0~100, default value: 50
byAutoContrastEnabled
Enable auto contrast? 0- disable，1- able
byAutoContrastLevel
Auto contrast level, value range: 0~100, default value: 50
byLSEDetailEnabled
Enable detail enhancement? 0- disable, 1- enable
byLSEDetailLevel
Detail enhancement level, value range: 0~100, default value: 50
byLPDEEnabled
Enable license plate enhancement? 0- disable, 1- enable
byLPDELevel
License plate enhancement level, value range: 0~100, default value: 50
byRes
Reserved

See Also

NET_DVR_CAMERAPARAMCFG_EX


NET_DVR_SNAPCFG

Signal IO trigger parameter structure of intelligent traffic camera.

struct{
  DWORD      dwSize;
  BYTE       byRelatedDriveWay;
  BYTE       bySnapTimes;
  WORD       wSnapWaitTime;
  WORD       wIntervalTime[4];
  DWORD      dwSnapVehicleNum;
  NET_DVR_JPEGPARA    struJpegPara;
  BYTE       byRes2[16];
}NET_DVR_SNAPCFG, *LPNET_DVR_SNAPCFG;

Members

dwSize
Structure size
byRelatedDriveWay
Drive way related to the IO,range[0,9]
bySnapTimes
Snap times, 0- not snap, none 0- continous snap times, max number:5
wSnapWaitTime
Waiting time to snap , unit:MS, range [0,60000]
wIntervalTime
Continous snap interval, unit:ms
dwSnapVehicleNum
Capture matching No., corresponds to the dwMatchNo filed in NET_ITS_PLATE_RESULT, valid when continuous capture is triggered over the network
struJpegPara
Captured image parameters, only supported by access control terminal V1.1
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SNAPENABLECFG

Structure of intelligent traffic camera enable parameters.

struct{
  DWORD      dwSize;
  BYTE       byPlateEnable;
  BYTE       byRes1[2];
  BYTE       byFrameFlip;
  WORD       wFlipAngle;
  WORD       wLightPhase;
  BYTE       byLightSyncPower;
  BYTE       byFrequency;
  BYTE       byUploadSDEnable;
  BYTE       byPlateMode;
  BYTE       byUploadInfoFTP;
  BYTE       byAutoFormatSD;
  WORD       wJpegPicSize;
  BYTE       bySnapPicResolution;
  BYTE       byRes[58];
}NET_DVR_SNAPENABLECFG, *LPNET_DVR_SNAPENABLECFG;

Members

dwSize
Structure size
byPlateEnable
Whether to support license plate recognition, 0- no, 1- yes
byRes1
Reserved, please set to 0
byFrameFlip
Flip the image or not: 0- not flip, 1- flip
wFlipAngle
Flipped angle: 0, 90, 180, or 270
wLightPhase
Phase, value range: [0, 360]
byLightSyncPower
Whether set it to synchronize with the signal power: 0- not synchronize, 1- synchronize
byFrequency
Signal frequency
byUploadSDEnable
Whether automatically upload picture in SD card to center: 0- no, 1- yes
byPlateMode
Recognition mode parameter: 0- video triggered,1- external triggered
byUploadInfoFTP
Whether to upload snapshot additional information to the FTP: 0- no, 1- yes
byAutoFormatSD
Whether to format the SD card automatically: 0- no, 1- yes
wJpegPicSize
Jpeg picture size, value range: 64 to 8196, unit: KB, used for picture quality settings for traffic camera of the version 3.5 or above.
bySnapPicResolution
Capture picture resolution ( the same as the resolution in NET_DVR_COMPRESSION_INFO_V30中):
0-DCIF(528*384/528*320)，1-CIF(352*288/352*240)，2-QCIF(176*144/176*120)，3-4CIF(704*576/704*480)或D1(720*576/720*486)，4-2CIF(704*288/704*240)，6-QVGA(320*240)，7-QQVGA(160*120)，12-384*288，13-576*576，16-VGA(640*480)，17-UXGA(1600*1200)，18-SVGA(800*600)，19-HD720P(1280*720)，20-XVGA(1280*960)，21-HD900P(1600*900)，22-1360*1024，23-1536*1536，24-1920*1920，27-1920*1080p，28-2560*1920，29-1600*304，30-2048*1536，31-2448*2048，32-2448*1200，33-2448*800，34-XGA(1024*768)，35-SXGA(1280*1024)，36-WD1(960*576/960*480)，37-1080i(1920*1080)，38-WXGA(1440*900)，39-HD_F(1920*1080/1280*720)，40-HD_H(1920*540/1280*360)，41-HD_Q(960*540/630*360)，42-2336*1744，43-1920*1456，44-2592*2048，45-3296*2472，46-1376*768，47-1366*768，48-1360*768，49-WSXGA+，50-720*720，51-1280*1280，52-2048*768，53-2048*2048，54-2560*2048，55-3072*2048，56-2304*1296，57-WXGA(1280*800)，58-1600*600，59-1600*900，60-2752*2208，61-384*288，62-4000*3000，63-4096*2160，64-3840*2160，65-4000*2250，66-3072*1728，67-2592*1944，68-2464*1520，69-1280*1920，70-2560*1440，71-1024*1024，72-160*128，73-324*240，74-324*256，75-336*256，76-640*512，77-2720*2048，78-384*256，79-384*216，80-320*256，81-320*180，82-320*192，83-512*384，84-325*256，85-256*192，86-640*360，0xff-Auto(use current stream resolution)
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SNAPINFO_COND

Capture picture configuration condition structure。

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  BYTE     byRelateType;
  BYTE     byRes[63];
}NET_DVR_SNAPINFO_COND,*LPNET_DVR_SNAPINFO_COND;

Members

dwSize
Structure size
dwChan
Channel No.
byRelateType
0- Linked capture MPR mode(for multi-frame triggering capture IPC), 1- Linked capture HVI mode( for mixed IPC)
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_SNAPINFOCFG

Capture picture settings structure

struct{
  DWORD    dwSize;
  BYTE     byCurPicType;
  BYTE     byPicQuality;
  BYTE     byRes1[2];
  DWORD    dwPicSize;
  BYTE     byRes2[128];
}NET_DVR_SNAPINFOCFG,*LPNET_DVR_SNAPINFOCFG;

Members

dwSize
Structure size
byCurPicType
Currently valid picture parameters: 0- picture quality, 1-picture size
byPicQuality
Picture quality, value range [1,100]
byRes1
Reserved, set as 0.
dwPicSize
Picture size, value range [64k,2048k], Unit: byte
byRes2
Reserved, set as 0.

Remarks

The quality and size of the captured picture cannot be valid at the same time.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_SNMPCFG

Structure of SNMP configuration.

struct{
  DWORD          dwSize;
  BYTE           byEnable;
  BYTE           byRes1[3];
  WORD           wVersion;
  WORD           wServerPort;
  BYTE           byReadCommunity[NAME_LEN];
  BYTE           byWriteCommunity[NAME_LEN];
  BYTE           byTrapHostIP[DESC_LEN_64] ;
  WORD           wTrapHostPort;
  BYTE           byRes2[102];
}NET_DVR_SNMPCFG,*LPNET_DVR_SNMPCFG;

Members

dwSize
Structure size
byEnable
0- enable SNMP, 1- disable SNMP
byRes1
Reserved, please set to 0
wVersion
SNMP version: 1- v1, 2- v2
wServerPort
Message receiving port of SNMP, default:161
byReadCommunity
Read Community, max 31 bytes, default: "public"
byWriteCommunity
Write Community, max 31 bytes, default: "private"
byTrapHostIP
Trap host IP. It supports IPV4, IPV6 or domain name.
wTrapHostPort
Trap host port
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SNMPCFG_V30

Structure of SNMP configuration

struct{
  DWORD                  dwSize;
  BYTE                   byEnableV1;
  BYTE                   byEnableV2;
  BYTE                   byEnableV3;
  BYTE                   byRes1[3];
  WORD                   wServerPort;
  BYTE                   byReadCommunity[NAME_LEN];
  BYTE                   byWriteCommunity[NAME_LEN];
  BYTE                   byTrapHostIP[DESC_LEN_64] ;
  WORD                   wTrapHostPort;
  BYTE                   byRes2[2];
  NET_DVR_SNMPv3_USER    struRWUser;
  NET_DVR_SNMPv3_USER    struROUser;
  BYTE                   byRes3[32];
}NET_DVR_SNMPCFG_V30,*LPNET_DVR_SNMPCFG_V30;

Members

dwSize
Structure size
byEnableV1
0- disable SNMP V1, 1- enable SNMP V1
byEnableV2
0- disable SNMP V2, 1- enable SNMP V2
byEnableV3
0- disable SNMP V3, 1- enable SNMP V3
byRes1
Reserved, please set to 0
wServerPort
Message receiving port of SNMP, default:161
byReadCommunity
Read Community, max 31 bytes, default: "public"
byWriteCommunity
Write Community, max 31 bytes, default: "private"
byTrapHostIP
Trap host IP. It supports IPV4, IPV6 or domain name
wTrapHostPort
Trap host port
byRes2
Reserved, please set to 0
struRWUser
Reading and writing user
struROUser
Read-only user
byRes3
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SOCKS_CFG

Structure of SOCKS information

struct{
  DWORD    dwSize;
  BYTE     byEnableSocks;
  BYTE     byVersion;
  WORD     wProxyPort;
  BYTE     byProxyaddr[MAX_DOMAIN_NAME];
  BYTE     byUserName[MAX_DOMAIN_NAME];
  BYTE     byPassword[NAME_LEN];
  BYTE     byLocalAddr[MAX_LOCAL_ADDR_LEN];
  BYTE     byRes[128];
}NET_DVR_SOCKS_CFG,*LPNET_DVR_SOCKS_CFG;

Members

dwSize
Structure size
byEnableSocks
Enable SOCKS or not: 0- disable, 1- enable
byVersion
SOCKS version: 4- SOCKS4, 5- SOCKS5
wProxyPort
Proxy port, default: 1080
byProxyaddr
Proxy IP address, or domain name
byUserName
User name, used for SOCKS5
byPassword
Password, used for SOCKS5
byLocalAddr
The local network segment which does not need to use SOCKS proxy server, format: "ip/netmask;ip/netmask;…"
It use slash(/) to separate IP and network mask, and you can enter multiple network addresses and use the semicolon (;) to separate them, e.g., 10.0.0.0/255.0.0.0; 172.16.0.0/255.240.0.0
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SOFTWARE_SERVICE_CFG

Software service configuration structure

struct{
  DWORD    dwSize;
  BYTE     byThirdStreamEnabled;
  BYTE     byRes[255];
}NET_DVR_SOFTWARE_SERVICE_CFG,*LPNET_DVR_SOFTWARE_SERVICE_CFG;

Members

dwSize
Structure size
byThirdStreamEnabled
Whether to enable third stream: 0- no, 1- yes
byRes
Reserved, set as 0

Remarks

  • For performance issue, rotation, WDR and H.264 functions will not be supported by 2x series 100w, 200w, 400w models after third stream is enabled.
  • Whether device supports software service configuration or the supported capability, can be determined through device capability set (SoftwareService), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_SOFTWARE_SERVICE_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_SPARE_DISK_PARAM

Structure of hot spare parameter

struct{
  WORD    wPDSlot;
  WORD    wArrayID;
  BYTE    bySpareType;
  BYTE    byRes[7];
}NET_DVR_SPARE_DISK_PARAM, *LPNET_DVR_SPARE_DISK_PARAM;

Members

wPDSlot
Physical disk slot
wArrayID
RAID ID that the disk belongs to (It is valid when the spare type is assigned RAID)
bySpareType
Spare type: 1- global hot spare, 2- assigned RAID(wArrayID is valid)
byRes
Reserved, please set to 0

See Also

NET_DVR_SetSpareDisk


NET_DVR_SPECIAL_FINDINFO_UNION

Union of intelligent search Info

union{
  BYTE                   byLenth[8];
  NET_DVR_ATMFINDINFO    struATMFindInfo;
}NET_DVR_SPECIAL_FINDINFO_UNION,*LPNET_DVR_SPECIAL_FINDINFO_UNION;

Members

uLen
Union size, 8 bytes
struATMFindInfo
ATM search info

See Also

NET_DVR_FILECOND_V40


NET_DVR_SPEEDLMT_PARA

Structure of speed limit configuration.

struct{
  BYTE           bStartMaxSpeedLimit;
  BYTE           bStartMinSpeedLimit;
  BYTE           byRes[6];
  DWORD          dwMaxSpeedLimit;
  DWORD          dwMinSpeedLimit;
}NET_DVR_SPEEDLMT_PARA, *LPNET_DVR_SPEEDLMT_PARA;

Members

bStartMaxSpeedLimit
Whether enable high-speed limit: 0- no, 1- yes
bStartMinSpeedLimit
Whether enable low-speed limit: 0- no, 1- yes
byRes
Reserved, please set to 0
dwMaxSpeedLimit
The maximum speed limit value, unit: km/h
dwMinSpeedLimit
The minimum speed limit value, unit: km/h

See Also

NET_DVR_GSENSORPARA
NET_DVR_ENFORCESYS_PARA


NET_DVR_SPRCFG

Structure of license plate recognition parameters

struct{
  DWORD          dwSize;
  BYTE           byDefaultCHN[MAX_CHJC_NUM];
  BYTE           byPlateOSD;
  BYTE           bySendJPEG1;
  BYTE           bySendJPEG2;
  WORD           wDesignedPlateWidth;
  BYTE           byTotalLaneNum;
  BYTE           byRes1;
  WORD           wRecognizedLane;
  NET_VCA_RECT   struLaneRect[MAX_INTERVAL_NUM];
  DWORD          dwRecogMode;
  BYTE           bySendPRRaw;
  BYTE           bySendBinImage;
  BYTE           byDelayCapture;
  BYTE           byUseLED;
  BYTE           byRes2[68];
}NET_DVR_SPRCFG, *LPNET_DVR_SPRCFG;

Members

dwSize
Structure size
byDefaultCHN
Shortening of province name.
byPlateOSD
0-Not overlay colorized plate picture,1-overlay colorized plate picture
bySendJPEG1
0-not upload JPEG picture 1,1-upload JPEG picture 1
bySendJPEG2
0-not upload JPEG picture 2,1-upload JPEG picture 2
wDesignedPlateWidth
Designed plate width
byTotalLaneNum
Total lane number
byRes1
Reserved, please set it to 0
wRecognizedLane
Recognized lane,represent by bits,bit0 means whether lane 1 is recognized or not,0-no,1-yes
struLaneRect
Recognition area
dwRecogMode
Recognition type,bit0-recognition direction:0-from front,1-from back  ;
bit1-Big plate of little plate:0-little plate,1-Big plate ;
bit2-Colour recogniton:0-disable colour recogniton,1-Enable colour recogniton;
bit3-Agricultural car recogniton:0-disable,1-enable;
bit4-Blur recognition:0-disable,1-enable;
bit5-Fram location or scene location:0-Fram location,1-Scene location;
bit6-Fram recognition or Scene recogniton:0-Fram recognition,1-Scene recogniton;
bit7-Day or night:0-Day,1-Night
bySendPRRaw
Whether upload vehicle raw image(supported only by iDS-65xx): 0- no, 1- yes
bySendBinImage
Whether upload vehicle binary image(supported only by iDS-65xx): 0- no, 1- yes
byDelayCapture
Delay capture control, unit: frame
byUseLED
Whether use LED control: 0- no, 1- yes
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_START_PIC_VIEW_INFO

Structure of picture callback view information

struct{
  DWORD    dwSize;
  DWORD    dwSignalIndex;
  BYTE     sDeviceID[DVCS_DEVICEID_LEN];
  BYTE     byChanIndex;
  BYTE     byRes[31];
}NET_DVR_START_PIC_VIEW_INFO,*LPNET_DVR_START_PIC_VIEW_INFO;

Members

dwSize
Structure size
dwSignalIndex
The sequence number of signal source, used for multi-screen controller, and please set it to 0 for other devices
sDeviceID
Device ID
byChanIndex
Channel number, starting form 1
byRes
Reserved, please set to 0

See Also

NET_DVR_StartPicPreview


NET_DVR_STATISTIC_DATA_COND

Statistics data condition structure

struct{
  DWORD         dwSize;
  DWORD         dwTypeTarget;
  NET_DVR_TIME  struStartTime;
  NET_DVR_TIME  struStopTime;
}NET_DVR_STATISTIC_DATA_COND,*LPNET_DVR_STATISTIC_DATA_COND;

Members

dwSize
Structure size
dwTypeTarget
统计对象类型，详见TARGET_TYPE，具体定义如下：
enum _VCA_OPERATE_TYPE_{
  NET_SDK_ALL_TARGET       = 0,
  NET_SDK_PPT_TARGET_ALARM,
  NET_SDK_PPT_TARGET_VIEW ,
  NET_SDK_STU_SINGLE_ALARM,
  NET_SDK_STU_SINGLE_VIEW,
  NET_SDK_SUT_MULT_ALARM,
  NET_SDK_STU_MULT_VIEW,
  NET_SDK_STU_TEACHER_VIEW,
  NET_SDK_TEA_UP_DOWN_ALARM,
  NET_SDK_TEA_START_VIEW,
  NET_SDK_BLA_WRITE_ALARM,
  NET_SDK_BLA_WRITE_VIEW,
  NET_SDK_TEA_FULL_VIEW,
  NET_SDK_TEA_START_ALARM,
  NET_SDK_TEA_WALK_ALARM,
  NET_SDK_TEA_LEFT_ALARM,
  NET_SDK_TEA_RUN_ALARM,
  NET_SDK_TEA_MULT_ALARM
}VCA_OPERATE_TYPE
NET_SDK_ALL_TARGET
Include all objects
NET_SDK_PPT_TARGET_ALARM
PPT alarm
NET_SDK_PPT_TARGET_VIEW
PPT view
NET_SDK_STU_SINGLE_ALARM
Single student alarm
NET_SDK_STU_SINGLE_VIEW
Single student view
NET_SDK_SUT_MULT_ALARM
Multiple student alarm
NET_SDK_STU_MULT_VIEW
Multiple student view
NET_SDK_STU_TEACHER_VIEW
Interaction view
NET_SDK_TEA_UP_DOWN_ALARM
Teacher on/off the podium
NET_SDK_TEA_START_VIEW
Teaching view
NET_SDK_BLA_WRITE_ALARM
Writing board alarm
NET_SDK_BLA_WRITE_VIEW
Writing board view
NET_SDK_TEA_FULL_VIEW
Teacher full view
NET_SDK_TEA_START_ALARM
Teaching start alarm
NET_SDK_TEA_WALK_ALARM
Teacher walking alarm
NET_SDK_TEA_LEFT_ALARM
Teacher leaving alarm
NET_SDK_TEA_RUN_ALARM
Teacher running alarm
NET_SDK_TEA_MULT_ALARM
Multiple teacher alarm
struStartTime
Statistics start time
struStopTime
Statistics end time
byRes
Reserved, set as 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_STATUS_DETECTCFG

Structure of status detection enable parameter

struct{
  DWORD    dwSize;
  BYTE     byEnableTrigIODetect;
  BYTE     byEnableFlashOutDetect;
  BYTE     byEnableRS485Detect;
  BYTE     byRes[29];
}NET_DVR_STATUS_DETECTCFG,*LPNET_DVR_STATUS_DETECTCFG;

Members

dwSize
Structure size
byEnableTrigIODetect
Enable status detection of IO or not: 1- yes, 0- no
byEnableFlashOutDetect
Enable status detection of synchronous output or not: 1- yes, 0- no
byEnableRS485Detect
Enable RS485 receiving status detection or not: 1- yes, 0- no
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_STD_ABILITY

Capability set input and output parameters structure

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  DWORD     dwRetSize;
  BYTE      byRes[32];
}NET_DVR_STD_ABILITY, *LPNET_DVR_STD_ABILITY;

Members

lpCondBuffer
[in]Condition parameters(codon)，such as channel No, can be NULL.
dwCondSize
[in]Condition parameters buffer size
lpOutBuffer
[out]Output parameters buffer(XML format), cannot be NULL.
dwOutSize
[in]Output buffer size
lpStatusBuffer
[out]Get the returned status parameters on failure(XML format:ResponseStatus)，This parameterscan be set as NULL if not needed.
dwStatusSize
[in]Status buffer size
dwRetSize
[out]Obtained data length(If the data is successfully obtained, this value is the length of lpOutBuffer, If getting data failed, this value is the length of lpStatusBuffer
byRes
[in]Reserved

Remarks

For different capability set types（dwAbilityType in NET_DVR_GetSTDAbility），lpCondBuffer and lpOutBuffer correspond to different contents. For details, see the remark section of NET_DVR_GetSTDAbility.

See Also

NET_DVR_GetSTDAbility


NET_DVR_STD_ABILITY

Capability set input output parameters structure

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  DWORD     dwRetSize;
  BYTE      byRes[32];
}NET_DVR_STD_ABILITY, *LPNET_DVR_STD_ABILITY;

Members

lpCondBuffer
[in]Condition parameters such as channel No., can be se as NULL.
dwCondSize
[in]Condition parameters buffer size
lpOutBuffer
[out]Output parameters buffer(XML format), cannot be NULL.
dwOutSize
[in]Output buffer size
lpStatusBuffer
[out]Get the returned failure status parameters(XML format：ResponseStatus)，it will not be valued if getting the parameters successfully, can be set as NULL.
dwStatusSize
[in]Status buffer size
dwRetSize
[out]The returned data length (Success: Value=length of lpOutBuffer；Failure: value=length of lpStatusBuffer)
byRes
[in]Reserved

Remarks

For different capability set type（NET_DVR_GetSTDAbility中的dwAbilityType），lpCondBuffer and lpOutBuffer correspond to different content, for details, see the 'Remark' section of NET_DVR_GetSTDAbility.

See Also

NET_DVR_GetSTDAbility


NET_DVR_STD_ABILITY

Structure for the input/output parameters in the capability set.

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  DWORD     dwRetSize;
  BYTE      byRes[32];
}NET_DVR_STD_ABILITY, *LPNET_DVR_STD_ABILITY;

Members

lpCondBuffer
[in]Condition parameters (ASCII character format), e.g., the channel No. can be set as NULL.
dwCondSize
[in]Buffer size of condition parameters
lpOutBuffer
[out]Output parameters buffer (XML format), cannot be set as NULL.
dwOutSize
[in]Output buffer size
lpStatusBuffer
[out]Get the returned status parameters when getting failed (XML format: ResponseStatus). It does not have any value when getting successfully, otherwise, it can be set as NULL.
dwStatusSize
[in]Status buffer size
dwRetSize
[out]Obtained data size. (If obtained successfully, the value refers to the size of lpOutBuffer, while if failed to obtain, the value refers to the size of lpStatusBuffer的.)
byRes
[in]Reserved.

Remarks

As for different capability set types (dwAbilityType in NET_DVR_GetSTDAbility), lpCondBuffer and lpOutBuffer correspond to different contents respectively. For details, see "Remarks" part in NET_DVR_GetSTDAbility.

See Also

NET_DVR_GetSTDAbility


NET_DVR_STD_CONFIG

The structure of configuring input/output parameters

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpInBuffer;
  DWORD     dwInSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  LPVOID    lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[23];
}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG;

Members

lpCondBuffer
[in]Condition parameters(structure format), such as channel No., can be set as NULL.
dwCondSize
[in]The size of condition parameters buffer
lpInBuffer
[in]Input parameters, the value is NULL when getting the parameter, and the value is not NULL when setting the parameter.
dwInSize
[in]The size of input parameters buffer.
lpOutBuffer
[out]Output parameters, the value is NULL when getting the parameter, and the value is not NULL when setting the parameter.
dwOutSize
[in]The size of output parameters buffer.
lpStatusBuffer
[out]Returned condition parameters(format of XML：ResponseStatus),no value id getting and setting succeeded, can be set as NULL
dwStatusSize
[in]The size of status parameters buffer
lpXmlBuffer
[in/out]Valid when byDataType = 1,the data content is xml format.
dwXmlSize
[in/out]the size of the memory pointed by the lpXmlBuffer, can be either input or output parameters when getting the parameters, the actual length will be edited and returned after getting the parameter successfully. It indicates the actual length of the data【strlen((char*) lpXmlBuffer)】 when configuring.
byDataType
[in]Input/output parameters type,0- valid when using the type of lpInBuffer/lpOutBuffer, 1- valid when using the type of lpXmlBuffer.
byRes
[in]Reserved, set as 0.

Remarks

The lpInBuffer is invalid when getting the configuration parameters, and set as NULL. For different configuration function(dwCommand in NET_DVR_GetSTDConfig), the content of lpCondBuffer and lpOutBuffer are different, refer to "Remarks" section in NET_DVR_GetSTDConfig for details.


NET_DVR_STD_CONFIG

>The structure of configuring input/output parameters

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpInBuffer;
  DWORD     dwInSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  LPVOID    lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[23];
}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG;

Members

lpCondBuffer
[in]Condition parameters(structure format), such as channel No., can be set as NULL.
dwCondSize
[in]The size of condition parameters buffer
lpInBuffer
[in]Input parameters, the value is NULL when getting the parameter, and the value is not NULL when setting the parameter.
dwInSize
[in]The size of input parameters buffer.
lpOutBuffer
[out]Output parameters, the value is NULL when getting the parameter, and the value is not NULL when setting the parameter.
dwOutSize
[in]The size of output parameters buffer.
lpStatusBuffer
[out]Returned condition parameters(format of XML：ResponseStatus),no value id getting and setting succeeded, can be set as NULL
dwStatusSize
[in]The size of status parameters buffer
lpXmlBuffer
[in/out]Valid when byDataType = 1,the data content is xml format.
dwXmlSize
[in/out]the size of the memory pointed by the lpXmlBuffer, can be either input or output parameters when getting the parameters, the actual length will be edited and returned after getting the parameter successfully. It indicates the actual length of the data【strlen((char*) lpXmlBuffer)】 when configuring.
byDataType
[in]Input/output parameters type,0- valid when using the type of lpInBuffer/lpOutBuffer, 1- valid when using the type of lpXmlBuffer.
byRes
[in]Reserved, set as 0.

Remarks

The lpInBuffer is invalid when getting the configuration parameters, and set as NULL. For different configuration function(dwCommand in NET_DVR_GetSTDConfig), the content of lpCondBuffer and lpOutBuffer are different, refer to "Remarks" section in NET_DVR_GetSTDConfig for details.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_STD_CONFIG

Input/output parameters configuration structure

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpInBuffer;
  DWORD     dwInSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  LPVOID    lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[23];
}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG;

Members

lpCondBuffer
[in]Condition parameters (structure or XML format)，such as channel No., can be NULL.
dwCondSize
[in]Condition parameters buffer size
lpInBuffer
[in]Input parameters (structure), the value is NULL when getting the parameters, but is not NULL when configuring the parameters.
dwInSize
[in]Input parameters buffer size
lpOutBuffer
[out]Output parameters(structure)，the value is not NULL when getting the parameters, but is NULL when configuring the parameters.
dwOutSize
[in]Output buffer size
lpStatusBuffer
[out]Returned status parameters (XML format: ResponseStatus)，it will not be valued if operating successfully,it can be set as NULL if it is not required.
dwStatusSize
[in]Status parameters buffer size
lpXmlBuffer
valid when [in/out]byDataType = 1, xml format
dwXmlSize
[in/out]lpXmlBuffer pointed memory size, it is the input and output parameters when obtaining, and return the actual length after obtained；It represents the actual data length [strlen((char*) lpXmlBuffer)] when configuring.
byDataType
[in]Input/output parameters type: 0- Structure format (lpInBuffer/lpOutBuffer)，1- XML format (lpXmlBuffer)
byRes
[in]Reserved, set as 0.

Remarks

When getting the parameters, lpInBuffer is invalid, should be set as NULL. For different configuration function (configuration command dwCommand in NET_DVR_GetSTDConfig)，lpCondBuffer, lpOutBuffer, and lpXmlBuffer correspond to different content, for details, refer to the remark section in NET_DVR_GetSTDConfig.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_STD_CONFIG

Configure the structure of the input and output parameters.

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpInBuffer;
  DWORD     dwInSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  LPVOID    lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[23];
}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG;

Members

lpCondBuffer
[in] Condition Parameters (structures or XML formats), such as the channel No., can be NULL.
dwCondSize
[in] Condition Parameters Buffer Size
lpInBuffer
[in]Input Parameters (Structure Format) is NULL when getting. Input Parameters (Structure Format) is not NULL when configuring.
dwInSize
[in] Input Parameters Buffer Size
lpOutBuffer
[out] Output Parameters (Structure Format) is NULL when getting. Output Parameters (Structure Format) is not NULL when configuring.
dwOutSize
[in] Output Parameters Buffer Size
lpStatusBuffer
[out]Returned Status Parameters (XML Format: ResponseStatus)will not be valued when getting and configuring completed. If it is not needed, set the parameter to NULL.
dwStatusSize
[in]Status Parameters Buffer Size
lpXmlBuffer
[in/out] When byDataType = 1, the xml format data is valid.
dwXmlSize
[in/out]The memory size that lpXmlBuffer refers to: When getting , the memory size value refers to the input and output parameters. When getting completed, the returned real length will be modified. When configuring, the memory size value refers to the real data length【strlen((char*) lpXmlBuffer)】, while not the whole memory size.
byDataType
[in] Input/Output Parameters Type: 0- When using the structure type of lpInBuffer/lpOutBuffer, it is valid. 1- When using the XML type of lpXmlBuffer, it is valid.
byRes
[in]Reserved bytes; Set to 0.

Remarks

When getting the configuration parameters, lpInBuffer is invalid. It will be set to NULL. When referring to different configuration functions（the configuration command dwCommand in NET_DVR_GetSTDConfig）, lpCondBuffer and lpOutBuffer are corresponding to different contents respectively. For details, see the introduction of "Remarks" in the NET_DVR_GetSTDConfig interface.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_STD_CONFIG

The structure of configuring input/output parameters

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpInBuffer;
  DWORD     dwInSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  LPVOID    lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[23];
}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG;

Members

lpCondBuffer
[in]Condition parameters(structure format), such as channel No., can be set as NULL.
dwCondSize
[in]The size of condition parameters buffer
lpInBuffer
[in]Input parameters, the value is NULL when getting the parameter, and the value is not NULL when setting the parameter.
dwInSize
[in]The size of input parameters buffer.
lpOutBuffer
[out]Output parameters, the value is NULL when getting the parameter, and the value is not NULL when setting the parameter.
dwOutSize
[in]The size of output parameters buffer.
lpStatusBuffer
[out]Returned condition parameters(format of XML：ResponseStatus),no value id getting and setting succeeded, can be set as NULL
dwStatusSize
[in]The size of status parameters buffer
lpXmlBuffer
[in/out]Valid when byDataType = 1,the data content is xml format.
dwXmlSize
[in/out]the size of the memory pointed by the lpXmlBuffer, can be either input or output parameters when getting the parameters, the actual length will be edited and returned after getting the parameter successfully. It indicates the actual length of the data【strlen((char*) lpXmlBuffer)】 when configuring.
byDataType
[in]Input/output parameters type,0- valid when using the type of lpInBuffer/lpOutBuffer, 1- valid when using the type of lpXmlBuffer.
byRes
[in]Reserved, set as 0.

Remarks

The lpInBuffer is invalid when getting the configuration parameters, and set as NULL. For different configuration function(dwCommand in NET_DVR_GetSTDConfig), the content of lpCondBuffer and lpOutBuffer are different, refer to "Remarks" section in NET_DVR_GetSTDConfig for details.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_STD_CONFIG

The structure of configuring input/output parameters

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpInBuffer;
  DWORD     dwInSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  LPVOID    lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[23];
}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG;

Members

lpCondBuffer
[in]Condition parameters(structure format or XML format), such as channel No., can be set as NULL.
dwCondSize
[in]The size of condition parameters buffer
lpInBuffer
[in]Input parameters (structure format), the value is NULL when getting the parameter, and the value is not NULL when setting the parameter.
dwInSize
[in]The size of input parameters buffer.
lpOutBuffer
[out]Output parameters (structure format), the value is NULL when getting the parameter, and the value is not NULL when setting the parameter.
dwOutSize
[in]The size of output parameters buffer.
lpStatusBuffer
[out]Returned status parameters (XML format: ResponseStatus)，it will not be valued if operating successfully,it can be set as NULL if it is not required.
dwStatusSize
[in]The size of status parameters buffer
lpXmlBuffer
[in/out]Valid when byDataType = 1,the data content is xml format.
dwXmlSize
[in/out]Memory size of lpXmlBuffer: it can act as the input parameter and the output parameter simultaneously. The returned size will be modified after obtaining successfully. When configuring the parameter, it refers to the actual data size [strlen((char*) lpXmlBuffer)], not the whole memory size.
byDataType
[in]Input/output parameters type: 0- valid to use the structure type lpInBuffer/lpOutBuffer, 1- valid to use the XML type lpXmlBuffer
byRes
[in]Reserved, set to 0

Remarks

When getting the configuration parameters, it can be set as NULL, and the value of lpInBuffer is invalid. As for different configuration functions (dwCommand of NET_DVR_GetSTDConfig), lpCondBuffer and lpOutBuffer correspond to different contents. For details, see "Remarks" parts in NET_DVR_GetSTDConfig.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_STD_CONFIG

Configure input and output parameter structure.

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpInBuffer;
  DWORD     dwInSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  LPVOID    lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[23];
}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG;

Members

lpCondBuffer
[in]Condition parameter(structure or XML format), such as camera number, etc, can be NULL.
dwCondSize
[in]Condition parameter buffer size
lpInBuffer
[in]Input parameter(structure format), when gained is NULL, when congifuring is not NULL.
dwInSize
[in]Input parameter buffer size
lpOutBuffer
[out]Output parameter(structure format),when gained is NULL, when congifuring is not NULL.
dwOutSize
[in]Output parameter buffer size
lpStatusBuffer
[out]Return status parameter(XML format:ResponseStatus). No assignment when gained and configured. If not needed, set as NULL.
dwStatusSize
[in]Status parameter buffer size
lpXmlBuffer
[in/out]Valid when byDataType = 1,XML format data content
dwXmlSize
[in/out]The memory size pointed by lpXmlBuffer: when the memory size is gained, it is both the input and output parameter; after being gained, the memory size will change and return real length after gained; when configuring, indicate the real data length [strlen((char*) lpXmlBuffer)], not the whole memory size.
byDataType
[in]Input/output parameter type:0- enbaling structure type lpInBuffer/lpOutBuffer is valid,1- using XML type lpXmlBuffer is valid
byRes
[in]Reserved node, set as 0

Remarks

When obtaining configuration parameter,lpInBuffer is invalid, set as NULL.For different contol functions (the control commmand dwCommandin the NET_DVR_STDControl), lpCondBuffer and lpOutBuffer correspond to different contentsr, see details in the Remarks of interface NET_DVR_STDControl.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_STD_CONFIG

Structure for input/output parameters configuration.

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpInBuffer;
  DWORD     dwInSize;
  LPVOID    lpOutBuffer;
  DWORD     dwOutSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  LPVOID    lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[23];
}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG;

Members

lpCondBuffer
[in]Condition parameters (structure or XML format), e.g., the channel No. can be set as NULL.
dwCondSize
[in]Buffer size of condition parameters
lpInBuffer
[in]Input parameter (structure format). The value is NULL when getting input parameters. The value cannot be NULL when configuring input parameters.
dwInSize
[in]Buffer size of input parameters
lpOutBuffer
[out]Output parameters (structure format). The value cannot be NULL when getting output parameters. The value is NULL when getting output parameters.
dwOutSize
[in]Buffer size of output parameters
lpStatusBuffer
[out]Returned status parameters (XML format: ResponseStatus). It does not have any value if getting or configuring returned status parameter successfully, otherwise, it can be set as NULL.
dwStatusSize
[in]Buffer size of status parameters
lpXmlBuffer
[in/out]It is valid when the value of byDataType is 1. The data content is in the XML format.
dwXmlSize
[in/out]Memory size of lpXmlBuffer: it can act as the input parameter and the output parameter simultaneously. The returned size will be modified after obtaining successfully. When configuring the parameter, it refers to the actual data size [strlen((char*) lpXmlBuffer)], not the whole memory size.
byDataType
[in]Input/output parameters type: 0- valid to use the structure type lpInBuffer/lpOutBuffer, 1- valid to use the XML type lpXmlBuffer
byRes
[in]Reserved, set as 0.

Remarks

When getting the configuration parameters, it can be set as NULL, and the value of lpInBuffer is invalid. As for different configuration functions (dwCommand of NET_DVR_GetSTDConfig), lpCondBuffer and lpOutBuffer correspond to different contents. For details, see "Remarks" parts in NET_DVR_GetSTDConfig.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_STD_CONTROL

Remote control input/output parameters structure

struct{
  LPVOID    lpCondBuffer;
  DWORD     dwCondSize;
  LPVOID    lpStatusBuffer;
  DWORD     dwStatusSize;
  BYTE      byRes[64];
}NET_DVR_STD_CONTROL,*LPNET_DVR_STD_CONTROL;

Members

lpCondBuffer
[in]Condition parameters(Structure format), such as channel No., can be NULL
dwCondSize
[in]buffer size of the condition parameters
lpStatusBuffer
[out]Returned structure parameters(XML format：ResponseStatus). If it is not needed, set as NULL.
dwStatusSize
[in]Condition parameters buffer size
byRes
[in]Reserved, set as 0.

Remarks

For different control function(dwCommand in NET_DVR_STDControl). lpCondBuffer corresponds to different content. For details, see Remark session in NET_DVR_STDControl

See Also

Network parameters settings：NET_DVR_STDControl

Forced refreshing frame：NET_DVR_STDControl

Smart traffic camera：NET_DVR_STDControl


NET_DVR_STD_CONTROL

Remote control input and output parameter structure

struct{
  void      *lpCondBuffer;
  DWORD     dwCondSize;
  void      *lpStatusBuffer;
  DWORD     dwStatusSize;
  void      *lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[55];
}NET_DVR_STD_CONTROL,*LPNET_DVR_STD_CONTROL;

Members

lpCondBuffer
[in] Condition parameter (structure or XML format), e.g., channel No., can be NULL
dwCondSize
[in] Condition parameter buffer size
lpStatusBuffer
[out] Return status parameter (XML format: ResponseStatus), no value if control is successful, can be set as null if not needed
dwStatusSize
[in] Status parameter buffer size
dwStatusSize
[in] Status parameter buffer size
lpXmlBuffer
[in/out] XML format data, valid when byDataType=1
dwXmlSize
[in] Size of lpXmlBuffer-pointed memory: can be either input or output parameters when getting the parameters, the actual length will be edited and returned after getting the parameter successfully. It indicates the actual length of the data [strlen((char*) lpXmlBuffer)] when configuring.
byDataType
[in] Input/output parameter type: 0- valid using lpInBuffer/lpOutBuffer, 1- valid using lpXmlBuffer
byRes
[in] Reserved, set as 0

Remarks

For different configuration function(dwCommand in NET_DVR_GetSTDConfig), the content of lpCondBuffer and lpOutBuffer are different, refer to "Remarks" section in NET_DVR_GetSTDConfig for details.

See Also

NET_DVR_STDControl


NET_DVR_STD_CONTROL

Remote control input/output parameters configuration structure

struct{
  void      *lpCondBuffer;
  DWORD     dwCondSize;
  void      *lpStatusBuffer;
  DWORD     dwStatusSize;
  void      *lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[55];
}NET_DVR_STD_CONTROL,*LPNET_DVR_STD_CONTROL;

Members

lpCondBuffer
[in]Condition parameters (structure or XML format)，such as channel No., can be NULL.
dwCondSize
[in]Condition parameters buffer size
lpStatusBuffer
[out]Returned status parameters(XML format:ResponseStatus)，it will not be valued if operating successfully,it can be set as NULL if it is not required.
dwStatusSize
[in]Status parameters buffer size
dwStatusSize
[in]Status parameters buffer size
lpXmlBuffer
[in/out]xml format data, valid when byDataType=1
dwXmlSize
[in]lpXmlBuffer pointed memory size, it is the input and output parameters when obtaining, and return the actual length after obtained；It represents the actual data length [strlen((char*) lpXmlBuffer)] when configuring.
byDataType
[in]Input/output parameters type: 0- Structure format (lpInBuffer/lpOutBuffer)，1- XML format (lpXmlBuffer)
byRes
[in]Reserved, set as 0.

Remarks

For different configuration function (configuration command dwCommand in NET_DVR_GetSTDConfig)，lpCondBuffer, lpOutBuffer, and lpXmlBuffer correspond to different content, for details, refer to the remark section in NET_DVR_GetSTDConfig. 。

See Also

NET_DVR_STDControl


NET_DVR_STD_CONTROL

Structure of Remote Controlling Input and Output Parameters

struct{
  void      *lpCondBuffer;
  DWORD     dwCondSize;
  void      *lpStatusBuffer;
  DWORD     dwStatusSize;
  void      *lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[55];
}NET_DVR_STD_CONTROL,*LPNET_DVR_STD_CONTROL;

Members

lpCondBuffer
[in]Condition parameters(structure or the XML format), such as the channel No., can be NULL.
dwCondSize
[in]Condition Parameters Buffer Size
lpStatusBuffer
[out] When the returned status parameters (the XML format: ResponseStatus), controlling completed, it will not be valued. If it is not needed, the parameter can set to NULL.
dwStatusSize
[in] Status Parameters Buffer Size
lpXmlBuffer
[in/out]When byDataType=1, the xml format data is valid.
dwXmlSize
[in]The memory size that lpXmlBuffer refers to: When getting, the memory size value refers to the input and output parameters. When getting completed, the returned real length value will be modified. When configuring, the memory size value refers to the real data length【strlen((char*) lpXmlBuffer)】, while not the whole memory size.
byDataType
[in] Input/Output Parameters Type: 0- When using the structure type of lpInBuffer/lpOutBuffer, it is valid. 1- When using the XML type of lpXmlBuffer, it is valid.
byRes
[in]Reserved; Set to 0.

Remarks

When referring to different controlling functions (the controlling parameters dwCommand in NET_DVR_STDControl), lpCondBuffer is corresponding to different contents. For details, see the introduction of "Remarks" in the NET_DVR_STDControl interface.

See Also

NET_DVR_STDControl


NET_DVR_STD_CONTROL

Remote control input and output parameter structure

struct{
  void      *lpCondBuffer;
  DWORD     dwCondSize;
  void      *lpStatusBuffer;
  DWORD     dwStatusSize;
  void      *lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[55];
}NET_DVR_STD_CONTROL,*LPNET_DVR_STD_CONTROL;

Members

lpCondBuffer
[in] Condition parameter (structure or XML format), e.g. channel No., can be null
dwCondSize
[in] Condition parameter buffer size
lpStatusBuffer
[out] Returned status parameter (XML format: ResponseStatus), no value will be assigned when control succeeded, set as null when needed
dwStatusSize
[in] Status parameter buffer size
lpXmlBuffer
[in/out] XML format data, valid when byDataType=1
dwXmlSize
[in] Size of memory which lpXmlBuffer points to: serve as input and output parameter when getting the parameter, and the actual return length will be modified after successfully obtained. It indicates actual data length [strlen((char*) lpXmlBuffer)], rather than the size of the whole memory
byDataType
[in] Input/output parameter type: 0- valid when using structure type lpInBuffer/lpOutBuffer, 1- valid when using XML type lpXmlBuffer
byRes
[in] Reserved, set as 0

Remarks

For different control command (the control parameter dwCommand in NET_DVR_STDControl), lpCondBuffer corresponds to different content, for details see "Remarks" in NET_DVR_STDControl.

See Also

NET_DVR_STDControl


NET_DVR_STD_CONTROL

Remote control input and output parameter structure.

struct{
  void      *lpCondBuffer;
  DWORD     dwCondSize;
  void      *lpStatusBuffer;
  DWORD     dwStatusSize;
  void      *lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[55];
}NET_DVR_STD_CONTROL,*LPNET_DVR_STD_CONTROL;

Members

lpCondBuffer
[in]Condition parameter(Structure or XML format), for example channel number, etc. Condition parameter can be NULL.
dwCondSize
[in]Condition parameter buffer size
lpStatusBuffer
[out]Return status parameter(XML format:ResponseStatus), no assignment if is is controled. If not needed, set as NULL.
dwStatusSize
[in]Status parameter buffer size
dwStatusSize
[in]Status parameter buffer size
lpXmlBuffer
[in/out]XML format data, valid when byDataType=1
dwXmlSize
[in]The memory size pointed by lpXmlBuffer: when the memory size is gained, it is both the input and output parameter; after being gained, the memory size will change and return real length after gained; when configuring, indicate the real data length [strlen((char*) lpXmlBuffer)], not the whole memory size.
byDataType
[in]Input/output parameter type:0- 0- enbaling structure type lpInBuffer/lpOutBuffer is valid,1- using XML type lpXmlBuffer is valid
byRes
[in]Reserved, set as 0

Remarks

For different contol functions (the control parameter dwCommand in the NET_DVR_STDControl), lpCondBuffer correspond to different contents, see details in the Remarks of interface NET_DVR_STDControl.

See Also

NET_DVR_STDControl


NET_DVR_STD_CONTROL

Remote control input and output parameter structure

struct{
  void      *lpCondBuffer;
  DWORD     dwCondSize;
  void      *lpStatusBuffer;
  DWORD     dwStatusSize;
  void      *lpXmlBuffer;
  DWORD     dwXmlSize;
  BYTE      byDataType;
  BYTE      byRes[55];
}NET_DVR_STD_CONTROL,*LPNET_DVR_STD_CONTROL;

Members

lpCondBuffer
[in] Condition parameter (structure or XML format), such as channel No., can be NULL
dwCondSize
[in] Condition parameter buffer size
lpStatusBuffer
[out] Return status parameter (XML format: ResponseStatus), no value will be assigned if control is successful, if not needed, set as NULL
dwStatusSize
[in] Status parameter buffer size
lpXmlBuffer
[in/out] XML format data, valid when byDataType=1
dwXmlSize
[in] Size of memory pointed by lpXmlBuffer: serve as input and output parameter when getting the parameter, the actual return length will be changed after the getting is successful; indicating actual data length when setting [strlen((char*) lpXmlBuffer)], not the size of the whole memory
byDataType
[in] Input/output parameter type: 0- valid when using structure type lpInBuffer/lpOutBuffer,1- valid when using XML type lpXmlBuffer
byRes
[in] Reserved, set as 0

Remarks

For different control function (the control parameter dwCommand of NET_DVR_STDControl), lpCondBuffer corresponds to different content, for details see "Remarks" of NET_DVR_STDControl.

See Also

NET_DVR_STDControl


NET_DVR_STORAGE_DETECTION

Storage health status information structure

struct{
  DWORD    dwSize;
  BYTE     byHealthState;
  BYTE     bySDCardState;
  WORD     wAbnormalPowerLoss;
  WORD     wBadBlocks;
  BYTE     byRemainingLife;
  BYTE     byRes[125];
}NET_DVR_STORAGE_DETECTION, *LPNET_DVR_STORAGE_DETECTION;

Members

dwSize
Structure size
byHealthState
Health condition: 0- Good，1- Not good, 2- Damaged，3- Unknown
bySDCardState
SD card status: 0- Off-line，1- On-line，2- Unknown，3- Locked
wAbnormalPowerLoss
Abnormal off-line times
wBadBlocks
Bad blocks number
byRemainingLife
SD card remaining life, value range：0~100%
byRes
Reserved, set as 0.

Remarks

  • Check whether the device supports this function via device capability(SmartCap)，API：NET_DVR_GetSTDAbility，Capability type:NET_DVR_GET_SMART_CAPABILITIES，node：<isSupportStorageDetection>.

See Also

NET_DVR_GetSTDConfig


NET_DVR_STORAGE_DETECTION_ALARM

Storage VCA detection alarm uploading structure。

struct{
  DWORD               dwSize;
  DWORD               dwRelativeTime;
  DWORD               dwAbsTime;
  NET_VCA_DEV_INFO    struDevInfo;
  DWORD               dwCardID;
  WORD                wAbnormalPowerLoss;
  WORD                wBadBlocks;
  BYTE                byHealthState;
  BYTE                byRes1[3];
  float               fResidualLife;
  BYTE                byRes[118];
}NET_DVR_STORAGE_DETECTION_ALARM, *LPNET_DVR_STORAGE_DETECTION_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative time
dwAbsTime
Absolute time
struDevInfo
Alarm device information, including IP address, port No., channel No., and so on.
dwCardID
Card ID
wAbnormalPowerLoss
Exception power down times
wBadBlocks
Bad block number
byHealthState
Health status, 0- Good, 1- Not good, 2- Damaged, 3- Unknown
byRes1
Reserved, set as 0.
fResidualLife
SD card expected life time, unit: %，accurate to 0.1
byRes
Reserved, set as 0.

Remarks

  • The "year/month/day/hour/minute/second" arithmetic that is parsed from the DWORD type of time value of:
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)
  • Check whether to support checking the storage health status via the device capability (SmartCap)，API：NET_DVR_GetSTDAbility，capability set type:NET_DVR_GET_SMART_CAPABILITIES，节点：<isSupportStorageDetection>.

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_STORAGE_RESOURCE_COND

Storage resource query condition structure

struct{
  DWORD    dwSize;
  DWORD    dwStorageID;
  BYTE     byRes[64];
}NET_DVR_STORAGE_RESOURCE_COND,*LPNET_DVR_STORAGE_RESOURCE_COND;

Members

dwSize
Structure size
dwStorageID
Start to get the remainder resource from the current No., start from 1.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetSTDConfig


NET_DVR_STORAGE_RWLOCK

Storage detection reading/writing lock configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnabled;
  BYTE     byRes[3];
  char     szPassWD[PASSWD_LEN];
  char     szOriginalPassWD[PASSWD_LEN];
  BYTE     byRes1[128];
}NET_DVR_STORAGE_RWLOCK, *LPNET_DVR_STORAGE_RWLOCK;

Members

dwSize
Structure size
byEnabled
Enable? 0- No, 1- Yes
byRes
Reserved, set as 0.
szPassWD
Reading/writing lock new password
szOriginalPassWD
Original password
byRes1
Reserved, set as 0.

Remarks

  • Check whether the device supports this function via the device capability(RWLock)，API:NET_DVR_GetSTDAbility，capability type：NET_DVR_GET_STORAGEDETECTION_RWLOCK_CAPABILITIES。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_STREAM_ATTACHINFO_CFG

Stream attached information settings structure

struct{
  DWORD    dwSize;
  BYTE     byStreamWithVca;
  BYTE     byRes[127];
}NET_DVR_STREAM_ATTACHINFO_CFG, *LPNET_DVR_STREAM_ATTACHINFO_CFG;

Members

dwSize
Structure size
byStreamWithVca
Whether to overlay smart information on the stream? 0- No, 1- Yes
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_STREAM_CABAC

Structure of stream compression performance option

struct{
  DWORD    dwSize;
  BYTE     byCabacEnable;
  BYTE     byRes1[31];
}NET_DVR_STREAM_CABAC, *LPNET_DVR_STREAM_CABAC;

Members

dwSize
Structure size
byCabacEnable
The value of stream compression performance option：0- not promote, 1- promote
byRes1
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_STREAM_INFO

Structure of stream ID

struct{
  DWORD    dwSize;
  BYTE     byID[STREAM_ID_LEN];
  DWORD    dwChannel;
  BYTE     byRes[32];
}NET_DVR_STREAM_INFO,*LPNET_DVR_STREAM_INFO;

Members

dwSize
Structure size
byID
Stream ID, combined by letters, numbers and "_. Invalid if all is 0
dwChannel
The associated channel，0xffffffff - non-associated if it is from NET_DVR_SET_STREAM_SRC_INFOR; invalid if it is the condition parameters in configuring NET_DVR_SET_STREAM_RECORD_INFO、NET_DVR_SET_STREAM_RECORD_STATUS、NET_DVR_SET_MONITOR_VQDCFG and so on
byRes
Reserved, please set to 0

Remarks

  • If the device doesn't support stream ID feature, such as DVR, the value of byID is 0.
  • In terms of transcoder, when configuring the stream source, only one parameter of byID and dwChannel is valid. It will be failed if both are valid or invalid; When passive transcoding, byID and the channel number can be invalid at the same time. The device automatically allocates dwChannel and byID.
  • In terms of other devices (e.g. CVR), when the structure parameter is the entering condition of SDK interface, if byID and dwChannel are both invalid, the Internet SDK will answer parameter error (the error code is 17 in general); if both are valid and the entering byID and dwChannel are not matched, the device may answer failed. Thus, the suggestion is that only entering byID(dwChannel=Oxffffffff) or dwChannel(byID=0).


NET_DVR_STREAM_MEDIA_SERVER

Structure of media steam server parameters

struct{
  BYTE    byValid;
  BYTE    byRes1[3];
  BYTE    byAddress[MAX_DOMAIN_NAME];
  WORD    wDevPort;
  BYTE    byTransmitType;
  BYTE    byRes2[5];
}NET_DVR_STREAM_MEDIA_SERVER,*LPNET_DVR_STREAM_MEDIA_SERVER;

Members

byValid
Enable the media stream server to get the stream:0-disable，non-zero-enable
byRes1
Reserved, set it to 0
byAddress
Media stream server IP address or domain
wDevPort
Media stream server port
byTransmitType
Transport protocol type:0-TCP，1-UDP
byRes2
Reserved, set it to 0

See Also

NET_DVR_DEC_STREAM_DEV_EX NET_DVR_DEC_DDNS_DEV


NET_DVR_STREAM_MEDIA_SERVER_CFG

Stream Media Server parameter

struct{
  BYTE             byValid;
  BYTE             byRes1[3];
  NET_DVR_IPADDR   struDevIP;
  WORD             wDevPort;
  BYTE             byTransmitType;
  BYTE             byRes2[69];
}NET_DVR_STREAM_MEDIA_SERVER_CFG,*LPNET_DVR_STREAM_MEDIA_SERVER_CFG;

Members

byValid
Enable Stream Media Server: 0- disable, 1- enable
byRes1
Reserved, please set to 0
struDevIP
IP address of Streaming Media Server
wDevPort
Port of Streaming Media Server
byTransmitType
Transfer Protocol: 0- TCP, 1- UDP
byRes2
Reserved, please set to 0

See Also

NET_DVR_PU_STREAM_CFG NET_DVR_MATRIX_CHAN_INFO_V30 NET_DVR_MATRIX_DEC_CHAN_INFO_V30


NET_DVR_STREAM_MEDIA_SERVER_CFG_V41

Structure of stream server configuration

struct{
  BYTE    byValid;
  BYTE    byRes1[3];
  BYTE    byAddress[MAX_DOMAIN_NAME];
  WORD    wDevPort;
  BYTE    byTransmitType;
  BYTE    byRes2[69];
}NET_DVR_STREAM_MEDIA_SERVER_CFG_V41,*LPNET_DVR_STREAM_MEDIA_SERVER_CFG_V41;

Members

byValid
It is enabled to get stream by stream media server or not: 0- disable, non-zero- enable
byRes1
Reserved, please set to 0
byAddress
IP address or domain name of stream media server
wDevPort
Port number of stream media server
byTransmitType
Transmission protocol type: 0- TCP, 1- UDP
byRes2
Reserved, please set to 0

See Also

NET_DVR_DEC_STREAM_DEV


NET_DVR_STREAM_MODE

Structure of stream mode configuration.

struct{
  BYTE                      byGetStreamType;
  BYTE                      byRes[3];
  NET_DVR_GET_STREAM_UNION  uGetStream;
}NET_DVR_STREAM_MODE,*LPNET_DVR_STREAM_MODE;

Members

byGetStreamType
Stream mode: 0- get stream from device directly; 1- get stream from stream server; 2- Get stream from device after getting the IP address by IPServer; 3- Get the device IP address by IPServer, and then get stream from stream server; 4- Get stream from stream server by URL
byRes
Reserved, please set to 0
uGetStream
Different stream mode union

See Also

NET_DVR_GET_STREAM_UNION

NET_DVR_IPPARACFG_V40


NET_DVR_STREAM_MODE_TYPE

Structure of stream mode

struct{
  DWORD                       byGetStreamType;
  BYTE                        byRes[3];
  NET_DVR_STREAM_TYPE_UNION    uGetStream;
}NET_DVR_STREAM_MODE_TYPE,*LPNET_DVR_STREAM_MODE_TYPE;

Members

byGetStreamType
 Stream mode: 0- get stream from device directly; 1- get stream from stream server;
2- Get stream from device after getting the IP address by IPServer;
3- Get the device IP address by IPServer, and then get stream from stream server;
4- Get stream from stream server by URL
byRes
Reserved, please set to 0
uGetStream
The different stream mode

See Also

NET_DVR_STREAM_SRC_INFO


NET_DVR_STREAM_RECORD_INFO

Structure of recording information

struct{
  DWORD                  dwSize;
  NET_DVR_RECORD_V30     struRecordInfo;
}NET_DVR_STREAM_RECORD_INFO,*LPNET_DVR_STREAM_RECORD_INFO;

Members

dwSize
Structure size
struRecordInfo
Recording information

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_STREAM_RECORD_STATUS

Structure of stream status

struct{
  DWORD    dwSize;
  BYTE     byRecord;
  BYTE     byRes1[3];
  DWORD    dwRelatedHD;
  BYTE     byRes2[8];
}NET_DVR_STREAM_RECORD_STATUS,*LPNET_DVR_STREAM_RECORD_STATUS;

Members

dwSize
Structure size
byRecord
(Read-only)Recording status: 0- not being recording, 1- being recording
byRes1
Reserved, please set to 0
dwRelatedHD
The associated hard disk
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_STREAM_SRC_CFG

The structure for stream source information.

struct{
  DWORD                        dwSize;
  NET_DVR_STREAM_INFO          struStreamID;
  NET_DVR_STREAM_SRC_INFO     struStreamSrcInfo;
}NET_DVR_STREAM_SRC_CFG,*LPNET_DVR_STREAM_SRC_CFG;

Members

dwSize
Structure size.
struStreamInfo
Stream source.
struStreamSrcInfo
Stream source information.

See Also

NET_DVR_GetDeviceConfig


NET_DVR_STREAM_SRC_INFO

Structure of stream source information

struct{
  DWORD                        dwSize;
  NET_DVR_STREAM_INFO          struStreamInfo;
  NET_DVR_STREAM_MODE_TYPE     struStreamSrcInfo;
}NET_DVR_STREAM_SRC_INFO,*LPNET_DVR_STREAM_SRC_INFO;

Members

dwSize
Structure size
struStreamInfo
Stream information
struStreamSrcInfo
Stream source information

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_STREAM_SRC_INFO_V40

The structure of the stream source information

struct{
  DWORD                            dwSize;
  BYTE                             byGetStreamType;
  BYTE                             byRes1[3];
  NET_DVR_STREAM_TYPE_V40_UNION    uGetStream;
  BYTE                             byRes[512];
}NET_DVR_STREAM_SRC_INFO_V40,*LPNET_DVR_STREAM_SRC_INFO_V40;

Members

dwSize
The size of the structure
byGetStreamType
Stream getting mode:
0- Get stream from the device directly.
1- Get stream from the stream media.
2- Get stream by getting the IP address through IPServer.
3- Get the device stream by the stream media after the IPServer finding the device
4- Get stream by URL through the stream media.
6- Get stream from the specified device through the stream media.
7- Get stream though the accessing of the RTSP protocol.
8- Get stream through the stream media source (support cascade mode).
byRes1
Reserved, set as 0.
uGetStream
The combo of different stream getting modes
byRes
Reserved, set as 0.

Remarks

  • The current device only support the stream getting mode of 0/4/7/8, of which the mode 0 and mode 8 support to get stream via VAG.
  • VAG is the element of CVR, which can be used for connection with devices of other manufacturers. The VAG channel No. needs to be configured before getting stream via VAG.

    • See Also

    NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_STREAM_TIME_LOCK

Structure of parameters to lock or unlock the record segment by stream ID.

struct{
  DWORD                  dwSize;
  NET_DVR_TIME           strBeginTime;
  NET_DVR_TIME           strEndTime;
  NET_DVR_STREAM_INFO    struStreamInfo;
  DWORD                  dwRecordType ;;
  DWORD                  dwLockDuration;
  BYTE                   byRes[12];
}NET_DVR_STREAM_TIME_LOCK,*LPNET_DVR_STREAM_TIME_LOCK;

Members

dwSize
Structure size
strBeginTime
Starting time
strEndTime
End time
struStreamInfo
Stream information
dwRecordType
Video type: 0xffffffff- all types, 0- scheduled record, 1- motion detection, 2- alarm record, 3- alarm | motion detection, 4- alarm & motion detection, 5- command trigger, 6- manual record, 7- vibration alarm, 8- environment alarm, 9- intelligent alarm, 10- postback record
dwLockDuration
Locking duration time, unit: s, 0xffffffff- permanently locked, 0- not locked or unlock
byRes
Reserved, please set to 0

See Also

NET_DVR_LockStreamFileByTime NET_DVR_UnlockStreamFileByTime


NET_DVR_STREAM_TYPE_UNION

Unoin of stream mode

union{
  NET_DVR_DIRECT_CONNECT_CHAN_INFO    struChanInfo;
  NET_DVR_PU_STREAM_URL               struStreamUrl;
}NET_DVR_STREAM_TYPE_UNION,*LPNET_DVR_STREAM_TYPE_UNION;

Members

struChanInfo
IP channel information
struStreamUrl
The configuration to get the stream by URL

See Also

NET_DVR_STREAM_MODE_TYPE


NET_DVR_STREAM_TYPE_V40_UNION

The union of the stream getting mode

union{
  NET_DVR_DIRECT_CONNECT_CHAN_INFO_V40    struChanInfo;
  NET_DVR_PU_STREAM_URL                   struPuStreamUrl;
  NET_DVR_PU_STREAM_URL_CFG_V40           struStreamUrlCfg;
  NET_DVR_RTSP_PROTOCAL_CFG               struRtspCfg;
  NET_DVR_STREAM_URL_V40                  struStreamUrlV40;
}NET_DVR_STREAM_TYPE_V40_UNION,*LPNET_DVR_STREAM_TYPE_V40_UNION;

Members

struChanInfo
IP channel information, the corresponding byGetStreamType is 0
struPuStreamUrl
URL stream getting configuration information, the corresponding byGetStreamType is 4.
struStreamUrlCfg
Get stream by the structure constituted URL, The corresponding byGetStreamType is 6.
struRtspCfg
Get stream through the accessing of the standard RTSP protocol, the corresponding byGetStreamType is 7.
struStreamUrlV40
Get stream by the source of stream media (support cascade mode), the corresponding byGetStreamType is 8

See Also

NET_DVR_STREAM_SRC_INFO_V40


NET_DVR_STREAM_URL_V40

The structure of the source of the stream media。

struct{
  BYTE     byEnable;
  BYTE     byStreamType;
  BYTE     byLocalBackUp;
  BYTE     byRes;
  BYTE     strURL[URL_LEN_V40];
  DWORD    dwProtocalType;
  BYTE     sUserName[NAME_LEN];
  BYTE     sPassWord[PASSWD_LEN];
  BYTE     byAddress[MAX_DOMAIN_NAME];
  WORD     wIPPort;
  WORD     wChanNo;
  BYTE     byVAGChanNo[MAX_VAG_CHANNO_LEN];
  BYTE     byRes1[88];
}NET_DVR_STREAM_URL_V40,*LPNET_DVR_STREAM_URL_V40;

Members

byEnable
Enable? 0- Disable, 1- Enable
byStreamType
Stream type: 0-Main stream, 1- Sub stream
byLocalBackUp
Enable local backup: 0-Disable, 1- Enable
byRes
Reserved, set as 0.
strURL
The URL of the stream media(support cascade)
dwProtocalType
Protocol type: 0- Privacy, 1- Panasonic, 2- SONY, for more information, see过NET_DVR_GetIPCProtoList
sUserName
Device logon username
sPassWord
Device logon password
byAddress
The IP address or domain name of the stream source (needs to be analyzed by the device, if the address with the symbol '.", it is considered as domain name.)
wIPPort
The port No. of the stream source.
wChanNo
The device channel No. of the stream source
byVAGChanNo
The channel No. of the stream source (for VAG)
byRes1
Reserved, set as 0

See Also

NET_DVR_STREAM_TYPE_V40_UNION


NET_DVR_STREAMING_COND

Stream control condition parameters structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byStreamType;
  BYTE     byRes[127];
 }NET_DVR_STREAMING_COND,*LPNET_DVR_STREAMING_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byStreamType
Stream type: 0- Main strem, 1- Sub-stream, 2- Third stream
byRes
Reserved, set as 0. 0

Remarks

  • This function is for stream live view encoded by Smart264. Forced to generate a deep P frame.
  • Check if the device supports Smart264 via the capabilty(StreamingChannel)-<isSupportRefreshFrame>. API：NET_DVR_GetSTDAbility(Capability type：NET_DVR_GET_STREAMING_CAPABILITIES).
  • Get the stream type of frame supported to be refreshed by the device via capability of (RefreshFrame).API：NET_DVR_GetSTDAbility(Capability type:NET_DVR_GET_REFRESHFRAME_CAPABILITIES).

See Also

NET_DVR_STDControl


NET_DVR_STRUCTHEAD

Structure head

struct{
  WORD     wLength;
  BYTE     byVersion;
  BYTE     byRes;
}NET_DVR_STRUCTHEAD,*LPNET_DVR_STRUCTHEAD;

Members

wLength
The length of the structure
byVersion
The value of higer 4 bit means the high version, and the value of lower 4 bit means the low version.
byRes
Reserved

See Also

NET_DVR_INVALID_DISK_PARAM NET_DVR_MOUNT_DISK_PARAM


NET_DVR_SUBSYSTEM_ALARM

Partition scheduled arming parameters structure

struct{
  DWORD                       dwSize;
  NET_DVR_NORMAL_SCHEDTIME    struNormalSchedtime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                        byNormalSchedTimeOn;
  BYTE                        byMandatoryAlarm;
  BYTE                        byRes[254];
}NET_DVR_SUBSYSTEM_ALARM,*LPNET_DVR_SUBSYSTEM_ALARM;

Members

dwSize
Structure size
struNormalSchedtime
Arming schedule time segment, 7 days a week, and 8 segments a day
byNormalSchedTimeOn
Enable the schedule? 0- No, 1- Yes
byMandatoryAlarm
Whether to bypass the zone by force when error occurred? 0- Yes, 1- No.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SUBSYSTEM_PARAM_EX

Sub-system extension parameter structure

struct{
  DWORD                 dwSize;
  NET_DVR_SCHEDTIME     struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                  byAlarmInAdvance;
  BYTE                  byRes1[3];
  BYTE                  byJointAlarmIn[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE                  byJointKeyboard[MAX_ALARMHOSTKEYBOARD];
  BYTE                  byJointOpetaterUser[MAX_KEYBOARD_USER_NUM];
  NET_DVR_REMIND_TIME    struAlarmRemindTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                  byRes2[288];
}NET_DVR_SUBSYSTEM_PARAM_EX, *LPNET_DVR_SUBSYSTEM_PARAM_EX;

Members

dwSize
Structure size
struAlarmTime
Arming/disarming time, 7 days each week, up to 8 time periods each day
byAlarmInAdvance
Reminder time in advance for arming/disarming, range: 0 to 45 minutes
byRes1
Reserved
byJointAlarmIn
By bit, means the alarm input channel No. linked to sub-system, 0- not linked 1- link
byJointAlarmIn & 0x1 == 1 means link alarm input channel 1
byJointAlarmIn & 0x2 == 1 means link alarm input channel 2
And so forth
byJointKeyboard
By bit, means supported keyboard No., 0- not supported, 1- support
byJointKeyboard & 0x1 == 1 means link keyboard 1
byJointKeyboard & 0x2 == 1 means link keyboard 2
And so forth
byJointOpetaterUser
By bit, means linked keyboard user, 0- not linked, 1- link
byJointOpetaterUser & 0x1 == 1 means link keyboard user 1
byJointOpetaterUser & 0x2 == 1 means link keyboard user 2
And so forth
struAlarmRemindTime
Reminder time for arming/disarming, 7 days each week, up to 8 time periods each day
byRes2
Reserved

Remarks

  • Whether sub-system extension parameter configuration is supported, can be determined through bit8 of dwSupport1 in capability set NET_DVR_ALARMHOST_ABILITY.
  • Whether auto arming/disarming is supported, can be determined through bit5 of dwSupport1 in capability set NET_DVR_ALARMHOST_ABILITY. If not supported, struAlarmTime and byAlarmInAdvance are invalid.
  • For the number of keyboards and keyboard users supported by the device, see wKeyboardNum and wOperatorUserNum in capability set.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SUBSYSTEMINFO

Parameters structure of the video integrated platform subsystem

struct{
  BYTE                 bySubSystemType;
  BYTE                 byChan;
  BYTE                 byLoginType;
  BYTE                 byRes1[5];
  NET_DVR_IPADDR       struSubSystemIP;
  WORD                 wSubSystemPort;
  BYTE                 byRes2[6];
  NET_DVR_IPADDR       struSubSystemIPMask;
  NET_DVR_IPADDR       struGatewayIpAddr;
  BYTE                 sUserName[NAME_LEN];
  BYTE                 sPassword[PASSWD_LEN];
  char                 sDomainName[MAX_DOMAIN_NAME];
  char                 sDnsAddresssDomainName[MAX_DOMAIN_NAME];
  BYTE                 sSerialNumber[SERIALNO_LEN];
}NET_DVR_SUBSYSTEMINFO, *LPNET_DVR_SUBSYSTEMINFO;

Members

bySubSystemType
subsystem tyep,1-decode,2-encode,0-NULL, this parameter can only obtain, can't be set.
byChan
Subsystem channel number, this parameter can only obtain, can't be set.
byLoginType
Register type, 1-direct connection, 2-DNS,3-Oray
byRes1
Reserved
struSubSystemIP
subsystem IP address
wSubSystemPort
subsystem port number
byRes2
Reserved
struSubSystemIPMask
subsystem subnet mask
struGatewayIpAddr
subsystem Gateway address
sUserName
subsystem user name, this parameter can only obtain, can't be set.
sPassword
subsystem password, this parameter can only obtain, can't be set.
sDomainName
subsystem domain name
sDnsAddresssDomainName
subsystem DNS, can be domain name or IP address
sSerialNumber
subsystem serial number, this parameter can only obtain, can't be set.

See Also

NET_DVR_IPADDR


NET_DVR_SUPPLEMENTLIGHT

Light-supplement lamp configuration structure

struct{
  BYTE                        byEnable;
  BYTE                        byMode;
  BYTE                        byHighBeamBrightness;
  BYTE                        byLowBeamBrightness;
  NET_DVR_SCHEDULE_DAYTIME    struSchedTime;
  WORD                        wFilteringTime;
  BYTE                        byRes[62];
}NET_DVR_SUPPLEMENTLIGHT, *LPNET_DVR_SUPPLEMENTLIGHT;

Members

byEnable
Enable supplement lamp? 0- Off, 1- On
byMode
Supplement lamp mode: 0- Auto, 1- Scheduled
byHighBeamBrightness
Headlight brightness, value range [0,10]
byLowBeamBrightness
Dipped headlight brightness, value range [0,10]
struSchedTime
Scheduling time period
wFilteringTime
Filtering time(s)，value range [0,120]
byRes
Reserved

See Also

NET_DVR_EXTERNALDEVICE


NET_DVR_SWITCH_ALARM

Structure of switch alarm upload.

struct{
  DWORD            dwSize;
  BYTE             byName[NAME_LEN];
  WORD             wSwitchChannel;
  BYTE             byAlarmType;
  BYTE             byEventType;
  DWORD            dwRelativeTime;
  NET_DVR_TIME_EX  struOperateTime;
  BYTE             byRes[28];
}NET_DVR_SWITCH_ALARM, *LPNET_DVR_SWITCH_ALARM;

Members

dwSize
Structure size
byName
Switch name
wSwitchChannel
Switch channel, value range: 0~255
byAlarmType
Alarm type: 0- normal, 1- short circuit, 2- broken circuit
byEventType
Event type: 0- alarm, 1- zone trouble of alarm host
dwRelativeTime
Relative time
struOperateTime
Operating time
byRes
Reserved

See Also

NET_DVR_TIME_EX

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_SWITCH_CONVERT_ALARM

Switch alarm information structure

struct{
  DWORD    dwSize;
  BYTE     byPortNo;
  BYTE     byRes1[3];
  DWORD    dwEventType;
  DWORD    dwEvent;
  BYTE     byRes2[32];
}NET_DVR_SWITCH_CONVERT_ALARM, *LPNET_DVR_SWITCH_CONVERT_ALARM;

Members

dwSize
Structure size
byPortNo
Switch port, from 1
byRes1
Reserved
dwEventType
Event type: 1- alarm, 2- notice
dwEvent
Events, when alarm happens see EN_SWITCH_CONVERT_ALARM, when notice happens see EN_SWITCH_CONVERT_NOTIFICATION
enum _EN_SWITCH_CONVERT_ALARM{
  SC_OPTICAL_PORT_LOST = 1,
  SC_NETWORK_PORT_LOST,
}EN_SWITCH_CONVERT_ALARM
SC_OPTICAL_PORT_LOST
Optical port discrimination
SC_NETWORK_PORT_LOST
Network port disconnection
enum _EN_SWICH_CONVERT_NOTIFICATION{
  SC_OPTICAL_PORT_CONNECTED = 1,
  SC_NETWORK_PORT_CONNECTED,
}EN_SWITCH_CONVERT_NOTIFICATION
SC_OPTICAL_PORT_CONNECTED
Optical port connection
SC_NETWORK_PORT_CONNECTED
Network port connection
byRes2
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_SWITCH_DAY_TIME

Power on/off schedule parameters structure

struct{
  BYTE               byEnable;
  BYTE               bySwitchType;
  BYTE               byRes1[2];
  NET_DVR_DAYTIME    struTimePoint;
  BYTE               byRes2[8];
}NET_DVR_SWITCH_DAY_TIME,*LPNET_DVR_SWITCH_DAY_TIME;

Members

byEnable
Enable this time point? 0- No, 1- Yes
bySwitchType
Power on/off type: 0- Power off, 1- Power on
byRes1
Reserved, set as 0.
struTimePoint
Power on/off schedule time point
byRes2
Reserved, set as 0.

See Also

NET_DVR_TIME_SWITCH_CFG


NET_DVR_SWITCH_LAMP_ALARM

Structure of switch light detection alarm information

struct{
  DWORD               dwSize;
  NET_VCA_DEV_INFO    struDevInfo;
  NET_DVR_TIME_EX     struTime;
  BYTE                byLampStatus;
  BYTE                byRes1[3];
  DWORD               dwPicDataLen;
  char                *pPicData;
  BYTE                byRes[64];
}NET_DVR_SWITCH_LAMP_ALARM,*LPNET_DVR_SWITCH_LAMP_ALARM;

Members

dwSize
Structure Size
struDevInfo
Alarm Device Information
struTime
Alarm Time
byLampStatus
Light Status：0- Turned On，1- Turned Off
byRes1
Reserved, set as 0
dwPicDataLen
Picture data length, non-zero means that the picture is uploading
pPicData
Picture Data
byRes
Reserved, set as 0

Remarks

  • You can judge that whether the device supports switching light detection by device capability set. The corresponding capability set of VCA camera is(VcaChanAbility)，Related API：NET_DVR_GetDeviceAbility，Capability set type：DEVICE_ABILITY_INFO，Node：<SwitchLamp>。

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_SWITCH_TIME

Structure of switch time

struct{
  BYTE               byValid;
  BYTE               byRes[3];
  NET_DVR_TIME_EX    struTimeOn;
  NET_DVR_TIME_EX    struTimeOff;
}NET_DVR_SWITCH_TIME,*LPNET_DVR_SWITCH_TIME;

Members

byValid
Whether this time group is valid or not, including the boot time and the shutdown time
byRes
Reserved, please set to 0
struTimeOn
The boot time, only hour and minute in the structure are valid
struTimeOff
The shutdown time, only hour and minute in the structure are valid

See Also

NET_DVR_LED_SWITCH_TIME


NET_DVR_SWITCH_TIME_POINT

Power on/off by time point structure

struct{
  BYTE                   byEnable;
  BYTE                   bySwitchType;
  BYTE                   byRes1[2];
  NET_DVR_SYSTEM_TIME    struTimePoint;
  BYTE                   byRes2[16];
}NET_DVR_SWITCH_TIME_POINT,*LPNET_DVR_SWITCH_TIME_POINT;

Members

byEnable
Enable the time point? 0- No, 1- Yes
bySwitchType
Power on/off type: 0- Power off, 1- Power of
byRes1
Reserved, set as 0.
struTimePoint
Power on/off time point
byRes2
Reserved, set as 0.

See Also

NET_DVR_TIME_SWITCH_CFG


NET_DVR_SYNCHRONOUS_IPC

Configuration structure of whether to synchronize front-end IPC parameter.

struct{
  DWORD   dwSize;
  BYTE    byEnable;
  BYTE    byRes[7];
}NET_DVR_SYNCHRONOUS_IPC, *LPNET_DVR_SYNCHRONOUS_IPC;

Members

dwSize
Structure size
byEnable
Enable to synchronize front-end IPC parameter or not
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_SYSTEM_TIME

Time information

struct{
  WORD    wYear;
  WORD    wMonth;
  WORD    wDay;
  WORD    wHour;
  WORD    wMinute;
  WORD    wSecond;
  WORD    wMilliSec;
  BYTE    byRes[2];
}NET_DVR_SYSTEM_TIME,*LPNET_DVR_SYSTEM_TIME;

Members

wYear
Year
wMonth
Month
wDay
Day
wHour
Hour
wMinute
Minute
wSecond
Second
wMilliSec
Millisecond
byRes
Reserved

See Also

NET_ITS_TRAFFIC_COLLECT NET_ITS_REUPLOAD_CFG


NET_DVR_TAMPER_ALARMIN_PARAM

Zone tamper alarm configuration structure

struct{
  DWORD    dwSize;
  BYTE     byTamperType;
  BYTE     byUploadAlarmRecoveryReport;
  BYTE     byRes1[2];
  BYTE     byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE     byAssociateSirenOut[8];
  BYTE     byTamperResistor;
  BYTE     byRes2[3];
  float    fTamperResistorManual;
  BYTE     byRes3[36];
}NET_DVR_TAMPER_ALARMIN_PARAM,*LPNET_DVR_TAMPER_ALARMIN_PARAM;

Members

dwSize
Structure size
byTamperType
Alarm type: 0- None, 1- NO, 2-NC
byUploadAlarmRecoveryReport
Whether to upload the alarm restoring report? 0- No, 1-Yes
byRes1
Reserved, set as 0.
byAssociateAlarmOut
Zone associated trigger, the array subscript indicates the zone No., and the array value indicated the trigger No. eg,
byAssociateAlarmOut[i]=j represents the (i+1) zone associated trigger j
byAssociateSirenOut
The associated siren output, the array subscript indicates the siren No., array value: 1- output, 0- not output, eg,
byAssociateSirenOut[i]=1 represents the (i+1) siren output
byTamperResistor
Tampering resistor, unit: k ohm, value: 0- Invalid, 1- 2.2，2- 4.7，3- 5.6，4- 8.2，0xff- Custom
byRes2
Reserved, set as 0.
fTamperResistorManual
Tampering manual resistor, value:1.0~10.0，unit: k ohm，valid when byTamperResistor is 0xff
byRes3
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_TARGET_LEFT_REGION_ALARM

Target leaving area alarm structure

struct{
  DWORD                 dwSize;
  DWORD                 dwRelativeTime;
  DWORD                 dwAbsTime;
  NET_VCA_DEV_INFO      struDevInfo;
  BYTE                  byTargetType;
  BYTE                  byLeftDirection;
  BYTE                  byRes[126];
}NET_DVR_TARGET_LEFT_REGION_ALARM,*LPNET_DVR_TARGET_LEFT_REGION_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative time mark, currently unavailable
dwAbsTime
Absolute time mark
struDevInfo
Front-end device information
byTargetType
Detection target type: 0- invalid target, 1- teacher
byLeftDirection
Target leaving direction type: 0- reserved, 1- up, 2- down, 3- left, 4- right
byRes
Reserved, set as 0

Remarks

  • Relative time mark is currently unavailable. The algorithm applied to get "year/month/day/hour/minute/second from absolute time mark dwAbsTime is as follows:
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_TEMP_HUMI_INFO

Real-time temperature and humidity information structure

struct{
  DWORD                       dwSize;
  NET_DVR_TIME_V30            struCurrentTime;
  float                       fTemperature;
  float                       fHumidity;
  BYTE                        byRes[256];
}NET_DVR_TEMP_HUMI_INFO,*LPNET_DVR_TEMP_HUMI_INFO;

Members

dwSize
Structure size
struCurrentTime
Current time
fTemperature
Device environment temperature, accurate to 2 decimal places, (-273 to +1000 ?C)
fHumidity
Device environment humidity, accurate to 2 decimal places, unit: %
byRes
Reserved, set as 0

Remarks

  • Whether the device supports getting real-time temperature and humidity data capability or the supported parameter capability, can be determined through device capability set(TempHumi), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_ TEMP_HUMI_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig


NET_DVR_TERMINAL_CALL_CFG

Terminal call parameter configuration structure.

struct{
  DWORD    dwSize;
  BYTE     byAnswerType;
  BYTE     byProtocolType;
  BYTE     byRes[30];
}NET_DVR_TERMINAL_CALL_CFG,*LPNET_DVR_TERMINAL_CALL_CFG;

Members

dwSize
Structure size
byAnswerType
Conference answer tyoe: 1- Auto answer，2- Aoto reject，3- Manual answer
byProtocolType
Protocol type：1- SIP，2- H323
byRes
Reserved, set as 0

Remarks

  • Use device capability set to decide the supported parameter capability or whether the device supports terminal conference calling log query. Corresponded calling log query capability(CallConfiguration)，related interface：NET_DVR_GetSTDAbility，capability type：NET_DVR_GET_TERMINAL_CALL_CFG_CAP.
    The education sharing system V2.1.0 only supports H323.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_TERMINAL_CALL_INFO

Terminal calling parameter structure

struct{
  BYTE    byTermianlURL[MAX_URL_LEN];
  DWORD   dwCallRate;
  BYTE    byRes[124];
}NET_DVR_TERMINAL_CALL_INFO, *LPNET_DVR_TERMINAL_CALL_INFO;

Members

byTermianlURL
Terminal URL
dwCallRate
Calling rate, range: 32 to 6144, unit: Kbps (connection rate)
byRes
Reserved, set as 0

See Also

NET_DVR_TERMINAL_DETAIL_CTRL_PARAM NET_DVR_CALL_INFO


NET_DVR_TERMINAL_CONFERENCE_STATUS

Terminal conference status information structure.

struct{
  DWORD                   dwSize;
  BYTE                    byConferenceState;
  BYTE                    byConferenceType;
  BYTE                    byRes1[2];
  DWORD                   dwInputNo;
  NET_DVR_CALL_INFO       struCallInfo;
  NET_DVR_AUDIO_STATUS    struAudioStatus;
  BYTE                    byRes2[32];
}NET_DVR_TERMINAL_CONFERENCE_STATUS, *LPNET_DVR_TERMINAL_CONFERENCE_STATUS;

Members

dwSize
Structure size
byConferenceState
Conference status：0- Free，1- Busy (Meeting)，2- Calling，3- Receiving
byConferenceType
Conference type：1- Point to point，2- MCU launches conference
byRes1
Reserved, set as 0
dwInputNo
Audio input serial number
struCallInfo
Conference information, different conference types respond to different information structures.
struAudioStatus
Audio related status
byRes2
Reserved, set as 0

Remarks

  • Use device capability set to decide the supported parameter capability or whether the device supports terminal conference calling log query. Corresponded calling log query capability(VCSCap)，related interface：NET_DVR_GetSTDAbility，capability type：NET_DVR_GET_VCS_CAP，node：<isSupportTerminalConferenceStatus>.

See Also

NET_DVR_GetSTDConfig


NET_DVR_TERMINAL_CTRL_PARAM

Terminal call control parameter structure.

struct{
  DWORD                                 dwSize;
  BYTE                                  byOperateType;
  BYTE                                  byRes1[3];
  NET_DVR_TERMINAL_DETAIL_CTRL_PARAM    struCtrlParam;
  BYTE                                  byRes2[32];
}NET_DVR_TERMINAL_CTRL_PARAM,*LPNET_DVR_TERMINAL_CTRL_PARAM;

Members

dwSize
Structure size
byOperateType
Operate type：1- Answer，2- Reject，3- Call，4- Audio adjust
byRes1
Reserved, set as 0
struCtrlParam
Control parameter, different types respond to different parameter structures, effective when byOperateType is type3 or type4.
byRes2
Reserved, set as 0.

Remarks

  • Use device capability set to decide the supported parameter capability or whether the device supports terminal conference calling log query. Corresponded calling log query capability(ControlParam)，related interface：NET_DVR_GetSTDAbility，capability set type：NET_DVR_GET_TERMINAL_CTRL_CAP.

See Also

NET_DVR_STDControl


NET_DVR_TERMINAL_DETAIL_CTRL_PARAM

Terminal call control parameter union.

union{
  BYTE                           byRes[640];
  NET_DVR_TERMINAL_CALL_INFO     struCallInfo;
  NET_DVR_TERMINAL_AUDIO_CTRL    struAudioCtrl;
}NET_DVR_TERMINAL_DETAIL_CTRL_PARAM,*LPNET_DVR_TERMINAL_DETAIL_CTRL_PARAM;

Members

byRes
Union size, 640 byte
struCallInfo
Call parameter, effective when byOperateType is type3
struAudioCtrl
Audio control parameter, effective when byOperateType is type4

See Also

NET_DVR_TERMINAL_CTRL_PARAM


NET_DVR_TERMINAL_GK_CFG

Structure of terminal register GK parameters

struct{
  DWORD             dwSize;
  BYTE              byEnable;
  BYTE              byRegisterState;
  BYTE              byRes1[2];
  NET_DVR_IPADDR    struGKIP;
  WORD              wGKPort;
  BYTE              byRes2[2];
  BYTE              byRegisterName[REGISTER_NAME_LEN];
  BYTE              byRes3[32];
}NET_DVR_TERMINAL_GK_CFG, *LPNET_DVR_TERMINAL_GK_CFG;

Members

dwSize
Structure size
byEnable
Enable? 0- no, 1- yes
byRegisterState
Register status (read only) ：0- not registered，1- registered
byRes1
Reserved, set to 0
struGKIP
GK service IP address
wGKPort
GK service port
byRes2
Reserved, set to 0
byRegisterName
GK register name
byRes3
Reserved, set to 0

Remarks

  • After MCU registered GK service, you can call all the registered terminal device with "terminal name" when adding the conference members during meeting.
  • According to the capability set, you can understand whether the device supports terminal registered GK parameters configuration. Corresponding terminal registered GK capability set (GkConfig). Relevant interface: NET_DVR_GetSTDAbility. Capability type: NET_DVR_GET_TERMINAL_GK_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_TERMINAL_INPUT_CFG

Terminal video conference input parameter structure.

struct{
  DWORD    dwSize;
  DWORD    dwInputNo;
  BYTE     byRes[32];
}NET_DVR_TERMINAL_INPUT_CFG, *LPNET_DVR_TERMINAL_INPUT_CFG;

Members

dwSize
Structure size
dwInputNo
The serial number of video conference input
byRes
Reserved, set as 0

Remarks

  • Use device capability set to decide the supported parameter capability or whether the device supports terminal conference calling log query. Corresponded calling log query capability(InputConfig)，related interface：NET_DVR_GetSTDAbility，capability set type：NET_DVR_GET_TERMINAL_INPUT_CFG_CAP。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_TEXTSHOW

Structure of screen text show

struct{
  DWORD    dwSize;
  BYTE     byShowText;
  BYTE     byRes[35];
}NET_DVR_TEXTSHOW,*LPNET_DVR_TEXTSHOW;

Members

dwSize
Structure size
byShowText
Whether show the text on the screen or not: 0- show, 1- not show
byRes
Reserved, please set to 0

See Also

NET_DVR_TextShowCtrl


NET_DVR_TFS_ALARM

Traffic violation enforcement alarm information structure

struct{
  DWORD                   dwSize;
  DWORD                   dwRelativeTime;
  DWORD                   dwAbsTime;
  DWORD                   dwIllegalType;
  DWORD                   dwIllegalDuration;
  BYTE                    byMonitoringSiteID[MONITORSITE_ID_LEN];
  BYTE                    byDeviceID[DEVICE_ID_LEN];
  NET_VCA_DEV_INFO        struDevInfo;
  NET_DVR_SCENE_INFO      struSceneInfo;
  NET_DVR_TIME_EX         struBeginRecTime;
  NET_DVR_TIME_EX         struEndRecTime;
  NET_DVR_AID_INFO        struAIDInfo;
  NET_DVR_PLATE_INFO      struPlateInfo;
  NET_DVR_VEHICLE_INFO    struVehicleInfo;
  DWORD                   dwPicNum;
  NET_ITS_PICTURE_INFO    struPicInfo[8];
  BYTE                    bySpecificVehicleType;
  BYTE                    byLaneNo;
  BYTE                    byRes1[2];
  NET_DVR_TIME_V30        struTime;
  DWORD                   dwSerialNo;
  BYTE                    byVehicleAttribute;
  BYTE                    byPilotSafebelt;
  BYTE                    byCopilotSafebelt;
  BYTE                    byPilotSunVisor;
  BYTE                    byCopilotSunVisor;
  BYTE                    byPilotCall;
  BYTE                    byRes2[2];
  BYTE                    byIllegalCode[MONITORSITE_ID_LEN];
  BYTE                    byRes[68];
}NET_DVR_TFS_ALARM, *LPNET_DVR_TFS_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative time mark
dwAbsTime
Absolute time mark
dwIllegalDuration
Violation duration (unit: s) = time of last capture picture - time of first capture picture
byMonitoringSiteID
Camera No. (intersection No., internal No.)
byDeviceID
Device No.
struDevInfo
Front-end device information
struSceneInfo
Scene information
struBeginRecTime
Recording start time
struEndRecTime
Recording end time
struAIDInfo
Traffic event information
struPlateInfo
Plate information
struVehicleInfo
Vehicle information
dwPicNum
Number of pictures
struPicInfo
Picture information, up to 8
bySpecificVehicleType
Vehicle type: 0- unknown, 1- coach, 2- truck, 3- sedan, 4- mini van, 5- mini truck, 6- pedestrian, 7- cart, 8- tricycle
byLaneNo
Linked lane No.
byRes1
Reserved
struTime
Current time of manual tracking and positioning, currently only supported by traffic enforcement dome camera, used with dwSerialNo for platform recording and manual tracking enforcement picture matching
dwSerialNo
Capture No., currently only supported by dome cameras, used with struTime for platform recording and manual tracking enforcement picture matching
byVehicleAttribute
Vehicle properties, by bit, 0- no additional properties (normal vehicles), bit1- yellow-label vehicle, bit2- hazardous material vehicle, value: 0- no, 1- yes
byPilotSafebelt
Whether the driver is wearing a seat belt: 0- unknown, 1- yes, 2- no
byCopilotSafebelt
Whether the passenger is wearing a seat belt: 0- unknown, 1- yes, 2- no
byPilotSunVisor
Whether sun visor is lowered by driver: 0- unknown, 1- no, 2- yes
byCopilotSunVisor
Whether sun visor is lowered by passenger: 0- unknown, 1- no, 2- yes
byPilotCall
Whether the driver is using cellphone: 0- unknown, 1- no, 2- yes
byRes2
Reserved
byIllegalCode
Violation code extension, valid when dwIllegalType = 0xffffffff, character string
byRes
Reserved

Remarks

The algorithm applied to get "year/month/day/hour/minute/second from absolute time mark dwAbsTime is as follows:
#define GET_YEAR(_time_) (((_time_)>>26) + 2000)
#define GET_MONTH(_time_) (((_time_)>>22) & 15)
#define GET_DAY(_time_) (((_time_)>>17) & 31)
#define GET_HOUR(_time_) (((_time_)>>12) & 31)
#define GET_MINUTE(_time_) (((_time_)>>6) & 63)
#define GET_SECOND(_time_) (((_time_)>>0) & 63)

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_THERMALPOWER_PARAM

Camera power configuration structure

struct{
  DWORD    dwSize;
  BYTE     byPowerSwitch;
  BYTE     byRes[123];
}NET_DVR_THERMALPOWER_PARAM, *LPNET_DVR_THERMALPOWER_PARAM;

Members

dwSize
Structure size
byPowerSwitch
Enable switch: 1- yes, 0- no
byRes
Reserved

Remarks

  • Whether the device supports camera power configuration or the supported parameter capability, can be determined through device capability set (Power), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_THERMALPOWER_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_THERMINTELL_PARAM

Thermal smart mutual exclusion settings strcuture

struct{
  DWORD    dwSize;
  BYTE     byIntellType;
  BYTE     byRes[127];
}NET_DVR_THERMINTELL_PARAM,*LPNET_DVR_THERMINTELL_PARAM;

Members

dwSize
Structure size
byIntellType
Smart function resource configuration type: 0- Temperature meas,urement + behaviour analysis(default)，1- Ship detection，2- Fire source detection
byRes
Reserved, set as 0.

Remarks

  • Check whether the device supports this function via the device capability set,(ThermIntell)，API：NET_DVR_GetSTDAbility，Capability set type：NET_DVR_GET_THERMINTELL_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_THERMOMETRY_ALARM

Structure of temperature alarm information

struct{
  DWORD              dwSize;
  DWORD              dwChannel;
  BYTE               byRuleID;
  BYTE               byThermometryUnit;
  WORD               wPresetNo;
  NET_PTZ_INFO       struPtzInfo;
  BYTE               byAlarmLevel;
  BYTE               byAlarmType;
  BYTE               byAlarmRule;
  BYTE               byRuleCalibType;
  NET_VCA_POINT      struPoint;
  NET_VCA_POLYGON    struRegion;
  float              fRuleTemperature;
  float              fCurrTemperature;
  DWORD              dwPicLen;
  DWORD              dwThermalPicLen;
  DWORD              dwThermalInfoLen;
  char               *pPicBuff;
  char               *pThermalPicBuff;
  char               *pThermalInfoBuff;
  NET_VCA_POINT      struHighestPoint;
  BYTE               byRes[60];
}NET_DVR_THERMOMETRY_ALARM, *LPNET_DVR_THERMOMETRY_ALARM;

Members

dwSize
Structure Size
dwChannel
Channel No.
byRuleID
Rule ID
byThermometryUnit
Temperature Unit: 0- Degrees Centigrade（℃），1- Degrees Fahrenheit（℉），2- Degree Kelvin(K)
wPresetNo
Preset No.
struPtzInfo
PTZ Position Information
byAlarmLevel
Alarm Level:0- Pre-Alarm，1- Alarm
byAlarmType
Alarm Type：0- Highest Temperature，1- Lowest Temperature，2- Average Temperature
byAlarmRule
Alarm Rule：0- Larger than，1- Smaller than
byRuleCalibType
Rule Calibration Type：0- Point，1- Rectangle，2- Line
struPoint
Coordinate of Temperature Measuring Point（it takes effect when the rule calibration mode is the point）
struRegion
Coordinate of Temperature Measuring Area（it takes effect when the rule calibration mode is the rectangle or line）
fRuleTemperature
Set rule temperature，corrects to one decimal place, range from -40 to 1000
fCurTemperatureDiff
Current Temperature, corrects to one decimal place, range from -40 to 1000
dwPicLen
Visible light picture length
dwThermalPicLen
Thermal imaging picture length
dwThermalInfoLen
Additional information length of thermal imaging
pPicBuff
Visible light picture pointer, save the visible light picture data as JPEG format
pThermalPicBuff
Thermal imaging picture pointer, save the thermal imaging picture data as JPEG format
pThermalInfoBuff
Additional information pointer of thermal imaging, save the thermal imaging information
struHighestPoint
Coordinate of highest temperature position on the temperature measuring Area (it takes effect when the rule calibration mode is the rectangle or line)
byRes
Reserve the byte

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_THERMOMETRY_ALARMRULE

Preset temperature alarm rule settings structure

struct{
  DWORD                                  dwSize;
  NET_DVR_THERMOMETRY_ALARMRULE_PARAM    struThermometryAlarmRuleParam[THERMOMETRY_ALARMRULE_NUM];
  BYTE                                   byRes[128];
}NET_DVR_THERMOMETRY_ALARMRULE,*LPNET_DVR_THERMOMETRY_ALARMRULE;

Members

dwSize
Structure size
struThermometryAlarmRuleParam
Prese temperature alarm rule parameters, each array indicates on rule.
byRes
Reserved, set as 0.

Remarks

  • Check whether the device supports this function via the devica capability set(ThermometryAlarmRule)，API：NET_DVR_GetSTDAbility，Capability set type：NET_DVR_GET_THERMOMETRY_ALARMRULE_CAPABILITIES，node：<ThermometryAlarmModeList>。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_THERMOMETRY_ALARMRULE_PARAM

Preset temperature alarm rule information

struct{
  BYTE     byEnabled;
  BYTE     byRuleID;
  BYTE     byRule;
  BYTE     byRes[3];
  BYTE     byReflectiveEnabled;
  float    fReflectiveTemperature;
  char     szRuleName[NAME_LEN];
  float    fAlert;
  float    fAlarm;
  float    fThreshold;
  BYTE     byRes1[64];
}NET_DVR_THERMOMETRY_ALARMRULE_PARAM,*LPNET_DVR_THERMOMETRY_ALARMRULE_PARAM;

Members

byEnabled
Enable? 0- No, 1- Yes
byRuleID
Rule ID
byRule
Temperature comparison mode: 0- High temperature higher than，1- High temperature low than，2- Low temperature higher than, 3- Low temperature lower than，4- average temperature higher than，5- Average temperature lower than, 6- Temperature difference higher than, 7- Temperature difference lower than
byRes
Reserved, set as 0.
szRuleName
Rule name
fAlert
Early warning temperature
fAlarm
Alarm temperature
fThreshold
Temperature threshold
byRes1
Reserved, set as 0.

See Also

NET_DVR_THERMOMETRY_ALARMRULE


NET_DVR_THERMOMETRY_BASICPARAM

Structure for temperature measurement configuration.

struct{
  DWORD    dwSize;
  BYTE     byEnabled;
  BYTE     byStreamOverlay;
  BYTE     byPictureOverlay;
  BYTE     byThermometryRange;
  BYTE     byThermometryUnit;
  BYTE     byRes[127];
}NET_DVR_THERMOMETRY_BASICPARAM,*LPNET_DVR_THERMOMETRY_BASICPARAM;

Members

dwSize
Structure size
byEnabled
Enable: 0- No, 1- Yes
byStreamOverlay
Display temperature on the video stream: 0- No, 1- Yes.
byPictureOverlay
Display temperature on picture: 0- No, 1- Yes.
byThermometryRange
Temperature measurement range (default unit: degrees celsius. For other kinds of units, you should transform by yourself.): 0- default value, 1- (-20~150), 2- (0~550)
byThermometryUnit
Temperature measurement unit (Unit that all temperature parameters corresponds to in the temperature measurement configuration): 0- degrees celsius (℃），1- degree fahrenheit（?），2- Kelvin(K)
byRes
Reserved, set to 0.

Remarks

  • Accroding to the device capability set, you can judge whether the device supports the temperature measurement configuration or not.Corresponding temperature measurement configuration capacity set: (ThermometryBasicParam), related interface: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_THERMOMETRY_BASICPARAM_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_THERMOMETRY_COND

Temperature measurement settings condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  WORD     wPresetNo;
  BYTE     byRes[62];
}NET_DVR_THERMOMETRY_COND,*LPNET_DVR_THERMOMETRY_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
wPresetNo
Preset No.
byRes
Reserved, set as 0.

Remarks

The temperature measurement function is based on the preset, you need to set the preset before any parameters configuration, the API of preset settings is ：NET_DVR_PTZPreset_Other. Get the device supported preset number via the device capability set(PTZAbility)，API：NET_DVR_GetDeviceAbility，Capability set type：DEVICE_ABILITY_INFO，node：<maxThermometryPresetNum>.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_THERMOMETRY_DIFF_ALARM

Structure of temperature difference alarm information

struct{
  DWORD              dwSize;
  DWORD              dwChannel;
  BYTE               byAlarmID1;
  BYTE               byAlarmID2;
  WORD               wPresetNo;
  BYTE               byAlarmLevel;
  BYTE               byAlarmType;
  BYTE               byAlarmRule;
  BYTE               byRuleCalibType;
  NET_VCA_POINT      struPoint[2];
  NET_VCA_POLYGON    struRegion[2];
  float              fRuleTemperatureDiff;
  float              fCurTemperatureDiff;
  NET_PTZ_INFO       struPtzInfo;
  DWORD              dwPicLen;
  DWORD              dwThermalPicLen;
  DWORD              dwThermalInfoLen;
  char               *pPicBuff;
  char               *pThermalPicBuff;
  char               *pThermalInfoBuff;
  BYTE               byThermometryUnit;
  BYTE               byRes[63];
}NET_DVR_THERMOMETRY_DIFF_ALARM, *LPNET_DVR_THERMOMETRY_DIFF_ALARM;

Members

dwSize
Structure Size
dwChannel
Channel No.
byAlarmID1
Alarm1
byAlarmID2
Alarm2
wPresetNo
Preset No.
byAlarmLevel
Alarm Level：0- Pre-Alarm，1- Alarm
byAlarmType
Alarm Type：0- Highest Temperature，1- Lowest Temperature，2- Average Temperature
byAlarmRule
Alarm Rule: 0- Larger than，1- Smaller than
byRuleCalibType
Rule Calibration Type：0- Point, 1- Rectangle，2- Line
struPoint
Coordinate of temperature measuring point (it takes effect when the rule calibration mode is the point), the array with subscript 0 represents the Alarm1's point coordinate, the array with subscript 1 represents the AlarmID2's point coordinate.
struRegion
Coordinate of temperature measuring area（it takes effect when the rule calibration mode is the rectangle or line), the array with subscript 0 represents the Alarm1's area coordinate, the array with subscript 1 represents the AlarmID2's area coordinate.
fRuleTemperatureDiff
Set rule temperature difference, corrects to one decimal place, range from -40 to 1000, (floating number +100）
fCurTemperatureDiff
Current temperature difference, corrects to one decimal place, range from -40 to 1000, (floating number +100）
struPtzInfo
PTZ Coordinate Information
dwPicLen
Visible light picture length
dwThermalPicLen
Thermal imaging picture length
dwThermalInfoLen
Additional information length of thermal imaging
pPicBuff
Visible light picture pointer, save the visible light picture data as JPEG format
pThermalPicBuff
Thermal imaging picture pointer, save the thermal imaging picture data as JPEG format
pThermalInfoBuff
Additional information pointer of thermal imaging, save the thermal imaging information
byThermometryUnit
Temperature Unit: 0- Degrees Centigrade（℃），1- Degrees Fahrenheit（℉），2- Degrees Kelvin(K)
byRes
Reserve the byte

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_THERMOMETRY_DIFFCOMPARISON

Preset temperature difference alarm rule settings structure

struct{
  DWORD                                       dwSize;
  NET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM    struDiffComparison[MAX_THERMOMETRY_DIFFCOMPARISON_NUM];
  BYTE                                        byRes[64];
}NET_DVR_THERMOMETRY_DIFFCOMPARISON,*LPNET_DVR_THERMOMETRY_DIFFCOMPARISON;

Members

dwSize
Structure size
struDiffComparison
Preset temperature difference alarm rule parameters, each array indicated on rule.
byRes
Reserved, set as 0.

Remarks

  • Check whether the deive supports this function via the device capability set(ThermometryAlarmRule)，API：NET_DVR_GetSTDAbility，Capability set type：NET_DVR_GET_THERMOMETRY_ALARMRULE_CAPABILITIES，node：<TemperatureDifferenceComparisonList>.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM

Preset temperature measurement alarm rule information structure

struct{
  BYTE     byEnabled;
  BYTE     byRuleID;
  BYTE     byAlarmID1;
  BYTE     byAlarmID2;
  BYTE     byRule;
  BYTE     byRes[3];
  float    fTemperatureDiff;
  BYTE     byRes1[32];
}NET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM,*LPNET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM;

Members

byEnabled
Enable? 0- No, 1- Yes
byRuleID
Rule ID
byAlarmID1
Alarm 1
byAlarmID2
Alarm 2
byRule
Temperature comparison mode: 0- High temperature higher than，1- High temperature low than，2- Low temperature higher than, 3- Low temperature lower than，4- average temperature higher than，5- Average temperature lower than, 6- Temperature difference higher than, 7- Temperature difference lower than
byRes
Reserved, set as 0.
fTemperatureDiff
Temperature difference
byRes1
Reserved, set as 0

Remarks

The byAlarmID1, byAlarmID2 corresponds to the byRuleID in the alarm parameters，which indicates the comparison between tow temperature alarm rule.

See Also

NET_DVR_THERMOMETRY_DIFFCOMPARISON


NET_DVR_THERMOMETRY_PRESETINFO

Temperature measurement preset corresponded settings

struct{
  DWORD                                   dwSize;
  WORD                                    wPresetNo;
  BYTE                                    byRes[2];
  NET_DVR_THERMOMETRY_PRESETINFO_PARAM    struPresetInfo[MAX_THERMOMETRY_REGION_NUM];
}NET_DVR_THERMOMETRY_PRESETINFO,*LPNET_DVR_THERMOMETRY_PRESETINFO;

Members

dwSize
Structure size
wPresetNo
Scene No.(preset No.)
byRes
Reserved, set as 0.
struPresetInfo
Preset corresponded temperature measurement information, each array indicates on temperature measurement information, currently supports Max. 10 measurement frames, 10 measurement points, and 1 measurement line.

Remarks

  • Check whether the device supports this function via the device capability set(ThermometryScene)，API：NET_DVR_GetSTDAbility，Capability Set type：NET_DVR_GET_THERMOMETRY_SCENE_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_THERMOMETRY_PRESETINFO_PARAM

Structure for linking the preset with the temperature measurement information.

struct{
  BYTE               byEnabled;
  BYTE               byRuleID;
  WORD               wDistance;
  float              fEmissivity;
  BYTE               byRes[3];
  BYTE               byReflectiveEnabled;
  float              fReflectiveTemperature;
  char               szRuleName[NAME_LEN];
  BYTE               byRes1[63];
  BYTE               byRuleCalibType;
  NET_VCA_POINT      struPoint;
  NET_VCA_POLYGON    struRegion;
}NET_DVR_THERMOMETRY_PRESETINFO_PARAM,*LPNET_DVR_THERMOMETRY_PRESETINFO_PARAM;

Members

byEnabled
Enable: 0- No, 1- Yes.
byRuleID
rule ID, starting from 1, and 0 stands invalid. (The validity of the data is judged by the list.)
wDistance
Distance (Unit: m), range: [0-10000]
fEmissivity
Emissivity (Emissivity refers to a material's effectiveness in emitting energy.Here the value of emissivity is accurate to 2 digits after the decimal point.) Range: [0.01 - 1.00]
byRes
Reserved, set to 0.
byReflectiveEnabled
Enable reflective temperature: 0- No, 1- Yes.
fReflectiveTemperature
Reflective temperature. Here the value of reflective temperature is accurate to 1 digit after the decimal point.
szRuleName
Rule name
byRes1
Reserved, set to 0.
byRuleCalibType
Point temperature coordinate (It is valid when Point is considered as the rule.)
struPoint
Region/line coordinate (It is valid when Region or Line is considered as the rule.)
struRegion
Reserved, set to 0.

Remarks

  • When using the region temperature measurement, the max. temperature, the min. temperature, the average temperature, and the temperature difference will display. When using the line temperature measurement, the max. temperature and the min. temperature will display. When using the point temperature measurement, only the average temperature will display.

See Also

NET_DVR_THERMOMETRY_PRESETINFO


NET_DVR_THERMOMETRY_TRIGGER_COND

Temperature measurement linkage configuration condition

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  DWORD    dwPreset;
  BYTE     byRes[256];
}NET_DVR_THERMOMETRY_TRIGGER_COND,*LPNET_DVR_THERMOMETRY_TRIGGER_COND;

Members

dwSize
Structure size
dwChan
Channel No.
dwPreset
Preset No.
byRes
Reserved, set as 0.

Remarks

  • The temperature measurement function is based on the preset, you need to set the preset before any parameters configuration, the API of preset settings is ：NET_DVR_PTZPreset_Other. Get the device supported preset number via the device capability set(PTZAbility)，API：NET_DVR_GetDeviceAbility，Capability set type：DEVICE_ABILITY_INFO，node：<maxThermometryPresetNum>.
  • Check whether the device supports this function via the device capability set(EventTriggersCap)，API：NET_DVR_GetSTDAbility，Capability set type:NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES，node：<ThermometryCap>.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_THERMOMETRY_UPLOAD

Real time temperature information

struct{
  DWORD                            dwSize;
  DWORD                            dwRelativeTime;
  DWORD                            dwAbsTime;
  char                             szRuleName[NAME_LEN];
  BYTE                             byRuleID;
  BYTE                             byRuleCalibType;
  WORD                             wPresetNo;
  NET_DVR_POINT_THERM_CFG          struPointThermCfg;
  NET_DVR_LINEPOLYGON_THERM_CFG    struLinePolygonThermCfg;
  BYTE                             byThermometryUnit;
  BYTE                             byDataType;
  BYTE                             byRes[126];
}NET_DVR_THERMOMETRY_UPLOAD,*LPNET_DVR_THERMOMETRY_UPLOAD;

Members

dwSize
Structure size
dwRelativeTime
Relative time
dwAbsTime
Absolute time
szRuleName
Rule name
byRuleID
Rule ID
byRuleCalibType
Rule calibration type: 0- Point, 1- Frame, 2- Line
wPresetNo
Preset No.
struPointThermCfg
Temperature measuring by point, valid when byRuleCalibType is 0.
struLinePolygonThermCfg
Temperature measuring by frame/line, valid when byRuleCalibType is 1/2.
byThermometryUnit
Unit: 0- ℃，1- Fahrenheit，2- K
byDataType
Data structure type: 0- Measuring, 1- Start, 2-End
byRes
Reserved, set as 0.

Remarks

  • Check whether the device supports this function via the device capbility set(ThermalCap)，API：NET_DVR_GetSTDAbility，Capability SET：NET_DVR_GET_THERMAL_CAPABILITIES，node：<ThermalCap>.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_THSCREEN

Temperature and humidity configuration structure

struct{
  DWORD            dwSize;
  BYTE             byEnable;
  BYTE             byTHOSDDisplay;
  BYTE             byRes[2];
  NET_VCA_POINT    struTHOSDPoint;
  BYTE             byTimingMode;
  BYTE             byRes1;
  WORD             wInterval;
  BYTE             byRes2[254];
}NET_DVR_THSCREEN,*LPNET_DVR_THSCREEN;

Members

dwSize
Structure size/dd>
byEnable
Whether to enable timing? 0- No，1- Yes
byTHOSDDisplay
Whether to enable temperature and humidity OSD display? 0- No, 1- Yes
byRes
Reserved, set as 0
struTHOSDPoint
Temperature and humidity OSD coordinate
byTimingMode
Timing mode（valid when byEnable is 1）：0- Manual，1- Scheduled
byRes1
Reserved, set as 0.
wInterval
Timing interval（valid when byTimingMode is 1)，value range [1,10080]，unit: minute
byRes2
Reserved, set as 0.

Remarks

  • Check whether to support this function via device capability(THScreen)，API：NET_DVR_GetSTDAbility，Capability type:：NET_DVR_GET_THSCREEN_CAPABILITIES。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_THUMBNAILS_COND

Get thumbnails by time period condition parameter structure

struct{
  DWORD                  dwSize;
  NET_DVR_STREAM_INFO    struStreamInfo;
  BYTE                   bySearchDataType;
  BYTE                   byRes[3];
  NET_DVR_TIME_V30       struStartTime;
  NET_DVR_TIME_V30       struStopTime;
  DWORD                  dwIntervalTime;
  BYTE                   byRes1[512];
}NET_DVR_THUMBNAILS_COND, *LPNET_DVR_THUMBNAILS_COND;

Members

dwSize
Structure size
struStreamInfo
Stream information, stream ID or channel No.
bySearchDataType
Search data type: 0- I frame data (for 1 channel of CVR, up to 28 I frames are allowed for 1s), 1- picture data (JPEG picture)
byRes
Reserved, set as 0
struStartTime
Search start time
struStopTime
Search end time, if the start time equals to the end time, it means to get thumbnails by time point, compatible with NET_DVR_GET_FIGURE commands.
dwIntervalTime
Interval time, unit: s, range: 0 to 24*60*60, if search end time equals to start time, enter 0, other values are invalid
byRes1
Reserved, set as 0

Remarks

  • Whether device supports getting thumbnails by time period, can be determined by device software and hardware capability set (BasicCapability), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY, node: <isSupportGetThumbnails>.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_THUMBNAILS_RESULT

Get thumbnail by time period result information structure

struct{
  BYTE                   byResultDataType;
  BYTE                   byRes1[3];
  NET_DVR_TIME_SEARCH    struTime;
  BYTE                   byRes[252];
  DWORD                  dwFileSize;
  char                   *pBuffer;
}NET_DVR_THUMBNAILS_RESULT, *LPNET_DVR_THUMBNAILS_RESULT;

Members

byResultDataType
Search result data type: 0- I frame data, 1- system header data (required for decoding when searching for I frames), 2- picture data
byRes1
Reserved, set as 0
struTime
Data time
byRes
Reserved, set as 0
dwFileSize
Data size
pBuffer
Data information, different byResultDataType types correspond to different data

Remarks

  • Whether device supports getting thumbnail by time period or the supported parameters can be determined through device capability set (BasicCapability), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY, node: <isSupportGetThumbnails>.
  • If the search type is I Frame Data, the result will first return 40 bytes of system header data, and then return I frame data, call the interface of player SDK to get decoded YUV data and convert time picture format. The detailed calling procedure is shown below, for description of interface parameter, refer to player SDK programming manual.

    • See Also

    NET_DVR_StartRemoteConfig


NET_DVR_TIME

Time parameter structure

struct{
  DWORD    dwYear;
  DWORD    dwMonth;
  DWORD    dwDay;
  DWORD    dwHour;
  DWORD    dwMinute;
  DWORD    dwSecond;
}NET_DVR_TIME, *LPNET_DVR_TIME;

Members

dwYear
Year
dwMonth
Month
dwDay
Day
dwHour
Hour
dwMinute
Minute
dwSecond
Second

See Also

NET_DVR_SMART_SEARCH_RET


NET_DVR_TIME_DETECTION

License plate detection time configuration structure

struct{
  NET_DVR_SCHEDTIME    struSchedTime;
  BYTE                 byDetSceneID;
  BYTE                 byRes[15];
}NET_DVR_TIME_DETECTION,*LPNET_DVR_TIME_DETECTION;

Members

struSchedTime
Arming time, start time - end time.
byDetSceneID
Detection scene No., 0 indicates invalid, other value; [1,4], IPC default value is 0.
byRes
Reserved, set as 0.

See Also

NET_DVR_GUARD_CFG


NET_DVR_TIME_EX

Time parameter structure

struct{
  WORD    wYear;
  BYTE    byMonth;
  BYTE    byDay;
  BYTE    byHour;
  BYTE    byMinute;
  BYTE    bySecond;
  BYTE    byRes;
}NET_DVR_TIME_EX, *LPNET_DVR_TIME_EX;

Members

wYear
Year
byMonth
Month
byDay
Day
byHour
Hour
byMinute
Minute
bySecond
Second
byRes
Reserved


NET_DVR_TIME_LOCK

Structure of the video segment locking or unlocking parameter

struct{
  DWORD           dwSize;
  NET_DVR_TIME    strBeginTime;
  NET_DVR_TIME    strEndTime;
  DWORD           dwChannel;
  DWORD           dwRecordType;
  DWORD           dwLockDuration;
  BYTE            byRes[12];
}NET_DVR_TIME_LOCK,*LPNET_DVR_TIME_LOCK;

Members

dwSize
Structure size
strBeginTime
Starting time
strEndTime
End time
dwChannel
Channel number, 0xffffffff means all channels
dwRecordType
Video type: 0xffffffff- all types, 0- scheduled record, 1- motion dectection record, 2- alarm record, 3- alarm | motion detection, 4- alarm & motion detection, 5- command trigger, 6- manual record, 7- vibration alarm, 8- environment alarm, 9- intelligent alarm, 10- postback record
dwLockDuration
Locking duration time, unit: s, 0xffffffff- permanently locked, 0- not locked or unlock
byRes
Reserved, please set to 0

See Also

NET_DVR_LockFileByTime NET_DVR_UnLockFileByTime


NET_DVR_TIME_SEARCH

Data time information structure

struct{
  WORD    wYear;
  BYTE    byMonth;
  BYTE    byDay;
  BYTE    byHour;
  BYTE    byMinute;
  BYTE    bySecond;
  char    cTimeDifferenceH;
  char    cTimeDifferenceM;
  BYTE    byRes[3];
}NET_DVR_TIME_SEARCH, *LPNET_DVR_TIME_SEARCH;

Members

wYear
Year, device OSD time
byMonth
Month, device OSD time
byDay
Day, device OSD time
byHour
Hour, device OSD time
byMinute
Minute, device OSD time
bySecond
Second, device OSD time
cTimeDifferenceH
Time difference with international standard time (hour) -12 ... +14
cTimeDifferenceM
Time difference with international standard time (minute), -30, 0, 30, 45
byRes
Reserved, set as 0

See Also

NET_DVR_THUMBNAILS_RESULT


NET_DVR_TIME_SEGMENT

Time segment parameters structure。

struct{
  NET_DVR_SIMPLE_DAYTIME    struBeginTime;
  NET_DVR_SIMPLE_DAYTIME    struEndTime;
}NET_DVR_TIME_SEGMENT,*LPNET_DVR_TIME_SEGMENT;

Members

struBeginTime
Start time(H/M/S)
struEndTime
End time(H/M/S

See Also

NET_DVR_SINGLE_PLAN_SEGMENT


NET_DVR_TIME_SWITCH_CFG

Scheduled power on/off configuration structure

struct{
  DWORD                        dwSize;
  NET_DVR_SWITCH_DAY_TIME      struSwitchDayTime[MAX_DAYS][MAX_DAY_TIME_POINT];
  NET_DVR_SWITCH_TIME_POINT    struSwitchTimePoint[MAX_TIME_POINT];
  BYTE                         byRes[64];
}NET_DVR_TIME_SWITCH_CFG,*LPNET_DVR_TIME_SWITCH_CFG;

Members

dwSize
Structure size
struSwitchDayTime
Weekly schedule, 7 days a week, 8 time segments a day.
struSwitchTimePoint
Power on/off by time point
byRes
Reserved, set as 0.

Remarks

Setting scheduled power on/off by video wall area is not supported currently.。

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_TIME_TASK

Timing task configuration structure

struct(
 DWORD                   dwSize,
 BYTE                    byTaskEnable,
 BYTE                    byRes[3],
 NET_DVR_SCHEDTASK       struTask[MAX_DAYS][MAX_SCH_TASKS_NUM]
 DWORD                   parkTime,
 BYTE                    byRes1[64],
)NET_DVR_TIME_TASK, *LPNET_DVR_TIME_TASK;

Parameters

dwSize
Structure size
byTaskEnable
Whether start timing task: 1-open,2-close
byRes
Reserved,please set it to 0
struTask
7 days a week and 10 times a day
parkTime
Task waiting time, data range:5s-720s, defaults to 5s
byRes1
Reserved,please set it to 0

See Also

NET_DVR_GetDVRConfig_PTZ NET_DVR_SetDVRConfig


NET_DVR_TIME_V30

Structure of time parameters.

struct{
  WORD    wYear;
  BYTE    byMonth;
  BYTE    byDay;
  BYTE    byHour;
  BYTE    byMinute;
  BYTE    bySecond;
  BYTE    byRes;
  WORD    wMilliSec;
  BYTE    byRes1[2];
}NET_DVR_TIME_V30, *LPNET_DVR_TIME_V30;

Members

wYear
year
byMonth
month
byDay
day
byHour
hour
byMinute
minute
bySecond
second
byRes
Reserved
wMilliSec
Millisecond
byRes1
Reserved


NET_DVR_TIMEPOINT

DST Start Time

struct{
  DWORD    dwMonth;
  DWORD    dwWeekNo;
  DWORD    dwWeekDate;
  DWORD    dwHour;
  DWORD    dwMin;
}NET_DVR_TIMEPOINT, *LPNET_DVR_TIMEPOINT;

Members

dwMonth
Month . 0-11stands for Jan~Dec
dwWeekNo
Week : 0-1st week; 1-2nd week; 2-3rd week; 3-4th week; 4-last week
dwWeekDate
Week number : 0-Sun; 1-Mon; 2-Tue; 3-Wed; 4-Thu; 5-Fri; 6-Sat
dwHour
begin/end hour, begin hour ranges from 0-23, and end hour ranges from 1-23
dwMin
Minute: 0－59


NET_DVR_TIMING_CAPTURE

Structure of timing capture parameter.

struct{
  NET_DVR_JPEGPARA      struJpegPara;
  DWORD                 dwPicInterval;
  BYTE                  byRes[12];
}NET_DVR_TIMING_CAPTURE, *LPNET_DVR_TIMING_CAPTURE;

Members

struJpegPara
Picture quality of timing capture
dwPicInterval
Interval of timing capture: 1-1s, 2-2s, 3-3s, 4-4s, 5-5s, 6-10m, 7-30m, 8-1h, 9-12h, 10-24h
byRes
Reserved, please set it to 0

See Also

NET_DVR_JPEG_CAPTURE_CFG


NET_DVR_TME_CHARGERULE_COND

The structure of parking fee rule configuration

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  char     szCardNo[32];
  BYTE     byRes[128];
}NET_DVR_TME_CHARGERULE_COND,*LPNET_DVR_TME_CHARGERULE_COND;

Members

dwSize
Structure size
dwChannel
Channel number
szCardNo
Card number
byRes
Reserved, set to 0

Remarks

  • According to the capability set, you can understand whether the device supports configuring parking fee rule. Corresponding parking fee rule configuration capability set (ChargeRuleInfoList). Relevant interface: NET_DVR_GetSTDAbility. Capability type: NET_DVR_GET_TME_CHARGERULE_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_TME_VEHICLE_RESULT

Structure for uploading the TME vehicle captured picture information

struct{
  DWORD                   dwSize;
  WORD                    wLaneid;
  BYTE                    byCamLaneId;
  BYTE                    byRes1;
  DWORD                   dwChanIndex;
  NET_DVR_PLATE_INFO      struPlateInfo;
  NET_DVR_VEHICLE_INFO    struVehicleInfo;
  BYTE                    byMonitoringSiteID[48];
  BYTE                    byDeviceID[48];
  BYTE                    byDir;
  BYTE                    byRes2;
  WORD                    wBackList;
  DWORD                   dwPicNum;
  NET_ITS_PICTURE_INFO    struPicInfo[4];
  BYTE                    byPassVehicleID[32];
  BYTE                    byCardNo[48];
  BYTE                    bySwipeTime[32];
  DWORD                   dwCharge;
  BYTE                    byHistory;
  BYTE                    byLetPass;
  BYTE                    byRes3[186];
}NET_DVR_TME_VEHICLE_RESULT,*LPNET_DVR_TME_VEHICLE_RESULT;

Members

dwSize
Structure Size
wLaneid
Lane No., 1 to 32（Index lane No., you can set a random lane No. in the range for a camera）
byCamLaneId
Camera lane No., 1 to 16（Lane No. configured for camera, you can set a random lane No. in the range for a camera, or set the same lane No. for different cameras)
byRes1
Reserved, set as 0
dwChanIndex
Channel No.
struPlateInfo
Structure of license plate information
struVehicleInfo
Vehicle Information
byMonitoringSiteID
Camera No.
byDeviceID
Device No.
byDir
Monitoring Direction: 0- Others，1- Enter，2- Exit
byRes2
Reserved, set as 0
wBackList
Marked as alarm data or not: 0- means the normal vehicle passing data,1- means the blacklist
dwPicNum
Picture number (it is different than picGroupNum, and it represents the information attached picture number）
struPicInfo
Picture information, up to 4 pictures can be supported
VehicleID
Vehicle ID
byCardNo
Card No.
bySwipeTime
Increase the card swiping time, the time format is yyyymmddhh24missfff
dwCharge
Parking fee, unit: penny
byHistory
History data or not: 0- No，1- Yes
byLetPass
Allowed or not：0- Not Allowed，1- Allowed，2- Unknown
byRes3
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31


NET_DVR_TMEVOICE_CFG

Configuration structure for audio parameters.

struct{
  DWORD    dwSize;
  BYTE     byVoiceSpeed;
  BYTE     byVoicePitch;
  BYTE     byVoiceVolum;
  BYTE     byRes1;
  DWORD    dwVoiceRole;
  char     sInfo[MAX_TMEVOICE_LEN];
  BYTE     byRes[128];
}NET_DVR_TMEVOICE_CFG,*LPNET_DVR_TMEVOICE_CFG;

Members

dwSize
Structure size
byVoiceSpeed
Speed, ranging from 0 to 100.
byVoicePitch
Intonation, ranging from 0 to 100.
byVoiceVolum
Volume, ranging from 0 to 100.
byRes1
Reserved, set to 0.
dwVoiceRole
Audio Type:
3 = Xiaoyan (female, Chinese)
51 = Jiu Xu (male, Chinese)
52 = Duo Xu (male, Chinese)
53 = Xiaoping (female, Chinese)
54 = Donald Duck (male, Chinese)
55 = Baby Xu (child, Chinese)
sInfo
Voice Prompt（It refers to the voice information needed when the vehicle presses the coil in the entrance/exit)
byRes
Reserved, set to 0.

Remarks

  • According to the device capability set, you can judge whether the device supports configuring audio parameters or not. Corresponding capability set for audio parameters configuration:(TMEVoiceConfiguration), related interface: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_TMEVOICE_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_TPS_ALARM

Upload traffic parameter statistics information.

struct{
  DWORD                 dwSize;
  DWORD                 dwRelativeTime;
  DWORD                 dwAbsTime;
  NET_VCA_DEV_INFO      struDevInfo;
  NET_DVR_TPS_INFO      struTPSInfo;
  BYTE                  byRes1[32];
}NET_DVR_TPS_ALARM, *LPNET_DVR_TPS_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative time
dwAbsTime
Absolute time
struDevInfo
Device information
struTPSInfo
Traffic parameter statistics information
byRes1
Reserved

See Also

NET_VCA_DEV_INFO NET_DVR_TPS_INFO


NET_DVR_TPS_ALARM_V41

Traffic statistics upload alarm information

struct{
  DWORD                     dwSize;
  DWORD                     dwRelativeTime;
  DWORD                     dwAbsTime;
  NET_VCA_DEV_INFO          struDevInfo;
  NET_DVR_TPS_INFO_V41      struTPSInfo;
  BYTE                      byMonitoringSiteID[MONITORSITE_ID_LEN];
  BYTE                      byDeviceID[DEVICE_ID_LEN];
  DWORD                     dwStartTime;
  DWORD                     dwStopTime;
  BYTE                      byRes[24];
}NET_DVR_TPS_ALARM_V41, *LPNET_DVR_TPS_ALARM_V41;

Members

dwSize
Structure size
dwRelativeTime
Relative time mark
dwAbsTime
Absolute mark
struDevInfo
Front-end device information
struTPSInfo
Traffic parameter statistics information
byMonitoringSiteID
Camera No. (intersection No., internal No.)
byDeviceID
Device No.
dwStartTime
Statistics start time
dwStopTime
Statistics end time
byRes1
Reserved

Remarks

The algorithm applied to get "year/month/day/hour/minute/second from absolute time mark dwAbsTime is as follows:
#define GET_YEAR(_time_) (((_time_)>>26) + 2000)
#define GET_MONTH(_time_) (((_time_)>>22) & 15)
#define GET_DAY(_time_) (((_time_)>>17) & 31)
#define GET_HOUR(_time_) (((_time_)>>12) & 31)
#define GET_MINUTE(_time_) (((_time_)>>6) & 63)
#define GET_SECOND(_time_) (((_time_)>>0) & 63)

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_TPS_INFO

Structure of lane statistics information.

struct{
  DWORD                 dwLanNum;
  NET_DVR_LANE_PARAM    struLaneParam[MAX_TPS_RULE];
}NET_DVR_TPS_INFO, *LPNET_DVR_TPS_INFO;

Members

dwLanNum
Lane number of traffic parameter
struLaneParam
Lane parameter structure

See Also

NET_DVR_LANE_PARAM NET_DVR_TPS_ALARM


NET_DVR_TPS_INFO_V41

Lane statistics parameter information structure

struct{
  DWORD                     dwLanNum;
  NET_DVR_LANE_PARAM_V41    struLaneParam[MAX_TPS_RULE];
  DWORD                     dwSceneID;
  BYTE                      byRes[28];
}NET_DVR_TPS_INFO_V41, *LPNET_DVR_TPS_INFO_V41;

Members

dwLanNum
Number of lanes of traffic parameters
struLaneParam
Lane parameters
dwSceneID
Scene ID, invalid when 0
byRes
Reserved

See Also

NET_DVR_TPS_ALARM_V41


NET_DVR_TPS_REAL_TIME_INFO

Structure of TPS real-time vehicle passing data

struct{
  DWORD                dwSize;
  DWORD                dwChan;
  NET_DVR_TIME_V30     struTime;
  NET_DVR_TPS_PARAM    struTPSRealTimeInfo;
  BYTE                 byRes[24];
}NET_DVR_TPS_REAL_TIME_INFO, *LPNET_DVR_TPS_REAL_TIME_INFO;

Members

dwSize
Structure Size
dwChan
Channel No.
struTime
Detection Time
struTPSRealTimeInfo
Real-time information of traffic parameters
byRes
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_TPS_RULECFG

Structure of traffic counting rule.

struct{
  DWORD                   dwSize;
  NET_DVR_ONE_TPS_RULE    struOneTpsRule[MAX_TPS_RULE];
  BYTE                    byRes2[40];
}NET_DVR_TPS_RULECFG, *LPNET_DVR_TPS_RULECFG;

Members

dwSize
Structure size
struOneTpsRule
Single traffic counting rule parameter, its subscript is corresponding to the traffic parameter ID
struOneTpsRule
Reserved

See Also

NET_DVR_ONE_TPS_RULE
NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_TPS_STATISTICS_INFO

Structure of TPS vehiclee passing data statistics information

struct{
  DWORD                           dwSize;
  DWORD                           dwChan;
  NET_DVR_TPS_STATISTICS_PARAM    struTPSStatisticsInfo;
  BYTE                            byRes[128];
}NET_DVR_TPS_STATISTICS_INFO, *LPNET_DVR_TPS_STATISTICS_INFO;

Members

dwSize
Structure Size
dwChan
Channel No.
struTPSStatisticsInfo
Statistics information of traffic parameters
byRes
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_TRACK_CALIBRATION_PARAM

Calibration parameters structure.

struct{
  BYTE                    byPointNum;
  BYTE                    byRes[3];
  NET_DVR_CB_POINT        struCBPoint[MAX_CALIB_PT];
}NET_DVR_TRACK_CALIBRATION_PARAM, *LPNET_DVR_TRACK_CALIBRATION_PARAM;

Members

byPointNum
Number of effective calibration points
byRes
Reserved
struCBPoint
Calibration pointer parameters

See Also

NET_DVR_CB_POINT


NET_DVR_TRACK_CALIBRATION_PARAM_V41

Calibration Parameters Structure

struct{
  BYTE                byPointNum;
  BYTE                byRes[3];
  NET_DVR_CB_POINT    struCBPoint[MAX_CALIB_PT];
  NET_DVR_PTZPOS      struHorizonPtzPos;
  BYTE                byRes2[256];
}NET_DVR_TRACK_CALIBRATION_PARAM_V41, *LPNET_DVR_TRACK_CALIBRATION_PARAM_V41;

Members

byPointNum
Valid calibration point number
byRes
Reserved, set 0.
struCBPoint
Calibration point group
struHorizonPtzPos
Horizontal PTZ coordinate
byRes2
Reserved,set as 0.

See Also

NET_DVR_TRACK_DEV_PARAM


NET_DVR_TRACK_CFG

Double Cameras Tracking Data Struct

struct{
  BYTE                               dwSize;
  BYTE                               byEnable;
  BYTE                               byFollowChan;
  BYTE                               byRes[2];
  NET_DVR_TRACK_CALIBRATION_PARAM    struCalParam;
}NET_DVR_TRACK_CFG, *LPNET_DVR_TRACK_CFG;

Members

dwSize
Structure size
byEnable
Enable calibration. Enable the speed dome of subordinate channel: 0-disable, 1-enable.
byFollowChan
Specify which channel is the subordinate channel
byRes
Reserved
struCalParam
Calibration parameter

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_TRACK_CALIBRATION_PARAM


NET_DVR_TRACK_DEV_PARAM

Tracking Device Parameters Structure

struct{
  DWORD                                  dwSize;
  BYTE                                   byEnable;
  BYTE                                   byTransMode;
  BYTE                                   byRes1[2];
  NET_DVR_CHANNEL                        struTrackDevChan;
  NET_DVR_TRACK_CALIBRATION_PARAM_V41    struCalParam;
  BYTE                                   byRes2[256];
}NET_DVR_TRACK_DEV_PARAM, *LPNET_DVR_TRACK_DEV_PARAM;

Members

dwSize
The size of the structure
byEnable
Enable this tracking device? 0- No, 1- Yes
byTransMode
Communication mode; 0-Network SDK, 1-485 Serial port
byRes1
Reserved, set as 0.
struTrackDevChan
Liked device parameters
struCalParam
The calibrating parameters
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_TRACK_INITPOSTION

Control parameter structure from the camera initial tracking position

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byID;
  BYTE     byRes[127];
}NET_DVR_TRACK_INITPOSTION,*LPNET_DVR_TRACK_INITPOSTION;

Members

dwSize
Structure size
dwChannel
Channel number
byID
Master and slave camera ID number, range:[1,4]
byRes
Reserved, set as 0

Remarks

  • Box camera is the master camera; dome is the slave camera. Log into master camera to configure tracking parameter, then configure slave camera intial tracking position. Dome will return to configured intial position after completing tracking target.
  • Use device capability set to decide whether device supports configuring from camera initial tracking position or supported parameter cabability. Corresponding PTZ dome control capability set(PTZChanelCap)，related interface:NET_DVR_GetSTDAbility，Capability set type：NET_DVR_GET_PTZ_CAPABILITIES，node:<TrackInitPosition>.

See Also

NET_DVR_STDControl


NET_DVR_TRACK_MODE

Parameter structure dual camera tracking mode configuration

struct{
  DWORD      dwSize;
  BYTE       byTrackMode;
  BYTE       byRes[3];
  union{
        DWORD                        dwULen[4];
        NET_DVR_MANUAL_CTRL_INFO     struManualCtrl;
       }uModeParam;
}NET_DVR_TRACK_MODE,*LPNET_DVR_TRACK_MODE;

Members

dwSize
Structure size
byTrackMode
Tracking mode:
enum _TRACK_MODE_{
 MANUAL_CTRL = 0,
 ALARM_TRACK,
}TRACK_MODE
MANUAL_CTRL
Manual track
ALARM_TRACK
Alarm trigger tracking
byRes
Reserved
dwULen
Length of unit
struManualCtrl
Manual tracking structure parameters

See Also

NET_DVR_GetTrackMode NET_DVR_SetTrackMode NET_DVR_MANUAL_CTRL_INFO


NET_DVR_TRACK_PARAMCFG

Structure of local tracking configuration parameter.

struct{
  BYTE     dwSize;
  WORD     wAlarmDelayTime;
  WORD     wTrackHoldTime;
  BYTE     byTrackMode;
  BYTE     byPreDirection;
  BYTE     byTrackSmooth;
  BYTE     byZoomAdjust;
  BYTE     byMaxTrackZoom;
  BYTE     byRes[11];
}NET_DVR_TRACK_PARAMCFG, *LPNET_DVR_TRACK_PARAMCFG;

Members

dwSize
Structure size .
wAlarmDelayTime
Delay time of alarm,unit:s,range[1,120]
wTrackHoldTime
Continuous tracking time,unit:s,range[0,300]
byTrackMode
Local tracking mode,defined as below:
enum _IPDOME_TRACK_MODE_{
  NO_TRACK = 0,
  PAMORAMA_TRACK,
  PATROL_TRACK
}IPDOME_TRACK_MODE
NO_TRACK
Disable local tracking
PAMORAMA_TRACK
Panoramic tracking
PATROL_TRACK
Patrol tracking
byPreDirection
Enable direction pre-judge:0-disable,1-enable
byTrackSmooth
Enable smooth tracking:0-disable,1-enable
byZoomAdjust
Zoom adjustment
byMaxTrackZoom
Max tracking zoom,defined as below:
Level | Zoom
0(close) | Calibration value
1 | Calibration value*0.5
2 | Calibration value*0.65
3 | Calibration value*0.75
4 | Calibration value*0.9
5 | Calibration value*1.1
6 | Calibration value*1.2
7 | Calibration value*1.3
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_TRACKING

Master and slave tracking cameta configuration Structure。

struct{
  DWORD              dwSize;
  BYTE               byEnable;
  BYTE               byMode;
  WORD               wTrackingTime;
  NET_VCA_POLYGON    struRegion;
  BYTE               byRes[64];
}NET_DVR_TRACKING,*LPNET_DVR_TRACKING;

Members

dwSize
Structure size
byEnable
Enable tracking: 0-close, 1-auto
byMode
Tracking mode: 0-close, 1-manual, 2-auto
wTrackingTime
Tracking time, range:[0,60], unit:s
struRegion
Manual tracking target region range
byRes
Reserved, set as 0

Remarks

  • Box camera is the master camera; dome is the slave camera. Log into master camera to configure tracking parameter.
  • Use device capability set to decide the supported tracking configuration or supported parameter capability. Corresponding tracking configuration capability set(Tracking)，related interface:NET_DVR_GetSTDAbility，capability set type: NET_DVR_GET_TRACKING_CAPABILITIES。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_TRADEINFO

ATM DVR upload transaction information

struct{
  USHORT    m_Year;
  USHORT    m_Month;
  USHORT    m_Day;
  USHORT    m_Hour;
  USHORT    m_Minute;
  USHORT    m_Second;
  BYTE      DeviceName[24];
  DWORD     dwChannelNumer;
  BYTE      CardNumber[32];
  char      cTradeType[12];
  DWORD     dwCash;
}NET_DVR_TRADEINFO, *LPNET_DVR_TRADEINFO;

Members

m_Year
Year
m_Month
Month
m_Day
Day
m_Hour
Hour
m_Minute
Minute
m_Second
Second
DeviceName
Device name
dwChannelNumer
Channel number
CardNumber
Credit card number
cTradeType
Transaction type
dwCash
Transaction money


NET_DVR_TRAVERSE_PLANE_SEARCHCOND

Line crossing detection video search condition parameter structure

struct{
  NET_VCA_TRAVERSE_PLANE        struVcaTraversePlane[MAX_ALERTLINE_NUM];
  DWORD                         dwPreTime;
  DWORD                         dwDelayTime;
  NET_DVR_PTZPOS_INFO           struPTZPosInfo;
  BYTE                          byAdvanceType;
  BYTE                          byRes1[3];
  NET_DVR_ADVANCE_COND_UNION    uAdvanceCond;
  BYTE                          byRes[5604];
}NET_DVR_TRAVERSE_PLANE_SEARCHCOND,*LPNET_DVR_TRAVERSE_PLANE_SEARCHCOND;

Members

struVcaTraversePlane
Line crossing parameter
dwPreTime
Smart pre-alarm time, unit: s
dwDelayTime
Smart post-alarm time, unit: s
struPTZPosInfo
PTZ coordinate information
byAdvanceType
Combination: 0- do not use group No., 1- combine with human body, 2- combine with object color
byRes1
Reserved, set as 0
uAdvanceCond
Combination properties
byRes
Reserved, set as 0

See Also

NET_DVR_AREA_SMARTSEARCH_COND_UNION


NET_DVR_TRIAL_HOST_STATUS

Trial DVR status information structure

struct{
  DWORD    dwSize;
  DWORD    dwFanSpeed[FAN_NUM];
  WORD     wTemp[MAIN_BOARD];
  BYTE     byTempWarn[FPGA_NUM];
  BYTE     byRes[32];
}NET_DVR_TRIAL_HOST_STATUS,*LPNET_DVR_TRIAL_HOST_STATUS;

Members

dwSize
Structure size
dwFanSpeed
Fan speed, unit: RPM, related to FPGA temperature: FPGA temperature 40° and below, fan will not start
FPGA temperature 40° to 50°(included), 1000 to 2000(RPM)
FPGA temperature 50° to 60°(included), 2000 to 3000(RPM)
FPGA temperature 60° to 70°(included), 3000 to 4000(RPM)
FPGA temperature above 70°, 4000(highest RPM)
wTemp
Number array means temperature, number array [0] means main board temperature, number array [1] means FPGA temperature
byTempWarn
Alarm status
Number array [0] means main board temperature (no alarm status)
Number array [1] means FPGA temperature alarm status: 0- no alarm status, 1- alarm status
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_TRIAL_MICROPHONE_STATUS

Trial DVR system information structure

struct{
  DWORD    dwSize;
  BYTE     byMicrophoneStatus[MICROPHONE_NUM];
  BYTE     byRes[32];
}NET_DVR_TRIAL_MICROPHONE_STATUS,*LPNET_DVR_TRIAL_MICROPHONE_STATUS;

Members

dwSize
Structure size
byMicrophoneStatus
Subscript of microphone status means microphone No., value: 0- no power supply, 1- power supply
For example: byMicrophoneStatus[i]==1 means microphone No.(i+1) power supply is normal
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_TRIAL_SYSTEM_INFO

Trial DVR system information structure

struct{
  DWORD                        dwSize;
  BYTE                         byVideoInTypeNum ;
  BYTE                         byRes1[3];
  NET_DVR_VIDEOIN_TYPE_INFO    struVideoIn[MAX_VIDEOIN_TYPE_NUM];
  BYTE                         byRes[512];
}NET_DVR_TRIAL_SYSTEM_INFO,*LPNET_DVR_TRIAL_SYSTEM_INFO;

Members

dwSize
Structure size
byVideoInTypeNum
Number of video input sources
byRes1
Reserved, set as 0
struVideoIn
Video input source
byRes
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig


NET_DVR_TRIGCOORDINATE

Structure of coil position configuration.

struct{
  WORD      wTopLeftX;
  WORD      wTopLeftY;
  WORD      wWdith;
  WORD      wHeight;
}NET_DVR_TRIGCOORDINATE, *LPNET_DVR_TRIGCOORDINATE;

Members

wTopLeftX
The upper left corner x coordinate of coil, two bytes, default: 160
wTopLeftY
The upper left corner y coordinate of coil, two bytes, default: 210
wWdith
Coil width, two bytes, default: 1000
wHeight
Coil height, two bytes, default: 45


NET_DVR_TRIGGER_COND

Triggering mode settings condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwtriggerMode;
  BYTE     byDetSceneID;
  BYTE     byRes[63];
}NET_DVR_TRIGGER_COND,*LPNET_DVR_TRIGGER_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
dwTriggerMode
Triggering mode, for details, see:ITC_TRIGGERMODE_TYPE
byDetSceneID
Detection scene No.: 0- Invalid, other value:[1,4]
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_TRIGGER_EVENT

Event trigger parameter structure

struct{
  DWORD    dwSize;
  DWORD    dwOverallEventTriggerAlarmoutOn;
  DWORD    dwOverallEventTriggerAlarmoutOff;
  DWORD    dwSubSystemEventTriggerAlarmoutOn[MAX_ALARMHOST_SUBSYSTEM];
  DWORD    dwSubSystemEventTriggerAlarmoutOff[MAX_ALARMHOST_SUBSYSTEM];
  BYTE     byRes[128];
}NET_DVR_TRIGGER_EVENT, *LPNET_DVR_TRIGGER_EVENT;

Members

dwSize
Structure size
dwOverallEventTriggerAlarmoutOn
Global event trigger enabled, by bit, bit0- AC power disconnection, bit1- battery low voltage, bit2- phone line disconnection, bit3- wired network exception, bit4- wireless network exception, bit5- HDD failure
dwOverallEventTriggerAlarmoutOff
Global event trigger disabled, by bit, bit0-AC power disconnection, bit1- battery low voltage, bit2- phone line disconnection, bit3- wired network exception, bit4- wireless network exception, bit5- HDD failure
dwSubSystemEventTriggerAlarmoutOn
Sub-system event trigger enabled, dwSubSystemEventTriggerAlarmoutOn[0] means sub-system 1, dwSubSystemEventTriggerAlarmoutOn[1] means sub-system 2, and so forth, the number of sub-systems can be obtained through capability set (wSubSystemNum). Each sub-system event is indicated by bit, bit0- enter delay, bit1- exit delay, bit2- arming, bit3- disarming, bit4- alarm, bit5- clear alarm memory, bit6- alarm recover, bit7- arming region anti-tamper, bit8- arming region anti-tamper recover
dwSubSystemEventTriggerAlarmoutOff
Sub-system event trigger disabled, dwSubSystemEventTriggerAlarmoutOn[0] means sub-system 1, dwSubSystemEventTriggerAlarmoutOn[1] means sub-system 2, and so forth, the number of sub-systems can be obtained through capability set (wSubSystemNum). Each sub-system event is indicated by bit, bit0- enter delay, bit1- exit delay, bit2- arming, bit3- disarming, bit4- alarm, bit5- clear alarm memory, bit6- alarm recover, bit7- arming region anti-tamper, bit8- arming region anti-tamper recover
byRes
Reserved

Remarks

  • Whether event trigger is supported, please see bit1 and bit2 of dwSupport1 in capability set NET_DVR_ALARMHOST_ABILITY.
  • The same event cannot be included in "enable and disable event trigger" at the same time, e.g., if AC power disconnection is selected for enable global event trigger, then it cannot be selected again for disable global event trigger, otherwise the configuration will fail.
  • For DS-19Axx and DS-19Sxx series host, if the sub-system is in arming mode, the host is in programming mode or the host is in pacing mode, these parameters are not supported.

    • See Also

    NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_UNATTENDED_BAGGAGE_DETECTION

Unattended baggage detection configuration structure

struct{
  DWORD                                dwSize;
  BYTE                                 byEnabled;
  BYTE                                 byRes1[3];
  NET_DVR_UNATTENDED_BAGGAGE_REGION    struRegion[MAX_REGION_NUM];
  BYTE                                 byRes2[128];
}NET_DVR_UNATTENDED_BAGGAGE_DETECTION,*LPNET_DVR_UNATTENDED_BAGGAGE_DETECTION;

Members

dwSize
Structure size
byEnabled
Enable? 0- No，1- Yes
byRes1
Reserved
struRegion
Detection region
byRes2
Reserved

Remarks

  • The unattended baggage detection capability (UnattendedBaggage)，API:NET_DVR_GetSTDAbility(Capability Type:NET_DVR_GET_UNATTENDED_BAGGAGE_CAPABILITIES).
  • Value all parameters in the region structure(struRegion) as 0 to clear the region.

    • See Also

    NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_UNATTENDED_BAGGAGE_REGION

Unattended baggage detection region structure

struct{
  NET_VCA_POLYGON    struRegion;
  BYTE               bySensitivity;
  BYTE               byTimeThreshold;
  WORD               wTimeThreshold;
  BYTE               byTimeThresholdMode;
  BYTE               byRes[62];
}NET_DVR_UNATTENDED_BAGGAGE_REGION,*LPNET_DVR_UNATTENDED_BAGGAGE_REGION;

Members

struRegion
Unattended baggage detection region coverage
bySensitivity
Sensitivity, value range[1,100]
byTimeThreshold
Time threshold, value range[0,10], unit:s
wTimeThreshold
Time threshold （valid when byTimeThresholdMode is 1)， value range:[5-3600]，Unit:s
byTimeThresholdMode
Used time threshold filed type：0- Enable byTimeThreshold，1- Enable wTimeThreshold
byRes
Reserved

Remarks

If the Region parameters is set as 0, it indicates that the region is deleted. For speed dome, when getting single region, it will be located to the scene of this region.

See Also

NET_DVR_UNATTENDED_BAGGAGE_DETECTION


NET_DVR_UNLOCK_RECORD_INFO

Video intercom open-door log information structure

struct{
  BYTE     byUnlockType;
  BYTE     byRes1[3];
  BYTE     byControlSrc[NAME_LEN];
  DWORD    dwPicDataLen;
  BYTE     *pImage;
  BYTE     byRes2[212];
}NET_DVR_UNLOCK_RECORD_INFO, *LPNET_DVR_UNLOCK_RECORD_INFO;

Members

byUnlockType
Open-door type
enum _UNLOCK_TYPE_ENUM_{
  ENUM_UNLOCK_PASSWORD        = 1,
  ENUM_UNLOCK_HIJACKING       = 2,
  ENUM_UNLOCK_CARD            = 3,
  ENUM_UNLOCK_HOUSEHOLDER     = 4,
  ENUM_UNLOCK_CENTER_PLATFORM = 5
}UNLOCK_TYPE_ENUM
ENUM_UNLOCK_PASSWORD
Password open-door
ENUM_UNLOCK_HIJACKING
Duress open-door
ENUM_UNLOCK_CARD
Card open-door
ENUM_UNLOCK_HOUSEHOLDER
Householder open-door
ENUM_UNLOCK_CENTER_PLATFORM
Center platform open-door
byRes1
Reserved, set as 0.
byControlSrc
Operation source information
dwPicDataLen
Picture data length
pImage
Buffer pointer, saving picture data, default: jpeg
byRes2
Reserved, set as 0.

See Also

NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON


NET_DVR_UPGRADE_STATE

Structure of device upgrade status

struct{
  DWORD    dwProgress;
  BYTE     byState;
  BYTE     byRes2[31];
}NET_DVR_UPGRADE_STATE,*LPNET_DVR_UPGRADE_STATE;

Members

dwProgress
Upgrade progress: 0~100
byState
Upgrade stage: 1- the upgrade is complete, 2- being upgraded, 3- upgrade failed
byRes2
Reserved, please set to 0

See Also

NET_DVR_StartUpgrade


NET_DVR_UPLOAD_DB_OUT

View library upload output parameter structure

struct{
  char    szFileID[MAX_FILE_ID_LEN];
  BYTE    byRes[256];
 }NET_DVR_UPLOAD_DB_OUT,*LPNET_DVR_UPLOAD_DB_OUT;

Members

szFileID
File ID assigned by device after upload, for following query or file upload resuming
byRes
Reserved, set as 0

See Also

NET_DVR_UploadFile_V40


NET_DVR_UPNP_NAT_STATE

Structure of UPNP port mapping state

struct{
  NET_DVR_UPNP_PORT_STATE    strUpnpPort[12];
  BYTE                       byRes[200];
}NET_DVR_UPNP_NAT_STATE,*LPNET_DVR_UPNP_NAT_STATE;

Members

strUpnpPort
Port mapping state: strUpnpPort[0]- web server port number, strUpnpPort[1]- management port number, strUpnpPort[2]- rtsp port number
byRes
Reserved, please set to 0

See Also

NET_DVR_GetUpnpNatState


NET_DVR_UPNP_PORT_STATE

Structure of port mapping state

struct{
  DWORD             dwEnabled;
  WORD              wInternalPort;
  WORD              wExternalPort;
  DWORD             dwStatus;
  NET_DVR_IPADDR    struNatExternalIp;
  NET_DVR_IPADDR    struNatInternalIp;
  BYTE                 byRes[16];
}NET_DVR_UPNP_PORT_STATE, *LPNET_DVR_UPNP_PORT_STATE;

Members

dwEnabled
Whether enable the port to be mapped
wInternalPort
The port number before mapped
wExternalPort
The port number after mapped
dwStatus
Port mapping state: 0- not yet effective; 1- not yet effective: the mapped source port and destination port should be the same; 2- not yet effective: the mapped port number is already in use; 3- have taken effect
struNatExternalIp
The mapped external address
struNatInternalIp
LAN IP address of NAT router
byRes
Reserved, please set to 0

See Also

NET_DVR_UPNP_NAT_STATE


NET_DVR_USER

User parameters structure

struct{
  DWORD                  dwSize;
  NET_DVR_USER_INFO      struUser[MAX_USERNUM];
}NET_DVR_USER,*LPNET_DVR_USER;

Members

dwSize
Structure size
struUser
User information parameters

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_USER_INFO


NET_DVR_USER_COND

Structure of user parameters

struct{
  char    szUserName[NAME_LEN];
  BYTE    byRes[48];
}NET_DVR_USER_COND,*LPNET_DVR_USER_COND;

Members

szUserName
User name
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_USER_EX

User parameters structure

struct{
  DWORD                    dwSize;
  NET_DVR_USER_INFO_EX     struUser[MAX_USERNUM];
}NET_DVR_USER_EX,*LPNET_DVR_USER_EX;

Members

dwSize
Structure size
struUser
User information parameters

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_USER_INFO_EX


NET_DVR_USER_INFO

User Info Structure (Sub Structure)

struct{
  BYTE      sUserName[NAME_LEN];
  BYTE      sPassword[PASSWD_LEN];
  DWORD     dwLocalRight[MAX_RIGHT];
  DWORD     dwRemoteRight[MAX_RIGHT];
  char      sUserIP[16];
  BYTE      byMACAddr[MACADDR_LEN];
}NET_DVR_USER_INFO,*LPNET_DVR_USER_INFO;

Members

sUserName
User name
sPassword
Password
dwLocalRight
local privilege settings array
0: local PTZ control array
1: local manual record array
2: local playback array
3: local configuration array
4: local log & status query array
5: local advanced settings (upgrade, format) array
dwRemoteRight
remote privilege settings array
0: remote PTZ control array
1: remote manual record array
2: remote playback array
3: remote configuration array
4: remote log & status query array
5: remote advanced settings (upgrade, format) array
6: remote start voice talk array
7: remote preview array
8:remote alarm upload to center, alarm output array
9:remote control local output array
10-remote serial port control array
sUserIP
User IP address(0 is okay with any IP)
byMACAddr
MAC


NET_DVR_USER_INFO_EX

User Info Structure (Sub Structure)

struct{
  BYTE      sUserName[NAME_LEN];
  BYTE      sPassword[PASSWD_LEN];
  DWORD     dwLocalRight[MAX_RIGHT];
  DWORD     dwLocalPlaybackRight;
  DWORD     dwRemoteRight[MAX_RIGHT];
  DWORD     dwNetPreviewRight;
  DWORD     dwNetPlaybackRight;
  char      sUserIP[16];
  BYTE      byMACAddr[MACADDR_LEN];
}NET_DVR_USER_INFO_EX,*LPNET_DVR_USER_INFO_EX;

Members

sUserName
User name
sPassword
Password
dwLocalRight
local privilege settings array
0: local PTZ control array
1: local manual record array
2: local playback array
3: local configuration array
4: local log & status query array
5: local advanced settings (upgrade, format) array
dwLocalPlaybackRight
Local playback channel, by bit(bit 0: channel 1)
dwRemoteRight
remote privilege settings array
0: remote PTZ control array
1: remote manual record array
2: remote playback array
3: remote configuration array
4: remote log & status query array
5: remote advanced settings (upgrade, format) array
6: remote start voice talk array
7: remote preview array
8:remote alarm upload to center, alarm output array
9:remote control local output array
10-remote serial port control array
dwNetPreviewRight
Remote preview channel, by bit(bit 0: channel1)
dwNetPlaybackRight
Remote playback channel, by bit(bit 0: channel 1)
sUserIP
User IP address(0 is okay with any IP)
byMACAddr
MAC


NET_DVR_USER_INFO_V30

User Info Structure (Sub Structure)( Extended for 9000)

struct{
  BYTE                sUserName[NAME_LEN];
  BYTE                sPassword[PASSWD_LEN];
  BYTE                byLocalRight[MAX_RIGHT];
  BYTE                byRemoteRight[MAX_RIGHT];
  BYTE                byNetPreviewRight[MAX_CHANNUM_V30];
  BYTE                byLocalPlaybackRight[MAX_CHANNUM_V30];
  BYTE                byNetPlaybackRight[MAX_CHANNUM_V30];
  BYTE                byLocalRecordRight[MAX_CHANNUM_V30];
  BYTE                byNetRecordRight[MAX_CHANNUM_V30];
  BYTE                byLocalPTZRight[MAX_CHANNUM_V30];
  BYTE                byNetPTZRight[MAX_CHANNUM_V30];
  BYTE                byLocalBackupRight[MAX_CHANNUM_V30];
  NET_DVR_IPADDR      struUserIP;
  BYTE                byMACAddr[MACADDR_LEN];
  BYTE                byPriority;
  BYTE                byRes[17];
}NET_DVR_USER_INFO_V30,*LPNET_DVR_USER_INFO_V30;

Members

sUserName
User name
sPassword
Password
byLocalRight
local privilege settings array
0: local PTZ control array
1: local manual record array
2: local playback array
3: local configuration array
4: local log & status query array
5: local advanced settings (upgrade, format) array
6: local parameter query array
7: local analog & IP camera management array
8: local backup array
9: local shut down/reboot
byRemoteRight
remote privilege settings array
0: remote PTZ control array
1: remote manual record array
2: remote playback array
3: remote configuration array
4: remote log & status query array
5: remote advanced settings (upgrade, format) array
6: remote start voice talk array
7: remote preview array
8:remote alarm upload to center, alarm output array
9:remote control local output array
10-remote serial port control array
11: reserved array
12: remote analog & IP camera management array
13: remote shut down/reboot
byNetPreviewRight
remote preview channel , 0-enable, 1-disable
byLocalPlaybackRight
local playback channel , 0-enable, 1-disable
byNetPlaybackRight
remote playback channel , 0-enable, 1-disable
byLocalRecordRight
local record channel , 0-enable, 1-disable
byNetRecordRight
remote record channel , 0-enable, 1-disable
byLocalPTZRight
local PTZ channel , 0-enable, 1-disable
byNetPTZRight
remote PTZ channel , 0-enable, 1-disable
byLocalBackupRight
local backup channel , 0-enable, 1-disable
struUserIP
User IP (0 stands for no IP restriction), please refer to NET_DVR_IPADDR
byMACAddr
MAC
byPriority
Prioroty settings , 0xff- disable , 0-low, 1-Mid, 2-High
Disable……no priority settings
Low……Default privileges including local/remote playback, log & status query, reboot/shut down.
Mid……Include local/remote PTZ control, manual record, voice talk, playback, log & status query, reboot/shut down, log backup and remote preview.
High……Administrator
byRes
Reserved, please set to 0

See Also

NET_DVR_IPADDR


NET_DVR_USER_INFO_V40

User information structure

struct{
  BYTE              sUserName[NAME_LEN];
  BYTE              sPassword[PASSWD_LEN];
  BYTE              byLocalRight[MAX_RIGHT];
  BYTE              byRemoteRight[MAX_RIGHT];
  DWORD             dwNetPreviewRight[MAX_CHANNUM_V40];
  DWORD             dwLocalRecordRight[MAX_CHANNUM_V40];
  DWORD             dwNetRecordRight[MAX_CHANNUM_V40];
  DWORD             dwLocalPlaybackRight[MAX_CHANNUM_V40];
  DWORD             dwNetPlaybackRight[MAX_CHANNUM_V40];
  DWORD             dwLocalPTZRight[MAX_CHANNUM_V40];
  DWORD             dwNetPTZRight[MAX_CHANNUM_V40];
  DWORD             dwLocalBackupRight[MAX_CHANNUM_V40];
  NET_DVR_IPADDR    struUserIP;
  BYTE              byMACAddr[MACADDR_LEN];
  BYTE              byPriority;
  BYTE              byAlarmOnRight;
  BYTE              byAlarmOffRight;
  BYTE              byBypassRight;
  BYTE              byRes[118];
}NET_DVR_USER_INFO_V40,*LPNET_DVR_USER_INFO_V40;

Members

sUserName
User name, 16 bytes allowed
sPassword
Password
byLocalRight
Whether to have local permission, value: 0- no, 1- yes, each number array means a permission:
Array 0: local PTZ control
Array 1: local manual playback
Array 2: local playback
Array 3: local setting parameter
Array 4: local status and log query
Array 5: local advanced settings (upgrade, format, reboot, shutdown)
Array 6: local parameter check
Array 7: local management of analog and IP camera
Array 8: local backup
Array 9: local shutdown/restart
byRemoteRight
Whether to have remote permission, array value: 0- no, 1- yes, each number array means a permission:
Array 0: remote PTZ control
Array 1: remote manual recording
Array 2: remote playback
Array 3: remote set parameter
Array 4: remote check status and log
Array 5: remote advanced settings (upgrade, format, reboot, shutdown)
Array 6: remote start two-way audio
Array 7: remote live view
Array 8: remote request alarm upload, alarm output
Array 9: remote control, local output
Array 10: remote serial port control
Array 11: remote check parameter
Array 12: remote management of analog and IP camera
Array 13: remote shutdown/restart
dwNetPreviewRight
Remote live view channel, arranged in order, invalid after 0xffffffff
dwLocalRecordRight
Local recording channel, arranged in order, invalid after 0xffffffff
dwNetRecordRight
Remote recording channel, arranged in order, invalid after 0xffffffff
dwLocalPlaybackRight
Local playback channel, arranged in order, invalid after 0xffffffff
dwNetPlaybackRight
Remote playback channel, arranged in order, invalid after 0xffffffff
dwLocalPTZRight
Local PTZ channel, arranged in order, invalid after 0xffffffff
dwNetPTZRight
Remote PTZ channel, arranged in order, invalid after 0xffffffff
dwLocalBackupRight
Local backup permission channel, arranged in order, invalid after 0xffffffff
struUserIP
User IP address binding (0 means any address is allowed)
byMACAddr
Physical address binding (00:00:00:00:00:00 means any address is allowed)
byPriority
Priority: 0xff- no, 0- low, 1- medium, 2- high
No- priority setting is not supported
low- default permission includes local and remote playback, local and remote check log and status, local and remote shutdown/restart
medium- including local and remote PTZ control, local and remote manual recording, local and remote playback, two-way audio and remote live view, local backup, local/remote shutdown/restart
high- administrator (all permissions)
byAlarmOnRight
Whether to have alarm input port arming permission: 0- no, 1- yes
byAlarmOffRight
Whether to have alarm input port disarming permission: 0- no, 1- yes
byBypassRight
Whether to have alarm input port bypass permission: 0- no, 1- yes
byRes
Reserved, set as 0

See Also

NET_DVR_USER_V40


NET_DVR_USER_LOGIN_INFO

The structure of user login parameters

struct{
  char                    sDeviceAddress[NET_DVR_DEV_ADDRESS_MAX_LEN];
  BYTE                    byRes1;
  WORD                    wPort;
  char                    sUserName[NET_DVR_LOGIN_USERNAME_MAX_LEN];
  char                    sPassword[NET_DVR_LOGIN_PASSWD_MAX_LEN];
  fLoginResultCallBack    cbLoginResult;
  void                    *pUser;
  BOOL                    bUseAsynLogin;
  BYTE                    byRes2[128];
}NET_DVR_USER_LOGIN_INFO,*LPNET_DVR_USER_LOGIN_INFO;

Members

dwSize
The size of the structure
sDeviceAddress
Device address, IP address or normal domain name.
byRes1
Reserved, set as 0.
wPort
Device PORT No.
sUserName
Login user name
sPassword
Login password
cbLoginResult
Call-back function of login status, valid when bUseAsynLogin is 0.
pUser
User data
bUseAsynLogin
Asynchronous login? 0-No, 1- Yes
byRes2
Reserved, set as 0.

Callback Function

typedef void(CALLBACK *fLoginResultCallBack)(
  LONG                        lUserID,
  DWORD                       dwResult,
  LPNET_DVR_DEVICEINFO_V30    lpDeviceInfo,
  void                        *pUser
);

Callback Function Parameters

lUserID
[out] User ID, the return value of NET_DVR_Login_V40
dwResult
[out] Login status, ：0- Asynchronous login succeeded，1- Asynchronous login failed
lpDeviceInfo
[out] Device information, device serial No., channel, and capacity.
pUser
[out] User data

See Also

NET_DVR_Login_V40


NET_DVR_USER_RIGHT_CFG

Structure of user right configuration

struct{
  DWORD    dwSize;
  BYTE     byAddMonitoringPointRight;
  BYTE     byModMonitoringPointRight;
  BYTE     byDelMonitoringPointRight;
  BYTE     bySetRecordPlanRight;
  BYTE     byDelRecordPlanRight;
  BYTE     byEnableOrDisableRecordPlanRight;
  BYTE     byManualRecordRight;
  BYTE     bySetAlarmRecordRight;
  BYTE     byRecordBackupRight;
  BYTE     byRecordDownloadRight;
  BYTE     byRecordDeleteRight;
  BYTE     byDelBackupRecordRight;
  BYTE     bySetBackupVolumeRight;
  BYTE     byRecordPlayBackRight;
  BYTE     byLogDeleteRight;
  BYTE     byLogDownloadRight;
  BYTE     byAddUserRight;
  BYTE     byDelUserRight;
  BYTE     byModUserRight;
  BYTE     byAllocUserRight;
  BYTE     byRes[128];
}NET_DVR_USER_RIGHT_CFG,*LPNET_DVR_USER_RIGHT_CFG;

Members

dwSize
Structure size
byAddMonitoringPointRight
Add cameras,authority：0-no，1-yes
byModMonitoringPointRight
Modify cameras, authority: 0-no，1-yes
byDelMonitoringPointRight
Delete cameras, authority: 0-no，1-yes
bySetRecordPlanRight
Set recording plan,authority：0-no，1-yes
byDelRecordPlanRight
Delete recording plan,authority：0-no，1-yes
byEnableOrDisableRecordPlanRight
Enable and disable recording plan,authority：0-no，1-yes
byManualRecordRight
Enable and disable manual recording,authority：0-no，1-yes
bySetAlarmRecordRight
Set alarm video,authority：0-no，1-yes
byRecordBackupRight
Video back-up, authority：0-no，1-yes
byRecordDownloadRight
Video downloading, authority：0-no，1-yes
byRecordDeleteRight
Delete video,authority：0-no，1-yes (reserved）
byDelBackupRecordRight
Delete backuping video, authority：0-no，1-yes (reserved
bySetBackupVolumeRight
Set back-up volume, authority：0-no，1-yes
byRecordPlayBackRight
Playback,authority：0-no，1-yes
byLogDeleteRight
Empty the log,authority：0-no，1-yes (reserved)
byLogDownloadRight
Download the log,authority：0-no，1-yes (reserved)
byAddUserRight
Add user,authority：0-no，1-yes
byDelUserRight
Delete user,authority：0-no，1-yes
byModUserRight
Modify user, authority：0-no，1-yes
byAllocUserRight
User authority distribition,authority：0-no，1-yes
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_USER_V30

User parameters structure

struct{
  DWORD                     dwSize;
  NET_DVR_USER_INFO_V30     struUser[MAX_USERNUM_V30];
}NET_DVR_USER_V30,*LPNET_DVR_USER_V30;

Members

dwSize
Structure size
struUser
User information parameters

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_USER_V40

User parameter configuration (extension) structure

struct{
  DWORD                    dwSize;
  DWORD                    dwMaxUserNum;
  NET_DVR_USER_INFO_V40    struUser[MAX_USERNUM_V30];
}NET_DVR_USER_V40,*LPNET_DVR_USER_V40;

Members

dwSize
Structure size
dwMaxUserNum
Max. number of users supported by device (read-only)
struUser
User information, struUser[0] to struUser[dwMaxUserNum-1] valid

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

Extended structure see

NET_DVR_USER_V50

The structure is extended from

NET_DVR_USER_V30


NET_DVR_USER_V50

User parameter configuration (extension) structure

struct{
  DWORD                    dwSize;
  DWORD                    dwMaxUserNum;
  NET_DVR_USER_INFO_V40    struUser[MAX_USERNUM_V30];
  char                     sloginPassword[PASSWD_LEN];
  BYTE                     byRes[240];
}NET_DVR_USER_V50,*LPNET_DVR_USER_V50;

Members

dwSize
Structure size
dwMaxUserNum
Max. number of users supported by device (read-only)
struUser
User information, struUser[0] to struUser[dwMaxUserNum-1] valid
sloginPassword
Login password confirmation (input when setting, should be same with the password sPassword in NET_DVR_USER_INFO_V40, getting not supported)
byRes
Reserved, set as 0

Remarks

  • Whether device supports user parameter configuration or supported capability, can be determined through device capability set (UserAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_USER_ABILITY.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Reference Structure

The structure is extended from

NET_DVR_USER_V40


NET_DVR_USING_SERIALPORT

Current used serial port information structure

struct{
  DWORD    dwSize;
  DWORD    dwSerialPort;
  BYTE     byProtocolType;
  BYTE     byRes[31];
}NET_DVR_USING_SERIALPORT, *LPNET_DVR_USING_SERIALPORT;

Members

dwSize
Structure size
dwSerialPort
Current used serial port No.
byProtocolType
Serial port protocol type:1- LCD-S1，2- LCD-S2，3- LCD-L1，4- LCD-DLP，5- LCD-S3，6- LCD-D20，7- LCD-L2，8- LCD-Z1，9- LCD-D20/D，10- LCD-D20/S，11- LCD-D20/P，12- LCD-D20/T，13- LCD-D20/F，14- LCD-D20/DF，15-LCD-D20/FS，16- LCD-D20/FP，17-LCD-D20/FT，18-LCD-D5022，19-LCD-D5032，20-LCD-D5042+
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VALID_PERIOD_CFG

Validity Parameters Parameters

struct{
  BYTE               byEnable;
  BYTE               byRes1[3];
  NET_DVR_TIME_EX    struBeginTime;
  NET_DVR_TIME_EX    struEndTime;
  BYTE               byRes2[32];
}NET_DVR_VALID_PERIOD_CFG,*LPNET_DVR_VALID_PERIOD_CFG;

Members

byEnable
Enable this validity? 0- No, 1- Yes
byRes1
Reserved,set as 0.
struBeginTime
Validity Start Time
struEndTime
Validity End Time
byRes2
Reserved, set as 0.

See Also

NET_DVR_GROUP_CFG NET_DVR_CARD_CFG


NET_DVR_VANDALPROOF_ALARM

E-compass vandal proof alarm information structure

struct{
  DWORD               dwSize;
  DWORD               dwRelativeTime;
  DWORD               dwAbsTime;
  NET_VCA_DEV_INFO    struDevInfo;
  BYTE                byRes[256];
}NET_DVR_VANDALPROOF_ALARM,*LPNET_DVR_VANDALPROOF_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative time mark
dwAbsTime
Absolute time mark
struDevInfo
Front-end device
byRes
Reserved, set as 0

Remarks

  • The algorithm applied to get "year/month/day/hour/minute/second from absolute time mark dwAbsTime is as follows:
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)
  • Whether the device supports e-compass vandal proof alarm capability or supported capability, can be determined through device capability set (CompassCap), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_COMPASS_CAPABILITIES, node: <VandalProofAlarm>.

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_VANDALPROOFALARM_CFG

Structure of Compass Vandal-Proof Alarm Parameters

struct{
  DWORD    dwSize;
  BYTE     bySensitivity;
  BYTE     byUploadEnabled;
  BYTE     byVoiceWarningEnabled;
  BYTE     byRes[125];
}NET_DVR_VANDALPROOFALARM_CFG,*LPNET_DVR_VANDALPROOFALARM_CFG;

Members

dwSize
Structure Size
bySensitivity
Sensitivity (Support sensitivity configuration: the larger the sensitivity value, the easier to trigger; the smaller the sensitivity value, the harder to trigger); Value Range: [1,100]
byUploadEnabled
Enable Vandal-Proof Alarm Uploading Or Not: 0- Disable, 1- Enable
byVoiceWarningEnabled
Enable Vandal-Proof Alarm Audio Prompt Or Not: 0- Disable, 1- Enable
byRes
Reserved; Set to 0.

Remarks

  • Get the vandal-proof alarm information by alarm arming to enable the vandal-proof alarm uploading. Alarm Information Type: COMM_VANDALPROOF_ALARM.
  • Judge whether the device has the compass vandal-proof alarm capability and its parameters supporting capability or not by the device Capability Set. Compass Capability Set(CompassCap), Interface: NET_DVR_GetSTDAbility, Capability Set Type: NET_DVR_GET_COMPASS_CAPABILITIES, Node: <VandalProofAlarm>.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_VCA_ALARM_CFG

Decoder smart alarm settings structure

struct{
  DWORD                         dwSize;
  NET_DVR_DEC_VCA_ALARM_LOGO    struAlarmLogo;
  NET_DVR_DEC_VCA_ALARM_PIC     struAlarmPic;
  BYTE                          byRes[64];
}NET_DVR_VCA_ALARM_CFG,*LPNET_DVR_VCA_ALARM_CFG;

Members

dwSize
Structure size
struAlarmLogo
Smart alarm Logo overlay parameters
struAlarmPic
Smart alarm picture parameters
byRes
Reserved, set as 0.

Remarks

  • Check the device capability( whether to support smart alarm configuration) via the decoder capability(DecoderAbility), API:NET_DVR_GetDeviceAbility, capability type:DECODER_ABILITY, node:<VcaDec>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VCA_CTRLINFO_CFG

Structure of intelligent control parameters

struct{
  DWORD    dwSize;
  BYTE     byVCAEnable;
  BYTE     byVCAType;
  BYTE     byStreamWithVCA;
  BYTE     byMode;
  BYTE     byControlType;
  BYTE     byRes[83];
}NET_DVR_VCA_CTRLINFO_CFG, *LPNET_DVR_VCA_CTRLINFO_CFG;

Members

dwSize
Structure size
byVCAEnable
Enable VCA: 0- no, 1- yes
byVCAEnable
VCA ability type, defined as follows:
enum _VCA_CHAN_ABILITY_TYPE_{
  VCA_BEHAVIOR_BASE             = 1,
  VCA_BEHAVIOR_ADVANCE          = 2,
  VCA_BEHAVIOR_FULL             = 3,
  VCA_PLATE                     = 4,
  VCA_ATM                       = 5,
  VCA_PDC                       = 6
  VCA_ITS                       = 7,
  VCA_BEHAVIOR_PRISON           = 8,
  VCA_FACE_SNAP                 = 9,
  VCA_FACE_SNAPRECOG            = 10,
  VCA_FACE_RETRIEVAL            = 11,
  VCA_FACE_RECOG                = 12,
  VCA_BEHAVIOR_PRISON_PERIMETER = 13,
  VCA_TPS                       = 14,
  VCA_TFS                       = 15,
  VCA_BEHAVIOR_FACESNAP         = 16
}VCA_CHAN_ABILITY_TYPE
VCA_BEHAVIOR_BASE
Basic behavior analysis
VCA_BEHAVIOR_ADVANCE
Advanced behavior analysis
VCA_BEHAVIOR_FULL
Full behavior analysis
VCA_PLATE
Plate
VCA_ATM
ATM
VCA_PDC
People counting ability
VCA_ITS
Intelligent teraffic event
VCA_BEHAVIOR_PRISON
Behavior analysis in prison
VCA_FACE_SNAP
Face snapshot ability
VCA_FACE_SNAPRECOG
Face snapshot and recognition ability
VCA_FACE_RETRIEVAL
Face retrieval ability
VCA_FACE_RECOG
Face recognition ability
VCA_BEHAVIOR_PRISON_PERIMETER
Behavior analysis in prison (perimeter)
VCA_TPS
Traffic guidance
VCA_TFS
Illegal traffic evidence obtainment
VCA_BEHAVIOR_FACESNAP
Face snapshot and behavior analysis ability
byStreamWithVCA
Whether there are intelligent info in the stream: 0- no, 1- yes
byMode
Mode, defined as follows:

byVCAEnable VCA type byMode
VCA_BEHAVIOR_FULL Full behavior analysis enum _BEHAVIOR_SCENE_MODE_TYPE_{
BEHAVIOR_SCENE_DEFAULT = 0, //system default
BEHAVIOR_SCENE_WALL = 1, //wall
BEHAVIOR_SCENE_INDOOR = 2 //indoor
}BEHAVIOR_SCENE_MODE_TYPE;
VCA_ATM ATM ability enum _VCA_CHAN_MODE_TYPE_{
VCA_ATM_PANEL = 0, //ATM panel
VCA_ATM_SURROUND = 1, //ATM surroundings
VCA_ATM_FACE = 2 //ATM face recognition &private ATM face recognition
}VCA_CHAN_MODE_TYPE
VCA_ITS ITS(intelligent traffic event) ability enum _TRAFFIC_SCENE_MODE_{
FREEWAY = 0, //high speed outdoor scene
TUNNEL, //high speed tunnel scene
BRIDGE //high speed bridge scene
}TRAFFIC_SCENE_MODE
VCA_TFS TFS(Illegal traffic evidence obtainment) ability enum _TFS_CHAN_MODE_TYPE_{
TFS_CITYROAD = 0, //TFS city road
TFS_FREEWAY = 1 //TFS high speed road
}TFS_CHAN_MODE_TYPE
byControlType
Control type, describes by bit: 0- no, 1- yes
byControlType &1, indicates whether enable snapshot
byControlType &2, indicates whether enable front-end device linkage
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_VCA_CTRLINFO_COND

Structure of intelligent control parameter

struct{
  DWORD                  dwSize;
  NET_DVR_STREAM_INFO    struStreamInfo;
  BYTE                   byRes[64];
}NET_DVR_VCA_CTRLINFO_COND, *LPNET_DVR_VCA_CTRLINFO_COND;

Members

dwSize
Structure size
struStreamInfo
Stream info
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_VCA_DETECTION_CFG_V40

Smart detection paramters configuration structure

struct{
  DWORD                        dwSize;
  BYTE                         byEnable;
  BYTE                         byRes1[3];
  NET_DVR_SCHEDTIME            struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  DWORD                        dwHandleType;
  DWORD                        dwMaxRelAlarmOutChanNum;
  DWORD                        dwRelAlarmOut[MAX_ALARMOUT_V40];
  DWORD                        dwMaxRelRecordChanNum;
  DWORD                        dwRelRecordChan[MAX_CHANNUM_V40];
  DWORD                        dwEnablePresetChanNum;
  NET_DVR_PRESETCHAN_INFO      struPresetChanInfo[MAX_CHANNUM_V40];
  BYTE                         byRes2[516];
  DWORD                        dwEnableCruiseChanNum;
  NET_DVR_CRUISECHAN_INFO      struCruiseChanInfo[MAX_CHANNUM_V40];
  DWORD                        dwEnablePtzTrackChanNum;
  NET_DVR_PTZTRACKCHAN_INFO    struPtzTrackInfo[MAX_CHANNUM_V40];
  NET_DVR_SCHEDTIME            struHolidayTime[MAX_TIMESEGMENT_V30];
  BYTE                         byRes[224];
}NET_DVR_VCA_DETECTION_CFG_V40,*LPNET_DVR_VCA_DETECTION_CFG_V40;

Members

dwSize
Structure size
byEnable
Enable? 0- Yes,1- No
byRes1
Reserved, set as 0
struAlarmSched
Arming time, 7days/w,8 time segments/day.
dwHandleType
Exception handling
0x00: no response
0x01: Monitor warning
0x02: audible warning
0x04: notify the surveillence center
0x08: trigger alarm output
0x10: send Jpeg snapshot by E-mail
0x20: interact with wireless sound and light alarm
0x40: e-map linkage (supported by PCNVR only)
0x200：capture image and upload to FTP
E.g. dwHandleType==0x01|0x04, it means set to alarm on monitor and upload the alarm to center
dwMaxRelAlarmOutChanNum
The maximum channel output of devices triggered by alarm (read only)
dwRelAlarmOut
The front value of dwRelAlarmOutChanNum stands for the output channel triggered by alarm, the initial value is 0xfffffffff(not associated to channel). for example, you can configure the output channel dwRelAlarmOut[0]~dwRelAlarmOut[4] triggered by alarm, when dwRelAlarmOutChanNum=5
dwMaxRecordChanNum
The maximum channel output of devices triggered by alarm (read only)
dwRelAlarmOut
The front value of dwRelAlarmOutChanNum stands for the output channel triggered by alarm, the initial value is 0xfffffffff(not associated to channel). for example, you can configure the output channel dwRelAlarmOut[0]~dwRelAlarmOut[4] triggered by alarm, when dwRelAlarmOutChanNum=5
dwEnablePresetChanNum
The used preset number
struPresetChanInfo
Channel that enable preset function,when dwEnablePresetChanNum is not 0, struPresetChanInfo[0]~struPresetChanInfo[dwEnablePresetChanNum-1] is valid, 0 indicates that the preset is not used.
byRes2
Reserved, set as 0.
dwEnableCruiseChanNum
Currently enabled patrol number
struCruiseChanInfo
Channel that enable patrol function:when dwEnableCruiseChanNum is not 0, struCruiseChanInfo[0]~struCruiseChanInfo[dwEnableCruiseChanNum-1] is vaiild,Channel that enable patrol function
dwEnablePtzTrackChanNum
Currently enabled pattern number
struPtzTrackInfo
Channel that enable pattern function: when dwEnablePtzTrackChanNum is not 0, struPtzTrackInfo[0]~struPtzTrackInfo[dwEnablePresetChanNum-1] is valid, Channel that enable pattern function
struHolidayTime
Holiday arming schedule
byRes
Reserved, set as 0. 0

Remarks

Only IP channel of NVR and H-DVR supports supported smart detection. only IPC with line crossing detection, region entering detection, face detection support this function.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_VCA_DETION_CFG

VCA detection parameters configuration structure

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  NET_DVR_SCHEDTIME              struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V40    struHandleException;
  DWORD                          dwMaxRelRecordChanNum;
  DWORD                          dwRelRecordChanNum;
  DWORD                          dwRelRecordChan[MAX_CHANNUM_V30];
  BYTE                           byEnablePreset[MAX_CHANNUM_V30];
  BYTE                           byPresetNo[MAX_CHANNUM_V30];
  BYTE                           byEnableCruise[MAX_CHANNUM_V30];
  BYTE                           byCruiseNo[MAX_CHANNUM_V30];
  BYTE                           byEnablePtzTrack[MAX_CHANNUM_V30];
  BYTE                           byPTZTrack[MAX_CHANNUM_V30];
  NET_DVR_SCHEDTIME              struHolidayTime[MAX_TIMESEGMENT_V30];
  BYTE                           byRes[224];
}NET_DVR_VCA_DETION_CFG,*LPNET_DVR_VCA_DETION_CFG;

Members

dwSize
Structure size
byEnable
Enable? 0- Yes, 1- Disable
byRes1
Reserved, set as 0.
struAlarmSched
Arming time, 7 days for a week, and 8 time segments for a day.
struHandleException
Exception handle mode
dwMaxRelRecordChanNum
Max. alarm triggered video channel number(read only) supported by the device.
dwRelRecordChanNum
The actual supported alarm triggered video channel number, which is the number of current group contained channel.
dwRelRecordChan
Alarm triggered video channel, uses the dwRelRecordChanNum * value of the array, the value indicates the video channel No., For example, dwRelRecordChanNum=5(configure the triggered video channel):dwRelRecordChan[0]~dwRelRecordChan[4]
byEnablePreset
Enable to call the preset?( each array corresponds to one channel): 0- No, 1; Yes
byPresetNo
Channel called PTZ preset No., one alarm input can call PTZ presets of multiple channels( one preset for one channel only )
byEnableCruise
Enable to call the patrol? 0-No, 1-Yes
byCruiseNo
Patrol path
byEnablePtzTrack
Enable to call the pattern? 0- No, 1-Yes
byPTZTrack
Called PTZ pattern No.
struHolidayTime
Holiday arming time
byRes
Reserved, set as 0.

Remarks

Only the IP channel of NVR, and H-DVR supports this VCA detection function, analog channels are not supported.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_VCA_RULE_COLOR_CFG

VCA rule related color parameters configuration structure

struct{
  DWORD               dwSize;
  BYTE                byEnable;
  BYTE                byRuleID;
  BYTE                byColorBlockNo;
  BYTE                byRes1;
  NET_DVR_PIC_INFO    struPicInfo;
  BYTE                byRes[64];
}NET_DVR_VCA_RULE_COLOR_CFG, *LPNET_DVR_VCA_RULE_COLOR_CFG;

Members

dwSize
Structure size
byEnable
Enable color comparison? 0- No, 1- Yes
byRuleID
Related rule ID, value range:1 to 16
byColorBlockNo
Color block No, starts from 1.
byRes1
Reserved
struPicInfo
Image color information
byRes
Reserved

Remarks

  • Check whether the device supports VCA color block configuration via the device capability, the related VCA channel analysis capability(VcaChanAbility), API:NET_DVR_GetDeviceAbility, capability type: DEVICE_ABILITY_INFO, node:<ColorFilter>.

See Also

NET_DVR_StartRemoteConfig NET_DVR_SetDVRConfig


NET_DVR_VCA_RULE_COLOR_COND

Smart rule related color parameters query condition structure

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  BYTE     byRuleID;
  BYTE     byRes[127];
}NET_DVR_VCA_RULE_COLOR_COND, *LPNET_DVR_VCA_RULE_COLOR_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byRuleID
Related rule ID, 0 indicates not related(query for all rule related color parameters)
byRes
Reserved

See Also

NET_DVR_StartRemoteConfig


NET_DVR_VCA_VERSION

Structure of intelligent algorithm version parameter.

struct{
  WORD    wMajorVersion;
  WORD    wMinorVersion;
  WORD    wRevisionNumber;
  WORD    wBuildNumber;
  WORD    wVersionYear;
  BYTE    byVersionMonth;
  BYTE    byVersionDay;
  BYTE    byRes[8];
}NET_DVR_VCA_VERSION, *LPNET_DVR_VCA_VERSION;

Members

wMajorVersion
Major verision
wMinorVersion
Minor verision
wRevisionNumber
Revision number
wBuildNumber
Build number
wVersionYear
Version:Year
byVersionMonth
Version:Month
byVersionDay
Version:Day
byRes
Reserved


NET_DVR_VCS_USER_INFO

User information

struct{
  DWORD                             dwSize;
  BYTE                              sUserName[NAME_LEN];
  BYTE                              sPassWord[PASSWD_LEN];
  NET_DVR_IPADDR                    struUserIP;
  BYTE                              byMacAddr[MACADDR_LEN];
  BYTE                              byPriority;
  BYTE                              byRes1;
  DWORD                             dwRight;
  NET_DVR_ASSOCIATE_INPUT_PARAM     struInputParam[MAX_INPUTNUMS];
  NET_DVR_ASSOCIATE_OUTPUT_PARAM    struOutputParam[MAX_OUTPUTNUMS];
  BYTE                              byRes2[128];
}NET_DVR_VCS_USER_INFO,*LPNET_DVR_VCS_USER_INFO;

Members

dwSize
Structure size
sUserName
User name, max 16 bytes
sPassWord
Password
struUserIP
Bind user's IP address (0 means it supports any IP)
byMacAddr
Bind the MAC (0 means it supports any MAC)
byPriority
Priority: 1- administrator, 2- operator. The administrator has all permissions, and the operator has no permission of user management.
byRes1
Reserved, please set to 0
dwRight
Remotely operating authority, each bit means different operation, the value: 0- not support, 1- support.
bit0- basic parameters (including basic device parameters, network parameters and so on),
bit1- display management,
bit2- window management,
bit3- signal source management (including the configuration of local signal source, network signal source and decoder board),
bit4- layout management,
bit5- plan management,
bit6- traced drawing management,
bit7- OSD management,
bit8- callback display,
bit9- arming,
bit10- remotely upgrade,
bit11- restore the factory default,
bit12- import or export the configuration file,
bit13- log query,
bit14- remotely reboot the device
struInputParam
The associated input device
struOutputParam
The associated output display
byRes2
Reserved, please set to 0

Remarks

Multi-screen controller has 1 administrator and 7 operator users. The operator users cannot do any operation if the administrator has logged in the device; and all operator users can do operation at the same time if the administrator has not logged in. The administrator has all the permissions, and is supported to add, modify and delete the operator user.

struUserIP, byMacAddr, struInputParam and struOutputParam are invalid for centralized multi-screen controller of V2.1.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VD_INFO

Structure of single virtual disk parameter.

struct{
  WORD                wSlot;
  BYTE                byStatus;
  BYTE                byRaidMode;
  WORD                wArrayID;
  BYTE                byRepair;
  BYTE                byRes1;
  BYTE                byArrayName[MAX_NAMELEN];
  BYTE                byName[MAX_NAMELEN];
  DWORD               dwHCapacity;
  DWORD               dwLCapacity;
  DWORD               dwHFreeSpace;
  DWORD               dwLFreeSpace;
  NET_DVR_BGA_INFO    struBgaInfo;
  DWORD               dwBlockSize;
  NET_DVR_IPADDR      struWarrantIP;
  char                szArrayGroup[MAX_NAMELEN];
  BYTE                byRes[20];
}NET_DVR_VD_INFO, *LPNET_DVR_VD_INFO;

Members

wSlot
Virtual disk slot number
byStatus
Virtual disk status: 0- normal, 1- degrade, 2- deleted, 3- disk lost, 4- off-line, 5- subnormal, 6- external
byRaidMode
RAID mode. Detailed definition listed below:
enum _RAID_MODE_{
  RAID0 = 1,
  RAID1,
  RAID10,
  RAID1E,
  RAID5,
  RAID6,
  RAID50,
  JBOD,
  RAID60
}RAID_MODE
RAID0
RAID0
RAID1
RAID1
RAID10
RAID10
RAID1E
RAID1E
RAID5
RAID5
RAID6
RAID6
RAID50
RAID50
JBOD
JBOD
RAID60
RAID60
wArrayID
Respective array ID
byRepair
Whether it needs to repair or not: 0- no, 1-yes
byRes1
Reserved
byArrayName
Array name
byName
Virtual disk name
dwHCapacity
Higher 32 bits of virtual disk capacity
dwLCapacity
Lower 32 bits of virtual disk capacity
dwHFreeSpace
Higher 32 bits of virtual disk free space
dwLFreeSpace
Lower 32 bits of virtual disk free space
struBgaInfo
Running state of background task
dwBlockSize
The minimum size of the memory block
struWarrantIP
The IP of authorized network disk
szArrayGroup
name of array group
byRes
Reserved, please set to 0

See Also

NET_DVR_BGA_INFO


NET_DVR_VD_LIST

Structure of virtual disk parameter.

struct{
  DWORD              dwSize;
  DWORD              dwCount;
  NET_DVR_VD_INFO    struVDInfo[SUPPORT_VD_NUM];
}NET_DVR_VD_LIST, *LPNET_DVR_VD_LIST;

Members

dwSize
Structure size
dwCount
The number of virtual disks
struVDInfo
Single virtual disk information

See Also

NET_DVR_VD_INFO


NET_DVR_VD_SLOT

Structure of single virtual disk array allocation parameter.

struct{
  WORD    wVDSlot;
  BYTE    byAlloc;
  BYTE    byRes[5];
  DWORD   dwHVDSlotSize;
  DWORD   dwLVDSlotSize;
}NET_DVR_VD_SLOT, *LPNET_DVR_VD_SLOT;

Members

wVDSlot
Virtual disk slot number
byAlloc
Whether it has allocated or not: 0- no, 1- yes
byRes
Reserved
dwHVDSlotSize
Higher 32 bits of virtual disk space
dwLVDSlotSize
Lower 32 bits of virtual disk space


NET_DVR_VEDIOPLATLOG

Structure of log searching on video intergrated platform.

struct{
  BYTE       bySearchCondition;
  BYTE       byDevSequence;
  BYTE       sSerialNumber[SERIALNO_LEN];
  BYTE       byMacAddr[MACADDR_LEN];
}NET_DVR_VEDIOPLATLOG, *LPNET_DVR_VEDIOPLATLOG;

Members

bySearchCondition
Condition: 0- search by slot number, 1- search by serial number, 2- search by MAC
byDevSequence
Slot number: from 0 to 79, 0xff: search all log, including center control board and all encoding and decoding sub systems, 0xfe: search log of center control board
sSerialNumber
Serial number
byMacAddr
MAC address


NET_DVR_VEHICLE_CONTROL

Structure of Vehicle Information Management Parameters

struct{
  BYTE    byGateOperateType;
  BYTE    byRes1;
  WORD    wAlarmOperateType;
  BYTE    byRes2[8];
}NET_DVR_VEHICLE_CONTROL,*LPNET_DVR_VEHICLE_CONTROL;

Members

byGateOperateType
Operation type: 0- No operation, 1- Open the barrier gate
byRes1
Reserved, set as 0.
wAlarmOperateType
Alarm operation type,：0- No operation, bit0- Relay ouput alarm, bit1- Arming uploading alarm, bit3- Alarm host uploading: 0-Disable, 1-Enable
byRes2
Reserved, set as 0.0

See Also

NET_DVR_ENTRANCE_CFG


NET_DVR_VEHICLE_CONTROL_ALARM

Structure of vehicle alarm information (Blacklist and Whitelist)

struct{
  DWORD               dwSize;
  BYTE                byListType;
  BYTE                byPlateType;
  BYTE                byPlateColor;
  BYTE                byRes1;
  char                sLicense[MAX_LICENSE_LEN];
  char                sCardNo[MAX_CARDNO_LEN];
  NET_DVR_TIME_V30    struAlarmTime;
  DWORD               dwChannel;
  DWORD               dwPicDataLen;
  BYTE                byPicType;
  BYTE                byRes3[3];
  char                *pPicData;
  BYTE                byRes2[48];
}NET_DVR_VEHICLE_CONTROL_ALARM,*LPNET_DVR_VEHICLE_CONTROL_ALARM;

Members

dwSize
Structure size
byListType
List Property (Blacklist and Whitelist): 0- Whitelist, 1- Blacklist, 2- Tentative list
byPlateType
The license plate type:
enum _VCA_PLATE_TYPE_{
  VCA_STANDARD92_PLATE = 0,
  VCA_STANDARD02_PLATE,
  VCA_WJPOLICE_PLATE,
  VCA_JINGCHE_PLATE,
  STANDARD92_BACK_PLATE,
  VCA_SHIGUAN_PLATE,
  VCA_NONGYONG_PLATE,
  VCA_MOTO_PLATE
}VCA_PLATE_TYPE
VCA_STANDARD92_PLATE
Standard civil and military vehicle license plate
VCA_STANDARD02_PLATE
Type 02 civil license plate
VCA_WJPOLICE_PLATE
Armed police vehicle
VCA_JINGCHE_PLATE
Police vehicle
STANDARD92_BACK_PLATE
Civil vehicle(dual driving)
VCA_SHIGUAN_PLATE
Embass license plate
VCA_NONGYONG_PLATE
Farm-oriented vehicle license plate
VCA_MOTO_PLATE
Motorcycle license plate
byPlateColor
License plate color:
enum _VCA_PLATE_COLOR_{
  VCA_BLUE_PLATE  = 0,
  VCA_YELLOW_PLATE,
  VCA_WHITE_PLATE,
  VCA_BLACK_PLATE,
  VCA_GREEN_PLATE,
  VCA_BKAIR_PLATE,
  VCA_OTHER = 0xff
}VCA_PLATE_COLOR
VCA_BLUE_PLATE
Blue license plate
VCA_YELLOW_PLATE
Yellow license plate
VCA_WHITE_PLATE
White license plate
VCA_BLACK_PLATE
Black license plate
VCA_GREEN_PLATE
Green license plate
VCA_BKAIR_PLATE
Civil aviation black license plate
VCA_OTHER = 0xff
Others
byRes1
Reserved, set to 0
sLicense
License plate number
sCardNo
Card No.
struAlarmTime
Alarming time
dwChannel
Channel number (If the connected device is IPC, the number is IPC channel number; If the connected device is DVR/NVR, the number is DVR/NVR channel number)
dwPicDataLen
Picture data size, 0 means no picture, larger than 0 means picture data follows the structure.
byPicType
Picture type: 0- JPEG, 1- BMP, 2- PNG
byRes3
Reserved, set to 0
pPicData
Picture data buffer, JPEG format
byRes2
Reserved, set to 0

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_VEHICLE_CONTROL_COND

The structure of getting the vehicle black list/white list information

struct{
  DWORD    dwChannel;
  DWORD    dwOperateType;
  char     sLicense[MAX_LICENSE_LEN];
  char     sCardNo[MAX_CARDNO_LEN];
  BYTE     byListType;
  BYTE     byRes1[3];
  DWORD    dwDataIndex;
  BYTE     byRes[116];
}NET_DVR_VEHICLE_CONTROL_COND,*LPNET_DVR_VEHICLE_CONTROL_COND;

Members

dwChannel
Channel No. 0xffffffff represents all the channels
dwOperateType
Operation Type:
enum _VCA_OPERATE_TYPE_{
  VCA_LICENSE_TYPE       = 0x1,
  VCA_PLATECOLOR_TYPE    = 0x2,
  VCA_CARDNO_TYPE        = 0x4,
  VCA_PLATETYPE_TYPE     = 0x8,
  VCA_LISTTYPE_TYPE      = 0x10,
  VCA_INDEX_TYPE         = 0x20,
  VCA_OPERATE_INDEX_TYPE = 0x40
}VCA_OPERATE_TYPE
VCA_LICENSE_TYPE
Licence plate No.
VCA_PLATECOLOR_TYPE
Licence plate color
VCA_CARDNO_TYPE
Card No.
VCA_PLATETYPE_TYPE
Licence plate type
VCA_LISTTYPE_TYPE
Vehicle list type
VCA_INDEX_TYPE
Data serial No.
VCA_OPERATE_INDEX_TYPE
Operation No.
sLicense
Licence plate No.
sCardNo
Card No.
byListType
Vehicle list type: 0- White list, 1- Black list
byRes1
Reserved,set as 0.
dwDataIndex
Data serial No.
byRes
Reserved, set as 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_VEHICLE_CONTROL_DELINFO

Blacklist database delete information structure

struct{
  DWORD    dwSize;
  DWORD    dwDelType;
  char     sLicense[MAX_LICENSE_LEN];
  char     sCardNo[MAX_CARDNO_LEN];
  BYTE     byPlateType;
  BYTE     byPlateColor;
  BYTE     byOperateType;
  BYTE     byListType;
  DWORD    dwDataIndex;
  char     sOperateIndex[MAX_OPERATE_INDEX_LEN];
  BYTE     byRes[24];
}NET_DVR_VEHICLE_CONTROL_DELINFO,*LPNET_DVR_VEHICLE_CONTROL_DELINFO;

Members

dwSize
Structure size
dwDelType
Delete condition type (multiple choice available, valid when byOperateType=0), for details see below:
enum _VCA_OPERATE_TYPE_{
  VCA_LICENSE_TYPE       = 0x1,
  VCA_PLATECOLOR_TYPE    = 0x2,
  VCA_CARDNO_TYPE        = 0x4,
  VCA_PLATETYPE_TYPE     = 0x8,
  VCA_LISTTYPE_TYPE      = 0x10,
  VCA_INDEX_TYPE         = 0x20,
  VCA_OPERATE_INDEX_TYPE = 0x40
}VCA_OPERATE_TYPE
VCA_LICENSE_TYPE
Plate No.
VCA_PLATECOLOR_TYPE
Vehicle color
VCA_CARDNO_TYPE
Card No.
VCA_PLATETYPE_TYPE
Plate type
VCA_LISTTYPE_TYPE
Vehicle name list type
VCA_INDEX_TYPE
Data index No.
VCA_OPERATE_INDEX_TYPE
Operation No.
sLicense
Plate No.
sCardNo
Card No.
byPlateType
Plate type, for details see below:
enum _VCA_PLATE_TYPE_{
  VCA_STANDARD92_PLATE = 0,
  VCA_STANDARD02_PLATE,
  VCA_WJPOLICE_PLATE,
  VCA_JINGCHE_PLATE,
  STANDARD92_BACK_PLATE,
  VCA_SHIGUAN_PLATE,
  VCA_NONGYONG_PLATE,
  VCA_MOTO_PLATE
}VCA_PLATE_TYPE
VCA_STANDARD92_PLATE
Standard civil and military vehicle plate
VCA_STANDARD02_PLATE
02 type civil vehicle plate
VCA_WJPOLICE_PLATE
Armed police vehicle plate
VCA_JINGCHE_PLATE
Police vehicle plate
STANDARD92_BACK_PLATE
Civil vehicle back plate
VCA_SHIGUAN_PLATE
Embassy vehicle plate
VCA_NONGYONG_PLATE
Agricultural vehicle plate
VCA_MOTO_PLATE
Motor plate
byPlateColor
Vehicle plate color, for details see:
enum _VCA_PLATE_COLOR_{
  VCA_BLUE_PLATE  = 0,
  VCA_YELLOW_PLATE,
  VCA_WHITE_PLATE,
  VCA_BLACK_PLATE,
  VCA_GREEN_PLATE,
  VCA_BKAIR_PLATE,
  VCA_OTHER = 0xff
}VCA_PLATE_COLOR
VCA_BLUE_PLATE
Blue plate
VCA_YELLOW_PLATE
Yellow plate
VCA_WHITE_PLATE
White plate
VCA_BLACK_PLATE
Black plate
VCA_GREEN_PLATE
Green plate
VCA_BKAIR_PLATE
Civil aviation black plate
VCA_OTHER = 0xff
Other
byOperateType
Delete operation type: 0- condition delete, 0xff- delete all
byListType
Name list property (white/blacklist): 0- whitelist, 1- blacklist
dwDataIndex
Data index No. (index No. of platform white/blacklist, may be duplicate, and must be used with byListType to determine a unique entry)
sOperateIndex
Operation No.
byRes
Reserved, set as 0

See Also

NET_DVR_RemoteControl


NET_DVR_VEHICLE_CONTROL_LIST_DSALARM

Structure of blacklist and whitelist data synchronization alarm information

struct{
  DWORD    dwSize;
  DWORD    dwDataIndex;
  char     sOperateIndex[MAX_OPERATE_INDEX_LEN];
  BYTE     byRes[32];
}NET_DVR_VEHICLE_CONTROL_LIST_DSALARM,*LPNET_DVR_VEHICLE_CONTROL_LIST_DSALARM;

Members

dwSize
Structure Size
dwDataIndex
Data No.(this value returns the device last received data No., and the system starts synchronizing from the next data No.)
sOperateIndex
Operation Number (the data No. in the system synchronous table will not be repeated, it is used for updating the increment and represents the record that synchronized to synchronous table. The existed camera memory will be cleared after restarting.
byRes
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_VEHICLE_CONTROL_LIST_INFO

The data synchronization structure of the blacklist/whitelist of the access

struct{
  DWORD               dwSize;
  DWORD               dwChannel;
  DWORD               dwDataIndex;
  char                sLicense[MAX_LICENSE_LEN];
  BYTE                byListType;
  BYTE                byPlateType;
  BYTE                byPlateColor;
  BYTE                byRes[21];
  char                sCardNo[MAX_CARDNO_LEN];
  NET_DVR_TIME_V30    struStartTime;
  NET_DVR_TIME_V30    struStopTime;
  char                sOperateIndex[MAX_OPERATE_INDEX_LEN];
  BYTE                byRes1[224];
}NET_DVR_VEHICLE_CONTROL_LIST_INFO,*LPNET_DVR_VEHICLE_CONTROL_LIST_INFO;

Members

dwSize
The size of the structure
dwChannel
Channel No. 0xffffffff represents all channels(the default ITC is 1).
dwDataIndex
The data serial No.
sLicense
Licence plate No.
byListType
List Property: 0- Whitelist, 1- Blacklist
byPlateType
The licence plate type:
enum _VCA_PLATE_TYPE_{
  VCA_STANDARD92_PLATE = 0,
  VCA_STANDARD02_PLATE,
  VCA_WJPOLICE_PLATE,
  VCA_JINGCHE_PLATE,
  STANDARD92_BACK_PLATE,
  VCA_SHIGUAN_PLATE,
  VCA_NONGYONG_PLATE,
  VCA_MOTO_PLATE
}VCA_PLATE_TYPE
VCA_STANDARD92_PLATE
Standard civil and military vehicle licence plate
VCA_STANDARD02_PLATE
Type 02 civil licence plate
VCA_WJPOLICE_PLATE
Armed police vehicle
VCA_JINGCHE_PLATE
Police vehicle
STANDARD92_BACK_PLATE
Civil vehicle(dual driving)
VCA_SHIGUAN_PLATE
Embass licence plate
VCA_NONGYONG_PLATE
Farm-oriented vehicle licence plate
VCA_MOTO_PLATE
Motorcycle licence plate
byPlateColor
Licence plate color:
enum _VCA_PLATE_COLOR_{
  VCA_BLUE_PLATE  = 0,
  VCA_YELLOW_PLATE,
  VCA_WHITE_PLATE,
  VCA_BLACK_PLATE,
  VCA_GREEN_PLATE,
  VCA_BKAIR_PLATE,
  VCA_OTHER = 0xff
}VCA_PLATE_COLOR
VCA_BLUE_PLATE
Blue licence plate
VCA_YELLOW_PLATE
Yellow licence plate
VCA_WHITE_PLATE
White licence plate
VCA_BLACK_PLATE
Black licence plate
VCA_GREEN_PLATE
Green licence plate
VCA_BKAIR_PLATE
Civil aviation black licence plate
VCA_OTHER = 0xff
Others
byRes
Reserved, set as 0.
sCardNo
Card No.
struStartTime
Valid start time
struStopTime
Valid end time
sOperateIndex
synchronous operation index (the platform synchronized serial No. will not be repeated.）
byRes2
Reserved, set as 0.

See Also

NET_DVR_SendRemoteConfig


NET_DVR_VEHICLE_INFO

Structure of vehicle information.

struct{
  DWORD      dwIndex;
  BYTE       byVehicleType;
  BYTE       byColorDepth;
  BYTE       byColor;
  BYTE       byRes1;
  WORD       wSpeed;
  WORD       wLength;
  BYTE       byIllegalType;
  BYTE       byRes2[3];
  BYTE       byCustomInfo[16];
  BYTE       byRes3[16];
}NET_DVR_VEHICLE_INFO, *LPNET_DVR_VEHICLE_INFO;

Members

dwIndex
Serial number of vehicle
byVehicleType
Vehicle type: 0- others, 1- small vehicle, 2- large vehicle, 3- pedestrian，4- bicycle，5- tricycle
byColorDepth
Color depth of vehicle: 0- deep, 1- shallow
byColor
Color: 0- other color, 1- white, 2- silver, 3- gray, 4- black, 5- red, 6- deep blue, 7- blue, 8- yellow, 9- green, 10- brown, 11- pink, 12- purple
byRes1
Reserved
wSpeed
Speed: km/h
wLength
Body length of last vehicle
byIllegalType
0- normal, 1- low speed, 2- overspeed, 3- retrograde, 4- violation of traffic lights , 5- on traffic lane, 6- not according to the guide line, 7- intersection congest, 8- motor vehicle takes up the non-motor vehicle lane, 9- change the traffic lane illegally, 10- motor vehicle against the rules occupy the special lane, 11- forbidding and restricting the yellow car, 12- Parking on the intersection,13-Stopping driving under the green light,14- Not stop driving for the pedestrian. 15- Illegal parking, 16- Illegal turning round, 17- Driving on the emergency vehicle lane
byRes2
Reserved
byCustomInfo
Custom information
byRes
Reserved

See Also

NET_DVR_PLATE_RESULT NET_ITS_PLATE_RESULT


NET_DVR_VEHICLE_INFO_COND

Vehicle information search condition parameter structure

struct{
  DWORD              dwSize;
  NET_DVR_TIME_EX    strStartTime;
  NET_DVR_TIME_EX    strStopTime;
  char               sLicense[MAX_LICENSE_LEN_EX];
  DWORD              dwChannel;
  BYTE               byRegion;
  BYTE               byRes[127];
}NET_DVR_VEHICLE_INFO_COND,*LPNET_DVR_VEHICLE_INFO_COND;

Members

dwSize
Structure size
strStartTime
Start time
strStopTime
End time
sLicense
Plate number
dwChannel
Channel No.
byRegion
Region index: 0- reserved, 1- Europe, 2- Russian Region, 3- EU & CIS, 0xff- all
byRes
Reserved, set as 0

Remarks

  • Whether the device supports vehicle information search or the supported parameter capability, can be determined through device capability set, corresponding capability set: (VehicleInfoResultCap), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_VEHICLLE_RESULT_CAPABILITIES.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_VEHICLE_RECOG_RESULT

Structure of vehicle secondary recognition result

struct{
  DWORD           dwSize;
  char            sDataIndex[DATA_INDEX_LEN];
  WORD            wTaskNo;
  BYTE            byRes[2];
  NET_VCA_RECT    struPlateRect;
  char            sLicense[MAX_LICENSE_LEN];
  BYTE            byVehicleType;
  BYTE            byColorDepth;
  BYTE            byColor;
  BYTE            byVehicleLogoRecog;
  BYTE            byVehicleSubLogoRecog;
  BYTE            byPilotSafebelt;
  BYTE            byCopilotSafebelt;
  BYTE            byPilotSunVisor;
  BYTE            byCopilotSunVisor;
  BYTE            byRes1[254];
  BYTE            byDataType;
  DWORD           dwPicType;
  BYTE            *pVehicleBuffer;
  DWORD           dwVehicleBufferLen;
  BYTE            *pPlateBuffer;
  DWORD           dwPlateBufferLen;
  BYTE            *pPilotFaceBuffer;
  DWORD           dwPilotFaceBufferLen;
  BYTE            *pCopilotFaceBuffer;
  DWORD           dwCopilotFaceBufferLen;
  BYTE            *pPilotSafebeltBuffer;
  DWORD           dwPilotSafebeltBufferLen;
  BYTE            *pCopilotSafebeltBuffer;
  DWORD           dwCopilotSafebeltBufferLen;
  BYTE            byRes2[128];
}NET_DVR_VEHICLE_RECOG_RESULT, *LPNET_DVR_VEHICLE_RECOG_RESULT;

Members

dwSize
Structure Size
sDataIndex
Data No.
wTaskNo
Task No., which is corresponding to the wTaskNo in the arming connection(NET_DVR_SETUPALARM_PARAM) and vehicle secondary recognition task submission(NET_DVR_VEHICLE_RECOG_CFG)
byRes
Reserved, set as 0
struPlateRect
License plate position, it is the normalized value relative to scene picture
sLicense
License plate Number
byVehicleType
Vehicle type recognition: 0- Unknown, 1- Bus, 2- Truck, 3- Car, 4- Minibus, 5- Van, 6- Pedestrian, 7- Bicycle/Motorcycle，8- Tricycle，9- SUV/MPV, 10- Medium Bus
byColorDepth
Vehicle color shade：0- Dark Color，1- Light Color
byColor
Vehicle Color：0-Other Color，1-White，2-Silver，3-Gray，4-Black，5-Red，6-Dark Blue，7-Blue，8-Yellow，9-Green，10-Brown，11-Pink，12-Purple，13-Dark Gray，14-Cyan，0xff-The vehicle color has not been recognized
byVehicleLogoRecog
Vehicle main brand，see the detailed definition in VLR_VEHICLE_CLASS
byVehicleSubLogoRecog
Vehicle sub brand, the definitions of minor types vary with different major type
byPilotSafebelt
Driver is wearing the safety belt or not：0- Unknown，1- Wearing the safety belt，2- Without wearing the safety belt
byCopilotSafebelt
Co-Driver is wearing the safety belt or not (reserved, not support for the moment)：0- Unknown，1- Wearing the safety belt，2- Without wearing the safety belt
byPilotSunVisor
Sun visor of driving cab is opened or not：0- Unknown，1- Sun visor is closed，2- Sun visor is opened
byCopilotSunVisor
Sun visor of co-driving cab is opened or not: 0- Unknown，1- Sun visor is closed，2- Sun visor is opened
byRes1
Reserved, set as 0
byDataType
Data Upload Mode：0-Upload data directly；1-CVR URL（the original picture data changes into URL data, the picture length changes into UPL length）
dwPicType
Type information of uploaded picture, 0 means no picture information, the other values is shown by digits：
bit0- Vehicle Picture：0- Do not upload，1- Upload
bit1- License Plate Picture：0- Do not upload，1- Upload
bit2- Face sub-picture (driver)：0- Do not upload，1- Upload
bit3- Face sub-picture (co-driver)：0- Do not upload，1- Upload
bit4- Safety belt recognition (driver)：0- Do not upload，1- Upload
bit5- Safety belt recognition (co-Driver)：0- Do not upload，1- Upload
pVehicleBuffer
Vehicle picture data pointer
dwVehicleBufferLen
Vehicle picture data length
pPlateBuffer
License plate picture data pointer
dwPlateBufferLen
License plate picture data length
pPilotFaceBuffer
Face sub-picture (driver) data pointer
dwPilotFaceBufferLen
Face sub-picture (driver) data length
pCopilotFaceBuffer
Face sub-picture (co-driver) data pointer
dwCopilotFaceBufferLen
Face sub-picture (co-driver) data length
pPilotSafebeltBuffer
Safety belt recognition (driver) picture data pointer
dwPilotSafebeltBufferLen
Safety belt recognition (driver) picture data length
pCopilotSafebeltBuffer
Safety belt recognition (co-driver) picture data pointer
dwCopilotSafebeltBufferLen
Safety belt recognition (co-driver) picture data length
byRes2
Reserved, set as 0

Remarks

For the corresponding sub-brand value of vehicle main brand, please refer to the brand list provided by devices.

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_DVR_VEHICLE_RECOG_TASK_COND

The structure of vehicle recognition task information query condition

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  char     sDataIndex[64];
  WORD     wTaskNo;
  BYTE     byTask;
  BYTE     byRes[125];
}NET_DVR_VEHICLE_RECOG_TASK_COND, *LPNET_DVR_VEHICLE_RECOG_TASK_COND;

Members

dwSize
The size of the structure
dwChannel
Channel No.
sDataIndex
Data serial No., 0 presents to search for all tasks.
wTaskNo
Task operation No.,0 presents to search for all tasks.
byTask
The task status:
bit0- Completed task : 0-Not query, 1- Query
bit1- Task in processing: 0-Not query, 1- Query
bit2- Task in the waiting list: 0-Not query, 1- Query
byRes
Reserved, set as 0

See Also

NET_DVR_StartRemoteConfig


NET_DVR_VGA_DISP_CHAN_CFG

Structure of displaying channel parameters.

struct{
  DWORD   dwSize;
  BYTE    byAudio;
  BYTE    byAudioWindowIdx;
  BYTE    byVgaResolution;
  BYTE    byVedioFormat;
  DWORD   dwWindowMode;
  BYTE    byJoinDecChan[MAX_WINDOWS];
  BYTE    byEnlargeStatus;
  BYTE    byEnlargeSubWindowIndex;
  BYTE    byJoinDecoderId[MAX_WINDOWS];
  BYTE    byRes[2];
}NET_DVR_VGA_DISP_CHAN_CFG,*LPNET_DVR_VGA_DISP_CHAN_CFG;

Members

dwSize
Structure size
byAudio
Whether to enable audio: 0- no, 1- yes
byAudioWindowIdx
Sub window with audio enabled
byVgaResolution
Resolution of VGA: get the resolution supported by the device from ability
byVedioFormat
Video format, defined as below:
enum{
  VS_NON  = 0,
  VS_NTSC = 1,
  VS_PAL  = 2
}VIDEO_STANDARD
VS_NON
None
VS_NTSC
NTSC
VS_PAL
PAL
dwWindowMode
Window mode: got from ability
byJoinDecChan
For 63 series decoder, VGA1 can be associated to any decoding channel, and other VGA and BNC can only dispaly itself. Details is listed as below:

For DS6301, there is one VGA, one BNC and 4 decoding channels.
VGA and BNC can manage any one decoding channel.

For DS6304, there are 2 VGA, 4 BNC and 8 decoding channel.
VGA1 can be related todecoding channel 1~8
BNC1, BNC2 can be related todecoding channel 1~4
VGA2, BNC3, BNC4 can be related to decoding channel 5~8

For DS6308, there are 4 VGA, 8 BNC and 16 decoding channel
VGA1 can be related todecoding channel 1~16
BNC1,BNC2 can be related todecoding channel 1~4
VGA2,BNC3,BNC4 can be related todecoding channel 5~8
VGA3,BNC5,BNC6 can be related todecoding channel 9~12
VGA4,BNC7,BNC8 can be related todecoding channel 13~16
byEnlargeStatus
Whether it is enlarged: 0- no, 1- yes
byEnlargeSubWindowIndex
NO. of enlarged sub window
byJoinDecoderId
Decoder ID related to decoding channel of every sub window
byRes
Reserved, please set to 0


NET_DVR_VGAPARA

Structure of VGA parameters.

struct{
  WORD       wResolution;
  WORD       wFreq;
  DWORD      dwBrightness;
}NET_DVR_VGAPARA,*LPNET_DVR_VGAPARA;

Members

wResolution
Resolution
wFreq
Frequency
dwBrightness
Brightness


NET_DVR_VIA_LANE_PARAM

VIA video detection mode vehicle lane parameters structure

struct{
  BYTE                        byLaneNO;
  BYTE                        byRes[63];
  NET_ITC_LANE_LOGIC_PARAM    struLogicParam;
  NET_ITC_LINE                struLaneLine;
  NET_ITC_POLYGON             struPlateRecog;
  BYTE                        byRes1[300];
}NET_DVR_VIA_LANE_PARAM,*LPNET_DVR_VIA_LANE_PARAM;

Members

byLaneNO
Related vehicle lane No.
byRes
Reserved
struLogicParam
Vehicle lane property
struLaneLine
Vehicle lane line
struPlateRecog
Detection Region
byRes1
Reserved

See Also

NET_DVR_VIA_VTCOIL_PARAM


NET_DVR_VIA_VTCOIL_PARAM

VIA video detection parameters structure

struct{
  BYTE                         byEnable;
  BYTE                         byLaneNum;
  BYTE                         byRes[62];
  NET_ITC_LINE                 struLaneBoundaryLine;
  NET_DVR_VIA_LANE_PARAM       struLaneParam[MAX_ITC_LANE_NUM];
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  BYTE                         byRes1[624];
}NET_DVR_VIA_VTCOIL_PARAM,*LPNET_DVR_VIA_VTCOIL_PARAM;

Members

byEnable
Enable this function? 0- No, 1- Yes
byLaneNum
Recognized vehicle lane number
byRes
Reserved
struLaneBoundaryLine
Vehicle lane boundary line (the left boundary line)
struLaneParam
VIA Video detection vehicle parameters
struPlateRecog
Vehicle license plate recognition parameters
byRes1
Reserved

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_DVR_VICOLOR

Time period image parameter structure

struct{
  NET_DVR_COLOR        struColor[MAX_TIMESEGMENT_V30];
  NET_DVR_SCHEDTIME    struHandleTime[MAX_TIMESEGMENT_V30];
}NET_DVR_VICOLOR,*LPNET_DVR_VICOLOR;

Members

struColor
Image parameter, just support brightness settings(byBrightness), others are reserved
struHandleTime
Handle time period, not support currently, reserved

See Also

NET_DVR_PICCFG_V40


NET_DVR_VIDEO_CALL_COND

The structure for signaling processing configuration of the video intercom.

struct{
  DWORD    dwSize;
  BYTE     byRes[128];
}NET_DVR_VIDEO_CALL_COND, *LPNET_DVR_VIDEO_CALL_COND;

Members

dwSize
Structure size.
byRes
Reserved, set as 0.

See Also

NET_DVR_StartRemoteConfig


NET_DVR_VIDEO_CALL_PARAM

The structure for signaling processing of the video intercom.

struct{
  DWORD    dwSize;
  DWORD    dwCmdType;
  BYTE     byRes[128];
}NET_DVR_VIDEO_CALL_PARAM, *LPNET_DVR_VIDEO_CALL_PARAM;

Members

dwSize
Structure size.
dwCmdType
Signaling type: 0- requset call, 1- cancel call, 2- answer the call, 3- refuse the call, 4- called timeout, 5- end the call, 6- the device is busy, 7- the device is busy.
byRes
Reserved, set as 0.

Remarks

The ability of video call configuration corresponds to the node <VideoCall> of the capability set of the IP-based video intercom controller (interface: NET_DVR_GetDeviceAbility, and the capability set type: IP_VIEW_DEV_ABILITY).

With the interface of alarm, live view, and two-way audio, this long connection interface can realize the function of video call.

  • Two-way audio initiated by the control client:
    1)After the control client initiates the connection request, the client should send the signaling of call request (S2) to start a video call. After the device receives the request, the device will return called timeout (R4) if no one answering over 30 s. Then, the signaling linkage (S11) will be closed directly at the application level.
    2)After the control client sends S2, the client can send S3 directly to cancel this call before the device returns R3 and R4. The calle cannot be cancelled if the device replies to S2 sent by the client.
    3)After the control client sends S2, the client can directly close the connection if the device refuses receiving R3.
    4)After the control client sends S2, the client will open the live view (no audio), and start video call (S6, S7) if the device receives. If the client or the device wants to close the connection, they should firstly send the signalling of end the call (S8/R5), and then close the live view, two-way audio, and signalling conneciton.
  • Two-way audio initiated by the device:
    1)After the control client initiates the connection request, the device should send the signaling of call request (R1) to start a video call. After the client receives the request, the client will return called timeout (S5) if no one answering over 30 s. Then, the signaling linkage (S11) will be closed directly at the application level.
    2)After the device sends R1, the device can send R2 directly call S7 to cancel this call before the client returns S4 and S5. The calle cannot be cancelled if the client replies to R1 sent by the device.
    3)After the device sends R1, the client can directly close the connection if the client refuses receiving R3.
    4)After the device sends R1,the client will open the live view (no audio), and start video call (S6, S7) if the client receives. If the client or the device wants to close the connection, they should firstly send the signalling of end the call (S8/R5), and then close the live view, two-way audio, and signalling conneciton.

See Also

NET_DVR_StartRemoteConfig NET_DVR_SendRemoteConfig


NET_DVR_VIDEO_EFFECT

Structure of video effect

struct{
  DWORD       dwBrightValue;
  DWORD       dwContrastValue;
  DWORD       dwSaturationValue;
  DWORD       dwHueValue;
  DWORD       dwSharpness;
  DWORD       dwDenoising;
  DWORD       byRes[12];
}NET_DVR_VIDEO_EFFECT, *LPNET_DVR_VIDEO_EFFECT;

Members

dwBrightValue
Brightness, value range: [0,255]
dwContrastValue
Contrast, value range: [0,255]
dwSaturationValue
Saturation, value range: [0,255]
dwHueValue
Hue, value range: [0,255]
dwSharpness
Sharpness, value range: [0,255]
dwDenoising
Denoising, value range: [0,255]
byRes
Reserved

See Also

NET_DVR_VIDEO_INPUT_EFFECT NET_DVR_GetDeviceConfig


NET_DVR_VIDEO_INPUT_EFFECT

Structure of video input effect configuration.

struct{
  DWORD                    dwSize;
  WORD                     wEffectMode;
  BYTE                     byRes1[146];
  NET_DVR_VIDEO_EFFECT     struCustomizeMode;
  BYTE                     byRes2[60];
}NET_DVR_VIDEO_INPUT_EFFECT,*LPNET_DVR_VIDEO_INPUT_EFFECT;

Members

dwSize
Structure size
wEffectMode
Mode: 0- standard, 1- preset mode 1, 2- preset mode 2, 3- preset mode 3, 255- customized
byRes1
Reserved
struCustomizeMode
Customized mode
byRes2
Reserved

Remarks

When calling NET_DVR_ClientSetVideoEffect to set video display effect, it will set wEffectMode to be customized firstly, and then set video effect.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEO_INTERCOM_ALARM

Video intercom alarm information structure

struct{
  DWORD                                      dwSize;
  NET_DVR_TIME_EX                            struTime;
  BYTE                                       byDevNumber[MAX_DEV_NUMBER_LEN];
  BYTE                                       byAlarmType;
  BYTE                                       byRes1[3];
  NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION    uAlarmInfo;
  BYTE                                       byRes2[256];
}NET_DVR_VIDEO_INTERCOM_ALARM, *LPNET_DVR_VIDEO_INTERCOM_ALARM;

Members

dwSize
Structure size
struTime
Alarm time
byDevNumber
Device No.
byAlarmType
Alarm type: 1- Zone alarm，2- Tampering alarm, 3- Duress alarm，4- Password open-door over times alarm,5- Door not open，6- Door not closed，7- SOS(Panic alarm)
byRes1
Reserved, set as 0.
uAlarmInfo
Alarm information, valid when byAlarmType is 1.
byRes2
Reserved, set as 0.

See Also

NET_DVR_StartListen_V30


NET_DVR_VIDEO_INTERCOM_ALARM_CFG

Video intercom alarm event parameters structure

struct{
  DWORD    dwSize;
  BYTE     byDoorNotCloseAlarm;
  BYTE     byRes[603];
}NET_DVR_VIDEO_INTERCOM_ALARM_CFG, *LPNET_DVR_VIDEO_INTERCOM_ALARM_CFG;

Members

dwSize
Structure size
byDoorNotCloseAlarm
Whether to upload unlocked door alarm? 0- No, 1- Yes
byRes
Reserved, set as 0.

Remarks

  • Check whether to support the video intercom alarm event configuration via device capability，the corresponded IP video intercom device capability(IpViewDevAbility )，API：NET_DVR_GetDeviceAbility，Capability Set：IP_VIEW_DEV_ABILITY，node：<UploadAlarmCfg>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION

Video intercom alarm information union

union{
  BYTE                       byLen[256];
  NET_DVR_ZONE_ALARM_INFO    struZoneAlarm;
}NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION, *LPNET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION;

Members

byLen
Union size, 256 bytes
struZoneAlarm
Zone alarm information, valid when the alarm type is 1-Zone alarm

See Also

NET_DVR_VIDEO_INTERCOM_ALARM


NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG

The structure for device number configuration of the video intercom.

struct{
  DWORD                                         dwSize;
  BYTE                                          byUnitType;
  BYTE                                          byIsAutoReg;
  BYTE                                          byRes1[2];
  NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION    uVideoIntercomUnit;
  BYTE                                          byRes2[128];
 }NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG,*LPNET_DVR_VIDEO_INTERCOM_DEVICEID_CFG;

Members

dwSize
Structure size.
byUnitType
Device type: 1- door station, 2- master station, 4- outer station, 5- villa door station, 6- doorphone.
byIsAutoReg
Whether to register automatically: 0- no, 1- yes.
byRes1
Reserved, set as 0.
uVideoIntercomUnit
Device number configuration. Different device types correspond to different structures.
byRes2
Reserved, set as 0.

Remarks

The ability of device number configuration corresponds to the node <DeviceID> of the capability set of the IP-based video intercom controller (interface: NNET_DVR_GetDeviceAbility, and the capability set type: IP_VIEW_DEV_ABILITY).

The number that means not configuring the doorphone.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEO_INTERCOM_EVENT

Video intercom event record information structure

struct{
  DWORD                                      dwSize;
  NET_DVR_TIME_EX                            struTime;
  BYTE                                       byDevNumber[MAX_DEV_NUMBER_LEN];
  BYTE                                       byEventType;
  BYTE                                       byRes1[3];
  NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON    uEventInfo;
  BYTE                                       byRes2[256];
}NET_DVR_VIDEO_INTERCOM_EVENT, *LPNET_DVR_VIDEO_INTERCOM_EVENT;

Members

dwSize
Structure size
struTime
Event record time
byDevNumber
Device No.
byEventType
Event information type: 1- Unlock log，2- Announcement Reading Receipt
byRes1
Reserved, set as 0.
uEventInfo
Event information, different types corresponds to different structures
byRes2
Reserved, set as 0.

See Also

NET_DVR_StartListen_V30


NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON

Video intercom event log information union

union{
  BYTE                               byLen[256];
  NET_DVR_UNLOCK_RECORD_INFO         struUnlockRecord;
  NET_DVR_NOTICEDATA_RECEIPT_INFO    struNoticedataReceipt;
}NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON, *LPNET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON;

Members

byLen
Union size, 256 bytes
struUnlockRecord
Unlock log
struNoticedataReceipt
Announcement reading receipt

See Also

NET_DVR_VIDEO_INTERCOM_EVENT


NET_DVR_VIDEO_INTERCOM_IOIN_CFG

The structure for I/O input configuration of the video intercom.

struct{
  DWORD    dwSize;
  BYTE     byIOUseType;
  BYTE     byRes[63];
}NET_DVR_VIDEO_INTERCOM_IOIN_CFG, *LPNET_DVR_VIDEO_INTERCOM_IOIN_CFG;

Members

dwSize
Structure size.
byIOUseType
I/O input type: 0- disable, 1- exit button, 2- door status, 0xff- custom.
byRes
Reserved, set as 0.

Remarks

The ability of I/O input configuration correspond to the node <IOIn> of the capability set of the IP-based video intercom controller (interface: NET_DVR_GetDeviceAbility, and the capability set type: IP_VIEW_DEV_ABILITY).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEO_INTERCOM_IOOUT_CFG

The structure for I/O output configuration of the video intercom.

struct{
  DWORD    dwSize;
  BYTE     byIOUseType;
  BYTE     byRes[63];
}NET_DVR_VIDEO_INTERCOM_IOOUT_CFG, *LPNET_DVR_VIDEO_INTERCOM_IOOUT_CFG;

Members

dwSize
Structure size.
byIOUseType
I/O output type: 0- disable, 1- electronic lock, 0xff- custom.
byRes
Reserved, set as 0.

Remarks

The ability of I/O output configuration correspond to the node <IOOut> of the capability set of the IP-based video intercom controller (interface; NET_DVR_GetDeviceAbility, and the capability set type: IP_VIEW_DEV_ABILITY).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG

Operation time configuration structure

struct{
  DWORD                                          dwSize;
  BYTE                                           byUnitType;
  BYTE                                           byRes1[3];
  NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION    uVideoIntercomUnit;
  BYTE                                           byRes2[128];
}NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG, *LPNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG;

Members

dwSize
Structure size
byUnitType
Device type: 1- Door station, 2- Master station, 4- Outer door station, 5- Villa door station, 6- Door phone
byRes1
Reserved, set as 0.
uVideoIntercomUnit
Operation time configuration union, different device corresponds to different structure
byRes2
Reserved, set as 0.

Remarks

Operation time configuration capability, corresponded video intercom capability（API：NET_DVR_GetDeviceAbility，Capability type:IP_VIEW_DEV_ABILITY）-node:<OperationTime>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION

Video Intercom Operation Time Configuration Union

union{
  BYTE                                       byLen[128];
  NET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG    struOutdoorUnit;
  NET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG     struManageUnit;
}NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION, *LPNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION;

Members

byLen
Union size, 128 bytes
struOutdoorUnit
Door station/ Outer door station/ Villa door station/ Door phone operation time configuration
struManageUnit
Master station operation time configuration

See Also

NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG


NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG

The structure for linked network device configuration of the video intercom.

struct{
  DWORD                                          dwSize;
  BYTE                                           byUnitType;
  BYTE                                           byRes1[3];
  NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION    uVideoIntercomUnit;
  BYTE                                           byRes2[128];
}NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG, *LPNET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG;

Members

dwSize
Structure size.
byUnitType
Device type: 1- door station, 2- master station, 4- outer door station, 5- villa door station, 6- doorphone.
byRes1
Reserved, set as 0.
uVideoIntercomUnit
The unit of linked network device configuration. Different device types correspond to different structures.
byRes2
Reserved, set as 0.

Remarks

The ability of linked network device configuration corresponds to the node <RelateDevice> of the capability set of the IP-based video intercom controller (interface:NET_DVR_GetDeviceAbility, and capability set type: IP_VIEW_DEV_ABILITY).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION

Video intercom device No. parameter complex

union{
  BYTE                              byLen[128];
  NET_DVR_OUTDOOR_UNIT_DEVICEID     struOutdoorUnit;
  NET_DVR_MANAGE_UNIT_DEVICEID      struManageUnit;
  NET_DVR_OUTDOOR_FENCE_DEVICEID    struFenceUnit;
  NET_DVR_OUTDOOR_UNIT_DEVICEID     struVillaOutdoorUnit;
}NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION, *LPNET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION;

Members

byLen
Complex size, 128 bytes
struOutdoorUnit
Door station device No. parameters
struManageUnit
Master station device No. parameters
struFenceUnit
Outer door station device No. parameters
struVillaOutdoorUnit
Villa door station device No. parameters

Remarks

Device generates No. character string according to configuration information, the rule is shown below:
1) The long number of master station is *00000001XX, * means project No., 001 means master station, XX means master station No. (01, 02...increased by 1).
2) Door station and villa door station No. is *XXXXX000$$; * means project No., XXX means building No., XX means unit No., 000 means door station, $$ means door station No., the No.=00 means main door station, other values mean sub door station.
3) The long number of outer door station is *00000002XX; * means project No., 002 means outer door station, XX means outer door station No.(01, 02...increased by 1).

In practice, oen master station may belong to multiple projects in which case the project No. of the device can be any of the existing project No., as long as the generated device No. is unique.

See Also

NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG


NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION

Video intercom related network configuration union

union{
  DWORD                             dwRes[256];
  NET_DVR_OUTDOOR_UNIT_RELATEDEV    struOutdoorUnit;
  NET_DVR_MANAGE_UNIT_RELATEDEV     struManageUnit;
  NET_DVR_OUTDOOR_UNIT_RELATEDEV    struVillaUnit;
  NET_DVR_AGAIN_RELATEDEV           struAgainUnit;
}NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION, *LPNET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION;

Members

dwRes
Union size, 256*4, totally 1024 bytes
struOutdoorUnit
Door station/ Outer door related network device configuration
struManageUnit
Master station related network device configuration
struVillaUnit
villa door station related network device configuration
struAgainUnit
Door phone related network device configuration

See Also

NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG


NET_DVR_VIDEO_OUT_CFG

Structure of video parameter.

struct{
  BYTE    byDisplayMode;
  BYTE    byBrightnessLevel;
  BYTE    byContrastLevel;
  BYTE    bySharpnessLevel;
  BYTE    bySaturationLevel;
  BYTE    byHueLevel;
  BYTE    byImageMode;
  BYTE    byRes[5];
}NET_DVR_VIDEO_OUT_CFG,*LPNET_DVR_VIDEO_OUT_CFG;

Members

byDisplayMode
Display mode: 1- standard, 2- cold color, 3- warm color, 0xff- custom
byBrightnessLevel
Brightness: 0 ~ 100
byContrastLevel
Contrast: 0 ~ 100
bySharpnessLevel
Sharpness: 0 ~ 100
bySaturationLevel
Saturation: 0 ~ 100
byHueLevel
Hue: 0 ~ 100
byImageMode
Image mode: 0- normal mode, 1- night mode 1, 2- night mode 2, 3- night mode 3, 4- day mode 1, 5- day mode 2, 6- day mode 3
byRes
Reserved, please set to 0

Remarks

  • When the value of byDisplayMode is 1 (standard), 2 (cold color), or 3 (warm color), parameters like brightness, contrast, sharpness, saturation, and hue are adjusted automatically, and cannot be configured.
  • When the screen signal source is VGA, only the values of contrast and brightness should be configured.

    • See Also

    NET_DVR_SCREEN_DISPLAY_CFG NET_DVR_MSC_SCREEN_PARAM


NET_DVR_VIDEO_PLATFORM

Structure of display channel configuration.

struct{
  BYTE             byRes[160];
  struct{
    BYTE           byJoinDecoderId[MAX_WINDOWS_V41];
    BYTE           byDecResolution[MAX_WINDOWS_V41];
    BYTE           byRes[88];
  }struVideoPlatform;
  struct{
    BYTE           byRes[160];
  }struNotVideoPlatform;
}NET_DVR_VIDEO_PLATFORM, *LPNET_DVR_VIDEO_PLATFORM;

Members

byRes
Reserved, please set to 0
byJoinDecoderId
Decoding subsystem slot number of decoding channel related to the sub-screen(valid for decoding subsystem in video integrated platform)
byDecResolution
Decoding resolution of the display screen: 1- D1, 2- 720P, 3- 1080P, it requires to assign decoding channel according to the resolution. E.g. IF set the output channel to 1 screen and 1080P, device will assign 4 decoding channels to the display screen.

Remarks

In the version below V41, byDecResolution[MAX_WINDOWS_V41] is corresponding to byDecResolution, and in V41 version, it is modified to array. When change low version to high version, please set byDecResolution[MAX_WINDOWS_V41] according to the screen mode dwWindowMode in NET_DVR_MATRIX_VOUTCFG; when change high version to low version, please use byDecResolution[0] only.

See Also

NET_DVR_MATRIX_VOUTCFG


NET_DVR_VIDEO_WALL_AREA

Video wall area information structure

struct{
  DWORD                 dwSize;
  DWORD                 byWallNo;
  BYTE                  byRes1[3];
  NET_DVR_RECTCFG_EX    struRect;
  BYTE                  byRes2[32];
}NET_DVR_VIDEO_WALL_AREA,*LPNET_DVR_VIDEO_WALL_AREA;

Members

dwSize
Structure size
byWallNo
Video wall No.
byRes1
Reserved, set as 0.
struRect
Screen area range
byRes2
Reserved, set as 0.

Remarks

struRect is invalid currently.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_VIDEO_WALL_INFO

Video wall information structure

struct{
  DWORD    dwSize;
  DWORD    dwWindowNo;
  DWORD    dwSceneNo;
  BYTE     byRes[20];
}NET_DVR_VIDEO_WALL_INFO,*LPNET_DVR_VIDEO_WALL_INFO;

Members

dwSize
Structure size
dwWindowNo
Window No.(combination):1 byte of video wall No. + 1 byte of reservation + 2 bytes of window No.(reserved). For instance, 1<<24
dwSceneNo
Scene No.
byRes
Reserved, set as 0.

See Also

NET_DVR_SCENE_CONTROL_INFO


NET_DVR_VIDEOEFFECT

Structure of video effect

struct{
  BYTE       byBrightnessLevel;
  BYTE       byContrastLevel;
  BYTE       bySharpnessLevel;
  BYTE       bySaturationLevel;
  BYTE       byHueLevel;
  BYTE       byEnableFunc;
  BYTE       byLightInhibitLevel;
  BYTE       byGrayLevel;
}NET_DVR_VIDEOEFFECT, *LPNET_DVR_VIDEOEFFECT;

Members

byBrightnessLevel
Brightness, range: [0,100]
byContrastLevel
Contrast, range: [0,100]
bySharpnessLevel
Sharpness, range: [0,100]
bySaturationLevel
Saturation, range: [0,100]
byHueLevel
Hue, range: [0,100], reserved
byEnableFunc
Enable the function, each bit indicates different function
bit0- SMART IR(Anti-overexposed), the value: 0- disable, 1- enable
bit1- low illumination, the value: 0- disable, 1- enable
bit2- high light inhibition, the value: 0- disable, 1- enable
bit3- Sharpness type, the value: 0- quto, 1- manual
E.g.byEnableFunc&0x2==1 means to enable the function of low illumination.
byLightInhibitLevel
Level of Light inhibition , value range: [1,3]
byGrayLevel
Gray level: 0-[0,255], 1-[16,235]

See Also

NET_DVR_INPUTSTREAMCFG NET_DVR_OUTPUTPARAM NET_DVR_CAMERAPARAMCFG


NET_DVR_VIDEOIN_TYPE_INFO

Video input source information structure

struct{
  WORD    wInType;
  WORD    wInNum;
  WORD    wStartNo;
  BYTE    byRes[6];
}NET_DVR_VIDEOIN_TYPE_INFO,*LPNET_DVR_VIDEOIN_TYPE_INFO;

Members

wInType
Input source type: 0- SDI, 1- VGA, 2- HDMI, 3- IP, 4- PIP, 5- POE, 6- YPBPR
wInNum
Number of supported inputs
wStartNo
Input start No.
byRes
Reserved, set as 0

See Also

NET_DVR_TRIAL_SYSTEM_INFO


NET_DVR_VIDEOINTERCOM_STREAM

The structure for video intercom stream channel.

struct{
  DWORD    dwSize;
  BYTE     byVisDevID[MAX_NAMELEN];
  DWORD    byDeviceName[NAME_LEN];
  BYTE     bySourceType;
  BYTE     byRes[255];
}NET_DVR_VIDEOINTERCOM_STREAM, *LPNET_DVR_VIDEOINTERCOM_STREAM;

Members

dwSize
Structure size.
byVisDevID
Video intercom device number. All numbers are 0 when the device is IPC.
byDeviceName
Device name.
bySourceType
Video source type: 0- none, 1- IPC, 2- DVR/DVS/NVR, 3- door station, 4- outer door station, 5- double-check device.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEOOUT

Structure of video output parameters.

struct{
  DWORD                   dwSize;
  NET_DVR_VOOUT           struVOOut[MAX_VIDEOOUT];
  NET_DVR_VGAPARA         struVGAPara[MAX_VGA];
  NET_DVR_MATRIXPARA      struMatrixPara;
}NET_DVR_VIDEOOUT,*LPNET_DVR_VIDEOOUT;

Members

dwSize
Structure size
struVOOut
BNC output parameter of analog video
struVGAPara
VGA
struMatrixPara
MATRIX

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_VOOUT NET_DVR_VGAPARA NET_DVR_MATRIXPARA


NET_DVR_VIDEOOUT_RESOLUTION_CFG

Video output port resolution configuration structure

struct{
  DWORD    dwSize;
  BYTE     byResolution;
  BYTE     byRes[63];
 }NET_DVR_VIDEOOUT_RESOLUTION_CFG,*LPNET_DVR_VIDEOOUT_RESOLUTION_CFG;

Members

dwSize
Structure size
byResolution
Video output port resolution: 0- 1024x768, 1- 1280x720, 2-1280x1024, 3- 1680x1050, 4- 1920x1080, 5- 3840x2160
byRes
Reserved, set as 0

See Also

Education sharing system: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEOOUT_V30

Structure of analog video output parameters.

struct{
  DWORD                       dwSize;
  NET_DVR_VOOUT               struVOOut[MAX_VIDEOOUT_V30];
  NET_DVR_VGAPARA             struVGAPara[MAX_VGA_V30];
  NET_DVR_MATRIXPARA_V30      struMatrixPara[MAX_MATRIXOUT];
  BYTE                        byRes[16];
}NET_DVR_VIDEOOUT_V30,*LPNET_DVR_VIDEOOUT_V30;

Members

dwSize
Structure size
struVOOut
BNC output parameter of analog video
struVGAPara
VGA
struMatrixPara
MATRIX
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VIDEOPARA_V40

Structure of video effect configuration parameter

struct{
  DWORD     dwChannel;
  DWORD     dwVideoParamType;
  DWORD     dwVideoParamValue;
  BYTE      byRes[12];
}NET_DVR_VIDEOPARA_V40,*LPNET_DVR_VIDEOPARA_V40;

Members

dwChannel
Channel number
dwVideoParamType
Video parameter type: 0- brightness, 1- contrast, 2- saturation, 3- hue, 4- sharpness, 5- denoising
dwVideoParamValue
Video parameter value, please get the value range from the capability set
byRes
Reserved

See Also

NET_DVR_RemoteControl


NET_DVR_VIDEOPLATFORM_ABILITY

Structure of video integrated platform ability parameter.

struct{
  DWORD                       dwSize;
  BYTE                        byCodeSubSystemNums;
  BYTE                        byDecodeSubSystemNums;
  BYTE                        bySupportNat;
  BYTE                        byRes1[17];
  NET_DVR_SUBSYSTEM_ABILITY   struSubSystemAbility[MAX_SUBSYSTEM_NUM];
  BYTE                        byRes2[640];
}NET_DVR_VIDEOPLATFORM_ABILITY,*LPNET_DVR_VIDEOPLATFORM_ABILITY;

Members

dwSize
Structure size
byCodeSubSystemNums
Number of encoding subsystems
byDecodeSubSystemNums
Number of decoding subsystems
bySupportNat
Support NAT or not: 0- not support, 1- support
byRes1
Reserved
struSubSystemAbility
Subsystem ability parameter
byRes2
Reserved

See Also

NET_DVR_SUBSYSTEM_ABILITY


NET_DVR_VIDEOPLATFORM_ALRAMINFO

Structure of video integrated platform alarm parameter.

struct{
  DWORD   dwSize;
  BYTE    byAlarmType;
  BYTE    byRes1[3];
  BYTE    bySubSystemChan;
  int     iTemperature;
  BYTE    byMainboardSeq;
  BYTE    byRes2[3];
  BYTE    byFanSequence[32];
  BYTE    byRes3[100];
}NET_DVR_VIDEOPLATFORM_ALRAMINFO,*LPNET_DVR_VIDEOPLATFORM_ALRAMINFO;

Members

dwSize
Structure size
byAlarmType
Alarm type: 0- Pull out sub-board, 1- plug the sub-board in, 2- the alarm that temperature exceeds the upper limit, 3- the alarm that temperature exceeds the lower limit, 4- fan status is abnormal, 5- subsystem is abnormal, 6- illegal access
byRes1
Reserved
bySubSystemChan
Slot number of subsystem; one sub board has 8 subsystems, the corresponding slot number of the subsystem. When the subsystem is abnormal, bySubSystemChan[0] means the serial number of the subsystem.
iTemperature
It is valid when temperature exceeds the limit, temperature value
byMainboardSeq
It is valid when temperature exceeds the limit, 0- not main board, 1- main board
byRes2
Reserved
byFanSequence
Fan number when fan is abnormal
byRes3
Reserved


NET_DVR_VIDEOWALLDISPLAYPOSITION

Screen position structure

struct{
  DWORD                 dwSize;
  BYTE                  byEnbale;
  BYTE                  byRes1[3];
  DWORD                 dwVideoWallNo;
  DWORD                 dwDisplayNo;
  NET_DVR_RECTCFG_EX    struScreenBaseInfo;
  BYTE                  byRes2[64];
}NET_DVR_VIDEOWALLDISPLAYPOSITION, *LPNET_DVR_VIDEOWALLDISPLAYPOSITION;

Members

dwSize
Structure size
byEnbale
Enable? 0- No, 1- Yes
byRes1
Reserved, set as 0.
dwVideoWallNo
Video wall No.(combination): 1 byte of video wall No. + 3 bytes of reservation
dwDisplayNo
Screen index No. (combination, valued when getting in batch): 1 byte of device No. + 1 byte of reservation + 2 bytes of index No., the index No. starts from 1. For instance：1<<24 | 0<<16 | 1
struScreenBaseInfo
Position coordinate, should be basic coordinate
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_VILOST

Structure of video loss alarm parameters.

struct{
  BYTE                       byEnableHandleVILost;
  NET_DVR_HANDLEEXCEPTION    strVILostHandleType;
  NET_DVR_SCHEDTIME          struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
}NET_DVR_VILOST, *LPNET_DVR_VILOST;

Members

byEnableHandleVILost
Whether to handle video loss alarm: 0- no, 1- yes
strVILostHandleType
Handling method
struAlarmTime
The time on guard

See Also

NET_DVR_HANDLEEXCEPTION NET_DVR_SCHEDTIME


NET_DVR_VILOST_V30

Structure of video loss alarm parameters.

struct{
  BYTE                           byEnableHandleVILost;
  NET_DVR_HANDLEEXCEPTION_V30    strVILostHandleType;
  NET_DVR_SCHEDTIME              struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
}NET_DVR_VILOST_V30, *LPNET_DVR_VILOST_V30;

Members

byEnableHandleVILost
Whether to handle video loss alarm: 0- no, 1- yes
strVILostHandleType
Handling method
struAlarmTime
The time on guard

See Also

NET_DVR_PICCFG_V30

Reference Structure

Extending structure refers to

NET_DVR_VILOST_V40


NET_DVR_VILOST_V40

Structure of video loss alarm parameters

struct{
  DWORD                dwEnableVILostAlarm;
  DWORD                dwHandleType;
  DWORD                dwMaxRelAlarmOutChanNum;
  DWORD                dwRelAlarmOut[MAX_ALARMOUT_V40];
  NET_DVR_SCHEDTIME    struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                 byRes[64];
}NET_DVR_VILOST_V40, *LPNET_DVR_VILOST_V40;

Members

dwEnableVILostAlarm
Enable video loss alarm: 0-no, 1- yes
dwHandleType
Handling type, the 'OR'result of all kinds exception handle modes
0x00: No response
0x01: Monitor warning
0x02: Audible warning
0x04: Notify surveillance center
0x08: Trigger alarm output
0x10: Jpeg image capture and send EMail
0x20: Wireless combined aural and visual alarm linkage
0x40: E-map linkage(PCNVR support only)
0x200：Capture and upload to ftp
E.g. dwHandleType==0x01|0x04- Monitor warning and notify surveillance center
dwMaxRelAlarmOutChanNum
The max output channels triggered by alarm (read only）
dwRelAlarmOut
Trigger alarm ID,output channel number triggered by alarm，the value uses the compact arrangement， reads from subscript 0 and the follow-up will be invalid when encouting 0xffffffff
for example: dwRelAlarmOut[8]=0xffffffff，means configure output channel dwRelAlarmOut[0]~dwRelAlarmOut[7]
struAlarmTime
Arming time, 7 days a week, 8 time periods a day
byRes
Reserved, set it to 0

See Also

NET_DVR_PICCFG_V40

Reference Structure

Structure expands from

NET_DVR_VILOST_V30


NET_DVR_VIS_REGISTER_INFO

The structure for the registration information of door station.

struct{
  DWORD              dwSize;
  DWORD              dwID;
  BYTE               szDevNumber[MAX_DEV_NUMBER_LEN];
  DWORD              byMACAddr[MACADDR_LEN];
  BYTE               byRes1[2];
  DWORD              sSerialNumber[SERIALNO_LEN];
  NET_DVR_IPADDR     struDevIP;
  NET_DVR_TIME_EX    struRegisterTime;
  BYTE               byRegisterType;
  BYTE               byRes[127];
}NET_DVR_VIS_REGISTER_INFO, *LPNET_DVR_VIS_REGISTER_INFO;

Members

dwSize
Structure size.
dwID
Registration ID.
szDevNumber
Device number.
byMACAddr
Mac address.
byRes1
Reserved, set as 0.
sSerialNumber
Device serial number.
struDevIP
Device IP address.
struRegisterTime
Registration type.
byRegisterType
Registration type: 0- reserved, 1- door station, 2- master station，4- outer door station，5- villa door station，6- doorphone,，7- 8700 client, 8- 4200 client.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetNextRemoteConfig


NET_DVR_VOD_DRAWFRAME_PARA

Playback frame-extraction condition parameter structure

struct{
  NET_DVR_TIME_EX    struTime;
  DWORD              dwDrawType;
  BYTE               byRes[128];
}NET_DVR_VOD_DRAWFRAME_PARA,*LPNET_DVR_VOD_DRAWFRAME_PARA;

Members

struTime
Extraction start time
dwDrawType
Extraction mode (requires device support): 0: transmit I frame only
1: discard 1/2 P frame (only supported by svc stream)
2: discard 3/4 P frame (only supported by svc stream)
3: transmit 1/2 I frame (I frame only, 1 transmitted in 2)
4: transmit 1/4 I frame (I frame only, 1 transmitted in 4)
5: transmit 1/8 I frame (I frame only, 1 transmitted in 8)
byRes
Reserved, set as 0

Remarks

  • Whether frame-extracting playback is supported by device, can be determined by device capability set (BasicCapability), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_SOFTHARDWARE_ABILITY, API: <supportChoosePlaybackDrawframe>.

See Also

NET_DVR_PlayBackControl_V40


NET_DVR_VOD_PARA

Structure of playback parameter

struct{
  DWORD                  dwSize;
  NET_DVR_STREAM_INFO    struIDInfo;
  NET_DVR_TIME           struBeginTime;
  NET_DVR_TIME           struEndTime;
  HWND                   hWnd;
  BYTE                   byDrawFrame;
  BYTE                   byRes[31];
}NET_DVR_VOD_PARA,*LPNET_DVR_VOD_PARA;

Members

dwSize
Structure size
struIDInfo
Stream ID
struBeginTime
Starting time
struEndTime
End time
hWnd
Handle of playback window. If set to NULL, SDK can still receive stream data, but not decode and display
byDrawFrame
Whether extract frame or not: 0- no, 1- yes
byRes
Reserved, please set to 0

See Also

NET_DVR_PlayBackByTime_V40


NET_DVR_VOICE_PROMPTION_CFG

Voice prompt configuration structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  BYTE     byCenterBusyFile[NAME_LEN];
  BYTE     byRefusedFile[NAME_LEN];
  BYTE     byHangUpFile[NAME_LEN];
  BYTE     byCallWaittingFile[NAME_LEN];
  BYTE     byConsultWaittingFile[NAME_LEN];
  BYTE     byRes[480];
}NET_DVR_VOICE_PROMPTION_CFG, *LPNET_DVR_VOICE_PROMPTION_CFG;

Members

dwSize
Structure size
byEnable
Whether to enable: 0- no, 1- yes
byRes1
Reserved, set as 0
byCenterBusyFile
Center busy voice prompt file name, can be obtained through capability set
byRefusedFile
Rejection voice prompt file name, can be obtained through capability set
byHangUpFile
Two-way audio end voice prompt file name, can be obtained through capability set
byCallWaittingFile
Call waiting voice file name, can be obtained through capability set
byConsultWaittingFile
Service inquiry waiting prompt file name, can be obtained through capability set
byRes
Reserved, set as 0

Remarks

  • Whether device supports voice prompt configuration or supported capability, can be determined through capability set (VoicePromptionCfg ), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_VOICE_PROMPTION_CFG_CAP.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_VOICEREQUESETPARAM

Structure of voice talk request parameter.

struct{
  BYTE                  nVoiceChannel;
  BYTE                  byRes1[3];
  NET_DVR_IPADDR        struCuIp;
  WORD                  wPort;
  BYTE                  byRes2[10];
}NET_DVR_VOICEREQUESETPARAM, *LPNET_DVR_VOICEREQUESETPARAM;

Members

nVoiceChannel
Voice talk channel
byRes1
Reserved, please set to 0
struCuIp
IP address of CU
wPort
Port number of CU
byRes2
Reserved, please set to 0

See Also

NET_DVR_IPADDR
NET_DVR_VoiceRequest


NET_DVR_VOLUME_CFG

The structure for volume configuration.

struct{
  DWORD    dwSize;
  WORD     wVolume[MAX_AUDIOOUT_PRO_TYPE];
  BYTE     byRes[32];
 }NET_DVR_VOLUME_CFG,*LPNET_DVR_VOLUME_CFG;

Members

dwSize
Structure size.
wVolume
Volume size. Group number: 0- audio output, 1- audio encoding.
byRes
Reserved, set as 0.

See Also

Volume parameters of I/O input and output supported by the device are decided by the returned capability set of the device.

  • For the recording and broadcasting controller, the ability of volume paramters corresponds to the node <AudioInVlome> and <AudioOutVlome> of the capability set of the controller (interface: NET_DVR_GetDeviceAbility, and capability set type: DEVICE_ABILITY_INFO).
  • For the trial controller, the ability of volume paramters corresponds to the sub-nodes <VolumeChange> of the node <AudioInChanList> and <AudioOutChanList> of the capability set of the controller (interface: NET_DVR_GetDeviceAbility, and capability set type: DEVICE_ABILITY_INFO).
  • For other devices, the ability of volume paramters corresponds to the node <AudioInVolume> and <audioOutVolumeLevel> of the capability set of the device (interface: NET_DVR_GetDeviceAbility, and capability set type: DEVICE_ENCODE_ALL_ABILITY_V20).

See Also

Recording and broadcasting controller: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Trial controller: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig

Building video intercom: NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_VOOUT

Structure of analog video output parameters.

struct{
  BYTE      byVideoFormat;
  BYTE      byMenuAlphaValue;
  WORD      wScreenSaveTime;
  WORD      wVOffset;
  WORD      wBrightness;
  BYTE      byStartMode;
  BYTE      byEnableScaler;
}NET_DVR_VOOUT,*LPNET_DVR_VOOUT;

Members

byVideoFormat
Output format: 0- PAL, 1- NTSC
byMenuAlphaValue
Menu alpha value
wScreenSaveTime
Saving time of screen: 0- never, 1- 1 minute, 2- 2 minutes, 3- 5 minutes, 4- 10 minutes, 5- 20 minutes, 6- 30 minutes
wVOffset
Offset of video output
wBrightness
Brightness of video output
byStartMode
Video output mode after starting: 0- menu, 1- preview
byEnableScaler
Whether to enable zoom: 0- no, 1- yes


NET_DVR_VQD_ALARM

VQD Diagnosis Alarm Structure

struct{
  DWORD               dwSize;
  DWORD               dwRelativeTime;
  DWORD               dwAbsTime;
  NET_VCA_DEV_INFO    struDevInfo;
  DWORD               dwEventType;
  float               fThreshold;
  DWORD               dwPicDataLen;
  BYTE                *pImage;
  BYTE                byRes[128];
}NET_DVR_VQD_ALARM, *LPNET_DVR_VQD_ALARM;

Members

dwSize
The size of the structure
dwRelativeTime
Relative time
dwAbsTime
Absolute time
struDevInfo
Front-end device information
dwEventType
Event type, the details are shown below:
enum _VQD_EVENT_ENUM_{
  ENUM_VQD_EVENT_BLUR           = 1,
  ENUM_VQD_EVENT_LUMA           = 2,
  ENUM_VQD_EVENT_CHROMA         = 3,
  ENUM_VQD_EVENT_SNOW           = 4,
  ENUM_VQD_EVENT_STREAK         = 5,
  ENUM_VQD_EVENT_FREEZE         = 6,
  ENUM_VQD_EVENT_SIGNAL_LOSS    = 7,
  ENUM_VQD_EVENT_PTZ            = 8,
  ENUM_VQD_EVENT_SCNENE_CHANGE  = 9,
  ENUM_VQD_EVENT_VIDEO_ABNORMAL = 10,
  ENUM_VQD_EVENT_VIDEO_BLOCK    = 11
}VQD_EVENT_ENUM
ENUM_VQD_EVENT_BLUR
Blur image
ENUM_VQD_EVENT_LUMA
Brightness exception
ENUM_VQD_EVENT_CHROMA
Color cast
ENUM_VQD_EVENT_SNOW
Snow interference
ENUM_VQD_EVENT_STREAK
Streak interference
ENUM_VQD_EVENT_FREEZE
Image freeze
ENUM_VQD_EVENT_SIGNAL_LOSS
Signal loss
ENUM_VQD_EVENT_PTZ
PTZ out of control
ENUM_VQD_EVENT_SCNENE_CHANGE
Scene change
ENUM_VQD_EVENT_VIDEO_ABNORMAL
Video exception
ENUM_VQD_EVENT_VIDEO_BLOCK
Video tampering
fThreshold
Alarm threshold, value range[0.000~1.000]
dwPicDataLen
Image size, 0 indicates no image.
pImage
The pointer pointing to the image data(JPEG image)
byRes
Reserve, set as 0.

Remarks

  • For getting the alarm information, call NET_DVR_SetupAlarmChan_V41 to start arming and set the byRetVQDAlarmType as 1.
  • The relative time is not used currently. To get the time information through dwAbsTime, refer to the arithmetic below.
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)

    See Also

    NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_DVR_VQD_DIAGNOSE_EXCEPTION_INFO

VQD Diagnosis Information Structure

struct{
  DWORD           dwChannelNO;
  DWORD           dwVQDType;
  NET_DVR_TIME    struDiagnoseTime;
  BYTE            byScoreValue;
  BYTE            byRes[27];
}NET_DVR_VQD_DIAGNOSE_EXCEPTION_INFO,*LPNET_DVR_VQD_DIAGNOSE_EXCEPTION_INFO;

Members

dwChannelNO
Device channel No.
dwVQDType
The VQD diagnosis types are shown below.
enum _VQD_TYPE_{
  VQD_BLUR_FLAG     = 0x00000001,
  VQD_LUMA_FLAG     = 0x00000002,
  VQD_CHROMA_FLAG   = 0x00000004,
  VQD_SNOW_FLAG     = 0x00000008,
  VQD_STREAK_FLAG   = 0x00000010,
  VQD_FREEZE_FLAG   = 0x00000020,
  VQD_SIGLOSE_FLAG  = 0x00000040,
  VQD_PTZ_FLAG      = 0x00000080
}VQD_TYPE
VQD_BLUR_FLAG
Blur image
VQD_LUMA_FLAG
Brightness exception
VQD_CHROMA_FLAG
Color cast
VQD_SNOW_FLAG
Snow interference
VQD_STREAK_FLAG
Streak interference
VQD_FREEZE_FLAG
Image freeze
VQD_SIGLOSE_FLAG
Signal loss
VQD_PTZ_FLAG
PTZ out of control
struDiagnoseTime
Diagnosis time
byScoreValue
Score, percentage
byRes
Reserved, set as 0.

See Also

NET_DVR_VQD_DIAGNOSE_INFO


NET_DVR_VQD_DIAGNOSE_INFO

VQD Diagnosis Information Structure

struct{
  DWORD                                  dwSize;
  NET_DVR_VQD_DIAGNOSE_EXCEPTION_INFO    struVQDDiagnoseExceptionInfo;
}NET_DVR_VQD_DIAGNOSE_INFO,*LPNET_DVR_VQD_DIAGNOSE_INFO;

Members

dwSize
The size of the structure
struVQDDiagnoseExceptionInfo
Diagnosis exception information structure

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30

NET_DVR_GetNextRemoteConfig


NET_DVR_VQD_EVENT_COND

VQD Event Condition Structure

struct{
  DWORD    dwChannel;
  DWORD    dwEventType;
  BYTE     byRes[64];
}NET_DVR_VQD_EVENT_COND, *LPNET_DVR_VQD_EVENT_COND;

Members

dwChannel
Channel No.
dwEventType
The description of VQD event types is shown below.
enum _VQD_EVENT_ENUM_{
  ENUM_VQD_EVENT_BLUR           = 1,
  ENUM_VQD_EVENT_LUMA           = 2,
  ENUM_VQD_EVENT_CHROMA         = 3,
  ENUM_VQD_EVENT_SNOW           = 4,
  ENUM_VQD_EVENT_STREAK         = 5,
  ENUM_VQD_EVENT_FREEZE         = 6,
  ENUM_VQD_EVENT_SIGNAL_LOSS    = 7,
  ENUM_VQD_EVENT_PTZ            = 8,
  ENUM_VQD_EVENT_SCNENE_CHANGE  = 9,
  ENUM_VQD_EVENT_VIDEO_ABNORMAL = 10,
  ENUM_VQD_EVENT_VIDEO_BLOCK    = 11
}VQD_EVENT_ENUM
ENUM_VQD_EVENT_BLUR
Blur image
ENUM_VQD_EVENT_LUMA
Brightness exception
ENUM_VQD_EVENT_CHROMA
Color cast
ENUM_VQD_EVENT_SNOW
Snow interference
ENUM_VQD_EVENT_STREAK
Streak interference
ENUM_VQD_EVENT_FREEZE
Image freeze
ENUM_VQD_EVENT_SIGNAL_LOSS
Signal loss
ENUM_VQD_EVENT_PTZ
PTZ out of control
ENUM_VQD_EVENT_SCNENE_CHANGE
Scene change
ENUM_VQD_EVENT_VIDEO_ABNORMAL
Video exception
ENUM_VQD_EVENT_VIDEO_BLOCK
Video tampering
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig

NET_DVR_StartDownload


NET_DVR_VQD_EVENT_PARAM

VQD Event Parameters Structure。

struct{
  BYTE     byThreshold;
  BYTE     byTriggerMode;
  BYTE     byUploadPic;
  BYTE     byRes1;
  DWORD    dwTimeInterval;
  BYTE     byRes2[64];
}NET_DVR_VQD_EVENT_PARAM,*LPNET_DVR_VQD_EVENT_PARAM;

Members

byThreshold
Alarm threshold, value range[0~100]
byTriggerMode
Trigger mode, 1-Continuously trigger, 2- Single trigger/dd>
byUploadPic
Upload the image? 0- No, 1- Yes. You can get a latest image that is related to this event from the device via the interface ofNET_DVR_StartDownload whether to upload the image or not.
byRes1
Reserved, set as 0.
dwTimeInterval
The interval of continuously trigger, value range [0~3600], unit, second
byRes2
Reserved, set as 0.

See Also

NET_DVR_VQD_EVENT_RULE


NET_DVR_VQD_EVENT_RULE

VQD Event Rule Configuration Structure

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  NET_DVR_VQD_EVENT_PARAM        struEventParam;
  NET_DVR_SCHEDTIME              struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V30    struHandleType;
  BYTE                           byRelRecordChan[MAX_IVMS_IP_CHANNEL];
  BYTE                           byRes2[128];
}NET_DVR_VQD_EVENT_RULE,*LPNET_DVR_VQD_EVENT_RULE;

Members

dwSize
The size of the structure
byEnable
Enable the rule? 0- No, 1- Yes
byRes1
Reserve, set as 0.
struEventParam
VQD diagnosis event parameters
struAlarmTime
Diagnosis time, 7 days/week, 8 time segments/day.
struHandleType
The event related operation type
byRelRecordChan
The video channel triggered by the alarm, each array relates to a channel, the array subscript indicates the channel No.. value, 1- Trigger the channel, 0- Not trigger the channel
byRes2
Reserved, set as 0.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_VQD_LOOP_DIAGNOSE_CFG

Loop Diagnosis Configuration Structure

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  BYTE                           byVQDTypeEnable[32];
  BYTE                           byThresholdValue[32];
  NET_DVR_HANDLEEXCEPTION_V40    struAlarmHandleType;
  NET_DVR_SCHEDTIME              struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_SCHEDTIME              struHolidayAlarmTime[MAX_TIMESEGMENT_V30];
  BYTE                           byRes[324];
}NET_DVR_VQD_LOOP_DIAGNOSE_CFG,*LPNET_DVR_VQD_LOOP_DIAGNOSE_CFG;

Members

dwSize
The size of the structure
byEnable
Enable the diagnosis? 0- No, 1- Enable
byRes1
Reserved, set as 0.
byVQDTypeEnable
Enable VQD diagnosis mode?, 0- No, 1- Yes, each array corresponds to different diagnosis mode: 0- Blur image, 1- Brightness exception, 2- Color cast, 3- Snow interference, 4- Streak interference, 5- Image freeze, 6- Signal loss, 7- PTZ out of control
byThresholdValue
Threshold, value range[0~100], different diagnosis modes correspond to different threshold values, each array corresponds to different diagnosis mode: 0- Blur image, 1- Brightness exception, 2- Color cast, 3- Snow interference, 4- Streak interference, 5- Image freeze, 6- Signal loss, 7- PTZ out of control
struAlarmHandleType
Alarm handling mode
struAlarmTime
Arming schedule, 7 days/ week, 8 time segments/ day.
struHolidayAlarmTime
Holiday arming schedule
byRes
Reserved, set as 0.

Remarks

  • While enabling the VQD loop diagnosis, the system will do auto-diagnosis every 3 minutes.
  • You can set to manually get the diagnosis information via the interface of NET_DVR_StartRemoteConfig(Command: NET_DVR_GET_VQD_DIAGNOSE_INFO). The threshold value (byThresholdValue) of the loop diagnosis parameters is used in manual diagnosis. If there is no threshold value being configured for loop diagnosis, the default value ( get from the VQD capability) will be used. The manual diagnosis will diagnose the video stream compulsively with all diagnosis type.

    • See Also

    NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_VQD_RESULT_INFO

The structure of image query result

struct{
  DWORD    dwSize;
  char     sStreamID[32];
  DWORD    dwPicLength;
  BYTE     byStatus;
  BYTE     byRes[31];
  char     *pSnapShot;
}NET_DVR_VQD_RESULT_INFO,*LPNET_DVR_VQD_RESULT_INFO;

Members

dwSize
The size of the structure
sStreamID
Stream ID(camera ID), the length should be less then 32 characters.
dwPicLength
Picture size
byStatus
Query result, 0- succeeded, 1- data error, 2- Non-existent; image, 3- Getting image failed.
byRes
Reserved
pSnapShot
Diagnosis capture, image cache data(700k)

See Also

NET_DVR_GetDeviceConfig


NET_DVR_VTPARAM

Structure of virtual coil parametesr.

struct{
  DWORD                       dwSize;
  BYTE                        byEnable;
  BYTE                        byIsDisplay;
  BYTE                        byLoopPos;
  BYTE                        bySnapGain;
  BYTE                        dwSnapShutter;
  NET_DVR_TRIGCOORDINATE      struTrigCoordinate;
  NET_DVR_TRIGCOORDINATE      struRes[MAX_VL_NUM];
  BYTE                        byTotalLaneNum;
  BYTE                        byPolarLenType;
  BYTE                        byDayAuxLightMode;
  BYTE                        byLoopToCalRoadBright;
  BYTE                        byRoadGrayLowTh;
  BYTE                        byRoadGrayHighTh;
  WORD                        wLoopPosBias;
  DWORD                       dwHfrShtterInitValue;
  DWORD                       dwSnapShtterInitValue;
  DWORD                       dwHfrShtterMaxValue;
  DWORD                       dwSnapShtterMaxValue;
  DWORD                       dwHfrShtterNightValue;
  DWORD                       dwSnapShtterNightMinValue;
  DWORD                       dwSnapShtterNightMaxValue;
  DWORD                       dwInitAfe;
  DWORD                       dwMaxAfe;
  WORD                        wResolutionX;
  WORD                        wResolutionY;
  WORD                        dwGainNightValue;
  WORD                        dwSceneMode;
  WORD                        dwRecordMode;
  NET_DVR_GEOGLOCATION        struGeogLocation;
  BYTE                        byTrigFlag[MAX_VL_NUM];
  BYTE                        byTrigSensitive[MAX_VL_NUM];
  BYTE                        byRes2[62];
}NET_DVR_VTPARAM, *LPNET_DVR_VTPARAM;

Members

dwSize
Structure size
byEnable
Whether to enable virtual coil, 0- no, 1- yes
byIsDisplay
Whether to display virtual coil: 0- no, 1- yes
byLoopPos
Bias of triggering coil at night: 0-forward, 1- negative(Reserved)
bySnapGain
Snap gain
dwSnapShutter
Snap shutter speed
struTrigCoordinate
Virtual coil parameter
struRes
Reserved
byTotalLaneNum
The total number of lanes triggered by video
byPolarLenType
Polarizer type, 0: without polarizer, 1: add Schneider polarizer
byDayAuxLightMode
Auxiliary lighting during the day mode, 0: no auxiliary lighting; 1: LED lighting; 2: flash lighting
byLoopToCalRoadBright
Used to calculate the surface brightness of the lane (virtual coils)
byRoadGrayLowTh
Initialization value of surface brightness low-threshold
byRoadGrayHighTh
Initialization value of surface brightness high-threshold
wLoopPosBias
Coil shifts triggered by coil
dwHfrShtterInitValue
Initial value of the continuous images exposure time
dwSnapShtterInitValue
Initial value of image-capture exposure time
dwHfrShtterMaxValue
Maximum value of continuous images exposure time
dwSnapShtterMaxValue
Maximum value of image-capture exposure time
dwHfrShtterNightValue
Setting value of continuous images exposure time at night
dwSnapShtterNightMinValue
Minimum value of image-capture exposure time at night
dwSnapShtterNightMaxValue
Maximum value of image-capture exposure time at night
dwInitAfe
Max value of Gain
dwMaxAfe
Max value of Gain
wResolutionX
Width of device current definition
wResolutionY
Height of device current resolution
dwGainNightValue
Evening gain, default value: 70
dwSceneMode
Scene mode:
enum _SCENE_MODE_{
  UNKOWN_SCENE_MODE   = 0,
  HIGHWAY_SCENE_MODE  = 1,
  SUBURBAN_SCENE_MODE = 2,
  URBAN_SCENE_MODE    = 3,
  TUNNEL_SCENE_MODE   = 4
}SCENE_MODE
UNKOWN_SCENE_MODE
Unkown scene mode
HIGHWAY_SCENE_MODE
Highway scene mode
SUBURBAN_SCENE_MODE
Suburban scene mode(reserved)
URBAN_SCENE_MODE
Urban scene mode
TUNNEL_SCENE_MODE
Tunnel scene mode(reserved)
dwRecordMode
Video flag: 0- not record, 1- record
struGeogLocation
Geographical location
byTrigFlag
Triggering flag: 0- triggered by vehicle head, 1- triggered by vehicle rear；2- triggered by vehicle head or rear
byTrigSensitive
The trigger sensitivity, value range: 1~100
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_TRIGCOORDINATE


NET_DVR_WALL_WIN_STATUS

Structure of window status information

struct{
  DWORD    dwSize;
  BYTE     byDecodeStatus;
  BYTE     byStreamType;
  BYTE     byPacketType;
  BYTE     byFpsDecV;
  BYTE     byFpsDecA;
  BYTE     byRes1[7];
  DWORD    dwDecodedV;
  DWORD    dwDecodedA;
  WORD     wImgW;
  WORD     wImgH;
  BYTE     byRes2[32];
}NET_DVR_WALL_WIN_STATUS, *LPNET_DVR_WALL_WIN_STATUS;

Members

dwSize
Structure size
byDecodeStatus
Current decoding status: 0- disabled, 1- enabled
byStreamType
Stream type, definition is shown as below:
Macro Definition | Value | Meaning
NET_DVR_ENCODER_UNKOWN | 0 | Unknown
NET_DVR_ENCODER_H264 | 1 | Private 264
NET_DVR_ENCODER_S264 | 2 | Standard H264
NET_DVR_ENCODER_MPEG4 | 3 | MPEG4
NET_DVR_ORIGINALSTREAM | 4 | Original stream
NET_DVR_PICTURE | 5 | Alarm picture interacted by intelligent analysis
NET_DVR_ENCODER_MJPEG | 6 | MJPEG
NET_DVR_ECONDER_MPEG2 | 7 | MPEG2
byPacketType
Packet type, definition is shown as below:
Macro Definition | Value | Meaning
NET_DVR_STREAM_TYPE_UNKOWN | 0 | Unknown
NET_DVR_STREAM_TYPE_PRIVT | 1 | Private
NET_DVR_STREAM_TYPE_TS | 7 | TS
NET_DVR_STREAM_TYPE_PS | 8 | PS
NET_DVR_STREAM_TYPE_RTP | 9 | RTP
NET_DVR_STREAM_TYPE_ORIGIN | 10 | unpackaged
byFpsDecV
Video decoding frame rate
byFpsDecA
Audio decoding frame rate
byRes1
Reserved, please set to 0
dwDecodedV
Decoded video frame number
dwDecodedA
Decoded audio frame number
wImgW
Width of current image
wImgH
Height of current image
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDeviceStatus


NET_DVR_WALLSCENECFG

Structure of window scene information

struct{
  DWORD    dwSize;
  BYTE     sSceneName[NAME_LEN];
  BYTE     byRes[80];
}NET_DVR_WALLSCENECFG, *LPNET_DVR_WALLSCENECFG;

Members

dwSize
Structure size
sSceneName
Scene name
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_WALLWIN_INFO

Structure of window parameters

struct{
  DWORD    dwSize;
  DWORD    dwWinNum;
  DWORD    dwSubWinNum;
  BYTE     byRes[16];
}NET_DVR_WALLWIN_INFO, *LPNET_DVR_WALLWIN_INFO;

Members

dwSize
Structure size
dwWinNum
The sequence number of main window
dwSubWinNum
The sequence number of sub window
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceStatus


NET_DVR_WALLWINCFG

Structure of window configuration in TV wall

struct{
  DWORD               dwSize;
  BYTE                byEnable;
  BYTE                byRes1[7];
  DWORD               dwLayerIndex;
  DWORD               dwWinNum;
  NET_DVR_RECTCFG     struWinPosition;
  BYTE                byRes2[20];
}NET_DVR_WALLWINCFG, *LPNET_DVR_WALLWINCFG;

Members

dwSize
Structure size
byEnable
Whether enable the window or not: 0- no, 1- yes
byRes1
Reserved, please set to 0
dwLayerIndex
The layer number corresponding to the window
dwWallNum
The sequence number of the window
struWinPosition
The purpose window (relative to display wall)
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_WD1_CFG

Structure of WD1 function configuration

struct{
  NET_DVR_STRUCTHEAD    struStructHead;
  BYTE                  byWD1Enable;
  BYTE                  byRes[31];
}NET_DVR_WD1_CFG,*LPNET_DVR_WD1_CFG;

Members

struStructHead
Structure head
byWD1Enable
WD1 function switch: 0- close, 1- open
byRes
Reserved, please set it to 0

Remarks

If enable the WD1 function, it supports to set the compression resolution of the channel to WD1. Otherwise, the channel doesn't support WD1.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_WDR

Structure of CCD wide dynamic range

struct{
  BYTE       byWDREnabled;
  BYTE       byWDRLevel1;
  BYTE       byWDRLevel2;
  BYTE       byWDRContrastLevel;
  BYTE       byRes[16];
}NET_DVR_WDR, *LPNET_DVR_WDR;

Members

byWDREnabled
Whether to enable wide dynamic range, 0- disable, 1- enable
byWDRLevel1
0-F
byWDRLevel2
0-F
byWDRContrastLevel
0-100
byRes
Reserved

See Also

NET_DVR_CAMERAPARAMCFG


NET_DVR_WDR_CFG

The structure for WDR configuration.

struct{
  DWORD          dwSize;
  NET_DVR_WDR    struWDR;
}NET_DVR_WDR_CFG, *LPNET_DVR_WDR_CFG;

Members

dwSize
Structure size.
struWDR
Parameters of WDR.

Remarks

The ability of WDR parameters corresponds to the node <WDR> of the capability set of input channel(ChannelInputAbility) (related interface:NET_DVR_GetDeviceAbility, and the capability set type: DEVICE_ABILITY_INFO).

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_WEEK_PLAN_CFG

Weekly Schedule Configuration Structure

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  NET_DVR_SINGLE_PLAN_SEGMENT    struPlanCfg[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                           byRes2[16];
}NET_DVR_WEEK_PLAN_CFG,*LPNET_DVR_WEEK_PLAN_CFG;

Members

dwSize
The size of the structure
byEnable
Enable? 0- No; 1- Yes
byRes1
Reserved, set as 0
struPlanCfg
Weekly Schedule Parameters, 7 days for a week and 8 time segment for one day.
byRes2
Reserved, set as 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_WEEK_PLAN_COND

Card permission week plan configuration condition structure

struct{
  DWORD   dwSize;
  DWORD   dwWeekPlanNumber;
  WORD    wLocalControllerID;
  BYTE    byRes[106];
}NET_DVR_WEEK_PLAN_COND,*LPNET_DVR_WEEK_PLAN_COND;

Members

dwSize
Structure size
dwWeekPlanNumber
Week plan No.
wLocalControllerID
Distributed access controller No.[1,64], 0 means host
byRes
Reserved, set as 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_DVR_WEP_CFG

WEP encryption parameters structure

struct{
  BYTE                   byAuthenticationType;
  BYTE                   byDefaultTransmitKeyIndex;
  BYTE                   byWepKeyLenType;
  BYTE                   byKeyType;
  NET_DVR_WEP_KEY_CFG    struWEPKeyCfg[WEP_KEY_MAX_NUM];
  BYTE                   byRes[128];
}NET_DVR_WEP_CFG,*LPNET_DVR_WEP_CFG;

Members

byAuthenticationType
Authentication type: 0- Enable, 1- Share key, 2-Auto authentication
byDefaultTransmitKeyIndex
Default key number, 1 to 4, corresponds to the key number of struEncryptionKeyCfg
byWepKeyLenType
Key length: 1- 64 bit, 2- 128 bit
byKeyType
Key type: 0- ASCII，1- hexadecimal
struWEPKeyCfg
WEP key, max. 4 keys are supported.
byRes
Reserved, set as 0

Remarks

If the key length is 64 bit, the characters number of ASCII key is 5. If the key length is 128, he characters number of ASCII key is 13.

See Also

NET_DVR_WIRELESS_SECURITY_CFG


NET_DVR_WHITEBALANCE

Structure of CCD white balance configuration.

struct{
  BYTE       byWhiteBalanceMode;
  BYTE       byWhiteBalanceModeRGain;
  BYTE       byWhiteBalanceModeBGain;
  BYTE       byRes[5];
}NET_DVR_WHITEBALANCE, *LPNET_DVR_WHITEBALANCE;

Members

byWhiteBalanceMode
0 - manual white balance, 1 - auto white balance 1 (small range), 2 - auto white balance 2 (wide range, 2200K-15000K), 3- Lock the white balance, 4- incandescent lamp, 5- warm light, 6- natural light , 7- daylight lamp , 8- auto tracking(ATW), 9- One Push WB, 10- Outdoor Auto, 11- SodiumLight Auto, 12- MercuryLight
byWhiteBalanceModeRGain
It is valid in manual white balance mode, R gain of manual white balance
byWhiteBalanceModeBGain
It is valid in manual white balance mode, B gain of manual white balance
byRes
Reserved

See Also

NET_DVR_CAMERAPARAMCFG


NET_DVR_WIFI_CFG

Structure of wifi parameters.

struct{
  DWORD                 dwSize;
  NET_DVR_WIFI_CFG_EX   struWifiCfg;
}NET_DVR_WIFI_CFG,*LPNET_DVR_WIFI_CFG;

Members

dwSize
Structure size
struWifiCfg
Wifi parameters

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_WIFI_CFG_EX

Sub structure of wifi parameters.

struct{
  NET_DVR_WIFIETHERNET   struEtherNet;
  char                   sEssid[IW_ESSID_MAX_SIZE];
  DWORD                  dwMode;
  DWORD                  dwSecurity;
  union{
           struct{
             DWORD   dwAuthentication;
             DWORD   dwKeyLength;
             DWORD   dwKeyType;
             DWORD   dwActive;
             char    sKeyInfo[WIFI_WEP_MAX_KEY_COUNT][WIFI_WEP_MAX_KEY_LENGTH];
           }wep;
           struct{
             DWORD   dwKeyLength;
             char    sKeyInfo[WIFI_WPA_PSK_MAX_KEY_LENGTH];
             BYTE    byEncryptType;
           }wpa_psk;
           struct{
             BYTE    byEncryptType;
             BYTE    byAuthType;
             BYTE    byRes[2];
             union{
                    struct{
                      BYTE    byEapolVersion;
                      BYTE    byAuthType;
                      BYTE    byRes1[2];
                      BYTE    byAnonyIdentity[NAME_LEN];
                      BYTE    byUserName[NAME_LEN];
                      BYTE    byPassword[NAME_LEN];
                      BYTE    byRes[44];
                    }EAP_TTLS;
                    struct{
                      BYTE    byEapolVersion;
                      BYTE    byAuthType;
                      BYTE    byPeapVersion;
                      BYTE    byPeapLabel;
                      BYTE    byAnonyIdentity[NAME_LEN];
                      BYTE    byUserName[NAME_LEN];
                      BYTE    byPassword[NAME_LEN];
                      BYTE    byRes[44];
                    }EAP_PEAP;
                    struct{
                      BYTE    byEapolVersion;
                      BYTE    byRes1[3];
                      BYTE    byIdentity[NAME_LEN];
                      BYTE    byPrivateKeyPswd[NAME_LEN];
                      BYTE    byRes[76];
                    }EAP_TLS;
                  }auth_param;
           }wpa_wpa2;
  }key;
}NET_DVR_WIFI_CFG_EX,*LPNET_DVR_WIFI_CFG_EX;

Members

struEtherNet
Wifi network interface
sEssid
SSID
dwMode
Working mode: 0- mange mode, 1- ad-hoc mode
dwSecurity
Security mode: 0- no encryption, 1- WEP, 2- WPA-personal, 3- WPA-enterprise, 4- WPA2-personal, 5- WPA2-enterprise
wep is the structure of WEP encryption parameters
dwAuthentication
Authentication type: 0- open mode, 1- shared mode
dwKeyLength
Length of key: 0- 64 bits, 1- 128 bits, 2- 152 bits
dwKeyTtype
Key type: 0- HEX mode, 1- ASCI
dwActive
Key Index: 0,1,2 and 3 stand for the actived key, e.g. set 0 to active the first key
sKeyInfo
Key information
wpa_psk is the structure of WPA-personal/WPA2-personal encryption parameters
dwKeyLength
Length of key: 8-63 ASCII characters
sKeyInfo
Character key information
byEncryptType
Encryption type of WPA-personal/WPA2-personal mode: 0- AES, 1- TKIP
wpa_wpa2 is the structure of WPA-enterprise/WPA2-enterpris encryption parameters
byEncryptType
Encryption type: 0- AES, 1- TKIP
sKeyInfo
Authentication type: 0- EAP_TTLS, 1- EAP_PEAP, 2- EAP_TLS
byRes
Reserved, please set to 0
EAP_TTLS is the structure of EAP_TTLS authentication parameters
byEapolVersion
EAPOL version: 0- version 1, 1- version 2
byAuthType
Internal authentication type: 0- PAP, 1- MSCHAPV2
byRes1
Reserved, please set to 0
byAnonyIdentity
Anonymous identity
byUserName
User name
byPassword
Password
byRes
Reserved, please set to 0
EAP_PEAP is the structure of EAP_PEAP authentication parameters
byEapolVersion
EAPOL version: 0- version 1, 1- version 2
byAuthType
Internal authentication type: 0- GTC, 1- MD5, 2- MSCHAPV2
byPeapVersion
PEAP version: 0- version 0, 1- version 1
byPeapLabel
PEAP label: 0- old label, 1- new label
byAnonyIdentity
Anonymous identity
byUserName
User name
byPassword
Password
byRes
Reserved, please set to 0
EAP_TLS is the structure of EAP_TLS authentication parameters
byEapolVersion
EAPOL version: 0- version 1, 1- version 2
byRes1
Reserved, please set to 0
byIdentity
Identity
byPrivateKeyPswd
Private key password
byRes
Reserved, please set to 0

See Also

NET_DVR_WIFI_CFG


NET_DVR_WIFI_CONNECT_STATUS

Wi-Fi connection status information structure

struct{
  DWORD    dwSize;
  BYTE     byCurStatus;
  BYTE     byRes1[3];
  DWORD    dwErrorCode;
  BYTE     byRes[244];
}NET_DVR_WIFI_CONNECT_STATUS,*LPNET_DVR_WIFI_CONNECT_STATUS;

Members

dwSize
Structure size
byCurStatus
WiFi connection status: 1- connected, 2- not connected, 3- connecting
byRes1
Reserved
dwErrorCode
Error code, valid when byCurStatus=22: 1- incorrect user name or password, 2- router does not exist, 3- unknown error
byRes
Reserved

See Also

NET_DVR_GetDVRConfig


NET_DVR_WIFI_DHCP_ADDR_CFG

Wi-Fi DHCP address range configuration structure

struct{
  DWORD             dwSize;
  NET_DVR_IPADDR    struStartAddr;
  NET_DVR_IPADDR    struEndAddr;
  BYTE              byRes[256];
 }NET_DVR_WIFI_DHCP_ADDR_CFG,*LPNET_DVR_WIFI_DHCP_ADDR_CFG;

Members

dwSize
Structure size
struStartAddr
Start IP address
struEndAddr
End IP address
byRes
Reserved, set as 0

See Also

  • Wi-Fi DHCP address range configuration capability corresponds to node <WifiDHCPAddr> of wireless network capability set(NetworkSetting), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_NETWORK_ABILITY.
  • The Wi-Fi module of trial DVR is optional, the address range is valid when the device is equipped with Wi-Fi module (DHCP is enabled by default) or capability set returns enable. Currently the trial DVR DHCP only supports configuration of 192.168.254 segment.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_WIFI_WORKMODE

Structure of wifi network interface's working mode.

struct{
  DWORD   dwSize;
  DWORD   dwNetworkInterfaceMode;
}NET_DVR_WIFI_WORKMODE,*LPNET_DVR_WIFI_WORKMODE;

Members

dwSize
Structure size
dwNetworkInterfaceMode
Network interface's working mode: 0- switch automatically, 1- mode with wire

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_WIFIETHERNET

Structure of wifi network interface parameters.

struct{
  char    sIpAddress[16];
  char    sIpMask[16];
  BYTE    byMACAddr [MACADDR_LEN];
  BYTE    byCloseWifi;
  BYTE    bRes[2];
  DWORD   dwEnableDhcp;
  DWORD   dwAutoDns;
  char    sFirstDns[16];
  char    sSecondDns[16];
  char    sGatewayIpAddr[16];
  BYTE    bRes2[8];
}NET_DVR_WIFIETHERNET,*LPNET_DVR_WIFIETHERNET;

Members

sIpAddress
IP address of device
sIpMask
IP mask
byMACAddr
MAC address: can get it but can't set it
byCloseWifi
Whether to close the wifi connection：0- Close，1- Not to close
bRes
Reserved, please set to 0
dwEnableDhcp
Whether to enable DHCP: 0- no, 1- yes
dwAutoDns
Whether it get DNS automatically if DHCP is enabled: 0- no, 1- yes. For wire network, it get DNS automatically.
sFirstDns
First DNS domain name
sSecondDns
Second DNS domain name
sGatewayIpAddr
Ip address of gateway
bRes2
Reserved, please set to 0


NET_DVR_WIN_ROAM_SWITCH_CFG

Window roaming switch settings structure

struct{
  DWORD    dwSize;
  BYTE     byEnableRoam;
  BYTE     byRes[31];
}NET_DVR_WIN_ROAM_SWITCH_CFG,*LPNET_DVR_WIN_ROAM_SWITCH_CFG;

Members

dwSize
Structure size
byEnableRoam
Enable window roaming? 0- No, Others-Yes
byRes
Reserved, set as 0.

Remarks

  • When enabling window roaming, the decoder is configured via the video wall control API, The API of decoder display channel dividing and decoding channel operation are all invalid. When disabling window roaming, the video wall window roaming API is invalid.
  • Check the device capability(whether to support window roaming function) via the decoder capability(DECODER_ABILITY), API:NET_DVR_GetDeviceAbility, Capability type:DECODER_ABILITY, Node:<SupportWinRoamSwitch>.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_WIN_ZOOM_STATUS

Starting LOGO parameters structure

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes[31];
}NET_DVR_WIN_ZOOM_STATUS,*LPNET_DVR_WIN_ZOOM_STATUS;

Members

dwSize
Structure size
byEnable
Display LOGO when starting up? 0- No, 1- Yes
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig


NET_DVR_WINLIST

Structure of window list.

struct{
  DWORD    dwSize;
  WORD     wScreenSeq;
  BYTE     byRes[10];
  DWORD    dwWinNum;
  BYTE     *pBuffer;
  DWORD    dwBufLen;
}NET_DVR_WINLIST, *LPNET_DVR_WINLIST;

Members

dwSize
Structure size
wScreenSeq
Screen sequence number
byRes
Reserved, please set to 0
dwWinNum
The total number of windows returned by device
pBuffer
The buffer to save window information, the maximum value is 224*sizeof(NET_DVR_SCREEN_WINCFG)
dwBufLen
The length of the buffer

See Also

NET_DVR_SCREEN_WINCFG

NET_DVR_GetAllValidWinInfo


NET_DVR_WIRELESS_ALARM_STUDY_PARAM

Structure of wireless alarm study parameter

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    byIndex;
  BYTE     byRes[15];
}NET_DVR_WIRELESS_ALARM_STUDY_PARAM,*LPNET_DVR_WIRELESS_ALARM_STUDY_PARAM;

Members

dwSize
Structure size
dwChannel
Channel number
byIndex
Wireless alarm index, value range: 1~8
byRes
Reserved, please set to 0

See Also

NET_DVR_RemoteControl


NET_DVR_WIRELESS_SECURITY_CFG

Wireless communication encryption parameters structure

struct{
  BYTE               bySecurityMode;
  NET_DVR_WEP_CFG    struWEPCfg;
  NET_DVR_WPA_CFG    struWPACfg;
  BYTE               byRes[256];
}NET_DVR_WIRELESS_SECURITY_CFG,*LPNET_DVR_WIRELESS_SECURITY_CFG;

Members

bySecurityMode
Security mode, 0- Disabled, 1- WEP，2- WPA-personal，3- WPA2-personal
struWEPCfg
WEP encryption parameters, valid when the security mode is WEP
struWPACfg
WPA encryption parameters, valid when the security mode is WPA-personal, and WPA2-personal./dd>
byRes
Reserved, set as 0.

See Also

NET_DVR_WIRELESSSERVER_FULLVERSION_CFG


NET_DVR_WIRELESSDIAL_CFG

Wireless dial-up connection configuration structure。

struct{
  DWORD    dwSize;
  BYTE     byEnabled;
  BYTE     byDialMode;
  BYTE     byNetworkMode;
  BYTE     byRes1;
  BYTE     byDialNum[MAX_DIALNUM_LENGTH];
  BYTE     byUserName[NAME_LEN];
  BYTE     byPassword[NAME_LEN];
  BYTE     byAPNName[NAME_LEN];
  BYTE     byUIMCardNum[NAME_LEN];
  BYTE     byVerifProtocol;
  BYTE     byRes2;
  WORD     wMTU;
  DWORD    dwOffineTime;
  BYTE     byRes3[64];
}NET_DVR_WIRELESSDIAL_CFG,*LPNET_DVR_WIRELESSDIAL_CFG;

Members

dwSize
Structure size
byEnabled
Enable wireless dial-up? 0-No，1- Yes
byDialMode
Dial-up mode: 0-Auto，1-Manual，The defualt setting is auto, you can set the dial-up schedule, off-time time, manual dial-up under the manual mode.
byNetworkMode
Network mode: 0-Auto，1-4G precedence, 2-3G precedence，3- auto switch 2G，4- auto switch 3G，5- auto switch 4G，6-wired connection precedence
byRes1
Reserved
byDialNum
Dial-up number
byUserName
User name
byPassword
Password
byAPNName
APN
byUIMCardNum
Mobile phone number
byVerifProtocol
Verification protocol:0- Auto，1- CHAP，2- PAP
byRes2
Reserved
wMTU
MTU Value
dwOffineTime
Offline time, value range: 30 to 65535，unit：second，valid under the manual mod
byRes3
Reserved

Remarks

This function corresponded wireless dial-up capability(Dial)，API：NET_DVR_GetSTDAbility(Capability Set：NET_DVR_GET_WIRELESSDIAL_CAPABILITIES)。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_WIRELESSDIAL_CONNECT_PARAM

Structure of wireless dialing connection control parameters。

struct{
  DWORD    dwSize;
  DWORD    dwInterface;
  BYTE     byEnableConnect;
  BYTE     byRes[255];
}NET_DVR_WIRELESSDIAL_CONNECT_PARAM,*LPNET_DVR_WIRELESSDIAL_CONNECT_PARAM;

Members

dwSize
Size of the structure
dwInterface
Network card No.
byEnableConnect
Be connected to the internet? 0- Offline, 1- Online
byRes
Reserved, set as 0.

Remarks

After the online/offline control, you can refresh and get the current status via the API of NET_DVR_GetSTDConfig(Command: NET_DVR_GET_WIRELESSDIAL_STATUS)

See Also

NET_DVR_STD_CONTROL


NET_DVR_WIRELESSDIAL_SCHEDULE

Wireless dial-up schedule structure

struct{
  DWORD                dwSize;
  NET_DVR_SCHEDTIME    struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                 byRes[160];
}NET_DVR_WIRELESSDIAL_SCHEDULE,*LPNET_DVR_WIRELESSDIAL_SCHEDULE;

Members

dwSize
Structure size
struAlarmTime
Arming time, 7 days a week, and max. 8 time segments each day
byRes
Reserved

Remarks

This function corresponded dial-up schedule capability (Schedule)，API：NET_DVR_GetSTDAbility(Capability Set: NET_DVR_GET_WIRELESSDIAL_SCHEDULE_CAPABILITIES).

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_WIRELESSDIAL_STATUS

Wireless connection status structure

struct{
  DWORD             dwSize;
  BYTE              byRealtimeMode[MAX_LENGTH_32];
  BYTE              byUIMStatus[MAX_LENGTH_32];
  DWORD             dwSignalQuality;
  BYTE              byDialStatus[MAX_LENGTH_32];
  NET_DVR_IPADDR    struIpAddr;
  NET_DVR_IPADDR    struIPMask;
  NET_DVR_IPADDR    struGatewayIPMask;
  NET_DVR_IPADDR    struDnsServerIpAddr;
  BYTE              byRes[256];
}NET_DVR_WIRELESSDIAL_CONNECT_PARAM,*LPNET_DVR_WIRELESSDIAL_CONNECT_PARAM;

Members

dwSize
Structure size
byRealtimeMode
Real-time mode (CDMA 1x, EVDO, HYBRID, GSM, GPRS, EDGE, WCDMA, HSDPA, HSUPA, HSPA, TDSCDMA, TD-LTE, FDD-LTE, LTE, UNKNOWN)
byUIMStatus
UIM status(UNKNOWN,VALID,NOVALID,ROAM,NOEXIST)
dwSignalQuality
Signal quality, value range: 1 to 100
byDialStatus
Dial-up status code
struIpAddr
IP address
struIPMask
Mask address
struGatewayIPMask
Gateway address
struDnsServerIpAddr
DNS address
byRes
Reserved

See Also

NET_DVR_GetSTDConfig


NET_DVR_WIRELESSSERVER

Hotspot server function structure

struct{
  DWORD    dwSize;
  BYTE     byWLanShare;
  BYTE     byBroadcastSSID;
  BYTE     bySecurityMode;
  BYTE     byAlgorithmType;
  char     szSSID[MAX_SSID_LEN];
  char     szPassWord[MAX_WS_PASSWD_LEN];
  BYTE     byDefaultPassword;
  BYTE     byRes[255];
 }NET_DVR_WIRELESSSERVER,*LPNET_DVR_WIRELESSSERVER;

Members

dwSize
Structure size
byWLanShare
Enable WLan hospot? 0- No，1- Yes
byBroadcastSSID
Enable SID broadcast? 0- No, 1- Yes
bySecurityMode
Safety mode：0- not-encrypted，1- WPA，2- WPA2(Only 2 is supported currently)
byAlgorithmType
Encryption mode: 1- TKIP，2- AES
szSSID
SSID information
szPassWord
Password
byDefaultPassword
Enable default password? 0- No, 1- Yes
byRes
Reserved, set as 0.

Remarks

  • Check whether to support this function via the device capability(WirelessServer)，API：NET_DVR_GetSTDAbility，Capability set type：NET_DVR_GET_WIRELESSSERVER_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_WIRELESSSERVER_FULLVERSION_CFG

WIFI hot spot configuration structure

struct{
  DWORD                            dwSize;
  BYTE                             byWifiAPEnabled;
  BYTE                             byBroadcastEnabled;
  BYTE                             byWlanShareEnabled;
  BYTE                             byDHCPEnabled;
  BYTE                             bySSID[IW_ESSID_MAX_SIZE];
  BYTE                             byRes1[11];
  BYTE                             byIPType;
  NET_DVR_IPADDR                   struIPAddr;
  NET_DVR_IPADDR                   struIPMask;
  NET_DVR_IPADDR                   struGatewayIPMask;
  NET_DVR_IPADDR                   struStartIPAddrPool;
  NET_DVR_IPADDR                   struEndIPAddrPool;
  NET_DVR_IPADDR                   struDNSServerIpAddr[MAX_DNS_SERVER_NUM];
  NET_DVR_WIRELESS_SECURITY_CFG    struWirelessSecurityCfg;
  BYTE                             byRes[256];
}NET_DVR_WIRELESSSERVER_FULLVERSION_CFG,*LPNET_DVR_WIRELESSSERVER_FULLVERSION_CFG;

Members

dwSize
Structure size
byWifiAPEnabled
Enable wireless AP? 0- nO，1- Yes
byBroadcastEnabled
Enable broadcast? 0- nO，1- Yes
byWlanShareEnabled
Enable sharing? 0- nO，1- Yes
byDHCPEnabled
Enable DHCP? 0- nO，1- Yes
bySSID
SSID
byRes1
Reserved, set as 0.
byIPType
IP address type: 0- IPv4，1- IPv6
struIPAddr
IP address
struIPMask
Mask address
struGatewayIPMask
Gateway address
struStartIPAddrPool
IP segment start address
struEndIPAddrPool
IP segment end address
struDNSServerIpAddr
DNS address，each array indicates on DNS server address
struWirelessSecurityCfg
Wireless encryption parameters
byRes
Reserved, set as 0.

Remarks

  • Check whether to support WIFI hot spot configuration via the capability set, the corresponded hot spot capability is (WirelessServer)，API：NET_DVR_GetSTDAbility，capability type:NET_DVR_GET_WIRELESSSERVER_CAPABILITIES。

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_WORKING_DEVICE_INFO

Working device information structure

struct{
  NET_DVR_IPADDR     struIP;
  BYTE               byLinkStatus;
  BYTE               byWorkStatus;
  BYTE               byBacupStatus;
  BYTE               bySyncProgress;
  NET_DVR_TIME_EX    struSyncBeginTime;
  NET_DVR_TIME_EX    struSyncEndTime;
  char               szSerialNumber[SERIALNO_LEN];
  DWORD              dwSoftwareVersion;
  BYTE               byWorkingDeviceGUID[GUID_LEN];
  char               szDevTypeName[DEV_TYPE_NAME_LEN];
  WORD               wDevType;
}NET_DVR_WORKING_DEVICE_INFO, *LPNET_DVR_WORKING_DEVICE_INFO;

Members

struIP
Device IP address
byLinkStatus
Connection status: 0- failure, 1- success
byWorkStatus
Working status: 0- normal, 1- exception
byBacupStatus
Whether in backup status: 0- no, 1- yes
bySyncProgress
Video sync progress, 0 means not started, 100 means sync completed
struSyncBeginTime
Sync start time
struSyncEndTime
Sync end time
szSerialNumber
Device serial No.
dwSoftwareVersion
Device software version
byWorkingDeviceGUID
Working device GUID, not strings, used to search for videos on working device from backup device
szDevTypeName
Device type name
wDevType
Device type value

See Also

NET_DVR_NPO_DEV_INFO_UNION


NET_DVR_WORKSTATE

Structure of working status.

struct{
  DWORD                  dwDeviceStatic;
  NET_DVR_DISKSTATE      struHardDiskStatic[MAX_DISKNUM];
  NET_DVR_CHANNELSTATE   struChanStatic[MAX_CHANNUM];
  BYTE                   byAlarmInStatic[MAX_ALARMIN];
  BYTE                   byAlarmOutStatic[MAX_ALARMOUT];
  DWORD                  dwLocalDisplay;
}NET_DVR_WORKSTATE,*LPNET_DVR_WORKSTATE;

Members

dwDeviceStatic
Status of device: 0- normal, 1- the occupancy of CPU is too high, more than 85%, 2- error in hardware, e.g. the serial ports don't work
struHardDiskStatic
Status of hard disk
struChanStatic
Status of channel
byAlarmInHandle
Status of alarm input port: 0- no alarm, 1- alarm
byAlarmOutStatic
Status of alarm output port: 0- no alarm output, 1- alarm output
dwLocalDisplay
Status of local display: 0- normal, 1- abnormal

See Also

NET_DVR_DISKSTATE NET_DVR_CHANNELSTATE


NET_DVR_WORKSTATE_V30

Structure of working status extended for 9000 series device

struct{
  DWORD                      dwDeviceStatic;
  NET_DVR_DISKSTATE          struHardDiskStatic[MAX_DISKNUM_V30];
  NET_DVR_CHANNELSTATE_V30   struChanStatic[MAX_CHANNUM_V30];
  BYTE                       byAlarmInStatic[MAX_ALARMIN_V30];
  BYTE                       byAlarmOutStatic[MAX_ALARMOUT_V30];
  DWORD                      dwLocalDisplay;
  BYTE                       byAudioChanStatus[MAX_AUDIO_V30];
  BYTE                       byRes[10];
}NET_DVR_WORKSTATE_V30,*LPNET_DVR_WORKSTATE_V30;

Members

dwDeviceStatic
Status of device: 0- normal, 1- the occupancy of CPU is too high, more than 85%, 2- error in hardware, e.g. the serial ports don't work
struHardDiskStatic
Status of hard disk
struChanStatic
Status of channel
byAlarmInStatic
Status of alarm input port: 0- no alarm, 1- alarm
byAlarmOutStatic
Status of alarm output port: 0- no alarm output, 1- alarm output
dwLocalDisplay
Status of local display: 0- normal, 1- abnormal
byAudioChanStatus
Status of audio channel: 0- unused 1- on using, 0xff- invalid
byRes
Reserved, please set to 0

See Also

NET_DVR_DISKSTATE NET_DVR_CHANNELSTATE_V30


NET_DVR_WORKSTATE_V40

设备工作状态信息结构体。

struct{
  DWORD                      dwSize;
  DWORD                      dwDeviceStatic;
  NET_DVR_DISKSTATE          struHardDiskStatic[MAX_DISKNUM_V30];
  NET_DVR_CHANNELSTATE_V30   struChanStatic[MAX_CHANNUM_V40];
  DWORD                      dwHasAlarmInStatic[MAX_ALARMIN_V40];
  DWORD                      dwHasAlarmOutStatic[MAX_ALARMOUT_V40];
  DWORD                      dwLocalDisplay;
  BYTE                       byAudioInChanStatus[MAX_AUDIO_V30];
  BYTE                       byRes[126];
}NET_DVR_WORKSTATE_V40,*LPNET_DVR_WORKSTATE_V40;

Members

dwSize
结构体大小
dwDeviceStatic
设备的状态：0－正常；1－CPU占用率太高，超过85%；2－硬件错误，例如串口异常
struHardDiskStatic
硬盘状态，一次最多只能获取33个硬盘信息
struChanStatic
通道的状态，从前往后顺序排列
byAlarmInStatic
有报警的报警输入口，按值表示，按下标值顺序排列，值为0xffffffff时当前及后续值无效
byAlarmOutStatic
有报警输出的报警输出口，按值表示，按下标值顺序排列，值为0xffffffff时当前及后续值无效
dwLocalDisplay
本地显示状态：0-正常，1-不正常
byAudioChanStatus
表示语音通道的状态，第0位表示第1个语音通道，第1位表示第2个语音通道，数组元素值：0-未使用，1-使用中，0xff无效
byRes
保留，置为0

See Also

NET_DVR_GetDeviceConfig

NET_DVR_CHECK_DEV_STATE


NET_DVR_WPS_PARAM

Structure of WI-FI WPS parameter

struct{
  DWORD    dwSize;
  BYTE     byEnableWps;
  BYTE     byRes[31];
}NET_DVR_WPS_PARAM, *LPNET_DVR_WPS_PARAM;

Members

dwSize
Structure size
byEnableWps
Enable WPS or not：0- no, 1- yes
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_XML_CONFIG_INPUT

Unvarnished transmission input parameters structure

struct{
  DWORD    dwSize;
  void     *lpRequestUrl;
  DWORD    dwRequestUrlLen;
  void     *lpInBuffer;
  DWORD    dwInBufferSize;
  DWORD    dwRecvTimeOut;
  BYTE     byRes[32];
}NET_DVR_XML_CONFIG_INPUT,*LPNET_DVR_XML_CONFIG_INPUT;

Members

dwSize
Structure size
lpRequestUrl
Request command, string format
dwRequestUrlLen
Request command length, string length
lpInBuffer
Input parameters buffer, XML format
dwInBufferSize
Input parameters buffer size
dwRecvTimeOut
Receiving over-time, unit:ms，0 indicates the default value (5s)
byRes
Reserved, set as 0.

Remarks

Please refer to ISAPI protocol documents for detailed request command and input parameters.

See Also

NET_DVR_STDXMLConfig


NET_DVR_XML_CONFIG_OUTPUT

Unvarnished transmission output parameters structure

struct{
  DWORD    dwSize;
  void     *lpOutBuffer;
  DWORD    dwOutBufferSize;
  DWORD    dwReturnedXMLSize;
  void     *lpStatusBuffer;
  DWORD    dwStatusSize;
  BYTE     byRes[32];
}NET_DVR_XML_CONFIG_OUTPUT,*LPNET_DVR_XML_CONFIG_OUTPUT;

Members

dwSize
Structure size
lpOutBuffer
Output parameters buffer, XML format
dwOutBufferSize
Output parameters buffer size(memory size)
dwReturnedXMLSize
Actual output XML content size
lpStatusBuffer
Returned status parameters (XML format：ResponseStatus)，If not required, set as 置NULL
dwStatusSize
Status buffer size (memory size)
byRes
Reserved, set as 0.

Remarks

Please refer to the ISAPI protocol document for detailed output parameters information.

See Also

NET_DVR_STDXMLConfig


NET_DVR_ZERO_ZOOMCFG

Structure of zero-channel zoom configuration.

struct{
  DWORD           dwSize;
  NET_VCA_POINT   struPoint;
  BYTE            byState;
  BYTE            byPreviewNumber;
  BYTE            byPreviewSeq[MAX_WINDOW_V30];
  BYTE            byRes[30];
}NET_DVR_ZERO_ZOOMCFG,*LPNET_DVR_ZERO_ZOOMCFG;

Members

dwSize
Structure size
struPoint
Coordinate in the screen
byState
Status: 0- zoom out, 1- zoom in
byPreviewNumber
The number of previewing screens: 0- 1 screen, 1- 4 screens, 2- 9 screens, 3- 16 screens (Read only)
byPreviewSeq
Information of previewing channel (Read only)
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ZEROCHANCFG

Structure of zero channel configuration.

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes1[3];
  DWORD    dwVideoBitrate;
  DWORD    dwVideoFrameRate;
  BYTE     byRes2[32];
}NET_DVR_ZEROCHANCFG, *LPNET_DVR_ZEROCHANCFG;

Members

dwSize
Structure size
byEnable
Whether to enable zero channel encoding: 0- no, 1- yes
byRes1
Reserved
dwVideoBitrate
Bit rate: 0-Reserved, 1-16K(Reserved), 2-32K, 3-48k, 4-64K, 5-80K, 6-96K, 7-128K, 8-160k, 9-192K, 10-224K, 11-256K, 12-320K, 13-384K, 14-448K, 15-512K, 16-640K, 17-768K, 18-896K, 19-1024K, 20-1280K, 21-1536K, 22-1792K, 23-2048K
dwVideoFrameRate
Frame rate: 0- all, 1-1/16, 2-1/8, 3-1/4, 4-1/2, 5-1, 6-2, 7-4, 8-6, 9-8, 10-10, 11-12, 12-16, 13-20, 14-15, 15-18, 16－22
byRes2
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ZONE_ALARM_INFO

Zone alarm information structure

struct{
  BYTE     byZoneName[NAME_LEN];
  DWORD    dwZonendex;
  BYTE     byZoneType;
  BYTE     byRes[219];
}NET_DVR_ZONE_ALARM_INFO, *LPNET_DVR_ZONE_ALARM_INFO;

Members

byZoneName
Zone name
dwZonendex
Zone No.
byZoneType
Zone type, the detailed definitions are shown below.
enum _ALARM_ZONE_TYPE_ENUM_{
  ENUM_ALARM_ZONE_TYPE_MANUAL           = 0,
  ENUM_ALARM_ZONE_TYPE_MAGNETIC         = 1,
  ENUM_ALARM_ZONE_TYPE_SMOKE            = 2,
  ENUM_ALARM_ZONE_TYPE_ACTIVE_INFRARED  = 3,
  ENUM_ALARM_ZONE_TYPE_PASSIVE_INFRARED = 4,
  ENUM_ALARM_ZONE_TYPE_GAS              = 11
}ALARM_ZONE_TYPE_ENUM
ENUM_ALARM_ZONE_TYPE_MANUAL
Panic button alarm
ENUM_ALARM_ZONE_TYPE_MAGNETIC
Door magnetic alarm
ENUM_ALARM_ZONE_TYPE_SMOKE
Smoke detection alarm
ENUM_ALARM_ZONE_TYPE_ACTIVE_INFRARED
Active IR alarm
ENUM_ALARM_ZONE_TYPE_PASSIVE_INFRARED
Passive IR alarm
ENUM_ALARM_ZONE_TYPE_GAS
Gas detection alarm
byRes
Reserved, set as 0.

See Also

NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION


NET_DVR_ZONE_CHANNEL_LINKAGE_CFG

Arming Region linkage video channel configuration structure

struct{
  DWORD                                 dwSize;
  NET_DVR_SINGLE_CHANNEL_LINKAGE_CFG    struLinkChannels[MAX_ZONE_LINKAGE_CHAN_NUM];
  BYTE                                  byRes[256];
}NET_DVR_ZONE_CHANNEL_LINKAGE_CFG,*LPNET_DVR_ZONE_CHANNEL_LINKAGE_CFG;

Members

dwSize
Structure size
struLinkChannels
Linkage video channel, up to 4 linkage channels can be configured.
byRes
Reserved, set as 0.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ZONEANDDST

Structure of time zone and DST parameters.

struct{
  DWORD                  dwSize;
  DWORD                  dwZoneIndex;
  BYTE                   byRes1[12];
  DWORD                  dwEnableDST;
  BYTE                   byDSTBias;
  BYTE                   byRes2[3];
  NET_DVR_TIMEPOINT      struBeginPoint;
  NET_DVR_TIMEPOINT      struEndPoint;
}NET_DVR_ZONEANDDST,*LPNET_DVR_ZONEANDDST;

Members

dwSize
Structure size
dwZoneIndex
Please set the value got by NET_DVR_GetDVRConfig to the parameter. Please set cTimeDifferenceH or cTimeDifferenceM in the structure NET_DVR_NTPPARA if you want to set the time zone.
byRes1
Reserved, please set to 0
dwEnableDST
Whether to enable DST: 0- no, 1- yes
byDSTBias
Bias of DST (count with minute): 30min, 60min, 90min, 120min
byRes2
Reserved, please set to 0
struBeginPoint
Start time of DST
struEndPoint
End time of DST

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_ZOOMLINKAGE

Zooming linkage configure structure.

struct{
  DWORD    dwSize;
  BYTE     byEnable;
  BYTE     byRes[255];
}NET_DVR_ZOOMLINKAGE,*LPNET_DVR_ZOOMLINKAGE;

Members

dwSize
Structure size
byEnable
Zooming linkage enable:0- close,1- enable
byRes
Reserved, set as 0

Remarks

  • Judge through device capability set whether device supports zooming linkage configuration or supported parameted capability, corresponding zooming linkage configure capability set(ZoomLinkage), related interface:NET_DVR_GetSTDAbility,Capability set type:NET_DVR_GET_ZOOMLINKAGE_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_DVR_ZOOMRATIOCTRL

Tracking control structure

struct{
  DWORD    dwSize;
  DWORD    dwChan;
  BYTE     byRes[128];
}NET_DVR_ZOOMRATIOCTRL, *LPNET_DVR_ZOOMRATIOCTRL;

Members

dwSize
Structure size
dwChan
Device channel No.
byRes
Reserved

See Also

NET_DVR_RemoteControl


NET_IPC_AUDIO_LIMIT_ALARM_CFG

Structure of audio overrun configuration

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  DWORD                          dwDecibelLimit;
  NET_DVR_HANDLEEXCEPTION_V30    struHandleException;
  BYTE                           byRes2[24];
}NET_IPC_AUDIO_LIMIT_ALARM_CFG,*LPNET_IPC_AUDIO_LIMIT_ALARM_CFG;

Members

dwSize
Structure size
byEnable
Eanble audio overrun alarm:0-disable, 1-enable
byRes1
Reserved, set it to 0
dwDecibelLimit
Decibel limit, data range: 30-140, unit:db
struHandleException
Exception handle
byRes2
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_IPC_AUX_ALARMCFG

Structure of aux (PIR or wireless) alarm parameter

struct{
  DWORD                          dwSize;
  NET_IPC_SINGLE_AUX_ALARMCFG    struAlarm[MAX_AUX_ALARM_NUM];
  BYTE                           byRes[64];
}NET_IPC_AUX_ALARMCFG,*LPNET_IPC_AUX_ALARMCFG;

Members

dwSize
Structure size
struAlarm
Aux alarm parameter
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_IPC_AUX_ALARMCFG_UNION

Structure of aux alarm union

union{
  DWORD                        uLen[472];
  NET_IPC_PIR_ALARMCFG_EX         struPIRAlarm;
  NET_IPC_WIRELESS_ALARMCFG    struWirelessAlarm;
  NET_IPC_CALLHELP_ALARMCFG    struCallHelpAlarm;
}NET_IPC_AUX_ALARMCFG_UNION,*LPNET_IPC_AUX_ALARMCFG_UNION;

Members

uLen
Union size
struPIRAlarm
PIR alarm parameter
struWirelessAlarm
Wireless alarm parameter
struCallHelpAlarm
Calling for help alarm parameter

See Also

NET_IPC_SINGLE_AUX_ALARMCFG


NET_IPC_AUXALARM_RESULT

Structure of aux(PIR or wireless) alarm parameter

struct{
  DWORD                            dwSize;
  DWORD                            dwChannel;
  BYTE                             byAlarmType;
  BYTE                             byRes1[3];
  NET_IPC_AUXALARM_UPLOAD_UNION    struAuxAlarm;
  BYTE                             byRes[64];
}NET_IPC_AUXALARM_RESULT,*LPNET_IPC_AUXALARM_RESULT;

Members

dwSize
Structure size
dwChannel
Channel number
byAlarmType
Alarmer type, defined as below:
enum _IPC_AUX_ALARM_TYPE_{
  IPC_AUXALARM_UNKNOW   = 0,
  IPC_AUXALARM_PIR      = 1,
  IPC_AUXALARM_WIRELESS = 2,
  IPC_AUXALARM_CALLHELP = 3,
}IPC_AUX_ALARM_TYPE
IPC_AUXALARM_UNKNOW
Unknown
IPC_AUXALARM_PIR
PIR alarm
IPC_AUXALARM_WIRELESS
Wireless alarm
IPC_AUXALARM_CALLHELP
Calling for help alarm
byRes1
Reserved, please set to 0
struAuxAlarm
Alarm information
byRes
Reserved, please set to 0

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_IPC_AUXALARM_UPLOAD_UNION

Union of aux alarm result

union{
  DWORD                               uLen[66];
  NET_IPC_PIR_ALARMCFG                struPIRAlarm;
  NET_IPC_SINGLE_WIRELESS_ALARMCFG    struWirelessAlarm;
  NET_IPC_CALLHELP_ALARMCFG           struCallHelpAlarm;
}NET_IPC_AUXALARM_UPLOAD_UNION,*LPNET_IPC_AUXALARM_UPLOAD_UNION;

Members

uLen
Unoin size
struPIRAlarm
PIR alarm parameter
struWirelessAlarm
Wireless alarm parameter
struCallHelpAlarm
Calling for help alarm parameter

See Also

NET_IPC_AUXALARM_RESULT


NET_IPC_BUTTON_DOWN_ALARM_CFG

Structure of button down alarm configuration

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  NET_DVR_HANDLEEXCEPTION_V30    struHandleException;
  BYTE                           byRes2[24];
}NET_IPC_BUTTON_DOWN_ALARM_CFG,*LPNET_IPC_BUTTON_DOWN_ALARM_CFG;

Members

dwSize
Structure size
byEnable
Enable button down alarm: 0-disable, 1-enable
byRes1
Reserved, set it to 0
struHandleException
Exception handle
byRes2
Reserved, set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_IPC_CALLHELP_ALARMCFG

Structure of calling for help alarm configuration

struct{
  BYTE                           byAlarmHandle;
  BYTE                           byRes1[3];
  NET_DVR_HANDLEEXCEPTION_V30    struAlarmHandleType;
  BYTE                           byRelRecordChan[MAX_CHANNUM_V30];
  BYTE                           byRes[64];
}NET_IPC_CALLHELP_ALARMCFG, *LPNET_IPC_CALLHELP_ALARMCFG;

Members

byAlarmHandle
Whether to handle the alarm: 0- no, 1- yes
byRes1
Reserved, please set to 0
struAlarmHandleType
Handling type
byRelRecordChan
The channel to record triggered by the alarm, if the value is 1, it will trigger the channel to record. E.g. byRelRecordChan[0]==1, means to trigger the channel no.1, byRelRecordChan[1]==1, means to trigger the channel no.2, and so forth
byRes
Reserved, please set to 0

See Also

NET_IPC_AUX_ALARMCFG_UNION NET_IPC_AUXALARM_UPLOAD_UNION


NET_IPC_LANE_HVT_PARAM

IP camera mixed traffic checkpoint lane parameter structure

struct{
  BYTE               byLaneNO;
  BYTE               byCarDriveDirect;
  BYTE               byRes[62];
  NET_ITC_LINE       struLaneLine;
  NET_ITC_POLYGON    struPlateRecog;
  BYTE               byRes1[256];
}NET_IPC_LANE_HVT_PARAM, *LPNET_IPC_LANE_HVT_PARAM;

Members

byLaneNO
Lane No.
byCarDriveDirect
Vehicle driving direction, for details see below:
enum _ITC_LANE_CAR_DRIVE_DIRECT_{
  ITC_LANE_DRIVE_UNKNOW      = 0,
  ITC_LANE_DRIVE_UP_TO_DOWN  = 1,
  ITC_LANE_DRIVE_DOWN_TO_UP  = 2
}ITC_LANE_CAR_DRIVE_DIRECT
ITC_LANE_DRIVE_UNKNOW
Unknown
ITC_LANE_DRIVE_UP_TO_DOWN
Downward
ITC_LANE_DRIVE_DOWN_TO_UP
Upward
byRes
Reserved, set as 0
struLaneLine
Lane line
struPlateRecog
Plate recognition area
byRes1
Reserved, set as 0

See Also

NET_IPC_POST_HVT_PARAM


NET_IPC_PIR_ALARMCFG

Structure of PIR alarm configuration

struct{
  BYTE                           byAlarmName[NAME_LEN];
  BYTE                           byAlarmHandle;
  BYTE                           byRes1[3];
  NET_DVR_HANDLEEXCEPTION_V30    struAlarmHandleType;
  BYTE                           byRelRecordChan[MAX_CHANNUM_V30];
  NET_DVR_SCHEDTIME              struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  BYTE                           byRes[1464];
}NET_IPC_PIR_ALARMCFG_EX,*LPNET_IPC_PIR_ALARMCFG_EX;

Members

byAlarmName
Alarm name
byAlarmHandle
Whether to handle the alarm or not: 0- no, 1- yes
byRes1
Reserved, please set to 0
struAlarmHandleType
Handling type
byRelRecordChan
The channel to record triggered by the alarm, if the value is 1, it will trigger the channel to record. E.g. byRelRecordChan[0]==1, means to trigger the channel no.1, byRelRecordChan[1]==1, means to trigger the channel no.2.
byRes
Reserved, please set to 0

See Also

NET_IPC_AUX_ALARMCFG_UNION NET_IPC_AUXALARM_UPLOAD_UNION


NET_IPC_POST_HVT_PARAM

IPC mixed traffic check point triggering parameters structure

struct{
  BYTE                         byEnable;
  BYTE                         byLaneNum;
  BYTE                         byRes[62];
  NET_ITC_LINE                 struLaneBoundaryLine;
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  NET_IPC_LANE_HVT_PARAM       struLaneParam[MAX_ITC_LANE_NUM];
  char                         szSceneName[NAME_LEN];
  NET_VCA_LINE                 struSnapLine;
  BYTE                         byRes1[392];
}NET_IPC_POST_HVT_PARAM,*LPNET_IPC_POST_HVT_PARAM;

Members

byEnable
Enable this function? 0- No, 1- Yes
byLaneNum
Recognized vehicle number
byRes
Reserved
struLaneBoundaryLine
vehicle lane boundary line ( the left vehicle line)
struPlateRecog
Vehicle recognition parameters
struLaneParam
Vehicle lane parameters
szSceneName
Scene Name
struSnapLine
Capture line, valid when camera is mounted at road side (when byErectMethod=1 in structureNET_DVR_CAMERA_SETUPCFG)
byRes1
Reserved

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_IPC_SINGLE_AUX_ALARMCFG

Structure of single aux alarm configuration

struct{
  BYTE                          byAlarmType;
  BYTE                          byRes1[3];
  NET_IPC_AUX_ALARMCFG_UNION    uAlarm;
  BYTE                          byRes[16];
}NET_IPC_SINGLE_AUX_ALARMCFG,*LPNET_IPC_SINGLE_AUX_ALARMCFG;

Members

byAlarmType
Alarmer type, defined as below:
enum _IPC_AUX_ALARM_TYPE_{
  IPC_AUXALARM_UNKNOW   = 0,
  IPC_AUXALARM_PIR      = 1,
  IPC_AUXALARM_WIRELESS = 2,
  IPC_AUXALARM_CALLHELP = 3,
}IPC_AUX_ALARM_TYPE
IPC_AUXALARM_UNKNOW
Unknown
IPC_AUXALARM_PIR
PIR alarm
IPC_AUXALARM_WIRELESS
Wireless alarm
IPC_AUXALARM_CALLHELP
Calling for help alarm
byRes1
Reserved, please set to 0
struAlarm
Alarm parameter
byRes
Reserved, please set to 0

See Also

NET_IPC_AUX_ALARMCFG


NET_IPC_SINGLE_WIRELESS_ALARMCFG

Structure of single wireless alarm parameter

struct{
  BYTE                           byAlarmName[NAME_LEN];
  BYTE                           byAlarmHandle;
  BYTE                           byID;
  BYTE                           byRes1[2];
  NET_DVR_HANDLEEXCEPTION_V30    struAlarmHandleType;
  BYTE                           byRelRecordChan[MAX_CHANNUM_V30];
  BYTE                           byRes[32];
}NET_IPC_SINGLE_WIRELESS_ALARMCFG,*LPNET_IPC_SINGLE_WIRELESS_ALARMCFG;

Members

byAlarmName
Alarm name
byAlarmHandle
Whether to hanle the alarm or not: 0- no, 1- yes
byID
Wireless alarm ID, value range: 1~8
byRes1
Reserved, please set to 0
struAlarmHandleType
Handling type
byRelRecordChan
The channel to record triggered by the alarm, if the value is 1, it will trigger the channel to record. E.g. byRelRecordChan[0]==1, means to trigger the channel no.1, byRelRecordChan[1]==1, means to trigger the channel no.2.
byRes
Reserved, please set to 0

See Also

NET_IPC_WIRELESS_ALARMCFG NET_IPC_AUXALARM_UPLOAD_UNION


NET_IPC_WIRELESS_ALARMCFG

Structure of wireless alarm configuration

struct{
  NET_IPC_SINGLE_WIRELESS_ALARMCFG    struWirelessAlarm[MAX_WIRELESS_ALARM_NUM];
  BYTE                                byRes[32];
}NET_IPC_WIRELESS_ALARMCFG,*LPNET_IPC_WIRELESS_ALARMCFG;

Members

struWirelessAlarm
Single wireless alarm parameter
byRes
Reserved, please set to 0

See Also

NET_IPC_AUX_ALARMCFG_UNION


NET_ITC_ACCESS_DEVINFO_PARAM_UNION

Union of RS485 associated with devices configuration

struct{
  BYTE                        uLen[128];
  NET_ITC_RADAR_INFO_PARAM    struRadarInfoParam;
}NET_ITC_ACCESS_DEVINFO_PARAM_UNION, *LPNET_ITC_ACCESS_DEVINFO_PARAM_UNION;

Members

uLen
Union size, 128 bytes
struRadarInfoParam
Radar parameters configuration

See Also

NET_ITC_RS485_ACCESS_CFG


NET_ITC_EPOLICE_IOTL_PARAM

Structure of IO traffic light parameter (electronic police)

struct{
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  NET_ITC_SINGLE_IOTL_PARAM    struSingleIOTL[MAX_IOSPEED_GROUP_NUM];
  BYTE                         byRes[32];
}NET_ITC_EPOLICE_IOTL_PARAM,*LPNET_ITC_EPOLICE_IOTL_PARAM;

Members

struPlateRecog
Plate recognition parameter
struSingleIOTL
IO traffic light parameter of single group
byRes
Reserved, please set to 0

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_EPOLICE_LANE_PARAM

Structure of single-group IO traffic light parameter

struct{
  BYTE                                byEnable;
  BYTE                                byRelatedDriveWay;
  WORD                                wDistance;
  BYTE                                byRecordEnable;
  BYTE                                byRecordType;
  BYTE                                byPreRecordTime;
  BYTE                                byRecordDelayTime;
  BYTE                                byRecordTimeOut;
  BYTE                                bySignSpeed;
  BYTE                                bySpeedLimit;
  BYTE                                byOverlayDriveWay;
  NET_ITC_SERIAL_INFO                 struSerialInfo;
  BYTE                                byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                                byFlashMode;
  BYTE                                bySerialType;
  BYTE                                byRelatedIOOutEx;
  BYTE                                bySnapPicPreRecord;
  NET_ITC_PLATE_RECOG_REGION_PARAM    struPlateRecog[MAX_LANEAREA_NUM];
  BYTE                                byBigCarSignSpeed;
  BYTE                                byBigCarSpeedLimit;
  BYTE                                byRedTrafficLightChan;
  BYTE                                byYellowTrafficLightChan;
  BYTE                                byRelaLaneDirectionType;
  BYTE                                byRes3[11];
}NET_ITC_EPOLICE_LANE_PARAM,*LPNET_ITC_EPOLICE_LANE_PARAM;

Members

byEnable
Whether enable this traffic lane: 0- no, 1- yes
byRelatedDriveWay
The associated lane number
wDistance
Coil distance(reserved), unit: cm
byRecordEnable
Cycle recording sign of red light running behavior: 0- not record, 1- record
byRecordType
Recording type of red light running behavior: 0- pre-recording, 1- delay recording
byPreRecordTime
Pre-recording time of red light running behavior (default: 0), unit: s
byRecordDelayTime
Recording delay time of red light running behavior (default: 0), unit: s
byRecordTimeOut
Recording timeout time of red light running behavior, unit: s
bySignSpeed
Sign speed limit (valid when in traffic-gate electronic police mode), unit: km/h
bySpeedLimit
Speed limit (valid when in traffic-gate electronic police mode), unit: km/h
byOverlayDriveWay
The lane number overlay OSD
struSerialInfo
Magnetic vehicle detector parameter
byRelatedIOOut
The associated IO output port, support associating with multiple ports
byFlashMode
Flash flashing mode: 0- flash at the same time, 1- flash in turn
bySerialType
The serial type:0- Private, 1- Private OEM, 2- Others
byRelatedIOOutEx
Associated IO output, dexcribed by bit: bit0- IO output 1, bit1- IO output 2 and so on
Value: 0- not associated, 1- associated, up to suppoet 8-10 IO output(compatible with byRelatedIOOut)
bySnapPicPreRecord
抓拍图片预录时间点：0- 默认值（第二张图片），1- 第一张图片，2- 第二张图片，3- 第三张图片
struPlateRecog
Lane license plate recognition region parameter
byBigCarSignSpeed
The speed limit sign of big car, unit: km/h
byBigCarSpeedLimit
The speed limit of big car, unit: km/h
byRedTrafficLightChan
Red traffic light channel No.:1 to 16 (traffic light detector)
byYellowTrafficLightChan
Yellow traffic light channel No.:1 to 16 (traffic light detector)
byRelaLaneDirectionType
Related vehicle lane direction type, for detailed definition, see ITC_RELA_LANE_DIRECTION_TYPE
byRes3
Reserved

Remarks

The parameter byRelatedDriveWay of the structure is associated lane number,and it is matching the lane of detectors of matching, to snap.ByOverlayDriveWay as the superposition of lane number, actual Lane no.

When bySerialType==0, struSerialInfo will be valid. If bySerialType is 0, the parameter of struSerialInfo is effective.

See Also

NET_ITC_EPOLICE_RS485_PARAM


NET_ITC_EPOLICE_RS485_PARAM

Structure of RS485 magnetic vehicle detector triggering parameter (electronic police or traffic-gate electronic police)

struct{
  BYTE                          byRelatedLaneNum;
  BYTE                          byRes1[3];
  NET_ITC_PLATE_RECOG_PARAM     struPlateRecog;
  NET_ITC_EPOLICE_LANE_PARAM    struLane[MAX_ITC_LANE_NUM];
  BYTE                          byRes[32];
}NET_ITC_EPOLICE_RS485_PARAM,*LPNET_ITC_EPOLICE_RS485_PARAM;

Members

byRelatedLaneNum
The count of associated lanes
byRes1
Reserved, please set to 0
struPlateRecog
Plate recognition parameter
struLane
The associated lane parameter
byRes
Reserved, please set to 0

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_EXCEPTION

Structure of intelligent traffic camera exception parameters

struct{
  DWORD                      dwSize;
  NET_ITC_HANDLEEXCEPTION    struSnapExceptionType[MAX_EXCEPTIONNUM_V30];
}NET_ITC_EXCEPTION,*LPNET_ITC_EXCEPTION;

Members

dwSize
Structure size
struSnapExceptionType
Exception handle,each array means a kind of exception:
array 0－ HDD error
array 1－Network disconnect
array 2－IP address conflict
array 3－Vehicle detector exception
array 4－Signal detector exception

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_ITC_FLASHOUT_INFO

Structure of synchronous output parameter

struct{
  BYTE     byFlashOutIndex[MAX_IOOUT_NUM];
  BYTE     byRes[44];
}NET_ITC_FLASHOUT_INFO,*LPNET_ITC_FLASHOUT_INFO;

Members

byFlashOutIndex
Synchronous output index
byRes
Reserved, please set to 0

See Also

NET_ITC_STATUS_UNION


NET_ITC_FTP_CFG

Structure of ITS FTP configuration

struct{
  DWORD                   dwSize;
  BYTE                    byEnable;
  BYTE                    byAddressType;
  WORD                    wFTPPort;
  union{
       struct{
         BYTE             szDomain[MAX_DOMAIN_NAME];
         BYTE             byRes1[80];
       }struDomain;
       struct{
         NET_DVR_IPADDR   struIp;
       }struAddrIP;
  }unionServer;
  BYTE                    szUserName[NAME_LEN];
  BYTE                    szPassWORD[PASSWD_LEN];
  BYTE                    byRes4;
  BYTE                    byDirLevel;
  BYTE                    byRes1;
  BYTE                    byUploadDataType;
  NET_DVR_PICTURE_NAME    struPicNameRule;
  BYTE                    byTopDirMode;
  BYTE                    bySubDirMode;
  BYTE                    byThreeDirMode;
  BYTE                    byFourDirMode;
  BYTE                    byRes2[32];
  BYTE                    szPicNameCustom[MAX_CUSTOMDIR_LEN];
  BYTE                    szTopCustomDir[MAX_CUSTOMDIR_LEN];
  BYTE                    szSubCustomDir[MAX_CUSTOMDIR_LEN];
  BYTE                    szThreeCustomDir[MAX_CUSTOMDIR_LEN];
  BYTE                    szFourCustomDir[MAX_CUSTOMDIR_LEN];
  BYTE                    byRes3[900];
}NET_ITC_FTP_CFG,*LPNET_ITC_FTP_CFG;

Members

dwSize
Structure size
byEnableFTP
Whether enable ftp upload：0- no, 1- yes
byAddressType
Address type:0- actual ipv4/ipv6 address，1- domain
wFTPPort
FTP port
unionServer is the union of FTP address
szDomain
server IP, domain
byRes1
Reserved, set it to 0
struIp
IPv4 or IPv6 address, 144 bytes
szUserName
User name
szPassWORD
password
byRes4
Reserved, set it to 0
byDirLevel
Direction level:0- save in the root directory; 1- use level 1 directory; 2- use level 2 directory; 3- use level 3 directoryc; 4- use level 4 directory
byRes1
Reserved, set it to 0
byUploadDataType
Upload data type: 0- ALL，1- bayonet，2- violation of regulation (default mode is ALL when in single FTP mode; support bayonet and regulation violation when in double FTP mode)
struPicNameRule
Name rules of picture
byTopDirMode
level 1 directory: 0x1- use device name, 0x2- use device number, 0x3- use IP, 0x4- use surveillance point, 0x5- use time(year and month), 0x6- use time(year, month, day), 0x7- Illegal type, 0x8- direction, 0x9- place, 0xa- channel，0xb- channel number, 0xc-lane number,0xff- custom
bySubDirMode
level 2 directory: 0x1- use device name, 0x2- use device number, 0x3- use IP, 0x4- use surveillance point, 0x5- use time(year and month), 0x6- use time(year, month, day), 0x7- Illegal type, 0x8- direction, 0x9- place, 0xa- channel，0xb- channel number, 0xc-lane number,0xff- custom
byThreeDirMode
level 3 directory: 0x1- use device name, 0x2- use device number, 0x3- use IP, 0x4- use surveillance point, 0x5- use time(year and month), 0x6- use time(year, month, day), 0x7- Illegal type, 0x8- direction, 0x9- place, 0xa- channel，0xb- channel number, 0xc-lane number,0xff- custom
byFourDirMode
level 4 directory: 0x1- use device name, 0x2- use device number, 0x3- use IP, 0x4- use surveillance point, 0x5- use time(year and month), 0x6- use time(year, month, day), 0x7- Illegal type, 0x8- direction, 0x9- place, 0xa- channel，0xb- channel number, 0xc-lane number,0xff- custom
szPicNameCustom
Custom picture name. It is valid when the file naming rule is selected as PICNAME_ITEM_CUSTOM.
byRes2
Reserved, set it to 0
szTopCustomDir
Customized level 1 directory
szSubCustomDir
Customized level 2 directory
szThreeCustomDir
Customized level 3 directory
szFourCustomDir
Customized level 4 directory
byRes3
Reserved, set it to 0

See Also

Whether device support FTP cofiguration through bySupport&0x40 of capability set NET_DVR_SNAP_ABILITY

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_ITC_FTP_TYPE_COND

Structure of FTP parameter configuration

struct{
  DWORD    dwChannel;
  BYTE     byWorkMode;
  BYTE     byRes[7];
}NET_ITC_FTP_TYPE_COND,*LPNET_ITC_FTP_TYPE_COND;

Members

dwChannel
Channel number
byWorkMode
FTP mode: 0- FTP1(main FTP)，1- FTP2(standby FTP)
byRes
Reserved

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_ITC_HANDLEEXCEPTION

Structure of alarm and exception of intelligent traffic camera

struct{
  DWORD    dwHandleType;
  BYTE     byEnable;
  BYTE     byRes;
  WORD     wDuration;
  BYTE     byAlarmOutTriggered[MAX_ITC_EXCEPTIONOUT];
  BYTE     byRes1[8];
}NET_ITC_HANDLEEXCEPTION, *LPNET_ITC_HANDLEEXCEPTION;

Members

dwHandleType
Handle type,the "Or" result of exception handling
0x04: Notify suveillance center
0x08: Trigger alarm output(relay output)
byEnable
Whether enable exception handle:0- disable, 1- enable
byRes
Reserved
wDuration
Duration time, uint: s
byRelAlarmOut
Output channel triggered by alarm, the arry index is the channel number:0- not trigger, 1-trigger output
For example, trigger output channel 1 when byRelAlarmOut[0]==1,trigger output channel 2 when byRelAlarmOut[1]==1 and so on
byRes1
Reserved

Remakrs

Only intelligent traffic camera with "-K" support trigger alarm output with one relay(such as DS-2CD9131-KS), device without "-K" does not support the function

See Also

NET_ITC_EXCEPTION


NET_ITC_HVT_EC_PARAM

Structure of exposure control parameters

struct{
  DWORD    dwCapShutter;
  WORD     wCapGain;
  BYTE     byRes[2];
  DWORD    dwDayTimeVideoShutter;
  WORD     wDayTimeVideoGain;
  WORD     wNightVideoGain;
  DWORD    dwNightVideoShutter;
  BYTE     byRes1[108];
}NET_ITC_HVT_EC_PARAM,*LPNET_ITC_HVT_EC_PARAM;

Members

dwCapShutter
Snapshot shutter, data range: 0-65535
wCapGain
Snapshot gain, data range: 0-100
byRes
Reserved
dwDayTimeVideoShutter
Maximum exposure in the daytime
wDayTimeVideoGain
Maximum gain in the daytime
wNightVideoGain
Maximum gain in the night
dwNightVideoShutter
Maximum exposure in the night
byRes1
Reserved

See Also

NET_ITC_POST_HVT_PARAM


NET_ITC_ICR_AOTOSWITCH_PARAM

Structure of ICR auto switch parameters

struct{
  BYTE    byICRPreset[MAX_ICR_NUM];
  BYTE    byICRAutoSwitch;
  BYTE    byRes[148];
}NET_ITC_ICR_AOTOSWITCH_PARAM, *LPNET_ITC_ICR_AOTOSWITCH_PARAM;

Members

byICRPreset
ICR preset, array index is the preset number, such as 0-7 corresponding to 1-8, you can get the actual preset number through capability, data range: [0,100], The greater the value, the greater the ICR filter area
byICRAutoSwitch
ICR auto switch added threshold option, value range:[0,100]
byRes
Reserved, set it to 0

See Also

Get the ICR preset number(filter offset point) by capabilityNET_DVR_SNAP_ABILITY, the corresponding parameter:byICRPresetNum

See Also

NET_ITC_ICR_PARAM_UNION


NET_ITC_ICR_MANUALSWITCH_PARAM

Structure of ICR maunal switch parameters

struct{
  BYTE    byICRPreset[MAX_ICR_NUM];
  BYTE    bySubSwitchMode;
  BYTE    byRes[147];
}NET_ITC_ICR_MANUALSWITCH_PARAM, *LPNET_ITC_ICR_MANUALSWITCH_PARAM;

Members

byICRPreset
ICR preset, array index is the preset number, such as 0-7 corresponding to 1-8, you can get the actual preset number through capability, data range: [0,100], The greater the value, the greater the ICR filter area
bySubSwitchMode
1- day, 2- night, invalid when number of ICR preset more than 0
byRes
Reserved, set it to 0

See Also

Get the ICR preset number(filter offset point) by capabilityNET_DVR_SNAP_ABILITY, the corresponding parameter: byICRPresetNum。

See Also

NET_ITC_ICR_PARAM_UNION


NET_ITC_ICR_PARAM_UNION

Structure of ICR switch configuration

struct{
  BYTE                              uLen[156];
  NET_ITC_ICR_AOTOSWITCH_PARAM      struICRAutoSwitch;
  NET_ITC_ICR_MANUALSWITCH_PARAM    struICRManualSwitch;
  NET_ITC_ICR_TIMESWITCH_PARAM      struICRTimeSwitch;
  NET_ITC_ICR_ALGAOTOSWITCH_PARAM    strICRAlgorithmAutoSwitch;
}NET_ITC_ICR_PARAM_UNION, *LPNET_ITC_ICR_PARAM_UNION;

Members

uLen
Union size,156 bytes
struICRAutoSwitch
Auto swicth parameters
struICRManualSwitch
Manual swicth parameters
struICRTimeSwitch
Time switch parameters

See Also

NET_ITC_ICRCFG


NET_ITC_ICR_TIMESWITCH_PARAM

Structure of ICR time switch parameters

struct{
  NET_ITC_ICRTIMECFG    struAutoCtrlTime[MAX_TIMESEGMENT_V30];
  BYTE                  byICRPreset[MAX_ICR_NUM];
  BYTE                  byRes[20];
}NET_ITC_ICR_TIMESWITCH_PARAM, *LPNET_ITC_ICR_TIMESWITCH_PARAM;

Members

struAutoCtrlTime
Auto switch time frame(support 4 groups at present, another 4 groups are reserved)
byICRPreset
ICR preset, array index is the preset number, such as 0-7 corresponding to 1-8, you can get the actual preset number through capability, data range: [0,100], The greater the value, the greater the ICR filter area
byRes
Reserved, set it to 0

See Also

Get the ICR preset number(filter offset point) by capabilityNETNET_DVR_SNAP_ABILITY, the corresponding parameter：byICRPresetNum and byICRTimeSlot

See Also

NET_ITC_ICR_PARAM_UNION


NET_ITC_ICRCFG

Structure of ICR switch configuration

struct{
  DWORD                      dwSize;
  BYTE                       bySwitchType;
  BYTE                       byRes[3];
  NET_ITC_ICR_PARAM_UNION    uICRParam;
}NET_ITC_ICRCFG, *LPNET_ITC_ICRCFG;

Members

dwSize
Structure size
bySwitchType
Switch mode: 1- auto switch, 2- manual switch, 3- time switch, 4- auto-arithmetic
byRes
Reserved, set it to 0
uICRParam
Union of ICR switch configuration

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_ITC_ICRTIMECFG

Structure of ICR time switch parameters

struct{
  NET_DVR_SCHEDTIME    struTime;
  BYTE                 byAssociateRresetNo;
  BYTE                 bySubSwitchMode;
  BYTE                 byRes[10];
}NET_ITC_ICRTIMECFG, *LPNET_ITC_ICRTIMECFG;

Members

struTime
Auto switch time frame,from XXhourXXminute to XXhourXXminute
byAssociateRresetNo
Preset number(can be set when number of ICR preset more than 0)：1～8, 0- none
bySubSwitchMode
Swicth mode (invalid when number of ICR preset more than 0): 0- none, 1- Day, 2- Night
byRes
Reserved, set it to 0

See Also

NET_ITC_ICR_TIMESWITCH_PARAM


NET_ITC_INTERVAL_PARAM

Structure of snapshot interval parameter

struct{
  BYTE    byIntervalType;
  BYTE    byRes1[3];
  WORD    wInterval[MAX_INTERVAL_NUM];
  BYTE    byRes[8];
}NET_ITC_INTERVAL_PARAM,*LPNET_ITC_INTERVAL_PARAM;

Members

byIntervalType
Interval type (default: 0), 0- take effect by time, 1- take effect by distance
byRes1
Reserved, please set to 0
wInterval
Interval time (unit: ms) or interval distance (unit: decimeter) of continuous snapshot. When byIntervalType is 0, it means interval time, when byIntervalType is 1, it means interval distance.
byRes
Reserved, please set to 0

See Also

NET_ITC_SINGLEIO_PARAM NET_ITC_LANE_PARAM NET_ITC_VTLANE_PARAM


NET_ITC_IO_LIGHT_PARAM

Parameters of traffic light conected with IO ports

struct{
  NET_ITC_SINGLE_IO_LIGHT_PARAM    struIOLight[MAX_LIGHT_NUM];
  BYTE                             byRes[8];
}NET_ITC_IO_LIGHT_PARAM,*LPNET_ITC_IO_LIGHT_PARAM;

Members

struIOLight
The parameters of traffic light conected with each IO port
byRes
Reserved, please set to 0

See Also

NET_ITC_LIGHT_ACCESSPARAM_UNION


NET_ITC_IOOUT_PARAM

Structure of IO output configuration

struct{
  DWORD   dwSize;
  BYTE    byDefaultStatus;
  BYTE    byIOOutStatus;
  BYTE    byMode;
  BYTE    byIOWorkMode;
  DWORD   dwTimeDelay;
  WORD    wAheadTime;
  BYTE    byFreqMulti;
  BYTE    byDutyRate;
  BYTE    byDetectBrightness;
  BYTE    byBrightnessThreld;
  BYTE    byFlashLightEnable;
  BYTE    byStartHour;
  BYTE    byStartMinute;
  BYTE    byEndHour;
  BYTE    byEndMinute;
  BYTE    byAutoPlateBrightness;
  BYTE    byRes[8];
}NET_ITC_IOOUT_PARAM, *LPNET_ITC_IOOUT_PARAM;

Members

dwSize
Structure size
byDefaultStatus
IO default state: 0- low level, 1- high level
byIoOutStatus
State when IO takes effect: 0- low level, 1- high level, 2- pulse
byMode
Flash mode, positional representation: bit0- video, bit1- mount, bit2- violation, value: 0- work, 1- does not work.
byIOWorkMode
The working mode of the IO output port: 0- Flash light,1- Polarizer, 2- Normally light on
byRes1
Reserved, please set to 0
dwTimeDelay
IO duration, unit: us
wAheadTime
Ahead time of IO output, unit: us
byFreqMulti
Frequency multiplication, value range: [1,15]
byDutyRate
Duty cycle, value range: [0,40%]
byDetectBrightness
Auto detect the brightness to enable flash light: 0- detect, 1- not detect
byBrightnessThreld
The threshold to enable flash light, value range: [0,100], flash when the brightness higher than the value
byFlashLightEnable
Enable flash light or not: 0- close, 1- open
byStartHour
Starting time: hour, value range: [0,23]
byStartMinute
Starting time: minute, value range: [0,59]
byEndHour
End time: hour, value range: [0,23]
byEndMinute
End time: minute, value range: [0,59]
byAutoPlateBrightness
Enable license plate brightness recognization flash light? 0- Disable, 1- Enable. If this function is enabled, the time control and light control function will be disabled.
byRes
Reserved, please set to 0

Remarks

Association of IO in each lane configuration of each mode, IO according to the byMode parameter in any state, for example: byMode 0 video, bayonet, illegal case work.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_ITC_LANE_HVT_PARAM

Structure of hybrid bayonet lane parameters

struct{
  BYTE                        byLaneNO;
  BYTE                        bySignSpeed;
  BYTE                        bySpeedLimit;
  BYTE                        byBigCarSignSpeed;
  BYTE                        byBigCarSpeedLimit;
  BYTE                        bySpeedCapEn;
  BYTE                        byCaptureCount;
  BYTE                        byRelatedIOOut;
  BYTE                        byFlashMode;
  BYTE                        byEnableRadar;
  BYTE                        byRes2[2];
  DWORD                       dwCapTarget;
  NET_ITC_INTERVAL_PARAM      struInterval;
  BYTE                        byRes3[24];
  NET_ITC_LANE_LOGIC_PARAM    struLane;
  NET_ITC_LINE                struLeftLaneLine;
  NET_ITC_LINE                struRightLaneLine;
  NET_ITC_POLYGON             struPlateRecog;
  NET_ITC_POLYGON             struTraceArea;
  NET_VCA_LINE                struForwardTrigLine;
  NET_VCA_LINE                struBackwardTrigLine;
  NET_VCA_LINE                struLeftTrigLine;
  NET_VCA_LINE                struRightTrigLine;
  BYTE                        byRes4[60];
}NET_ITC_LANE_HVT_PARAM,*LPNET_ITC_LANE_HVT_PARAM;

Members

byEnable
Whether enable the lane: 0- disable，1- enable
byLaneNO
Associated lane number, 1-255 (used for overlay and upload
bySignSpeed
Sign speed, uint:km/h, data range: 0-255
bySpeedLimit
Speed limit, unit:km/h, data range: 0-255
byBigCarSignSpeed
Sign speed of cart, unit: km/h
byBigCarSpeedLimit
Speed limit of cart, unit:km/h
bySpeedCapEn
Whether enable overapeed snapshot: 0-no, 1- yes
byCaptureCount
Snapshot number: 1-5 (normal)
byRelatedIOOut
Associated IO output(support multiple IO at the same time), describe the IO output by bit: bit 0- IO 1, bit 1- IO 2 and so on; value: 0- not associated, 1-associated
byFlashMode
Flash mode: 0-flash simultaneously, 1-flash in turn
byEnableRadar
Whether enable radar speed measurement: 0-no, 1- yes
byRes2
Reserved, set it to 0
dwCapTarget
Snapshot type, described by bit: bit0- motor vehicle, bit 1- non-motor vehicle, bit2 - pedestrian , data range:0-unselect, 1- select
struInterval
Snapshot interval
byRes3
Reserved, set it to 0
struLane
Lane properties
struLeftLaneLine
Left lane line: dotted lines, solid lines, single yellow line and double yellow line
struRightLaneLine
Right lane line: dotted lines, solid lines, single yellow line and double yellow line
struPlateRecog
Plate region parameters
struTraceArea
Focus area triggered by video
struForwardTrigLine
Forward trigger line: one segment,the endpoint supports horizontal cofiguration so far, save the interface through the two endpoint(the optimal position of forward vehicle)
struBackwardTrigLine
Backward trigger line: one segment,the endpoint supports horizontal cofiguration so far, save the interface through the two endpoint(the optimal position of backward vehicle)
struLeftTrigLine
Left trigger line: one segment,the endpoint supports vertical cofiguration so far, save the interface through the two endpoint(the optimal position of vehicle from left side)
struRightTrigLine
Right trigger line: one segment,the endpoint supports vertical cofiguration so far, save the interface through the two endpoint(the optimal position of vehicle from right side)
byRes4
Reserved, set it to 0

See Also

NET_ITC_POST_HVT_PARAM


NET_ITC_LANE_HVT_PARAM_V50

Mixed traffic check point vehicle lane parameters (V50 extension) structure

struct{
  BYTE                        byLaneNO;
  BYTE                        byFlashMode;
  BYTE                        bySignSpeed;
  BYTE                        bySpeedLimit;
  BYTE                        bySignLowSpeed;
  BYTE                        byLowSpeedLimit;
  BYTE                        byBigCarSignSpeed;
  BYTE                        byBigCarSpeedLimit;
  BYTE                        byBigCarSignLowSpeed;
  BYTE                        byBigCarLowSpeedLimit;
  BYTE                        bySnapTimes;
  BYTE                        byDriveLineSnapTime;
  BYTE                        byHighSpeedSnapTime;
  BYTE                        byLowSpeedSnapTime;
  BYTE                        byBanSnapTime;
  BYTE                        byReverseSnapTime;
  BYTE                        byRelatedDriveWay;
  BYTE                        byLaneType;
  BYTE                        byRelaLaneDirectionType;
  BYTE                        byRes1[29];
  DWORD                       dwVioDetectType;
  DWORD                       dwRelatedIOOut;
  NET_ITC_LINE                struTrigLine;
  NET_ITC_LINE                struLineLeft;
  NET_ITC_POLYGON             struPlateRecog;
  NET_ITC_LANE_LOGIC_PARAM    struLane;
  NET_ITC_INTERVAL_PARAM      struInterval;
  BYTE                        byRes2[280];
}NET_ITC_LANE_HVT_PARAM_V50,*LPNET_ITC_LANE_HVT_PARAM_V50;

Members

byLaneNO
Related vehicle lane No.( for overlay and upload), value range: 1~255
byFlashMode
Flash mode: flicking mode: 0- Flick at the same, 1- Flick in turn
bySignSpeed
Small vehicle highway limit. unit:km/h
bySpeedLimit
Small sign vehicle high speed limit, unit: km/h
bySignLowSpeed
Small sign vehicle low speed limit, unit:km/h
byLowSpeedLimit
Small vehicle low speed limit, unit: km/h
byBigCarSignSpeed
Big vehicle sign high speed limit, unit: km/h
byBigCarSpeedLimit
Big vehicle high speed limit，unit：km/h
byBigCarSignLowSpeed
Big vehicle sign low speed limit, unit: km/h
byBigCarLowSpeedLimit
Big vehicle low speed limit，unit：km/h
bySnapTimes
Check point capture number, value range：1 to 3
byDriveLineSnapTime
Crossing line capture number, value range:1 to 3
byHighSpeedSnapTime
Over high speed limit capture number, value range: 1 to 3
byLowSpeedSnapTime
Over low speed limit capture number, value range: 1 to 3
byBanSnapTime
Violation capture number, value range: 1~3
byReverseSnapTime
Wrong direction capture number, value range:1~3
byRelatedDriveWay
Related vehicle No., for matching vehicle detector.
byLaneType
Vehicle lane type: 0- Not not configured. 1- High way，2- CIty express way, 0xff- Other road type
byRelaLaneDirectionType
Related vehicle lane direction mode, for details, see ITC_RELA_LANE_DIRECTION_TYPE.This parameters corresponds to vehicle No. byRelatedDriveWay.
byRes1
Reserved, set as 0.
dwVioDetectType
Violation detection mode, represented by bit, value: 0-Not enabled, 1- Enabled, for details, seeITC_VIOLATION_DETECT_TYPE
dwRelatedIOOut
Related IO output port(multiple ports can be related at a same time), represented by bit, the 0 bit represents the IO output port 1, value range: 0- Related, 1- Not related.
struTrigLine
Triggering line, only for teh first lane currently
struLineLeft
Left vehicle lane line
struPlateRecog
Plate recognition region
struLane
Vehicle property, byUseageType and byCarDriveDirect are valid.
struInterval
Capture interval
byRes2
Reserved, set as 0.

See Also

NET_ITC_POST_HVT_PARAM_V50


NET_ITC_LANE_IMT_PARAM

Intelligent vehicle lane parameters structure。

struct{
  BYTE            byLaneNO;
  BYTE            byRelaLaneDirectionType;
  BYTE            byRes[146];
  NET_ITC_LINE    struLaneLine;
  BYTE            byRes1[256];
}NET_ITC_LANE_IMT_PARAM,*LPNET_ITC_LANE_IMT_PARAM;

Members

byLaneNO
Overlay vehicle lane No.
byRelaLaneDirectionType
Related lane direction type, for detailed types, seeITC_RELA_LANE_DIRECTION_TYPE. This parameter is for the lane direction, corresponds to the lane No.byRelatedDriveWay, to ensure uniqueness of the vehicle lane.
byRes
Reserved, set as 0.
struLaneLine
Vehicle lane line
byRes1
Reserved, set as 0.

See Also

NET_ITC_POST_IMT_PARAM


NET_ITC_LANE_LOGIC_PARAM

Structure of lane attribute parameters

struct{
  BYTE    byUseageType;
  BYTE    byDirectionType;
  BYTE    byRes[34];
}NET_ITC_LANE_LOGIC_PARAM, *LPNET_ITC_LANE_LOGIC_PARAM;

Members

byUseageType
Usage of the lane, defined as below:
enum _ITC_LANE_USEAGE_TYPE_{
  ITC_LANE_USEAGE_UNKNOW = 0,
  ITC_LANE_CARRIAGEWAY   = 1,
  ITC_LANE_BUS           = 2,
  ITC_LANE_FAST          = 3,
  ITC_LANE_SLOW          = 4,
  ITC_LANE_MOTOR         = 5,
  ITC_LANE_NONMOTOR      = 6,
  ITC_LANE_REVERSE_LANE  = 7,
  ITC_LANE_BAN_TRUCKS    = 8
}ITC_LANE_USEAGE_TYPE
ITC_LANE_USEAGE_UNKNOW
Unknown
ITC_LANE_CARRIAGEWAY
Carriage way
ITC_LANE_BUS
Bus lane
ITC_LANE_FAST
Fast lane
ITC_LANE_SLOW
Slow lane
ITC_LANE_MOTOR
Motorcycle lane
ITC_LANE_NONMOTOR
Non-motorized vehicle lane
ITC_LANE_REVERSE_LANE
Reverse lane
ITC_LANE_BAN_TRUCKS
No truck lane
byDirectionType
Lane direction type, defined as below:
enum _ITC_LANE_DIRECTION_TYPE_{
  ITC_LANE_DIRECTION_UNKNOW    = 0,
  ITC_LANE_LEFT                = 1,
  ITC_LANE_STRAIGHT            = 2,
  ITC_LANE_LEFT_STRAIGHT       = 3,
  ITC_LANE_RIGHT               = 4,
  ITC_LANE_LEFT_RIGHT          = 5,
  ITC_LANE_RIGHT_STRAIGHT      = 6,
  ITC_LANE_LEFT_RIGHT_STRAIGHT = 7,
  ITC_LANE_LEFT_WAIT           = 9,
  ITC_LANE_STRAIGHT_WAIT       = 10
}ITC_LANE_DIRECTION_TYPE
ITC_LANE_DIRECTION_UNKNOW
Unknown
ITC_LANE_LEFT
Turn left
ITC_LANE_STRAIGHT
Straight
ITC_LANE_LEFT_STRAIGHT
Turn left and straight
ITC_LANE_RIGHT
Turn right
ITC_LANE_LEFT_RIGHT
Turn left and turn right
ITC_LANE_RIGHT_STRAIGHT
Turn right and straight
ITC_LANE_LEFT_RIGHT_STRAIGHT
Turn left, turn right and straight
ITC_LANE_LEFT_WAIT
Left-turn waiting
ITC_LANE_STRAIGHT_WAIT
Waiting for through vehicles
byRes
Reserved, please set to 0

See Also

NET_ITC_LANE_VIDEO_EPOLICE_PARAM


NET_ITC_LANE_MPR_PARAM

Structure of Vehicle Lane Parameters under the Multi-frame Detection Mode

struct{
  BYTE               byLaneNO;
  union{
     BYTE            uLen[4];
     struct{
       BYTE          byIONo;
       BYTE          byTriggerType;
       BYTE          byRes1[2];
     }struIO;
     struct{
       BYTE          byRelateChan;
       BYTE          byRes2[3];
     }struRS485;
  }uTssParamInfo;
  BYTE               byCarDriveDirect;
  BYTE               byRes[58];
  NET_ITC_LINE       struLaneLine;
  NET_ITC_POLYGON    struPlateRecog;
  BYTE               byRes1[256];
}NET_ITC_LANE_MPR_PARAM,*LPNET_ITC_LANE_MPR_PARAM;

Members

byLaneNO
Vehicle lane NO.
uTssParamInfo is the union of the triggering parameters.
uLen
The size of the union is 4 bytes.
struIO is the structure of IO triggering mode related parameters.
byIONo
Linked IO No., starts from 1.
byTriggerType
Triggering mode, 0- Falling,1- Rising
byRes1
Reserved, set as 0.
struRS485 is the structure of RS485 triggering mode related parameters.
byRelateChan
Related vehicle detector No., range[1~16]
byRes2
Reserved, set as 0.
byCarDriveDirect
Vehicle driving direction, the detailed definition is shown as follows:
enum _ITC_LANE_CAR_DRIVE_DIRECT_{
  ITC_LANE_DRIVE_UNKNOW      = 0,
  ITC_LANE_DRIVE_UP_TO_DOWN  = 1,
  ITC_LANE_DRIVE_DOWN_TO_UP  = 2
}ITC_LANE_CAR_DRIVE_DIRECT
ITC_LANE_DRIVE_UNKNOW
Unknown
ITC_LANE_DRIVE_UP_TO_DOWN
Down streaming
ITC_LANE_DRIVE_DOWN_TO_UP
Up streaming
byRes
Reserved
struLaneLine
Vehicle lane line
struPlateRecog
Licence plate recognition parameters
byRes1
Reserved

Remarks

In NET_ITC_POST_MPR_PARAM, When the bySourceType is 1, the struIO of uTssParamInfo is valid. When the bySourceType is 2,the struRS485 of uTssParamInfois valid。

See Also

NET_ITC_POST_MPR_PARAM


NET_ITC_LANE_PARAM

Structure of lane parameter

struct{
  BYTE                                byEnable;
  BYTE                                byRelatedDriveWay;
  WORD                                wDistance;
  WORD                                wTrigDelayTime;
  BYTE                                byTrigDelayDistance;
  BYTE                                bySpeedCapEn;
  BYTE                                bySignSpeed;
  BYTE                                bySpeedLimit;
  BYTE                                bySnapTimes;
  BYTE                                byOverlayDriveWay;
  NET_ITC_INTERVAL_PARAM              struInterval;
  BYTE                                byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                                byFlashMode;
  BYTE                                byCartSignSpeed;
  BYTE                                byCartSpeedLimit;
  BYTE                                byRes2;
  NET_ITC_PLATE_RECOG_REGION_PARAM    struPlateRecog[MAX_LANEAREA_NUM];
  BYTE                                byLaneType;
  BYTE                                byUseageType;
   BYTE                                byRelaLaneDirectionType;
  BYTE                                byLowSpeedLimit;
  BYTE                                byBigCarLowSpeedLimit;
  BYTE                                byLowSpeedCapEn;
  BYTE                                byEmergencyCapEn;
  BYTE                                byRes[9];
}NET_ITC_LANE_PARAM,*LPNET_ITC_LANE_PARAM;

Members

byEnable
Enable the lane or not: 0- no, 1- yes
byRelatedDriveWay
Related lane
wDistance
Coil distance, to calculate speed
wTrigDelayTime
Trigger delay time (default: 200), unit: ms
byTrigDelayDistance
Trigger delay distance (default: 0), unit: decimeter
bySpeedCapEn
Whether enable speed snapshot: 0- no, 1- yes
bySignSpeed
Sign speed limit, unit: km/h
bySpeedLimit
Speed limit value, unit: km/h
bySnapTimes
The total snapshot times (default: 1), 0- not snap, none 0- continuous times, max 5 times
byOverlayDriveWay
Drive Way no by overlay OSD
struInterval
Snapshot interval parameter
byRelatedIOOut
The related IO output port (can associate with multiple ports)
byFlashMode
Flash mode of flash light: 0- flash at the same time, 1- flash in turn
byCartSignSpeed
Signs of speed limit (CART), unit: km/h
byCartSpeedLimit
Limit value (CART), unit: km/h
byRelatedIOOutEx
Assocaited IO output, described by bit: bit0 - IO output 1,bit1- IO output 2 and so on
Value: 0- not associated, 1- associated , up to support 8 IO output(compatibility with byRelatedIOOut)
struPlateRecog
License plate recognition region
byLaneType
Way Type: 0- is not configured, 1- highway, 2- city expressway, 0xff- other road
byUseageType
The usage of the traffic lane
enum _ITC_LANE_USEAGE_TYPE_{
  ITC_LANE_USEAGE_UNKNOW = 0,
  ITC_LANE_CARRIAGEWAY   = 1,
  ITC_LANE_BUS           = 2,
  ITC_LANE_FAST          = 3,
  ITC_LANE_SLOW          = 4,
  ITC_LANE_MOTOR         = 5,
  ITC_LANE_NONMOTOR      = 6,
  ITC_LANE_REVERSE_LANE  = 7,
  ITC_LANE_BAN_TRUCKS    = 8,
  ITC_LANE_MIX           = 9,
  ITC_LANE_EMERGENCY     = 10
}ITC_LANE_USEAGE_TYPE
ITC_LANE_USEAGE_UNKNOW
Unknown
ITC_LANE_CARRIAGEWAY
Normal lane
ITC_LANE_BUS
Bus lane
ITC_LANE_FAST
Fast traffic lane
ITC_LANE_SLOW
Slow traffic lane
ITC_LANE_MOTOR
Motorcycle lane
ITC_LANE_NONMOTOR
Bicycle lane
ITC_LANE_REVERSE_LANE
Reversed lane
ITC_LANE_BAN_TRUCKS
Van prohibition lane
ITC_LANE_MIX
Mixed-vehicle lane
ITC_LANE_EMERGENCY
Emergency vehicle lane
byRelaLaneDirectionType
Linked lane direction type
byLowSpeedLimit
Small vehicle lowest speed limit, unit：km/h
byBigCarLowSpeedLimit
Big vehicle lowest speed limit, unit：km/h
byLowSpeedCapEn
Whether to enable low speed capture: 0- No, 1- Yes
byEmergencyCapEn
Whether to enable emergency lane capture：0- No，1- Yes
byRes
Reserved, please set to 0

Remarks

The parameter byRelatedDriveWay of the structure of the associated lane, and lane correlation detectors of matching, to snap.ByOverlayDriveWay is the overlay lane number, actual Lane no. The original bySignSpeed and bySpeedLimit for vehicle application,bayonet model commonly used in the high speed scene, add byCartSignSpeed and byCartSpeedLimit for carts, electric alarm mode does not need to distinguish between big car and landaulet.

The menbers of bySignSpeed, byCartSignSpeed and byUseageTypeare not supported by the current devices.

See Also

NET_ITC_POST_RS485_PARAM NET_ITC_POST_RS485_RADAR_PARAM


NET_ITC_LANE_PRS_PARAM

Structure for lane parameters in the trigger mode of the video detection.

struct{
  BYTE               byLaneNO;
  union{
           BYTE      uLen[4];
           struct{
           BYTE      byIONo;
           BYTE      byTriggerType;
           BYTE      byRes1[2];
           }struIO;
           struct{
           BYTE      byRelateChan;
           BYTE      byRes2[3];
           }struRS485;
  }uTssParamInfo;
  BYTE               byRes[59];
  NET_ITC_LINE       struLaneLine;
  NET_ITC_POLYGON    struPlateRecog;
  BYTE               byRelaLaneDirectionType;
  BYTE               byRes1[255];
}NET_ITC_LANE_PRS_PARAM,*LPNET_ITC_LANE_PRS_PARAM;

Members

byLaneNO
Lane No.
uTssParamInfo is the information union of trigger parameters.
uLen
Union size, 4 bytes.
struIO is the structure for parameters of IO trigger mode.
byIONo
Linked IO No., starting from 1.
byTriggerType
Trigger mode: 0- falling edge, 1- rising edge.
byRes1
reserved, set to 0.
struRS485 is the structure for parameters of RS485 trigger mode.
byRelateChan
Linked lane No. of vehicle detector, ranging from 1 to 16.
byRes2
Reserved, set to 0.
byRes
Reserved
struLaneLine
Lane line.
struPlateRecog
Plate recognizing area.
byRelaLaneDirectionType
Linked lane direction type, see details in ITC_RELA_LANE_DIRECTION_TYPE
byRes1
Reserved

See Also

NET_ITC_POST_PRS_PARAM


NET_ITC_LANE_VIDEO_EPOLICE_PARAM

Trigger parameters of video electronic police of single lane

struct{
  BYTE                              byLaneNO;
  BYTE                              bySensitivity;
  BYTE                              byEnableRadar;
  BYTE                              byRes1[2];
  NET_ITC_LANE_LOGIC_PARAM          struLane;
  NET_ITC_VIOLATION_DETECT_PARAM    struVioDetect;
  NET_ITC_VIOLATION_DETECT_LINE     struLine;
  NET_ITC_POLYGON                   struPlateRecog;
  BYTE                              byRecordEnable;
  BYTE                              byRecordType;
  BYTE                              byPreRecordTime;
  BYTE                              byRecordDelayTime;
  BYTE                              byRecordTimeOut;
  BYTE                              byCarSpeedLimit;
  BYTE                              byCarSignSpeed;
  BYTE                              bySnapPicPreRecord;
  NET_ITC_INTERVAL_PARAM            struInterval;
  BYTE                              byRes[36];
}NET_ITC_LANE_VIDEO_EPOLICE_PARAM, *LPNET_ITC_LANE_VIDEO_EPOLICE_PARAM;

Members

byLaneNO
The associated lane number
bySensitivity
The coil sensitivity, value range: [1,100]
byEnableRadar
Enable radar?0- Not enable,1- Enable
byRes1
Reserved, please set to 0
struLane
The lane parameters
struVioDetect
Violation detection parameters
struLine
Violation detection line
struPlateRecog
License plate recognition region
byRecordEnable
Period recording flag of running the red light: 0- don't record, 1- record
byRecordType
The recording type of running the red light: 0- pre-recording, 1- delay recording
byPreRecordTime
Pre-recording time of running the red light, unit: s
byRecordDelayTime
Delay time of running the red light recording, unit: s, default value: 0
byRecordTimeOut
Period recording timeout of running the red light, unit: s
byCarSpeedLimit
Speed Limitation, unit:km/h
byCarSignSpeed
Sign speed limitation, unit: km/h
bySnapPicPreRecord
Capture prerecord time: 0- Default( Second picture), 1- First picture, 2- Second picture, 3- Third picture
struInterval
Capture interval parameters
byRes
Reserved, please set to 0

See Also

NET_ITC_VIDEO_EPOLICE_PARAM


NET_ITC_LIGHT_ACCESSPARAM_UNION

Access parameters of traffic light

union {
  DWORD                               uLen[122];
  NET_ITC_IO_LIGHT_PARAM              struIOLight;
  NET_ITC_RS485_LIGHT_PARAM           struRS485Light;
  NET_ITC_VIDEO_DETECT_LIGHT_PARAM    struVideoDelectLight;
}NET_ITC_LIGHT_ACCESSPARAM_UNION, *LPNET_ITC_LIGHT_ACCESSPARAM_UNION;

Members

uLen
The size of union
struIOLight
Parameters of traffic light conneted with IO ports
struRS485Light
Parameters of traffic light conneted with RS485
struRS485Light
Parameters of traffic light of video detection mode

See Also

NET_ITC_TRAFFIC_LIGHT_PARAM


NET_ITC_LINE

structure of video electronic-police line

struct{
  NET_VCA_LINE    struLine;
  BYTE            byLineType;
  BYTE            byRes[7];
}NET_ITC_LINE, *LPNET_ITC_LINE;

Members

struLine
Line parameters
byLineType
Line type, defined as below:
enum _ITC_LINE_TYPE_{
  ITC_LINT_UNKNOW        = 0,
  ITC_LINE_WHITE         = 1,
  ITC_LINE_STOP          = 2,
  ITC_LINE_SINGLE_YELLOW = 3,
  ITC_LINE_DOUBLE_YELLOW = 4,
  ITC_LINE_GUARD_RAIL    = 5,
  ITC_LINE_NO_CROSS      = 6
}ITC_LINE_TYPE
ITC_LINT_UNKNOW
Unknown
ITC_LINE_WHITE
Solid white line between lanes
ITC_LINE_STOP
Stop line
ITC_LINE_SINGLE_YELLOW
Single yellow line
ITC_LINE_DOUBLE_YELLOW
double yellow line
ITC_LINE_GUARD_RAIL
Guardrail on the lane
ITC_LINE_NO_CROSS
The line that vehicle counld not cross
byRes
Reserved, please set to 0

See Also

NET_ITC_VIDEO_EPOLICE_PARAM NET_ITC_VIOLATION_DETECT_LINE


NET_ITC_NOCOMITY_PEDESTRIAN_PARAM

The structure of no comity pedestrian triggering

struct{
  BYTE                                      byEnable;
  BYTE                                      byLaneNum;
  BYTE                                      byRes[74];
  NET_ITC_LINE                              struLaneBoundaryLine;
  NET_ITC_LINE                              struTriggerLine;
  NET_ITC_POLYGON                           struPedesDetRecog;
  NET_ITC_LANE_NOCOMITY_PEDESTRIAN_PARAM    struLaneParam[MAX_ITC_LANE_NUM];
  NET_ITC_PLATE_RECOG_PARAM                 struPlateRecog;
  BYTE                                      byRes1[400];
}NET_ITC_NOCOMITY_PEDESTRIAN_PARAM,*LPNET_ITC_NOCOMITY_PEDESTRIAN_PARAM;

Members

byEnable
Enable? 0- disable, 1- enable
byLaneNum
Recognizable lane number, 1~3
byRes
Reserved, set to 0
struLaneBoundaryLine
Lane border (the right border of the rightest lane)
struTriggerLine
No comity pedestrian triggering line
struPedesDetRecog
Pedestrian detecting area
struLaneParam
Lane parameters, one array means one lane
struPlateRecog
License plate recognition parameters
byRes1
Reserved, set to 0

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_PLATE_RECOG_PARAM

Plate recognition structure

struct{
  BYTE     byDefaultCHN[MAX_CHJC_NUM];
  BYTE     byEnable;
  DWORD    dwRecogMode;
  BYTE     byVehicleLogoRecog;
  BYTE     byProvince;
  BYTE     byRegion;
  BYTE     byRes1;
  WORD     wPlatePixelWidthMin;
  WORD     wPlatePixelWidthMax;
  BYTE     byRes[24];
}NET_ITC_PLATE_RECOG_PARAM,*LPNET_ITC_PLATE_RECOG_PARAM;

Members

byDefaultCHN
Province
byEnable
Enable license plate recognition for this region? 0- No, 1- Yes
dwRecogMode
Recognition type:
bit0- Recognition direction: 0- from front,1- from back(back plate recognition);
bit1- Big plate of little plate: 0- little plate,1- big plate;
bit2- Car body colour recognition: 0- disable colour recognition,1- enable colour recognition;
bit3- Agricultural car recognition: 0- disable,1- enable;
bit4- Blur recognition: 0- disable,1- enable;
bit5- Frame location or scene location: 0- frame location,1- scene location;
bit6- Frame recognition or scene recognition: 0- frame recognition,1- scene recognition;
bit7- Day or night: 0- day, 1- night
bit8- Motorcycle recognition: 0- disable motorcycle recognition, 1-enable motorcycle recognition
bit9- Scene mode: 0- e-police/multi frames, 1- checkpoint
bit10- Mini car licence plate:0- disable, 1- enable mini car licence plate recognition(60~80 pixel)
bit12-Civil aviation licence plate: 0-Disable, 1-Enable
bit13-License plate over tilted handle, 0- Disable, 1- Enable
bit14-Large license plate recognition, 0- Disable 1- Enable
bit15-Sun shield detection, 0-Disable, 1- Enable
bit16-Yellow label car detection: 0- Disable, 1- Enable
bit17- Dangerous goods vehicles detection: 0- Disable, 1- Enable
bit18-Embassy vehicle detection：0- Disable, 1- Enable
bit19-Vehicle sub plate recognition：0- Disable, 1- Enable
byVehicleLogoRecog
Vehicle license plate recognition: 0-No, 1-Yes
byProvince
Province index
byRegion
Region index: 0- Reserved, 1- Europe Region, 2- Russian Region, 3- Europe and Russian (EU&CIS)
byRes1
Reserved
wPlatePixelWidthMin
Min. width pixel value, unit: pixel, current range[130,500]
wPlatePixelWidthMax
Min. width pixel value, unit: pixel, current range[130,500]
byRes
Reserved

Remarks

  • Check whether the smart IPC supports license plate recognition via the device capability,the related alarm event capability(EventAbility), API:NET_DVR_GetDeviceAbility, capability type: DEVICE_ABILITY_INFO, node:<PlateRecogParam>.


NET_ITC_PLATE_RECOG_REGION_PARAM

Structure of license plate recognition parameter

struct{
  BYTE    byMode;
  BYTE    byRes1[3];
  union{
           NET_VCA_RECT           struRect;
           NET_ITC_POLYGON        struPolygon;
  }uRegion;
  BYTE    byRes[16];
}NET_ITC_PLATE_RECOG_REGION_PARAM,*LPNET_ITC_PLATE_RECOG_REGION_PARAM;

Members

byMode
Region type: 0- rectangle, 1- polygon
byRes1
Reserved, please set to 0
struRect
Rectangle area
struPolygon
Polygon area
byRes
Reserved, please set to 0

See Also

NET_ITC_SINGLE_IOSPEED_PARAM NET_ITC_SINGLEIO_PARAM NET_ITC_LANE_PARAM
NET_ITC_VTLANE_PARAM NET_ITC_SINGLE_IOTL_PARAM NET_ITC_EPOLICE_LANE_PARAM


NET_ITC_POLYGON

Structure of polygon

struct{
  DWORD            dwPointNum;
  NET_VCA_POINT    struPos[ITC_MAX_POLYGON_POINT_NUM];
}NET_ITC_POLYGON,*LPNET_ITC_POLYGON;

Members

dwPointNum
Valid point, >=3, if three points are on a straight line, or the lines cross, it is considered to invalid area
struPos
Polygon boundary point, the max number is 20

See Also

NET_ITC_PLATE_RECOG_REGION_PARAM NET_ITC_LANE_VIDEO_EPOLICE_PARAM


NET_ITC_POST_HVT_PARAM

Structure of hybrid bayonet parameters

struct{
  BYTE                         byLaneNum;
  BYTE                         bySceneMode;
  BYTE                         byRoadExpBright;
  BYTE                         byPlateExpBright;
  NET_ITC_POLYGON              struDetectArea;
  NET_ITC_SNAPMODE_PARAM       struCapMode;
  NET_ITC_HVT_EC_PARAM         struEcParam;
  NET_ITC_LANE_HVT_PARAM       struLaneParam[MAX_ITC_LANE_NUM];
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  NET_DVR_GEOGLOCATION         struGeogLocation;
  DWORD                        dwVioDetectType;
  BYTE                         byVideoDetEnable;
  BYTE                         byRes[319];
}NET_ITC_POST_HVT_PARAM,*LPNET_ITC_POST_HVT_PARAM;

Members

byLaneNum
Lane number, 1-6
bySceneMode
Scene mode: 0- unknow, 1-urban road, 2- entrance of neiborhoods
byRoadExpBright
Expertation brightness of road(one of the basies of video exposure adjustment parameters. when there are no motor vehicles, video exposure can be adjust depend on it)
byPlateExpBright
Expertation brightness of plate (one of the basies of video exposure adjustment parameters. when there are motor vehicles, video exposure can be adjust depend on it)
struDetectArea
Video detection area
struCapMode
Snapshot mode
struEcParam
Exposure control parameters
struLaneParam
Single lane properties
struPlateRecog
Plate recognition parameters
struGeogLocation
Location(default: Zhejiang)
dwVioDetectType
Violation detection type, decribed by bit, please refer to (ITC_VIOLATION_DETECT_TYPE), value: 0- disable, 1- enable
enum _ITC_VIOLATION_DETECT_TYPE_{
  ITC_VIOLATION_POST                 = 0x01,
  ITC_VIOLATION_DRIVELINE            = 0x02,
  ITC_VIOLATION_REVERSE              = 0x04,
  ITC_VIOLATION_REDLIGHT             = 0x08,
  ITC_VIOLATION_DIRECTION            = 0x10,
  ITC_VIOLATION_INTERSECTION_CONGEST = 0x20,
  ITC_VIOLATION_NONDRIVEWAY          = 0x40,
  ITC_VIOLATION_CHANGELANE           = 0x80,
  ITC_VIOLATION_BAN                  = 0x100,
  ITC_VIOLATION_INTERSECTION_PARK    = 0x200,
  ITC_VIOLATION_GREEN_PARK           = 0x400,
  ITC_VIOLATION_BAN_DRIVE            = 0x800,
  ITC_VIOLATION_ACROSS_YELLOWLINE    = 0x1000
}ITC_VIOLATION_DETECT_TYPE
ITC_VIOLATION_POST
Bayone snapshot
ITC_VIOLATION_DRIVELINE
Press lane line snapshot
ITC_VIOLATION_REVERSE
Reverse snapshot
ITC_VIOLATION_REDLIGHT
Violation snapshot
ITC_VIOLATION_DIRECTION
Violation dtrection snapshot
ITC_VIOLATION_INTERSECTION_CONGEST
Violation intersection congest snapshot
ITC_VIOLATION_NONDRIVEWAY
Illegal lane occupation snapshot
ITC_VIOLATION_CHANGELANE
Violation change lane
ITC_VIOLATION_BAN
Violation ban
ITC_VIOLATION_INTERSECTION_PARK
Intersection park
ITC_VIOLATION_GREEN_PARK
Illegal park
ITC_VIOLATION_BAN_DRIVE
Forbidden drive
ITC_VIOLATION_ACROSS_YELLOWLINE
Across yellow line
byVideoDetEnable
Whether enable video speed detection: 0- disable. 1- enable
byRes
Reserved, set it to 0

Remarks

Difference of across yellow line and violation change lane: across yellow line: when cameras located at the roadside without adjusting the stick to snapshot the situation of vehicle change lane and turn around; concept of violation change lane is same as E-police
Difference of forbidden drive and violation ban: Forbidden drive: snapshot all of vehicles' plate in the designated area; violation ban: snapshot a kind of plate in the lane

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_HVT_PARAM_V50

Mixed traffic check point parameters (V50 extension)structure

struct{
  BYTE                          byLaneNum;
  BYTE                          byCapType;
  BYTE                          byCapMode;
  BYTE                          bySceneMode;
  BYTE                          bySpeedMode;
  BYTE                          byLineRuleEffect;
  BYTE                          byRes1[78];
  NET_ITC_LINE                  struLeftTrigLine;
  NET_ITC_LINE                  struRigtTrigLine;
  NET_ITC_LINE                  struLaneBoundaryLine;
  NET_ITC_POLYGON               struDetectArea;
  NET_DVR_GEOGLOCATION          struGeogLocation;
  NET_ITC_LANE_HVT_PARAM_V50    struLaneParam[MAX_ITC_LANE_NUM];
  NET_ITC_PLATE_RECOG_PARAM     struPlateRecog;
  BYTE                         byRes2[260];
}NET_ITC_POST_HVT_PARAM_V50,*LPNET_ITC_POST_HVT_PARAM_V50;

Members

byLaneNum
Recognized vehicle lane number, 1 to 6
byCapType
Capture type: 0- Vehicle, bicycle, and human( default), 1- Vehicle
byCapMode
Capture mode:0- Video frame extraction, 1- Capture breaking，2- Mixed
bySceneMode
Scene mode: 0- City street (default), 1- Community Entrance, 2- High Way
bySpeedMode
Speed detection mode: 0- No detection, 1- Radar speed detection, 2- Video speed detection
byLineRuleEffect
Triggering line availability, each bit indicates on triggering line，value：0- Invalid，1- Valid
bit0- Left triggering line
bit1- Right triggering line
bit2- Video detection region
byRes1
Reserved, set as 0.
struLeftTrigLine
Left triggering line (a perpendicular line)
struRigtTrigLine
Right triggering line ( a perpendicular line)
struLaneBoundaryLine
Vehicle lane boundary line (the left vehicle lane line)
struDetectArea
Video detection region
struGeogLocation
Position
struLaneParam
Single vehicle lane property, each srray indicates a vehicle lane information
struPlateRecog
Vehicle recognition parameters
byRes2
Reserved, set as 0.

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_IMT_PARAM

Intelligent monitoring configuration parameters structure

struct{
  BYTE                         byEnable;
  BYTE                         byLaneNum;
  BYTE                         bySnapMode;
  BYTE                         byRes[61];
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  NET_ITC_LINE                 struLaneBoundaryLine;
  NET_ITC_LANE_IMT_PARAM       struLaneParam[MAX_ITC_LANE_NUM];
  BYTE                         byRes1[1584];
}NET_ITC_POST_IMT_PARAM,*LPNET_ITC_POST_IMT_PARAM;

Members

byEnable
Enable intelligent monitoring? 0- No, 1- Yes
byLaneNum
Recognized vehicle lane number, 1 to 16
bySnapMode
Capture type: 0- Motor vehicle, 1- Bicycle
byRes
Reserved, set as 0.
struPlateRecog
Vehicle license plate recognition parameters
struLaneBoundaryLine
Vehicle lane edge( the left edge of the left vehicle)
struLaneParam
Single vehicle lane property
byRes1
Reserved, set as 0.

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_IOSPEED_PARAM

Structure of IO speed measuring parameter(intelligent monitoring and recording system of vehicles)

struct{
  NET_ITC_PLATE_RECOG_PARAM       struPlateRecog;
  NET_ITC_SINGLE_IOSPEED_PARAM    struSingleIOSpeed[MAX_IOSPEED_GROUP_NUM];
  BYTE                            byRes[32];
}NET_ITC_POST_IOSPEED_PARAM,*LPNET_ITC_POST_IOSPEED_PARAM;

Members

struPlateRecog
Plate recognition parameter
struSingleIOSpeed
Measuring group parameter of each IO
byRes
Reserved, please set to 0

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_MOBILE_PARAM

Mobile traffic triggering parameters structure

struct{
  BYTE     byEnable;
  BYTE     bySceneMode;
  WORD     wExpressWayCapType;
  WORD     wUrbanRoadCapType;
  BYTE     byCapNum;
  BYTE     byRecordEnable;
  DWORD    dwPreRecordTime;
  DWORD    dwOverRecordTime;
  BYTE     byRes[256];
}NET_ITC_POST_MOBILE_PARAM,*LPNET_ITC_POST_MOBILE_PARAM;

Members

byEnable
Enable? 0- No, 1- Yes
bySceneMode
Scene mode: 0- High way, 1- City street
wExpressWayCapType
High way capture type, represented by bit, bit0- Checkpoint，bit1- Large vehicle occupies the vehicle lane ，bit2- Cross the hard shoulder
wUrbanRoadCapType
City street capture type, represented by bit, bit0- Checkpoint，bit1- Vehicle occupies the bicycle lane，bit2- Occupies the accommodation lane
byCapNum
Captured picture number，value range：[2,3]
byRecordEnable
Enable violation record: 0- Off, 1- On
dwPreRecordTime
Re-record time, unit: second
dwOverRecordTime
Record over-time, unit: second
byRes
Reserved, set as 0.

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_MPR_PARAM

Structure of Checkpoint Multi-Frame Plate Recognition Triggering Parameters

struct{
  BYTE                         byEnable;
  BYTE                         byLaneNum;
  BYTE                         bySourceType;
  BYTE                         byPicUploadType;
  BYTE                         byRoadType;
  BYTE                         byRes2;
  WORD                         wCustomDelayTime;
  BYTE                         byRes[56];
  NET_ITC_LINE                 struLaneBoundaryLine;
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  NET_ITC_LANE_MPR_PARAM       struLaneParam[MAX_ITC_LANE_NUM];
  char                         szSceneName[NAME_LEN];
  NET_VCA_LINE                 struSnapLine;
  BYTE                         byRes1[392];
}NET_ITC_POST_MPR_PARAM,*LPNET_ITC_POST_MPR_PARAM;

Members

byEnable
Enable 0- Not enable,1- enable
byLaneNum
The number of the recognizable vehicle lane
bySourceType
Signal source type, 0- MPR Triggering(video Triggering), 1-Linked IO Triggering(ground induction coil), 2-Linked RS485 triggering
byPicUploadType
Picture upload type: 0- Upload type, 1- Upload up direction, 2- Upload down direction
byRoadType
Road Mode: 0- Entrance/exit，1- City road, 2- Custom, 3- Alarm input
byRes2
Reserved
wCustomDelayTime
Custom capture delay time（ valid when byRoadType is 2), value range：[0,15000]，Unit：ms
byRes
Reserved
struLaneBoundaryLine
Vehicle lane boundary (the left boundary of the far-left vehicle lane)
struPlateRecog
Licence plate recognition
struLaneParam
Multi-frame detection vehicle lane parameters
szSceneName
Scene name
struSnapLine
Capture line, valid when camera is mounted at road side (when byErectMethod=1 in structureNET_DVR_CAMERA_SETUPCFG)
byRes1
Reserved

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_PRS_PARAM

Video detection )PRS) teiggering parameters Structure

struct{
  BYTE                         byEnable;
  BYTE                         byLaneNum;
  BYTE                         bySourceType;
  BYTE                         bySnapMode;
  BYTE                         byCapMode;
  BYTE                         byNoPlatCarCap;
  BYTE                         bySceneMode;
  BYTE                         byRes[57];
  NET_ITC_LINE                 struLaneBoundaryLine;
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  NET_ITC_LANE_PRS_PARAM       struLaneParam[MAX_ITC_LANE_NUM];
  BYTE                         byRes1[440];
}NET_ITC_POST_PRS_PARAM,*LPNET_ITC_POST_PRS_PARAM;

Members

byEnable
Enable this function? 0- No, 1- Yes
byLaneNum
Recognized vehicle lane number
bySourceType
Signal Source type: 0- Video detection, 1- Related IO trigger, 2- Related RS485 trigger
bySnapMode
Capture mode: 0- Full-view, 1- Full view and close-up
byCapMode
Used in video detection when bySourceType is 0,0- Strobe，1- Explosion
byNoPlatCarCap
Enable non-vehicle plate capture? 0- No，1- Yes
bySceneMode
Scene mode: 0- Normal entrance/exit scene，1- Toll station Scene，2- Underground parking scene
byRes
Reserved, set as 0.
struLaneBoundaryLine
Vehicle lane boundary line ( left lane line)）
struPlateRecog
License plate recognition
struLaneParam
Vehicle parameters
byRes1
Reserved, set as 0.

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_RS485_PARAM

Structure of RS-485 magnetic vehicle detector trigger parameter (intelligent monitoring and recording system of vehicles)

struct{
  BYTE                         byRelatedLaneNum;
  BYTE                         byTriggerSpareMode;
  BYTE                         byFaultToleranceTime;
  BYTE                         byRes1;
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  NET_ITC_LANE_PARAM           struLane[MAX_ITC_LANE_NUM];
  BYTE                         byRes[32];
}NET_ITC_POST_RS485_PARAM,*LPNET_ITC_POST_RS485_PARAM;

Members

byRelatedLaneNum
The count of associated lanes
byTriggerSpareMode
Trigger standby mode: 0- no, 1- bayonet virtual coil model
byFaultToleranceTime
Fault-tolerant time (unit: min), the maximum time to detection sensors are normal.
byRes1
Reserved, please set to 0
struPlateRecog
License plate parameter
struLane
Associated lane parameter
byRes
Reserved, please set to 0

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_RS485_RADAR_PARAM

Structure of RS485 radar trigger parameter (intelligent monitoring and recording system of vehicles)

struct{
  BYTE                         byRelatedLaneNum;
  BYTE                         byRes1[3];
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  NET_ITC_LANE_PARAM           struLane[MAX_ITC_LANE_NUM];
  NET_ITC_RADAR_PARAM          struRadar;
  BYTE                         byRes[32];
}NET_ITC_POST_RS485_RADAR_PARAM,*LPNET_ITC_POST_RS485_RADAR_PARAM;

Members

byRelatedLaneNum
The count of associated lanes
byRes1
Reserved, please set to 0
struPlateRecog
Plate recognition parameter
struLane
Associated lane parameter
struRadar
Radar parameter
byRes
Reserved, please set to 0

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_SINGLEIO_PARAM

Structure of single IO trigger parameter

struct{
  NET_ITC_PLATE_RECOG_PARAM     struPlateRecog;
  NET_ITC_SINGLEIO_PARAM        struSingleIO[MAX_IOIN_NUM];
  BYTE     byRes[360];
}NET_ITC_POST_SINGLEIO_PARAM,*LPNET_ITC_POST_SINGLEIO_PARAM;

Members

struPlateRecog
Plate recognition parameter
struSingleIO
Single IO trigger parameter, struSingleIO[0] means IO1, and struSingleIO[1] means IO2, and so forth
byRes
Reserved, please set to 0

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_POST_VTCOIL_PARAM

Trigger parameters of virtual coil (intelligent monitoring and recording system of vehicles)

struct{
  BYTE                         byRelatedLaneNum;
  BYTE                         byIsDisplay;
  BYTE                         byLoopPos;
  BYTE                         byPolarLenType;
  BYTE                         byDayAuxLightMode;
  BYTE                         byVideoLaneNO;
  BYTE                         byVideoLowTh;
  BYTE                         byVideoHighTh;
  BYTE                         byRecordMode;
  BYTE                         bySpeedDetector;
  BYTE                         byRes1[3];
  WORD                         wResolutionX;
  WORD                         wResolutionY;
  DWORD                        dwDayInitExp;
  DWORD                        dwDayMaxExp;
  DWORD                        dwNightExp;
  DWORD                        dwSnapExp;
  BYTE                         byDayInitGain;
  BYTE                         byDayMaxGain;
  BYTE                         byNightGain;
  BYTE                         bySnapGain;
  DWORD                        dwSceneMode;
  NET_DVR_GEOGLOCATION         struGeogLocation;
  NET_ITC_PLATE_RECOG_PARAM    struPlateRecog;
  NET_ITC_VTCOIL_INFO          struVtCoil[MAX_VL_NUM];
  NET_ITC_RADAR_PARAM          struRadar;
  DWORD                        dwVioDetectType;
  BYTE                         byDebugMode;
  BYTE                         byRes[32];
}NET_ITC_POST_VTCOIL_PARAM,*LPNET_ITC_POST_VTCOIL_PARAM;

Members

byRelatedLaneNum
The count of associated lanes
byIsDisplay
Whether to display virtual coil on the video: 0- no, 1- yes
byLoopPos
Trigger coil bias at night, default: 10
byPolarLenType
Polarizer type, 0- without polarizer, 1- add Schneider polarizer
byDayAuxLightMode
Auxiliary lighting during the day mode, 0- no auxiliary lighting, 1- LED lighting, 2- flash lighting
byVideoLaneNO
Reference lane number of the video reference brightness
byVideoLowTh
Low threshold initial value of the video reference brightness, default: 40
byVideoHighTh
High threshold initial value of the video reference brightness, default: 55
byRecordMode
Recording flag: 0- not record, 1- record
bySpeedDetector
Speed detection mode: 0- do not detect the speed, 0x1- detect speed by radar,0x2- detect speed by video
byRes1
Reserved, please set to 0
wResolutionX
Width of device current definition
wResolutionY
Height of device current definition
dwDayInitExp
The initial value of video day exposure time, default: 2000
dwDayMaxExp
The max value of video day exposure time, default: 20000
dwNightExp
The night video exposure time, default: 3000
dwSnapExp
Snapshot exposure time
byDayInitGain
The initial value of video day gain, default: 200
byDayMaxGain
The max value of video day gain, default: 400
byNightGain
Night video gain
bySnapGain
Snapshot gain
dwSceneMode
Scene mode:
enum _SCENE_MODE_{
  UNKOWN_SCENE_MODE   = 0,
  HIGHWAY_SCENE_MODE  = 1,
  SUBURBAN_SCENE_MODE = 2,
  URBAN_SCENE_MODE    = 3,
  TUNNEL_SCENE_MODE   = 4
}SCENE_MODE
UNKOWN_SCENE_MODE
Unknown
HIGHWAY_SCENE_MODE
High-speed scene mode
SUBURBAN_SCENE_MODE
Suburban scene mode(reserved)
URBAN_SCENE_MODE
Urban scene mode
TUNNEL_SCENE_MODE
Tunnel scene mode (reserved)
struGeogLocation
Address location, default: Zhejiang
struPlateRecog
Plate recognition parameter
struVtCoil
Virtual coil parameter
struRadar
Radar parameter
dwVioDetectType
Violation detection mode, 0- Not enabled, 1- Enable, the details are shown below.
enum _ITC_VIOLATION_DETECT_TYPE_{
  ITC_VIOLATION_POST                 = 0x01,
  ITC_VIOLATION_DRIVELINE            = 0x02,
  ITC_VIOLATION_REVERSE              = 0x04,
  ITC_VIOLATION_REDLIGHT             = 0x08,
  ITC_VIOLATION_DIRECTION            = 0x10,
  ITC_VIOLATION_INTERSECTION_CONGEST = 0x20,
  ITC_VIOLATION_NONDRIVEWAY          = 0x40,
  ITC_VIOLATION_CHANGELANE           = 0x80,
  ITC_VIOLATION_BAN                  = 0x100,
  ITC_VIOLATION_INTERSECTION_PARK    = 0x200,
  ITC_VIOLATION_GREEN_PARK           = 0x400,
  ITC_VIOLATION_BAN_DRIVE            = 0x800,
  ITC_VIOLATION_ACROSS_YELLOWLINE    = 0x1000,
  ITC_VIOLATION_HIGH_SPEED           = 0x2000,
  ITC_VIOLATION_LOW_SPEED            = 0x4000,
  ITC_VIOLATION_TURN_AROUND          = 0x8000,
  ITC_VIOLATION_CONGESTION           = 0x10000
}ITC_VIOLATION_DETECT_TYPE
ITC_VIOLATION_POST
Capture by check point
ITC_VIOLATION_DRIVELINE
Capture for rolling on the lane line
ITC_VIOLATION_REVERSE
Capture for going in the wrong direction
ITC_VIOLATION_REDLIGHT
Capture for running the red light. 闯红灯抓拍
ITC_VIOLATION_DIRECTION
Capture for driving against the guide.
ITC_VIOLATION_INTERSECTION_CONGEST
Capture for detaining on the intersection
ITC_VIOLATION_NONDRIVEWAY
Capture for motor vehicle occupying the bicycle lane.
ITC_VIOLATION_CHANGELANE
Illegal Lane changing.
ITC_VIOLATION_BAN
Illegal prohibition
ITC_VIOLATION_INTERSECTION_PARK
Line crossing under the red light /dd>
ITC_VIOLATION_GREEN_PARK
Parking under the green light
ITC_VIOLATION_BAN_DRIVE
Stop
ITC_VIOLATION_ACROSS_YELLOWLINE
Cross the yellow line
ITC_VIOLATION_HIGH_SPEED(not supported currently)
Overdrive(fo checkpoint only)
ITC_VIOLATION_LOW_SPEED(not supported currently)
Low speed(for check point only)
ITC_VIOLATION_TURN_AROUND
Turn round illegally
ITC_VIOLATION_CONGESTION
Congestion
byDebugMode
Debug mode:0-Not enable, 1-Enable
byRes
Reserved, please set to 0

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_RADAR_INFO_PARAM

Structure of RS485 associated with radar configuration

struct{
  NET_ITC_RADAR_PARAM    struRadarParam;
  BYTE                   byAssociateLaneNo;
  BYTE                   byRes[103];
}NET_ITC_RADAR_INFO_PARAM, *LPNET_ITC_RADAR_INFO_PARAM;

Members

struRadarParam
Radar parameters
byAssociateLaneNo
Associated lane number, described by bit: bit1- lane 1, bit2- lane 2, bit3-lane 3, bit4- lane 4, bit5- lane 5, bit6-lane 6, value: 0- not associated, 1- associated
byRes
Reserved, set it to 0

See Also

NET_ITC_ACCESS_DEVINFO_PARAM_UNION


NET_ITC_RADAR_PARAM

Structure of radar parameter

struct{
  BYTE    byRadarType;
  BYTE    byLevelAngle;
  WORD    wRadarSensitivity;
  BYTE    byRes[20];
}NET_ITC_RADAR_PARAM,*LPNET_ITC_RADAR_PARAM;

Members

byRadarType
Radar type: 0- no radar, 1- Andoray radar, 2- Olvia, 3- TransMicrowave, 4- Radar connected with IO expanding box,(used in checkpoint virtual coil interface, is not used for RS485 radar), 5- Andoray (no radar controller) 0xff- other type
byLevelAngle
Angle to the horizontal, default: 25°, value range: 0~90°
wRadarSensitivity
Radar sensitivity
byRes
Reserved, please set to 0

See Also

NET_ITC_POST_RS485_RADAR_PARAM NET_ITC_POST_VTCOIL_PARAM

NET_ITC_RADAR_INFO_PARAM


NET_ITC_REDLIGHT_PEDESTRIAN_PARAM

The structure of pedestrian crossing red light triggering

struct{
  BYTE                           byEnable;
  BYTE                           bySnapNumTimes;
  BYTE                           byPedesDir;
  BYTE                           byDelayTime;
  BYTE                           byStackTargetEnble;
  BYTE                           byCalibRecogCtrl;
  BYTE                           byRes1[2];
  NET_ITC_TRAFFIC_LIGHT_PARAM    struTrafficLight;
  NET_ITC_LINE                   struStopLine;
  NET_ITC_POLYGON                struCalibRecog[MAX_CALIB_RECOG_NUM];
  BYTE                           byRes[440];
}NET_ITC_REDLIGHT_PEDESTRIAN_PARAM,*LPNET_ITC_REDLIGHT_PEDESTRIAN_PARAM;

Members

byEnable
Enable? 0- disable，1- enable
bySnapNumTimes
Capture number, value range: 1~3, default value is 3
byPedesDir
Pedestrian direction: 0- forward, 1- backward，2- bi-direction
byDelayTime
Delay time, value range: 1~5, unit: s
byStackTargetEnble
Enable object box overlay (overlay people who crossing the red light on the first capturing picture): 0- disable, 1- enable
struTriggerLine
Calibration area control：0- remove calibration area, 1- add calibration area
byRes1
Reserved, set to 0
struTrafficLight
Traffic light parameters
struStopLine
Stop line
struCalibRecog
Calibration area
byRes
Reserved, set to 0

See Also

NET_ITC_TRIGGER_PARAM_UNION


NET_ITC_RS485_ACCESS_CFG

Union of RS485 associated with devices configuration

struct{
  DWORD                                 dwSize;
  BYTE                                  byModeType;
  BYTE                                  byRes[3];
  NET_ITC_ACCESS_DEVINFO_PARAM_UNION    uITCAccessDevinfoParam;
  BYTE                                  byRes1[12];
}NET_ITC_RS485_ACCESS_CFG, *LPNET_ITC_RS485_ACCESS_CFG;

Members

dwSize
Structure size
byModeType
Device accessed type: bit0- reserved, bit1- radar, bit2- vehicle detector,bit3- Singal lamp detector, value: 0- not associated, 1- associated, support radar only
byRes
Reserved, set it to 0
uITCAccessDevinfoParam
Union of devices accessed configuration
byRes1
Reserved, set it to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_ITC_RS485_ACCESS_INFO_COND

Structure of device configuration associated with RS485

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwTriggerModeType;
  BYTE     byAssociateRS485No;
  BYTE     byRes[15];
}NET_ITC_RS485_ACCESS_INFO_COND, *LPNET_ITC_RS485_ACCESS_INFO_COND;

Members

dwSize
Structure size
dwChannel
Channel
dwTriggerModeType
Trigger mode, please refer toITC_TRIGGERMODE_TYPE
byAssociateRS485No
Associated RS485 number, data range: 1-5
byRes
Reserved, set it to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_ITC_RS485_LIGHT_PARAM

Parameters of traffic lights connected with RS485

struct{
  NET_ITC_SINGLE_RS485_LIGHT_PARAM    struRS485Light[MAX_LIGHT_NUM];
  BYTE                                byRes[8];
}NET_ITC_RS485_LIGHT_PARAM, *LPNET_ITC_RS485_LIGHT_PARAM;

Members

struRS485Light
Parameters of each traffic light connected with RS485
byRes
Reserved, please set to 0

See Also

NET_ITC_LIGHT_ACCESSPARAM_UNION


NET_ITC_SERIAL_CHECKINFO

Structure of serial port parameter

struct{
  BYTE     bySerialIndex[MAX_ITC_SERIALCHECK_NUM];
  BYTE     byRes[40];
}NET_ITC_SERIAL_CHECKINFO,*LPNET_ITC_SERIAL_CHECKINFO;

Members

bySerialIndex
Verification result of RS485 serial port: 0- invalid, 1- valid. bySerialIndex[0] means the correct header, bySerialIndex[1] means the correct rear
byRes
Reserved, please set to 0

See Also

NET_ITC_STATUS_UNION


NET_ITC_SERIAL_INFO

Structure of magnetic vehicle detector parameter

struct{
  BYTE     bySerialProtocol;
  BYTE     byIntervalType;
  WORD     wInterval;
  BYTE     byNormalPassProtocol;
  BYTE     byInverseProtocol;
  BYTE     bySpeedProtocol;
  BYTE     byRes[9];
}NET_ITC_SERIAL_INFO,*LPNET_ITC_SERIAL_INFO;

Members

bySerialProtocol
Protocol type of magnetic vehicle detector, defined as below:
enum _ITC_SERIAL_PROTOCOL_{
  ITC_PROTOCOL_UNKNOW             = 0,
  ITC_SINGLE_COIL_PROTOCOL        = 1,
  ITC_DOUBLE_COIL_PROTOCOL_MODE1  = 2,
  ITC_DOUBLE_COIL_PROTOCOL_MODE2  = 3,
  ITC_DOUBLE_COIL_PROTOCOL_MODE3  = 4,
  ITC_DOUBLE_COIL_PROTOCOL_MODE4  = 5,
  ITC_DOUBLE_COIL_PROTOCOL_MODE5  = 6,
  ITC_DOUBLE_COIL_PROTOCOL_MODE6  = 7,
  ITC_SINGLE_COIL_PROTOCOL1       = 8,
  ITC_OTHER_PROTOCOL              = 0xff
}ITC_SERIAL_PROTOCOL
ITC_PROTOCOL_UNKNOW
Unknown
ITC_SINGLE_COIL_PROTOCOL
Single-coil magnetic vehicle detector protocol (Dynamic display: arrival, departure, departure-delay snapshot, departure plate recognition)
ITC_DOUBLE_COIL_PROTOCOL_MODE1
Double-coil magnetic vehicle detector protocol mode no.1 (Dynamic display: arrival no.1, departure no.1, snapshot of departure-delay no.2, plate recognition of departure no.1)
ITC_DOUBLE_COIL_PROTOCOL_MODE2
Double-coil magnetic vehicle detector protocol mode no.2 (Dynamic display: arrival no.1, departure no.2, snapshot of departure-delay no.2, plate recognition of departure no.1, default delay distance is 1m)
ITC_DOUBLE_COIL_PROTOCOL_MODE3
Double-coil magnetic vehicle detector protocol mode no.3 (Dynamic display: arrival no.2, departure no.1, snapshot of departure-delay no.2, plate recognition of departure no.1, default delay distance is 1m)
ITC_DOUBLE_COIL_PROTOCOL_MODE4
Double-coil magnetic vehicle detector protocol mode no.4（ Reaching the 2 coil, leave 1 coil, leave 2 coil, leave the 2 coil delay snap, leaving 1 brand recognition, upload image reached 2, left 2, leaving 2 delay）
ITC_DOUBLE_COIL_PROTOCOL_MODE5
Double-coil magnetic vehicle detector protocol mode no.5（Reaching the 2 coil, leave 1 coil, leave 2 coil, leaving the 2 coil delay snap, reaching 2,leaving 1 brand recognition, upload image reached 2, left 2, leaving 2 delay）
ITC_DOUBLE_COIL_PROTOCOL_MODE6
Double-coil magnetic vehicle detector protocol mode no.6（Reaching the 1 coil, reach coil 2,leave coil 1, leave 2 coil,leaving the 2 coil delay snap, reaching 1, leaving 1 brand recognition, upload image reached 1, left 2, leaving 2 delay）
ITC_SINGLE_COIL_PROTOCOL1
Single-coil magnetic vehicle detector protocol mode no.2（Reach coil, leave coil, leaving the 2 coil delay snap, arrival and departure card.）
ITC_OTHER_PROTOCOL
Other protocol of magnetic vehicle detector
byIntervalType
Interval type (default: 0): 0- take effect by time, 1- take effect by distance
wInterval
Interval time (unit: ms) or interval distance (unit: decimeter) of continuous snapshot. When byIntervalType is 0, it means interval time, when byIntervalType is 1, it means interval distance
byNormalPassProtocol
Normal car snapshot protocol type,defined as below：
enum _ITC_NORMAL_PASS_SERIAL_PROTOCOL_{
  ITC_NORMAL_PASS_SERIAL_UNKNOW   = 0,
  ITC_NORMAL_PASS_PROTOCOL_MODE1  = 1,
  ITC_NORMAL_PASS_PROTOCOL_MODE2  = 2,
  ITC_NORMAL_PASS_PROTOCOL_MODE3  = 3,
  ITC_NORMAL_PASS_PROTOCOL_MODE4  = 4,
  ITC_NORMAL_PASS_PROTOCOL_MODE5  = 5
}ITC_NORMAL_PASS_SERIAL_PROTOCOL
ITC_NORMAL_PASS_SERIAL_UNKNOW
unknown
ITC_NORMAL_PASS_PROTOCOL_MODE1
Single-coil, leave the snap, upload the the rusult（default)
ITC_NORMAL_PASS_PROTOCOL_MODE2
Coil, arrive, leave the snap, all brand result, only upload the image of leaveing the vehicle image and upload the result of high confidence
ITC_NORMAL_PASS_PROTOCOL_MODE3
Double coil, leaving 1 snap, upload the result(default)
ITC_NORMAL_PASS_PROTOCOL_MODE4
Double coil, reached 1, leave 1 snap, all recognition the the license result, only upload the images of leaving 1 vehicle and the result of high degrees of confidence
ITC_NORMAL_PASS_PROTOCOL_MODE5
Double coil, reached 2, leave 1 snap, all recognition the the license result, only upload the images of leaving 1 vehicle and the result of high degrees of confidence
byInverseProtocol
Retrograde snapshot protocol type,defined as below：
enum _ITC_INVERSE_SERIAL_PROTOCOL_{
  ITC_INVERSE_SERIAL_UNKNOW   = 0,
  ITC_INVERSE_PROTOCOL_MODE1  = 1,
  ITC_INVERSE_PROTOCOL_MODE2  = 2,
  ITC_INVERSE_PROTOCOL_MODE3  = 3
}ITC_INVERSE_SERIAL_PROTOCOL
ITC_INVERSE_SERIAL_UNKNOW
Unknown
ITC_INVERSE_PROTOCOL_MODE1
Not snap
ITC_INVERSE_PROTOCOL_MODE2
Reach 1 even snap 2, leaving 2 snap, reaching 1 two picture to recognition the the license result,upload 3 vehicle images and the license plate results of high degree of confidence
ITC_INVERSE_PROTOCOL_MODE3
Reach 1, leaving 2 snap, reaching the 1 recognition the the license result, upload 2 pictures and the vehicle license plate
bySpeedProtocol
Speeding capture protocol type,defined as below：
enum _ITC_SPEED_SERIAL_PROTOCOL_{
  ITC_SPEED_SERIAL_UNKNOW   = 0,
  ITC_SPEED_PROTOCOL_MODE1  = 1,
  ITC_SPEED_PROTOCOL_MODE2  = 2,
  ITC_SPEED_PROTOCOL_MODE3  = 3
}ITC_SPEED_SERIAL_PROTOCOL
ITC_INVERSE_SERIAL_UNKNOW
Unknowns
ITC_INVERSE_PROTOCOL_MODE1
Not snap
ITC_INVERSE_PROTOCOL_MODE2
Double / three coil, left 1, left 2, leaving 2 delay snap, leaving 1 to recognition the the license result, upload vehicle pictures (bayonet leave 1, leave 2, delay of leaveing 2) and the plate results
ITC_INVERSE_PROTOCOL_MODE3
Double / three coil, left 1, left 2, leaving 2 delay snap, leaving 1 o recognition the the license result,upload hte vehicle pictures (bayonet left 1, speeding away 1, leaving 2) and the plate results
byRes
Reserved, please set to 0

Remarks

BySerialProtocol is suitable for running a red light violation snapshot,byNormalPassProtocol and bySpeedProtocol are applicable to card type electric alarm,byInverseProtocol is suitable for electric alarm and card type electric alarm.Electric alarm and card type electric alarm consists of red light, if the red light violations logic snap with other sensors, the normal car, retrograde, speeding and other sensors.

See Also

NET_ITC_EPOLICE_LANE_PARAM


NET_ITC_SINGLE_IO_LIGHT_PARAM

Parameters of single traffic light connected with IO

struct{
  BYTE     byLightType;
  BYTE     byRelatedIO;
  BYTE     byRedLightState;
  BYTE     byRes[17];
}NET_ITC_SINGLE_IO_LIGHT_PARAM,*LPNET_ITC_SINGLE_IO_LIGHT_PARAM;

Members

byLightType
Oriented type of traffic light: 0- left turn signal light, 1- straight signal light, 2- right turn signal light
byRelatedIO
The associated IO number, value range: 1~6
byRedLightState
Level status of red light: 0- turn to red when low level, 1- turn to red when high level
byRes
Reserved, please set to 0

See Also

NET_ITC_IO_LIGHT_PARAM


NET_ITC_SINGLE_IOSPEED_PARAM

Structure of single-group IO speed measuring parameter

struct{
  BYTE                                byEnable;
  BYTE                                byTrigCoil1;
  BYTE                                byCoil1IOStatus;
  BYTE                                byTrigCoil2;
  BYTE                                byCoil2IOStatus;
  BYTE                                byRelatedDriveWay;
  BYTE                                byTimeOut;
  BYTE                                byRelatedIOOutEx;
  DWORD                               dwDistance;
  BYTE                                byCapSpeed;
  BYTE                                bySpeedLimit;
  BYTE                                bySpeedCapEn;
  BYTE                                bySnapTimes1;
  BYTE                                bySnapTimes2;
  BYTE                                byBigCarSpeedLimit;
  BYTE                                byBigCarSignSpeed;
  BYTE                                byCarSignSpeed;
  BYTE                                byRes2;
  BYTE                                byIntervalType;
  WORD                                wInterval1[MAX_INTERVAL_NUM];
  WORD                                wInterval2[MAX_INTERVAL_NUM];
  BYTE                                byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                                byFlashMode;
  BYTE                                byLaneType;
  BYTE                                byCarSignSpeed;
  BYTE                                byUseageType;
  NET_ITC_PLATE_RECOG_REGION_PARAM    struPlateRecog[MAX_LANEAREA_NUM];
  BYTE                                byRelaLaneDirectionType;
  BYTE                                byLowSpeedLimit;
  BYTE                                byBigCarLowSpeedLimit;
  BYTE                                byLowSpeedCapEn;
  BYTE                                byEmergencyCapEn;
  BYTE                                byRes[27];
}NET_ITC_SINGLE_IOSPEED_PARAM,*LPNET_ITC_SINGLE_IOSPEED_PARAM;

Members

byEnable
Whether enable or not: 0- no, 1- yes
byTrigCoil1
The IO related with the first coil: 0- IO1, 1- IO2, 2- IO3, 3- IO4, 4- IO5, 5- IO6
byCoil1IOStatus
The input status of IO related with the first coil: 0- falling edge(default), 1- rising edge, 2- rising edge and falling edge, 3- high level, 4- low level
byTrigCoil2
The IO related with the second coil: 0- IO1, 1- IO2, 2- IO3, 3- IO4, 4- IO5, 5- IO6
byCoil2IOStatus
The input status of IO related with the second coil: 0- falling edge(default), 1- rising edge, 2- rising edge and falling edge, 3- high level, 4- low level
byRelatedDriveWay
The associated lane number
byTimeOut
Timeout(default: 10), unit: s
byRelatedIOOutEx
Assocaited IO output, described by bit: bit0 - IO output 1,bit1- IO output 2 and so on
Value: 0- not associated, 1- associated , up to support 8 IO output(compatibility with byRelatedIOOut)
dwDistance
Coil distance (default: 1000), unit: cm
byCapSpeed
Capturing speed (default: 30), unit: km/h
bySpeedLimit
Speed limit(default: 60), unit: km/h
bySpeedCapEn
Enable speed snap or not: 0- no, 1- yes
byBigCarSignSpeed
Large vehicle sign speed,, unit; km/h
byCarSignSpeed
Small vehicle sign speed, unit; km/h
bySnapTimes1
Snapshot times of the first coil (default: not snap): 0- not snap, none 0- continuous times, max 5 times
bySnapTimes2
Snapshot times of the second coil(default: 1): 0- not snap, none 0- continuous times, max 5 times
byBigCarSpeedLimit
The speed limit value of big car
byRes2
Reserved, please set to 0
byIntervalType
Interval type(default: by time): 0- take effect by time, 1- take effect by distance
wInterval1
The first coil: interval time (unit: ms) or interval distance (unit:decimeter) of continuous snapshot. When byIntervalType is 0, it means interval time, when byIntervalType is 1, it means interval distance.
wInterval2
The second coil: interval time (unit: ms) or interval distance (unit:decimeter) of continuous snapshot. When byIntervalType is 0, it means interval time, when byIntervalType is 1, it means interval distance.
byRelatedIOOut
The related IO output port(can associate with multiple ports), byRelatedIOOut[0] means IO output no.1, byRelatedIOOut[1] means IO output no.2, and so forth. The value: 0- not related, 1- related
byFlashMode
Flash mode of flash light: 0- flash at the same time, 1- flash in turn
byLaneType
Type: 0- is not configured, 1- highway, 2- city expressway, 0xff- other road
byCarSignSpeed
Small car sign speed limit
byUseageType
Vehicle lane usage
struPlateRecog
Plate recognition parameters
byRelaLaneDirectionType
Linked lane direction type
byLowSpeedLimit
Small vehicle lowest speed limit, unit：km/h
byBigCarLowSpeedLimit
Big vehicle lowest speed limit, unit：km/h
byLowSpeedCapEn
Whether to enable low speed capture: 0- No, 1- Yes
byEmergencyCapEn
Whether to enable emergency lane capture：0- No，1- Yes
byRes3
Reserved, please set to 0

See Also

NET_ITC_POST_IOSPEED_PARAM


NET_ITC_SINGLE_IOTL_PARAM

Structure of single-group IO traffic light parameter

struct{
  BYTE                                byEnable;
  BYTE                                byLightIO;
  BYTE                                byTrafficLight;
  BYTE                                byTrigIO;
  BYTE                                byTrigIOStatus;
  BYTE                                byRelatedDriveWay;
  BYTE                                byRecordEnable;
  BYTE                                byRecordType;
  BYTE                                byPreRecordTime;
  BYTE                                byRecordDelayTime;
  BYTE                                byRecordTimeOut;
  BYTE                                byRedSnapTimes;
  BYTE                                byGreenSnapTimes;
  BYTE                                byRelatedIOOutEx;
  BYTE                                byRes1;
  BYTE                                byIntervalType;
  WORD                                wRedInterval[MAX_INTERVAL_NUM];
  WORD                                wGreenInterval[MAX_INTERVAL_NUM];
  BYTE                                byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                                byFlashMode;
  BYTE                                byRes2[3];
  NET_ITC_PLATE_RECOG_REGION_PARAM    struPlateRecog[MAX_LANEAREA_NUM];
  BYTE                                byRes[32];
}NET_ITC_SINGLE_IOTL_PARAM,*LPNET_ITC_SINGLE_IOTL_PARAM;

Members

byEnable
Whether to enable or not: 0- no, 1- yes
byLightIO
Traffic light IO, 0- IO1, 1- IO2, 2- IO3, 3- IO4, 4- IO5, 5- IO6
byTrafficLight
Traffic light valid status: 0- high-level voltage corresponding to red light, low-level voltage corresponding to green light, 1- high-level voltage corresponding to green light, low-level voltage corresponding to red light
byTrigIO
Triggered IO number: 0- IO1, 1- IO2, 2- IO3, 3- IO4, 4- IO5, 5- IO6
byTrigIOStatus
The IO status: 0- falling edge(default), 1- rising edge, 2- rising edge and falling edge, 3- high level, 4- low level
byRelatedDriveWay
Associated lane index
byRecordEnable
Recording flag of running red light: 0- not record, 1- record
byRecordType
Recording type of running red light: 0- pre-recording, 1- delay recording
byPreRecordTime
Pre-recording time of running red light, default: 0, unit: s
byRecordDelayTime
Recording delay time of running red light, default: 0, unit: s
byRecordTimeOut
Cycle recording timeout of running red light, unit: s
byRedSnapTimes
Red light snapshot times: 0- not snapshot, none 0- continuous times, max 5 times
byGreenSnapTimes
Green light snapshot times: 0- not snapshot, none 0- continuous times: max 5 times
byRelatedIOOutEx
Assocaited IO output, described by bit: bit0 - IO output 1,bit1- IO output 2 and so on
Value: 0- not associated, 1- associated , up to support 8 IO output(compatibility with byRelatedIOOut)
byRes1
Reserved, please set to 0
byIntervalType
Interval type (default: by time): 0- take effect by time, 1- take effect by distance
wRedInterval
Tnterval time (unit: ms) or interval distance (unit: decimeter) of red light continuous snapshot. When byIntervalType is 0, it means interval time, when byIntervalType is 1, it means interval distance
wGreenInterval
Tnterval time (unit: ms) or interval distance (unit: decimeter) of green light continuous snapshot. When byIntervalType is 0, it means interval time, when byIntervalType is 1, it means interval distance
byRelatedIOOut
The associated IO output port (can associate with multiple ports)
byFlashMode
Flash mode of flash light: 0- flash at the same time, 1- flash in turn
byRes2
Reserved, please set to 0
struPlateRecog
Plate recognition region parameter
byRes
Reserved, please set to 0

See Also

NET_ITC_EPOLICE_IOTL_PARAM


NET_ITC_SINGLE_RS485_LIGHT_PARAM

Parameters of single traffic light connected with RS485

struct{
  BYTE    byLightType;
  BYTE    byRelatedLightChan;
  BYTE    byInputLight;
  BYTE    byRelatedYLightChan;
  BYTE    byRes[16];
}NET_ITC_SINGLE_RS485_LIGHT_PARAM, *LPNET_ITC_SINGLE_RS485_LIGHT_PARAM;

Members

byLightType
Oriented type of traffic light: 0- left turn signal light, 1- straight signal light, 2- right turn signal light
byRelatedLightChan
The associated channel number of traffic light detector, value range: 1~16
byInputLight
The type of traffic light: 0- red light, 1- green light
byRelatedYLightChan
The channels of the red and green lignt detector associate with the yellow light, 0~16, 0 indicate no (that have no the type of light)
byRes
Reserved, please set to 0

Remarks

E.g. If there are two signal lights at the road junction: "left turn" + "straight", and "right turn", it requires three arrays to describe them. The first array is used to configure the left turn light and assocaite it with channel no.1; The second array to configure straight light and assocaite it with channel no.1 too; The third array to configure right turn light and assocaite it with channel no.2.

See Also

NET_ITC_RS485_LIGHT_PARAM


NET_ITC_SINGLE_TRIGGERCFG

Structure of single trigger parameter

struct{
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  DWORD                          dwTriggerType;
  NET_ITC_TRIGGER_PARAM_UNION    uTriggerParam;
  BYTE                           byRes[64];
}NET_ITC_SINGLE_TRIGGERCFG,*LPNET_ITC_SINGLE_TRIGGERCFG;

Members

byEnable
Enabled or not: 0- disabled, 1- enabled
byRes1
Reserved, please set to 0
dwTriggerType
Trigger type, see to ITC_TRIGGERMODE_TYPE
uTriggerParam
Trigger parameter
byRes
Reserved, please set to 0

See Also

ITC_TRIGGERMODE_TYPE NET_ITC_TRIGGERCFG

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM

Parameters of single-group traffic light of video detection mode

struct{
  BYTE            byLightNum;
  BYTE            byStraightLight;
  BYTE            byLeftLight;
  BYTE            byRightLight;
  BYTE            byRedLight;
  BYTE            byGreenLight;
  BYTE            byYellowLight;
  BYTE            byRes1;
  BYTE             byYellowLightTime;
  NET_VCA_RECT    struLightRect;
  BYTE            byRes[16];
}NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM, *LPNET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM;

Members

byLightNum
The number of traffic lights
byStraightLight
Is there a straight signal light: 0- no, 1- yes
byLeftLight
Is there a left turn signal light：0- no, 1- yes
byRightLight
Is there a right turn signal light：0- no, 1- yes
byRedLight
Is there a red light: 0- no, 1- yes
byGreenLight
Is there a green light: 0- no, 1- yes
byYellowLight
Is there a yellow light: 0- no, 1- yes
byRes1
Reserved, please set to 0
byYellowLightTime
The yellow light lighting duration (is used for correcting the deviation of the red light and green light): range[0～10], unit:s
struLightRect
The traffic light region
byRes
Reserved, please set to 0

See Also

NET_ITC_VIDEO_DETECT_LIGHT_PARAM


NET_ITC_SINGLEIO_PARAM

Structure of single IO parameter

struct{
  BYTE                                 byDefaultStatus;
  BYTE                                 byRelatedDriveWay;
  BYTE                                 bySnapTimes;
  BYTE                                 byRelatedIOOutEx;
  NET_ITC_INTERVAL_PARAM               struInterval;
  BYTE                                 byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                                 byFlashMode;
  BYTE                                 byUseageType;
  BYTE                                byEmergencyCapEn;
  NET_ITC_PLATE_RECOG_REGION_PARAM     struPlateRecog[MAX_LANEAREA_NUM];
  BYTE                                 byRes[32];
}NET_ITC_SINGLEIO_PARAM,*LPNET_ITC_SINGLEIO_PARAM;

Members

byDefaultStatus
Default state of IO to trigger the snapshot: 0- low level, 1- high level
byRelatedDriveWay
Associated traffic lane
bySnapTimes
Snapshot times (default: 1): 0- not snap, none 0- continuous times, max 5 times
byRelatedIOOutEx
Assocaited IO output, described by bit: bit0 - IO output 1,bit1- IO output 2 and so on
Value: 0- not associated, 1- associated , up to support 8 IO output(compatibility with byRelatedIOOut)
struInterval
Snapshot interval
byRelatedIOOut
The related IO output port (can associate with multiple ports)
byFlashMode
Flash mode of flash light: 0- flash at the same time, 1- flash in turn
byUseageType
The usage of the traffic lane
enum _ITC_LANE_USEAGE_TYPE_{
  ITC_LANE_USEAGE_UNKNOW = 0,
  ITC_LANE_CARRIAGEWAY   = 1,
  ITC_LANE_BUS           = 2,
  ITC_LANE_FAST          = 3,
  ITC_LANE_SLOW          = 4,
  ITC_LANE_MOTOR         = 5,
  ITC_LANE_NONMOTOR      = 6,
  ITC_LANE_REVERSE_LANE  = 7,
  ITC_LANE_BAN_TRUCKS    = 8,
  ITC_LANE_MIX           = 9,
  ITC_LANE_EMERGENCY     = 10
}ITC_LANE_USEAGE_TYPE
ITC_LANE_USEAGE_UNKNOW
Unknown
ITC_LANE_CARRIAGEWAY
Normal lane
ITC_LANE_BUS
Bus lane
ITC_LANE_FAST
Fast traffic lane
ITC_LANE_SLOW
Slow traffic lane
ITC_LANE_MOTOR
Motorcycle lane
ITC_LANE_NONMOTOR
Bicycle lane
ITC_LANE_REVERSE_LANE
Reversed lane
ITC_LANE_BAN_TRUCKS
Van prohibition lane
ITC_LANE_MIX
Mixed-vehicle lane
ITC_LANE_EMERGENCY
Emergency vehicle lane
byEmergencyCapEn
Whether to enable emergency lane capture：0- No，1- Yes
struPlateRecog
Plate recognition region
byRes
Reserved, please set to 0

See Also

NET_ITC_POST_SINGLEIO_PARAM


NET_ITC_SNAPMODE_PARAM

Structure of snapshot parameters

struct{
  BYTE    byVehicleCapMode;
  BYTE    byNoVehicleCapMode;
  BYTE    byPasserCapMode;
  BYTE    byRes[29];
}NET_ITC_SNAPMODE_PARAM,*LPNET_ITC_SNAPMODE_PARAM;

Members

byVehicleCapMode
Motor vehicle snapshot mode: 0- motor vehicle snapshot mode: 0-strobeflsh, 1- exposed flash
byNoVehicleCapMode
Non- motor vehicle snapshot mode:0- strobeflash mode, 1- exposed flash
byPasserCapMode
Pedestrian snapshot mode: 0- strobeflash, 1-exposed flash
byRes
Reserved

See Also

NET_ITC_POST_HVT_PARAM


NET_ITC_STATUS_DETECT_RESULT

Structure of real-time status detection result

struct{
  ITC_STATUS_DETECT_TYPE    dwStatusType;
  NET_ITC_STATUS_UNION      uStatusParam;
  DWORD                     dwHoldTime;
  BYTE                      byRes[32];
}NET_ITC_STATUS_DETECT_RESULT,*LPNET_ITC_STATUS_DETECT_RESULT;

Members

dwStatusType
State detection type, defined as below:
enum _ITC_STATUS_DETECT_TYPE_{
  ITC_STATUS_DETECT_NULL = 0,
  ITC_STATUS_DETECT_TRIGGERIO,
  ITC_STATUS_DETECT_FLASHOUT,
  ITC_STATUS_DETECT_RS485,
  ITC_STATUS_DETECT_TRIGGERTYPE
}ITC_STATUS_DETECT_TYPE
ITC_STATUS_DETECT_NULL
Unknown
ITC_STATUS_DETECT_TRIGGERIO
Triggered IO port
ITC_STATUS_DETECT_FLASHOUT
Synchronous output
ITC_STATUS_DETECT_RS485
RS485
ITC_STATUS_DETECT_TRIGGERTYPE
Trigger type(reserved)
uStatusParam
Status detection result
dwHoldTime
Light duration(reserved), unit: ms
byRes
Reserved, please set to 0

See Also

NET_DVR_StartListen_V30


NET_ITC_STATUS_UNION

Union of status detection result

union{
  BYTE                         uLen[48];
  NET_ITC_TRIGGERIO_INFO       struTrigIO;
  NET_ITC_FLASHOUT_INFO        struFlashOut;
  NET_ITC_SERIAL_CHECKINFO     struSerial;
  NET_ITC_TRIGGERTYPE_INFO     struTrigType;
}NET_ITC_STATUS_UNION,*LPNET_ITC_STATUS_UNION;

Members

uLen
Max length of Union
struTrigIO
Triggered IO port
struFlashOut
Synchronous output
struSerial
Serial port
struTrigType
Triggering type (reserved)

See Also

NET_ITC_STATUS_DETECT_RESULT


NET_ITC_TRAFFIC_LIGHT_COLOR

Video e-police traffic lights color parameter structure

NET_ITC_TRAFFIC_LIGHT_COLOR(
  BYTE     byLeftLight,
  BYTE     byRightLight,
  BYTE     byStraightLight,
  BYTE     byRes[45]
)NET_ITC_TRAFFIC_LIGHT_COLOR,*LPNET_ITC_TRAFFIC_LIGHT_COLOR;

Members

byLeftLight
Left light: 0- invalid, 2- red, 2-green, 3-yellow, 4-all lights off
byRightLight
Right light: 0- invalid, 2- red, 2-green, 3-yellow, 4-all lights off
byStraightLight
Straight light: 0- invalid, 2- red, 2-green, 3-yellow, 4-all lights off
byRes
Reserved

See Also

NET_ITC_STATUS_UNION


NET_ITC_TRAFFIC_LIGHT_PARAM

Structure of traffic light parameters

struct{
  BYTE                               bySource;
  BYTE                               byRes1[3];
  NET_ITC_LIGHT_ACCESSPARAM_UNION    struLightAccess;
  BYTE                               byRes[32];
}NET_ITC_TRAFFIC_LIGHT_PARAM, *LPNET_ITC_TRAFFIC_LIGHT_PARAM;

Members

bySource
The access type of traffic light: 0- connetion with IO port, 1- connetion with RS485, 2- video detection
byRes1
Reserved, please set to 0
struLightAccess
The access parameters of traffic light
byRes
Reserved, please set to 0

See Also

NET_ITC_VIDEO_EPOLICE_PARAM


NET_ITC_TRAFFIC_LIGHT_TURN

Traffic light diversion parameter structure

NET_ITC_TRAFFIC_LIGHT_COLOR(
  BYTE     byLightType[MAX_ITC_LANE_NUM],
  BYTE     byRes[42]
)NET_ITC_TRAFFIC_LIGHT_TURN,*LPNET_ITC_TRAFFIC_LIGHT_TURN;

Members

byLightType
Each array correspond a lane, the array value: 0- invalid, 2- red, 2-green, 3-yellow, 4-all lights off
byRes
Reserved

See Also

NET_ITC_STATUS_UNION


NET_ITC_TRIGGER_PARAM_UNION

Union of trigger parameter

union{
  DWORD                              uLen[1070];
  NET_ITC_POST_IOSPEED_PARAM         struIOSpeed;
  NET_ITC_POST_SINGLEIO_PARAM        struSingleIO;
  NET_ITC_POST_RS485_PARAM           struPostRs485;
  NET_ITC_POST_RS485_RADAR_PARAM     struPostRadar;
  NET_ITC_POST_VTCOIL_PARAM         struVtCoil;
  NET_ITC_POST_HVT_PARAM_V50        struHvtV50;
  NET_ITC_POST_MPR_PARAM            struPostMpr;
  NET_ITC_POST_PRS_PARAM            struPostPrs;
  NET_ITC_EPOLICE_IOTL_PARAM        struIOTL;
  NET_ITC_EPOLICE_RS485_PARAM    struEpoliceRs485;

  NET_ITC_EPOLICE_RS485_PARAM       struPERs485;
  NET_DVR_VIA_VTCOIL_PARAM          struViaVtCoil;
  NET_ITC_POST_IMT_PARAM            struPostImt;
  NET_IPC_POST_HVT_PARAM            struIpcHvt;
  NET_ITC_POST_MOBILE_PARAM         struPostMobile;
  NET_ITC_REDLIGHT_PEDESTRIAN_PARAM    struRedLightPed;
  NET_ITC_NOCOMITY_PEDESTRIAN_PARAM    struNoComityPed;
}NET_ITC_TRIGGER_PARAM_UNION,*LPNET_ITC_TRIGGER_PARAM_UNION;

Members

uLen
The length of union, 4280 (1070*4)bytes in total
struIOSpeed
IO speed measuring parameter (intelligent monitoring and recording system of vehicles)
struSingleIO
Single IO parameter (intelligent monitoring and recording system of vehicles)
struPostRs485
RS485 magnetic vehicle detector parameter (intelligent monitoring and recording system of vehicles)
struPostRadar
RS485 radar parameter (intelligent monitoring and recording system of vehicles)
struVtCoil
Virtual coil parameter (intelligent monitoring and recording system of vehicles)
struHvtV50
(Check point)Mixed traffic check point video trigger V50 parameters, valid when the trigger type is ITC_POST_HVT_TYPE_V50.
struPostMpr
(Check point)multi-frame detection trigger parameters (MPR), valid when the trigger type is ITC_POST_MPR_TYPE
struPostPrs
(PRS) Video Detection Trigger, valid when the trigger type is ITC_POST_PRS_TYPE
struIOTL
IO traffic light parameter (electronic police)
struEpoliceRs485
RS485 magnetic vehicle detector parameter (electronic police)
struPERs485
RS485 magnetic vehicle detector parameter (electronic police for intelligent monitoring and recording system of vehicles)
struViaVtCoil
(VIA)video detection parameters, valid when the trigger type is ITC_VIA_VIRTUALCOIL_TYPE
struPostImt
Intelligent monitoring configuration parameters, valid when the trigger type is ITC_POST_IMT_TYPE
struIpcHvt
(IPC) mixed traffic parameters, valid when the trigger type is IPC_POST_HVT_TYPE
struPostMobile
Mobile traffic trigger mode
struRedLightPed
Pedestrian red light mode，valid when triggering mode is ITC_REDLIGHT_PEDESTRIAN_TYPE
struNoComityPed
Not yield in crosswalks，Valid when triggering mode is ITC_NOCOMITY_PEDESTRIAN_TYPE

See Also

NET_ITC_SINGLE_TRIGGERCFG


NET_ITC_TRIGGERCFG

Structure of trigger parameter

struct{
  DWORD                        dwSize;
  NET_ITC_SINGLE_TRIGGERCFG    struTriggerParam;
  BYTE                         byRes[32];
}NET_ITC_TRIGGERCFG,*LPNET_ITC_TRIGGERCFG;

Members

dwSize
Structure size
struTriggerParam
Single trigger parameter
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_ITC_TRIGGERIO_INFO

Structure of trigger IO parameter

struct{
  BYTE     byTriggerIOIndex[MAX_IOIN_NUM];
  BYTE     byRes[40];
}NET_ITC_TRIGGERIO_INFO,*LPNET_ITC_TRIGGERIO_INFO;

Members

byTriggerIOIndex
Trigger IO index
byRes
Reserved, please set to 0

See Also

NET_ITC_STATUS_UNION


NET_ITC_TRIGGERMODE_ABILITY

Structure of trigger mode capability

struct{
  DWORD    dwSize;
  DWORD    dwTriggerType;
  BYTE     byRes[16];
}NET_ITC_TRIGGERMODE_ABILITY,*LPNET_ITC_TRIGGERMODE_ABILITY;

Members

dwSize
Structure size
dwTriggerType
Trigger type, indicated by bit, defined as below:
enum _ITC_TRIGGERMODE_TYPE_{
  ITC_POST_IOSPEED_TYPE             = 0x1,
  ITC_POST_SINGLEIO_TYPE            = 0x2,
  ITC_POST_RS485_TYPE               = 0x4,
  ITC_POST_RS485_RADAR_TYPE         = 0x8,
  ITC_POST_VIRTUALCOIL_TYPE         = 0x10,
  ITC_EPOLICE_IO_TRAFFICLIGHTS_TYPE = 0x100,
  ITC_EPOLICE_RS485_TYPE            = 0x200,
  ITC_PE_RS485_TYPE                 = 0x10000,
  ITC_VIDEO_EPOLICE_TYPE            = 0x20000
}ITC_TRIGGERMODE_TYPE
ITC_POST_IOSPEED_TYPE
IO speed measuring (intelligent monitoring and recording system of vehicles)
ITC_POST_SINGLEIO_TYPE
Single IO trigger (intelligent monitoring and recording system of vehicles)
ITC_POST_RS485_TYPE
RS485 magnetic vehicle detector trigger (intelligent monitoring and recording system of vehicles)
ITC_POST_RS485_RADAR_TYPE
RS485 radar trigger (intelligent monitoring and recording system of vehicles)
ITC_POST_VIRTUALCOIL_TYPE
Virtual coil trigger (intelligent monitoring and recording system of vehicles)
ITC_EPOLICE_IO_TRAFFICLIGHTS_TYPE
IO traffic lights (electronic police)
ITC_EPOLICE_RS485_TYPE
RS485 magnetic vehicle detector trigger (electronic police)
ITC_PE_RS485_TYPE
RS485 magnetic vehicle detector trigger(electronic police and intelligent monitoring and recording system of vehicles)
ITC_VIDEO_EPOLICE_TYPE
Video trigger (electronic police and intelligent monitoring and recording system of vehicles)
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceAbility


NET_ITC_TRIGGERTYPE_INFO

Structure of trigger type information

struct{
  BYTE     byTrigTypeIndex;
  BYTE     byRes[47];
}NET_ITC_TRIGGERTYPE_INFO,*LPNET_ITC_TRIGGERTYPE_INFO;

Members

byTrigTypeIndex
Trigger type value
byRes
Reserved, please set to 0

See Also

NET_ITC_STATUS_UNION


NET_ITC_VIDEO_DETECT_LIGHT_PARAM

Parameters of traffic signal lights of video detection mode

struct{
  NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM    struTrafficLight[MAX_VIDEO_DETECT_LIGHT_NUM];
  BYTE                                       byRes[8];
}NET_ITC_VIDEO_DETECT_LIGHT_PARAM, *LPNET_ITC_VIDEO_DETECT_LIGHT_PARAM;

Members

struRS485Light
Parameters of each traffic signal light of video detection mode
byRes
Reserved, please set to 0

See Also

NET_ITC_LIGHT_ACCESSPARAM_UNION


NET_ITC_VIDEO_EPOLICE_PARAM

Trigger parameter of video electronic police

struct{
  BYTE                                byEnable;
  BYTE                                byLaneNum;
  BYTE                                byLogicJudge;
  BYTE                                byRes1;
  NET_ITC_PLATE_RECOG_PARAM           struPlateRecog;
  NET_ITC_TRAFFIC_LIGHT_PARAM         struTrafficLight;
  NET_ITC_LANE_VIDEO_EPOLICE_PARAM    struLaneParam[MAX_ITC_LANE_NUM];
  NET_ITC_LINE                        struLaneBoundaryLine;
  NET_ITC_LINE                        struLeftLine;
  NET_ITC_LINE                        struRightLine;
  NET_ITC_LINE                        struTopZebraLine;
  NET_ITC_LINE                        struBotZebraLine;
  BYTE                                byRes[32];
}NET_ITC_VIDEO_EPOLICE_PARAM,*LPNET_ITC_VIDEO_EPOLICE_PARAM;

Members

byEnable
Whether enable the video electronic police or not: 0- disable, 1- enable
byLaneNum
The number of lanes, value range: 1~6
byLogicJudge
Red light violations judgment logic: 0- according to the direction , 1- the lane
byRes1
Reserved, please set to 0
struPlateRecog
License plate recognition parameters
struTrafficLight
Traffic light parameters
struLaneParam
Lane parameters
struLaneBoundaryLine
Lane boundary line (boundary of the rightmost lane)
struLeftLine
Boundary line of left turning
struRightLine
Boundary line of right turning
struTopZebraLine
The top zebra crossing
struBotZebraLine
The bottom zebra crossing
byRes
Reserved, please set to 0

See Also

NET_ITC_VIDEO_TRIGGER_PARAM_UNION


NET_ITC_VIDEO_TRIGGER_COND

Structure of video trigger condition

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwTriggerMode;
  BYTE     byRes[16];
}NET_ITC_VIDEO_TRIGGER_COND, *LPNET_ITC_VIDEO_TRIGGER_COND;

Members

dwSize
Structure size
dwChannel
Channel number
dwTriggerMode
Video trigger mode, please kindly see to ITC_TRIGGERMODE_TYPE
byRes
Reserved, please set to 0

Remarks

It is valid when dwTriggerMode==ITC_VIDEO_EPOLICE_TYPE.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_ITC_VIDEO_TRIGGER_PARAM

Structure of video trigger parameters

struct{
  DWORD                                dwSize;
  DWORD                                dwMode;
  NET_ITC_VIDEO_TRIGGER_PARAM_UNION    uVideoTrigger;
  BYTE                                 byRes[32];
}NET_ITC_VIDEO_TRIGGER_PARAM, *LPNET_ITC_VIDEO_TRIGGER_PARAM;

Members

dwSize
Structure size
dwMode
Trigger mode, please kindly see to ITC_TRIGGERMODE_TYPE
uVideoTrigger
Parameters of trigger mode
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_ITC_VIDEO_TRIGGER_PARAM_UNION

Union of video electronic police trigger parameters

union {
  DWORD                          uLen[1150];
  NET_ITC_VIDEO_EPOLICE_PARAM    struVideoEP;
}NET_ITC_VIDEO_TRIGGER_PARAM_UNION, *LPNET_ITC_VIDEO_TRIGGER_PARAM_UNION;

Members

uLen
The size of union
struVideoEP
Parameters of video electronic police

See Also

NET_ITC_VIDEO_TRIGGER_PARAM


NET_ITC_VIOLATION_DETECT_LINE

Structure of violation detection line parameters

struct{
  NET_ITC_LINE    struLaneLine;
  NET_ITC_LINE    struStopLine;
  NET_ITC_LINE    struRedLightLine;
  NET_ITC_LINE    struCancelLine;
  NET_ITC_LINE    struWaitLine;
  NET_ITC_LINE    struRes[8];
}NET_ITC_VIOLATION_DETECT_LINE, *LPNET_ITC_VIOLATION_DETECT_LINE;

Members

struLaneLine
Traffic lane parameters
struStopLine
Stop line parameters
struRedLightLine
The trigger line of running red light. If the vehicle is detected to go through the line on the status of red light, it will be judged as the violation of running red light.
struCancelLine
If the vehicle has gone through the line, it will be regarded as straight driving, and the illegal driving on the wrong lane will not be detected.
struWaitLine
Stop line of waiting area
struRes
Reserved, please set to 0

See Also

NET_ITC_LANE_VIDEO_EPOLICE_PARAM


NET_ITC_VIOLATION_DETECT_PARAM

Structure of violation detection parameters

struct{
  DWORD    dwVioDetectType;
  BYTE     byDriveLineSnapTimes;
  BYTE     byReverseSnapTimes;
  WORD     wStayTime;
  BYTE     byNonDriveSnapTimes;
  BYTE     byDriveLineSnapSen;
  BYTE     bySpeedTimes;
  BYTE     byTurnAroundEnable;
  BYTE     byThirdPlateRecogTime;
  BYTE     byPostSnapTimes;
  BYTE     byRes1[18];
  WORD     wStopLineDis;
  BYTE     byRes[14];
}NET_ITC_VIOLATION_DETECT_PARAM, *LPNET_ITC_VIOLATION_DETECT_PARAM;

Members

dwVioDetectType
Violation detection type, each bit indicates different type, the value: 0- disable, 1- enable, the types defined as below:
enum _ITC_VIOLATION_DETECT_TYPE_{
  ITC_VIOLATION_POST                 = 0x01,
  ITC_VIOLATION_DRIVELINE            = 0x02,
  ITC_VIOLATION_REVERSE              = 0x04,
  ITC_VIOLATION_REDLIGHT             = 0x08,
  ITC_VIOLATION_DIRECTION            = 0x10,
  ITC_VIOLATION_INTERSECTION_CONGEST = 0x20,
  ITC_VIOLATION_NONDRIVEWAY          = 0x40,
  ITC_VIOLATION_CHANGELANE           = 0x80,
  ITC_VIOLATION_BAN                  = 0x100
  ITC_VIOLATION_INTERSECTION_PARK    = 0x200,
  ITC_VIOLATION_GREEN_PARK           = 0x400,
  ITC_VIOLATION_BAN_DRIVE            = 0x800,
  ITC_VIOLATION_ACROSS_YELLOWLINE    = 0x1000
  ITC_VIOLATION_HIGH_SPEED           = 0x2000,
  ITC_VIOLATION_LOW_SPEED            = 0x4000,
}ITC_VIOLATION_DETECT_TYPE
ITC_VIOLATION_POST
Snapshot of intelligent monitoring and recording system
ITC_VIOLATION_DRIVELINE
Illegally driving to lane line
ITC_VIOLATION_REVERSE
Retrograde driving
ITC_VIOLATION_REDLIGHT
Running red light
ITC_VIOLATION_DIRECTION
Illegally driving not according to the direction line
ITC_VIOLATION_INTERSECTION_CONGEST
Intersection congest
ITC_VIOLATION_NONDRIVEWAY
Motor vehicle takes up the non-motor vehicle lane
ITC_VIOLATION_CHANGELANE
Change the traffic lane illegally
ITC_VIOLATION_BAN
Violation ban
ITC_VIOLATION_INTERSECTION_PARK
Parking in the intersection
ITC_VIOLATION_GREEN_PARK
Running in green light
ITC_VIOLATION_BAN_DRIVE
Forbidden drive
ITC_VIOLATION_ACROSS_YELLOWLINE
Across yellow line
ITC_VIOLATION_HIGH_SPEED
Over driving (only for the check point)
ITC_VIOLATION_LOW_SPEED
Low speed (only for the check point)
byDriveLineSnapTimes
The number of pictures to snapshot when detected illegally driving to lane line, value range: 2~3
byReverseSnapTimes
The number of pictures to snapshot when detected retrograde driving, value range: 2~3
wStayTime
The staying time of illegal driving on the wrong lane, unit: s. It will trigger to snapshot after the time.
byNonDriveSnapTimes
The number of pictures to snapshot when motor vehicles occupy the non-motorized Road, value range: 2~3
dt>byChangeLaneTimes
Snapshot number of violation change lane: 2-3
bybanTimes
Snapshot number of violation ban: 2-3
byDriveLineSnapSen
The sensitivity of the drive line: range[0~100]
byRes2
Reserved, set it to 0
wSnapPosFixPixel
The minimum position offset when capturing the second and third picture(valid when violation signal lights), uint: pixel
bySpeedTimes
Over driving capturing number,2~3
byPostSnapTimes
Checkpoint captured picture number, 1~2
byRes1
Reserved, please set to 0
wStopLineDis
The shortest distance between vehicle and stop line of the second snapshot, value range: [0,300], unit: pixel
byRes
Reserved, please set to 0

See Also

NET_ITC_LANE_VIDEO_EPOLICE_PARAM


NET_ITC_VTCOIL_INFO

Structure of virtual coil parameter

struct{
  NET_VCA_RECT            struLaneRect;
  BYTE                    byTrigFlag;
  BYTE                    byTrigSensitive;
  BYTE                    byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                    byFlashMode;
  BYTE                    byLaneType;
  BYTE                    byEnableRadar;
  NET_ITC_VTLANE_PARAM    struLane;
  BYTE                    byUseageType;
  BYTE                    byCarDriveDirect;
  BYTE                    byRes[32];
}NET_ITC_VTCOIL_INFO,*LPNET_ITC_VTCOIL_INFO;

Members

struLaneRect
Virtual coil region
byTrigFlag
Triggering flag: 0- triggered by vehicle head, 1- triggered by vehicle rear,2- triggered by vehicle head or rear
byTrigSensitive
Triggering sensitivity, value range: 1~100
byRelatedIOOut
The related IO output port (can associate with multiple ports), byRelatedIOOut[0] means IO output no.1, byRelatedIOOut[1] means IO output no.1, and so forth. The value: 0- not associated, 1- associated
byFlashMode
Flash mode of flash light: 0- flash at the same time, 1- flash in turn
byLaneType
Lane type: 0- is not configured, 1- highway, 2- city expressway, 0xff- other road
byEnableRadar
Whether to enable the radar velocimetry or not: 0- no, 1- yes
struLane
Associated lane parameter
byUseageType
The type of the lane usage, the details are shown below(only type 1 and 8 is valid currently).
enum _ITC_LANE_USEAGE_TYPE_{
  ITC_LANE_USEAGE_UNKNOW = 0,
  ITC_LANE_CARRIAGEWAY   = 1,
  ITC_LANE_BUS           = 2,
  ITC_LANE_FAST          = 3,
  ITC_LANE_SLOW          = 4,
  ITC_LANE_MOTOR         = 5,
  ITC_LANE_NONMOTOR      = 6,
  ITC_LANE_REVERSE_LANE  = 7,
  ITC_LANE_BAN_TRUCKS    = 8,
  ITC_LANE_MIX           = 9,
  ITC_LANE_EMERGENCY     = 10
}ITC_LANE_USEAGE_TYPE
ITC_LANE_USEAGE_UNKNOW
Unknown
ITC_LANE_CARRIAGEWAY
Normal lane
ITC_LANE_BUS
Bus lane
ITC_LANE_FAST
Fast traffic lane
ITC_LANE_SLOW
Slow traffic lane
ITC_LANE_MOTOR
Motorcycle lane
ITC_LANE_NONMOTOR
Bicycle lane
ITC_LANE_REVERSE_LANE
Reverse traffic lane
ITC_LANE_BAN_TRUCKS
No van lane
ITC_LANE_MIX
Multi-speed lane
ITC_LANE_EMERGENCY
Emergency vehicle lane
byCarDriveDirect
The driving direction, the detailed are shown below.
enum _ITC_LANE_CAR_DRIVE_DIRECT_{
  ITC_LANE_DRIVE_UNKNOW      = 0,
  ITC_LANE_DRIVE_UP_TO_DOWN  = 1,
  ITC_LANE_DRIVE_DOWN_TO_UP  = 2
}ITC_LANE_CAR_DRIVE_DIRECT
ITC_LANE_DRIVE_UNKNOW
Unknown
ITC_LANE_DRIVE_UP_TO_DOWN
Down Streaming
ITC_LANE_DRIVE_DOWN_TO_UP
Up Streaming
byRes
Reserved, please set to 0

See Also

NET_ITC_POST_VTCOIL_PARAM


NET_ITC_VTLANE_PARAM

Structure of lane parameter.

struct{
  BYTE                                byRelatedDriveWay;
  BYTE                                bySpeedCapEn;
  BYTE                                bySignSpeed;
  BYTE                                bySpeedLimit;
  BYTE                                bySnapTimes;
  BYTE                                byBigCarSignSpeed;
  BYTE                                byBigCarSpeedLimit;
  BYTE                               byRelatedIOOutEx;
  NET_ITC_INTERVAL_PARAM              struInterval;
  BYTE                                byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                                byFlashMode;
  BYTE                                byLowSpeedLimit;
  BYTE                                byBigCarLowSpeedLimit;
  BYTE                                byRes2[3];
  NET_ITC_PLATE_RECOG_REGION_PARAM    struPlateRecog[MAX_LANEAREA_NUM];
  BYTE                                byRes[16];
}NET_ITC_VTLANE_PARAM,*LPNET_ITC_VTLANE_PARAM;

Members

byRelatedDriveWay
Associated lane number
bySpeedCapEn
Enable overspeed snapshot or not: 0-no, 1- yes
bySignSpeed
Sign speed limit, unit: km/h
bySpeedLimit
Speed limit, unit: km/h
bySnapTimes
Snapshot times (default: 1): 0- not snapshot, none 0- continuous times, max 5 times
byBigCarSignSpeed
The signs of speed limit, the unit km/h
byBigCarSpeedLimit
The speed limit, the unit km/h
byRelatedIOOutEx
Assocaited IO output, described by bit: bit0 - IO output 1,bit1- IO output 2 and so on
Value: 0- not associated, 1- associated , up to support 8 IO output(compatibility with byRelatedIOOut)
struInterval
Snapshot interval
byRelatedIOOut
The related IO output port (can associate with multiple ports)
byFlashMode
Flash mode of flash light: 0- flash at the same time, 1- flash in turn
byLowSpeedLimit
The lowest limitation of the large car speed, unit:km/h
byBigCarLowSpeedLimit
The lowest limitation of the small car speed, unit:km/h
byRes2
Reserved, please set to 0
struPlateRecog
Plate recognition region
byRes
Reserved, please set to 0

See Also

NET_ITC_VTCOIL_INFO


NET_ITS_BASEINFO

Basic information of terminal server

struct{
 DWORD    dwSize;
 BYTE     byMainVer[VERSION_LEN];
 BYTE     byMprVer[VERSION_LEN];
 BYTE     byBvtVer[VERSION_LEN];
 BYTE     byLptVer[VERSION_LEN];
 BYTE     byTvdVer[VERSION_LEN];
 BYTE     byTldVer[VERSION_LEN];
 BYTE     byRes[252];
}NET_ITS_BASEINFO,*LPNET_ITS_BASEINFO;

Members

dwSize
Structure size
byMainVer
The version of main algorithm process
byMprVer
The version of multi-frame recognition library
byBvtVer
The version of facing-away video library
byLptVer
The version of video tracking library
byTvdVer
The version of violation detection library
byTldVer
The version of traffic light detection library
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig


NET_ITS_ECT_BLACKLIST

Structure of blacklist alarm information

struct{
  DWORD                 dwSize;
  DWORD                 dwChannel;
  BYTE                  bylogicalLaneNo;
  BYTE                  byRes1[3];
  BYTE                  byLaneName[NAME_LEN];
  NET_DVR_PLATE_INFO    struPlateInfo;
  BYTE                  byRes2[256];
}NET_ITS_ECT_BLACKLIST, *LPNET_ITS_ECT_BLACKLIST;

Members

dwSize
Structure Size
dwChannel
Channel No.
bylogicalLaneNo
Logical lane No.
byRes1
Reserved, set as 0
byLaneName
Lane Name
struPlateInfo
License plate information structure
byRes2
Reserved, set as 0

See Also

NET_DVR_SetDVRMessageCallBack_V31 NET_DVR_StartListen_V30


NET_ITS_GATE_FACE

Structure of enrance/exit face capture result

struct{
  DWORD                      dwSize;
  BYTE                       byGroupNum;
  BYTE                       byPicNo;
  BYTE                       byFeaturePicNo;
  BYTE                       byRes;
  WORD                       wLaneid;
  BYTE                       byCamLaneId;
  BYTE                       byDir;
  DWORD                      dwChanIndex;
  BYTE                       byMonitoringSiteID[MAX_ID_LEN];
  BYTE                       byDeviceID[MAX_ID_LEN];
  NET_VCA_FACESNAP_RESULT    struFaceInfo;
  BYTE                       byRes2[256];
}NET_ITS_GATE_FACE, *LPNET_ITS_GATE_FACE;

Members

dwSize
Structure Size
byGroupNum
Picture group number (The total number of one vehicle passing's picture groups captured by multiple cameras. It is used to match multiple cameras' data, and the its current value is 1.)
byPicNo
Continuously captured picture No. (The received picture group number means that the receiving is completed; If the receiving timeout happens or the picture group number mismatches, it will be reserved or deleted as required.)
byFeaturePicNo
Get a picture to set it as the close-up picture during continuous capture, 0xff-means do not get
byRes
Reserved, set as 0
wLaneid
Lane No., range from 1 to 32 (index lane No., you can set a random lane No. in the range for a camera)
byCamLaneId
Corresponding camera lane No., range from 1 to 16 (Lane No. configured for camera, you can set a random lane No. in the range for a camera, or set the same lane No. for different cameras
byDir
Monitoring Direction: 0- Others，1- Enter，2- Exit
dwChanIndex
Channel No.
byMonitoringSiteID
Camera No.
byDeviceID
Device No.
struFaceInfo
Face Captured Data
byRes2
Reserved, set as 0

See Also

NET_DVR_StartListen_V30


NET_ITS_IMGMERGE_CFG

Configuration of image mergence

struct{
  DWORD    dwSize;
  BYTE     byIsMerge;
  BYTE     byRes1[3];
  DWORD    dwOneMergeType;
  DWORD    dwTwoMergeType;
  DWORD    dwThreeMergeType;
  DWORD    dwJpegQuality;
  DWORD    dwCloseupIndex;
  DWORD    dwMerageMaxSize;
  WORD     wCloseupDeviation;
  BYTE     byRes[30];
}NET_ITS_IMGMERGE_CFG, *LPNET_ITS_IMGMERGE_CFG;

Members

dwSize
Structure size
byIsMerge
Whether to merge the images or not: 0- no, 1- yes
byRes1
Reserved, please set to 0
dwOneMergeType
The mergence type of single image (reserved)
dwTwoMergeType
The mergence type of two images
dwThreeMergeType
The mergence type of three images
dwJpegQuality
Compression quality, value range: 0~100
dwCloseupIndex
Which captured picture is used to get the close-up view
dwMerageMaxSize
The max size of merged picture, value range: 300~10240, unit: KB
wCloseupDeviation
Deviation of close-up view, value range: 50~ the height of the captured picture, unit: pixel
byRes
Reserved, please set to 0

Remarks

It will get the close-up view only when enable the image mergence.

The number of pictures | The mergence ID | The mergence type
2 | 201 | Merge the upper and the lower pictures, the width of the merged picture is one times, the height is doubled
 | 202 | Merge the left and the right pictures, the width of the merged picture is doubled, the height is one times
3 | 301 | Merge the top, the middle and the bottom pictures, the width of the merged picture is one times, the height is tripled
 | 302 | Merge the left, the middle and the right pictures, the width of the merged picture is tripled, the height is one times
 | 303 | Take a close-up of license plate from the three pictures, and merge with the other three pictures into a 2*2 layout, make the license plate on the lower right. The width of the merged picture is doubled and the height is doubled
 | 304 | Take a close-up of license plate from the three pictures, and merge with the other three pictures into a 2*2 layout, make the license plate on the lower right. The width of the merged picture is one times and the height is one times
 | 305 | Take a close-up of license plate from the three pictures, and merge with the other three pictures into a 2*2 layout, make the license plate on the top left. The width of the merged picture is doubled and the height is doubled
 | 306 | Take a close-up of license plate from the three pictures, and merge with the other three pictures into a 2*2 layout, make the license plate on the top left. Compress the resolution. The width of the merged picture is one times, and the height is one times
 | 307 | Merge the three pictures into a 1*2 layout
 | 308 | Merge the three pictures into a 2*1 layout
4 | 309 | Select one plate close-up region from three pictures to make up four pictures which will be tiled. The close-up picture is on the lower-left of the composed picture. The width and height of the composed picture are two times of the origin picture.
 | 310 | Select one plate close-up region from three pictures to make up four pictures which will be tiled. The close-up picture is on the lower-left of the composed picture. The width and height of the composed picture are the same of the origin picture.
 | 311 | Select one plate close-up region from three pictures to make up four pictures which will be tiled. The close-up picture is on the upper-right of the composed picture. The width and height of the composed picture are two times of the origin picture.
 | 312 | Select one plate close-up region from three pictures to make up four pictures which will be tiled. The close-up picture is on the upper-right of the composed picture. The width and height of the composed picture are the same of the origin picture.
Others | Others | Othe

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_ITS_IPC_CHAN_CFG

IPC information of terminal server

struct{
 DWORD    dwSize;
 BYTE     byCameraType;
 BYTE     byRes1[3];
 BYTE     byMonitoringSiteID[48];
 BYTE     byDeviceID[48];
 BYTE     byDirectionNo;
 BYTE     byMonitorInfo[48];
 BYTE     byRes2[15];
}NET_ITS_IPC_CHAN_CFG,*LPNET_ITS_IPC_CHAN_CFG;

Members

dwSize
Structure size
byCameraType
Camera type: 0- camera for surveillance, 1- camera of coil trigger, 2- camera for video analysis, 3- zoom camera
byRes1
Reserved, please set to 0
byMonitoringSiteID
ID of monitoring point
byDeviceID
Device ID
byDirectionNo
Direction ID: 0- none, 1- up-road, 2- down-road, 3- two-way, 4- from east to west, 5- from south to north, 6- from west to east, 7- from north to south, 8- others
byMonitorInfo
Description of monitoring point
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_ITS_OVERLAP_CFG

Structure of overlay configuration

struct{
  DWORD                         dwSize;
  DWORD                         byEnable;
  BYTE                          byRes1[3];
  NET_ITS_OVERLAP_ITEM_PARAM    struOverLapItem;
  NET_ITS_OVERLAP_INFO_PARAM    struOverLapInfo;
  BYTE                          byRes[32];
}NET_ITS_OVERLAP_CFG,*LPNET_ITS_OVERLAP_CFG;

Members

dwSize
Structure size
byEnable
Whether enable it or not: 0- disable, 1- enable
byRes1
Reserved, please set to 0
struOverLapItem
Parameters of overlay string
struOverLapInfo
Content of overlay string
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_ITS_OVERLAP_CFG_V50

Text overlay settings(V50 expansion) structure

struct{
  DWORD                             dwSize;
  BYTE                              byEnable;
  BYTE                              byRes1[3];
  NET_ITS_OVERLAP_ITEM_PARAM_V50    struOverLapItemV50;
  NET_ITS_OVERLAP_INFO_PARAM        struOverLapInfo;
  BYTE                              byRes[120];
}NET_ITS_OVERLAP_CFG_V50,*LPNET_ITS_OVERLAP_CFG_V50;

Members

dwSize
Structure size
byEnable
Enable? 0- No, 1- Yes
byRes1
Reserved
struOverLapItemV50
Text parameters
struOverLapInfo
Text content
byRes
Reserved.

Remarks

Text overlay capability:NET_DVR_GetDeviceAbility(Capability type: DEVICE_ABILITY_INFO), getting traffic camera and smart terminal capability(ITDeviceAbility), node: <imageOverlayStringV50>.

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_ITS_OVERLAP_INFO_PARAM

Structure of character overlay content

struct{
  BYTE    bySite[128];
  BYTE    byRoadNum[32];
  BYTE    byInstrumentNum[32];
  BYTE    byDirection[32];
  BYTE    byDirectionDesc[32];
  BYTE    byLaneDes[32];
  BYTE    byRes1[32];
  BYTE    byMonitoringSite1[44];
  BYTE    byMonitoringSite2[32];
  BYTE    byRes[64];
}NET_ITS_OVERLAP_INFO_PARAM,*LPNET_ITS_OVERLAP_INFO_PARAM;

Members

bySite
Description of site
byRoadNum
The road number
byInstrumentNum
The device number
byDirection
The direction number
byDirectionDesc
Description of direction
byLaneDes
Description of traffic lane
byRes1
Reserved, please set to 0
byMonitoringSite1
Information of monitoring site no.1
byMonitoringSite2
Information of monitoring site no.2
byRes
Reserved, please set to 0

See Also

NET_ITS_OVERLAP_CFG


NET_ITS_OVERLAP_ITEM_PARAM

Structure of overlay string parameters

struct{
  NET_ITS_OVERLAP_SINGLE_ITEM_PARAM    struSingleItem[MAX_OVERLAP_ITEM_NUM];
  DWORD                                dwLinePercent;
  DWORD                                dwItemsStlye;
  WORD                                 wStartPosTop;
  WORD                                 wStartPosLeft;
  WORD                                 wCharStyle;
  WORD                                 wCharSize;
  WORD                                 wCharInterval;
  BYTE                                 byRes1[2];
  DWORD                                dwForeClorRGB;
  DWORD                                dwBackClorRGB;
  BYTE                                 byColorAdapt;
  BYTE                                 byParamFillZeroEnble;
  BYTE                                 byPlateLeftCornerEnable;
  BYTE                                 byRes[31];
  WORD                                 wStartSPicPosTop;
  WORD                                 wStartSPicPosLeft;
  BYTE                                 byOsdLocate;
}NET_ITS_OVERLAP_ITEM_PARAM,*LPNET_ITS_OVERLAP_ITEM_PARAM;

Members

struSingleItem
Parameters of each string
dwLinePercent
Percentage of overlay line, value range: 0~100, default: 100
dwItemsStlye
Overlay style: 0- horizontal(default), 1- vertical
wStartPosTop
The upper coordinate of starting point, valid for overlay in the image, value range: [0,2448], default: 0
wStartPosLeft
The left coordinate of starting point, valid for overlay in the image, value range: [0,2448], default: 0
wCharStyle
Font type: 0- standard typeface of Chinese, 1- typeface of Wei(default)
wCharSize
Font size: 0- 16*16, 1- 32*32, 2- 48x48, 3- 64x64(default)
wCharInterval
Character spacing, value range: [0,16], unit: pixel(default)
byRes1
Reserved, please set to 0
dwForeClorRGB
RGB value of foreground color, bit0~bit7: B, bit8~bit15: G, bit16~bit23: R, default: x00FFFFFF- white
dwBackClorRGB
RGB value of background color, valid for overlay out of the image, bit0~bit7: B, bit8~bit15: G, bit16~bit23: R, default:x00000000- black
byColorAdapt
Whether the color is adaptive: 0- no, 1- yes
byParamFillZeroEnble
Enable zero filling? ：0- Enable,1- Not enable, Zero filling is enabled when the value of speed or speed limit is less than 3 digits.
byPlateLeftCornerEnable
Enable to overlap the left conner of the plate picture? 0-Not enable, 1-Enable
byRes
Reserved, please set to 0
wStartSPicPosTop
Default Y+ position, is only valid for internal overlay of the pictures, range[0,2448], default：0
wStartSPicPosLeft
Default X- position, is only valid for internal overlay of the pictures, range[0,2448], default：0
byOsdLocate
The position OSD overlaying: 0- Inside of the picture, 1- Upper margin, ，2- Lower margin (upper margin for the composite graph)

See Also

NET_ITS_OVERLAP_CFG


NET_ITS_OVERLAP_ITEM_PARAM_V50

Text overlay settings structure

struct{
  NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50    struSingleItem[MAX_OVERLAP_ITEM_NUM];
  DWORD                                    dwLinePercent;
  DWORD                                    dwItemsStlye;
  WORD                                     wStartPosTop;
  WORD                                     wStartPosLeft;
  WORD                                     wCharStyle;
  WORD                                     wCharSize;
  WORD                                     wCharInterval;
  BYTE                                     byRes1[2];
  DWORD                                    dwForeClorRGB;
  DWORD                                    dwBackClorRGB;
  BYTE                                     byColorAdapt;
  BYTE                                     byParamFillZeroEnble;
  BYTE                                     byPlateLeftCornerEnable;
  BYTE                                     byRes2;
  WORD                                     wStartSPicPosTop;
  WORD                                     wStartSPicPosLeft;
  BYTE                                     byOsdLocate;
  BYTE                                     byRes[63];
}NET_ITS_OVERLAP_ITEM_PARAM_V50,*LPNET_ITS_OVERLAP_ITEM_PARAM_V50;

Members

struSingleItem
Parameters of each string
dwLinePercent
Percentage of overlay line, value range: 0~100, default: 100
dwItemsStlye
Overlay style: 0- horizontal(default), 1- vertical
wStartPosTop
The upper coordinate of starting point, valid for overlay in the image, value range: [0,2448], default: 0
wStartPosLeft
The left coordinate of starting point, valid for overlay in the image, value range: [0,2448], default: 0
wCharStyle
Font type: 0- standard typeface of Chinese, 1- typeface of Wei(default)
wCharSize
Font size: 0- 16*16, 1- 32*32, 2- 48x48, 3- 64x64(default)
wCharInterval
Character spacing, value range: [0,16], unit: pixel(default)
byRes1
Reserved, please set to 0
dwForeClorRGB
RGB value of foreground color, bit0~bit7: B, bit8~bit15: G, bit16~bit23: R, default: x00FFFFFF- white
dwBackClorRGB
RGB value of background color, valid for overlay out of the image, bit0~bit7: B, bit8~bit15: G, bit16~bit23: R, default:x00000000- black
byColorAdapt
Whether the color is adaptive: 0- no, 1- yes
byParamFillZeroEnble
Enable zero filling? ：0- Enable,1- Not enable, Zero filling is enabled when the value of speed or speed limit is less than 3 digits.
byPlateLeftCornerEnable
Enable to overlap the left conner of the plate picture? 0-Not enable, 1-Enable
byRes2
Reserved, please set to 0
wStartSPicPosTop
Default Y+ position, is only valid for internal overlay of the pictures, range[0,2448], default：0
wStartSPicPosLeft
Default X- position, is only valid for internal overlay of the pictures, range[0,2448], default：0
byOsdLocate
The position OSD overlaying: 0- Inside of the picture, 1- Upper margin, ，2- Lower margin (upper margin for the composite graph)
byRes
Reserved, please set to 0

See Also

NET_ITS_OVERLAP_CFG_V50


NET_ITS_OVERLAP_SINGLE_ITEM_PARAM

Structure of single overlay string information

struct{
  BYTE     byRes1[2];
  BYTE     byItemType;
  BYTE     byChangeLineNum;
  BYTE     bySpaceNum;
  BYTE     byRes[15];
  BYTE     byEnablePos;
  WORD     wStartPosTop;
  WORD     wStartPosLeft;
}NET_ITS_OVERLAP_SINGLE_ITEM_PARAM,*LPNET_ITS_OVERLAP_SINGLE_ITEM_PARAM;

Members

byRes1
Reserved
byItemType
Item type, defined as below:
enum _ITS_OVERLAP_ITEM_TYPE_{
  OVERLAP_ITEM_NULL  = 0,
  OVERLAP_ITEM_SITE  = 1,
  OVERLAP_ITEM_ROADNUM,
  OVERLAP_ITEM_INSTRUMENTNUM,
  OVERLAP_ITEM_DIRECTION,
  OVERLAP_ITEM_DIRECTIONDESC,
  OVERLAP_ITEM_DIRECTIONDESC,
  OVERLAP_ITEM_LANEDES,
  OVERLAP_ITEM_CAPTIME,
  OVERLAP_ITEM_CAPTIME_MILLSECOND,
  OVERLAP_ITEM_PLATENUM,
  OVERLAP_ITEM_CARCOLOR,
  OVERLAP_ITEM_CARTYPE,
  OVERLAP_ITEM_CARBRAND,
  OVERLAP_ITEM_CARSPEED,
  OVERLAP_ITEM_SPEEDLIMIT,
  OVERLAP_ITEM_CARLENGTH,
  OVERLAP_ITEM_ILLEGALNUM,
  OVERLAP_ITEM_SEATBELT,
  OVERLAP_ITEM_MONITOR_ID,
  OVERLAP_ITEM_SUN_VISOR,
  OVERLAP_ITEM_LANE_DIRECTION,
  OVERLAP_ITEM_MONITOR_INFO,
  OVERLAP_ITEM_ILLEGALDES,
  OVERLAP_ITEM_OVERSPEED_PERCENT,
  OVERLAP_ITEM_RED_STARTTIME,
  OVERLAP_ITEM_RED_STOPTIME,
  OVERLAP_ITEM_RED_DURATION,
  OVERLAP_ITEM_SECUNITY_CODE,
  OVERLAP_ITEM_CAP_CODE
}ITS_OVERLAP_ITEM_TYPE
OVERLAP_ITEM_NULL
0- Unknown
OVERLAP_ITEM_SITE
1- Site
OVERLAP_ITEM_ROADNUM
2- Intersection ID
OVERLAP_ITEM_INSTRUMENTNUM
3- Device ID
OVERLAP_ITEM_DIRECTION
4- Direction ID
OVERLAP_ITEM_DIRECTIONDESC
5- Direction description
OVERLAP_ITEM_LANENUM
6- Traffic lane ID
OVERLAP_ITEM_LANEDES
7- Traffic lane description
OVERLAP_ITEM_CAPTIME
8- The time of capturing (without millisecond)
OVERLAP_ITEM_CAPTIME_MILLSECOND
9- The time of capturing (with millisecond)
OVERLAP_ITEM_PLATENUM
10- License plate number
OVERLAP_ITEM_CARCOLOR
11- Vehicle color
OVERLAP_ITEM_CARTYPE
12- Vehicle type
OVERLAP_ITEM_CARBRAND
13- Vehicle brand
OVERLAP_ITEM_CARSPEED
14- Vehicle speed
OVERLAP_ITEM_SPEEDLIMIT
15- Speed limit sign
OVERLAP_ITEM_CARLENGTH
16- Vehicle length, value range: 1~99m
OVERLAP_ITEM_ILLEGALNUM
17- Traffic illegal code (it is suggested to overlay the illegal information, such as normal, low-speed, overspeed, retrograde, running a red light, and so on)
OVERLAP_ITEM_MONITOR_INFO
18- Monitoring site information
OVERLAP_ITEM_ILLEGALDES
19- Violation description
OVERLAP_ITEM_OVERSPEED_PERCENT
20- The ratio of speed to the upper-limit
OVERLAP_ITEM_RED_STARTTIME
21- The starting time of red light
OVERLAP_ITEM_RED_STOPTIME
22- The ending time of red light
OVERLAP_ITEM_RED_DURATION
23- The duration of red light
OVERLAP_ITEM_SECUNITY_CODE
24- Security code
OVERLAP_ITEM_CAP_CODE
25- Snapshot ID
OVERLAP_ITEM_SEATBELT
26-Safety belt
OVERLAP_ITEM_MONITOR_ID(not supported currently)
27- Camera No.
OVERLAP_ITEM_SUN_VISOR(not supported currently)
28- Sun shield
OVERLAP_ITEM_LANE_DIRECTION
29- Driving direction of the lane
byChangeLineNum
The number of line breaks after this overlay item, value range: [0,10], default: 0
bySpaceNum
Number of spaces after this overlay item, value range: [0-255], default: 0
byRes
Reserved
byEnablePos
Enable coordinate? 0-Not enable, 1- Enable
wStartPosTop
Default Y+ position, is only valid for internal overlay of the pictures, range[0,2448], default：0
wStartPosLeft
Default X- position, is only valid for internal overlay of the pictures, range[0,2448], default：0

See Also

NET_ITS_OVERLAP_ITEM_PARAM


NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50

Single string text overlay information structure

struct{
  BYTE     byRes1[2];
  BYTE     byItemType;
  BYTE     byChangeLineNum;
  BYTE     bySpaceNum;
  BYTE     byRes2[2];
  BYTE     byEnablePos;
  WORD     wStartPosTop;
  WORD     wStartPosLeft;
  BYTE     byItemTypeCustom[32];
  BYTE     byRes[8];
}NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50,*LPNET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50;

Members

byRes1
Reserved
byItemType
Type:
enum _ITS_OVERLAP_ITEM_TYPE_{
  OVERLAP_ITEM_NULL  = 0,
  OVERLAP_ITEM_SITE  = 1,
  OVERLAP_ITEM_ROADNUM,
  OVERLAP_ITEM_INSTRUMENTNUM,
  OVERLAP_ITEM_DIRECTION,
  OVERLAP_ITEM_DIRECTIONDESC,
  OVERLAP_ITEM_DIRECTIONDESC,
  OVERLAP_ITEM_LANEDES,
  OVERLAP_ITEM_CAPTIME,
  OVERLAP_ITEM_CAPTIME_MILLSECOND,
  OVERLAP_ITEM_PLATENUM,
  OVERLAP_ITEM_CARCOLOR,
  OVERLAP_ITEM_CARTYPE,
  OVERLAP_ITEM_CARBRAND,
  OVERLAP_ITEM_CARSPEED,
  OVERLAP_ITEM_SPEEDLIMIT,
  OVERLAP_ITEM_CARLENGTH,
  OVERLAP_ITEM_ILLEGALNUM,
  OVERLAP_ITEM_MONITOR_INFO,
  OVERLAP_ITEM_ILLEGALDES,
  OVERLAP_ITEM_OVERSPEED_PERCENT,
  OVERLAP_ITEM_RED_STARTTIME,
  OVERLAP_ITEM_RED_STOPTIME,
  OVERLAP_ITEM_RED_DURATION,
  OVERLAP_ITEM_SECUNITY_CODE,
  OVERLAP_ITEM_CAP_CODE,
  OVERLAP_ITEM_SEATBELT,
  OVERLAP_ITEM_MONITOR_ID,
  OVERLAP_ITEM_SUN_VISOR,
  OVERLAP_ITEM_LANE_DIRECTION,
  OVERLAP_ITEM_LICENSE_PLATE_COLOR,
  OVERLAP_ITEM_SCENE_NUMBER,
  OVERLAP_ITEM_SCENE_NAME,
  OVERLAP_ITEM_YELLOW_SIGN_CAR,
  OVERLAP_ITEM_DANGEROUS_CAR
}ITS_OVERLAP_ITEM_TYPE
OVERLAP_ITEM_NULL
0-Unknown
OVERLAP_ITEM_SITE
1-Location
OVERLAP_ITEM_ROADNUM
2-Intersection No.
OVERLAP_ITEM_INSTRUMENTNUM
3-Device No.
OVERLAP_ITEM_DIRECTION
4-Direction No.
OVERLAP_ITEM_DIRECTIONDESC
5-Direction
OVERLAP_ITEM_LANENUM
6-Vehicle lane No.
OVERLAP_ITEM_LANEDES
7-Vehicle lane
OVERLAP_ITEM_CAPTIME
8-Capture time(without ms)
OVERLAP_ITEM_CAPTIME_MILLSECOND
9-Capture time (with ms)
OVERLAP_ITEM_PLATENUM
10-Vehicle No.
OVERLAP_ITEM_CARCOLOR
11-Vehicle color
OVERLAP_ITEM_CARTYPE
12-Vehicle type
OVERLAP_ITEM_CARBRAND
13-Vehicle brand
OVERLAP_ITEM_CARSPEED
14-Vehicle speed
OVERLAP_ITEM_SPEEDLIMIT
15-Speed limit tag
OVERLAP_ITEM_CARLENGTH
16-Vehicle length, 1~99m
OVERLAP_ITEM_ILLEGALNUM
17-Illegal code(Overlay illegal information directly, such as normal, low speed, over speed, wrong direction, run the red light, occupy vehicle lane, cross the vehicle line.)
OVERLAP_ITEM_MONITOR_INFO
18-Camera information
OVERLAP_ITEM_ILLEGALDES
19-Illegal behavior
OVERLAP_ITEM_OVERSPEED_PERCENT
20-Over speed ratio
OVERLAP_ITEM_RED_STARTTIME
21-Red light start time
OVERLAP_ITEM_RED_STOPTIME
22-Red light end time
OVERLAP_ITEM_RED_DURATION
23-Red light lightening time
OVERLAP_ITEM_SECUNITY_CODE
24-Security code
OVERLAP_ITEM_CAP_CODE
25-Capture code
OVERLAP_ITEM_SEATBELT
26-Buckle up or not/dd>
OVERLAP_ITEM_MONITOR_ID
27- Camera No.
OVERLAP_ITEM_SUN_VISOR
28- Sun shield
OVERLAP_ITEM_LANE_DIRECTION
29- Driving direction of the vehicle lane/dd>
OVERLAP_ITEM_LICENSE_PLATE_COLOR
30- Vehicle license color
OVERLAP_ITEM_SCENE_NUMBER
31- Scene No.
OVERLAP_ITEM_SCENE_NAME
32- Scene name
OVERLAP_ITEM_YELLOW_SIGN_CAR
33- Yellow Label Car
OVERLAP_ITEM_DANGEROUS_CAR
34- Vehicle with dangerous goods
byChangeLineNum
The changed line number, value range[0,10], default; 0
bySpaceNum
The space number, value range[0-255], defasult：0
byRes2
Reserved
byEnablePos
Enable coordinate display: 0- No, 1- Yes
wStartPosTop
Default Y+ position, is only valid for internal overlay of the pictures, range[0,2448], default：0
wStartPosLeft
Default X- position, is only valid for internal overlay of the pictures, range[0,2448], default：0
byItemTypeCustom
Custom type, corresponds to byItemType, you can set custom name for byItemType. If the custom name is empty, the byItemType will be named as the type of parameters.
byRes
Reserved

See Also

NET_ITS_OVERLAP_ITEM_PARAM_V50


NET_ITS_OVERLAPCFG_COND

Condition of overlay configuration

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwConfigMode;
  BYTE     byPicModeType;
  BYTE     byRes[16];
}NET_ITS_OVERLAPCFG_COND,*LPNET_ITS_OVERLAPCFG_COND;

Members

dwSize
Structure size
dwChannel
Channel number
dwConfigMode
Configuration mode: 0- terminal, 1- front-end(connect with the front-end directly or through the terminal)
byPicModeType
Picture mode:0- Small picture(single picture), 1- Large picture (composite picture)
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_ITS_PICTURE_INFO

Structure of image information

struct{
  DWORD           dwDataLen;
  BYTE            byType;
  BYTE            byRes1[3];
  DWORD           dwRedLightTime;
  BYTE            byAbsTime[32];
  NET_VCA_RECT    struPlateRect;
  NET_VCA_RECT    struPlateRecgRect;
  BYTE            *pBuffer;
  DWORD           dwUTCTime;
  BYTE            byCompatibleAblity;
  BYTE            byRes2[7];
}NET_ITS_PICTURE_INFO, *LPNET_ITS_PICTURE_INFO;

Members

dwDataLen
The size of media data
byType
The data type: 0- License plate picture, 1- scene picture, 2- merged picture, 3- stream
byRes1
Reserved
dwRedLightTime
The time that the red light has been lighted, unit: s
byAbsTime
Absolute time: yyyymmddhhmmssxxx, e.g.20090810235959999, the final three bits for the millisecond
struPlateRect
The position of license plate on the scene picture
struPlateRecgRect
The coordinate of region set to recognize the plate license
pBuffer
The buffer that saves the data
dwUTCTime
UTC time
byCompatibleAblity
Compatible ability filed, represented by bit, value: 0- Invalid, 1- Valid.
bit0- Whether the dwUTCTime filed is valid
byRes2
Reserved

See Also

NET_ITS_PLATE_RESULT


NET_ITS_PLATE_RESULT

License plate detection result of traffic camera

struct{
  DWORD                    dwSize;
  DWORD                    dwMatchNo;
  BYTE                     byGroupNum;
  BYTE                     byPicNo;
  BYTE                     bySecondCam;
  BYTE                     byFeaturePicNo;
  BYTE                     byDriveChan;
  BYTE                     byVehicleType;
  BYTE                     byDetSceneID;
  BYTE                     byVehicleAttribute;
  WORD                     wIllegalType;
  BYTE                     byIllegalSubType[8];
  BYTE                     byPostPicNo;
  BYTE                     byChanIndex;
  WORD                     wSpeedLimit;
  BYTE                     byChanIndexEx;
  BYTE                     byRes2;
  NET_DVR_PLATE_INFO       struPlateInfo;
  NET_DVR_VEHICLE_INFO     struVehicleInfo;
  BYTE                     byMonitoringSiteID[48];
  BYTE                     byDeviceID[48];
  BYTE                     byDir;
  BYTE                     byDetectType;
  BYTE                     byRelaLaneDirectionType;
  BYTE                     byRes3;
  DWORD                    dwCustomIllegalType;
  BYTE                     byIllegalFromatType;
  BYTE                     *pIllegalInfoBuf;
  BYTE                     byRes4[4];
  BYTE                     byDataAnalysis;
  BYTE                     byYellowLabelCar;
  BYTE                     byDangerousVehicles;
  BYTE                     byPilotSafebelt;
  BYTE                     byCopilotSafebelt;
  BYTE                     byPilotSunVisor;
  BYTE                     byCopilotSunVisor;
  BYTE                     byPilotCall;
  BYTE                     byBarrierGateCtrlType;
  BYTE                     byAlarmDataType;
  NET_DVR_TIME_V30         struSnapFirstPicTime;
  DWORD                    dwIllegalTime;
  DWORD                    dwPicNum;
  NET_ITS_PICTURE_INFO     struPicInfo[6];
}NET_ITS_PLATE_RESULT, *LPNET_ITS_PLATE_RESULT;

Members

dwSize
Structure size
dwMatchNo
The match number, composed of vehicle serial number, data type and lane number
byGroupNum
The total number of picture groups (the number of pictures continuously captured when one car passed)
byPicNo
The sequence number of the picture (if byPicNo==byGroupNum, it means finished to receive the last picture)
bySecondCam
Whether captured by the second camera (e.g. the vista camera of the vision and close-up snapshot, or the rear camera of front and rear snapshot)
byFeaturePicNo
Which picture is taken as close-up view (it is used for automatic detecting system of vehicle violation of traffic signal), and 0xff means not take any one
byDriveChan
The lane that triggered snapshot
byVehicleType
Vehicle type: 0- is unknown, 1- bus, 2- truck, 3- car, 4- microbus, 5- van, 6-pedestrian, 7-bicycle, 8-tricycle
byRes1
Reserved
wIllegalType
Illegal type, definition of GB
byIllegalSubType
Sub type of illegal behavior
byPostPicNo
Which picture is taken to record for intelligent vehicle monitoring and recording system, 0xff means not take any one
byChanIndex
Channel number
wSpeedLimit
The upper limit of speed (valid when overspeed）
byChanIndexEx
byChanIndexEx*256+byChanIndex means actual channel No.
byRes2
Reserved
struPlateInfo
License plate information
struVehicleInfo
Vehicle information
byMonitoringSiteID
ID of monitoring point
byDeviceID
ID of the device
byDir
Monitoring direction: 1- up-road, 2- down-road, 3- two-way, 4- from east to west, 5- from south to north, 6- from west to east, 7- from north to south, 8- others
byDetectType
Detection type: 1- triggered by inductive coil, 2- triggered by video detection, 3- multi-frame recognition, 4- triggered by radar
byBarrierGateCtrlType
The control type of the barrier cate, 0- Opened，1- Closed (It is the sign of whether to open the barrier gate according to the matching condition of the blacklist/whitelist and the captured picture.)
byAlarmDataType
Alarm data type,0- Realtime data,1- Historical data
byRes3
Reserved
dwPicNum
The number of pictures (different form icGroupNum, it is the number of pictures in this message)
dwCustomIllegalType
Violation type definition(custom): When wIllegalType is 0, uses this parameter，If the wIllegalType is not 0, refer to wIllegalType，this parameter is invalid
byIllegalFromatType
Violation information format type: 0- Numeric, 1- Character
struPicInfo
Picture information, up to 6 pitures

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_ITS_ROADINFO

Exception alarm information of intersection device

struct{
 DWORD                         dwSize;
 DWORD                         dwChannel;
 BYTE                          bytriggerMode;
 BYTE                          byRes1[3];
 DWORD                         dwDeviceNum;
 BYTE                          byMonitoringSiteID[48];
 BYTE                          byRoadInfo[48];
 NET_ITS_SINGLE_DEVICE_INFO    struSingleDevice[ITS_MAX_DEVICE_NUM];
 BYTE                          byRes[16];
}NET_ITS_ROADINFO,*LPNET_ITS_ROADINFO;

Members

dwSize
Structure size
dwChannel
Channel number, 0xffffffff means the terminal server, other values mean the corresponding cameras
bytriggerMode
Trigger mode: 0- coil trigger, 1- video trigger
byRes1
Reserved, please set to 0
dwDeviceNum
The total number of devices
byMonitoringSiteID
The monitoring site ID
byRoadInfo
The information of monitoring site
struSingleDevice
The information of each intersection device
byRes
Reserved, please set to 0

See Also

NET_DVR_StartListen_V30 NET_DVR_GetDVRConfig


NET_ITS_SINGLE_DEVICE_INFO

Information of intersection device

struct{
 DWORD    dwDeviceType;
 DWORD    dwDirID;
 DWORD    dwLaneID;
 DWORD    dwDeviceState;
 BYTE     byDeviceName[32];
 BYTE     byDeviceID[48];
}NET_ITS_SINGLE_DEVICE_INFO,*LPNET_ITS_SINGLE_DEVICE_INFO;

Members

dwDeviceType
The device type: 0- Terminal, 1- Camera, 2- Light supplement lamp, 3- Vehicle detector, 4- Coil no.1, 5- Coil no.2, 6- Coil no.3, 7- Traffic light detector, 8- Cabinet, 9- Radar
dwDirID
The direction ID: : 1- up-road, 2- down-road, 3- two-way, 4- from east to west, 5- from south to north, 6- from west to east, 7- from north to south, 8- others
dwLaneID
The lane ID
dwDeviceState
The device state: 0- normal, Non-zero - abnormal(please refer to the following list of the codes)
byDeviceName
Device name
byDeviceID
The device ID, generally it is the serial number, and it is the address for vehicle detector

Remarks

The codes of exception are listed as following:

Device Type | Exception Code | Exception Description
Cabinet | 0101 | The temperature is abnormal
 | 0102 | The humidity is abnormal
 | 0103 | The gate state is abnormal
 | 0104 | Cabinet abnormal vibration
 | 0105 | Other exception
Snapshot Camera | 0201 | The temperature is abnormal
 | 0202 | The humidity is abnormal
 | 0203 | The load rate of camera DSP is abnormal
 | 0204 | The memory usage is abnormal
 | 0205 | Parameter configuration of camera is abnormal
 | 0206 | The arming is abnormal
 | 0207 | The snapshot unit is broken down
 | 0208 | Other exception
Light supplement lamp | 0301 | The light supplement lamp is broken down
Radar | 0401 | The radar is broken down
Vehicle detector | 0501 | The detector card is abnormal
 | 0502 | The sense coil is abnormal
 | 0503 | The vehicle detector is abnormal
 | 0504 | Other exception
Traffic light detector | 0601 | The electric signal of traffic light is abnormal
 | 0602 | The traffic light detector is abnormal
Terminal | 0701 | The temperature is abnormal
 | 0702 | The CPU usage is abnormal
 | 0703 | The memory usage is abnormal
 | 0704 | The storage space is abnormal
 | 0705 | The software of terminal server is abnormal
 | 0706 | Other exception
 | 0707 | The terminal server is abnormal
Video analysis recorder | 0801 | The temperature is abnormal
 | 0802 | The CPU usage is abnormal
 | 0803 | The memory usage is abnormal
 | 0804 | The storage space is abnormal
 | 0805 | The software of the recorder is abnormal
 | 0806 | Other exception
 | 0807 | The video analysis recorder is abnormal
License plate recognition processing unit | 0901 | The video input is abnormal
 | 0902 | The unit is abnormal
Access control terminal | 1001 | The temperature is abnormal
 | 1002 | The CPU usage is abnormal
 | 1003 | The memory usage is abnormal
 | 1004 | The storage space is abnormal
 | 1005 | The software of access control terminal is abnormal
 | 1006 | Other exception
 | 1007 | The access control terminal is abnormal
LED guidance screen | 1101 | The LED guidance screen is abnormal
Serial port controller | 1201 | The serial port controller is abnormal

See Also

NET_ITS_ROADINFO


NET_ITS_TRAFFIC_COLLECT

Structure of traffic counting

struct{
  DWORD                         dwSize;
  BYTE                          byMonitoringSiteID[48];
  BYTE                          byDeviceID[48];
  BYTE                          byLaneNum;
  BYTE                          byDir;
  BYTE                          byDetectType;
  BYTE                          byRes1;
  DWORD                         dwChannel;
  NET_DVR_SYSTEM_TIME           struStartTime;
  DWORD                         dwSamplePeriod;
  NET_ITS_TRAFFIC_DRIVE_CHAN    struDriveChan[6];
  BYTE                          byRes2[24];
}NET_ITS_TRAFFIC_COLLECT,*LPNET_ITS_TRAFFIC_COLLECT;

Members

dwSize
Structure size
byMonitoringSiteID
ID of monitoring site
byDeviceID
ID of the device
byLaneNum
The total number of traffic lanes
byDir
Monitoring direction: 1- up-road, 2- down-road, 3- two-way, 4- from east to west, 5- from south to north, 6- from west to east, 7- from north to south, 8- others
byDetectType
Detection type: 1- triggered by inductive coil, 2- triggered by video detection, 3- multi-frame recognition, 4- triggered by radar
byRes1
Reserved, please set to 0
dwChannel
Channel number
struStartTime
The starting time of counting
dwSamplePeriod
The period of counting, unit: s
struDriveChan
The data of traffic counting, each camera supports 6 lanes
byRes
Reserved, please set to 0

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_ITS_TRAFFIC_DATA_HOST

Information of traffic data receiver host

struct{
 NET_DVR_IPADDR    struHostAddr;
 WORD              wHostPort;
 BYTE              byRes1[2];
 DWORD             dwDataType;
 BYTE              bySuspendUpload;
 BYTE              byUploadStrategy;
 WORD              wUploadInterval;
 DWORD             dwUploadTimeOut;
 BYTE              byRes[24];
}NET_ITS_TRAFFIC_DATA_HOST,*LPNET_ITS_TRAFFIC_DATA_HOST;

Members

struHostAddr
IP address of remote host
wHostPort
Port of remote host
byRes1
Reserved, please set to 0
dwDataType
Type of the data uploaded to the remote host, different bit means different type, the value: 0- not upload, 0xffffffff- upload all.
If want to upload various types, such as x, y and z, the value of dwDataType should be set to the value of x|y|z.
The definition of various types:
Violation Code | Description of Violation | Value of Various Types
0 | General data of intelligent monitoring and recording system of vehicles | 0x01
1018 | The motor vehicle does not drive on the permitted traffic lane(the lane is forbidden to drive in) | 0x01 << 1
1019 | The motor vehicle drives illegally on the special traffic lane (reserved) | 0x01 << 2
1208 | Not drive according the guidance (turn left, go straight, or turn right illegally) | 0x01 << 3
1211 | In case of stop signal through the intersection, the vehicle stopped in the stop line or intersection | 0x01 << 4
1229 | Violation of the ban on signs(reserved) | 0x01 << 5
1230 | Violation of prohibit marking instructions(drive over the lane line) | 0x01 << 6
1301 | Retrograde | 0x01 << 7
1302 | Violation of traffic light(running red light) | 0x01 << 8
1042 | Motor vehicle is not traveling on prescribed lane | 0x01 << 9
1303 | Motor vehicle exceeds the specified speed of less than 50% | 0x01 << 10
1603 | Motor vehicle exceeds the specified speed of more than 50% | 0x01 << 11
bySuspendUpload
Whether to pause uploading the data: 0- no, 1- yes
byUploadStrategy
Uploading strategy: 0- Priority to upload the newest data, 1- Upload according access time
wUploadInterval
The interval time of uploading, unit: ms, value range: 1~2000, valid only for historical data
dwUploadTimeOut
The timeout of uploading
byRes
Reserved, please set to 0

See Also

NET_ITS_UPLOAD_CFG


NET_ITS_TRAFFIC_DATA_INFO

Information of traffic data

struct{
 DWORD                   dwDataQuantity;
 DWORD                   dwDataRsendQuantity;
 NET_DVR_SYSTEM_TIME     struStartTime;
 NET_DVR_SYSTEM_TIME     struEndTime;
 NET_DVR_IPADDR          struDataHost;
}NET_ITS_TRAFFIC_DATA_INFO,*LPNET_ITS_TRAFFIC_DATA_INFO;

Members

dwDataQuantity
The total amount of data
dwDataRsendQuantity
The amount of unsent data (which is required to be uploaded to the host)
struStartTime
The starting time of the unsent data
struEndTime
The ending time of the unsent data
struDataHost
IP address of remote host to receive traffic data

See Also

NET_ITS_WORKSTATE


NET_ITS_TRAFFIC_DRIVE_CHAN

Traffic information of single lane

struct{
  BYTE     byDriveChan;
  BYTE     byRes1[3];
  WORD     wCarFlux;
  WORD     wPasserbyFlux;
  WORD     wShayFlux;
  float    fAverOccpancy;
  WORD     wAverSpeed;
  WORD     wAverCarDis;
  BYTE     byRes2[16];
}NET_ITS_TRAFFIC_DRIVE_CHAN,*LPNET_ITS_TRAFFIC_DRIVE_CHAN;

Members

byDriveChan
The traffic lane ID
byRes1
Reserved, please set to 0
wCarFlux
The counting of cars
wPasserbyFlux
The counting of pedestrians
wShayFlux
The counting of two-wheeled vehicles
fAverOccpancy
The average occupancy of the lane
wAverSpeed
The average speed, unit: km/h
wAverCarDis
The average time headway, unit: ms
byRes2
Reserved, please set to 0

See Also

NET_ITS_TRAFFIC_COLLECT


NET_ITS_UPLOAD_CFG

Configuration of data uploading

struct{
 DWORD                         dwSize;
 NET_ITS_TRAFFIC_DATA_HOST     struRemoteDataHost1;
 NET_ITS_TRAFFIC_DATA_HOST     struRemoteDataHost2;
}NET_ITS_UPLOAD_CFG,*LPNET_ITS_UPLOAD_CFG;

Members

dwSize
Structure size
struRemoteDataHost1
Receiver host on.1 of traffic data
struRemoteDataHost2
Receiver host on.2 of traffic data

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_ITS_WORKSTATE

Working state of terminal server

struct{
 DWORD                        dwSize;
 BYTE                         byDevName[32];
 DWORD                        dwRunTime;
 NET_ITS_TRAFFIC_DATA_INFO    struTrafficDataInfo[2];
 DWORD                        dwMemoryUsage;
 DWORD                        dwCpuUsage;
 DWORD                        dwDevTemperature;
 DWORD                        dwDeviceStatic;
 NET_DVR_DISKSTATE            struHardDiskStatic[MAX_DISKNUM_V30];
 NET_DVR_CHANNELSTATE_V30     struChanStatic[MAX_CHANNUM_V30];
 BYTE                         byAlarmInStatic[MAX_ALARMIN_V30];
 BYTE                         byAlarmOutStatic[MAX_ALARMOUT_V30];
 DWORD                        dwLocalDisplay;
 BYTE                         byAudioInChanStatus[8];
 BYTE                         byRes[4];
}NET_ITS_WORKSTATE,*LPNET_ITS_WORKSTATE;

Members

dwSize
Structure size
byDevName
The device name
dwRunTime
The running time of system, unit: s
struTrafficDataInfo
Traffic counting information, supports two receiver hosts
dwMemoryUsage
The usage of memory (if the usage is 30%, the value of dwMemoryUsage is 30)
dwCpuUsage
The usage of CPU (if the usage is 30%, the value of dwCpuUsage is 30)
dwDevTemperature
The temperature of the device
dwDeviceStatic
The device status: 0- normal; 1- the usage of CPU is too high, more than 85%; 2- error in hardware, e.g. the serial ports don't work
struHardDiskStatic
Status of hard disk
struChanStatic
Status of channel
byAlarmInStatic
Status of alarm input ports: 0- no alarm, 1- alarm
byAlarmOutStatic
Status of alarm output ports: 0- no alarm output, 1- alarm output
dwLocalDisplay
Status of local display: 0- normal, 1- abnormal
byAudioInChanStatus
Status of audio channel: 0- unused 1- on using
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceStatus


NET_VCA_RULECFG

Device Network SDK Programming Manual

NET_IVMS_BEHAVIORCFG

Rule Structure of Intellectualized Behaviour Analyzer.

struct{
  DWORD               dwSize;
  BYTE                byPicProType;
  BYTE                byRes[3];
  NET_DVR_JPEGPARA    struPictureParam;
  NET_IVMS_RULECFG    struRuleCfg[MAX_RULE_NUM][MAX_TIMESEGMENT];
} NET_IVMS_BEHAVIORCFG, *LPNET_IVMS_BEHAVIORCFG;

Members

dwSize
Structure size
byPicProType
Upon alarm whether to handle pictures:0-Not Handle; Non 0-Handle
byRes
Reserved, please set to 0
struPictureParam
Picture parameter structure
struRuleCfg
Standard parameter list set by time

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
NET_DVR_JPEGPARA NET_IVMS_RULECFG


NET_IVMS_DEVSCHED

Subsystem of Intellectualized Analyzer Fetching Stream.

struct{
  NET_DVR_SCHEDTIME          struTime;
  NET_DVR_PU_STREAM_CFG      struPUStream;
}NET_IVMS_DEVSCHED, *LPNET_IVMS_DEVSCHED;

Members

struTime
Time of fetch stream
struPUStream
Setting of front-end to fetch stream

See Also

NET_DVR_SCHEDTIME NET_DVR_PU_STREAM_CFG


NET_IVMS_ENTER_REGION

Structure of intelligent analyzer ATM entering region.

struct{
  DWORD                      dwSize;
  NET_VCA_ENTER_REGION       struEnter[MAX_DAYS][MAX_TIMESEGMENT];
}NET_IVMS_ENTER_REGION, *LPNET_IVMS_ENTER_REGION;

Members

dwSize
Structure size
struEnter
Entering region parameter set by time segment

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_VCA_ENTER_REGION


NET_IVMS_MASK_REGION_LIST

IVMS Shielded regional linked list structure.

struct{
  DWORD                      dwSize;
  NET_VCA_MASK_REGION_LIST   struList[MAX_DAYS][MAX_TIMESEGMENT];
}NET_IVMS_MASK_REGION_LIST, *LPNET_IVMS_MASK_REGION_LIST;

Members

dwSize
Structure size
struList
Shielded region list

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_VCA_MASK_REGION_LIST


NET_IVMS_ONE_RULE

Single-rule Structure of Intellectualized Analysis.

struct{
  BYTE                        byActive;
  BYTE                        byRes1[7];
  BYTE                        byRuleName[NAME_LEN];
  VCA_EVENT_TYPE              dwEventType;
  NET_VCA_EVENT_UNION         uEventParam;
  NET_VCA_SIZE_FILTER         struSizeFilter;
  BYTE                        byRes2[68];
}NET_IVMS_ONE_RULE, *LPNET_IVMS_ONE_RULE;

Members

byActive
Whether to activate,0-no,non 0-yes
byRes1
Reserved
byRuleName
Rule name
dwEventType
Event type of behaviour analysis,detailed definition as list below:
enum _VCA_EVENT_TYPE_{
  VCA_TRAVERSE_PLANE  = 0x1,
  VCA_ENTER_AREA      = 0x2,
  VCA_EXIT_AREA       = 0x4,
  VCA_INTRUSION       = 0x8,
  VCA_LOITER          = 0x10,
  VCA_LEFT_TAKE       = 0x20,
  VCA_PARKING         = 0x40,
  VCA_RUN             = 0x80,
  VCA_HIGH_DENSITY    = 0x100
}VCA_EVENT_TYPE
VCA_TRAVERSE_PLANE
Traverse alert plane
VCA_ENTER_AREA
Target entering area,regional rules supported
VCA_EXIT_AREA
Target leaving area,regional rules supported
VCA_INTRUSION
Perimeter invaded,regional rules supported
VCA_LOITER
Loiter,regional rules supported
VCA_LEFT_TAKE
Packet loss and packet picked,regional rules supported
VCA_PARKING
Park,regional rules supported
VCA_RUN
Running,regional rules supported
VCA_HIGH_DENSITY
Person density within area,regional rules supported
VCA_STICK_UP
uEventParam
Event parameter of behaviour analysis
struSizeFilter
Size filter
byRes2
Reserved

See Also

NET_VCA_EVENT_UNION NET_VCA_SIZE_FILTER


NET_IVMS_RULECFG

Rule Structure of Intellectualized Behaviour Analyzer.

struct{
  NET_IVMS_ONE_RULE   struRule[MAX_RULE_NUM];
}NET_IVMS_RULECFG, *LPNET_IVMS_RULECFG;

Members

struRule
Rule array

See Also

NET_IVMS_ONE_RULE


NET_IVMS_STREAMCFG

Configuration Structure of Intellectualized Analyzer Parameter.

struct{
  DWORD                dwSize;
  NET_IVMS_DEVSCHED    struDevSched[MAX_DAYS][MAX_TIMESEGMENT];
}NET_IVMS_STREAMCFG,*LPNET_IVMS_STREAMCFG;

Members

dwSize
Structure size
struDevSched
Config front-end fetching stream and rules upon time periods

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_IVMS_DEVSCHED


NET_MATRIX_ANALOGMATRIX

Parameters of analog matrix

struct{
  BYTE                    bySerPortNum;
  WORD                    byMatrixSerPortType;
  BYTE                    byRes1[2];
  NET_DVR_SINGLE_RS232    struRS232;
  BYTE                    byRes2[200];
}NET_MATRIX_ANALOGMATRIX, *LPNET_MATRIX_ANALOGMATRIX;

Members

bySerPortNum
The ID of serial port with which the device connected
byMatrixSerPortType
It is invalid, please set to 0
byRes1
Reserved, please set to 0
struRS232
RS232 parameters
byRes2
Reserved, please set to 0

See Also

NET_MATRIX_UNION


NET_MATRIX_DIGITALMATRIX

Parameters of digital matrix

struct{
  NET_DVR_IPADDR    struAddress;
  WORD              wPort;
  BYTE              byNicNum;
  BYTE              byRes[69];
}NET_MATRIX_DIGITALMATRIX, *LPNET_MATRIX_DIGITALMATRIX;

Members

struAddress
The IP address of the digital device
wPort
Port number
byNicNum
The bound NIC: 0- eth0, 1- eth1
byRes
Reserved, please set to 0

See Also

NET_MATRIX_UNION


NET_MATRIX_UNION

Union of matrix parameters

union{
  NET_MATRIX_DIGITALMATRIX    struDigitalMatrix;
  NET_MATRIX_ANALOGMATRIX     struAnalogMatrix;
}NET_MATRIX_UNION,*LPNET_MATRIX_UNION;

Members

struDigitalMatrix
Information of digital matrix
struAnalogMatrix
Information of analog matrix

See Also

NET_DVR_EXTERNAL_MATRIX_CFG


NET_PTZ_INFO

PTZ parameter structure, thermal imaging camera location information

struct{
  float    fPan;
  float    fTilt;
  float    fZoom;
  DWORD    dwFocus;
  BYTE     byRes[4];
}NET_PTZ_INFO, *LPNET_PTZ_INFO;

Members

fPan
P parameter (horizontal), accurate to 3 decimal places, range: 0 to 36.000
fTilt
T parameter (vertical), accurate to 3 decimal places, range: -90.000 to 270.000
fZoom
Z parameter (zoom), accurate to 3 decimal places, range: 0 to 100000
dwFocus
Focus parameters: normalization 0 to 100000
byRes
Reserved

See Also

NET_DVR_CALIB_PARAM NET_DVR_GIS_INFO


NET_SDK_AREASCAN_CFG

Region scanning configuration structure

struct{
  DWORD                   dwSize;
  BYTE                    byScanState;
  BYTE                    byRes[259];
}NET_SDK_AREASCAN_CFG, *LPNET_SDK_AREASCAN_CFG;

Members

dwSize
Structure size
byScanState
Current configuration status of region scanning, 0- not configured, 1- configured (read-only)
byRes
Reserved, set as 0

Remarks

  • Whether the device supports region scan or the supported parameter capability, can be determined through device capability set (AreaScan), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_AREASCAN_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig


NET_SDK_FIRESHIELDMASK_CFG

Fire source blocking region configuration structure

struct{
  DWORD                           dwSize;
  BYTE                            byEnabled;
  BYTE                            byRes1[3];
  NET_SDK_FIRESHIELDMASK_REGION   struMaskRegion[MAX_FIRESHIELDMASK_REGION];
  BYTE                            byRes[256];
}NET_SDK_FIRESHIELDMASK_CFG, *LPNET_SDK_FIRESHIELDMASK_CFG;

Members

dwSize
Structure size
byEnabled
Whether to enable fire source region blocking: 0- no, 1- yes
byRes1
Reserved, set as 0
struMaskRegion
Fire source blocking region
byRes
Reserved, set as 0

Remarks

  • Whether the device supports fire source region blocking capability or the supported parameter capability, can be determined through device capability set (FireShieldMask), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_FIRESHIELDMASK_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_SDK_FIRESHIELDMASK_COND

Fire source blocking region configuration structure

struct{
  DWORD            dwSize;
  DWORD            dwChannel;
  BYTE             byRegionID;
  BYTE             byRes[127];
}NET_SDK_FIRESHIELDMASK_COND, *LPNET_SDK_FIRESHIELDMASK_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byRegionID
Region ID, 1 to 24
byRes
Reserved, set as 0

See Also

NET_DVR_STDControl


NET_SDK_FIRESHIELDMASK_REGION

Fire source blocking region structure

struct{
  DWORD                       dwSize;
  BYTE                        byMaskID;
  BYTE                        byEnabled;
  BYTE                        byShieldZoom;
  BYTE                        byMaskType;
  BYTE                        byRegionType;
  BYTE                        byShowEnabled;
  BYTE                        byRes1[2];
  char                        szMaskName[NAME_LEN];
  NET_VCA_POLYGON             struRegion;
  BYTE                        byRes[32];
}NET_SDK_FIRESHIELDMASK_REGION,*LPNET_SDK_FIRESHIELDMASK_REGION;

Members

dwSize
Structure size
byMaskID
Region ID, 1 to 24, up to 24 regions are supported
byEnabled
Whether to enable single fire source blocking region: 0- no, 1- yes
byShieldZoom
Blocking zoom ratio: 0 to 32. Any optical zoom over this ratio will be blocked.
byMaskType
Blocking region color: 0- grey, 1- red, 2- yellow, 3- blue, 4- orange, 5- green, 6- transparent, 7- semi-transparent, 8- mosaic
byRegionType
Region type (reserved) 0- quadrangle
byShowEnabled
Enable region display, read-only, region information will be displayed on upper level if enable is true, and will not on false.
byRes1
Reserved, set as 0
szMaskName
Blocking region name
struRegion
Blocking region
byRes
Reserved, set as 0

See Also

NET_SDK_FIRESHIELDMASK_CFG


NET_SDK_MANUAL_THERMOMETRY

Manual temperature measurement condition configuration structure

struct{
  DWORD                       dwSize;
  DWORD                       dwChannel;
  DWORD                       dwRelativeTime;
  DWORD                       dwAbsTime;
  BYTE                        byThermometryUnit;
  BYTE                        byDataType;
  BYTE                        byRes1[6];
  NET_SDK_MANUALTHERM_RULE    struRuleInfo;
  BYTE                        byRes[512];
}NET_SDK_MANUAL_THERMOMETRY,*LPNET_SDK_MANUAL_THERMOMETRY;

Members

dwSize
Structure size
dwChannel
Channel No.
dwRelativeTime
Relative time mark (read-only)
dwAbsTime
Absolute time mark (read-only)
byThermometryUnit
Temperature measurement unit: 0- degree Celcius (?C), 1- degree Fahrenheit (?F), 2- Kelvin(K)
byDataType
Data status type: 0- detecting, 1- start, 2- end (read-only)
byRes1
Reserved, set as 0
struRuleInfo
Manual temperature measurement rule
byRes
Reserved, set as 0

Remarks

  • The algorithm applied to get year/month/day/hour/minute/second from absolute time mark dwAbsTime is as follows:
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)
  • Whether device supports manual temperature measurement or supported capability, can be determined through device capability set (ManualThermometry), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_MANUALTHERM_CAPABILITIES.

See Also

NET_DVR_SetSTDConfig


NET_SDK_MANUALTHERM_ BASICPARAM

Device Network SDK Programming Manual

NET_SDK_MANUALTHERM_BASICPARAM

Manual temperature measurement basic parameter configuration structure

struct{
  DWORD                   dwSize;
  WORD                    wDistance;
  BYTE                    byRes1[2];
  float                   fEmissivity;
  BYTE                    byRes[64];
}NET_SDK_MANUALTHERM_BASICPARAM, *LPNET_SDK_MANUALTHERM_BASICPARAM;

Members

dwSize
Structure size
wDistance
Distance(m) [0, 10000]
byRes1
Reserved, set as 0
fEmissivity
Emissivity, the ability of a surface to radiate energy, accurate to 2 decimal places, [0.01, 1.00]
byRes
Reserved, set as 0

Remarks

  • Whether the device supports manual temperature measurement basic parameter configuration or the supported parameter capability, can be determined through device capability set (ManualThermBasic), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_MANUALTHERM_BASIC_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_SDK_MANUALTHERM_RULE

Manual temperature measurement rule structure

struct{
  BYTE                        byRuleID;
  BYTE                        byEnable;
  BYTE                        byRes1[2];
  char                        szRuleName[NAME_LEN];
  BYTE                        byRuleCalibType;
  BYTE                        byRes2[3];
  NET_SDK_POINT_THERMOMETRY   struPointTherm;
  NET_SDK_REGION_THERMOMETRY  struRegionTherm;
  BYTE                        byRes[512];
}NET_SDK_MANUALTHERM_RULE,*LPNET_SDK_MANUALTHERM_RULE;

Members

byRuleID
Rule ID, 0- invalid, from 1
byEnable
Whether to enable: 0- no, 1- yes
byRes1
Reserved, set as 0
szRuleName
Rule name
byRuleCalibType
Rule calibration type: 0-point, 1- frame, 2- line
byRes2
Reserved, set as 0
struPointTherm
Point temperature measurement, valid when calibration type is 0
struRegionTherm
Region temperature measurement, valid when calibration type is 1 or 2
byRes
Reserved, set as 0

See Also

NET_SDK_MANUAL_THERMOMETRY


NET_SDK_POINT_THERMOMETRY

Point temperature measurement structure

struct{
  float                       fPointTemperature;
  NET_VCA_POINT               struPoint;
  BYTE                        byRes[20];
}NET_SDK_POINT_THERMOMETRY,*LPNET_SDK_POINT_THERMOMETRY;

Members

fPointTemperature
Point measurement for current temperature, valid when calibration type is 0, Accurate to 1 decimal place (-40 to +1000 ?C), (floating number+100)*10
struPoint
Point temperature measurement coordinate, valid when rule calibration type is 0
byRes
Reserved, set as 0

See Also

NET_SDK_MANUALTHERM_RULE


NET_SDK_REGION_THERMOMETRY

Region temperature measurement structure

struct{
  float                       fMaxTemperature;
  float                       fMinTemperature;
  float                       fAverageTemperature;
  float                       fTemperatureDiff;
  NET_VCA_POLYGON             struRegion;
  BYTE                        byRes[20];
}NET_SDK_REGION_THERMOMETRY,*LPNET_SDK_REGION_THERMOMETRY;

Members

fMaxTemperature
Max. temperature, accurate to 1 decimal place (-40 to +1000?C), (floating number+100)*100
fMinTemperature
Min. temperature, accurate to 1 decimal place (-40 to +1000?C), (floating number+100)*10
fAverageTemperature
Average, accurate to 1 decimal place (-40 to +1000?C), (floating number+100)*10
fTemperatureDiff
Temperature difference, accurate to 1 decimal place (-40 to +1000?C), (floating number+100)*10
struRegion
Region, line, valid when rule calibration type is 1 or 2
byRes
Reserved, set as 0

See Also

NET_SDK_MANUALTHERM_RULE


NET_SDK_SMOKESHIELDMASK_CFG

Smoke region blocking configuration structure

struct{
  DWORD                           dwSize;
  BYTE                            byEnabled;
  BYTE                            byRes1[3];
  NET_SDK_SMOKESHIELDMASK_REGION  struMaskRegion[MAX_SMOKESHIELDMASK_REGION];
  BYTE                            byRes[256];
}NET_SDK_SMOKESHIELDMASK_CFG, *LPNET_SDK_SMOKESHIELDMASK_CFG;

Members

dwSize
Structure size
byEnabled
Whether to enable smoke region blocking: 0- no, 1- yes
byRes1
Reserved, set as 0
struMaskRegion
Smoke blocking region
byRes
Reserved, set as 0

Remarks

  • Whether the device supports smoke region blocking capability or the supported parameter capability, can be determined through device capability set (SmokeShieldMask), API: NET_DVR_GetSTDAbility, capability set type: NET_DVR_GET_SMOKESHIELDMASK_CAPABILITIES.

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


NET_SDK_SMOKESHIELDMASK_COND

Fire source blocking region configuration condition structure

struct{
  DWORD            dwSize;
  DWORD            dwChannel;
  BYTE             byRegionID;
  BYTE             byRes[127];
}NET_SDK_SMOKESHIELDMASK_COND, *LPNET_SDK_SMOKESHIELDMASK_COND;

Members

dwSize
Structure size
dwChannel
Channel No.
byRegionID
Region ID, 1 to 24
byRes
Reserved, set as 0

See Also

NET_DVR_STDControl


NET_SDK_SMOKESHIELDMASK_REGION

Smoke blocking region structure

struct{
  DWORD                       dwSize;
  BYTE                        byMaskID;
  BYTE                        byEnabled;
  BYTE                        byShieldZoom;
  BYTE                        byMaskType;
  BYTE                        byRegionType;
  BYTE                        byShowEnabled;
  BYTE                        byRes1[2];
  char                        szMaskName[NAME_LEN];
  NET_VCA_POLYGON             struRegion;
  BYTE                        byRes[32];
}NET_SDK_SMOKESHIELDMASK_REGION,*LPNET_SDK_SMOKESHIELDMASK_REGION;

Members

dwSize
Structure size
byMaskID
Region ID, 1 to 24
byEnabled
Whether to enable single smoke blocking region: 0- no, 1- yes
byShieldZoom
Blocking zoom ratio, 0 to 32. Optical zoom over this ratio will be blocked.
byMaskType
Blocking region color type: 0- grey, 1- red, 2- yellow, 3- blue, 4- orange, 5- green, 6- transparent, 7- semi-transparent, 8- mosaic
byRegionType
Region type (reserved) 0- quadrangle
byShowEnabled
Enable region display, read-only, region information will be displayed on upper level if enable is true, and will not on false.
byRes1
Reserved, set as 0
szMaskName
Blocking region name
struRegion
Blocking region
byRes
Reserved, set as 0

See Also

NET_SDK_SMOKESHIELDMASK_CFG


NET_VCA_ADV_REACH_HEIGHT

Polyline climb structure

struct{
  NET_VCA_POLYGON     struRegion;
  DWORD               dwCrossDirection;
  BYTE                byRes[4];
}NET_VCA_ADV_REACH_HEIGHT, *LPNET_VCA_ADV_REACH_HEIGHT;

Members

struRegion
Region range
dwCrossDirection
Crossing direction：
enum _VCA_CROSS_DIRECTION_{
  VCA_BOTH_DIRECTION  = 0,
  VCA_LEFT_GO_RIGHT   = 1,
  VCA_RIGHT_GO_LEFT   = 2
}VCA_CROSS_DIRECTION
VCA_BOTH_DIRECTION
Bidirection
VCA_LEFT_GO_RIGHT
Left-right
VCA_RIGHT_GO_LEFT
Right-left
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_ADV_TRAVERSE_PLANE

Virtual line parameters structure

struct{
  NET_VCA_POLYGON     struRegion;
  DWORD               dwCrossDirection;
  BYTE                bySensitivity;
  BYTE                byRes[3];
}NET_VCA_ADV_TRAVERSE_PLANE, *LPNET_VCA_ADV_TRAVERSE_PLANE;

Members

struRegion
Virtual line
dwCrossDirection
Crossing direction：
enum _VCA_CROSS_DIRECTION_{
  VCA_BOTH_DIRECTION  = 0,
  VCA_LEFT_GO_RIGHT   = 1,
  VCA_RIGHT_GO_LEFT   = 2
}VCA_CROSS_DIRECTION
VCA_BOTH_DIRECTION
bidirection
VCA_LEFT_GO_RIGHT
Left-right
VCA_RIGHT_GO_LEFT
Right-left
bySensitivity
Sensitivity, range[1,5]
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_AREA

Parameter Structure of Enter/Leave Area.

struct{
  NET_VCA_POLYGON   struRegion;
  BYTE              byRes[8];
}NET_VCA_AREA,*LPNET_VCA_AREA;

Members

struRegion
Area coverage
byRes
Reserved, please set to 0

See Also

NET_VCA_POLYGON


NET_VCA_AUDIO_ABNORMAL

Structure of sound intensity mutation parameter

struct{
  WORD    wDecibel;
  BYTE    bySensitivity;
  BYTE    byAudioMode;
  BYTE    byEnable;
  BYTE    byThreshold;
  BYTE    byRes[54];
}NET_VCA_AUDIO_ABNORMAL,*LPNET_VCA_AUDIO_ABNORMAL;

Members

wDecibel
Sound intensity, reserved
bySensitivity
Sensitivity, data range:[1,5]
byAudioMode
Audio detection mode:0- enable sensitivity detection, 1- enable dB threshold detection, 2- both
byEnable
Whether start enable: 0- no, 1- yes
byThreshold
Sound intensity threshold, data range:0-100
byRes
Reserved, set it to 0

See Also

NET_DVR_AUDIO_EXCEPTION NET_VCA_EVENT_UNION


NET_VCA_BEHAVIOR_ABILITY

Output Parameter Structure of Behaviour Analysis.

struct{
  DWORD   dwSize;
  DWORD    dwAbilityType;
  BYTE    byMaxRuleNum;
  BYTE    byMaxTargetNum;
  BYTE    byRes[10];
}NET_VCA_BEHAVIOR_ABILITY,*LPNET_VCA_BEHAVIOR_ABILITY;

Members

dwSize
Structure size
dwAbilityType
Types of supported behaviour analysis,shown by bit,detailed definition as follows:
enum _VCA_ABILITY_TYPE_{
  TRAVERSE_PLANE_ABILITY = 0x01,
  ENTER_AREA_ABILITY     = 0x02,
  EXIT_AREA_ABILITY      = 0x04,
  INTRUSION_ABILITY      = 0x08,
  LOITER_ABILITY         = 0x10,
  LEFT_TAKE_ABILITY      = 0x20,
  PARKING_ABILITY        = 0x40,
  RUN_ABILITY            = 0x80,
  HIGH_DENSITY_ABILITY   = 0x100
}VCA_ABILITY_TYPE
TRAVERSE_PLANE_ABILITY
Traverse alert plane
ENTER_AREA_ABILITY
Enter area
EXIT_AREA_ABILITY
Leave area
INTRUSION_ABILITY
Invade
LOITER_ABILITY
Loiter
LEFT_TAKE_ABILITY
Packet loss and packet picked
PARKING_ABILITY
Park
RUN_ABILITY
Running
HIGH_DENSITY_ABILITY
Person density within area
byMaxRuleNum
Rule number at maximum
byMaxTargetNum
Target number at maximum
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceAbility


NET_VCA_BLACKLIST_COND

Structure of query condition info of black list

struct{
  LONG                       lChannel;
  DWORD                      dwGroupNo;
  BYTE                       byType;
  BYTE                       byLevel;
  BYTE                       byRes1[2];
  NET_VCA_HUMAN_ATTRIBUTE    struAttribute;
  BYTE                       byRes[20];
}NET_VCA_BLACKLIST_COND, *LPNET_VCA_BLACKLIST_COND;

Members

lChannel
Channel number
dwGroupNo
Group number
byType
Flag:0- ALL, 1- White list, 2- black list
byLevel
Level:0- ALL, 1- low,2- medium, 3- high
byRes1
Reserved
struAttribute
Attribute of people
byRes
Reserved

See Also

NET_DVR_FindBlackList


NET_VCA_BLACKLIST_INFO

Structure of black list info

struct{
  DWORD                    dwSize;
  DWORD                    dwRegisterID;
  DWORD                    dwGroupNo;
  BYTE                     byType;
  BYTE                     byLevel;
  BYTE                     byRes1[2];
  NET_VCA_HUMAN_ATTRIBUTE  struAttribute;
  BYTE                     byRemark[NAME_LEN];
  BYTE                     byRes2[20];
}NET_VCA_BLACKLIST_INFO, *LPNET_VCA_BLACKLIST_INFO;

Members

dwSize
Structure size
dwRegisterID
Register ID（read only）
dwGroupNo
Group number
byType
White and black list type:0- All,1- White list, 2- Black list
byLevel
Level of black list: 0- ALL, 1- low, 2- Medium, 3- High
byRes1
Reserved
struAttribute
Human attribute
byRemark
Remark
byRes2
Reserved

Remarks

Group number is valid when register the black list: it will be in the group after you assign the black list into one group.
Group number is invalid when modify the black list, all of this black list will be modified.
Group number is valid when delete the black list, it will delete all the black list in the group

The higher the byLevel is, the higher possibility the alarm triggers.

See Also

NET_VCA_BLACKLIST_INFO_ALARM NET_VCA_BLACKLIST_PARA
NET_VCA_BLACKLIST_INFO_ALARM_LOG NET_VCA_BLACKLIST_FASTREGISTER_PARA


NET_VCA_BLACKLIST_INFO_ALARM

Structure of black list alarm info

struct{
  NET_VCA_BLACKLIST_INFO       struBlackListInfo;
  DWORD                        dwBlackListPicLen;
  BYTE                         byRes[20];
  BYTE                         *pBuffer1;
}NET_VCA_BLACKLIST_INFO_ALARM, *LPNET_VCA_BLACKLIST_INFO_ALARM;

Members

struBlackListInfo
Basic info of black list
dwBlackListPicLen
Length of face picture of black list,0 - there is no picture,more than 0- there are pictures exist
byRes
Reserved
pBuffer1
Buffer of face picture info in the black list

See Also

NET_VCA_FACESNAP_MATCH_ALARM


NET_VCA_BLACKLIST_INFO_ALARM_LOG

Structure of black list info

struct{
  NET_VCA_BLACKLIST_INFO       struBlackListInfo;
  DWORD                        dwBlackListPicID;
  BYTE                         byRes[20];
}NET_VCA_BLACKLIST_INFO_ALARM_LOG, *LPNET_VCA_BLACKLIST_INFO_ALARM_LOG;

Members

struBlackListInfo
Basic info of black list
dwBlackListPicID
ID of face picture in the black list, used for searching picture
byRes
Reserved

See Also

NET_VCA_FACESNAP_MATCH_ALARM_LOG


NET_VCA_CHAN_IN_PARAM

Input Parameter of Intellectualized Device Channel.

struct{
  BYTE   byVCAType;
  BYTE   byMode;
  BYTE   byRes[2];
}NET_VCA_CHAN_IN_PARAM,*LPNET_VCA_CHAN_IN_PARAM;

Members

byVCAType
Types of intellectualized device,detailed definition as follows:
enum _VCA_CHAN_ABILITY_TYPE_{
  VCA_BEHAVIOR_BASE      = 1,
  VCA_BEHAVIOR_ADVANCE   = 2,
  VCA_BEHAVIOR_FULL      = 3,
  VCA_PLATE              = 4,
  VCA_PDC                = 6
}VCA_CHAN_ABILITY_TYPE
VCA_BEHAVIOR_BASE
Basic behaviour analysis
VCA_BEHAVIOR_ADVANCE
Advanced behaviour analysis
VCA_BEHAVIOR_FULL
Complete behaviour analysis
VCA_PLATE
Capacity of plate
VCA_PDC
Capacity of pedestrian counting
byMode
Reserved
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceAbility


NET_VCA_COMBINED_RULE

Combination rule structure

struct{
  BYTE                          byRuleSequence;
  BYTE                          byRes[7];
  DWORD                         dwMinInterval;
  DWORD                         dwMaxInterval;
  NET_VCA_RELATE_RULE_PARAM     struRule1Raram;
  NET_VCA_RELATE_RULE_PARAM     struRule2Raram;
  BYTE                          byRes1[36];
}NET_VCA_COMBINED_RULE,*LPNET_VCA_COMBINED_RULE;

Members

byRuleSequence
Rule triggering sequence: 0- Triggering in sequence or inverted sequence，1- Triggering in inverted sequence
byRes
Reserved, set as 0.
dwMinInterval
Min. time interval, unit: second
dwMaxInterval
Max. time interval, unit: second
struRule1Raram
Rule 1
struRule2Raram
Rule 2
byRes1
Reserved, set as 0.

See Also

NET_VCA_EVENT_UNION


NET_VCA_CTRLCFG

Structure of Intellectualized Control Information.

struct{
  DWORD              dwSize;
  NET_VCA_CTRLINFO   struCtrlInfo[MAX_VCA_CHAN];
  BYTE               byRes[16];
}NET_VCA_CTRLCFG,*LPNET_VCA_CTRLCFG;

Members

dwSize
Structure size
struCtrlInfo
Control information of intellectualized channel
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
NET_VCA_CTRLINFO


NET_VCA_CTRLINFO

Control Information Structure of Intellectualized Channel.

struct{
  BYTE   byVCAEnable;
  BYTE   byVCAType;
  BYTE   byStreamWithVCA;
  BYTE   byMode;
  BYTE   byPDCTime;
  BYTE   byRes[3];
}NET_VCA_CTRLINFO,*LPNET_VCA_CTRLINFO;

Members

byVCAEnable
Whether to activate intelligence:0-no,non 0-yes
byVCAType
Type of intellectualized channel,detailed definition as follows:
enum _VCA_CHAN_ABILITY_TYPE_{
  VCA_BEHAVIOR_BASE     = 1,
  VCA_BEHAVIOR_ADVANCE  = 2,
  VCA_BEHAVIOR_FULL     = 3,
  VCA_PLATE             = 4,
  VCA_PDC               = 6
}VCA_CHAN_ABILITY_TYPE
VCA_BEHAVIOR_BASE
Basic behaviour analysis
VCA_BEHAVIOR_ADVANCE
Advanced behaviour analysis
VCA_BEHAVIOR_FULL
Complete behaviour analysis
VCA_PLATE
Capacity of plate
VCA_PDC
Capacity of pedestrian counting
byStreamWithVCA
Whether stream contains intellectualized information:0-no,non 0-yes
byMode
Reserved
byPDCTime
Minimum time of pedestrian counting
byRes
Reserved, please set to 0


NET_VCA_DEFOCUSPARAM

Structure of defocus detection configuration

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           bySensitiveLevel;
  BYTE                           byRes1[2];
  NET_DVR_HANDLEEXCEPTION_V40    struHandleException;
  BYTE                           byRes2[24];
}NET_VCA_DEFOCUSPARAM,*LPNET_VCA_DEFOCUSPARAM;

Members

dwSize
Structure size
byEnable
Whether enable defocus detection: 0- no, 1- yes
bySensitiveLevel
default 50, the higher the sensitivity, the more easily trigger alarm
byRes
Reserve
struHandleException
Exception handle
byRes2
Reserved, set it to 0

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_VCA_DEV_ABILITY

Capability Structure of Intellectualized Device.

struct{
  DWORD   dwSize;
  BYTE    byVCAChanNum;
  BYTE    byPlateChanNum;
  BYTE    byBBaseChanNum;
  BYTE    byBAdvanceChanNum;
  BYTE    byBFullChanNum;
  BYTE    byATMChanNum;
  BYTE    byPDCChanNum;
  BYTE    byITSChanNum;
  BYTE    byBPrisonChanNum;
  BYTE    byRes[31];
}NET_VCA_DEV_ABILITY,*LPNET_VCA_DEV_ABILITY;

Members

dwSize
Structure size
byVCAChanNum
The total number of intelligent channels
byPlateChanNum
The total number of plate channels
byBBaseChanNum
The total number of basic behaviour version channels
byBAdvanceChanNum
The total number of advanced behaviour version channels
byBFullChanNum
The total number of complete behaviour version channels
byATMChanNum
The total number of intelligent ATM channels
byPDCChanNum
The total number of pedestrian counting channels
byITSChanNum
The total number of traffic event channels
byBPrisonChanNum
The total number of behaviour prison version channels
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceAbility


NET_VCA_DEV_INFO

Information Structure of Front-end Device.

struct{
  NET_DVR_IPADDR   struDevIP;
  WORD             wPort;
  BYTE             byChannel;
  BYTE             byRes;
}NET_VCA_DEV_INFO,*LPNET_VCA_DEV_INFO;

Members

struDevIP
Address of front-end device
wPort
Port of front-end device
byChannel
Channel number of front-end device
byRes
Reserved, please set to 0

See Also

NET_DVR_IPADDR


NET_VCA_DRAW_MODE

Parameter Structure of Intellectualized overlay model.

struct{
  DWORD    dwSize;
  BYTE     byDspAddTarget;
  BYTE     byDspAddRule;
  BYTE     byDspPicAddTarget;
  BYTE     byDspPicAddRule;
  BYTE     byRes[4];
}NET_VCA_DRAW_MODE, *LPNET_VCA_DRAW_MODE;

Members

dwSize
Structure size
byDspAddTarget
Whether encoding overlay target:0-no,non0-yes
byDspAddRule
Whether encoding overlay rule::0-no,non0-yes
byDspPicAddTarget
Whether grabgraf overlay target:0-no,non0-yes
byDspPicAddRule
Whether grabgraf overlay rule:0-no,non0-yes
byRes
Reserved, please set to 0


NET_VCA_ENTER_REGION

Parameter Structure of ATM Entering Region.

struct{
  DWORD             dwSize;
  BYTE              byEnable;
  BYTE              byRes1[3];
  NET_VCA_POLYGON   struPolygon;
  BYTE              byRes2[16];
}NET_VCA_ENTER_REGION, * LPNET_VCA_ENTER_REGION;

Members

dwSize
Structure size
byEnable
Whether activate, 0-no,non0-yes
byRes1
Reserved, please set to 0
struPolygon
Parameter of entering region
byRes2
Reserved, please set to 0

See Also

NET_VCA_POLYGON


NET_VCA_EVENT_UNION

VCA Rule Structure

union{
  DWORD                         uLen[23];
  NET_VCA_TRAVERSE_PLANE         struTraversePlane;
  NET_VCA_AREA                   struArea;
  NET_VCA_INTRUSION              struIntrusion;
  NET_VCA_LOITER                 struLoiter;
  NET_VCA_TAKE_LEFT              struTakeTeft;
  NET_VCA_PARKING                struParking;
  NET_VCA_RUN                    struRun;
  NET_VCA_HIGH_DENSITY           struHighDensity;
  NET_VCA_VIOLENT_MOTION         struViolentMotion;
  NET_VCA_REACH_HIGHT            struReachHight;
  NET_VCA_GET_UP                 struGetUp;
  NET_VCA_LEFT                   struLeft;
  NET_VCA_TAKE                   struTake;
  NET_VCA_HUMAN_ENTER            struHumanEnter;
  NET_VCA_OVER_TIME              struOvertime;
  NET_VCA_STICK_UP               struStickUp;
  NET_VCA_SCANNER                struScanner;
  NET_VCA_LEAVE_POSITION         struLeavePos;
  NET_VCA_TRAIL                  struTrail;
  NET_VCA_FALL_DOWN              struFallDown;
  NET_VCA_AUDIO_ABNORMAL         struAudioAbnormal;
  NET_VCA_ADV_REACH_HEIGHT       struAdvReachHeight;
  NET_VCA_TOILET_TARRY           struToiletTarry;
  NET_VCA_YARD_TARRY             struYardTarry;
  NET_VCA_ADV_TRAVERSE_PLANE     struAdvTraversePlane;
  NET_VCA_STANDUP                struStandUp;
  NET_VCA_PEOPLENUM_CHANGE       struPeopleNumChange;
  NET_VCA_SPACING_CHANGE         struSpacingChange;
  NET_VCA_COMBINED_RULE          struCombinedRule;
  NET_VCA_SIT_QUIETLY            struSitQuietly;
  NET_VCA_HIGH_DENSITY_STATUS    struHighDensityStatus;
}NET_VCA_EVENT_UNION,*LPNET_VCA_EVENT_UNION;

Members

uLen
Union size, 4*23,totally 92 bytes
struTraversePlane
Line Crossing
struArea
Entering/exiting region
struIntrusion
Intrusion
struLoiter
Loitering
struTakeTeft
Unattended Baggage
struParking
Parking/dd>
struRun
Running
struHighDensity
People gathering
struViolentMotion
Violent motion
struReachHight
Climbing
struGetUp
Getting up
struLeft
Baggage lost
struTake
Object removal
struHumanEnter
People entering
struOvertime
Operation overtime
struStickUp
Stick up
struScanner
Card reader parameters
struLeavePos
Post leaving parameters
struTrail
Trailing
struFallDown
Falling down
struAudioAbnormal
Sudden change of sound intensity
struAdvReachHeight
Polyline Climbing
struToiletTarry
Toilet overtime
struYardTarry
Yard Tarry
struAdvTraversePlane
Virtual Line
struStandUp
Standing up
struPeopleNumChange
People counting change
struSpacingChange
Distance change
struCombinedRule
Combined Rule
struSitQuietly
Stay-in
struHighDensityStatus
People gathering status, device upload people gathering status according to the configured interval. This time interval cannot be configured via SDK，and can only be configured via the server configuration file. Default：10s

See Also

NET_DVR_SEARCH_EVENT_RET NET_IVMS_ONE_RULE NET_VCA_ONE_RULE NET_VCA_ONE_RULE_V42 NET_VCA_RULE_INFO


NET_VCA_FACESNAP_INFO_ALARM_LOG

Structure of face capture info

struct{
  DWORD             dwRelativeTime;
  DWORD             dwAbsTime;
  DWORD             dwSnapFacePicID;
  NET_VCA_DEV_INFO  struDevInfo;
  BYTE              byRes[20];
}NET_VCA_FACESNAP_INFO_ALARM_LOG, *LPNET_VCA_FACESNAP_INFO_ALARM_LOG;

Members

dwRelativeTime
Relative time
dwAbsTime
Absolute time
dwSnapFacePicID
ID of snapshot picture
struDevInfo
Info of cameras
byRes
Reserved

Remarks

The algorithm of analysing dwAbsTime into"year month day hour minute second" is shown as follows:
#define GET_YEAR(_time_) (((_time_)>>26) + 2000)
#define GET_MONTH(_time_) (((_time_)>>22) & 15)
#define GET_DAY(_time_) (((_time_)>>17) & 31)
#define GET_HOUR(_time_) (((_time_)>>12) & 31)
#define GET_MINUTE(_time_) (((_time_)>>6) & 63)
#define GET_SECOND(_time_) (((_time_)>>0) & 63)

See Also

NET_VCA_FACESNAP_MATCH_ALARM_LOG


NET_VCA_FACESNAP_MATCH_ALARM

Structure of result comparsion alarm upload of black list

struct{
  DWORD                          dwSize;
  float                          fSimilarity;
  NET_VCA_FACESNAP_INFO_ALARM    struSnapInfo;
  NET_VCA_BLACKLIST_INFO_ALARM   struBlackListInfo;
  BYTE                           byRes[60];
}NET_VCA_FACESNAP_MATCH_ALARM, *LPNET_VCA_FACESNAP_MATCH_ALARM;

Members

dwSize
Structure size
fSimilarity
Similarity, data range:[0.001,1]
struSnapInfo
Info of face snapshot uploading
struBlackListInfo
Alarm info of black list
byRes
Reserved

Remarks

Real-time to compare the captured picture with picture in the black list, and input info the captured picture and info in the black list(including the highest similarity picture）

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_VCA_FACESNAP_MATCH_ALARM_LOG

Result comparsion info of black list

struct{
  DWORD                               dwSize;
  float                               fSimilarity;
  NET_VCA_FACESNAP_INFO_ALARM_LOG     struSnapInfoLog;
  NET_VCA_BLACKLIST_INFO_ALARM_LOG    struBlackListInfoLog;
  BYTE                                byRes[60];
}NET_VCA_FACESNAP_MATCH_ALARM_LOG, *LPNET_VCA_FACESNAP_MATCH_ALARM_LOG;

Members

dwSize
Structure size
fSimilarity
Similarity, data range: [0.001,1]
struSnapInfoLog
Info of snapshot picture
struBlackListInfoLog
Black list info
byRes
Reserved

See Also

NET_DVR_FindNextFaceMatchAlarm


NET_VCA_FACESNAP_RESULT

The structure of face capture result

struct{
  DWORD                    dwSize;
  DWORD                    dwRelativeTime;
  DWORD                    dwAbsTime;
  DWORD                    dwFacePicID;
  DWORD                    dwFaceScore;
  NET_VCA_TARGET_INFO      struTargetInfo;
  NET_VCA_RECT             struRect;
  NET_VCA_DEV_INFO         struDevInfo;
  DWORD                    dwFacePicLen;
  DWORD                    dwBackgroundPicLen;
  BYTE                     bySmart;
  BYTE                     byAlarmEndMark;
  BYTE                     byRes[2];
  NET_VCA_HUMAN_FEATURE    struFeature;
  DWORD                    dwStayDuration;
  BYTE                     byRes2[18];
  WORD                     wDevInfoIvmsChannelEx;
  BYTE                     byRes1[16];
  BYTE                     *pBuffer1;
  BYTE                     *pBuffer2;
}NET_VCA_FACESNAP_RESULT, *LPNET_VCA_FACESNAP_RESULT;

Members

dwSize
The size of the structure
dwRelativeTime
The relative time
dwAbsTime
The absolute time
dwFacePicID
The human face image ID,is used for drawing patrol at the time of the face tracking. It is saved in stream information and analyzed by the media library which can display the patrol.
dwFaceScore
Human face score: range [0~100]
struTargetInfo
Alarm object information
struRect
The area of face capture image
struDevInfo
The information of front-end device
dwFacePicLen
The length of the human face image, 0-No image,>0- With image
dwBackgroundPicLen
The length of the background image, 0-No image,>0- With image(reserved)
bySmart
0- iDS device return (default value), 1- SMART device return
byAlarmEndMark
Alarm-ending mark: 0- reserved, 1- alarm-ending mark
byRes
Reserved
struFeature
Human property
dwStayDuration
Time of remaining in the scene, unit: ms.
byRes2
Reserved
wDevInfoIvmsChannelEx
Same description with byIvmsChannel of NET_VCA_DEV_INFO, can be used to indicate greater value. For older version of client, byIvmsChannel is still compatible, but the maximum value is 255. For later version of client, use wDevInfoIvmsChannelEx
byRes1
Reserved
*pBuffer1
The image data of the human face image
*pBuffer2
The data of the background image

Remarks

  • The face capture camera normally upload the background image(dwBackgroundPicLen、pBuffer2)and human face image (struRect)only, the human face image needs to be cut out from the background image according to the human face area . The face recognition system(iVMS6200/F) will upload the human face image （dwFacePicLen,pBuffer1）and human face image ID （dwFacePicID）only and the background image can be achieved via theNET_DVR_FindBackgroundPicinterface according to the human face image ID.
  • The ralgorithm of getting year/month/day/hour/minute/second analyzed from the dwAbsTime is shown as follows.
    #define GET_YEAR(_time_) (((_time_)>>26) + 2000)
    #define GET_MONTH(_time_) (((_time_)>>22) & 15)
    #define GET_DAY(_time_) (((_time_)>>17) & 31)
    #define GET_HOUR(_time_) (((_time_)>>12) & 31)
    #define GET_MINUTE(_time_) (((_time_)>>6) & 63)
    #define GET_SECOND(_time_) (((_time_)>>0) & 63)

    • See Also

    NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_VCA_FACESNAPCFG

Face capture rule parameter structure

struct{
  DWORD                        dwSize;
  BYTE                         bySnapTime;
  BYTE                         bySnapInterval;
  BYTE                         bySnapThreshold;
  BYTE                         byGenerateRate;
  BYTE                         bySensitive;
  BYTE                         byReferenceBright;
  BYTE                         byMatchType;
  BYTE                         byMatchThreshold;
  NET_DVR_JPEGPARA             struPictureParam;
  NET_VCA_SINGLE_FACESNAPCFG   struRule[MAX_RULE_NUM];
  WORD                         wFaceExposureMinDuration;
  BYTE                         byFaceExposureMode;
  BYTE                         byBackgroundPic;
  DWORD                        dwValidFaceTime;
  DWORD                        dwUploadInterval;
  DWORD                        dwFaceFilteringTime;
  BYTE                         byRes2[84];
}NET_VCA_FACESNAPCFG, *LPNET_VCA_FACESNAPCFG;

Members

dwSize
Structure大小
bySnapTime
Capture times for a single face, value: 0 to 10, the picture with highest rating will be uploaded
bySnapInterval
Capture interval, unit: frame
bySnapThreshold
Capture threshold, range:0-100
byGenerateRate
Target generating speed, range: 1 to 5
bySensitive
Target detection sensitivity, range: 1 to 5
byReferenceBright
Reference brightness, range: 0 to 100
byMatchType
Alarm trigger type: 0- trigger alarm after target disappeared, 1- real-time alarm
byMatchThreshold
Real-time matching threshold, range: 0 to 100
struPictureParam
Picture parameters (resolution and quality)
struRule
Face capture rule
wFaceExposureMinDuration
Min. face exposure duration, unit: s, range: 1 to 3600, default: 60
byFaceExposureMode
Enable face exposure: 1- disable, 2- enable, 0- auto (based on face)
byBackgroundPic
Enable background picture upload: 0- default (enable), 1- disable
dwValidFaceTime
Min. valid face time, unit: s
dwUploadInterval
Face capture statistics upload interval, unit: s, default 900s
dwFaceFilteringTime
Face stay time filtering, value range: 0 to 100, unit: s, default 5s, 0s means not filter
byRes2
Reserved

Remarks

  • Capture is triggered when the picture rating exceeds the threshold.
  • Whether the device supports face capture rule configuration or the supported parameter capability, can be determined through device channel analysis capability set (VcaChanAbility), API: NET_DVR_GetDeviceAbility, capability set type: DEVICE_ABILITY_INFO, node: <FaceSnap>.
  • Face capture result can be obtained through alarm arming or alarm listening, corresponding alarm information type: COMM_UPLOAD_FACESNAP_RESULT, alarm information structure: NET_VCA_FACESNAP_RESULT.

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_VCA_FALL_DOWN

Falling down parameters structure

struct{
  NET_VCA_POLYGON     struRegion;
  WORD                wDuration;
  BYTE                bySensitivity;
  BYTE                byHeightThreshold;
  BYTE                byRes[4];
}NET_VCA_FALL_DOWN, *LPNET_VCA_FALL_DOWN;

Members

struRegion
Region range
wDuration
Event triggering threshold, unit:second, range[1,3600]
bySensitivity
Sensitivity, value range[1,5]
byHeightThreshold
Height threshold, value range[0,250]，default：90，unit：cm
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_FIELDDETECION

Structure of field detection configuration

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  NET_VCA_INTRUSION              struIntrusion[MAX_INTRUSIONREGION_NUM];
  NET_DVR_SCHEDTIME              struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V40    struHandleException;
  DWORD                          dwMaxRelRecordChanNum;
  DWORD                          dwRelRecordChanNum;
  DWORD                          byRelRecordChan[MAX_CHANNUM_V30];
  BYTE                           byRes2[132];
}NET_VCA_FIELDDETECION,*LPNET_VCA_FIELDDETECION;

Members

dwSize
Structure size
byEnable
Whether enable field detection: 0- no, 1- yes
byRes1
Reserved, set it to 0
struIntrusion
Field parameter
struAlarmSched
Arm schedul
struHandleException
Exception handle
dwMaxRelRecordChanNum
The max number of channel(read only) triggered by alarm
dwRelRecordChanNum
The actual channel number that triggered by alarm, the including channel number of current group
byRelRecordChan
The front value of dwRelRecordChanNum is the record channel number triggered by alarm. For example, you can configure record channel dwRelRecordChan[0]- dwRelRecordChan[4] when dwRelRecordChanNum=5
byRes2
Reserved, set it to 0

Remarks

Get NET_DVR_DETECT_FACE according toNET_DVR_CHANNEL_GROUP（dwGroup is the group number, it is 0 or 1 when first call） District group number(dwGroup, max 64 a group) when dwRelRecordChanNum more than 64, get(set) configuration info again by sending configuration condition, group number sets to 2, if it is the multi-group, the group number increases in turn

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_VCA_FILTER_STRATEGY

Structure of size filter strategy

struct{
  BYTE    byStrategy;
  BYTE    byRes[11];
}NET_VCA_FILTER_STRATEGY, *LPNET_VCA_FILTER_STRATEGY;

Members

byStrategy
Size strategy: 0- disable, 1- Height and width filtration, 2- Area filtration
byRes
Reserved

See Also

NET_VCA_ONE_RULE_V41


NET_VCA_FIND_PICTURECOND

Structure of black and white lists comparision alarm search condition

struct{
  LONG               lChannel;
  NET_DVR_TIME       struStartTime;
  NET_DVR_TIME       struStopTime;
  BYTE               byRes[12];
}NET_VCA_FIND_PICTURECOND, *LPNET_VCA_FIND_PICTURECOND;

Members

lChannel
Channel
struStartTime
Start time
struStopTime
Stop time
byRes
Reserved

See Also

NET_DVR_FindFaceMatchAlarm


NET_VCA_GET_UP

起身参数结构体。

struct{
  NET_VCA_POLYGON      struRegion;
  WORD                 wDuration;
  BYTE                 byMode;
  BYTE                 bySensitivity;
  BYTE                 byRes[4];
}NET_VCA_GET_UP, *LPNET_VCA_GET_UP;

Members

struRegion
Region range
wDuration
Triggering event threshold, range:1~100 second
byMode
Stand-up detection mode: 0-大床通铺模式，1-高低铺模式
bySensitivity
Sensitivity parameters, range[1,100]
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_HIGH_DENSITY

Parameter Structure of People Gathering.

struct{
  NET_VCA_POLYGON   struRegion;
  float             fDensity;
  BYTE              bySensitivity;
  BYTE              byRes;
  WORD              wDuration;
}NET_VCA_HIGH_DENSITY,*LPNET_VCA_HIGH_DENSITY;

Members

struRegion
Rigion coverage
fDensity
Ratio of density,ranging from 0.1 to 1.0
bySensitivity
Sensitivity, value range[1,5]
byRes
Reserved, set as 0.0
wDuration
People gathering alarm threshold, range: 20 to 360s

See Also

NET_VCA_POLYGON


NET_VCA_HIGH_DENSITY_STATUS

People gathering status information structure

struct{
  NET_VCA_POLYGON   struRegion;
  float             fDensity;
  BYTE              bySensitivity;
  BYTE              byRes[3];
}NET_VCA_HIGH_DENSITY_STATUS,*LPNET_VCA_HIGH_DENSITY_STATUS;

Members

struRegion
Region range
fDensity
Density Ratio, range[0.1,1.0]
bySensitivity
Sensitivity, range[0,100]
byRes
Reserved, set as 0.

See Also

NET_VCA_EVENT_UNION


NET_VCA_HUMAN_ATTRIBUTE

Structure of human attribute info

struct{
  BYTE                       bySex;
  BYTE                       byCertificateType;
  BYTE                       byBirthDate[MAX_HUMAN_BIRTHDATE_LEN];
  BYTE                       byName[NAME_LEN];
  NET_DVR_AREAINFOCFG        struNativePlace;
  BYTE                       byCertificateNumber[NAME_LEN];
  BYTE                       byRes2[20];
}NET_VCA_HUMAN_ATTRIBUTE, *LPNET_VCA_HUMAN_ATTRIBUTE;

Members

bySex
Sex: 0- Disable, 1- Male, 2- woman
byCertificateType
Certificate type: 0- disable, 1- Identity card, 2- Sergeant card
byBirthDate
Birth Date, such as: 201106
byName
Name
struNativePlace
Native place
byCertificateNumber
Certificate number
byRes2
Reserved

See Also

NET_VCA_BLACKLIST_INFO NET_VCA_BLACKLIST_COND


NET_VCA_HUMAN_ENTER

People Entering parameters structure

struct{
  DWORD    dwRes[23];
}NET_VCA_HUMAN_ENTER, *LPNET_VCA_HUMAN_ENTER;

Members

dwRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_INTRUSION

Parameter Structure of Invasion.

struct{
  NET_VCA_POLYGON   struRegion;
  WORD              wDuration;
  BYTE              byRes[6];
}NET_VCA_INTRUSION,*LPNET_VCA_INTRUSION;

Members

struRegion
Region coverage
wDuration
Alarm delay time:1-120s,5s(advised),judge valid alarm time
byRes
Reserved, please set to 0

See Also

NET_VCA_POLYGON


NET_VCA_LEAVE_POSITION

Position leaving parameters structure

struct{
  NET_VCA_POLYGON    struRegion;
  WORD               wLeaveDelay;
  WORD               wStaticDelay;
  BYTE               byMode;
  BYTE               byPersonType;
  BYTE               byRes[2];
}NET_VCA_LEAVE_POSITION, *LPNET_VCA_LEAVE_POSITION;

Members

struRegion
Region range
wLeaveDelay
Leaving alarm time, unit：second，value range[1,1800]
wStaticDelay
Sleeping alarm time, unit: second, value range[1,1800]
byMode
Mode:0- Leaving，1- Sleeping, 2- Sleeping and leaving
byPersonType
Number of people: 0- One，1-Two
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_LECTURE

Teaching parameter structure

struct{
  NET_VCA_POLYGON               struRegion;
  WORD                          wDuration;
  BYTE                          bySensitivity;
  BYTE                          byAlarmState;
  BYTE                          byTrackingMode;
  BYTE                          byZoomMode;
  BYTE                          byZoomOver;
  BYTE                          byRes;
}NET_VCA_LECTURE,*LPNET_VCA_LECTURE;

Members

struRegion
Area range
wDuration
Behavior event trigger time threshold: 1-10s, recommended 1s, detected as valid alarm time
bySensitivity
Sensitivity, range: 1 to 100
byAlarmState
Read-only field not displayed; 0- reserved, 1- alarm start, 2- alarm end
byTrackingMode
Tracking mode, 0- auto (default), 1- horizontal, 2- vertical
byZoomMode
Zoom mode, 0- fixed (default), 1- auto
byZoomOver
0- reserved, 1- zoom to position (alarm upload to education sharing system, serving as basis of switching images)
byRes
Reserved, set as 0

See Also

NET_VCA_EVENT_UNION


NET_VCA_LEFT

Baggage lost parameters structure。

struct{
  NET_VCA_POLYGON      struRegion;
  WORD                 wDuration;
  BYTE                 bySensitivity;
  BYTE                 byRes[5];
}NET_VCA_LEFT, *LPNET_VCA_LEFT;

Members

struRegion
Region area
wDuration
Event triggering threshold, range[10,100], unit: second
bySensitivity
Sensitivity, value range[1,5]
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_LINE

Parameter Structure of Line Structure.

struct{
  NET_VCA_POINT    struStart;
  NET_VCA_POINT    struEnd;
}NET_VCA_LINE,*LPNET_VCA_LINE;

Members

struStart
Start
struEnd
End


NET_VCA_LOITER

Parameter Structure of Loitering.

struct{
  NET_VCA_POLYGON   struRegion;
  WORD              wDuration;
  BYTE              byRes[6];
}NET_VCA_LOITER,*LPNET_VCA_LOITER;

Members

struRegion
Region coverage
wDuration
Time of triggered loitering alarm:1-120s,10s advised
byRes
Reserved, please set to 0

See Also

NET_VCA_POLYGON


NET_VCA_MASK_REGION

Structure of Shielding Region.

struct{
  BYTE              byEnable;
  BYTE              byRes[3];
  NET_VCA_POLYGON   struPolygon;
}NET_VCA_MASK_REGION, *LPNET_VCA_MASK_REGION;

Members

byEnable
Whether activate,0-no,non0-yes
byRes
Reserved, please set to 0
struPolygon
Shielding polygon

See Also

NET_VCA_POLYGON


NET_VCA_MASK_REGION_LIST

Linked List Structure of Shielding Region.

struct{
  DWORD                 dwSize;
  BYTE                  byRes[4];
  NET_VCA_MASK_REGION   struMask[MAX_MASK_REGION_NUM];
}NET_VCA_MASK_REGION_LIST, *LPNET_VCA_MASK_REGION_LIST;

Members

dwSize
Structure size
byRes
Reserved, please set to 0
struMask
Array of shielding region

See Also

NET_VCA_MASK_REGION


NET_VCA_ONE_RULE

Parameter Structure of Alarming Rule.

struct{
  BYTE                          byActive;
  BYTE                          byRes[7];
  BYTE                          byRuleName[NAME_LEN];
  VCA_EVENT_TYPE                dwEventType;
  NET_VCA_EVENT_UNION           uEventParam;
  NET_VCA_SIZE_FILTER           struSizeFilter;
  NET_DVR_SCHEDTIME             struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];
  NET_DVR_HANDLEEXCEPTION_V30   struHandleType;
  BYTE                          byRelRecordChan[MAX_CHANNUM_V30];
}NET_VCA_ONE_RULE,*LPNET_VCA_ONE_RULE;

Members

byActive
Whether activate rules:0-no,non0-yes
byRes
Reserved, please set to 0
byRuleName
Rule name
dwEventType
Event type of behaviour analysis,detailed definition as follows:
enum _VCA_EVENT_TYPE_{
  VCA_TRAVERSE_PLANE = 0x1,
  VCA_ENTER_AREA     = 0x2,
  VCA_EXIT_AREA      = 0x4,
  VCA_INTRUSION      = 0x8,
  VCA_LOITER         = 0x10,
  VCA_LEFT_TAKE      = 0x20,
  VCA_PARKING        = 0x40,
  VCA_RUN            = 0x80,
  VCA_HIGH_DENSITY   = 0x100
}VCA_EVENT_TYPE
VCA_TRAVERSE_PLANE
Traverse alerting plane
VCA_ENTER_AREA
Target enters area,region rules supported
VCA_EXIT_AREA
Target leaves area,region rules supported
VCA_INTRUSION
Invade perimeter,region rules supported
VCA_LOITER
Loiter,region rules supported
VCA_LEFT_TAKE
Packet loss/packet picked,region rules supported
VCA_PARKING
Park,region rules supported
VCA_RUN
Running,region rules supported
VCA_HIGH_DENSITY
People density within area,region rules supported
uEventParam
Event parameter of behaviour analysis
struSizeFilter
Size filter
struAlarmTime
Guard time
struHandleType
Treatment
byRelRecordChan
Whether alarm triggers recording channel:1-trigger;0-not trigger

See Also

NET_VCA_EVENT_UNION NET_VCA_SIZE_FILTER
NET_DVR_SCHEDTIME NET_DVR_HANDLEEXCEPTION_V30


NET_VCA_ONE_RULE_V41

Structure of alert plane parameter

struct{
  BYTE                          byActive;
  BYTE                          byRes1[5];
  WORD                          wEventTypeEx;
  BYTE                          byRuleName[NAME_LEN];
  DWORD                         dwEventType;
  NET_VCA_EVENT_UNION           uEventParam;
  NET_VCA_SIZE_FILTER           struSizeFilter;
  NET_DVR_SCHEDTIME             struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V30   struHandleType;
  BYTE                          byRelRecordChan[MAX_CHANNUM_V30];
  WORD                          wAlarmDelay;
  BYTE                          byRes2[2];
  NET_VCA_FILTER_STRATEGY       struFilterStrategy;
  NET_VCA_RULE_TRIGGER_PARAM    struTriggerParam;
  BYTE                          byRes[32];
}NET_VCA_ONE_RULE_V41,*LPNET_VCA_ONE_RULE_V41;

Members

byActive
Whether active:0- no; other -yes
byRes1
Reserved, set it to 0
wEventTypeEx
Behavior event type extension, suitable for the dwEventType, please refer toVCA_RULE_EVENT_TYPE_EX
byRuleName
Rule name
dwEventType
Behavior analysis type, please refer to VCA_EVENT_TYPE
uEventParam
Behavior analysis event parameter
struSizeFilter
Size filter
struAlarmTime
ALarm time
struHandleType
Handle type
byRelRecordChan
Video channel of the alarm triggered, 1- triggered, 0- not triggered. For example, byRelRecordChan[0]==1 means that trigger the channel 1 to recording while byRelRecordChan[1]==1 means trigger channel 2 to recording and so on.
struFilterStrategy
Size filter strategy
struTriggerParam
Rule trigger paramete
byRes
Reserved, set it to 0

Remarks

The uploading behavior event alarm, please distinguish the event type by the value of wEventTypeEx, the compatible parameter is dwEventType

See Also

NET_VCA_RULECFG_V41


NET_VCA_ONE_RULE_V42

Alarm rule parameter Structure.

struct{
  BYTE                          byActive;
  BYTE                          byEventPriority;
  BYTE                          byRes1[4];
  WORD                          wEventType;
  BYTE                          byRuleName[NAME_LEN];
  NET_VCA_EVENT_UNION           uEventParam;
  NET_VCA_SIZE_FILTER           struSizeFilter;
  NET_DVR_SCHEDTIME             struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V40   struAlarmHandleType;
  DWORD                         dwRelRecordChan[MAX_CHANNUM_V30];
  WORD                          wAlarmDelay;
  BYTE                          byRes2[2];
  NET_VCA_FILTER_STRATEGY       struFilterStrategy;
  NET_VCA_RULE_TRIGGER_PARAM    struTriggerParam;
  BYTE                          byRes[32];
}NET_VCA_ONE_RULE_V42,*LPNET_VCA_ONE_RULE_V42;

Members

byActive
Activate rule: 0-no; other than 0-yes
byEventPriority
Event priority: 0-low; 1-middle; 2-high
byRes1
Reserved, set as 0
wEventType
Event type, refer toVCA_RULE_EVENT_TYPE_EX
byRuleName
Rule name
uEventParam
Behavior analysis event parameter
struSizeFilter
Size filter
struAlarmTime
Arming time
struHandleType
Handle type
dwRelRecordChan
The channel number of the video channel triggered by alarm is bonded with group number.When the group number is 0, related channel number range is 1 to 64, and the numbers are consecutive in this group. When 0xffffffff appears, that means the present and subsequent related channel numbers are invalid.
wAlarmDelay
Intelligent alarm delay: 0- 5s，1- 10，2- 30s，3- 60s，4- 120s，5- 300s，6- 600s
byRes2
Reserved, set as 0
struFilterStrategy
Size filter strategy
struTriggerParam
Rule triggering parameter
byRes
Reserved, set as 0

Remarks

  • dwRelRecordChan related video channel number is bonded with group number. Each group has 64 channels. Get (set) configuration structure according to the condition structureNET_DVR_CHANNEL_GROUP (the group number of the first group is 0). If the number of groups is more than 1, the group number is 1. Resend configuration condition to get (configure) the configuration information of next group. When the number of groups is more than one, the group number increases consecutively.

See Also

NET_VCA_RULECFG_V42


NET_VCA_OVER_TIME

Operation overtime alarm structure

struct{
  NET_VCA_POLYGON      struRegion;
  WORD                 wDuration;
  BYTE                 byRes[6];
}NET_VCA_OVER_TIME, *LPNET_VCA_OVER_TIME;

Members

struRegion
Region Area
wDuration
Operation overtime alarm threshold
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_PARKING

Park Parameter Structure.

struct{
  NET_VCA_POLYGON   struRegion;
  WORD              wDuration;
  BYTE              byRes[6];
}NET_VCA_PARKING,*LPNET_VCA_PARKING;

Members

struRegion
Region coverage
wDuration
Lasting time of alarm triggered by parking:1-120s,10s advised
byRes
Reserved, please set to 0

See Also

NET_VCA_POLYGON


NET_VCA_PEOPLENUM_CHANGE

People number changing alarm structure

struct{
  NET_VCA_POLYGON     struRegion;
  BYTE                bySensitivity;
  BYTE                byPeopleNumThreshold;
  BYTE                byDetectMode;
  BYTE                byNoneStateEffective;
  WORD                wDuration;
  BYTE                byRes[2];
}NET_VCA_PEOPLENUM_CHANGE, *LPNET_VCA_PEOPLENUM_CHANGE;

Members

struRegion
Region area
bySensitivity
Sensitivity, value range[1,100]
byPeopleNumThreshold
People number threshold, value range[0,5]，default：1
byDetectMode
Mode, compared with people number threshold:1- More than ，2- Less than, 3- Equal to, 4- Not equal to
byNoneStateEffective
Enable No-people status? 0- Enable, 1- Disable
wDuration
Event triggering threshold, unit: second, value range[1,3600]，default：2
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_POINT

Coordinate Parameter Structure.

struct{
  float  fX;
  float  fY;
}NET_VCA_POINT,*LPNET_VCA_POINT;

Members

fX
X axis,ranging from 0.001 to 1
fY
Y axis,ranging from 0.001 to 1


NET_VCA_POLYGON

Polygon Structure.

struct{
  DWORD           dwPointNum;
  NET_VCA_POINT   struPos[VCA_MAX_POLYGON_POINT_NUM];
}NET_VCA_POLYGON,*LPNET_VCA_POLYGON;

Members

dwPointNum
Valid point(greater than or equal 3),if 3 points are in the same line,as well as line-cross,region is invalid
struPos
Boundary point of polygon,10 at maximun

See Also

NET_VCA_POINT


NET_VCA_REACH_HIGHT

Climbing alarm structure

struct{
  NET_VCA_LINE    struVcaLine;
  WORD            wDuration;
  BYTE            byRes[6];
}NET_VCA_REACH_HIGHT, *LPNET_VCA_REACH_HIGHT;

Members

struVcaLine
Climbing virtual line
wDuration
Event triggering threshold, range[1,100]
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_RECT

Parameter Structure of Regional Frame.

struct{
  float   fX;
  float   fY;
  float   fWidth;
  float   fHeight;
}NET_VCA_RECT,*LPNET_VCA_RECT;

Members

fX
X axis of upper-left corner point of border frame,ranging from 0.000 to 1
fY
Y axis of upper-left corner point of border frame,ranging from 0.000 to 1
fWidth
Width of border frame,ranging from 0.000 to 1
fHeight
Height of border frame,ranging from 0.000 to 1


NET_VCA_RULE_ALARM

Alarm Structure of Behaviour Analysis. p>

struct{
  DWORD                 dwSize;
  DWORD                 dwRelativeTime;
  DWORD                 dwAbsTime;
  NET_VCA_RULE_INFO     struRuleInfo;
  NET_VCA_TARGET_INFO   struTargetInfo;
  NET_VCA_DEV_INFO      struDevInfo;
  DWORD                 dwPicDataLen;
  BYTE                  byPicType;
  BYTE                  byRelAlarmPicNum;
  BYTE                  bySmart;
  BYTE                  byRes[3];
  DWORD                 dwAlarmID;
  WORD                  wDevInfoIvmsChannelEx;
  BYTE                  byRes2[6];
  BYTE                  *pImage;
}NET_VCA_RULE_ALARM,*LPNET_VCA_RULE_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative timing scale, the time from enable the smart function to the alarm triggered.
dwAbsTime
Absolute timing scale
struRuleInfo
Event rule information
struTargetInfo
Alarm target information
struDevInfo
Front-end device information
dwPicDataLen
Return picture length:0-no picture,greater than 0-this structure followed by picture data s
byPicType
0- normal picture, 1- comparable picture
byRes
Reserved, set it to 0
byRelAlarmPicNum
The number of alarm pictures of associated channel
bySmart
Return value of IDS devices, (default it to 0)，Smart Functiom Return 1
dwRes
Reserved, set it to 0
dwAlarmID
Alarm ID,0-invalid
wDevInfoIvmsChannelEx
Same description with byIvmsChannel of NET_VCA_DEV_INFO, can be used to indicate greater value. For older version of client, byIvmsChannel is still compatible, but the maximum value is 255. For later version of client, use wDevInfoIvmsChannelEx
dwRes2
Reserved
pImage
Pointer pointing to picture

Remarks

Relative timing scale is not avaliable now, the algorithm that parse the "year/month/day/hour/minute/second" from Absolute timing scale dwAbsTime is as follows:
#define GET_YEAR(_time_) (((_time_)>>26) + 2000)
#define GET_MONTH(_time_) (((_time_)>>22) & 15)
#define GET_DAY(_time_) (((_time_)>>17) & 31)
#define GET_HOUR(_time_) (((_time_)>>12) & 31)
#define GET_MINUTE(_time_) (((_time_)>>6) & 63)
#define GET_SECOND(_time_) (((_time_)>>0) & 63)

See Also

NET_DVR_SetDVRMessageCallBack_V30 NET_DVR_StartListen_V30


NET_VCA_RULE_INFO

Information Structure of Event Rule

struct{
  BYTE                  byRuleID;
  BYTE                  byRes;
  WORD                  wEventTypeEx;
  BYTE                  byRuleName[NAME_LEN];
  DWORD                 dwEventType;
  NET_VCA_EVENT_UNION   uEventParam;
}NET_VCA_RULE_INFO,*LPNET_VCA_RULE_INFO;

Members

byRuleID
Rule number,set structure subscript for rules,0-7
byRes
Reserved, please set to 0
wEventTypeEx
Alert Event Type extension, please refer to VCA_RULE_EVENT_TYPE_EX
byRuleName
Rule name
dwEventType
Alert Event Type, please refer toVCA_EVENT_TYPE
uEventParam
Event parameter

Remarks

The uploading behavior event alarm, please distinguish the event type by the value of wEventTypeEx, the compatible parameter is dwEventType

See Also

NET_VCA_RULE_ALARM


NET_VCA_RULE_TRIGGER_PARAM

Structure of rule trigger parameter

struct{
  BYTE     byTriggerMode;
  BYTE     byTriggerPoint;
  BYTE     byRes1[2];
  float    fTriggerArea;
  BYTE     byRes2[4];
}NET_VCA_RULE_TRIGGER_PARAM, *LPNET_VCA_RULE_TRIGGER_PARAM;

Members

byTriggerMode
Trigger mode: 0- disable, 1- tracing point, 2- target area
byTriggerPoint
Trigger point, it will valid when the trigger mode is tracing mode: 0- center, 1- up, 2- down
byRes1
Reserve
fTriggerArea
Area percentage of the triggered target area, data range:[0,100]; It will be valid when the trigger mode is taret area
byRes2
Reserved

See Also

NET_VCA_ONE_RULE_V41


NET_VCA_RULECFG

Parameter Structure of Behaviour Analysis.

struct{
  DWORD              dwSize;
  BYTE               byPicProType;
  BYTE               byRes[3];
  NET_DVR_JPEGPARA   struPictureParam;
  NET_VCA_ONE_RULE   struRule[MAX_RULE_NUM];
}NET_VCA_RULECFG,*LPNET_VCA_RULECFG;

Members

dwSize
Structure size
byPicProType
Whether handle pictures upon alerting:0-not handle;non0-handle
byRes
Reserved, please set to 0
struPictureParam
Picture specification structure
struRule
Rule array

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
NET_DVR_JPEGPARA NET_VCA_ONE_RULE


NET_VCA_RUN

Running Parameter Structure.

struct{
  NET_VCA_POLYGON   struRegion;
  float             fRunDistance;
  BYTE              byRes[4];
}NET_VCA_RUN,*LPNET_VCA_RUN;

Members

struRegion
Region coverage
fRunDistance
The maximum distance people running,ranging from 0.01 to 1.00
byRes
Reserved, please set to 0

See Also

NET_VCA_POLYGON


NET_VCA_SAVE_PATH_CFG

Device storage information structure

struct{
  DWORD                    dwSize;
  NET_VCA_SINGLE_PATH      struPathInfo[MAX_DISKNUM_V30];
  BYTE                     byRes[40];
}NET_VCA_SAVE_PATH_CFG, *LPNET_VCA_SAVE_PATH_CFG;

Members

dwSize
Structure size
struPathInfo
Single partition information
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


NET_VCA_SCANNER

Card reader parameters structure

struct{
  NET_VCA_POLYGON   struRegion;
  WORD              wDuration;
  BYTE              bySensitivity;
  BYTE              byRes[5];
}NET_VCA_SCANNER,*LPNET_VCA_SCANNER;

Members

struRegion
Region area
wDuration
Card reading duration: 4-60 second，recommendation: 10s
bySensitivity
Sensitivity, range[1,5]
byRes
Reserved, set as 0.

See Also

NET_VCA_EVENT_UNION


NET_VCA_SINGLE_FACESNAPCFG

Face capture rule parameter (single entry) structure

struct{
  BYTE                    byActive;
  BYTE                    byAutoROIEnable;
  BYTE                    byRes[2];
  NET_VCA_SIZE_FILTER     struSizeFilter;
  NET_VCA_POLYGON         struVcaPolygon;
}NET_VCA_SINGLE_FACESNAPCFG, *LPNET_VCA_SINGLE_FACESNAPCFG;

Members

byActive
Whether to activate rule: 0- no, 1- yes
byAutoROIEnable
Enable face auto ROI switch: 0- disable, 1- enable
byRes
Reserved
struSizeFilter
Size filter
struVcaPolygon
Face recognition area

See Also

NET_VCA_FACESNAPCFG


NET_VCA_SINGLE_PATH

Single partition configuration structure

struct{
  BYTE     byActive;
  BYTE     byType;
  BYTE     bySaveAlarmPic;
  BYTE     byRes1[5];
  DWORD    dwDiskDriver;
  DWORD    dwLeftSpace;
  BYTE     byRes2[8];
}NET_VCA_SINGLE_PATH, *LPNET_VCA_SINGLE_PATH;

Members

byActive
Whether available: 0- no, 1- yes
byType
0- storage capture, 1- storage blacklist matching alarm, 2- storage capture and blacklist matching alarm
bySaveAlarmPic
Whether to save network disconnection alarm picture: 0- no, 1- yes
byRes1
Reserved
dwDiskDriver
Disk No., starting from 0
dwLeftSpace
Reserved capacity, unit: GB
byRes2
Reserved

See Also

NET_VCA_SAVE_PATH_CFG


NET_VCA_SIZE_FILTER

Parameter Structure of Size Filter.

struct{
  BYTE           byActive;
  BYTE           byRes[3];
  NET_VCA_RECT   struMiniRect;
  NET_VCA_RECT   struMaxRect;
}NET_VCA_SIZE_FILTER,*LPNET_VCA_SIZE_FILTER;

Members

byActive
Whether activate size filter,0-no,non0-yes
byRes
Reserved, please set to 0
struMiniRect
Minimum target frame,not set with all zero
struMaxRect
Maximum target frame,not set with all zero

See Also

NET_VCA_RECT


NET_VCA_SPACING_CHANGE

Distance changing parameters structure

struct{
  NET_VCA_POLYGON     struRegion;
  float               fSpacingThreshold;
  BYTE                bySensitivity;
  BYTE                byDetectMode;
  WORD                wDuration;
}NET_VCA_SPACING_CHANGE, *LPNET_VCA_SPACING_CHANGE;

Members

struRegion
Region area
fSpacingThreshold
Distance threshold, value range[0,10.0]，default：1.0，Unit：meter
bySensitivity
Sensitivity, value range [1,100]
byDetectMode
Detection mode, Compared with distance threshold: 1- More than，2- Less than
wDuration
Event triggering threshold, unit: second, value range[1,3600]，default：2

See Also

NET_VCA_EVENT_UNION


NET_VCA_STANDUP

Stand-up parameters structure

struct{
  NET_VCA_POLYGON     struRegion;
  BYTE                bySensitivity;
  BYTE                byHeightThreshold;
  WORD                wDuration;
  BYTE                byRes[4];
}NET_VCA_STANDUP, *LPNET_VCA_STANDUP;

Members

struRegion
Region area
bySensitivity
Sensitivity,value range [1,100]
byHeightThreshold
Height threshold, value range [0,250]，default：130，unit：cm
wDuration
Event triggering threshold, unit: second, value range[1,3600]，default:2
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_STICK_UP

Sticking alarm parameters structure。

struct{
  NET_VCA_POLYGON   struRegion;
  WORD              wDuration;
  BYTE              bySensitivity;
  BYTE              byRes[5];
}NET_VCA_STICK_UP,*LPNET_VCA_STICK_UP;

Members

struRegion
Region area
wDuration
Triggering time threshold: 4 to 60 second，10 second is recommended.
bySensitivity
Sensitivity parameters, range[1,5]
byRes
Reserved, set as 0.

See Also

NET_VCA_EVENT_UNION


NET_VCA_TAKE

Object Removal alarm structure

struct{
  NET_VCA_POLYGON      struRegion;
  WORD                 wDuration;
  BYTE                 bySensitivity;
  BYTE                 byRes[5];
}NET_VCA_TAKE, *LPNET_VCA_TAKE;

Members

struRegion
Region area
wDuration
Alarm triggering threshold:10 to 100 second
bySensitivity
Sensitivity, value range[1,5]
byRes
reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_TAKE_LEFT

Parameter Structure of Packet Loss/Packet Picked.

struct{
  NET_VCA_POLYGON   struRegion;
  WORD              wDuration;
  BYTE              byRes[6];
}NET_VCA_TAKE_LEFT,*LPNET_VCA_TAKE_LEFT;

Members

struRegion
Region coverage
wDuration
Lasting time upon alarm triggered by packet loss/packet picked:1-120s,10s advised
byRes
Reserved, please set to 0

See Also

NET_VCA_POLYGON


NET_VCA_TARGET_INFO

Structure of Alarm Target Information.

struct{
  DWORD          dwID;
  NET_VCA_RECT   struRect;
  BYTE           byRes[4];
}NET_VCA_TARGET_INFO,*LPNET_VCA_TARGET_INFO;

Members

dwID
Target ID,set to 0 when people density too high leads to alert
struRect
Target border frame
byRes
Reserved, please set to 0

See Also

NET_VCA_RECT


NET_VCA_TOILET_TARRY

Toilet tarry alarm structure

struct{
  NET_VCA_POLYGON     struRegion;
  WORD                wDelay;
  BYTE                byRes[6];
}NET_VCA_TOILET_TARRY, *LPNET_VCA_TOILET_TARRY;

Members

struRegion
Region area
wDelay
Toilet tarry time, unit:second, value range[1,3600]
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_TRAIL

Trailing parameters structure

struct{
  NET_VCA_POLYGON     struRegion;
  WORD                wRes;
  BYTE                bySensitivity;
  BYTE                byRes[5];
}NET_VCA_TRAIL, *LPNET_VCA_TRAIL;

Members

struRegion
Region area
wRes
Reserved
bySensitivity
Sensitivity, value range [1,5]
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_TRAVERSE_PLANE

Parameter structure of Traversing Alert Plane.

struct{
  NET_VCA_LINE          struPlaneBottom;
  VCA_CROSS_DIRECTION   dwCrossDirection;
  BYTE                  byRes1;
  BYTE                  byPlaneHeight;
  BYTE                  byRes2[38];
}NET_VCA_TRAVERSE_PLANE,*LPNET_VCA_TRAVERSE_PLANE;

Members

struPlaneBottom
Hemline of alert plane
dwCrossDirection
Traversing direction,detailed definition as follows:
enum _VCA_CROSS_DIRECTION_{
  VCA_BOTH_DIRECTION  = 0,
  VCA_LEFT_GO_RIGHT   = 1,
  VCA_RIGHT_GO_LEFT   = 2
}VCA_CROSS_DIRECTION
VCA_BOTH_DIRECTION
Double direction
VCA_LEFT_GO_RIGHT
From left to right
VCA_RIGHT_GO_LEFT
From right to left
byRes1
Reserved, please set to 0
byPlaneHeight
Alert plane height
byRes2
Reserved, please set to 0

See Also

NET_VCA_LINE


NET_VCA_TRAVERSE_PLANE_DETECTION

Structure of traverse plane detection configuration

struct{
  DWORD                          dwSize;
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  NET_VCA_TRAVERSE_PLANE         struAlertParam[MAX_ALERTLINE_NUM];
  NET_DVR_SCHEDTIME              struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30];
  NET_DVR_HANDLEEXCEPTION_V40    struHandleException;
  DWORD                          dwMaxRelRecordChanNum;
  DWORD                          dwRelRecordChanNum;
  DWORD                          byRelRecordChan[MAX_CHANNUM_V30];
  BYTE                           byRes2[132];
}NET_VCA_TRAVERSE_PLANE_DETECTION,*LPNET_VCA_TRAVERSE_PLANE_DETECTION;

Members

dwSize
Structure size
byEnable
Enabel traverse plane detection: 0- no, 1- yes
byRes1
Reserved, set it to 0
struAlertParam
Alert parameter
struAlarmSched
Arm schedul
struHandleException
Exception handle
dwMaxRelRecordChanNum
The max number of channel(read only) triggered by alarm
dwRelRecordChanNum
The actual channel number that triggered by alarm, the including channel number of current group
byRelRecordChan
The front value of dwRelRecordChanNum is the record channel number triggered by alarm. For example, you can configure record channel dwRelRecordChan[0]- dwRelRecordChan[4] when dwRelRecordChanNum=5
byRes2
Reserved, set it to 0

Remarks

Get NET_DVR_DETECT_FACE according to NET_DVR_CHANNEL_GROUP（dwGroup is the group number, it is 0 or 1 when first call） District group number(dwGroup, max 64 a group) when dwRelRecordChanNum more than 64, get(set) configuration info again by sending configuration condition, group number sets to 2, if it is the multi-group, the group number increases in turn

See Also

NET_DVR_GetDeviceConfig NET_DVR_SetDeviceConfig


NET_VCA_VIOLENT_MOTION

Violent motion parameters structure

struct{
  NET_VCA_POLYGON    struRegion;
  WORD               wDuration;
  BYTE               bySensitivity;
  BYTE               byMode;
  BYTE               byRes[4];
}NET_VCA_VIOLENT_MOTION, *LPNET_VCA_VIOLENT_MOTION;

Members

struRegion
Region area
wDuration
Event triggering threshold, 1 to 50 seconds
bySensitivity
Sensitivity range, range[1,100]
byMode
0-Video，1-Video and audio，2-Audio
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


NET_VCA_YARD_TARRY

Yard tarry parameters structure

struct{
  NET_VCA_POLYGON     struRegion;
  WORD                wDelay;
  BYTE                byRes[6];
}NET_VCA_YARD_TARRY, *LPNET_VCA_YARD_TARRY;

Members

struRegion
Region area
wDelay
Yard tarry time, unit: second, value range[1,120]
byRes
Reserved

See Also

NET_VCA_EVENT_UNION


TTY_CONFIG

Serial Port Parameter Structure.

struct{
  BYTE         baudrate;
  BYTE         databits;
  BYTE         stopbits;
  BYTE         parity;
  BYTE         flowcontrol;
  BYTE         res[3];
}TTY_CONFIG,*LPTTY_CONFIG;

Members

baudrate
Baud rate
databits
Data bit
stopbits
Stop bit
parity
Parity bit
flowcontrol
Flow control
res
Reserved, please set to 0


VCA_EVENT_TYPE

Enumeration of behavior analyssi event type

enum _VCA_EVENT_TYPE_{
  VCA_TRAVERSE_PLANE     = 0x1,
  VCA_ENTER_AREA         = 0x2,
  VCA_EXIT_AREA          = 0x4,
  VCA_INTRUSION          = 0x8,
  VCA_LOITER             = 0x10,
  VCA_LEFT_TAKE          = 0x20,
  VCA_PARKING            = 0x40,
  VCA_RUN                = 0x80,
  VCA_HIGH_DENSITY       = 0x100,
  VCA_VIOLENT_MOTION     = 0x200,
  VCA_REACH_HIGHT        = 0x400,
  VCA_GET_UP             = 0x800,
  VCA_LEFT               = 0x1000,
  VCA_TAKE               = 0x2000,
  VCA_LEAVE_POSITION     = 0x4000,
  VCA_TRAIL              = 0x8000,
  VCA_KEY_PERSON_GET_UP  = 0x10000,
  VCA_FALL_DOWN          = 0x80000,
  VCA_AUDIO_ABNORMAL     = 0x100000,
  VCA_ADV_REACH_HEIGHT   = 0x200000,
  VCA_TOILET_TARRY       = 0x400000,
  VCA_YARD_TARRY         = 0x800000,
  VCA_ADV_TRAVERSE_PLANE = 0x1000000,
  VCA_HUMAN_ENTER        = 0x10000000,
  VCA_OVER_TIME          = 0x20000000,
  VCA_STICK_UP           = 0x40000000,
  VCA_INSTALL_SCANNER    = 0x80000000
}VCA_EVENT_TYPE
VCA_TRAVERSE_PLANE
Traverse alert plane
VCA_ENTER_AREA
Target entering area,region rule supported
VCA_EXIT_AREA
Target leaving area,region rule supported
VCA_INTRUSION
Perimeter intrusion,region rule supported
VCA_LOITER
Loiter,region rule supported
VCA_LEFT_TAKE
Packet loss/packet picked,region rule supported
VCA_PARKING
Park,region rule supported
VCA_RUN
Running,region rule supported
VCA_HIGH_DENSITY
People density within area,region rule supported
VCA_VIOLENT_MOTION
Violent movement detection
VCA_REACH_HIGHT
Reach high detection
VCA_GET_UP
Get up detection
VCA_LEFT
Item Left
VCA_TAKE
Item take
VCA_LEAVE_POSITION
Leave position
VCA_TRAIL
Trall
VCA_KEY_PERSON_GET_UP
Key person get up detection
VCA_FALL_DOWN
Fall down detection
VCA_AUDIO_ABNORMAL
Audio abnormal detection
VCA_ADV_REACH_HEIGHT
Polygonal reach high
VCA_TOILET_TARRY
Toilet tarry
VCA_YARD_TARRY
Yard tarry
VCA_ADV_TRAVERSE_PLANE
Polygonal traverse plane
VCA_HUMAN_ENTER
人Human enter ATM（ support only in the ATM_PANEL mode)
VCA_OVER_TIME
Operation over time(support only in the ATM_PANEL mode）
VCA_STICK_UP
Stich up, region rule supported
VCA_INSTALL_SCANNER
Install scanner,region rule supported

See Also

NET_DVR_EVENT_INFO NET_IVMS_ONE_RULE NET_VCA_ONE_RULE

NET_VCA_ONE_RULE_V41 NET_VCA_RULE_INFO


VCA_RULE_EVENT_TYPE_EX

Enumeration of behavior analysis event type

enum _VCA_RULE_EVENT_TYPE_EX_{
  ENUM_VCA_EVENT_TRAVERSE_PLANE     = 1,
  ENUM_VCA_EVENT_ENTER_AREA         = 2,
  ENUM_VCA_EVENT_EXIT_AREA          = 3,
  ENUM_VCA_EVENT_INTRUSION          = 4,
  ENUM_VCA_EVENT_LOITER             = 5,
  ENUM_VCA_EVENT_LEFT_TAKE          = 6,
  ENUM_VCA_EVENT_PARKING            = 7,
  ENUM_VCA_EVENT_RUN                = 8,
  ENUM_VCA_EVENT_HIGH_DENSITY       = 9,
  ENUM_VCA_EVENT_VIOLENT_MOTION     = 10,
  ENUM_VCA_EVENT_REACH_HIGHT        = 11,
  ENUM_VCA_EVENT_GET_UP             = 12,
  ENUM_VCA_EVENT_LEFT               = 13,
  ENUM_VCA_EVENT_TAKE               = 14,
  ENUM_VCA_EVENT_LEAVE_POSITION     = 15,
  ENUM_VCA_EVENT_TRAIL              = 16,
  ENUM_VCA_EVENT_KEY_PERSON_GET_UP  = 17,
  ENUM_VCA_EVENT_FALL_DOWN          = 20,
  ENUM_VCA_EVENT_AUDIO_ABNORMAL     = 21,
  ENUM_VCA_EVENT_ADV_REACH_HEIGHT   = 22,
  ENUM_VCA_EVENT_TOILET_TARRY       = 23,
  ENUM_VCA_EVENT_YARD_TARRY         = 24,
  ENUM_VCA_EVENT_ADV_TRAVERSE_PLANE = 25,
  ENUM_VCA_EVENT_HUMAN_ENTER        = 29,
  ENUM_VCA_EVENT_OVER_TIME          = 30,
  ENUM_VCA_EVENT_STICK_UP           = 31,
  ENUM_VCA_EVENT_INSTALL_SCANNER    = 32
  ENUM_VCA_EVENT_PEOPLENUM_CHANGE    = 35,
  ENUM_VCA_EVENT_SPACING_CHANGE      = 36,
  ENUM_VCA_EVENT_COMBINED_RULE       = 37,
  ENUM_VCA_EVENT_SIT_QUIETLY         = 38,
  ENUM_VCA_EVENT_HIGH_DENSITY_STATUS = 39
}VCA_RULE_EVENT_TYPE_EX
ENUM_VCA_EVENT_TRAVERSE_PLANE
Traverse alert plane
ENUM_VCA_EVENT_ENTER_AREA
Target entering area,region rule supported
ENUM_VCA_EVENT_EXIT_AREA
Target leaving area,region rule supported
ENUM_VCA_EVENT_INTRUSION
Perimeter intrusion,region rule supported
ENUM_VCA_EVENT_LOITER
Loiter,region rule supported
ENUM_VCA_EVENT_LEFT_TAKE
Packet loss/packet picked,region rule supported
ENUM_VCA_EVENT_PARKING
Park,region rule supported
ENUM_VCA_EVENT_RUN
Running,region rule supported
ENUM_VCA_EVENT_HIGH_DENSITY
People density within area,region rule supported
ENUM_VCA_EVENT_VIOLENT_MOTION
Violent movement detection
ENUM_VCA_EVENT_REACH_HIGHT
Reach high detection
ENUM_VCA_EVENT_GET_UP
Get up detection
ENUM_VCA_EVENT_LEFT
Item Left
ENUM_VCA_EVENT_TAKE
Item take
ENUM_VCA_EVENT_LEAVE_POSITION
Leave position
ENUM_VCA_EVENT_TRAIL
Trall
ENUM_VCA_EVENT_KEY_PERSON_GET_UP
Key person get up detection
ENUM_VCA_EVENT_FALL_DOWN
Fall down detection
ENUM_VCA_EVENT_AUDIO_ABNORMAL
Audio abnormal detection
ENUM_VCA_EVENT_ADV_REACH_HEIGHT
Polygonal reach high
ENUM_VCA_EVENT_TOILET_TARRY
Toilet tarry
ENUM_VCA_EVENT_YARD_TARRY
Yard tarry
ENUM_VCA_EVENT_ADV_TRAVERSE_PLANE
Polygonal traverse plane
ENUM_VCA_EVENT_HUMAN_ENTER
Human enter ATM(support only in the ATM_PANEL mode）
ENUM_VCA_EVENT_OVER_TIME
Operation over time(support only in the ATM_PANEL mode）
ENUM_VCA_EVENT_STICK_UP
Stich up, region rule supported
ENUM_VCA_EVENT_INSTALL_SCANNER
Install scanner,region rule supported
ENUM_VCA_EVENT_PEOPLENUM_CHANGE
People number changing event
ENUM_VCA_EVENT_SPACING_CHANGE
Distance changing event
ENUM_VCA_EVENT_COMBINED_RULE
Combination rule event
ENUM_VCA_EVENT_SIT_QUIETLY
Stay-in event
ENUM_VCA_EVENT_HIGH_DENSITY_STATUS
People gathering status in area, device upload people gathering status according to the configured interval. This time interval cannot be configured via SDK，and can only be configured via the server configuration file. Default：10s

See Also

NET_VCA_ONE_RULE_V41 NET_VCA_RULE_INFO


VLR_VEHICLE_CLASS

The automobile brands

enum _VLR_VEHICLE_CLASS_{
  VLR_OTHER           = 0,    //Other
  VLR_VOLKSWAGEN      = 1,    //VOLKSWAGEN
  VLR_BUICK           = 2,    //BUICK
  VLR_BMW             = 3,    //BMW
  VLR_HONDA           = 4,    //HONDA
  VLR_PEUGEOT         = 5,    //HONDA
  VLR_TOYOTA          = 6,    //TOYOTA
  VLR_FORD            = 7,    //FORD
  VLR_NISSAN          = 8,    //NISSAN
  VLR_AUDI            = 9,    //NISSAN
  VLR_MAZDA           = 10,   //MAZDA
  VLR_CHEVROLET       = 11,   //CHEVROLET
  VLR_CITROEN         = 12,   //CITROEN
  VLR_HYUNDAI         = 13,   //HYUNDAI
  VLR_CHERY           = 14,   //CHERY
  VLR_KIA             = 15,   //KIA
  VLR_ROEWE           = 16,   //KIA
  VLR_MITSUBISHI      = 17,   //MITSUBISHI
  VLR_SKODA           = 18,   //MITSUBISHI
  VLR_GEELY           = 19,   //GEELY
  VLR_ZHONGHUA        = 20,   //ZHONGHUA
  VLR_VOLVO           = 21,   //VOLVO
  VLR_LEXUS           = 22,   //LEXUS
  VLR_FIAT            = 23,   //FIAT
  VLR_EMGRAND         = 24,   //FIAT
  VLR_DONGFENG        = 25,   //FIAT
  VLR_BYD             = 26,   //FIAT
  VLR_SUZUKI          = 27,   //SUZUKI
  VLR_JINBEI          = 28,   //JINBEI
  VLR_HAIMA           = 29,   //HAIMA
  VLR_SGMW            = 30,   //HAIMA
  VLR_JAC             = 31,   //JAC
  VLR_SUBARU          = 32,   //SUBARU
  VLR_ENGLON          = 33,   //ENGLON
  VLR_GREATWALL       = 34,   //ENGLON
  VLR_HAFEI           = 35,   //HAFEI 哈飞
  VLR_ISUZU           = 36,   //ISUZU
  VLR_SOUEAST         = 37,   //_SOUEAST
  VLR_CHANA           = 38,   //CHANA
  VLR_FOTON           = 39,   //FOTON
  VLR_XIALI           = 40,   //XIALI
  VLR_BENZ            = 41,   //BENZ
  VLR_FAW             = 42,   //FAW
  VLR_NAVECO          = 43,   //NAVECO
  VLR_LIFAN           = 44,   //LIFAN
  VLR_BESTURN         = 45,   //BESTURN
  VLR_CROWN           = 46,   //BESTURN
  VLR_RENAULT         = 47,   //RENAULT
  VLR_JMC             = 48,   //JMC
  VLR_MG              = 49,   //MG
  VLR_KAMA            = 50,   //KAMA
  VLR_ZOTYE           = 51,   //ZOTYE
  VLR_CHANGHE         = 52,   //CHANGHE
  VLR_XMKINGLONG      = 53,   //XIAMENKINGLONG
  VLR_HUIZHONG        = 54,   //XMKINGLONG
  VLR_SZKINGLONG      = 55,   //_SUZHOUKINGLONG
  VLR_HIGER           = 56,   //HIGER
  VLR_YUTONG          = 57,   //YUTONG
  VLR_CNHTC           = 58,   //CNHTC
  VLR_BEIBEN          = 59,   //BEIBEN
  VLR_XINGMA          = 60,   //XINGMA
  VLR_YUEJIN          = 61,   //YUEJIN
  VLR_HUANGHAI        = 62,    //HUANGHAI
  VLR_OLDWALL         = 63,    //OLDWALL
  VLR_CHANACOMMERCIAL = 64,    //CHANA-COMMERCIAL
  VLR_PORSCHE         = 65,    //PORSCHE
  VLR_CADILLAC        = 66,    //CADILLAC
  VLR_INFINITI        = 67,    //INFINITI
  VLR_GLEAGLE         = 68,    //INFINITI
  VLR_JEEP            = 69,    //JEEP
  VLR_LANDROVER       = 70,    //LANDROVER
  VLR_CHANGFENG       = 71,    //CHANGFENG
  VLR_BENNI           = 72,    //BENNI
  VLR_ERA             = 73,    //ERA
  VLR_TAURUS          = 74,    //TAURUS
  VLR_EADO            = 75,    //TAURUS
  VLR_SHANQI          = 76,    //SHANQI
  VLR_HONGYAN         = 77,    //HONGYAN
  VLR_DRAGON          = 78,    //DRAGON
  VLR_JACTEXT         = 79,    //JACTEXT
  VLR_JACBUS          = 80,    //JAC BUS
  VLR_ANKAI           = 81,    //ANKAI BUS
  VLR_SHENLONG        = 82,    //SHENLONG
  VLR_DAEWOO          = 83,    //DAEWOO
  VLR_WUZHENG         = 84,    //WUZHENG
  VLR_MAN             = 85,    //MAN
  VLR_ZHONGTONG       = 86,    //ZHONGTONG
  VLR_BAOJUN          = 87,    //BAOJUN
  VLR_BQWEIWANG       = 88,    //BQWEIWANG
  VLR_TRUMPCHE        = 89,    //TRUMPCHE
  VLR_LUFENG          = 90,    //LUFENG
  VLR_HMZHENGZHOU     = 91,    //HAIMA-MZHENGZHOU
  VLR_BEIJING         = 92,    //BEIJING
  VLR_ZHONGSHUN       = 93,    //ZHONGSHUN
  VLR_WEILIN          = 94,    //WEILIN
  VLR_OPEL            = 95,    //OPEL
  VLR_KARRY           = 96,    //KARRY
  VLR_SMA             = 97,    //SMA
  VLR_SMATEXT         = 98,    //C-SMA TEXT
  VLR_YUWIN           = 99,    //JMC YUWIN
  VLR_MINI            = 100,    //BMW MINI
  VLR_MARK            = 101,    //TOYOTA MARKX
  VLR_HAVAL           = 102,    //HAVAL
  VLR_OGA             = 103,    //OGA
  VLR_VENUCIA         = 104,    //VENUCIA
  VLR_BYD2            = 105,    //BYD2
  VLR_SMART           = 106,    //SMART
  VLR_BAW             = 107,    //BAW
  VLR_LUXGEN          = 108,    //BAW
  VLR_YEMA            = 109,    //YEMA
  VLR_ZTE             = 110,    //ZTE
  VLR_EVERUS          = 111,    //EVERUS
  VLR_CHRYSLER        = 112,    //CHRYSLER
  VLR_GONOW           = 113,    //GONOW
  VLR_SHJIANG         = 114,    //SONGHHUAJIANG
  VLR_RUILIN          = 115,    //RUILIN
  VLR_FORTA           = 116,    //RUILIN
  VLR_GAGUAR          = 117,    //GAGUAR
  VLR_HEIBAO          = 118,    //HEIBAO
  VLR_TKING           = 119,    //TANGKING
  VLR_TKINGTEXT       = 120,    //TANGKINGTEXT
  VLR_FODAY           = 121,    //FODAY
  VLR_LOTUS           = 122,    //LOTUS
  VLR_NANJUN          = 123,    //NANJUN
  VLR_SHUANGHUAN      = 124,    //NANJUN
  VLR_SAIBAO          = 125,    //SAIBAO
  VLR_HAWTAI          = 126,    //HAWTAI
  VLR_LIFO            = 127,    //LIFO
  VLR_JONWAY          = 128,    //JONWAY
  VLR_FULONGMA        = 129,    //FULONGMA
  VLR_WEILI           = 130,    //WEILI
  VLR_ANCHI           = 131,    //ANCHI
  VLR_PAIXI           = 132,    //PAIXI
  VLR_HIGERTEXT       = 133,    //HIGERTEXT
  VLR_RIYECAR         = 134,    //RIYECAR
  VLR_RIYETRUCK       = 135,    //RIYETRUCK
  VLR_JIANGNAN        = 136,    //JIANGNAN
  VLR_OLDZOTYE        = 137,    //OLDZOTYE
  VLR_OLDXIALI        = 138,    //CHARADE
  VLR_NEWAOCHI        = 139,    //NEWAOCHI
  VLR_CDW             = 140,    //CDW
  VLR_CDWTEXT         = 141,    //CDWTEXT
  VLR_CIIMO           = 142,    //CDWTEXT
  VLR_CHANADS         = 143,    //CHANADS
  VLR_DS              = 144,    //DODGE
  VLR_ROHENS          = 145,    //ROHENS
  VLR_YANTAI          = 146,    //YANTAI
  VLR_SHUANGLONG      = 147,    //SHUANGLONG
  VLR_FENGLING        = 148,    //FENGLING
  VLR_XINKAI          = 149,    //XINKAI
  VLR_GMC             = 150,    //GMC
  VLR_DATONG          = 151,    //MASUX
  VLR_BQYINXIANG      = 152,    //BQ YINXIANG
  VLR_NEWCHERY        = 153,    //NEW CHERY
  VLR_MUDAN           = 154,    //MUDAN
  VLR_DAYUN           = 155,    //DAYUN
  VLR_DONGWO          = 156,    //DONGWO
  VLR_UNION           = 157,    //UNION
  VLR_CHUNZHOU        = 158,    //CHUNZHOU
  VLR_SANY            = 159,    //SANY
  VLR_YAXING          = 160,    //YAXING
  VLR_HENGTONG        = 161,    //HENGTONG
  VLR_SHAOLIN         = 162,    //SHAOLIN
  VLR_YOUNG           = 163,    //YOUNG
  VLR_STOM            = 164,    //STOM
  VLR_SANHUAN         = 165,    //SANHUAN
  VLR_XUGONG          = 166,    //XUGONG
  VLR_BEIFANG         = 167,    //NORTH AUTO
  VLR_JIANGHUAN       = 168,    //JIANGHUAN
  VLR_BJFARM          = 169,    //BJ FARM
  VLR_NEWDADI         = 170,    //NEWDADI
  VLR_SUNWIN          = 171,    //SUNWIN
  VLR_YINGTIAN        = 172,    //YINGTIAN
  VLR_QINGQI          = 173,    //QINGQI
  VLR_CHUFENG         = 174,    //CHUFENG
  VLR_SCANIA          = 175,    //SCANIA
  VLR_JIULONG         = 176,    //JIULONG
  VLR_YOUYI           = 177,    //YOUYI
  VLR_SHANGRAO        = 178,    //SHANGYAO
  VLR_JIJIANG         = 179,    //JIJIANG
  VLR_YANGZI          = 180,    //YANGZI
  VLR_XIWO            = 181,    //XIWO
  VLR_CHANGJIANG      = 182,    //CHANGJIANG
  VLR_WUYI            = 183,    //WUYI
  VLR_CHENGDU         = 184,    //CHENDU
  VLR_TIANMA          = 185,    //TIANMA
  VLR_BAOLONG         = 186,    //BAOLONG
  VLR_NEWYATU         = 187,    //SOYAT
  VLR_BARUI           = 188,    //BORREGO
  VLR_GUANZHI         = 189,    //GUANZHI
  VLR_XIYATE          = 190,    //SEAT
  VLR_BINLI           = 191,    //BENTLEY
  VLR_DADI            = 192,    //DADI
  VLR_FUQI            = 193,    //FUQI
  VLR_HANGTIAN        = 194,    //HANGTIAN
  VLR_HENGTIAN        = 195,    //HENGTIAN
  VLR_JMCCAR          = 196,    //JMC-CAR
  VLR_KAERSEN         = 197,    //CARLSON
  VLR_KAWEI           = 198,    //KAWEI
  VLR_LANBOJINI       = 199,    //LAMBORGHINI
  VLR_MASHALADI       = 200,    //MASERATI
  VLR_SHUCHI          = 201,    //SHUCHI
  VLR_SHILI           = 202,    //SHILI
  VLR_HUABEI          = 203,    //HUABEI
  VLR_YIZHENG         = 204,    //YIZHENG
  VLR_CHUNLAN         = 205,    //CHUNLAN
  VLR_DAFA            = 206,    //DAIHATSU
  VLR_SHENYE          = 207,    //SHENYE
  VLR_FALALI          = 208,    //FERRARI
  VLR_FUXING          = 209,    //FUXING
  VLR_ANYUAN          = 210,    //ANYUAN
  VLR_JINGHUA         = 211,    //JINGHUA
  VLR_TAIHU           = 212,    //TAIHU
  VLR_WUZHOULONG      = 213,    //WUZHOULONG
  VLR_CHANGLONG       = 214,    //CHANGLONG
  VLR_C               = 215,    //SHENMA
  VLR_SHENMA          = 216,    //SHENMA
  VLR_LUSHAN          = 217,    //LUSHAN
  VLR_WANFENG         = 218,    //WANFENG
  VLR_GZYUNBAO        = 219,    //GUANG ZHOU YUNBAO
  VLR_ZHONGDA         = 220,    //ZHONGDA
  VLR_THREEWHEEL      = 221,    //Tricycle
  VLR_TWOWHEEL        = 222,    //Cart
  VLR_JBC             = 223,    //JBC
  VLR_YZJIANG         = 224,    //YANF ZI JIANG BUS
  VLR_CNJ             = 225,    //CNJ
  VLR_FORLAND         = 226,    //FARMCAR
  VLR_FARMCAR         = 227,    //FARMCAR
  VLR_DONGFANGHONG    = 228,    //DONGFANGHONG
  VLR_STEYR           = 229,    //HONGQI
  VLR_HONGQI          = 230     //HONGQI
}VLR_VEHICLE_CLASS

See Also

NET_DVR_FIND_PICTURE NET_DVR_VEHICLE_INFO NET_DVR_PARKLAMP_INFOCFG


BlackListScheduleList XML Block

BlackList arming schedule configuration XML description

<BlackListScheduleList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">

<Schedule/> <!--opt,xs: Schedule>

</BlackListScheduleList>

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig


WhiteListScheduleList XML Block

WhiteListScheduleList White list arming time configuration XML description

<WhiteListScheduleList version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">

<Schedule/> <!--opt,xs: Schedule>

</WhiteListScheduleList>

See Also

See Also

NET_DVR_GetSTDConfig NET_DVR_SetSTDConfig