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, DVS, 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: initiative registration mode and push mode:

    The initiative registration 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 supports the device types as below:

  • NVR: DS-95xx, DS-96xx (DS-96xxNI-ST), DS-76xx, and DS-86xxNI-ST
  • Hybrid DVR: DS-90xx (DS-90xxHFI-ST), DS-80xxHFI-ST
  • DVR: DS-91xx (DS-91xxHFI-ST), DS-81xx (DS-81xxHFI-ST), DS-80xx, DS-72xx, DS-71xx, DS-70xx
  • DVS (Encoder/Decoder): DS-60xx, DS-61xx, DS-65xx, DS-66xx, DS-63xxDI, and DS-6401HDI.
  • IP devices, include IP module, IP camera (hereby referred to "IPC"), IP Speed Dome, etc

    • 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 supports the device types as below:

  • DS-660XHC-SATA/GX, DS-660XHC-SATA/WIFI, DS-660XHC-SD/GX, DS-660XHC-SD/WIFI, DS-660XHC/GX, DS-660XHC/WIFI, DS-660XHF-SATA/GX, DS-660XHF-SATA/WIFI, DS-660XHF-SD/GX, DS-660XHF-SD/WIFI, DS-660XHF/GX, DS-660XHF/WIFI, and DS-72XXHV_GX.

    • 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
    Qos Library
    QosControl.dll DLL file
    RTSP Communication Library
    StreamTransClient.dll DLL file
    Software decode Library
    plaympeg4.h | Head file
PlayCtrl.lib | LIB file
PlayCtrl.dll | DLL file
    Encapsulation Transformation Library
    SystemTransform.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
    Qos Library
    libQosControl.so SO file
    RTSP Communication Library
    libStreamTransClient.so SO file
    Software Decode Library
    playsdkpu.h | head file
libm4play.so | SO file
    Encapsulation Transformation Library
    libSystemTransform.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.
    • The 'QosControl' library is stream bitrate control library, used for push mode SDK.
    • RTSP Communication Library only supports IP devices. Users need to load this component for operations like streaming from products which support RTSP protocol.
    • 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_V30 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>
    • 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_V30 interface for capturing data or call NET_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.
    • 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. or video matrix to analog monitors. 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 :
  • Windows 7/vista/xp/2000 and Windows Server 2008/2003

    Device Network SDK for Linux:
  • 32-bit Linux system, and its version is requested to be gcc 3.4 or above
  • The tested system: RedHat AS4/5/6, (Fedora)FC8/10/12, CentOS 4/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
2012.8.3 V4.2.0 DS-76xxN-SE Get the defualt value of input video effect parameter:
NET_DVR_GET_DEFAULT_VIDEO_EFFECT
Set the live view video effect parameter:
NET_DVR_CommandDevice
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 one-key focus
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 Brainaire 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 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-91XXHS-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 HD IP camera functions: license plate recognition configuration:NET_DVR_SPRCFG, get state information of intelligent HD IP 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 NET_DVR_Login | Register | All |
NET_DVR_Logout_V30 NET_DVR_Logout | 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_V30 |
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 | 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 |
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 device | NET_DVR_GetPTZProtocol |
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_V30 |


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 |


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 |


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 | 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 |
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 | Set zoom information of video-output | NET_DVR_SetScaleCFG_V30 |


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 |


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 |


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.

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 | Search video file by file type,time | NET_DVR_FindFile |
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 | Get searched file one by one | NET_DVR_FindNextFile |
IPC Series Device | Close file search,release resources | NET_DVR_FindClose_V30 |
IPC Series Device | Close file search,release resources | NET_DVR_FindClose |
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.


Intelligent HD Network Camera Function Interface Introduction

