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 includes two modes: pull mode and push mode:

    The pull mode

    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: (i)DS-2CD91xx、DS-2CD9xx, 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

    The push mode

    The SDK is used as register server (CMS) and client (CU). The CMS parameter (IP address and port of register server) of the device should be set firstly, and then the device will register to the CMS actively. It applies to, but are not limited to the following product model:

  • DVR:DS-7216HV-ST/GE, DS-7216HV-ST/GE, DS-7216HV-ST/GW, DS-7216HV-ST/GW, DS-7216HV-ST/GS, DS-7216HV-ST/GS
  • Mobile DVR:DS-8100HMF-T, DS-8104HMF-ST, DS-8100HM-ST
  • Encoder:DS-660(1/2/4)HC(I), DS-660(1/2/4)HC(I)-SATA, DS-660(1/2/4)HF(I), DS-660(1/2/4)HF(I)-SATA, DS-6601/2/4)HC(I)/GX, DS-660(1/2/4)HC(I)-SATA/GX, DS-660(1/2/4)HC(I)-SD/GX, DS-660(1/2/4)HF(I)/GX, DS-660(1/2/4)HF(I)-SATA/GX, DS-660(1/2/4)HF(I)-SD/GX, DS-66(04/08/12/16/20/24/28/323640/44/48/52/56/60/64)HF(I)-JX, DS-6601HFH(I), DS-6601HFH(I)/L

    Because some function of SDK has been extended, and firmware of device is also updated. To be convenient for explanation, we classify device into two classes: the devices such as DS-7116, DS-81xx, DS-90xx, DS-91xx, DS-95xx, DS-96xx are called device supports V3.0 above, the devices such as DS-80xx, IPC are called devices supports V3.0 below.

    The Device Network SDK has both Windows and Linux Version.

    Windows Device Network SDK:
    Network Communication Library
    HCNetSDK.h | Head file
    HCNetSDK.lib | LIB file
    HCNetSDK.dll | DLL library file
    RTSP Communication Library
    StreamTransClient.dll DLL file
    Encapsulation Transformation Library
    SystemTransform.dll DLL file
    Voice Talk Library
    AudioIntercom.dll | DLL file
    OpenAL32.dll | DLL file
    Simulate Capability Set
    LocalXml.zip XML file packet
    Qos Library
    QosControl.dll DLL file
    Software decode Library
    plaympeg4.h | Head file
    PlayCtrl.lib | LIB file
    PlayCtrl.dll | DLL file
    Hardware decode Library
    DataType.h DecodeCardSdk.h | head file
    DsSdk.lib | LIB file
    DsSdk.dll | DLL file

    Linux Device Network SDK library:
    Network Communication Library
    hcnetsdk.h | head file
    libhcnetsdk.so | SO file
    RTSP Communication Library
    libStreamTransClient.so SO file
    Encapsulation Transformation Library
    libSystemTransform.so SO file
    Qos Library
    libQosControl.so SO file
    Software Decode Library
    plaympeg4.h | head file
    libMPCtrl.so | SO file
    libPlayCtrl.so | SO file

    HCNetSDK is 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.
    • 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.
    • Voice talk library is used for voice talk to encode or decode th audio data according to the assigned format. The SDK of V4.2.2.5 or earlier versions, it uses Windows API to realize the related function. For the later version, it supports calling NET_DVR_SetSDKLocalCfg to select the mode. OpenAL32.dll is the dependent librariy of AudioIntercom.dll, and must load it in the mode of using voice talk library. There is no voice talk function in Linux system.
    • Before calling NET_DVR_GetDeviceAbility to get the capability set of devices, we can enable the simulate capability set by calling NET_DVR_SetSDKLocalCfg, and then "LocalXml.zip" should be loaded (should be loaded in the same path with Network Communication Library).
    • The 'QosControl' library is stream bitrate control library, used for push mode SDK.
    • Software Decoding Library is used for display real time video stream (remote preview), playback files, etc. It has included standard stream decoding function. If users needs to play real-time stream or recoding data and display(i.e. the second structure parameter play handle of NET_DVR_RealPlay_V40 interface set to effective), must load this component. However, if users just need to use it for capturing data, then do external operation, needn't load this component, this way is more flexible, refer to <Player SDK Programming Manual>. Linux 64bit does not support the software decoding function, and the window handle when calling the API of live view or playback should be set to NULL, just to get stream from the device while not decode and display.
    • Hardware Decoding Library can only be used when there is MDI card installed in the PC, and it can output video or video matrix to analog monitors. If users need to play real-time stream in internal SDK, must load this component. To call for more convenient and flexible hardware decoding functions, recommended treatment by capturing data and then do external decoding. Only use in Windows, No hardware decoding function in Linux. Refer to <Card SDK Programming Manual> decode card API part.


System Supported by SDK

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

    Device Network SDK for Linux:
  • Linux 32 or 64 bit
  • The version is requested to be gcc 4.1 or above
  • The tested system: RedHat AS 5/6, (Fedora)FC 10/12, CentOS 5, SUSE 10, openSUSE 11, and Ubuntu 9.04/10.04


Version New Content

Device Network SDK Programming Manual

Version Update Content

Date | Version | New device types | New content
2014.04.08 V4.2.8.7 build20140408 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
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.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和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_SetRegisterCallBack
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


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 |


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, functions like decoding display and play control, and support software and hardware decoding at the same time. 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

  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();
    //设置连接时间与重连时间
    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.


Push Mode SDK Architecture

When under development of the applications, the push mode SDK functions as two roles—the CMS which is a register server, and the CU which is a client. PU is short for name of the module on the device end.

When used as the CMS, the SDK is operated as a server, and the PU on the device end is the client. When the device started, it registered to the SDK server automatically. And the SDK maintains the heartbeats of the connection with the device after connection is established. By this connection the SDK can operate and configure the device.

When used as the CU, the device is the server and the SDK is the client. The SDK can configure the request response callback function of live view, playback, voice talk, or alarm, and receive data from the device connected.

The figure above shows the architecture of the modules, and the numbers in the figure indicated the data flow between different modules. For instance (live view)：

    ① The client sends the live view commands to the server
    ② The server forward the command to the device
    ③ The device responds the command
    ④ The sever forward the response message to the client
    ⑤ Connection established between the device and the client and the video transmission request is sent
    ⑥ The client responds the request
    ⑦ The device transmits the data stream
    ⑧ The heartbeats of the data stream is maintained

Note: The mutual interaction between CU and the CMS develop is not provided. It can be developed by customers.


Push Mode Register Procedure

This chapter shows the register request and management functions of the SDK when used as the CMS. After the device actively registered to the CMS, the calling method of functions: parameter configuration, remote device maintenance function, transparent channel function, PTZ control, files and log searching, and so on, should be same as the application mode that the SDK used as the client and registers actively the remote devices.

The dashed line is optional.

  • When the callback function receives the “offline” message, the device information will not be deleted in the SDK. NET_DVR_Logout_V30 should be called to delete the user information.
  • The parity for the registered device should be done by the upper level, if the parity passed, the callback function returns 0, otherwise it is not passed.
  • When the status of heartbeats changed, the SDK will send message to the upper level. For instance, when the status changes from normal to abnormal, the SDK sends "exception" message; when the status changes from abnormal to normal, the SDK will send "restoration" message.
  • The request functions: preview request(NET_DVR_PreviewRequest), playback request( NET_DVR_PlaybackRequest), voice talk request( NET_DVR_VoiceRequest), alarm arming request( NET_DVR_AlarmSetupRequest).


Push Mode Preview Procedure

The procedure of the SDK using as the CU is described:

Please call NET_DVR_SetPreviewResponseCallBack to set response callback function of preview push stream, start server(NET_DVR_StartServer), and set real-time stream data callback function(NET_DVR_SetRealDataCallBack), then you can get the stream data pushed from device in callback function.

  • When pushing the stream, the SDK get the stream without playing the video data, and the play and the controlling of the play can be realized by the PlayCtrl.dll.
  • The live view request should be controlled by the CMS (NET_DVR_PreviewRequest), you can choose whether you need to enable QoS.
  • PTZ control module functions as the controller for the PTZ in the live view mode. PTZ control includes the Preset, the Patrol; the pattern and transparent PTZ. The related interface includes: NET_DVR_PTZControl, NET_DVR_PTZPreset, NET_DVR_PTZCruise, NET_DVR_PTZTrack, NET_DVR_TransPTZ.


Push Mode Playback Procedure

There are two record files searching modes. You can search the record files by time or by file. The files can be searched in the CMS and the procedure is shown below.

For playback by file：

  • Search in the CMS and get the files you want, related APIs: NET_DVR_FindFile_V30, NET_DVR_FindNextFile_V30, NET_DVR_FindClose_V30.
  • Send the playback request according to the information you got, related APIs: NET_DVR_PlaybackRequest.

    For playback by time：

  • Send the playback request directly, related APIs: NET_DVR_PlaybackRequest.

    SDK is used as the CU end, and the interaction of the SDK and the device is shown below:

    To realize playback:

    • Set the response callback function of the playback data stream (NET_DVR_SetPlaybackResponseCallBack).
    • Start the server (NET_DVR_StartServer).
    • Set the callback function of the playback data stream to get the data pushed from the device (NET_DVR_SetPlayDataCallBack).
    • After the normal playback, you should use the command NET_DVR_PLAYSTART to start playback by calling NET_DVR_PlayBackControl.

    When playback in push mode, the SDK gets the stream only without decoding and displaying the video. The video play and the playback control can be realized by PlayCtrl.dll


Push Mode Voice Talk Procedure

1. The device starts voice talk: SDK should be used as CMS and sends voice talk request (NET_DVR_VoiceRequest). Please refer to Register Module for detailed procedure.

2. SDK as CU, talks with the device:

Set voice talk response callbacl function (NET_DVR_SetVoiceResponseCallBack), and start server (NET_DVR_StartServer) to enable talking.

  • Every client supports one channel of voice talk at the same time.


Push Mode Alarm Procedure

For the procedure of the SDK working as the CMS, refer to the register procedure. When the SDK works as the CU, the interaction with device is shown in the following figure.

  • Alarm arming method: Set the response callback functions for alarming arming(NET_DVR_SetAlarmSetupResponseCallBack), set alarm message callback function(NET_DVR_SetDVRMessageCallBack_V30), start the server（NET_DVR_StartServer), and then you can uploaded alarm information in alarm message callback function.
  • Listening method: the SDK doesn’t respond actively and it listens the alarm information uploaded actively by the device on set port.
  • In the push mode, the picture uploading is taking the listening method.


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_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.

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_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_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_SetRecvTimeOut

Set receiving timeout.

BOOL NET_DVR_SetRecvTimeOut(
  DWORD   nRecvTimeOut
);

Parameters

nRecvTimeOut
[in] Timeout, unit: millisecond, the min value is 3000, default: 5000

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 set the timeout of data receiving, such as the real-time data of live view, the video data of playback, the alarm message, and so on.


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_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_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_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
enum _NET_SDK_LOCAL_CFG_TYPE_{
  NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND  = 0,
  NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND,
  NET_SDK_LOCAL_CFG_TYPE_MEM_POOL,
  NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT,
  NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE,
  NET_SDK_LOCAL_CFG_TYPE_TALK_MODE,
  NET_SDK_LOCAL_CFG_TYPE_PROTECT_KEY
}NET_SDK_LOCAL_CFG_TYPE
lpOutBuff
[out] output parameter,different configuration type correspoding the different structure of output paramters
enumType | Meaning | The corresponding structure of lpOutBuff
NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND | Local binding configuration of TCP port | NET_DVR_LOCAL_TCP_PORT_BIND_CFG
NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND | Local binding configuration of UDP port | NET_DVR_LOCAL_UDP_PORT_BIND_CFG
NET_SDK_LOCAL_CFG_TYPE_MEM_POOL | Local configuration of memory pool | NET_DVR_LOCAL_MEM_POOL_CFG
NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT | Timeout configuration by module | NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG
NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE | Whether use the capability resolver library | NET_DVR_LOCAL_ABILITY_PARSE_CFG
NET_SDK_LOCAL_CFG_TYPE_TALK_MODE | Configuration of voice talk mode | NET_DVR_LOCAL_TALK_MODE_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 local parameters of SDK

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

Parameters

enumType
[in] Type of configuration
enum _NET_SDK_LOCAL_CFG_TYPE_{
  NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND  = 0,
  NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND,
  NET_SDK_LOCAL_CFG_TYPE_MEM_POOL,
  NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT,
  NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE,
  NET_SDK_LOCAL_CFG_TYPE_TALK_MODE,
  NET_SDK_LOCAL_CFG_TYPE_PROTECT_KEY
}NET_SDK_LOCAL_CFG_TYPE
lpInBuff
[in] input parameter,different configuration type correspoding the different structure of input paramters
EnumType | Meaning | The corresponding structure of lpOutBuff
NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND | Local binding configuration of TCP port | NET_DVR_LOCAL_TCP_PORT_BIND_CFG
NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND | Local binding configuration of UDP port | NET_DVR_LOCAL_UDP_PORT_BIND_CFG
NET_SDK_LOCAL_CFG_TYPE_MEM_POOL | Local configuration of memory pool | NET_DVR_LOCAL_MEM_POOL_CFG
NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT | Timeout configuration by module | NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG
NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE | Whether use the capability resolver library | NET_DVR_LOCAL_ABILITY_PARSE_CFG
NET_SDK_LOCAL_CFG_TYPE_TALK_MODE | Configuration of voice talk mode | NET_DVR_LOCAL_TALK_MODE_CFG

Return Values

Returns TRUE on success, FALSE on failure. Please 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_ALIAS_DUPLICATE | 150 | Alias is duplicate (for HiDDNS)
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.
Error code of intelligent devices |  |
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.
The other error code |  |
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.
Error code of interrogation machine |  |
The other error code |  |
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.
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.
Snap error code |  |
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.
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.

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 Voice Talk 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 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

We can get message of error code by calling 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

Return the pointer of the error code message. 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_ALIAS_DUPLICATE | 150 | Alias is duplicate (for HiDDNS)
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.
Error code of intelligent devices |  |
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.
The other error code |  |
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.
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.
Snap error code |  |
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.
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.

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 Voice Talk 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 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

We can get the value of error code by NET_DVR_GetLastError.

See Also

NET_DVR_GetLastError


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

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_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_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.

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".
NET_DVR_DSSDK_ERROR | 68 | Failed to call 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_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_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_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_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_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_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_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_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_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_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.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30 NET_DVR_StopSaveRealData


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.

See Also

NET_DVR_RealPlay NET_DVR_RealPlay_V30 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 calling this API to set capture mode, please call NET_DVR_CapturePicture to get the corresponding picture.

See Also

NET_DVR_CapturePicture


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_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 NET_DVR_Login_V30


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_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.

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.

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
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 offset value (Byte).
The fifth parameter of this interface means corresponding parameter obtained by current control command. The control commands, NET_DVR_PLAYGETPOS, NET_DVR_PLAYGETTIME, NET_DVR_PLAYGETFRAME, NET_DVR_GETTOTALFRAMES, NET_DVR_GETTOTALTIME, NET_DVR_PLAYSETTIME and NET_DVR_PLAYGETTOTALLEN, can get the corresponding values by this parameter; details refer to the following table.

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. When you set transcode type of playback, NET_DVR_PLAY_COMVERT 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 | None
NET_DVR_PLAYSETPOS | Change playback progress | A 4-byte integer progress(0-100) | None
NET_DVR_PLAYGETPOS | Get playback progress | None | A 4-byte integer progress (0-100)
NET_DVR_PLAYGETTIME | Get currently played time (valid when playing back by file) | None | A 4-byte integer time value
NET_DVR_PLAYGETFRAME | Get currently played frames (valid when playing back by file) | 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 transcode | One transcode type with 4 bytes: 1-PS，2-TS，3-RTP | None

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".
NET_DVR_DSSDK_ERROR | 68 | Failed to call 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.

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_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.

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.

See Also

NET_DVR_PlayBackControl_V40 NET_DVR_StopGetFile
NET_DVR_Login NET_DVR_Login_V30

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

Returns 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 | 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_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_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_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] callbak 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
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_ALARM_ALARMHOST | 0x1105 | Alarm message upload of network alarm host
COMM_ALARM_FACE | 0x1106 | Alarm message upload of face detection and recognition
COMM_RULE_INFO_UPLOAD | 0x1107 | Event data message upload
COMM_ALARM_AID | 0x1110 | Alarm message upload of traffic event
COMM_ALARM_TPS | 0x1111 | Alarm message upload of traffic parameter statistics
COMM_SENSOR_VALUE_UPLOAD | 0x1120 | Alarm message upload of sensor real-time data
COMM_SENSOR_ALARM | 0x1121 | Alarm message upload of sensor alarm
COMM_SWITCH_ALARM | 0x1122 | Alarm message upload of switch alarm
COMM_ALARMHOST_EXCEPTION | 0x1123 | Alarm message upload of alarm host exception
COMM_ALARMHOST_SAFETYCABINSTATE | 0x1125 | Safety cabin state information upload
COMM_ALARMHOST_ALARMOUTSTATUS | 0x1126 | Alarm output port or siren state information upload
COMM_TRADEINFO | 0x1500 | ATM DVR transaction information upload
COMM_UPLOAD_PLATE_RESULT | 0x2800 | Intelligent traffic camera alarm upload
COMM_IPC_AUXALARM_RESULT | 0x2820 | PIR alarm, wireless alarm, or calling for help alarm upload
COMM_ITS_PLATE_RESULT | 0x3050 | Capturing result upload of intelligent traffic
COMM_ITS_TRAFFIC_COLLECT | 0x3051 | Traffic statistical data 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)
COMM_ALARM_DEVICE | 0x4004 | Alarm message upload of devices, extended for the count of the channels is larger than 256
COMM_SCREEN_ALARM | 0x5000 | Alarm information upload of multi-screen controller
COMM_DVCS_STATE_ALARM | 0x5001 | Alarm information upload of distributed multi-screen controller
pAlarmer
Alarm device information
pAlarmInfo
Alarm information
dwBufLen
Alarm information buffer size
pUser
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.
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 (pAlarmInfo)is closely related, as follows:
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_ALARM_ALARMHOST | Network alarm host alarm message | NET_DVR_ALARMHOST_ALARMINFO
COMM_ALARM_FACE | Face detection and recognition alarm message | NET_DVR_FACEDETECT_ALARM
COMM_RULE_INFO_UPLOAD | Event data message | NET_DVR_RULE_INFO_ALARM
COMM_ALARM_AID | Traffic event alarm message | NET_DVR_AID_ALARM
COMM_ALARM_TPS | Traffic parameter statistics alarm message | NET_DVR_TPS_ALARM
COMM_UPLOAD_FACESNAP_RESULT | The result of face recognition information | NET_VCA_FACESNAP_RESULT
COMM_SENSOR_VALUE_UPLOAD | Sensor real-time data message | NET_DVR_SENSOR_ALARM
COMM_SENSOR_ALARM | sensor alarm message | NET_DVR_SENSOR_ALARM
COMM_SWITCH_ALARM | Switch alarm message | NET_DVR_SWITCH_ALARM
COMM_ALARMHOST_EXCEPTION | Alarm host exception message | NET_DVR_ALARMHOST_EXCEPTION_ALARM
COMM_ALARMHOST_SAFETYCABINSTATE | Safety cabin state information | NET_DVR_ALARMHOST_SAFETYCABINSTATE
COMM_ALARMHOST_ALARMOUTSTATUS | Alarm output port or siren state information | NET_DVR_ALARMHOST_ALARMOUTSTATUS
COMM_TRADEINFO | ATM DVR transaction information upload | NET_DVR_TRADEINFO
COMM_UPLOAD_PLATE_RESULT | Intelligent traffic camera alarm upload | NET_DVR_PLATE_RESULT
COMM_IPC_AUXALARM_RESULT | PIR alarm, wireless alarm, or calling for help alarm | NET_IPC_AUXALARM_RESULT
COMM_SNAP_MATCH_ALARM | The results of information of match in the black list | NET_VCA_FACESNAP_MATCH_ALARM
COMM_ITS_PLATE_RESULT | Capturing result of intelligent traffic | NET_ITS_PLATE_RESULT
COMM_ITS_TRAFFIC_COLLECT | Upload traffic statistical data | NET_ITS_TRAFFIC_COLLECT
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
COMM_ALARM_DEVICE | Alarm message upload of devices, extended for the count of the channels is larger than 256 | NET_DVR_ALARMINFO_DEV
COMM_SCREEN_ALARM | Alarm information of multi-screen controller | NET_DVR_SCREENALARMCFG
COMM_DVCS_STATE_ALARM | Alarm information of distributed multi-screen controller | NET_DVR_DVCS_STATE_ALARM