Besides Intelligent HD Network 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 HD Network Camera | Set display mode of play | NET_DVR_SetShowMode |
Intelligent HD Network Camera | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
Intelligent HD Network Camera | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
Intelligent HD Network Camera | Live preview | NET_DVR_RealPlay_V30 |
Intelligent HD Network Camera | Live preview | NET_DVR_RealPlay |
Intelligent HD Network Camera | Stop preview | NET_DVR_StopRealPlay |
Intelligent HD Network Camera | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
Intelligent HD Network Camera | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
Intelligent HD Network Camera | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
Intelligent HD Network Camera | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
Intelligent HD Network Camera | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
Intelligent HD Network Camera | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
Intelligent HD Network Camera | Initialize display device in system | NET_DVR_InitDDrawDevice |
Intelligent HD Network Camera | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
Intelligent HD Network Camera | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
Intelligent HD Network Camera | Set video card used by play window | NET_DVR_SetDDrawDevice |
Intelligent HD Network Camera | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
Intelligent HD Network Camera | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
Intelligent HD Network Camera | Capture data and store into appointed file | NET_DVR_SaveRealData |
Intelligent HD Network Camera | Stop data capture | NET_DVR_StopSaveRealData |
Intelligent HD Network Camera | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
Arm、Disarm and Monitor |  |  |
Intelligent HD Network Camera | Register callback function,receive device alarm and etc | NET_DVR_SetDVRMessageCallBack_V30 | Only support COMM_UPLOAD_PLATE_RESULT: NET_DVR_PLATE_RESULT
Intelligent HD Network Camera | Register callback function,receive device alarm and etc(callback IP address meanwhile,used to distinguish different devices) | NET_DVR_SetDVRMessCallBack | Only support COMM_UPLOAD_PLATE_RESULT: NET_DVR_PLATE_RESULT
Intelligent HD Network Camera | Register callback function,receive device alarm and etc(callback login ID meanwhile,used to distinguish different devices) | NET_DVR_SetDVRMessCallBack_EX | Only support COMM_UPLOAD_PLATE_RESULT: NET_DVR_PLATE_RESULT
Intelligent HD Network Camera | 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_UPLOAD_PLATE_RESULT: NET_DVR_PLATE_RESULT
Intelligent HD Network Camera | 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_UPLOAD_PLATE_RESULT: NET_DVR_PLATE_RESULT
Intelligent HD Network Camera | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan_V30 |
Intelligent HD Network Camera | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan_V30 |
Intelligent HD Network Camera | Establish upload channel for alarm,get alarm information and etc | NET_DVR_SetupAlarmChan |
Intelligent HD Network Camera | Cancel upload channel for alarm | NET_DVR_CloseAlarmChan |
Harddisk Management |  |  |
Intelligent HD Network Camera | Format device harddisk remotely | NET_DVR_FormatDisk |
Intelligent HD Network Camera | Get progress of formating hard disk | NET_DVR_GetFormatProgress |
Intelligent HD Network Camera | Close handle of formating hard disk,and release resources | NET_DVR_CloseFormatHandle |
Device Maintainance Management |  |  |
Intelligent HD Network Camera | Get working state of device | NET_DVR_GetDVRWorkState_V30 |
Intelligent HD Network Camera | Get working state of device | NET_DVR_GetDVRWorkState |
Intelligent HD Network Camera | Set network for remote upgrade | NET_DVR_SetNetworkEnvironment |
Intelligent HD Network Camera | Remote upgrade | NET_DVR_Upgrade |
Intelligent HD Network Camera | Get progress of remote upgrade | NET_DVR_GetUpgradeProgress |
Intelligent HD Network Camera | Get state of remote upgrade | NET_DVR_GetUpgradeState |
Intelligent HD Network Camera | Close handle of remote upgrade,and release resources | NET_DVR_CloseUpgradeHandle |
Intelligent HD Network Camera | Search device log(including S.M.A.R.T log information) | NET_DVR_FindDVRLog_V30 |
Intelligent HD Network Camera | Get searched log one by one | NET_DVR_FindNextLog_V30 |
Intelligent HD Network Camera | Release resource for searching log | NET_DVR_FindLogClose_V30 |
Intelligent HD Network Camera | Search device log information | NET_DVR_FindDVRLog |
Intelligent HD Network Camera | Get searched log one by one | NET_DVR_FindNextLog |
Intelligent HD Network Camera | Release resource for searching log | NET_DVR_FindLogClose |
Intelligent HD Network Camera | Restore default settings of device | NET_DVR_RestoreConfig |
Intelligent HD Network Camera | Export configuration file | NET_DVR_GetConfigFile_V30 |
Intelligent HD Network Camera | Export configuration file | NET_DVR_GetConfigFile_EX |
Intelligent HD Network Camera | Export configuration file | NET_DVR_GetConfigFile |
Intelligent HD Network Camera | Import configuration file | NET_DVR_SetConfigFile_EX |
Intelligent HD Network Camera | Import configuration file | NET_DVR_SetConfigFile |
Shut down and Reboot |  |  |
Intelligent HD Network Camera | Reboot device | NET_DVR_RebootDVR |
Intelligent HD Network Camera | Shut down device | NET_DVR_ShutDownDVR |
Remote Configuration |  |  |
Intelligent HD Network Camera | Get device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
Intelligent HD Network Camera | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG
Intelligent HD Network Camera | Set device parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40 Not support byZeroChanNum、bySupport、byEsataUseage、byIPCPlug、byRes
Intelligent HD Network Camera | Set device parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICECFG_V40 Not support byZeroChanNum、bySupport、byEsataUseage、byIPCPlug、byRes
Intelligent HD Network Camera | Get device time | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_TIME
Intelligent HD Network Camera | Set device time | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_TIME
Intelligent HD Network Camera | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG
Intelligent HD Network Camera | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG
Intelligent HD Network Camera | Get network parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
Intelligent HD Network Camera | Set network parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETCFG_V30
Intelligent HD Network Camera | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG
Intelligent HD Network Camera | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG
Intelligent HD Network Camera | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_EX
Intelligent HD Network Camera | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_EX
Intelligent HD Network Camera | Get compression parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
Intelligent HD Network Camera | Set compression parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_COMPRESSIONCFG_V30
Intelligent HD Network Camera | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG
Intelligent HD Network Camera | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG
Intelligent HD Network Camera | Get(PTZ)decoder parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
Intelligent HD Network Camera | Set(PTZ)decoder parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DECODERCFG_V30
Intelligent HD Network Camera | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG
Intelligent HD Network Camera | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG
Intelligent HD Network Camera | Get RS-232 parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
Intelligent HD Network Camera | Set RS-232 parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_RS232CFG_V30
Intelligent HD Network Camera | Get assistant preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
Intelligent HD Network Camera | Set assistant preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG
Intelligent HD Network Camera | Get local preview parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30
Intelligent HD Network Camera | Set local preview parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PREVIEWCFG_V30 byPreviewNumber、wSwitchTime、bySwitchSeqInvalid setting
Intelligent HD Network Camera | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT Not support struVGAPara
Intelligent HD Network Camera | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT Not support struVGAPara
Intelligent HD Network Camera | Get video-output parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30 Not support struVGAPara、struMatrixPara
Intelligent HD Network Camera | Set video-output parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VIDEOOUT_V30 Not support struVGAPara、struMatrixPara
Intelligent HD Network Camera | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER
Intelligent HD Network Camera | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER
Intelligent HD Network Camera | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
Intelligent HD Network Camera | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_EX
Intelligent HD Network Camera | Get user parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
Intelligent HD Network Camera | Set user parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_USER_V30
Intelligent HD Network Camera | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION
Intelligent HD Network Camera | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION
Intelligent HD Network Camera | Get exception parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
Intelligent HD Network Camera | Set exception parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EXCEPTION_V30
Intelligent HD Network Camera | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING
Intelligent HD Network Camera | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING
Intelligent HD Network Camera | Get character overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
Intelligent HD Network Camera | Set character overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SHOWSTRING_V30
Intelligent HD Network Camera | Get parameter of network application(NTP/DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
Intelligent HD Network Camera | Set parameter of network application(NTP/DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NETAPPCFG
Intelligent HD Network Camera | Get parameter of network application(NTP) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
Intelligent HD Network Camera | Set parameter of network application(NTP) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NTPPARA
Intelligent HD Network Camera | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA
Intelligent HD Network Camera | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA
Intelligent HD Network Camera | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_EX
Intelligent HD Network Camera | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_EX
Intelligent HD Network Camera | Get parameter of network application(DDNS) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
Intelligent HD Network Camera | Set parameter of network application(DDNS) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DDNSPARA_V30
Intelligent HD Network Camera | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG
Intelligent HD Network Camera | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG
Intelligent HD Network Camera | Get parameter of network application(EMAIL) | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
Intelligent HD Network Camera | Set parameter of network application(EMAIL) | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_EMAILCFG_V30
Intelligent HD Network Camera | Get NFS(Network File System) parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
Intelligent HD Network Camera | Set NFS(Network File System) parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_NFSCFG
Intelligent HD Network Camera | Get CCD parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
Intelligent HD Network Camera | Set CCD parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
Intelligent HD Network Camera | Get uploading parameter of FTP | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_GET_FTPCFG
Intelligent HD Network Camera | Set uploading parameter of FTP | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_GET_FTPCFG
Intelligent HD Network Camera | Get CCD parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
Intelligent HD Network Camera | Set CCD parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_CAMERAPARAMCFG
Intelligent HD Network Camera | Get input parameter of IO | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IO_INCFG
Intelligent HD Network Camera | Set input parameter of IO | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IO_INCFG
Intelligent HD Network Camera | Get output parameter of IO | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IO_OUTCFG
Intelligent HD Network Camera | Set output parameter of IO | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IO_OUTCFG
Intelligent HD Network Camera | Get parameter of flashlight | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_FLASH_OUTCFG
Intelligent HD Network Camera | Set parameter of flashlight | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_FLASH_OUTCFG
Intelligent HD Network Camera | Get function parameter of red-green light | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_LIGHTSNAPCFG
Intelligent HD Network Camera | Set function parameter of red-green light | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_LIGHTSNAPCFG
Intelligent HD Network Camera | Get function parameter of speed measure | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_MEASURESPEEDCFG
Intelligent HD Network Camera | Set function parameter of speed measure | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_MEASURESPEEDCFG
Intelligent HD Network Camera | Get picture overlaping parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_IMAGEOVERLAYCFG
Intelligent HD Network Camera | Set picture overlaping parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_IMAGEOVERLAYCFG
Intelligent HD Network Camera | Get function parameter of single IO trigger | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SNAPCFG
Intelligent HD Network Camera | Set function parameter of single IO trigger | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SNAPCFG
Intelligent HD Network Camera | Get parameter of virtual loops | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_VTPARAM
Intelligent HD Network Camera | Set parameter of virtual loops | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_VTPARAM
Intelligent HD Network Camera | Get enable parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SNAPENABLECFG
Intelligent HD Network Camera | Set enable parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SNAPENABLECFG
Intelligent HD Network Camera | Get parameter of post electronic police | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_POSTEPOLICECFG
Intelligent HD Network Camera | Set parameter of post electronic police | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_POSTEPOLICECFG
Intelligent HD Network Camera | Get JPEG parameter | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_JPEGCFG_V30
Intelligent HD Network Camera | Set JPEG parameter | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_JPEGCFG_V30
Intelligent HD Network Camera | Get parameter of license plate recognition | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_SPRCFG
Intelligent HD Network Camera | Set parameter of license plate recognition | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_SPRCFG
Intelligent HD Network Camera | Get light conpensation parameter of license plate | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_PLCCFG
Intelligent HD Network Camera | Set light conpensation parameter of license plate | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_PLCCFG
Intelligent HD Network Camera | Get state parameter of device | NET_DVR_GetDVRConfig | Configuration Parameter:NET_DVR_DEVICESTATECFG
Intelligent HD Network Camera | Set state parameter of device | NET_DVR_SetDVRConfig | Configuration Parameter:NET_DVR_DEVICESTATECFG
Intelligent HD Network Camera | Get zoom information of video output | NET_DVR_GetScaleCFG |
Intelligent HD Network Camera | Get zoom information of video output | NET_DVR_GetScaleCFG_V30 | Not support aux-zoom: dwMinorScale
Intelligent HD Network Camera | Set zoom information of video output | NET_DVR_SetScaleCFG |
Intelligent HD Network Camera | Set zoom information of video output | NET_DVR_SetScaleCFG_V30 | Not support aux-zoom: dwMinorScale
Get device capacity |  |  |
Intelligent HD Network 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
Related Function of Preview |  |  |
Multi-Channel Decoder Series Device | Set display mode of play | NET_DVR_SetShowMode |
Multi-Channel Decoder Series Device | Main stream generates a key frame dynamically | NET_DVR_MakeKeyFrame |
Multi-Channel Decoder Series Device | Substream generates a key frame dynamically | NET_DVR_MakeKeyFrameSub |
Multi-Channel Decoder Series Device | Live preview | NET_DVR_RealPlay_V30 |
Multi-Channel Decoder Series Device | Live preview | NET_DVR_RealPlay |
Multi-Channel Decoder Series Device | Stop preview | NET_DVR_StopRealPlay |
Multi-Channel Decoder Series Device | Fetch player handle used for decoding and displaying at preview | NET_DVR_GetRealPlayerIndex |
Multi-Channel Decoder Series Device | Fetch video display parameter at preview | NET_DVR_ClientGetVideoEffect |
Multi-Channel Decoder Series Device | Set video display parameter at preview | NET_DVR_ClientSetVideoEffect |
Multi-Channel Decoder Series Device | Overlay character and picture on preview frame | NET_DVR_RigisterDrawFun |
Multi-Channel Decoder Series Device | Set framebuffer number of play library | NET_DVR_SetPlayerBufNumber |
Multi-Channel Decoder Series Device | Set number of B frame abandoned on decoding | NET_DVR_ThrowBFrame |
Multi-Channel Decoder Series Device | Set audio play mode | NET_DVR_SetAudioMode |
Multi-Channel Decoder Series Device | Open sound in exclusive audio-card mode | NET_DVR_OpenSound |
Multi-Channel Decoder Series Device | Close sound in exclusive audio-card mode | NET_DVR_CloseSound |
Multi-Channel Decoder Series Device | Open sound in shared audio-card mode | NET_DVR_OpenSoundShare |
Multi-Channel Decoder Series Device | Close sound in shared audio-card mode | NET_DVR_CloseSoundShare |
Multi-Channel Decoder Series Device | Adjust play volume | NET_DVR_Volume |
Multi-Channel Decoder Series Device | Initialize display device in system | NET_DVR_InitDDrawDevice |
Multi-Channel Decoder Series Device | Release resourse occupied by display device | NET_DVR_ReleaseDDrawDevice |
Multi-Channel Decoder Series Device | Get number of display devices in system | NET_DVR_GetDDrawDeviceTotalNums |
Multi-Channel Decoder Series Device | Set video card used by play window | NET_DVR_SetDDrawDevice |
Multi-Channel Decoder Series Device | Register callback function,capture real-time data stream | NET_DVR_SetRealDataCallBack |
Multi-Channel Decoder Series Device | Register callback function,capture real-time data stream(standard stream) | NET_DVR_SetStandardDataCallBack |
Multi-Channel Decoder Series Device | Capture data and store into appointed file | NET_DVR_SaveRealData |
Multi-Channel Decoder Series Device | Stop data capture | NET_DVR_StopSaveRealData |
Multi-Channel Decoder Series Device | Capture single-frame data and save as BMP bitmap | NET_DVR_CapturePicture |
Multi-Channel Decoder Series Device | Capture single-frame data and save as JPEG | NET_DVR_CaptureJPEGPicture |
Multi-Channel Decoder Series Device | Capture single-frame data,save as JPEG and store into appointed memory space | NET_DVR_CaptureJPEGPicture_NEW |
Arm、Disarm and Monitor |  |  |
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(start preview first) | NET_DVR_PTZControl |
Multi-Channel Decoder 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 |
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(start preview first) | NET_DVR_PTZControlWithSpeed |
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(start preview first) | NET_DVR_PTZPreset |
Multi-Channel Decoder 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 |
Multi-Channel Decoder Series Device | PTZ preset point operation | NET_DVR_PTZPreset_Other |
Multi-Channel Decoder Series Device | Start preview before PTZ cruise operation | NET_DVR_PTZCruise |
Multi-Channel Decoder 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 |
Multi-Channel Decoder Series Device | PTZ cruise operation | NET_DVR_PTZCruise_Other |
Multi-Channel Decoder Series Device | Start preview first before PTZ track operation | NET_DVR_PTZTrack |
Multi-Channel Decoder 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 |
Multi-Channel Decoder Series Device | PTZ track operation | NET_DVR_PTZTrack_Other |
Multi-Channel Decoder Series Device | Start preview first before transparent PTZ operation | NET_DVR_TransPTZ |
Multi-Channel Decoder 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 |
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 |


SDK接口调用主要流程

Device Network SDK Programming Manual

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 register users is 512. Mention 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, every channel of DS-80xx, DS-70xx, DS-71xx, DS-72xx, DS-60xx, or DS-61xx 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-81xx, DS-71xxHV, 72xxHV series device supports 6 connections in the meantime. Every device of these series supports max 18 channels connected in the meantime.
    Every channel of DS-90xx Hybrid DVR supports 6 connections in the meantime. Every device of these series supports max 64 channels connected in the meantime.
    Every channel of DS-91xx series device 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_V30 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_V30 to be NULL and calling callback interface( set the callback function in NET_DVR_RealPlay_V30, 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() {

  //---------------------------------------
  //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_CLIENTINFO ClientInfo = {0};
  ClientInfo.hPlayWnd = hWnd;         //If need to decode, please set it valid. If want to get stream data only, it can be set to NULL
  ClientInfo.lChannel     = 1;       //Preview channel NO.
  ClientInfo.lLinkMode    = 0;       //The high bit (31) 0 means the main stream, while 1 means the sub stream. Bit 0~bit 30 are used for link mode: 0: TCP mode, 1: UDP mode, 2: Multi-play mode, 3: RTP mode
  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, NULL, 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(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() {

  //---------------------------------------
  //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
  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;
}


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_V30, NET_DVR_FindNextFile_V30),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)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, NET_DVR_GetFileByTime),Then must call start play command(NET_DVR_PLAYSTART)of control interface(NET_DVR_PlayBackControl). 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)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.

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 struFileCond;
  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_V30(lUserID, &struFileCond);
  if(lFindHandle < 0)
  {
      printf("find file fail,last error %d\n",NET_DVR_GetLastError());
      return;
  }
  NET_DVR_FINDDATA_V30 struFileData;
  while(true)
  {
      int result = NET_DVR_FindNextFile_V30(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);

  //---------------------------------------
  //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    = 1;
  struStartTime.dwHour   = 9;
  struStartTime.dwMinute = 0;
  struStartTime.dwSecond =0;
  struStopTime.dwYear    = 2011;
  struStopTime.dwMonth   = 3;
  struStopTime.dwDay     = 1;
  struStopTime.dwHour    = 10;
  struStopTime.dwMinute  = 7;
  struStopTime.dwSecond  = 0;
  HWND hWnd = GetConsoleWindow();     //get window handle

  //---------------------------------------
  //Playback by time
  int hPlayback;
  hPlayback = NET_DVR_PlayBackByTime(lUserID, 1, &struStartTime, &struStopTime, hWnd);
  if(hPlayback < 0)
  {
      printf("NET_DVR_GetFileByTime fail,last error %d\n",NET_DVR_GetLastError());
      NET_DVR_Logout(lUserID);
      NET_DVR_Cleanup();
      return;
  }

  //---------------------------------------
  //Start
  if(!NET_DVR_PlayBackControl(hPlayback, NET_DVR_PLAYSTART, 0, 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_TIME struStartTime, struStopTime;
  struStartTime.dwYear   = 2011;
  struStartTime.dwMonth  = 3;
  struStartTime.dwDay    = 1;
  struStartTime.dwHour   = 9;
  struStartTime.dwMinute = 0;
  struStartTime.dwSecond =0;
  struStopTime.dwYear    = 2011;
  struStopTime.dwMonth   = 3;
  struStopTime.dwDay     = 1;
  struStopTime.dwHour    = 10;
  struStopTime.dwMinute  = 7;
  struStopTime.dwSecond  = 0;

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

  //---------------------------------------
  //Start downloading
  if(!NET_DVR_PlayBackControl(hPlayback, NET_DVR_PLAYSTART, 0, NULL))
  {
      printf("play back control 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 channel number (byChanNum)and digital channel number(byIPChanNum), then to know the max supported analog and digital channel number.
  • 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 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

//Initialize SDK
NET_DVR_Init();

//Register device
NET_DVR_DEVICEINFO_V30 struDeviceInfo;
memset(&struDeviceInfo, 0, sizeof(NET_DVR_DEVICEINFO_V30));//structure for 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 and password error
    {
        …… //cope with error information
    }
    else if(NET_DVR_GetLastError() == NET_DVR_OVER_MAXLINK)//connections to DVR client achieve max
    {
        …… //cope with error information
    }
    …… //cope with other types of error information
}

//Get IP alarm resources
DWORD dwReturned = 0;
NET_DVR_IPALARMINCFG struIPAlarmInCfg;
memeset(&struIPAlarmInCfg, 0, sizeof(NET_DVR_IPALARMINCFG));
bIPRet = NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_IPALARMINCFG, -1, &struIPAlarmInCfg, sizeof(NET_DVR_IPALARMINCFG), &dwReturned);

//Get, set alarm input information
NET_DVR_ALARMINCFG_V30  m_struAlarmInCfg[MAX_ALARMIN_V30];//structure that stores alarm input information, MAX_ALARMIN_V30 is the max analog alarm input number plus max digital alarm input number
for (i=0; i < MAX_ALARMIN_V30; i++)
{
    if ((i>=MAX_ANALOG_ALARMIN && struIPAlarmInCfg.struIPAlarmInInfo[i-MAX_ANALOG_ALARMIN].byIPID > 0)
    //Subscript index of IP alarm resources plus MAX_ANALOG_ALARMIN corresponding subscript index of alarm input configuration structure
       if (!NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_ALARMINCFG_V30, i,\
        &m_struAlarmInCfg[i], sizeof(NET_DVR_ALARMINCFG_V30), &dwReturned))
       {
           ……   //get alarm input information fails
       }
       else
       {
          //get alarm input information successfully, when i>=MAX_ANALOG_ALARMIN, it's IP alarm input message, i corresponds IP digital alarm channel number
           m_struAlarmInCfg[i].byAlarmType = 0;//alarm type:0-normal open,1-normal closed
           m_struAlarmInCfg[i].byAlarmInHandle = 1;//whether to cope:0-not cope,1-cope
           …… //other alarm parameters configuration
           NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_ALARMINCFG_V30, i, &(m_struAlarmInCfg[i]),\
                        sizeof(NET_DVR_ALARMINCFG_V30));//set alarm input information
       }
    }
}

//IP alarm input configuration process it the same with alarm input

//Get IP channel parameter information
DWORD dwReturned = 0;
NET_DVR_IPPARACFG IPAccessCfg;
memset(&IPAccessCfg, 0, sizeof(NET_DVR_IPPARACFG));
NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_IPPARACFG, -1, &IPAccessCfg, sizeof(NET_DVR_IPPARACFG), &dwReturned);

//Set IP channel configuration information
DWORD iIPChanIndex = 1; //IP resources channel number,from 0 to MAX_IP_CHANNEL -1,and MAX_ANALOG_CHANNUM corresponds subscript index of channel relevant parameters
BYTE dwID = 2; //IP channel effective status and corresponding IP device resources: 1- MAX_IP_DEVICE indicates this channel is added, 0 indicates this channel is deleted.
IPAccessCfg.struIPChanInfo[iIPChanIndex].byEnable = FALSE;
IPAccessCfg.struIPChanInfo[iIPChanIndex].byIPID = (BYTE)dwID;
……//configure other channels parameters
NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_IPPARACFG, -1, &IPAccessCfg, sizeof(NET_DVR_IPPARACFG));