Example

Here we take the arm mode of setting callback to receive alarm message for example:

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  //max number of channels
               {
                   if (struAlarmInfo.dwChannel[i] == 1)
                   {
                       printf("Number of the channel that occurs motion dectection alarm: %d\n", i+1);
                   }
               }
          break;
          default:
          break;
          }
       }
  break;
  default:
  break;
  }
}

void main() {

  //---------------------------------------
  //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("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);
  //Remove the armed 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
  NET_DVR_Logout(lUserID);
  //Release SDK resource
  NET_DVR_Cleanup();
  return;
}

See Also

NET_DVR_SetupAlarmChan_V30 NET_DVR_SetupAlarmChan NET_DVR_StartListen

Reference Interface

NET_DVR_SetDVRMessCallBack

NET_DVR_SetDVRMessCallBack_EX

NET_DVR_SetDVRMessCallBack_NEW

NET_DVR_SetDVRMessageCallBack


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_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 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
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
Uploaded message type:
Macro Definition | Value | Implication
COMM_ALARM | 0x1100 | Basic alarm information uploaded from the devices supported by SDK 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_ITC_STATUS_DETECT_RESULT | 0x2810 | Real-time status detection information upload
COMM_IPC_AUXALARM_RESULT | 0x2820 | PIR alarm, wireless alarm, and alarm of calling for help
COMM_ITS_PLATE_RESULT | 0x3050 | Capturing result upload of intelligent traffic
COMM_ITS_TRAFFIC_COLLECT | 0x3051 | Traffic counting information 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)
COMM_ALARM_DEVICE | 0x4004 | Alarm information upload, extended for the devcies of which the channel count larger than 256
COMM_ITS_ROAD_EXCEPTION | 0x4500 | Exception upload of the intersection device
pAlarmer
Alarm device information
pAlarmInfo
Alarm information
dwBufLen
Alarm information length
pUser
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.

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_SOCKETCLOSE_ERROR | 73 | Socket disconnected. It is caused by network disconnection or destination unreachable.

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)

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
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_ITC_STATUS_DETECT_RESULT | Real-time status detection information | NET_ITC_STATUS_DETECT_RESULT
COMM_IPC_AUXALARM_RESULT | PIR alarm, wireless alarm, and alarm of calling for help | NET_IPC_AUXALARM_RESULT
COMM_ITS_PLATE_RESULT | Capturing result of intelligent traffic | NET_ITS_PLATE_RESULT
COMM_ITS_TRAFFIC_COLLECT | Traffic counting information | NET_ITS_TRAFFIC_COLLECT
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
COMM_ALARM_DEVICE | Alarm information, extended for the devcies of which the channel count larger than 256 | NET_DVR_ALARMINFO_DEV
COMM_ITS_ROAD_EXCEPTION | Exception of the intersection device | NET_ITS_ROADINFO

See Also

NET_DVR_StopListen_V30

Reference Interface

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_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

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_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

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_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.(Windows 32-bit system supports)

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. (Windows 32-bit system supports)

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

This API is used to upgrade remotely.

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] Upgrade file path (including the file name). The path length is related to the OS, and SDK has no limit for it. For Windows system, the default length is less than or equal to 256 bytes(including the file name).

Return Values

Return -1 if it is failed, and other values are parameters of NET_DVR_GetUpgradeState. Please call NET_DVR_GetLastError to get the error code.

See Also

NET_DVR_Login NET_DVR_Login_V30 NET_DVR_CloseUpgradeHandle
NET_DVR_GetUpgradeState NET_DVR_GetUpgradeProgres


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

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

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_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_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
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

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_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

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

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_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_EZVIZ_ACCESS_CFG | Get the EZVIZ access parameters | invalid | NET_DVR_EZVIZ_ACCESS_CFG | 3398

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_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

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_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 | dwCount个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_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
NET_DVR_REMOTECONTROL_PRESETPOINT | 3214 | Remotely contol the preset of fisheye camera | NET_DVR_PRESET_POINT_PARAM
NET_DVR_REMOTECONTROL_CRUISE | 3215 | Remotely contol the patrol of fisheye camera | NET_DVR_PTZ_CRUISE_PARAM
NET_DVR_WPS_CONNECT | 3220 | Remotely enable the WPS connection | NET_DVR_WPS_CONNECT_PARAM
NET_DVR_UPDATE_PIN | 3223 | Remotely update the PIN code of the device | NULL
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_MOUNT_DISK | 6015 | Load the disk | NET_DVR_MOUNT_DISK_PARAM
NET_DVR_UNMOUNT_DISK | 6016 | Unload the disk | NET_DVR_MOUNT_DISK_PARAM
NET_DVR_SET_VIDEO_EFFECT | 6106 | Set the video effect | NET_DVR_VIDEOPARA_V40
NET_DVR_DEL_INVALID_DISK | 6107 | Delete the invalid disk | NET_DVR_INVALID_DISK_PARAM
NET_DVR_CREATE_CERT | 6138 | Create certificate | NET_DVR_CERT_INFO
NET_DVR_DELETE_CERT | 6139 | Delete certificate | NET_DVR_CERT_PARAM
NET_DVR_CMD_TRIGGER_PERIOD_RECORD | 6144 | Set recording triggered by external command | NET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA
NET_DVR_RESTART_SERVICE | 6213 | Reboot CVR service | NULL
NET_DVR_ADD_DEVICE | 6216 | Add devices by N+1 mode | NET_DVR_N_PLUS_ONE_DEVICE_PARAM
NET_DVR_DEL_DEVICE | 6217 | Delete devices by N+1 mode | NET_DVR_N_PLUS_ONE_DEVICE_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_V30


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.

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_SDK_CALLBACK_STATUS_SUCCESS | 1000 | Successful
NET_SDK_CALLBACK_STATUS_PROCESSING | 1001 | Be processing
NET_SDK_CALLBACK_STATUS_FAILED | 1002 | 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_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_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_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_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_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
VCA_DEV_ABILITY | 0x100 | Intelligent device capability set
VCA_CHAN_ABILITY | 0x110 | Intelligent channel capability set
MATRIXDECODER_ABILITY | 0x200 | Display and decoding capability set of multi-channel decoder
SNAPCAMERA_ABILITY | 0x300 | Capability set of intelligent traffic IPC
PIC_CAPTURE_ABILITY | 0x402 | Picture capturing resolution capability set
FISHEYE_ABILITY | 0x700 | Fisheye IP camera 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 | Capability Type | pInBuf | pOutBuf
DEVICE_SOFTHARDWARE_ABILITY | Get software/hardware capability | None | Software and Hardware Capability
DEVICE_NETWORK_ABILITY | Get wireless network capability | None | Wireless Network Capability
DEVICE_ENCODE_ALL_ABILITY_V20 | Get all compression capability | The Input Description | Extended Compression Capability
IPC_FRONT_PARAMETER_V20 | Get camera parameter capability | The Input Description | Extended Camera Capability
DEVICE_RAID_ABILITY | Get RAID capability | None | RAID Capability
DEVICE_ALARM_ABILITY | Get alarm capability | The Input Description | Alarm Capability
DEVICE_DYNCHAN_ABILITY | Get digital(IP) channel capability | The Input Description | Digital Channel Capability
DEVICE_USER_ABILITY | Get user management parameter capability | The Input Description | User Management 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 capturing capability | The Input Description | JPEG Capturing Capability
DEVICE_SERIAL_ABILITY | Get RS232 and RS485 capability | The Input Description | Serial Port Capability
DEVICE_ABILITY_INFO | Common capability type of devices，differentiate the specific ability depends on the sending ability node | The Input Description | PTZ Capability
 |  | The Input Description | Alarm Capability
 |  | The Input Description | ROI Capability
 |  | The Input Description | Record Capability
 |  | The Input Description | Channel to be accessed of NVR Capability
 |  | The Input Description | Local Preview Switch Capability
 |  | The Input Description | Camera Parameters Dynamic Capability
 |  | The Input Description | Recording Triggered by Alarm Capability
 |  | The Input Description | GB/T28181 Capability
VCA_DEV_ABILITY | Get intelligent device capability | None | NET_VCA_DEV_ABILITY
VCA_CHAN_ABILITY | Get intelligent channel capability | NET_VCA_CHAN_IN_PARAM | NET_VCA_BEHAVIOR_ABILITY
MATRIXDECODER_ABILITY | Get display and decoding capability of multi-channel decoder | None | NET_DVR_MATRIX_ABILITY
SNAPCAMERA_ABILITY | Get capability of intelligent traffic IPC | None | NET_DVR_SNAP_ABILITY
PIC_CAPTURE_ABILITY | Get picture capturing resolution capability | Channel number (4 bytes) | NET_DVR_COMPRESSIONCFG_ABILITY
FISHEYE_ABILITY | Get capability of fisheye camera | The Input Description | Fisheye Camera Capability

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_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 | NET_DVR_CERT_PARAM

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


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. Please 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

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.

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_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_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_DISPLAY_EFFECT_CFG | Get the ouyput effect parameters of live view | Channel | NET_DVR_DISPLAY_EFFECT_CFG | 9031

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

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] The count of channels to be set, 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

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_DEVICE_RUN_STATUS | Get the window status | dwCount*NET_DVR_WALLWIN_INFO | dwCount*NET_DVR_WALL_WIN_STATUS | 1618

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_InitDevice_Card

This API is used to initialize decode card.

BOOL NET_DVR_InitDevice_Card(
  LONG   *pDeviceTotalChan
);

Parameters

pDeviceTotalChan
[out] The pointer to save channel numbers of decode card

Return Values

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

See Also

NET_DVR_ReleaseDevice_Card


NET_DVR_ReleaseDevice_Card

This API is used to release decode card resource.

BOOL NET_DVR_ReleaseDevice_Card(
);

Return Values

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

See Also

NET_DVR_InitDevice_Card


NET_DVR_InitDDraw_Card

This API is used to initialize OVERLAY surface of decode card.

BOOL NET_DVR_InitDDraw_Card(
  HWND       hParent,
  COLORREF   colorKey
);

Parameters

hParent
[in] Window handle
colorKey
[in] The transparent color set by user

Return Values

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

See Also

NET_DVR_ReleaseDDraw_Card


NET_DVR_ReleaseDDraw_Card

This API is used to release OVERLAY surface used by the decode card.

BOOL NET_DVR_ReleaseDDraw_Card(
);

Return Values

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

See Also

NET_DVR_InitDDraw_Card


NET_DVR_RealPlay_Card

This API is used to use decode card to preview.

LONG NET_DVR_RealPlay_Card(
  LONG                  lUserID,
  LPNET_DVR_CARDINFO    lpCardInfo,
  LONG                  lChannelNum
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lpCardInfo
[in] Hard decode parameter
lChannelNum
[in] Decode card channel for decoding, start from 0

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.

Remarks

When decoding by decode card, please call the following interfaces to do operation like control of preview, data capture and capture images: NET_DVR_StopRealPlay NET_DVR_ClientSetVideoEffect NET_DVR_ClientGetVideoEffect NET_DVR_SetPlayerBufNumber NET_DVR_SetRealDataCallBack NET_DVR_SetStandardDataCallBack NET_DVR_SaveRealData NET_DVR_StopSaveRealData

See Also

NET_DVR_ResetPara_Card NET_DVR_AudioPreview_Card NET_DVR_OpenSound_Card
NET_DVR_OpenSound_Card NET_DVR_CloseSound_Card NET_DVR_SetVolume_Card
NET_DVR_GetChanHandle_Card NET_DVR_CapturePicture_Card


NET_DVR_ResetPara_Card

This API is used to reset display parameter of the decoder card.

BOOL NET_DVR_ResetPara_Card(
  LONG                      lRealHandle,
  LPNET_DVR_DISPLAY_PARA    lpDisplayPara
);

Parameters

lRealHandle
[in] Play handle, the return value of NET_DVR_RealPlay_Card
lpDisplayPara
[in] Parameter of the decoder card

Return Values

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

See Also

NET_DVR_RealPlay_Card


NET_DVR_RefreshSurface_Card

This API is used to refresh OVERLAY surface used by the decode card.

BOOL NET_DVR_RefreshSurface_Card(
);

Return Values

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


NET_DVR_ClearSurface_Card

This API is used to clear OVERLAY surface of decode card.

BOOL NET_DVR_ClearSurface_Card(
);

Return Values

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


NET_DVR_RestoreSurface_Card

This API is used to resume OVERLAY surface of decode card.

BOOL NET_DVR_RestoreSurface_Card(
);

Return Values

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


NET_DVR_AudioPreview_Card

This API is used to open sound of PC.

BOOL NET_DVR_AudioPreview_Card(
  LONG   lRealHandle,
  BOOL   bEnable
);

Parameters

lRealHandle
[in] Play handle. The return value of NET_DVR_RealPlay_Card
bEnable
[in] Whether to open sound when preview: TRUE- open, FALSE- close

Return Values

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

See Also

NET_DVR_RealPlay_Card


NET_DVR_OpenSound_Card

This API is used to output one channel analog audio.

BOOL NET_DVR_OpenSound_Card(
  LONG   lRealHandle
);

Parameters

lRealHandle
[in] Play handle, the return value of NET_DVR_RealPlay_Card

Return Values

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

See Also

NET_DVR_RealPlay_Card


NET_DVR_CloseSound_Card

This API is used to close analog sound of a certain channel.

BOOL NET_DVR_CloseSound_Card(
  LONG   lRealHandle
);

Parameters

lRealHandle
[in] Play handle, the return value of NET_DVR_RealPlay_Card

Return Values

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

See Also

NET_DVR_RealPlay_Card


NET_DVR_SetVolume_Card

This API is used to adjust certain channel’s sound.

BOOL NET_DVR_SetVolume_Card(
  LONG   lRealHandle,
  WORD   wVolume
);

Parameters

lRealHandle
[in] Play handle, the return value of NET_DVR_RealPlay_Card
wVolume
[in] Volume from 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_Card


NET_DVR_GetChanHandle_Card

This API is used to get current handle of decode card.

HANDLE NET_DVR_GetChanHandle_Card(
  LONG   lRealHandle
);

Parameters

lRealHandle
[in] Play handle, return value of NET_DVR_RealPlay_Card

Return Values

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

See Also

NET_DVR_RealPlay_Card


NET_DVR_GetSerialNum_Card

This API is used to get serial number of decode card.

BOOL NET_DVR_GetSerialNum_Card(
  long    lChannelNum,
  DWORD   *pDeviceSerialNo
);

Parameters

lChannelNum
[in] Channel number of decode card
pDeviceSerialNo
[out] Pointer to save SN of decode card

Return Values

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


NET_DVR_CapturePicture_Card

This API is used to capture picture when decoding by hardware.

BOOL NET_DVR_CapturePicture_Card(
  LONG   lRealHandle,
  char   *sPicFileName
);

Parameters

lRealHandle
[in] Play handle, return value of NET_DVR_RealPlay_Card
sPicFileName
[in] URL of saved picture

Return Values

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

See Also

NET_DVR_RealPlay_Card


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
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_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_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_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_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_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_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

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_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_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 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

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_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_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_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_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_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 | invalid | NET_DVR_ALARMIN_PARAM | 1183
NET_DVR_GET_ALARMOUT_PARAM | Get alarm output parameter | invalid | NET_DVR_ALARMOUT_PARAM | 1185
NET_DVR_GET_SIREN_PARAM | Get siren parameter | invalid | NET_DVR_SIREN_PARAM | 1187
NET_DVR_GET_ALARM_RS485CFG | Get RS-485 parameter of alarm host | valid | NET_DVR_ALARM_RS485CFG | 1189
NET_DVR_GET_ALARMHOST_MAIN_STATUS | Get main status of alarm host | invalid | NET_DVR_ALARMHOST_MAIN_STATUS | 1190
NET_DVR_GET_ALARMHOST_OTHER_STATUS | Get other status of alarm host | invalid | NET_DVR_ALARMHOST_OTHER_STATUS | 1191
NET_DVR_GET_ALARMHOST_ENABLECFG | Get enable configuration of alarm host | invalid | 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 | invalid | NET_DVR_ALARMHOSTDIALCFG | 1198
NET_DVR_GET_ALARMDIALMODECFG | Get dialing start-up mode of alarm host | invalid | 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 | invalid | NET_DVR_ALARMHOST_GPRS_CFG | 2005
NET_DVR_GET_ALARMHOST_NETCFG | Get network configuration | invalid | NET_DVR_ALARMHOST_NETCFG | 2007
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

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_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 | Set network configuration | invalid | NET_DVR_ALARMHOST_NETCFG | 2008
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

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
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 (there is only one siren ouput), 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_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_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_DEVICE_RUN_STATUS | Get the device running status | NULL | dwCount*NET_DVR_DEVICE_RUN_STATUS | 1618


NET_DVR_SetRegisterCallBack

This API is used to set on-line or off-line callback function and receive device information.

BOOL NET_DVR_SetRegisterCallBack(
  REGCallBack    fRegCallBack,
  void           *pUser
);

Parameters

fRegCallBack
[in] Callback function
pUser
[in] User data

Callback Function

typedef LONG(CALLBACK *fRegCallBack)(
  LONG                         lUserID,
  LPNET_DVR_REGCALLBACKPARAM   pRegCallbackParam,
  LPNET_DVR_LOGONREPONSEPARAM  pInterParam,
  void                         *pUser
);

Callback Function Parameters

lUserID
[out] User ID
pRegCallbackParam
[out] Registration callback information
pInterParam
[in] Registration response parameter, used to set heartbeat timeout and allowed number of timeouts
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 user. It requests to call NET_DVR_Logout_V30 to delete user information of SDK when offline.


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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
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.

See Also

NET_DVR_SetRegisterCallBack


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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
lpPlayBackRequestParam
[in] Playback request parameter

Return Values

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

See Also

NET_DVR_SetRegisterCallBack


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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
lpVoiceParam
[in] Voice talk parameter

Return Values

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

See Also

NET_DVR_SetRegisterCallBack


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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
lpAlarmSetupParam
[in] Arming parameter

Return Values

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

See Also

NET_DVR_SetRegisterCallBack


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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
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_SetRegisterCallBack 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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
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_SetRegisterCallBack 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, got from REGCallBack
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_SetRegisterCallBack 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, got from REGCallBack
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_SetRegisterCallBack 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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
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.

See Also

NET_DVR_SetRegisterCallBack


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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
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.

See Also

NET_DVR_SetRegisterCallBack


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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
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.

See Also

NET_DVR_SetRegisterCallBack


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, got from REGCallBack set by NET_DVR_SetRegisterCallBack
lpSmsContent
[in] SMS content

Return Values

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

See Also

NET_DVR_SetRegisterCallBack


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


Notice

Device Network SDK Programming Manual

Notes

  • Priority use structures and interfaces with the "_V30" suffix
There are some changes and improverments on interfaces and structures, recommended "_V30" 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

V4.2


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_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_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_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_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_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

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 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_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_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_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 to download the file.

See Also

NET_DVR_PlayBackControl NET_DVR_StopGetFile
NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_GetFileByTime_V40


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_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_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_PicViewRequest

This API is used to request the picture view callback.

BOOL NET_DVR_PicViewRequest(
  LONG                         lUserID,
  NET_DVR_PIC_VIEW_PARAM       *lpPicViewParam
);

Parameters

lUserID
[in] Device register ID, got from REGCallBack set by NET_DVR_SetRegisterCallBack
lpPicViewParam
[in] Picture view callback parameter

Return Values

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

See Also

NET_DVR_SetRegisterCallBack


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_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_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

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_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_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_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_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_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_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, got from REGCallBack set by NET_DVR_SetRegisterCallBack(pStruPicViewParam.dwUserID)
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] 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

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_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_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_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


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_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_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)

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_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_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_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_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_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_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_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_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      byRes[38];
}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
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
NET_DVR_GetDeviceProtoList


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     wMobileGateNum;
  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     byRes;
  WORD     wRes[73];
}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
Total number of extended alarm inputs
wTotalAlarmOutNum
Total number of total number of alarm outputs
wLocalAlarmOutNum
Total number of local alarm outputs
wExpandAlarmOutNum
Total number of extended alarm outputs
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
If bySupportAlarmInDelay is 1, the client should use the parameter dwParam of NET_DVR_ALARMIN_PARAM to set the delay time;
If bySupportAlarmInDelay is 0, it should use the parameters wEnterDelay and wExitDelay of NET_DVR_ALARMSUBSYSTEMPARAM to set delay
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, 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
byRes
Reserved
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_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_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
探测链路是否还保持, 范围[1,30],单位10秒
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_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_NETPARAM