//Get IP channel relevant parameters(take getting IP channel image parameters as an example)
DWORD dwReturned = 0;
DWORD dwChanShow = iIPChanIndex + MAX_ANALOG_ALARMIN; //Subscript index of IP channel plus MAX_ANALOG_ALARMIN subscript index of corresponding channel relevant paramters
NET_DVR_PICCFG_V30 m_struPicCfg; //Structure for storing channel image parameters
memset(&m_struPicCfg, 0, sizeof(NET_DVR_PICCFG_V30));
NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_PICCFG_V30, dwChanShow, &m_struPicCfg, sizeof(NET_DVR_PICCFG_V30), &dwReturned);

//Configure image parameters of IP channels
m_struPicCfg.dwVideoFormat = 1; // Video standard:1-NTSC,2-PAL
m_struPicCfg.dwShowChanName = 1; //Whether to display channel name on preview image:0-not display,1-display(Region size 704*576)
……//configuration of other image parameters
NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_PICCFG_V30, dwChanShow, &m_struPicCfg,sizeof(NET_DVR_PICCFG_V30));


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_CHANNUM_V30 | 64 | (MAX_ANALOG_CHANNUM + MAX_IP_CHANNEL)
MAX_ALARMOUT_V30 | 96 | (MAX_ANALOG_ALARMOUT + MAX_IP_ALARMOUT)
MAX_ALARMIN_V30 | 160 | (MAX_ANALOG_ALARMIN + MAX_IP_ALARMIN)
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_ITC_LANE_NUM | 6 | The max number of lanes
MAX_LANEAREA_NUM | 2 | The max number of single lane areas
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_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


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

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

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_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_ALIAS_DUPLICATE | 150 | Alias is duplicate (for EasyDDNS)
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.
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 RTSP Communication Library

Type of Error | Value | Error Message
NET_DVR_RTSP_ERROR_NOENOUGHPRI | 401 | No permission: 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_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" device returns the error that values 401 or 501.
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_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_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 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_ALIAS_DUPLICATE | 150 | Alias is duplicate (for EasyDDNS)
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.
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 RTSP Communication Library

Type of Error | Value | Error Message
NET_DVR_RTSP_ERROR_NOENOUGHPRI | 401 | No permission: 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_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" device returns the error that values 401 or 501.
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_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_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 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 of the device
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

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

This API is used to set video effect parameter.

BOOL NET_DVR_CommandDevice(
  LONG           lUserID,
  DWORD          dwOutCommand,
  const void     *lpInBuffer,
  DWORD          dwInLen
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
dwOutCommand
[in] Device configuration command
lpInBuffer
[in] Command content
dwInLen
[in] Buffer size

Return Values

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

Remarks

The command and content is listed below:

dwOutCommand | Implication | lpInBuffer Structure | Value
NET_DVR_SET_VIDEO_EFFECT | Set video effect of the channel | NET_DVR_VIDEOPARA_V40 | 6137


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

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

RealHandle
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_STD_AUDIODATA | 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.

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


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_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_V30 or NET_DVR_FindFileByEvent

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_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 with the command NET_DVR_PLAYSTART to start playback.
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


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


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, capture the stream data and handle by yourself.

See Also

NET_DVR_PlayBackControl_V40 NET_DVR_StopPlayBack NET_DVR_SetPlayDataCallBack
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, capture the stream data and handle by yourself.

See Also

NET_DVR_PlayBackControl_V40 NET_DVR_StopPlayBack NET_DVR_SetPlayDataCallBack
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, capture the stream data and handle by yourself.

See Also

NET_DVR_PlayBackControl_V40 NET_DVR_StopPlayBack NET_DVR_SetPlayDataCallBack
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,
  char     *lpInBuffer,
  DWORD    dwInLen,
  char     *lpOutBuffer,
  DWORD    *lpOutLen
);

Parameters

lPlayHandle
[in] Play handle, the return value of NET_DVR_PlayBackByName or NET_DVR_PlayBackByTime
dwControlCode
[in] Control video playback status commands:
Macro Definition | Macro Definition value | Implication
NET_DVR_PLAYSTART | 1 | Start playing
NET_DVR_PLAYPAUSE | 3 | Pause
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_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
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).
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

See Also

NET_DVR_PlayBackByName NET_DVR_PlayBackByTime

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 or NET_DVR_PlayBackByTime
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

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

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


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

See Also

NET_DVR_PlayBackControl NET_DVR_StopGetFile
NET_DVR_Login NET_DVR_Login_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


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


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 file current totally downloaded frames (valid when downloading by file)
NET_DVR_GETTOTALTIME | 17 | Get the file current totally downloaded time (valid when downloading by file)
NET_DVR_SET_DOWNLOAD_SPEED | 28 | Set download speed, stream control range: 0~32Mbps
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


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


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


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 对某一时间段录像文件进行加锁。

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

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 HD IP camera alarm upload
COMM_IPC_AUXALARM_RESULT | 0x2820 | PIR alarm, wireless alarm, or calling for help 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)
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
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_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 HD IP 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_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

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

The total number of listening supported by the SDK is 512.

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

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

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_PTZPOS | Set PTZ parameters of IP speed dome | valid | NET_DVR_PTZPOS | 292

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_Login or NET_DVR_Login_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.

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

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

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

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

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_UPNP_CFG | Get the UPNP parameter | invalid | NET_DVR_UPNP_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_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_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 getting 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_VIDEO_INPUT_EFFECT | 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_UPNP_CFG | Set the UPNP parameter | invalid | NET_DVR_UPNP_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_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_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_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 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_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

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 channels 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 set quantities of the device parameters 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 | lpInParamBuffer Structure | Value
NET_DVR_SET_STREAM_SRC_INFO | Set the source information of the stream | dwCount * NET_DVR_STREAM_INFO | dwCount * NET_DVR_STREAM_SRC_INFO | 6018
NET_DVR_SET_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

See Also

NET_DVR_GetDeviceConfig NET_DVR_GetLastError


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

lRealHandle
[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

lRealHandle
[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 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 HD IP 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 first 7 types of abilities are described in XML files. The details are available in each device's ability definition. The input and output parameter format when getting other types of abilities are defined as below:

Macro Definition | Type of Ability | pInBuf | pOutBuf
DEVICE_SOFTHARDWARE_ABILITY | Get software and hardware capability of current device | None | Device software and hardware capability described by XML
DEVICE_NETWORK_ABILITY | Get network capability of current device | None | Device network capability described by XML
DEVICE_ENCODE_ALL_ABILITY | Get all encoding capability of current device | None | Device all encoding capability described by XML
DEVICE_ENCONE_CURRENT | Get current encoding capability of current device | Device current encoding capability described by XML | Device current encoding capability described by XML
IPC_FRONT_PARAMETER | Get front-end parameter of current device | None | Device front-end parameter described by XML
DEVICE_RAID_ABILITY | Get capability of RAID | None | RAID capability described by XML
DEVICE_ALARM_ABILITY | Get capability of alarm | Alarm capability described by XML | Alarm capability described by XML
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 HD IP 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

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_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_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_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_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_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_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] Display channel, please get it from capability set
dwDispChanCmd
[in] Display channel command, defined as below:
Macro Definition | Macro Definition Value | Implication
DISP_CMD_ENLARGE_WINDOW | 1 | Enlarge one window of display channel
DISP_CMD_RENEW_WINDOW | 2 | Resume the window of display channel
dwCmdParam
[in] Command 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_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) | valid | NET_DVR_BIGSCREENCFG | 1140

When dwCommand is NET_DVR_MATRIX_BIGSCREENCFG_GET, lChannel means screen sequence number, value range: 0～n (got by capability set).

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) | valid | NET_DVR_BIGSCREENCFG | 1141

When dwCommand is NET_DVR_MATRIX_BIGSCREENCFG_SET, lChannel means screen sequence number, value range: 0～n (got by capability set).

See Also

NET_DVR_GetDVRConfig 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_MatrixStartDynamic

This API is used to start dynamic decode.

LONG 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 decode.

LONG 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] 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_MatrixStopDynamic

This API is used to stop passive decode.

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] Decode channel

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


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


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


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_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_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_PLAYSTARTT | 1 | Start playing
NET_DVR_PLAYSTOP | 2 | Stop playing
NET_DVR_PLAYPAUSE | 3 | Pause
NET_DVR_PLAYRESTART | 4 | Resume
NET_DVR_PLAYFAST | 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 | 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_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_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

lUserID
[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] Decode 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_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


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


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_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_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_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_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
MATRIXDECODER_ABILITY_V41 | 0x260 | Decoder capability set (extended)
SCREENCONTROL_ABILITY | 0x600 | Capability set of multi-Screen controller
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 HD IP 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
MATRIXDECODER_ABILITY_V41 | Get decoder capability set (extended) | None | NET_DVR_MATRIX_ABILITY_V41
SCREENCONTROL_ABILITY | Get capability set of multi-Screen controller | None | NET_DVR_SCREENCONTROL_ABILITY

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_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_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_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_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_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_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_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_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_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 HD IP 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 | invalid | NET_DVR_AID_RULECFG | 405
NET_DVR_GET_TPS_RULECFG | Get traffic counting rule configuration | invalid | 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 | invalid | NET_DVR_AID_RULECFG | 404
NET_DVR_SET_TPS_RULECFG | Set traffic counting rule configuration | invalid | NET_DVR_TPS_RULECFG | 406
NET_DVR_SET_LANECFG | Set lane rule configuration | valid | NET_DVR_LANE_CFG | 408

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


NET_DVR_GetSceneMode

This API is used to get scene mode.