Structure of alarm center network parameter.

struct{
  DWORD                              dwSize;
  NET_DVR_IPADDR                     struIP;
  WORD                               wPort;
  BYTE                               byRes1[2];
  BYTE                               byDomainName[MAX_DOMAIN_NAME];
  BYTE                               byReportProtocol;
  BYTE                               byDevID[ACCOUNTNUM_LEN];
  BYTE                               byRes2[33];
}NET_DVR_ALARMHOST_NETPARAM, *LPNET_DVR_ALARMHOST_NETPARAM;

Members

dwSize
Structure size
struIP
IP address
wPort
Network port
byRes1
Reserved, please set to 0
byDomainName
Domain name, valid when configuring GPRS parameter, and not used when configuring network parameter
byReportProtocol
Report protocol: 1- private, 2- NAL2300
byDevID
Valid when report protocol is NAL2300
byRes2
Reserved, please set to 0

See Also

NET_DVR_ALARMHOST_GPRS_CFG NET_DVR_ALARMHOST_NETCFG


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_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_SAFETYCABINSTATE

Structure of safety cabin state.

struct{
  DWORD     dwSize;
  BYTE      byEnterButton;
  BYTE      byExitButton;
  BYTE      byDoorState;
  BYTE      byLockState;
  BYTE      byUrgencyButton;
  BYTE      byManState;
  BYTE      byRes[66];
}NET_DVR_ALARMHOST_SAFETYCABINSTATE, *LPNET_DVR_ALARMHOST_SAFETYCABINSTATE;

Members

dwSize
Structure size
byEnterButton
Entrance button state: 0- not press, 1- button is pressed
byExitButton
Exit button state: 0- not press, 1- button is pressed
byDoorState
Door state：0- closed, 1- open
byLockState
Lock state: 0- locked, 1- unlock
byUrgencyButton
Emergency button state: 0- not press, 1- button is pressed
byManState
Pedestrian state: 0- no people, 1- there are(is) some people
byRes
Reserved

See Also

NET_DVR_SetDVRMessageCallBack_V30


NET_DVR_ALARMHOST_SEARCH_LOG_PARAM

Structure of alarm-host log searching information.

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, definition listed below:
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 resume normal
MINOR_PASSWORD_ERROR | Password error(consecutive times for password error)
MINOR_ID_CARD_ILLEGALLY | Illefal 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
MINOR_BELOW_ALARM_LIMIT2 | Analog lower than alarm limit
MINOR_BELOW_ALARM_LIMIT3 | Analog lower than alarm limit
MINOR_BELOW_ALARM_LIMIT4 | Analog lower than alarm limit
MINOR_ABOVE_ALARM_LIMIT1 | Analog higher than alarm limit
MINOR_ABOVE_ALARM_LIMIT2 | Analog higher than alarm limit
MINOR_ABOVE_ALARM_LIMIT3 | Analog higher than alarm limit
MINOR_ABOVE_ALARM_LIMIT4 | Analog higher than alarm limit
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 | 控制报警输出
MINOR_ACCESS_OPEN | 控制门禁开
MINOR_ACCESS_CLOSE | 控制门禁关
MINOR_SIREN_OPEN | 控制警号开
MINOR_SIREN_CLOSE | 控制警号关
MINOR_MOD_ZONE_CONFIG | Modify 修改防区设置
MINOR_MOD_ALARMOUT_CONIFG | Control alarmout configuration
MINOR_MOD_ANALOG_CONFIG | Modify analog configuration
MINOR_RS485_CONFIG | Modify channel 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 | Modify password of operator user
MINOR_DEL_OPERATORUSER | Delete 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 fortify
MINOR_REMOTE_UNGUARD | Remotely cancel fortification
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
struStartTime
Start time
struEndTime
End time
byRes
Reserved

See Also

NET_DVR_FindAlarmHostLog


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_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 alarm input parameter.

struct{
  DWORD               dwSize;
  BYTE                byName[NAME_LEN];
  WORD                wDetectorType;
  BYTE                byType;
  BYTE                byRes1;
  DWORD               dwParam;
  NET_DVR_SCHEDTIME   struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];
  BYTE                byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM];
  BYTE                byAssociateSirenOut[8];
  BYTE                bySensitivityParam;
  BYTE                byArrayBypass;
  BYTE                byRes[50];
}NET_DVR_ALARMIN_PARAM, *LPNET_DVR_ALARMIN_PARAM;

Members

dwSize
Structure size
byName
Alarm input name
wDetectorType
Alarm input detector type, defined as follows:
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,
  OTHER_DETECTOR  = 0xffff
}DETECTOR_TYPE
PANIC_BUTTON
Panic button
MAGNETIC_CONTACT
Magnetic contact
SMOKE_DETECTOR
Smoke detector
ACTIVE_INFRARED_DETECTOR
Active infrared detector
PASSIVE_INFRARED_DETECTOR
Passive infrared detector
GLASS_BREAK_DETECTOR
Glass break detector
VIBRATION_DETECTOR
Vibration detector
DUAL_TECHNOLOGY_PIR_DETECTOR
Dual technology motion detector
TRIPLE_TECHNOLOGY_PIR_DETECTOR
Triple technology detector
HUMIDITY_DETECTOR
Humidity detector
TEMPERATURE_DETECTOR
Temperature detector
COMBUSTIBLE_GAS_DETECTOR
Combustible gas detector
OTHER_DETECTOR
Other detector
byType
Alarm type of defense zone: 0- instant zone, 1- 24-hour sound zone, 2- delay zone, 3- interior zone, 4- key zone, 5- fire zone, 6- perimeter zone, 7- 24-hour silent zone, 0xff- none
byRes1
Reserved
dwParam
Zone parameter, the delay time of delay zone
struAlarmTime
Time period of fortification
byAssociateAlarmOut
Alarm output channel associated with the alarm input
byAssociateSirenOut
Siren output, subscript 0 means siren NO.1, the value equals to 1 means output, 0 means not output
bySensitivityParam
Defense-zone sensitivity: 0- 10ms, 1- 250ms, 2- 500ms, 3- 750ms
byArrayBypass
Whether to join the bypass group: 0-no, 1- yes
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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_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                             byRes1;
  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