BOOL NET_DVR_GetSceneMode(
  LONG     lUserID
  LONG     lChannel
  DWORD    *pSceneMode
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
pSceneMode
[out] Scene mode
enum tagTRAFFIC_SCENE_MODE{
  FREEWAY  = 0,
  TUNNEL,
  BRIDGE
}TRAFFIC_SCENE_MODE
FREEWAY
High-speed outdoor scene
TUNNEL
High-speed tunnel scene
BRIDGE
High-speed bridge scene

Return Values

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

See Also

NET_DVR_Login_V30 NET_DVR_Login
NET_DVR_SetSceneMode


NET_DVR_SetSceneMode

This API is used to set scene mode.

BOOL NET_DVR_SetSceneMode(
  LONG     lUserID
  LONG     lChannel
  DWORD    dwSceneMode
);

Parameters

lUserID
[in] The return value of NET_DVR_Login or NET_DVR_Login_V30
lChannel
[in] Channel number
dwCaptureMode
[in] Scene mode
enum tagTRAFFIC_SCENE_MODE{
  FREEWAY  = 0,
  TUNNEL,
  BRIDGE
}TRAFFIC_SCENE_MODE
FREEWAY
High-speed outdoor scene
TUNNEL
High-speed tunnel scene
BRIDGE
High-speed bridge scene

Return Values

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

See Also

NET_DVR_Login_V30 NET_DVR_Login
NET_DVR_GetSceneMode


NET_DVR_GetDVRConfig

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_CCDPARAMCFG | Get CCD parameters of intelligent HD IP camera | invalid | NET_DVR_CAMERAPARAMCFG | 1067
NET_DVR_GET_IOINCFG | Get IO input configuration of intelligent HD IP camera | valid | NET_DVR_IO_INCFG | 1070
NET_DVR_GET_IOOUTCFG | Get IO output configuration of intelligent HD IP camera | valid | NET_DVR_IO_OUTCFG | 1072
NET_DVR_GET_FLASHCFG | Get flash configuration of intelligent HD IP 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 HD IP camera | valid | NET_DVR_MEASURESPEEDCFG | 1078
NET_DVR_GET_IMAGEOVERLAYCFG | Get overlay configuration of intelligent HD IP camera | invalid | NET_DVR_IMAGEOVERLAYCFG | 1080
NET_DVR_GET_SNAPCFG | Get signal IO trigger parameters of intelligent HD IP camera | valid | NET_DVR_SNAPCFG | 1082
NET_DVR_GET_VTPPARAM | Get VTP parameters of intelligent HD IP camera | invalid | NET_DVR_VTPARAM | 1084
NET_DVR_GET_SNAPENABLECFG | Get snap enable parameters of intelligent HD IP camera | invalid | NET_DVR_SNAPENABLECFG | 1086
NET_DVR_GET_POSTEPOLICECFG | Get electronic police configuration of intelligent HD IP camera | invalid | NET_DVR_POSTEPOLICECFG | 1088
NET_DVR_GET_JPEGCFG_V30 | Get JPEG parameters of intelligent HD IP camera | invalid | NET_DVR_JPEGCFG_V30 | 1090
NET_DVR_GET_SPRCFG | Get license plate recognition of intelligent HD IP camera | invalid | NET_DVR_SPRCFG | 1092
NET_DVR_GET_PLCCFG | Get license plate light compensation of intelligent HD IP camera | invalid | NET_DVR_PLCCFG | 1094
NET_DVR_GET_DEVICESTATECFG | Get device status of intelligent HD IP camera | invalid | NET_DVR_DEVICESTATECFG | 1096
NET_ITC_GET_TRIGGERCFG | Get trigger mode of intelligent HD IP camera | valid | NET_ITC_TRIGGERCFG | 3003
NET_ITC_GET_IOOUT_PARAM_CFG | Get IO output parameter of intelligent HD IP camera | valid | NET_ITC_IOOUT_PARAM | 3005
NET_ITC_GET_TRIGGER_DEFAULTCFG | Get Trigger mode's recommended parameter of intelligent HD IP camera | valid | NET_ITC_SINGLE_TRIGGERCFG | 3013
NET_DVR_GET_STATUS_DETECTCFG | Get device status detection configuration of intelligent HD IP camera | valid | NET_DVR_STATUS_DETECTCFG | 3015

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.

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_CCDPARAMCFG | Set CCD parameters of intelligent HD IP camera | invalid | NET_DVR_CAMERAPARAMCFG | 1068
NET_DVR_SET_IOINCFG | Set IO input configuration of intelligent HD IP camera | valid | NET_DVR_IO_INCFG | 1071
NET_DVR_SET_IOOUTCFG | Set IO output configuration of intelligent HD IP camera | valid | NET_DVR_IO_OUTCFG | 1073
NET_DVR_SET_FLASHCFG | Set traffic light snap parameters of intelligent HD IP 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 HD IP camera | valid | NET_DVR_MEASURESPEEDCFG | 1079
NET_DVR_SET_IMAGEOVERLAYCFG | Set overlay configuration of intelligent HD IP camera | invalid | NET_DVR_IMAGEOVERLAYCFG | 1081
NET_DVR_SET_SNAPCFG | Set signal IO trigger parameters of intelligent HD IP camera | valid | NET_DVR_SNAPCFG | 1083
NET_DVR_SET_VTPPARAM | Set VTP parameters of intelligent HD IP camera | invalid | NET_DVR_VTPARAM | 1085
NET_DVR_SET_SNAPENABLECFG | Set snap enable parameters of intelligent HD IP camera | invalid | NET_DVR_SNAPENABLECFG | 1087
NET_DVR_SET_POSTEPOLICECFG | Set electronic police configuration of intelligent HD IP camera | invalid | NET_DVR_POSTEPOLICECFG | 1089
NET_DVR_SET_JPEGCFG_V30 | Set JPEG parameters of intelligent HD IP camera | invalid | NET_DVR_JPEGCFG_V30 | 1091
NET_DVR_GET_SPRCFG | Set license plate recognition of intelligent HD IP camera | invalid | NET_DVR_SPRCFG | 1093
NET_DVR_GET_PLCCFG | Set license plate light compensation of intelligent HD IP camera | invalid | NET_DVR_PLCCFG | 1095
NET_ITC_SET_TRIGGERCFG | Get trigger mode of intelligent HD IP camera | valid | NET_ITC_TRIGGERCFG | 3004
NET_ITC_SET_IOOUT_PARAM_CFG | Get IO output parameter of intelligent HD IP camera | valid | NET_ITC_IOOUT_PARAM | 3006
NET_DVR_SET_STATUS_DETECTCFG | Get device status detection configuration of intelligent HD IP camera | valid | NET_DVR_STATUS_DETECTCFG | 3016

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.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


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_FocusOnePush

This API is used to control one-key focus.

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_RemoteControl

This API is used to control the remote controller.

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

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
SNAPCAMERA_ABILITY | 0x300 | Capability of intelligent HD IP camera
ITC_TRIGGER_MODE_ABILITY | 0x301 | Capability of intelligent HD IP 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.

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 HD IP camera ability are defined as below:

Macro Definition | Type of Ability | pInBuf | pOutBuf
SNAPCAMERA_ABILITY | Get capability of intelligent HD IP camera | None | NET_DVR_SNAP_ABILITY
ITC_TRIGGER_MODE_ABILITY | Get capability of intelligent HD IP camera (v3.1 or later version) | ITC_MAINMODE_ABILITY | NET_ITC_TRIGGERMODE_ABILITY

See Also

NET_DVR_Login NET_DVR_Login_V30


NET_DVR_ManualSnap

This API is used to realize manual triggering capture of intelligent HD IP 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 HD IP 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_ContinuousShoot

This API is used to manually trigger intelligent HD IP 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.

Remarks

It is used to manually trigger intelligent HD IP 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_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 getting 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

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

See Also

NET_DVR_GetDVRConfig


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 HD IP 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.

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_StartUploadAudio

This API is used to upload voice file to the device.

BOOL 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_StartDownloadAudio

This API is used to download voice data form the device.

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

获取设备的配置信息。

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

When dwCommand is NET_DVR_GET_SCREEN_WINCFG, lChannel: 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.

When dwCommand is NET_DVR_LAYOUTLIST_GET, NET_DVR_INPUTLIST_GET or NET_DVR_OUTPUT_GET, 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.

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

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.

See Also

NET_DVR_GetDVRConfig NET_DVR_GetLastError


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
[in] 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.
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_ScreenWinCtrl, 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_PicUpload

This API is used to upload basemap picture 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_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- basemap
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
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

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

For centralized large-screen controller of V1.1, 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.

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_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_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
[in] 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
[in] 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
lStreamHandle
[out] Playback handle
pPewviewCallbackParam
[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 | 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.x


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_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_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_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_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_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_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_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_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_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_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_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_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 HD IP 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 HD IP 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 HD IP 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 HD IP 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 HD IP 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 HD IP 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 HD IP 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 HD IP 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_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_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_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 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_VoiceComSendData NET_DVR_Login NET_DVR_Login_V30

Reference Interface

NET_DVR_StartVoiceCom_MR_V30


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


Device All Capability XML Description

Device all capability, including software/hardware capability, network capability, encoding capability and current encoding capability.

Macro Definition of Capability Type | Description of Capability Type | pInBuf | pOutBuf
DEVICE_ALL_ABILITY | Get all capability | Device Current Encoding Capability XML Description | Device All Capability XML Description

  • XML format of input parameters:
    • <CurrentCompressInfo>
    <VideoEncodeType>
    <!--req, 0: private 264;1: STD_MPEG4; 2 : STD_H264-->
    </VideoEncodeType>

    <VideoResolution>
    <!--req, 0-DCIF, 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 16-VGA, 17-UXGA, 18-SVGA, 19-HD720p, 20-XVGA, 21-HD900p, 27-HD1080i, -->
    <!--req, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048-->
    </VideoResolution>

</CurrentCompressInfo>
  • XML format of output parameters:
    • <DeviceCapability>

   <!--req,  Overview of ability support information -->
   <HardwareCapability>
       <HardwareVersion>
       <!--req,  Hardware version. higher 16 bits mean the major version, and lower 16 bits mean the minor version -->
       </HardwareVersion>

       <AlarmInPortNum>
       <!--req,   Number of alarm in ports -->
       </AlarmInPortNum>

       <AlarmOutPortNum>
       <!--req,  Number of alarm out ports -->
       </AlarmOutPortNum>

       <RS232Num>
       <!--req,  Number of 232 serial ports -->
       </RS232Num>

       <RS485Num>
       <!--req,  Number of 485 serial ports -->
       </RS485Num>

       <NetworkPortNum>
       <!--req,  Number of network ports -->
       </NetworkPortNum>

       <USBNum>
       <!--req,  Number of USB ports -->
       </USBNum>

       <FlashSize>
       <!--req,  Flash size (Unit:K) -->
       </ FlashSize >

       <RamSize>
       <!--req,  Ram size (Unit:K) -->
       </RamSize>

       <USBVersion>
       <!--req,  USB version -->
       </USBVersion>

       <SDNum>
       <!--req,  Number of SD cards -->
       </SDNum>

       <VideoInNum>
       <!--req,  Number of VINs -->
       </VideoInNum>

       <AudoInNum>
       <!--req,  Number of AINs -->
       </AudioInNum>

       <VideoOutNum>
       <!--req,  Number of VOUTs -->
       </VideoOutNum>

       <AudioOutNum>
       <!--req,  Number of AOUTs -->
       </AudioOutNum>

       <SDSupport>
       <!--req,  Does it support SD card? -->
       </SDSupport>

       <WiFiSupport>
       <!--req,  Does it support WiFi? -- 0 - not support, 1 - support -->
       </WiFiSupport>

       <POESupport>
       <!--req,  Does it support POE? -- 0 - not support, 1 - support -->
       </POESupport>

       <IRSupport>
       <!--req,  Does it support IR? -- 0 - not support, 1 - support -->
       </IRSupport >

       <VideoOutSupport>
       <!--req,  Does it support local output? -- 0 - not support, 1 - support -->
       </VideoOutSupport>

       <ResetSupport>
       <!--req,  Does it support to reset? -- 0 - not support, 1 - support -->
       </ResetSupport>

   </HardwareCapability>

   <!--req,  Overview of hardware ability information -->
   <SoftwareCapability >

       <NasSupport>
       <!--req,  Does it support NAS? -- 0 - not support, 1 - support -->
       </ NasSupport>

       <RtspSupport>
       <!--req,  Does it support Rtsp? -- 0 - not support, 1 - support -->
       </ RtspSupport>

       <NtpSupport>
       <!--req,  Does it support NTP? -- 0 - not support, 1 - support -->
       </NtpSupport>

       <EptzSupport>
       <!--req,  Does it support e-PTZ? -- 0 - not support, 1 - support -->
       </EptzSupport>

       <DDNSSupport>
       <!--req,  Does it support DDNS? -- 0 - not support, 1 - support -->
       </DDNSSupport>

       <UPNPSupport>
       <!--req,  Does it support UPNP? -- 0 - not support, 1 - support -->
       </UPNPSupport>

       <Ipv6Support>
       <!--req,  Does it support Ipv6? -- 0 - not support, 1 - support -->
       </Ipv6Support>

       <VCASupport>
       <!--req,  Does it support VCA? -- 0 - not support, 1 - support -->
       </VCASupport>

   </SoftwareCapability>

<!--req,  Detail description of each ability -->
…………
</DeviceCapability>


Device All Encoding Capability XML Description

Macro Definition of Capability Type | Description of Capability Type | pInBuf | pOutBuf
DEVICE_ENCODE_ALL_ABILITY | Get all capability | None | Device All Capability XML Description

  • XML format of output parameters:
    • <AudioVideoCompressInfo>
<AudioCompressInfo>
    <AudioEncodeType<
    <!--req, 0:G722_1; 1:G711_MU; 2:G711_A; 3: G723; 4: MP1L2; 5 MP2L2; 99: RAW-->
    <Range>0,1,2,3,4,5,99</Range>
    </AudioEncodeType>

    <VoiceTalkEncodeType>
    <!--req, 0:G722_1; 1:G711_MU; 2:G711_A; 3: G723; 4: MP1L2; 5 MP2L2; 99: RAW-->
    <Range>0,1,2,3,4,5,99</Range>
    <VoiceTalkEncodeType>
</AudioCompressInfo>

<VideoCompressInfo>

    <ChannelList>

        <ChannelEntry>
            <!--req,  Chaanel number -->
            <ChannelNumber>1</ChannelNumber>
            <MainChannel>

            <VideoEncodeType>
            <!--req,  0:private 264;1: STD_MPEG4; 2 :STD_H264* /
            <Range>1,2</Range>>
            </VideoEncodeType>

            <VideoResolutionList>
            <!--req,  Resolution:0-DCIF, 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 16-VGA, 17-UXGA, 18-SVGA, 19-HD720p, 20-XVGA, 21-HD900p, -->
            <!--req,  27-HD1080i, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048 -->
                <VideoResolutionEntry>
                <!--req, DCIF-->
                <Index>0</Index>
                <Name>DCIF</Name>
                <Resolution>528*384</Resolution>
                </VideoResolutionEntry>

                <VideoResolutionEntry>
                <!--req, CIF-->
                <Index>1</Index>
                <Name>CIF</Name>
                <Resolution>352*288</Resolution>
                </VideoResolutionEntry>

                <VideoResolutionEntry>
                <!--req, QCIF-->
                <Index>2</Index>
                <Name>QCIF</Name>
                <Resolution>176*144</Resolution>
                </VideoResolutionEntry>

                <VideoResolutionEntry>
                <!--req, 4CIF-->
                <Index>3</Index>
                <Name>4CIF</Name>
                <Resolution>704*576</Resolution>
                </VideoResolutionEntry>

                <VideoResolutionEntry>
                <!--req, 2CIF-->
                <Index>4</Index>
                <Name>2CIF</Name>
                <Resolution>704*288</Resolution>
                </VideoResolutionEntry>

                <VideoResolutionEntry>
                <!--req, QVGA-->
                <Index>6</Index>
                <Name>QVGA</Name>
                <Resolution>320*240</Resolution>
                </VideoResolutionEntry>

                ......

                <VideoResolutionEntry>
                <!--req, UXGA-->
                <Index>17</Index>
                <Name>UXGA</Name>
                <Resolution>1600*1200</Resolution>
                </VideoResolutionEntry>

                <!--req, Other resolutions-->
                ......
            </VideoResolutionList>

            <VideoFrameRate>
            <!--req, 0: Full frame rate: 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-->
            <Range>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16</Range>
            </VideoFrameRate>

            <VideoBitrate>
            <!--req,  Encoding bitrate -->
            <Min>16</Min><!--req, Min bitrate(Unit:Kb)-->
            <Max>16384K</Max><!--req, Max bitrate(Unit:Kb)-->
            </VideoBitrate>

            <IntervalBPFrame>
            <!--req, 0-BBP; 1-BP; 2-single P-->
            <Range>0,1,2</Range>
            </IntervalBPFrame>

            <!--req,  Max encoding ability of E frame -->
            <EFrame>0</EFrame>
            </MainChannel>

            <SubChannelList>
                <SubChannelEntry>
                <index>1</index><!--req, Index of sub channel-->

                <VideoEncodeType>
                <!--req, 0:private 264;1: STD_MPEG4; 2:STD_H264; 7: STD_RTPMJPEG-->
                <Range>1,2</Range>
                </VideoEncodeType>

                <VideoResolutionList>

                    <VideoResolutionEntry>
                    <!--req, CIF-->
                    <Index>1</Index>
                    <Name>CIF</Name>
                    <Resolution>352*288</Resolution>
                    </VideoResolutionEntry>

                    <VideoResolutionEntry>
                    <!--req, QCIF-->
                    <Index>2</Index>
                    <Name>QCIF</Name>
                    <Resolution>176*144</Resolution>
                    </VideoResolutionEntry>

                    <VideoResolutionEntry>
                    <!--req, QVGA-->
                    <Index>6</Index>
                    <Name>QVGA</Name>
                    <Resolution>320*240</Resolution>
                    </VideoResolutionEntry>
                    </VideoResolutionList>

               <VideoFrameRate>
               <Range>0,1,2,3,4,5,6,7,8,9,10,11,12,13</Range>
               </VideoFrameRate>

               <VideoBitrate>
               //Encoding bitrate
               <Min>16</Min><!--req, Min bitrate(Unit:Kb)-->
               <Max>16384</Max><!--req, Max bitrate(Unit:Kb)-->
               </VideoBitrate>

               <IntervalBPFrame>
               <!--req, 0-BBP; 1-BP;2-single P-->
               <Range>0,1,2</Range>
               </IntervalBPFrame>

               <EFrame>0</EFrame><!--req, Max encoding ability of E frame-->

               <SubChannelEntry>
           </SubChannelList>

        <ChannelEntry>
    <ChannelList>>

</VideoCompressInfo>
</AudioVideoCompressInfo>


Device Current Encoding Capability XML Description

Because encoding type and resolution of main stream will influence encoding frame rate of main stream, resolution and frame rate of sub stream, if to describe all information in encoding parameter, the xml description will be very complex and have lots of data. Please query encoding frame rate of main stream, resolution and frame rate of sub stream in specific encoding type and resolution of main stream.

Macro Definition of Capability Type | Description of Capability Type | pInBuf | pOutBuf
DEVICE_ENCONE_CURRENT | Get current encoding capability | Device Current Encoding Capability XML Description.html | Device Current Encoding Capability XML Description.html

  • XML format of input parameters:
    • <CurrentCompressInfo>
    <VideoEncodeType>
    <!--req, 0:private 264;1: STD_MPEG4; 2 :STD_H264-->
    </VideoEncodeType>

    <VideoResolution>
    <!--req, 0-DCIF,1-CIF,2-QCIF,3-4CIF,4-2CIF,16-VGA,17-UXGA,18-SVGA,19-HD720p,20-XVGA,21-HD900p,27-HD1080i,-->
    <!--req, 28-2560*1920,29-1600*304,30-2048*1536,31-2448*2048-->
    </VideoResolution>

</CurrentCompressInfo>
  • XML format of output parameters:
    • <CurrentCompressInfo>

    <VideoEncodeType>
    <!--req, 0:private 264;1: STD_MPEG4; 2:STD_H264-->
    <Range>1,2</Range>>
    </VideoEncodeType>

    <VideoResolution>
    <!--req, 0-DCIF,1-CIF,2-QCIF,3-4CIF,4-2CIF,16-VGA,17-UXGA,18-SVGA,19-HD720p,20-XVGA,21-HD900p,27-HD1080i,-->
    <!--req, 28-2560*1920,29-1600*304,30-2048*1536,31-2448*2048-->
    <VideoResolution>

    <VideoFrameRate>
    <!--req, 0:full frame rate;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-->
    <Range>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16</Range>
    </VideoFrameRate>

    <!--req,  Under current encoding resolution and frame rate, the resolution and frame rate of main stream -->
    <SubChannelList>
    <SubChannelEntry>
    <index>1</index><!--req, Index of sub stream-->

        <VideoResolutionList>

            <VideoResolutionEntry>
            <!--req, CIF-->
                <Index>1</Index>
                <VideoFrameRate>
                <!--req, 0:full frame rate;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-->
                <Range>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16</Range>
                </VideoFrameRate>
            </VideoResolutionEntry>

            <VideoResolutionEntry>
            <!--req, QCIF-->
                <Index>2</Index>
                <VideoFrameRate>
                <!--req, 0:full frame rate;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-->
                <Range>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16</Range>
                </VideoFrameRate>
            </VideoResolutionEntry>

      </VideoResolutionList>

   </SubChannelEntry>
   </SubChannelList>

</CurrentCompressInfo>


Device Front-end Parameter XML Description

Macro Definition of Capability Type | Description of Capability Type | pInBuf | pOutBuf
IPC_FRONT_PARAMETER | Get front-end camera parameter capability | None | Device Front-end Parameter XML Description

  • XML format of output parameters:
    • <CAMERAPARA>

    <PowerLineFrequencyMode>
    <!--req, 0-50HZ; 1-60HZ-->
    <Range>0,1</Range>>
    </PowerLineFrequencyMode>

    <WhiteBalance>

        <WhiteBalanceMode>
        <!--req, 0 USERSET, 1 AWB1, 2 AWB2; 2 AWB3-->
        <Range>0,1</Range>
        </WhiteBalanceMode>

        <WhiteBalanceModeRGain>
            <Min>0</Min> <!--req, Min value-->
            <Max>255</Max> <!--req, Max value-->
        </WhiteBalanceModeRGain>

        <WhiteBalanceModeBGain>
            <Min>0</Min> <!--req, Min value-->
            <Max>255</Max> <!--req, Max value-->
        </WhiteBalanceModeBGain>
    </WhiteBalance>

    <Exposure>
        <ExposureMode>
        <!--req, 0-manual exposure,1-auto exposure-->
        <Range>0,1</Range>
        </ExposureMode>

        <ExposureSet>
        <!--req, 0- auto*8, 1- auto*5, 2- auto*4, 3- auto*2, 4- 1/25, 5- 1/50, 6- 1/100, 7- 1/250, 8- 1/500,-->
        <!--req, 9- 1/750, 10- 1/1000, 11- 1/2000, 12- 1/4000, 13- 1/10,000, 14- 1/100,000-->
        <Range>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14</Range>
        </ExposureSet>

        <exposureUSERSET>
        <!--req,  Auto customized exposure time-->
            <Min>0</Min> <!--req, Min value-->
            <Max>2000000</Max> <!--req, Max value-->
        </exposureUSERSET>

        <ExposureTarget>
        <!--req, Manual exposure time (Unit: us)-->
            <Min>0</Min> <!--req, Min value-->
            <Max>2000000</Max> <!--req, Max value-->
        </ExposureTarget>
    </Exposure>

    <IrisMode>
        <!--req, 0-manual exposure,1-auto exposure-->
        <Range>0,1</Range>
    </IrisMode>

    <!--req, Auto aperture sensitivity-->
    <AutoApertureLevel>
        <!--req, Maximum value-->
        <Min>0</Min>
        <!--req, Minimum value-->
        <Max>15</Max>
        <!--req, Default value-->
        <Default>7</Default>
    </AutoApertureLevel>

    <FocusMode>
        <!--req, 0-manual focus, 1-auto focus, 2-auto back focus-->
        <Range>0,1,2</Range>
    </FocusMode>

    <GainLevel>
        <Min>0</Min>
        <Max>100</Max>
    </GainLevel>

    <BrightnessLevel>
        <Min>0</Min>
        <Max>100</Max>
    </BrightnessLevel>

    <ContrastLevel>
        <Min>0</Min>
        <Max>100</Max>
    </ContrastLevel>

    <SharpnessLevel>
        <Min>0</Min>
        <Max>100</Max>
    </SharpnessLevel>

    <SaturationLevel>
        <Min>0</Min>
        <Max>100</Max>
    </SaturationLevel>

    <HueLevel>
        <Min>0</Min>
        <Max>100</Max>
    </HueLevel>

    <GammaCorrection>
        <GammaCorrectionEnabled>
        <!--req, 0 dsibale  1 enable-->
        <Range>0,1</Range>
        </GammaCorrectionEnabled>

        <GammaCorrectionLevel>
            <Min>0</Min>
            <Max>100</Max>
        </GammaCorrectionLevel>
    </GammaCorrection>

    <WDR>
        <WDREnabled>
        <!--req, 0 dsibale  1 enable-->
        <Range>0,1</Range>
        </WDREnabled>

        <WDRLevel1>
            <Min>0</Min>
            <Max>0xf</Max>
        </WDRLevel1>

        <WDRLevel2>
            <Min>0</Min>
            <Max>0xf</Max>
        </WDRLevel2>

        <WDRContrastLevel >
            <Min>0</Min>
            <Max>0xf</Max>
        </WDRContrastLevel >
    </WDR>

    <DayNightFilter>
        <DayNightFilterType>
        <!--req, 0  day,1 night,2 auto-->
        <Range>0,1,2</Range>
        </DayNightFilterType>

        <SwitchScheduleEnabled>
        <!--req, 0 dsibale  1 enable-->
        <Range>0,1</Range>

            <DayToNightFilterLevel>
                <Range>0,1,2,3,4,5,6,7</Range>
            </DayToNightFilterLevel>

            <NightToDayFilterLevel>
                <Range>0,1,2,3,4,5,6,7</Range>
            </NightToDayFilterLevel>

            <DayNightFilterTime>
                <Min>0</Min>
                <Max>120</Max>
            </DayNightFilterTime>
        </SwitchScheduleEnabled>
    </DayNightFilter>

    <Backlight>
        <BacklightMode>
        <!--req, 0- USERSET, 1- UP, 2- DOWN, 3- LEFT, 4- RIGHT, 5- MIDDLE-->
        <Range>0,1,2,3,4,5</Range>
        </BacklightMode>

        <BacklightLevel>
            <Min>0</Min>
            <Max>0xf</Max>
        </BacklightLevel>
    </Backlight>

    <Mirror>
    <!--req, 0 Left;1 Right,;2 Up;3Down-->
    <Range>0,1,2,3</Range>
    </Mirror>

    <EPTZ>
    <!--req, 0- disable e-PTZ, 1- enable e-PTZ-->
    <Range>0,1</Range>
    </EPTZ>

    <LOCALOUTPUT>
    <!--req, 0- not support, 1- support-->
    <!--req, 365: mini dome and mini box camera don't support local output;9p031 front-end device does not support local output currently-->
    <!--req, 6467: BNC- 0,1; HDMI- 0:not support, 20:HDMI_720P50, 20:HDMI_720P60, 22:HDMI_1080I60,-->
    <!--req, 23:HDMI_1080I50, 24:HDMI_1080P24, 25:HDMI_1080P25,-->
    <!--req, 26:HDMI_1080P30, 27:HDMI_1080P50, 28:HDMI_1080P60-->
    <Range>0,1</Range>
    </LOCALOUTPUT>

    <DigitalNoiseReduction>
        <DigitalNoiseReductionEnable>
        <!--req, 0- close, 1- normal mode, 2- expert mode-->
        <Range>0,1,2</Range>
        </DigitalNoiseReductionEnable>

        <!--req, Digital noise reduction level in normal mode-->
        <DigitalNoiseReductionLevel>
            <!--req, 0-100-->
            <Min>0</Min>
            <Max>100</Max>
        </DigitalNoiseReductionLevel>

        <!--req, Digital noise reduction level in expert mode-->
        <DigitalNoiseSpectralLevel>
            <!--req, 0-100-->
            <Min>0</Min>
            <Max>100</Max>
        </DigitalNoiseSpectralLevel>

        <!--req, Temporal digital noise reduction level in expert mode-->
        <DigitalNoiseTemporalLevel>
            <!--req, 0-100-->
            <Min>0</Min>
            <Max>100</Max>
        </DigitalNoiseTemporalLevel>
    </DigitalNoiseReduction>

    <!--req, Color range-->
    <ColorRange>
    <!--req, 0:16-235,1:0-255-->
    <Range>0,1</Range>
    </ColorRange>

    <DigitalZoom>
    <!--req,  Digital zoom, used by thermographic device -->
    <!--req,  Digital zoom: 0- closed, 1- ×2, 2- ×4 -->
    <Range>0,1,2</Range>
    </DigitalZoom>

    <DeadPixelDetect>
    <!--req, 0 dsibale  1 enable-->
    <Range>0,1</Range>
    </DeadPixelDetect>

    <!--req, Line coding ability-->
    <LINEENCODE>
    <!--req, 0 dsibale  1 enable-->
    <Range>0,1</Range>
    </LINEENCODE>

</CAMERAPARA>


Device Network Capability XML Description

Macro Definition of Capability Type | Description of Capability Type | pInBuf | pOutBuf
DEVICE_NETWORK_ABILITY | Get network capability | None | Device Network Capability XML Description

  • XML format of output parameters:
    • <NetworkSetting>
    <!--req,  Wifi ability description -->
    <WirelessSetting>

        <InterfaceMode>
        <!--req, 0-auto switch; 1-wired mode-->
        <Range>0,1</Range>
        </InterfaceMode>

        <NetworkMode>
        <!--req, 0 managed; 1 ad-hoc-->
        <Range>0,1</Range>>
        </NetworMode>

        <SecurityMode>
        <NONE></NONE>
        <WEP>
           <AuthenticationType>
           <!--req, 0-open node; 1-share mode-->
           <Range>0,1</Range>>
           </AuthenticationType>

           <WEPKeyLength>
           <!--req, 0:64 bit; 1:128bit; 3:152bit-->
           <Range>0,1,2</Range>
           </WEPKeyLength>
        </WEP>

        <WPA_PSK>
           <WPA_PSK KeyLength>
           <Min>8</Min>
           <Max>63</Max>
           </WPA_PSK KeyLength>
        </WPA_PSK>
        </SecurityMode>

    </WirelessSetting>

</NetworkSetting>


Device RAID Capability XML Description

Macro Definition of Capability Type | Description of Capability Type | pInBuf | pOutBuf
DEVICE_RAID_ABILITY | Get RAID capability | None | Device RAID Capability XML Description

  • XML format of output parameters:
    • <RAID version=”2.0”>

    <RaidType>
      <!--req, RAID type: 1- MARVELL RAID card, 2- soft RAID-->
      <Range>1,2</Range>
    </RaidType>

    <RaidAutoRebuild>
      <!--req, Whether it supports to set the RAID rebuild automatically: 1- support. If not support, no this item-->
      <Range>1</Range>
    </RaidAutoRebuild>

    <AdapterUpgrade>
      <!--req, Whether it supports firmware upgrade: 1- support. If not support, no this item-->
      <Range>1</Range>
    </AdapterUpgrade>

    <MaxPdCount>
      <!--req, The max count of physical disks-->
      <Value>1</Value>
    </MaxPdCount>

    <MaxArrayCount>
      <!--req, The max count of RAIDs-->
      <Value>1</Value>
    </MaxArrayCount>

    <MaxVdCount>
      <!--req, The max count of virtual disks which can be displayed-->
      <Value>1</Value>
    </MaxVdCount>

    <MaxCreateVdCount>
      <!--req, The max count of virtual disks which can be created-->
      <Value>1</Value>
    </MaxCreateVdCount>

    <SpareType>
      <!--req, Hot spare type: 1- global hot spare, 2- assigned RAID spare-->
      <Range>1,2</Range>
    </SpareType>

    <RaidMode>
      <!--req, RAID mode: 1-RAID0, 2-RAID1, 3-RAID10, 4-RAID1E, 5-RAID5, 6-RAID6, 7-RAID50, 8-JBOD, 9-RAID60-->
      <Range>1,2,3,4,5,6,7,8,9</Range>
    </RaidMode>

    <RebuildArray>
      <!--req, Whether it supports to rebuild RAID: 1- support. If not support, no this item-->
      <Range>1</Range>
    </RebuildArray>

    <MigrateArray>
      <!--req, Whether it supports to migrate RAID: 1- support. If not support, no this item-->
      <Range>1</Range>
    </MigrateArray>

    <MigrateArrayType>
      <!--req, The supported RAID types of migration, if not support, no this item-->
      <!--req, 1-RAID0, 2-RAID1, 3-RAID10, 4-RAID1E, 5-RAID5, 6-RAID6, 7-RAID50, 8-JBOD, 9-RAID60-->

      <RAID0> <!--req, RAID type before migrated-->
        <Range>2,3,4,5,6,7,8,9</Range> <!--req, RAID type after migrated-->
      </RAID0>

      <RAID1> <!--req, RAID type before migrated-->
        <Range>1,3,4,5,6,7,8,9</Range> <!--req, RAID type after migrated-->
      </RAID1>

      <RAID10> <!--req, RAID type before migrated-->
        <Range>1,2,4,5,6,7,8,9</Range> <!--req, RAID type after migrated-->
      </RAID10>

      <RAID1E> <!--req, RAID type before migrated-->
        <Range>1,2,3,5,6,7,8,9</Range> <!--req, RAID type after migrated-->
      </RAID1E>

      <RAID5> <!--req, RAID type before migrated-->
        <Range>1,2,3,4,6,7,8,9</Range> <!--req, RAID type after migrated-->
      </RAID5>

      <RAID6> <!--req, RAID type before migrated-->
        <Range>1,2,3,4,5,7,8,9</Range> <!--req, RAID type after migrated-->
      </RAID6>

      <RAID50> <!--req, RAID type before migrated-->
        <Range>1,2,3,4,5,6,8,9</Range> <!--req, RAID type after migrated-->
      </RAID50>

      <JBOD> <!--req, RAID type before migrated-->
        <Range>1,2,3,5,4,6,7,9</Range> <!--req, RAID type after migrated-->
      </JBOD>

      <RAID60> <!--req, RAID type before migrated-->
        <Range>1,2,3,4,5,6,7,8</Range> <!--req, RAID type after migrated-->
      </RAID60>

    </MigrateArrayType>

    <ScanArray>
      <!--req, Whether it supports to re-scan RAID: 1- support. If not support, no this item-->
      <Range>1</Range>
    </ScanArray>

    <StopArray>
      <!--req, Whether it supports to stop RAID: 1- support. If not support, no this item-->
      <Range>1</Range>
    </StopArray>

    <ArrayInitType>
      <!--req, RAID initialization type: 0- quick initialize, 1- fully initialize(foreground), 2- fully initialize(backstage), 3- not initialize-->
      <Range>0,1,2,3</Range>
    </ArrayInitType>

    <VdInitType>
      <!--req, Virtual disk initialization type: 0- quick initialize, 1- fully initialize(foreground), 2- fully initialize(backstage), 3- not initialize-->
      <Range>0,1,2,3</Range>
    </VdInitType>

    <MinVdSize>
      <!--req, The minimum volume of virtual disk, unit: MB-->
      <Value>1</Value>
    </MinVdSize>

</RAID>


Device Software and Hardware Capability XML Description

Macro Definition of Capability Type | Description of Capability Type | pInBuf | pOutBuf
DEVICE_SOFTHARDWARE_ABILITY | Get hardware capability | None | Device Software and Hardware Capability XML Description

  • XML format of output parameters:
    •  <BasicCapability>
   <!--req,  Overview of hardware support information -->
   <HardwareCapability>
       <HardwareVersion>
       <!--req,  Hardware version. higher 16 bits mean the major version, and lower 16 bits mean the minor version -->
       </HardwareVersion>

       <AlarmInPortNum>
       <!--req,  Number of alarm in ports -->
       </AlarmInPortNum>

       <AlarmOutPortNum>
       <!--req,  Number of alarm out ports -->
       </AlarmOutPortNum>

       <RS232Num>
       <!--req,  Number of 232 serial ports -->
       </RS232Num>

       <RS485Num>
       <!--req,  Number of 485 serial ports -->
       </RS485Num>

       <NetworkPortNum>
       <!--req,  Number of network ports -->
       </NetworkPortNum>

       <USBNum>
       <!--req,  Number of USB ports -->
       </USBNum>

       <FlashSize>
       <!--req,  Flash size (Unit:K) -->
       </ FlashSize >

       <RamSize>
       <!--req,  Ram size (Unit:K) -->
       </RamSize>

       <USBVersion>
       <!--req,  USB version -->
       </USBVersion>

       <SDNum>
       <!--req,  Number of SD cards -->
       </SDNum>

       <VideoInNum>
       <!--req,  Number of VINs -->
       </VideoInNum>

       <AudoInNum>
       <!--req,  Number of AINs -->
       </AudioInNum>

       <VideoOutNum>
       <!--req,  Number of VOUTs -->
       </VideoOutNum>

       <AudioOutNum>
       <!--req,  Number of AOUTs -->
       </AudioOutNum>

       <SDSupport>
       <!--req,  Does it support SD card? -->
       </SDSupport>

       <WiFiSupport>
       <!--req,  Does it support WiFi? -- 0 - not support, 1 - support -->
       </WiFiSupport>

       <POESupport>
       <!--req,  Does it support POE? -- 0 - not support, 1 - support -->
       </POESupport>

       <IRSupport>
       <!--req,  Does it support IR? -- 0 - not support, 1 - support -->
       </IRSupport >

       <VideoOutSupport>
       <!--req,  Does it support local output? -- 0 - not support, 1 - support -->
       </VideoOutSupport>

       <ResetSupport>
       <!--req,  Does it support to reset? -- 0 - not support, 1 - support -->
       </ResetSupport>

   </HardwareCapability>

   <!--req,  Overview of hardware ability information -->
   <SoftwareCapability >

       <NasSupport>
       <!--req,  Does it support NAS? -- 0 - not support, 1 - support -->
       </ NasSupport>

       <RtspSupport>
       <!--req,  Does it support Rtsp? -- 0 - not support, 1 - support -->
       </ RtspSupport>

       <NtpSupport>
       <!--req,  Does it support NTP? -- 0 - not support, 1 - support -->
       </NtpSupport>

       <EptzSupport>
       <!--req,  Does it support e-PTZ? -- 0 - not support, 1 - support -->
       </EptzSupport>

       <DDNSSupport>
       <!--req,  Does it support DDNS? -- 0 - not support, 1 - support -->
       </DDNSSupport>

       <UPNPSupport>
       <!--req,  Does it support UPNP? -- 0 - not support, 1 - support -->
       </UPNPSupport>

       <Ipv6Support>
       <!--req,  Does it support Ipv6? -- 0 - not support, 1 - support -->
       </Ipv6Support>

       <VCASupport>
       <!--req,  Does it support VCA? -- 0 - not support, 1 - support -->
       </VCASupport>

       <MultipleStreamSupport>
       <!--req,  Does it support multiple stream? -- 0 - not support, 1 - support -->
       </MultipleStreamSupport>

       <SubStreamSupport>
       <!--req,  Does it support sub stream? -- 0 - not support, 1 - support -->
       </SubStreamSupport>

   </SoftwareCapability>
</BasicCapability>


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
Traffic gate mode
ITC_EPOLICE_MODE
Electronic police mode
ITC_POSTEPOLICE_MODE
Traffic gate and electronic police mode

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 (traffic gate)
ITC_POST_SINGLEIO_TYPE
Single IO trigger (traffic gate)
ITC_POST_RS485_TYPE
RS485 magnetic vehicle detector trigger (traffic gate)
ITC_POST_RS485_RADAR_TYPE
RS485 radar trigger (traffic gate)
ITC_POST_VIRTUALCOIL_TYPE
Virtual coil trigger (traffic gate)
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 of traffic gate mode)
ITC_VIDEO_EPOLICE_TYPE
Video trigger (electronic police of traffic gate mode)

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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_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;
  WORD            byRes[74];
}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
byRes
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_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 area 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_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_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_HANDLEEXCEPTION_V30 NET_DVR_SCHEDTIME


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 or 3. 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 is abnormal, 11- intelligent scene changed, 12- RAID is abnormal, 12- 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 or 10. 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,0xff-unlimited(need to close manually)
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,0xff-unlimited(need to close manually)
struAlarmOutTime
Active time of alarm out
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_SCHEDTIME


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


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_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_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 snapcamera 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
byBacklightLevel
0x0-0xF
byRes1
Reserved
dwPositionX1
Coordinate X1
dwPositionY1
Coordinate Y1
dwPositionX2
Coordinate X2
dwPositionY2
Coordinate Y2
byRes2
Reserved


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    wSour_width;
  WORD    wSour_height;
}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
wSour_width
Width of the original picture
wSour_height
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_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_CAMERAPARAMCFG

Structure of front-end 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_VIDEOEFFECT NET_DVR_GAIN NET_DVR_WHITEBALANCE NET_DVR_EXPOSURE

NET_DVR_GAMMACORRECT NET_DVR_WDR NET_DVR_DAYNIGHT NET_DVR_BACKLIGHT

NET_DVR_NOISEREMOVE NET_DVR_CMOSMODECFG


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

NET_DVR_IPADDR


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_CMOSMODECFG

Front-end lens configuration in snapcamera 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


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_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     byres[9];
}NET_DVR_COMPRESSION_INFO_V30, *LPNET_DVR_COMPRESSION_INFO_V30;

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, 6-QVGA(320*240), 12-384*288, 16-VGA, 17-UXGA, 18-SVGA, 19-HD720p, 20-XVGA, 21-HD900p, 27-1920*1080, 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, 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
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
wIntervalFrameI
Interval of frame I, 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, 3- M-JPEG, 0xff- invalid
byAudioEncType
Audio encoding format: 0- OggVorbis,1- G711_U, 2- G711_A, 6- G726, 0xff- invalid
byVideoEncComplexity
Video compression complexity: 0- low, 1- middle, 2- high
byres
Reserved, please set to 0

Remarks

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_COMPRESSION_INFO_V30


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

Structure of parameters for day and night switch of snapcamera.