byRes1
Reserved, please set it to be 0
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_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_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
dwAlarmInputNumber
Alarm input port
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_ALARMOUT_PARAM

Structure of alarm output parameter.

struct{
  DWORD               dwSize;
  BYTE                byName[NAME_LEN];
  WORD                wDelay;
  BYTE                byRes1[2];
  BYTE                byAssociateAlarmIn[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE                byRes2[60];
}NET_DVR_ALARMOUT_PARAM, *LPNET_DVR_ALARMOUT_PARAM;

Members

dwSize
Structure size
byName
Alarm output 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_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_ALARMSUBSYSTEMPARAM

Structure of subsystem

struct{
  DWORD            dwSize;
  WORD             wEnterDelay;
  WORD             wExitDealy;
  BYTE             byJointAlarmIn[MAX_ALARMHOST_ALARMIN_NUM];
  BYTE             byJointKeyboard[MAX_ALARMHOSTKEYBOARD];
  BYTE             byRes[80];
}NET_DVR_ALARMSUBSYSTEMPARAM, *LPNET_DVR_ALARMSUBSYSTEMPARAM;

Members

dwSize
Structure size
wEnterDelay
Enterance delay, unit: second, value range: 10~150. For the delay of rotary ring surveillance alarm host and self-service bank alarm host, it is set by the parameter dwParam of NET_DVR_ALARMIN_PARAM
wExitDealy
Exit delay, unit: second, value range: 10~300
byJointAlarmIn
Indicated by byte, the byte number corresponds to the channel number of alarm input joined with the subsystem. The value: 0- joined, 1- not joined
byJointKeyboard
Indicated by byte, the byte number corresponds to the keyboard number. The value: 0- joined, 1- not joined
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceAbility


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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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     byRes[41];
}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
byRes
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 paraFront-end parameter configuration structure

structure{
  DWORD  				dwSize,href="../Structure/   				byEnable,
  BYTE   				byRes[3],
  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_NOISEREMOVE		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,
  BYTE   BYTE   			byRes1[280],
}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<0-50HZ,1-60HZ
byIrisMode>Iris mode: 0-auto, 1-manual. 2 - P-Iris1
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 magnification: 0-close, 1-x2, 2-x4
byDeadPixelDetect
Whether the dead pixel detection is enabled: 0-disable, 1-enable
byBlackPwl
Black level compensation, 0-255
byEptzGate
EPTZ switch variableEPTZ switch variable:0-close,1-open
byLocalOutputGate 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
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
Palete: 0- white glow, 1- balck glow,2- palette 2,...,8- palette 8, suitable for thermal imager
byEnhancedMode
Enahance 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
Scence 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
byCaptureModeP
Video format-PAL, the value is same as byCaptureModeN
struSmartIRParam
Smart IR parameter
struPIrisParam
P-Iris: size level parameters of IR iris
struLaserParam
The parameters of laser
byRes1
Reserved, set it to 0

Remarks

The structure can downward compat NET_DVR_CAMERAPARAMCFG

See Also

NET_DVR_SetDVRConfig NET_DVR_GetLastError


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_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_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_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_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_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_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_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_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, 6- G726
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     byStreamSmooth;
  BYTE     byres[5];
}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.
byResolution
Resolution: 0-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)，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，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
If the 31th bit is set as 1, it means customized bitrate, and bit 0~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，0xfffffffe- auto (same as the source)
wIntervalFrameI
Interval of frame I, 0xfffe- auto, 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, 0xfe-auto, 0xfe- auto (same as source),0xff- invalid
byAudioEncType
Audio encoding format: 0- OggVorbis,1- G711_U, 2- G711_A,5-MP2L2, 6- G726,7-AAC ,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
IPC V5.1.0：4- 64Kbps，support3、4、5
bySteamSmooth
[1,100], the smooth level of stream: 1-clear, 100-smooth
byres[5]
Reserved, please set to 0

Remarks

The support situation of devices can be get from devices capability, not all parameters are support the device configuration

When to modify the video compression format, it will take effect after rebooting the device.


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_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_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_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_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_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_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_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
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_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_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_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_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_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_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_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_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_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_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     byRes2[16];
}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
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_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_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
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
Device type name
byRes2
Reserved, please set to 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_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_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_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
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
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
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.
byRes2i>byRes2 wDevType, and both to be byDVRType. It is recommended to use wDevType as device type.

See Also

NET_DVR_Login_V30


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     byRes[252];
}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
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_STATE

Structure of device digital channel state

struct{
  DWORD         dwSize;
  byte          byDigitalAudioChanTalkState[64];
  byte          byRes[512];
}NET_DVR_DIGITAL_CHANNEL_STATE, *LPNET_DVR_DIGITAL_CHANNEL_STATE;

Members

dwSize
Structure size
byDigitalAudioChanTalkState
The voice talk state of digital voice channel: 0- unused, 1- in use, 0xff- invalid
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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_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[31];
}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
byRes
Reserved, please set it to 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_EFFECT_CFG

Structure of output effect parameters of image

struct{
  DWORD            dwSize;
  NET_DVR_COLOR    struColor;
  BYTE             byRes[32];
}NET_DVR_DISPLAY_EFFECT_CFG, *LPNET_DVR_DISPLAY_EFFECT_CFG;

Members

dwSize
Structure size
struColor
Image effect parameters
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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_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_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_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      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
byRes
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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_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
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_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_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_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_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_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                 byRes[63];
}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- over line detection, 16-field detection, 17-audio exception, 18-scene change, 19-intelligent detection, 20-face detection.
  • with card number: 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: 0- no, 1- yes
    sCardNumber
    Card number
    struStartTime
    Starting time
    struStopTime
    Stopping time
    byDrawFrame
    Whether extract frame or not: 0- no, 1- yes
    byRes
    Reserved

    See Also

    NET_DVR_FindFile_V40


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             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
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;
  BYTE             byRes2[40];
}NET_DVR_FIND_PICTURE_PARAM,*LPNET_DVR_FIND_PICTURE_PARAM;

Members

dwSize
Structure size
lChannel
Channel number
byFileType
Image type to search: 0- scheduled capture, 1- motion detection capture, 2- alarm capture, 3- motion detection or alarm capture, 3-motion detection and alarm capture, 6- manual capture, 10- PIR alarm, 11- wireless alarm, 12- calling for help alarm, 0xa- capture when live view, 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
byRes2
Reserved

See Also

NET_DVR_FindPicture


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 file search 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             byRes1[128];
}NET_DVR_FINDDATA_V40,*LPNET_DVR_FINDDATA_V40;

Members

sFileName
File name, invalid when do calendar query.
struStartTime
start time of file
struStopTime
stop time of file
dwFileSize
the size of file
sCardNum
Card number
byLocked
if the file is locked, 1－yes, 0－no
byFileType
type of file(invalid when do calendar query)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, 13-motion record|PIR alarm|wireless alarm|calling for help alarm, 14- intelligent traffic alarm, 15-Line crossing detection , 16- Intrusion, 17-audio except, 18-sence change detection, 19- intelligent detection, 20- face detection
byQuickSearch
0- normal searching result, 1- fast(calendar)searching result
byRes
reserved
dwFileIndex
number of file index
byRes
reserved

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_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_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_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       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
byRes
Reserved

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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_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_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_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_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_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
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_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_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_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_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_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_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_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_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_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_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_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_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_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_IPADDR

Structure IP address.

struct{
  char    sIpV4[16];
  BYTE    sIpV6[128];
}NET_DVR_IPADDR, *LPNET_DVR_IPADDR;

Members

sIpV4
IP address of IPv4
sIpV6
IP address of IPv6


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_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_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_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_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_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_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_JPEG_CAPTURE_CFG

Structure of capture configuration.

struct{
  DWORD                   dwSize;
  NET_DVR_TIMING_CAPTURE  struTimingCapture;
  NET_DVR_EVENT_CAPTURE   struEventCapture;
  BYTE                    byRes3[20];
}NET_DVR_JPEG_CAPTURE_CFG,*LPNET_DVR_JPEG_CAPTURE_CFG;

Members

dwSize
Structure size
struTimingCapture
Timing capture configuration
struEventCapture
Event capture configuration
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_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_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_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

The structure of laser parameters

struct{
  BYTE    byControlMode;
  BYTE    bySensitivity;
  BYTE    byTriggerMode;
  BYTE    byBrightness;
  BYTE    byAngle;
  BYTE    byLimitBrightness;
  BYTE    byRes[10];
}NET_DVR_LASER_PARAM_CFG, *LPNET_DVR_LASER_PARAM_CFG;

Members

byControlMode
Control mode: 0-invalid, 1-Auto, 2-manual, default: Auto
bySensitivity
The sensitivity of laser, value range: 0~100, default: 50
byTriggerMode
Trigger mode: 0-invalid, 1-camera internal sensor trigger, 2-photoconductive trigger, default:camera internal sensor trigger
byBrightness
The brightness of laser light, the valiable is valid in manual mode, value range: 0~255, default: 100
byAngle
The angle of laser light, 0-invalid, value range: 1~36, default: 12, Size of the laser light irradiation in the range of a circle, adjust the angle of the laser to adjust the radius of the circle
byLimitBrightness
The limitation of brightness, valid in manual mode, value range: 0~100
byRes
reserved

See Also