struct{
  BYTE       byDayNightFilterType;
  BYTE       bySwitchScheduleEnabled;
  BYTE       byBeginTime;
  BYTE       byEndTime;
  BYTE       byDayToNightFilterLevel;
  BYTE       byNightToDayFilterLevel;
  BYTE       byDayNightFilterTime;
  BYTE       byRes[5];
}NET_DVR_DAYNIGHT, *LPNET_DVR_DAYNIGHT;

Members

byDayNightFilterType
day and night switch: 0- day, 1- night, 2- auto
bySwitchScheduleEnabled
Reserved
byBeginTime
Reserved
byEndTime
Reserved
byDayToNightFilterLevel
0-7
byNightToDayFilterLevel
0-7
byDayNightFilterTime
60s
byRes
Reserved


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


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_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_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_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
IP of Device
wDVRPort
Port number of device
byChannel
Channel number: the number analog channel starts from 1 for current device, while it starts from NO.33 for IPC digital channel connected to DS-90xx series or NVR device
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 via 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 encoding channel accroding to capacity set
bySubDispChan
Sub channel number of display channel, used for intelligent configuration
byRes
Reserved, please set it to 0
byDomain
Device domain name
sUserName
User name of device
sPassword
Password of device

See Also

NET_DVR_IPADDR

NET_DVR_GetIPCProtoList


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_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 alarm input
byAlarmOutPortNum
The number of 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 | DVS
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 | DVS 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 DVS
DS_65XXHC_S | 106 | 65XXHC-SATA DVS
DS_65XXHF | 107 | 65XXHF DVS
DS_65XXHF_S | 108 | 65XXHF-SATA DVS
IVMS-6400 | 110 | Device for pedestrian flow statistics
DS_66XXDVS | 120 | DS_66XXDVS
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;
  BYTE     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 alarm input
byAlarmOutPortNum
The number of 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 | DVS
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 | DVS 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 DVS
DS_65XXHC_S | 106 | 65XXHC-SATA DVS
DS_65XXHF | 107 | 65XXHF DVS
DS_65XXHF_S | 108 | 65XXHF-SATA DVS
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_66XXDVS
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
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
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
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_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
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
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-not support plugging and playing, 1-support plugging and playing
byStorageMode
Hard disk storage mode: 0- diak group mode, 1- disk quota, 2- frame extract 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

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.


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 alarm input
byAlarmOutPortNum
The number of 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 | DVS
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 | DVS 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 DVS
DS_65XXHC_S | 106 | 65XXHC-SATA DVS
DS_65XXHF | 107 | 65XXHF DVS
DS_65XXHF_S | 108 | 65XXHF-SATA DVS
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_66XXDVS
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     byRes1;
  BYTE     wDevType;
  BYTE     byRes2[16];
}NET_DVR_DEVICEINFO_V30,*LPNET_DVR_DEVICEINFO_V30;

Members

sSerialNumber
Serial NO.
byAlarmInPortNum
The number of alarm input
byAlarmOutPortNum
The number of 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 | DVS
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 | DVS 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 DVS
DS_65XXHC_S | 106 | 65XXHC-SATA DVS
DS_65XXHF | 107 | 65XXHF DVS
DS_65XXHF_S | 108 | 65XXHF-SATA DVS
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_66XXDVS
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
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
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
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_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
byChanNum
The number of analog channels
byStartChan
Start number of channel, start from 1 currently.
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
byRes1
Reserved, please set it to 0
wDevType
Device type
byRes2
Reserved, please set it to 0

Remarks

If byDVRType=0, it will resolve wDevType to be device type; if byDVRType is not 0, byDVRType will equals to wDevType, and both to be byDVRType. It is recommended to use wDevType as device type.


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 HD network 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;
  BYTE             dwSDVolume;
  WORD             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_IPADDR


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


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

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

Structure of display-channel screen split mode.

struct{
  BYTE     byDispChanType;
  BYTE     byDispChanSeq;
  BYTE     byRes[2];
  DWORD    byDispMode[MAX_WINDOWSMODE];
}NET_DVR_DISPWINDOWMODE,*LPNET_DVR_DISPWINDOWMODE;

Members

byDispChanType
Display channel type: 0- BNC, 1- VGA, 2- HDMI, 3- DVI
byDispChanSeq
Display chennl sequence number, start from 1. If the channel type is VGA, it means the VGA of NO.byDispChanSeq.
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_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_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;
  BYTE      byRes[74];
}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
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和miniSAS用途配置结构体。

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, unit: s
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_HANDLEEXCEPTION_V30


NET_DVR_EXPOSURE

Parameter structure of snapcamera 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


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


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


NET_DVR_GAIN

Parameter structure of snapcamera 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


NET_DVR_GAMMACORRECT

Structure of snapcamera 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


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_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_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 stream server by URL

See Also

NET_DVR_IPCHANINFO
NET_DVR_IPSERVER_STREAM
NET_DVR_PU_STREAM_CFG
NET_DVR_PU_STREAM_URL


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 handling alarm and exception.

struct{
  DWORD    dwHandleType;
  BYTE     byRelAlarmOut[MAX_ALARMOUT_V30];
}NET_DVR_HANDLEEXCEPTION_V30, *LPNET_DVR_HANDLEEXCEPTION_V30;

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
0x20: interact with wireless sound and light alarm
0x40: trigger e-map (supported by PCNVR only)
0x200: capture image and upload to FTP
byRelAlarmOut
Output channel triggered by alarm: 0- donot trigger the output, 1- trigger the output


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_SINGLE_HD


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_SINGLE_HDGROUP


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_HANDLEEXCEPTION_V30 NET_DVR_SCHEDTIME


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

Configuration of snapcamera 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 speeding 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 tim 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_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_INPUTSTREAMCFG

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                              byRes[35];
}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 _CAM_MODE_{
  CAM_BNC = 1,
  CAM_VGA = 2,
  CAM_DVI = 3,
  CAM_HDMI= 4,
  CAM_IP  = 5
}CAM_MODE
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
byRes
Reserved, please set to 0

See Also

NET_DVR_VIDEOEFFECT NET_DVR_PU_STREAM_CFG

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_IO_INCFG

Structure of snapcamera 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 snapcamera 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_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, DVS 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, DVS 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
NET_DVR_IPDEVINFO_V31 NET_DVR_STREAM_MODE

Reference Structure

NET_DVR_IPPARACFG


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_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, 1-QCIF, 2-D1, 3-UXGA(1600x1200), 4-SVGA(800x600), 5-HD720p(1280x720), 6-VGA, 7-XVGA, 8-HD900p, 9-HD1080, 10-2560*1920, 11-1600*304, 12-2048*1536, 13-2448*2048, 14-2448*1200, 15-2448*800, 16-XGA(1024*768), 17-SXGA(1280*1024), 18-WD1(960*576/960*480), 19-1080i
wPicQuality
Picture quality: 0- best, 1- better, 2- average


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_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_LAYOUTCFG 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_SCREEN_WINCFG NET_DVR_LAYOUT_LIST

NET_DVR_SetDVRConfig_SCREEN


NET_DVR_LIGHTSNAPCFG

Structure of snapcamera 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 NO. 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_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

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_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_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_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 reqiusition for snapcamera manually snapping 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                      byRes2[120];
}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
byRes2
Reserved, please set to 0

See Also

NET_DVR_GetDeviceAbility


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_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: the value up to 1 represents frame rate, and low frame rate less than 1 is defined 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 decoder current image
wImgH
Height of decoder current image
byVideoFormat
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
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_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_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_PASSIVEMODE

Structure of passive decoding parameters.

struct{
  WORD             wTransProtol;
  WORD             wPassivePort;
  NET_DVR_IPADDR   struMcastIP;
  BYTE             byStreamType;
  BYTE             res[7];
}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 NO. 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
res
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];
  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_SCHEDTIME
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 snapcamera 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_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


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_SINGLE_NET_DISK_INFO


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_NTPPARA NET_DVR_DDNSPARA


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


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_ETHERNET_V30 NET_DVR_IPADDR NET_DVR_PPPOECFG


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 NET_DVR_SINGLE_NFS

Remarks

The modification of NFS parameters is valid after rebooting the device.


NET_DVR_NOISEREMOVE

Structure of snapcamera digital noise reduction configuration.

struct{
  BYTE       byDigitalNoiseRemoveEnable;
  BYTE       byDigitalNoiseRemoveLevel;
  BYTE       bySpectralLevel;
  BYTE       byTemporalLevel;
  BYTE       byRes[4];
}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
byRes
Reserved, please set it to 0


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
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_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 area, it supports 512 areas, indicated by subscript. 0 - no authority, 1 - privileged
byAlarmOffArea
Disarming authority of defense area, it supports 512 areas, indicated by subscript. 0 - no authority, 1 - privileged
byBypassArea
Defense area bypass authority, it supports 512 areas, 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   byRes1;
  WORD   dwHCapacity;
  BYTE   dwLCapacity;
  BYTE   byName[MAX_NAMELEN];
  BYTE   byRes2[16];
}NET_DVR_OPERATE_VD_PARAM, *LPNET_DVR_OPERATE_VD_PARAM;

Members

wArrayID
RAID ID
bySlot
Assigned slot to create a virtual disk
byRes1
Reserved
dwHCapacity
Higher 32 bits of the vitual disk size
dwLCapacity
Lower 32 bits of the virtual disk size
byName
Virtual disk name
byRes2
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;
  unsigned char    uByFontColor_y;
  unsigned char    uByFontColor_u;
  unsigned char    uByFontColor_v;
  unsigned char    uByBackColor_y;
  unsigned char    uByBackColor_u;
  unsigned char    uByBackColor_v;
  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
uByFontColor_y
Font color Y, value range: 0~255
uByFontColor_u
Font color U, value range: 0~255
uByFontColor_v
Font color V, value range: 0~255
uByBackColor_y
Background color Y, value range: 0~255
uByBackColor_u
Background color U, value range: 0~255
uByBackColor_v
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
byScreenLayY
Screen layout: vertical axis
byRes1
Reserved, please set to 0
struOutputParam
Output channel video parameter
byRes2
Reserved, please set to 0

See Also

NET_DVR_OUTPUTPARAM NET_DVR_OUTPUTCFG

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;
  NET_DVR_VIDEOEFFECT   struVideoEffect;
  BYTE                  byRes2[32];
}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
struVideoEffect
Output-channel video effect parameter
byRes2
Reserved, please set to 0

See Also

NET_DVR_VIDEOEFFECT 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;
  BYTE                     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_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 tempering or not: 0- no, 1- yes
wHideAreaTopLeftX
X axis coordinate of tampering area
wHideAreaTopLeftY
Y axis coordinate of tampering area
wHideAreaWidth
Width of tampering area
wHideAreaHeight
Height of tampering 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 tempering or not: 0- no, 1- yes
struShelter
Parameters of tampering 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
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

Structure of channel video configuration.

struct{
  DWORD                    dwSize;
  BYTE                     sChanName[NAME_LEN];
  DWORD                    dwVideoFormat;
  NET_DVR_COLOR            struColor;
  char                     byReservedData[60];
  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                     byRes[63];
}NET_DVR_PICCFG_V30,*LPNET_DVR_PICCFG_V30;

Members

dwSize
Structure size
sChanName
Channel name
dwVideoFormat
Video format: 1-NTSC, 2-PAL
struColor
Image parameters (Reserved)
byReservedData
Reserved, please set to 0
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
struRes
Reserved, please set to 0
struMotion
Motion detection alarm parameter
struHideAlarm
Video tampering alarm parameter
dwEnableHide
Enable tempering or not: 0- no, 1- yes
struShelter
Parameters of tampering 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
byHourOsdType
Hour display format: 0 means 24-hour format, 1 means 12-hour format or am/pm format
byFontSize
Font size: 0- small, 1- medium, 2- large, only the DS-91xxHFH series support the function
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig
NET_DVR_VILOST_V30 NET_DVR_MOTION_V30
NET_DVR_HIDEALARM_V30 NET_DVR_SHELTER NET_DVR_COLOR


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_MAXITEM | 15 | The max number of naming items
byDelimiter
Delimiter:"_", "-", "+", "=", or ".", it is '_' generally


NET_DVR_PICTURECFG

Structure of picture parameter.