NET_DVR_CAMERAPARAMCFG_EX


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_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_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_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_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_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_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
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 | 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

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

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_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_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 | 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_LINK_START | 0xb3 | Start capturing picture
MINOR_PIC_REC_STOP | 0xb4 | Stop capturing picture
MINOR_PIC_REC_OVERDUE | 0xb5 | Delete expired picture
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
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

See Also

NET_DVR_TIME NET_DVR_IPADDR


NET_DVR_LOGONREPONSEPARAM

Structure of register response information.

struct{
  WORD        wHeartbeatTime;
  BYTE        byOvertimes;
  BYTE        byRes[13];
}NET_DVR_LOGONREPONSEPARAM,*LPNET_DVR_LOGONREPONSEPARAM;

Members

wHeartbeatTime
Interval time of heartbeat, unit: second, default: 15s. The value sholud be a multiple of 5 and less than 180s.
byOvertimes
The allowed number of the heartbeat timeouts, default: 3 times
byRes
Reserved, please set to 0

See Also

NET_DVR_SetRegisterCallBack


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_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_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_MANUALSNAP

Structure of manual snapshot parameters

struct{
  BYTE       byRes[24];
}NET_DVR_MANUALSNAP, *LPNET_DVR_MANUALSNAP;

Members

byRes
Reserved, please set it to 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[27];
}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, please set it to 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       byRes[66];
}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
byRes
Reserved, please set it to 0


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 dynamic 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


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 dynamic 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_MATRIX_DECCHANINFO


NET_DVR_MATRIX_LOOP_DECINFO_V30

Structure of dynamic 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_MATRIX_CHAN_INFO_V30


NET_DVR_MATRIX_LOOP_DECINFO_V41

Structure of circle channel configuration for dynamic decoding

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;
  BYTE                     byRes2[80];
}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
byRes2
Reserved, please set to 0

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_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_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 pattern parameter

struct{
  DWORD    dwSize;
  BYTE     byEnableTrack;
  BYTE     byRes[63];
}NET_DVR_MOTION_TRACK_CFG, *LPNET_DVR_MOTION_TRACK_CFG;

Members

dwSize
Structure size
byEnableTrack
Enable pattern or not: 0- no, 1- yes
byRes
Reserved, please set to 0

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_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_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_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_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_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;
  WORD                     wRes2[2];
  WORD                     wAlarmHostIpPort;
  BYTE                     byUseDhcp;
  BYTE                     byRes3;
  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
wRes2
Reserved, please set it to 0
wAlarmHostIpPort
Port number of alarm host
byUseDhcp
Whether to enable DHCP: 0xff- invalid, 0- disable, 1- enable
byRes3
Reserved, please set it to 0
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_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_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_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_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_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_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_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_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_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                     byRes1[2];
  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                     byRes2[40];
}NET_DVR_PDC_ALRAM_INFO,*LPNET_DVR_PDC_ALRAM_INFO;

Members

dwSize
Structure size
byMode
0- statistics of single frame, 1- statistics of minimum time section
byChannel
NO. of channel uploading alarm
byRes1
Reserved
struDevInfo
Information of front-end device
struStatFrame is statistics of single frame
dwRelativeTime
Relative time of statistics
dwAbsTime
Absolute time of statistics
byRes
Reserved
struStatTime is statistics of minimum time section
tmStart
Start time
tmEnd
End time
byRes
Reserved
dwLeaveNum
The number of left poeple
dwEnterNum
The number of entered people
byRes2
Reserved

See Also

NET_DVR_TIME NET_VCA_DEV_INFO


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_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_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 contol online/offline
0x2: support call to control online
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
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
byStatus
Hard disk state: 1- normal
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_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_VIEW_PARAM

Structure of picture view callback (push mode)

struct{
  DWORD              dwSize;
  NET_DVR_IPADDR     struCuIp;
  WORD               wPort;
  BYTE               bySourceIndex;
  BYTE               byRes[29];
}NET_DVR_PIC_VIEW_PARAM,*LPNET_DVR_PIC_VIEW_PARAM;

Members

dwSize
Structure size
struCuIp
IP address of CU
wPort
Port number of CU
bySourceIndex
Channel number of signal source
byRes
Reserved

See Also

NET_DVR_PicViewRequest


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                     byRes1[2];
  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)，0xff- adaptive
byOSDColorType
0-default(black&white), 1-custom
struOsdColor
The color of OSD, the color of OSD obey to RGB888
byRes
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                     byRes1[2];
  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)，0xff- adaptive
byRes1
Reserved, set it to 0
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）
struOsdColor
OSD custom colors
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_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
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_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_PLATE_INFO

Sub structure of license plate recognition

struct{
  BYTE                  byPlateType;
  BYTE                  byColor;
  BYTE                  byBright;
  BYTE                  byLicenseLen;
  BYTE                  byEntireBelieve;
  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
byBright
Brightness of license plate
byLicenseLen
The number of plate characters
byEntireBelieve
Accuracy of the license plate (percentage): 0~100
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_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_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_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_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_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     byRes[222];
}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-stream 4, and so on
dwLinkMode
Link mode：0- TCP，1- UDP，2- multicast，3- RTP，4-RTP/RTSP，5-RSTP/HTTP
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)
byRes
Reserved

Remarks

  • Whether preview is blocked can be set by bBlockedin. Non-block-- connection suceess, notify the upper layer by preview exception when stream receiving failed and play failed happens.Loop playback can reduce the pausal time, same as NET_DVR_RealPlay.Block- return status until play finished
  • These parameters need the support of devices: dwStreamType、bPassbackRecord、byPreviewMode、byStreamID
  • NET_DVR_RealPlay_V40 supports multicast preview when dwLinkMode =2. NET_DVR_NETCFG_V30->struMulticastIpAddr- low layer automaic get multicast address from devices to realize multicast.
  • Linux 64 bit system does not support soft decoding. So you need to hand a NULL window handle, set the callback function, stream getting without decoding display.

    • 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_PROTO_TYPE

Configuration of IPC protocols.

struct{
  DWORD   dwType;
  BYTE    byDescribe[DESC_LEN];
}NET_DVR_PROTO_TYPE,*LPNET_DVR_PROTO_TYPE;

Members

dwType
IPC protocol value
byDescribe
Description of protocol


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_PARKACTION_CFG

PTZ park action parameter structure

struct(
  DWORD    dwSize,
  BYTE     byEnable,
  BYTE     byRes1[3],
  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
byRes1
Reserved
dwParkTime
Park time,uint:s
wActionType
Park action type: 0-automatic scanning,1-frame scanning,2-random scanning,3-cruise scanning,4-pattern scanning,5-preset,6-panormic scanning,7-vertical 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_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_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_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_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_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_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_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_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_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_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_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_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_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                  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
byReserve
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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-over line detection, 16-field 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_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_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_REGCALLBACKPARAM

Structure of register callback parameter.

struct{
  char        sDeviceID[NAME_LEN];
  char        sPassword[PASSWD_LEN];
  BYTE        sSerialNumber[SERIALNO_LEN];
  DWORD       dwDeviceType;
  BYTE        nStatus;
  BYTE        byNetType;
  BYTE        byRes[14];
}NET_DVR_REGCALLBACKPARAM,*LPNET_DVR_REGCALLBACKPARAM;

Members

sDeviceID
Device ID string
sPassword
Password
sSerialNumber
Device serial number
dwDeviceType
Device type
nStatus
online or offline status: 0- offline, 1- online
byNetType
Network type: 0- unknown, 1- 2G wireless network, 2- 3G wireless network, 3- wired network
byRes
Reserved, please set to 0

See Also

NET_DVR_SetRegisterCallBack


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_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_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_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_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_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

SADP Info Structure

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             byRes[158];
}NET_DVR_SADPINFO,*LPNET_DVR_SADPINFO;

Members

struIP
Device IP
wPort
Device port
wFactoryType
Manufacture
chSoftwareVersion
Software version
chSerialNo
Serial number
wEncCnt
Encode channel number
byMACAddr
MAC
struSubDVRIPMask
Subnet mask
struGatewayIpAddr
Gateway
struDnsServer1IpAddr
IP of DNS Server 1
struDnsServer1IpAddr
IP of DNS Server 2
byDns
Enable DNS: 0-disable; 1- enable
byDhcp
Enable DHCP: 0-disable; 1- enable
byRes
Reserved, please set to 0

See Also

NET_DVR_IPADDR


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_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_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_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_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_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_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_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_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_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_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


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_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_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_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_SETUPALARM_PARAM

Structure of alarm arming parameter

struct{
  DWORD     dwSize;
  BYTE      byLevel;
  BYTE      byAlarmInfoType;
  BYTE      byRes[14];
}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
The type of the alarm information to upload (for intelligent traffic camera): 0- old type(NET_DVR_PLATE_RESULT), 1- new type(NET_ITS_PLATE_RESULT)
byRes
Reserved, please set to 0

Remarks

Whether byAlarmInfoType supports the new type of alarm information could be got from the capability returned by NET_DVR_Login_V30. Please see to bySupport1 in the tructure NET_DVR_DEVICEINFO_V30. If bySupport1&0x80==0, it means the device supports only the old type of alarm information.

See Also

NET_DVR_SetupAlarmChan_V41


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_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_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
byHDAttr
Hard disk property: 0- default, 1 - redundancy (back up important data), 2 - read only
byHDType
Hard disk type: 0-local disk, 1-ESATA disk, 2-NFS disk, 3-iSCSI disk , 4- RAID virtual disk
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_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_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_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_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_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_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     byRes[13];
}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
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_SNAPCFG

Signal IO trigger parameter structure of intelligent traffic camera.

struct{
  DWORD      dwSize;
  BYTE       byRelatedDriveWay;
  BYTE       bySnapTimes;
  WORD       wSnapWaitTime;
  WORD       wIntervalTime[4];
  BYTE       byRes2[24];
}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
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;
  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
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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_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_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_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_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
dwChannel
The associated channel，0xffffffff - non-associated
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.

See Also

NET_DVR_SEARCH_EVENT_PARAM NET_DVR_STREAM_TIME_LOCK
NET_DVR_VOD_PARA NET_DVR_MANUAL_RECORD_PARA
NET_DVR_StopManualRecord


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_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_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_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_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_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_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_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_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_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_GetDVRConfig NET_DVR_SetDVRConfig


NET_DVR_TIME_EX

Structure of time parameter(extended).

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, please set to 0


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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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
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
byRes2
Reserved
byCustomInfo
Custom information
byRes
Reserved

See Also

NET_DVR_PLATE_RESULT NET_ITS_PLATE_RESULT


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_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_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_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_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_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_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_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_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_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_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_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_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_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    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
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_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_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_WPS_CONNECT_PARAM

Structure of WPS connection parameter

struct{
  DWORD    dwSize;
  BYTE     byConnectType;
  BYTE     byRes1[3];
  BYTE     byPIN[8];
  BYTE     byEssid[IW_ESSID_MAX_SIZE];
  BYTE     byRes[32];
}NET_DVR_WPS_CONNECT_PARAM, *LPNET_DVR_WPS_CONNECT_PARAM;

Members

dwSize
Structure size
byConnectType
WPS connection type: 0- PBC, 1- AP PIN
byRes1
Reserved, please set to 0
byPIN
PIN code (it is valid when WPS connection type is AP PIN)
byEssid
ESSID (it is valid when WPS connection type is AP PIN)
byRes
Reserved, please set to 0

See Also

NET_DVR_RemoteControl


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_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_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_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         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_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_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];
  BYTE                           byRes[64];
}NET_IPC_PIR_ALARMCFG,*LPNET_IPC_PIR_ALARMCFG;

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_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                                byRes2;
  NET_ITC_PLATE_RECOG_REGION_PARAM    struPlateRecog[MAX_LANEAREA_NUM];
  BYTE                                byBigCarSignSpeed;
  BYTE                                byBigCarSpeedLimit;
  BYTE                                byRes[14];
}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)
byRes2
Reserved, please set to 0
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
byRes
Reserved, please set to 0

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                    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
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    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
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_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
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    byRes1[2];
  DWORD   dwTimeDelay;
  WORD    wAheadTime;
  BYTE    byFreqMulti;
  BYTE    byDutyRate;
  BYTE    byDetectBrightness;
  BYTE    byBrightnessThreld;
  BYTE    byFlashLightEnable;
  BYTE    byStartHour;
  BYTE    byStartMinute;
  BYTE    byEndHour;
  BYTE    byEndMinute;
  BYTE    byRes[9];
}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.
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]
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_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_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                                byRes[15];
}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
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.

See Also

NET_ITC_POST_RS485_PARAM NET_ITC_POST_RS485_RADAR_PARAM


NET_ITC_LANE_VIDEO_EPOLICE_PARAM

Trigger parameters of video electronic police of single lane

struct{
  BYTE                              byLaneNO;
  BYTE                              bySensitivity;
  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                              byRes[59];
}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]
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
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_PLATE_RECOG_PARAM

Structure of plate recognition parameter

struct{
  BYTE     byDefaultCHN[MAX_CHJC_NUM];
  BYTE     byEnable;
  DWORD    dwRecogMode;
  BYTE     byRes[32];
}NET_ITC_PLATE_RECOG_PARAM,*LPNET_ITC_PLATE_RECOG_PARAM;

Members

byDefaultCHN
Shortening of province Chinese name
byEnable
Whether enable plate recognition in this area: 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
byRes
Reserved, please set to 0

See Also

NET_ITC_POST_IOSPEED_PARAM NET_ITC_POST_SINGLEIO_PARAM NET_ITC_POST_RS485_PARAM
NET_ITC_POST_RS485_RADAR_PARAM NET_ITC_POST_VTCOIL_PARAM
NET_ITC_EPOLICE_IOTL_PARAM NET_ITC_EPOLICE_RS485_PARAM NET_ITC_VIDEO_EPOLICE_PARAM


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_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_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                         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;
  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
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
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, 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_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                                byRes2;
  BYTE                                byIntervalType;
  WORD                                wInterval1[MAX_INTERVAL_NUM];
  WORD                                wInterval2[MAX_INTERVAL_NUM];
  BYTE                                byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                                byFlashMode;
  BYTE                                byLaneType;
  BYTE                                byRes3[2];
  NET_ITC_PLATE_RECOG_REGION_PARAM    struPlateRecog[MAX_LANEAREA_NUM];
  BYTE                                byRes[32];
}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
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
byRes3
Reserved, please set to 0
struPlateRecog
Plate recognition (there is one usable area, the other one is reserved)
byRes
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;
  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
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                                 byRes2[3];
  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
byRes2
Reserved, please set to 0
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_EPOLICE_IOTL_PARAM         struIOTL;
  NET_ITC_EPOLICE_RS485_PARAM        struEpoliceRs485;
  NET_ITC_EPOLICE_RS485_PARAM        struPERs485;
}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)
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)

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     byRes1[27];
  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_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
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
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
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                    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
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                                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
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_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
Others | Others | Others

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_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                                 byRes[31];
}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
byRes
Reserved, please set to 0

See Also

NET_ITS_OVERLAP_CFG


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];
}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_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
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

See Also

NET_ITS_OVERLAP_ITEM_PARAM


NET_ITS_OVERLAPCFG_COND

Condition of overlay configuration

struct{
  DWORD    dwSize;
  DWORD    dwChannel;
  DWORD    dwConfigMode;
  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)
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;
  BYTE            byRes2[12];
}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
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                     byRes1[2];
  WORD                     wIllegalType;
  BYTE                     byIllegalSubType[8];
  BYTE                     byPostPicNo;
  BYTE                     byChanIndex;
  WORD                     wSpeedLimit;
  BYTE                     byRes2[2];
  NET_DVR_PLATE_INFO       struPlateInfo;
  NET_DVR_VEHICLE_INFO     struVehicleInfo;
  BYTE                     byMonitoringSiteID[48];
  BYTE                     byDeviceID[48];
  BYTE                     byDir;
  BYTE                     byDetectType;
  BYTE                     byRes3[38];
  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
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 (Reserved)
wSpeedLimit
The upper limit of speed (valid when overspeed）
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
byRes3
Reserved
dwPicNum
The number of pictures (different form icGroupNum, it is the number of pictures in this message)
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_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_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_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

Capacity 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

Parameter Structure of Alarm Rule.

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_EVENT_UNION,*LPNET_VCA_EVENT_UNION;

Members

uLen
Size of union
struTraversePlane
Parameter of traversing plane
struArea
Parameter of entering/leaving region
struIntrusion
Invision parameter
struLoiter
Loiter parameter
struTakeTeft
Parameter of packet loss/packet picked
struParking
Park parameter
struRun
Running parameter
struHighDensity
Parameter of people gathering

See Also

NET_VCA_TRAVERSE_PLANE NET_VCA_AREA NET_VCA_INTRUSION
NET_VCA_LOITER NET_VCA_TAKE_LEFT NET_VCA_PARKING
NET_VCA_RUN NET_VCA_HIGH_DENSITY


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_HIGH_DENSITY

Parameter Structure of People Gathering.

struct{
  NET_VCA_POLYGON   struRegion;
  float             fDensity;
  BYTE              byRes[4];
}NET_VCA_HIGH_DENSITY,*LPNET_VCA_HIGH_DENSITY;

Members

struRegion
Rigion coverage
fDensity
Ratio of density,ranging from 0.1 to 1.0
byRes
Reserved, please set to 0

See Also

NET_VCA_POLYGON


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_LINE

Parameter Structure of Line Structure.

struct{
  NET_VCA_POINT   struStart;
  NET_VCA_POINT   struEnd;
}NET_VCA_LINE,*LPNET_VCA_LINE;

Members

struStart
Start point
struEnd
End point

See Also

NET_VCA_POINT


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_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_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_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.

struct{
  DWORD                 dwSize;
  DWORD                 dwRelativeTime;
  DWORD                 dwAbsTime;
  NET_VCA_RULE_INFO     struRuleInfo;
  NET_VCA_TARGET_INFO   struTargetInfo;
  NET_VCA_DEV_INFO      struDevInfo;
  DWORD                 dwPicDataLen;
  DWORD                 dwRes[4];
  BYTE                  *pImage;
}NET_VCA_RULE_ALARM,*LPNET_VCA_RULE_ALARM;

Members

dwSize
Structure size
dwRelativeTime
Relative timing scale
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
dwRes
Reserved, please set to 0
pImage
Pointer pointing to picture

See Also

NET_VCA_RULE_INFO NET_VCA_TARGET_INFO NET_VCA_DEV_INFO


NET_VCA_RULE_INFO

Information Structure of Event Rule.

struct{
  BYTE                  byRuleID;
  BYTE                  byRes[3];
  BYTE                  byRuleName[NAME_LEN];
  VCA_EVENT_TYPE        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
byRuleName
Rule name
dwEventType
Alert Event Type,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 alert plane
VCA_ENTER_AREA
Target entering area,region rule supported
VCA_EXIT_AREA
Target leaving area,region rule supported
VCA_INTRUSION
Perimeter invasion,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
uEventParam
Event parameter

See Also

NET_VCA_EVENT_UNION


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_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_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_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


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