struct{
  DWORD                  dwSize;
  BYTE                   byUseType;
  BYTE                   byRes[3];
  NET_DVR_BASEMAP_CFG    struBasemapCfg;
  BYTE                   byRes2[64];
}NET_DVR_PICTURECFG,*LPNET_DVR_PICTURECFG;

Members

dwSize
Structure size
byUseType
1- picture used as basemap
byRes
Reserved, please set to 0
struBasemapCfg
Basemap 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_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_PLATE_INFO

Sub structure of snapcamera 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_PLATE_TYPE
VCA_STANDARD92_PLATE
Plate of standard civil car and military car
VCA_STANDARD02_PLATE
Civil car license plate of form 02
VCA_WJPOLICE_PLATE
Plate of armed police car
VCA_JINGCHE_PLATE
Plate of police car
STANDARD92_BACK_PLATE
Dual-line rear plate of civil car
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 NO.
byBelieve
Accuracy of every recognizing character

See Also

NET_VCA_RECT


NET_DVR_PLATE_RESULT

snapcamera license plate detection result.

struct{
  DWORD                    dwSize;
  BYTE                     byResultType;
  BYTE                     byChanIndex;
  BYTE                     byRes1[2];
  DWORD                    dwRelativeTime;
  BYTE                     byAbsTime[32];
  DWORD                    dwPicLen;
  DWORD                    dwPicPlateLen;
  DWORD                    dwVideoLen;
  BYTE                     byTrafficLight;
  BYTE                     byPicNum;
  BYTE                     byDriveChan;
  BYTE                     byRes2;
  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
byChanIndex
Channel index
byRes1
Reserved
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
Lane channel number that triggered to snap
byRes2
Reserved
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 snapcamera 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.

iDS-65xx manual snap supports only uploading pBuffer1 and pBuffer2.

See Also

NET_DVR_PLATE_INFO NET_DVR_VEHICLE_INFO


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

See Also

NET_DVR_STREAM_MEDIA_SERVER_CFG NET_DVR_DEV_CHAN_INFO


NET_DVR_PU_STREAM_URL

Structure of the configuration about getting stream from stream sever by URL

struct{
  BYTE    byEnable;
  BYTE    strURL[240];
  BYTE    byRes[11];
}NET_DVR_PU_STREAM_URL,*LPNET_DVR_PU_STREAM_URL;

Members

byEnable
Whether enable it or not: 0- disable, 1- enable
strURL
URL path
byRes
Reserved, please set to 0

See Also

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

Parameter struture 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                  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
byReserve
Reserved, please set it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_RECORDDAY NET_DVR_RECORDSCHED


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

Structure of screen control.

struct{
  DWORD    dwSize;
  DWORD    dwCommand;
  BYTE     byProtocol;
  BYTE     byRes[71];
}NET_DVR_SCREEN_CONTROL, *LPNET_DVR_SCREEN_CONTROL;

Members

dwSize
Structure size
dwCommand
Control command: 1- open, 2- close
byProtocol
Screen protocol: 1- Twin Flag low-lighted, 2- Twin Flag highlighted
byRes
Reserved, please set to 0

See Also

NET_DVR_ScreenCtrl


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                   byRes[21];
}NET_DVR_SCREEN_WINCFG, *LPNET_DVR_SCREEN_WINCFG;

Members

dwSize
Structure size
byVaild
Whether it is valid or not: 0- invalid, 1- valid
byInputType
Input source type:
enum _CAM_MODE_{
  CAM_BNC = 1,
  CAM_VGA = 2,
  CAM_DVI = 3,
  CAM_HDMI= 4,
  CAM_IP  = 5
}CAM_MODE
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
byRes
Reserved, please set to 0

See Also

NET_DVR_RECTCFG 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
byBoardType
1- input board, 2- output board
bySubException
Sub-exception when inputting exception: 1- resolution changed, 2- interface changed, 3- resolution error
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;
  BYTE                 byRes[58];
}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 base map, the max number of screens overlaid by one base map
byRes
Reserved, please set to 0

See Also

NET_DVR_DISPINFO 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_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_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            byRes[132];
  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;
           NET_DVR_STREAM_INFO   struIDInfo;
  }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
}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
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
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
struIDInfo is the structure of stream ID information
struIDInfo
Stream ID information

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                  byRes[295];
           }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
}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
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: 0xff- all types, 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
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_SETUPALARM_PARAM

Structure of alarm arming parameter

struct{
  DWORD     dwSize;
  BYTE      byLevel;
  BYTE      byRes[15];
}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)
byRes
Reserved, please set to 0

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


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, please refer to NET_DVR_SHOWSTRINGINFO

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_SHOWSTRINGINFO


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_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[119];
}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. The value supports to be got, but can't be set
dwFreeSpace
Disk capacity. 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, 8- virtual disk is secondary normal (un-used), 9- virtual disk degraded (un-used), 10- hard disk is being restored (9000v2.0), 11- hard disk is being formatted (9000v2.0)
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

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_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_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_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 HD IP 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        byRes[21];
}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
Traffic gate mode
ITC_EPOLICE_MODE
Electronic police mode
ITC_POSTEPOLICE_MODE
Traffic gate and electronic police mode
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
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDeviceAbility


NET_DVR_SNAPCFG

Signal IO trigger parameter structure of intelligent HD IP camera.

struct{
  DWORD      dwSize;
  BYTE       byRelatedDriveWay;
  BYTE       bySnapTimes;
  BYTE       byRes1[2];
  WORD       wIntervalTime[4];
  BYTE       byRes2[24];
}NET_DVR_SNAPCFG, *LPNET_DVR_SNAPCFG;

Members

dwSize
Structure size
byRelatedDriveWay
Drive way related to the IO
bySnapTimes
Snap times, 0- not snap, none 0- continous snap times, max number:5
byRes1
Reserved
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 HD IP 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_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 snapcamera license plate recognition parameter.

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 it to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_VCA_RECT


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


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 按流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
Get the stream from stream sever by URL

See Also

NET_DVR_STREAM_MODE_TYPE


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

Structure of UPNP configuration

struct{
  DWORD                dwSize;
  WORD                 wEnableUpnp;
  WORD                 wEnableNat;
  NET_DVR_IPADDR       struIpAddr;
  NET_DVR_UPNP_PORT    struHttpPort;
  NET_DVR_UPNP_PORT    struServerPort;
  NET_DVR_UPNP_PORT    struRtspPort;
  BYTE                 byRes[160];
}NET_DVR_UPNP_CFG, *LPNET_DVR_UPNP_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
struServerPort
Server port mapping configuration
struRtspPort
rtsp port mapping configuration
byRes
Reserved, please set to 0

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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

Structure of the port mapping configuration.

struct{
  WORD    wEnable;
  WORD    wExtPort;
  BYTE    byRes[12];
}NET_DVR_UPNP_PORT, *LPNET_DVR_UPNP_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_UPNP_CFG


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

User parameters structure

struct{
  DWORD                     dwSize;
  NET_DVR_USER_INFO_V30     struUser[MAX_USERNUM_V30];
}NET_DVR_USER_V30,*LPNET_DVR_USER_V30;

Members

dwSize
Structure size
struUser
User information parameters

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_USER_INFO_V30


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;
  BYTE                byRes2[80];
}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
byRes2
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[1];
  WORD       wSpeed;
  WORD       wLength;
  BYTE       byRes[36];
}NET_DVR_VEHICLE_INFO, *LPNET_DVR_VEHICLE_INFO;

Members

dwIndex
Serial No. 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
byRes1
Reserved
wSpeed
Speed: km/h
wLength
Body length of last vehicle (reserved)
byRes
Reserved


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


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_VOOUT NET_DVR_VGAPARA NET_DVR_MATRIXPARA_V30


NET_DVR_VIDEOPARA_V40

Structure of video effect configuration parameter

struct{
  DWORD     dwChannel;
  DWORD     dwVideoParamType;
  DWORD     dwVideoParamValue;
  BYTE      byRes[32];
}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_CommandDevice


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_HANDLEEXCEPTION_V30 NET_DVR_SCHEDTIME


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


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 1 (wide range, 2200K-15000K), 3 - auto control 3
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


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


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];
           char    sRes;
           }wpa_psk;
  }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-psk, 3- wpa-Enterprise
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
dwKeyLength
Length of key: 8-63 ASCII characters
sKeyInfo
Character key information
sRes
Reserved, please set to 0

See Also

NET_DVR_WIFIETHERNET


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_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_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_VCA_POINT
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;
  BYTE                   byRes1[16];
  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
byRes1
Reserved, please set to 0
dwEnableDST
Whether to enable DST: 0- no, 1- yes
byDSTBias
Bias of DST (count with minute): 30min, 60min, 90min, 120min
byRes2
Reserved, please set to 0
struBeginPoint
Start time of DST
struEndPoint
End time of DST

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig NET_DVR_TIMEPOINT


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_AUX_ALARMCFG_UNION,*LPNET_IPC_AUX_ALARMCFG_UNION;

Members

uLen
Union size
struPIRAlarm
PIR alarm parameter
struWirelessAlarm
Wireless 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_AUXALARM_UPLOAD_UNION,*LPNET_IPC_AUXALARM_UPLOAD_UNION;

Members

uLen
Unoin size
struPIRAlarm
PIR alarm parameter
struWirelessAlarm
Wireless alarm parameter

See Also

NET_IPC_AUXALARM_RESULT


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_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                                byRes1;
  NET_ITC_SERIAL_INFO                 struSerialInfo;
  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_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
byRes1
Reserved, please set to 0
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
byRes2
Reserved, please set to 0
struPlateRecog
Lane license plate recognition region parameter
byRes
Reserved, please set to 0

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

Structure of IO output configuration

struct{
  DWORD   dwSize;
  BYTE    byDefaultStatus;
  BYTE    byIoOutStatus;
  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
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

See Also

NET_DVR_GetDVRConfig NET_DVR_SetDVRConfig


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                                byRes1;
  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_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
byRes1
Reserved, please set to 0
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
byRes2
Reserved, please set to 0
struPlateRecog
License plate recognition region
byRes
Reserved, please set to 0

See Also

NET_ITC_POST_RS485_PARAM NET_ITC_POST_RS485_RADAR_PARAM


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_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 多边型结构体。

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_POST_IOSPEED_PARAM

Structure of IO speed measuring parameter(traffic gate)

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
Single IO measuring group parameter
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 (traffic gate mode)

struct{
  BYTE                         byRelatedLaneNum;
  BYTE                         byRes1[3];
  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
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 (traffic gate)

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[32];
}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

Structure of (traffic gate) virtual coil trigger parameter

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

See Also

NET_ITC_EPOLICE_LANE_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                                byRes1;
  DWORD                               dwDistance;
  BYTE                                byCapSpeed;
  BYTE                                bySpeedLimit;
  BYTE                                bySpeedCapEn;
  BYTE                                bySnapTimes1;
  BYTE                                bySnapTimes2;
  BYTE                                byRes2[2];
  BYTE                                byIntervalType;
  WORD                                wInterval1[MAX_INTERVAL_NUM];
  WORD                                wInterval2[MAX_INTERVAL_NUM];
  BYTE                                byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                                byFlashMode;
  BYTE                                byRes3[3];
  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
byRes1
Reserved, please set to 0
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
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
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                                byRes1[2];
  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
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_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_SINGLEIO_PARAM

Structure of single IO parameter

struct{
  BYTE                                 byDefaultStatus;
  BYTE                                 byRelatedDriveWay;
  BYTE                                 bySnapTimes;
  BYTE                                 byRes1;
  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
byRes1
Reserved, please set to 0
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_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_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
struIOSpeed
(Traffic gate) IO speed measuring parameter
struSingleIO
(Traffic gate) single IO parameter
struPostRs485
(Traffic gate) RS485 magnetic vehicle detector parameter
struPostRadar
(Traffic gate) RS485 radar parameter
struVtCoil
(Traffic gate) virtual coil parameter
struIOTL
(Electronic police) IO traffic light parameter
struEpoliceRs485
(Electronic police) RS485 magnetic vehicle detector parameter
struPERs485
(Electronic police of traffic gate mode) RS485 magnetic vehicle detector parameter

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 (traffic gate)
ITC_POST_SINGLEIO_TYPE
Single IO trigger (traffic gate)
ITC_POST_RS485_TYPE
RS485 magnetic vehicle detector trigger (traffic gate)
ITC_POST_RS485_RADAR_TYPE
RS485 radar trigger (traffic gate)
ITC_POST_VIRTUALCOIL_TYPE
Virtual coil trigger (traffic gate)
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 of traffic gate mode)
ITC_VIDEO_EPOLICE_TYPE
Video trigger (electronic police of traffic gate mode)
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_VTCOIL_INFO

Structure of virtual coil parameter

struct{
  NET_VCA_RECT            struLaneRect;
  BYTE                    byTrigFlag;
  BYTE                    byTrigSensitive;
  BYTE                    byRelatedIOOut[MAX_IOOUT_NUM];
  BYTE                    byFlashMode;
  BYTE                    byRes3;
  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
byRes3
Reserved, please set to 0
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                                byRes1[3];
  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
byRes1
Reserved, please set to 0
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_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_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_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_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.001 to 1
fY
Y axis of upper-left corner point of border frame,ranging from 0.001 to 1
fWidth
Width of border frame,ranging from 0.001 to 1
fHeight
Height of border frame,ranging from 0.001 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


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