Device Network SDK (Display and Control) - Developer Guide - V6.1.4.X - 20230330
Device Network SDK (Display and Control) - Developer Guide - V6.1.4.X - 20230330
Developer Guide
Device Network SDK (Display and Control) Developer Guide
Legal Information
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE DOCUMENT IS PROVIDED "AS IS"
AND "WITH ALL FAULTS AND ERRORS". OUR COMPANY MAKES NO REPRESENTATIONS OR
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. IN NO EVENT
WILL OUR COMPANY BE LIABLE FOR ANY SPECIAL, CONSEQUENTIAL, INCIDENTAL, OR INDIRECT
DAMAGES, INCLUDING, AMONG OTHERS, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
INTERRUPTION OR LOSS OF DATA, CORRUPTION OF SYSTEMS, OR LOSS OF DOCUMENTATION,
WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, IN
CONNECTION WITH THE USE OF THE DOCUMENT, EVEN IF OUR COMPANY HAS BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES OR LOSS.
i
Device Network SDK (Display and Control) Developer Guide
Contents
Chapter 1 Overview .................................................................................................................... 1
1.1 Introduction ........................................................................................................................... 1
1.2 Update History ....................................................................................................................... 1
Chapter 2 Typical Applications .................................................................................................... 2
2.1 Configure Video Wall and Open Roaming Window ............................................................... 2
2.2 Display Live Video on Video Wall ........................................................................................... 5
2.3 Display Playback on Video Wall ............................................................................................. 8
2.4 Configure Auto-Switch Decoding ......................................................................................... 10
2.5 Configure Passive Decoding ................................................................................................. 12
2.6 Switch Scene ........................................................................................................................ 14
Chapter 3 API Reference ........................................................................................................... 17
3.1 NET_DVR_Cleanup ............................................................................................................... 17
3.2 NET_DVR_FindClose_V30 .................................................................................................... 17
3.3 NET_DVR_FindFile_V50 ....................................................................................................... 18
3.4 NET_DVR_FindFileByEvent_V50 .......................................................................................... 18
3.5 NET_DVR_FindNextEvent_V50 ............................................................................................ 19
3.6 NET_DVR_FindNextFile_V50 ................................................................................................ 20
3.7 NET_DVR_GetDeviceAbility ................................................................................................. 21
3.8 NET_DVR_GetDeviceConfig ................................................................................................. 22
3.9 NET_DVR_GetDeviceStatus .................................................................................................. 23
3.10 NET_DVR_GetDVRConfig ................................................................................................... 25
3.11 NET_DVR_GetErrorMsg ..................................................................................................... 26
3.12 NET_DVR_GetInputSignalList_V40 .................................................................................... 26
3.13 NET_DVR_GetLastError ...................................................................................................... 27
3.14 NET_DVR_GetSDKLocalCfg ................................................................................................. 27
3.15 NET_DVR_GetSTDConfig .................................................................................................... 28
ii
Device Network SDK (Display and Control) Developer Guide
iii
Device Network SDK (Display and Control) Developer Guide
iv
Device Network SDK (Display and Control) Developer Guide
v
Device Network SDK (Display and Control) Developer Guide
vi
Device Network SDK (Display and Control) Developer Guide
vii
Device Network SDK (Display and Control) Developer Guide
viii
Device Network SDK (Display and Control) Developer Guide
Chapter 1 Overview
1.1 Introduction
This document provides multiple integration applications of display and control devices based on
Device Network SDK, such as LED screen, video wall controller, decoder, remote control, and so on.
The APIs used in the applications are also listed here for reference.
1
Device Network SDK (Display and Control) Developer Guide
2
Device Network SDK (Display and Control) Developer Guide
Steps
Figure 2-1 API Calling Flow of Configuring Video Wall and Opening Roaming Window
1. Optional: Call NET_DVR_GetDeviceAbility with "WALL_ABILITY" (command No.: 0x212) to get
the capability to check whether the function is supported by device.
The video wall capability is returned in the message XML_WallAbility by pOutBuf.
2. Call NET_DVR_GetDVRConfig with "NET_DVR_GET_VIDEOWALLDISPLAYNO" (command No.:
1732) to get the video output No. of device for linking to jointed screens.
The video output information is returned in the structure NET_DVR_DISPLAYCFG by
lpOutBuffer.
3. Optional: Call NET_DVR_GetDeviceConfig with "NET_DVR_GET_VIDEOWALLDISPLAYPOSITION"
(command No.: 1734) and set lpInBuffer to the video input No. for getting the default or
configured relation between video input No. and jointed screen for reference.
3
Device Network SDK (Display and Control) Developer Guide
Note
Two windowing modes are available: 0-windowing by coordinates, 1-windowing by configured
resolution.
The window opening status will be returned by lpStatusList of lpOutParam.
7. Optional: Perform the following operation(s) after windowing.
Roaming Call NET_DVR_SetDeviceConfigEx with
"NET_DVR_SET_VIDEOWALLWINDOWPOSITION" (command No.: 1736) and
set lpInParam to the structure NET_DVR_VIDEOWALLWINDOWPOSITION for
roaming the window.
Note
The window roaming status will be returned by lpStatusList of lpOutParam.
4
Device Network SDK (Display and Control) Developer Guide
the jointed screens to configure the video wall, see details in Configure Video Wall and Open
Roaming Window for details.
5
Device Network SDK (Display and Control) Developer Guide
Steps
Figure 2-2 API Calling Flow of Displaying Live Video on Video Wall
1. Call NET_DVR_GetDeviceConfig with "NET_DVR_GET_VIDEOWALLWINDOWPOSITION"
(command No.: 1735) and set lpInBuffer to a 4-byte video wall No. for getting windowing status
and related information.
The status and information are returned in the structure
NET_DVR_VIDEOWALLWINDOWPOSITION by lpOutBuffer.
2. Call NET_DVR_GetDVRConfig with "NET_DVR_WALLWINPARAM_GET" (command No.: 9005)
and set lChannel to a window No. for getting window division mode of video wall. : structure ) to
get the .
The division mode is returned in the structure NET_DVR_WALLWINPARAM by lpOutBuffer.
6
Device Network SDK (Display and Control) Developer Guide
3. Optional: Call NET_DVR_GetInputSignalList_V40 to get the local signal source parameters for
starting dynamic decoding.
Note
The API in the above step is only used for getting the local signal source parameters. For starting
dynamic decoding of network signal source, the following parameters are required: IP address,
port No., user name, password, channel No., and stream type, which are provided by users.
4. Perform the following operation(s) to start the dynamic decoding of a window or multiple
windows.
Start a. Call NET_DVR_MatrixStartDynamic_V41 to start one window's dynamic
dynamic decoding.
decoding of b. Call NET_DVR_MatrixSetDecChanEnable to pause or resume the dynamic
a window decoding of one window.
Note
Before setting the dynamic decoding status, you'd better call
NET_DVR_MatrixGetDecChanEnable to get the current status (i.e., paused
or resumed) of the window for reference.
Start a. Call NET_DVR_SetDeviceConfig with
dynamic "NET_DVR_DYNAMIC_DECODE_BATCH" (command No.:1769), set
decoding of lpInBuffer to a 4-byte window No., and set lpInParamBuffer to the structure
multiple NET_DVR_PU_STREAM_CFG_V41 for getting start dynamic decoding of
mindows multiple windows.
b. Call NET_DVR_SetDeviceConfig with "NET_DVR_DECSWITCH_SET_BATCH"
(command No.: 1770), set lpInBuffer to a 4-byte window No., and set
lpInParamBuffer to a 4-byte operation command (0 or 1) for pausing or
resuming the decoding of multiple windows.
Note
Before setting the dynamic decoding statuses of multiple windows, you'd
better call NET_DVR_GetDeviceConfig with
"NET_DVR_DECSWITCH_GET_BATCH" (command No.: 1771) and set
lpInBuffer to a 4-byte window No. for getting the current statuses (i.e.,
paused or resumed) of multiple windows.
5. Optional: Call NET_DVR_GetDeviceStatus with "NET_DVR_MATRIX_GETWINSTATUS" (command
No.: 9009) and set lpInBuffer to the structure NET_DVR_WALLWIN_INFO for getting the
decoding information (e.g., stream format, frame rate, resolution, number of decoded frames)
of the current window.
The decoding information is returned in the structure NET_DVR_WALL_WIN_STATUS by
lpOutBuffer.
6. Call NET_DVR_MatrixStopDynamic to stop the dynamic decoding.
7
Device Network SDK (Display and Control) Developer Guide
What to do next
Call NET_DVR_Logout and NET_DVR_Cleanup to log out and release the resources.
the jointed screens to configure the video wall, see details in Configure Video Wall and Open
Roaming Window for details.
8
Device Network SDK (Display and Control) Developer Guide
Steps
9
Device Network SDK (Display and Control) Developer Guide
4. Call NET_DVR_FindNextFile_V50 repeatedly to get the searched video information, such as file
name, size, start and end time.
5. Call NET_DVR_FindClose_V30 to stop searching for video files.
6. Call NET_DVR_RemoteControl with "NET_DVR_DEC_PLAY_REMOTE_FILE" (command No.: 9027)
and set lpInBuffer to the structure NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX for starting
decoding the video files remotely.
7. Call NET_DVR_MatrixSetRemotePlayControl to start playback.
8. Optional: Perform the following operation(s) after starting decoding videos and displaying
playback on video wall.
Control Call NET_DVR_MatrixSetRemotePlayControl to pause, resume, perform
playback fast or slow forward, and control audio during playback.
Get decoding Call NET_DVR_MatrixGetDecChanEnable to get the dynamic decoding
status status (i.e., paused or resumed) of the current window.
Set decoding Call NET_DVR_MatrixSetDecChanEnable to pause or resume the dynamic
status decoding of the current window.
Note
Before setting the decoding status, you'd better call
NET_DVR_MatrixGetDecChanEnable to get the current decoding status for
reference.
10
Device Network SDK (Display and Control) Developer Guide
the jointed screens to configure the video wall, see details in Configure Video Wall and Open
Roaming Window for details.
Steps
11
Device Network SDK (Display and Control) Developer Guide
Note
Before setting auto-switch channel parameters, you'd better call
NET_DVR_MatrixGetLoopDecChanInfo_V41 to get the current configurations for reference.
5. Call NET_DVR_MatrixSetLoopDecChanEnable to enable or disable auto-switch.
Note
Before setting auto-switch status, you'd better call NET_DVR_MatrixGetLoopDecChanEnable to
get the current status for reference.
6. Call NET_DVR_MatrixSetDecChanEnable to pause or resume the dynamic decoding.
Note
● Before setting dynamic decoding status, you'd better call
mode of this window is dynamic decoding. Only when the auto-switch and dynamic decoding
are both enabled or resumed, the decoding mode turns to auto-switch decoding.
7. Optional: Call NET_DVR_GetDeviceStatus with "NET_DVR_MATRIX_GETWINSTATUS" (command
No.: 9009) and set lpInBuffer to the structure NET_DVR_WALLWIN_INFO for getting the
decoding information (e.g., stream format, frame rate, resolution, number of decoded frames)
of the current window.
The decoding information is returned in the structure NET_DVR_WALL_WIN_STATUS by
lpOutBuffer.
What to do next
Call NET_DVR_Logout and NET_DVR_Cleanup to log out and release the resources.
12
Device Network SDK (Display and Control) Developer Guide
the jointed screens to configure the video wall, see details in Configure Video Wall and Open
Roaming Window for details.
Steps
13
Device Network SDK (Display and Control) Developer Guide
Note
Before controlling passive decoding, you'd better call
NET_DVR_MatrixGetPassiveDecodeStatus to get the current passive
decoding status for reference.
14
Device Network SDK (Display and Control) Developer Guide
the jointed screens to configure the video wall, see details in Configure Video Wall and Open
Roaming Window for details.
Steps
15
Device Network SDK (Display and Control) Developer Guide
Note
Before setting the scene parameters, you'd better call NET_DVR_GetDeviceConfig with
"NET_DVR_GET_VW_SCENE_PARAM" (command No.: 1746) and set lpInBuffer to the
structure NET_DVR_VIDEO_WALL_INFO for getting the current scene parameters for
reference.
- Call NET_DVR_RemoteControl with "NET_DVR_SCENE_CONTROL" (command No.: 1744) and
set lpInBuffer to the structure NET_DVR_SCENE_CONTROL_INFO for saving the current view
to the added scene.
Note
The parameter dwCmd in the structure NET_DVR_SCENE_CONTROL_INFO should be set to 4.
3. Optional: Call NET_DVR_GetDeviceConfig with "NET_DVR_GET_CURRENT_SCENE" (command
No.: 1745) and set lpInBuffer to a 4-byte scene No. for getting the information of the current
scene.
The scene information is returned in the structure NET_DVR_VIDEO_WALL_INFO by
lpOutBuffer.
4. Optional: Call NET_DVR_RemoteControl with "NET_DVR_SCENE_CONTROL" (command No.:
1744) and set lpInBuffer to the structure NET_DVR_SCENE_CONTROL_INFO for deleting the
scene.
Note
The parameter dwCmd in the structure NET_DVR_SCENE_CONTROL_INFO should be set to 5.
5. Call NET_DVR_RemoteControl with "NET_DVR_SCENE_CONTROL" (command No.: 1744) and set
lpInBuffer to the structure NET_DVR_SCENE_CONTROL_INFO for switching the scenes.
Note
The parameter dwCmd in the structure NET_DVR_SCENE_CONTROL_INFO should be set to 1 or
3.
What to do next
Call NET_DVR_Logout and NET_DVR_Cleanup to log out and release the resources.
16
Device Network SDK (Display and Control) Developer Guide
3.1 NET_DVR_Cleanup
Release the resources after the program is ended.
API Definition
BOOL NET_DVR_Cleanup(
);
Return Values
Returns TURE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
The available error codes may be returned by this API are 0 and 3. See details in Device Network
SDK Errors .
Remarks
● When calling this API, you cannot call other APIs at the same time.
● NET_DVR_Init and this API should be called by pair. That is, once the NET_DVR_Init is called, you
should call NET_DVR_Cleanup to release the resources when exiting the program.
3.2 NET_DVR_FindClose_V30
Stop searching for files and release resources.
API Definition
BOOL NET_DVR_FindClose_V30(
LONG lFindHandle
);
Parameters
lFindHandle
[IN] Handle for searching files, which is returned by NET_DVR_FindFile_V50 or
NET_DVR_FindFileByEvent_V50 .
Return Values
Returns TRUE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
17
Device Network SDK (Display and Control) Developer Guide
The following error codes may be returned by this API are shown as the follows: 0, 3, 12, and 17.
See error details in Device Network SDK Errors .
3.3 NET_DVR_FindFile_V50
Search for video files by file type or by time.
API Definition
LONG NET_DVR_FindFile_V50(
LONG lUserID,
NET_DVR_FILECOND_V50 pFindCond
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
pFindCond
[IN] File information structure to be found, see details in the structure
NET_DVR_FILECOND_V50 .
Return Values
Returns TRUE for success, and returns FALSE for failure.
If FALSE is returned, you call NET_DVR_GetLastError to get the error code.
The following error codes may be returned by this API: 0, 2, 3, 4, 7, 8, 9, 10, 12, 17, 19, 23, 41, 43,
44, 47, 72, and 73. For error details, refer to Device Network SDK Errors .
Remarks
This API specifies the video files to be found. After calling this API, you can call
NET_DVR_FindNextFile_V50 to get the file details.
See Also
NET_DVR_FindClose_V30
3.4 NET_DVR_FindFileByEvent_V50
Search for video files by event.
API Definition
LONG NET_DVR_FindFileByEvent_V50(
LONG lUserID,
18
Device Network SDK (Display and Control) Developer Guide
NET_DVR_SEARCH_EVENT_PARAM_V50 lpSearchEventParam
);
Parameters
lUserID
[IN] User ID, which is returned by NET_DVR_Login_V40 .
lpSearchEventParam
[IN] Structure of video file information to search, see details in the structure
NET_DVR_SEARCH_EVENT_PARAM_V50 .
Return Values
Return -1 for failure, and return other value as the handle for playback.
If -1 is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
● After searching video files by event, you can call NET_DVR_FindNextEvent_V50 to get the file
information.
● The video files searched by event only support playback by time.
3.5 NET_DVR_FindNextEvent_V50
Get video files one by one after searching by event.
API Definition
LONG NET_DVR_FindNextEvent_V50(
LONG lFindHandle,
NET_DVR_SEARCH_EVENT_RET_V50 lpSearchEventRet
);
Parameters
lFindHandle
[IN] Handle for playback, which is returned by NET_DVR_FindFileByEvent_V50 .
lpSearchEventRet
[OUT] Search results, see details in the structure NET_DVR_SEARCH_EVENT_RET_V50 .
Return Values
Return -1 for failure, and return other values as the current getting status, see details in the
following table.
19
Device Network SDK (Display and Control) Developer Guide
3.6 NET_DVR_FindNextFile_V50
Get video files one by one after searching by time.
API Definition
LONG NET_DVR_FindNextFile_V50(
LONG lFindHandle,
NET_DVR_FINDDATA_V50 pFindData
);
Parameters
lFindHandle
[IN] Handle for playback, which is returned by NET_DVR_FindFile_V50 .
pFindData
[OUT] Search results, see details in the structure NET_DVR_FINDDATA_V50 .
Return Values
Return -1 for failure, and return other values as the current getting status, see details in the
following table.
20
Device Network SDK (Display and Control) Developer Guide
3.7 NET_DVR_GetDeviceAbility
Get the device capabilities.
API Definition
BOOL NET_DVR_GetDeviceAbility(
LONG lUserID,
DWORD dwAbilityType,
char *pInBuf,
DWORD dwInLength,
char *pOutBuf,
DWORD dwOutLength
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwAbilityType
[IN] Capability types, which are different according to different devices and functions.
pInBuf
[IN] Input parameter buffer pointer, which are different according to different devices and
functions, and they are returned in the structure or messages.
dwInLength
[IN] Size of input buffer.
21
Device Network SDK (Display and Control) Developer Guide
pOutBuf
[OUT] Output parameter buffer pointer, which are different according to different devices and
functions, and they are returned in the structure or messages.
dwOutLength
[OUT] Size of buffer for receiving data.
Return Values
Returns TRUE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
3.8 NET_DVR_GetDeviceConfig
Get device configuration information in batch (with sending data).
API Definition
BOOL NET_DVR_GetDeviceConfig(
LONG lUserID,
DWORD dwCommand,
DWORD dwCount,
LPVOID lpInBuffer,
DWORD dwInBufferSize,
LPVOID lpStatusList,
LPVOID lpOutBuffer,
DWORD dwOutBufferSize
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwCommand
[IN] Device getting commands. The commands are different for different getting functions.
dwCount
[IN] Number of configurations (cameras) to get at a time. 0, 1-one camera, 2-two cameras, 3-
three cameras, and so on. Up to 64 cameras' configuration information can be obtained at a
time.
lpInBuffer
[IN] Pointer of configuration condition buffer, which specifies the number (dwCount) of
configurations to get, and relates to the getting commands.
dwInBufferSize
22
Device Network SDK (Display and Control) Developer Guide
[IN] Size of configuration condition buffer, which saves the obtained configuration information
(the number is dwCount).
lpStatusList
[OUT] Error information list, and its memory is allocated by user, each error information
contains 4 bytes (a unsigned 32-bit integer).
There is a one-to-one correspondence between the errors in the list and the cameras need to
search, e.g., lpStatusList[2] corresponds to lpInBuffer[2].
If the parameter value is 0 or 1, it refers to getting succeeded, otherwise, this parameter value is
the error code.
lpOutBuffer
[OUT] Parameters returned by device, which relates to the getting commands. And there is a
one-to-one correspondence between the parameters and the cameras need to search.
If the lpStatusList of one camera is larger than 1, the corresponding lpOutBuffer is invalid.
dwOutBufferSize
[IN] Total size of returned results (the number is dwCount).
Return Values
Returns TRUE for success, and returns FALSE for failure. If returns TRUE, it does not mean that all
configurations are obtained, you can check the value of lpStatusList[n] to judge which one is
succeeded.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_SetDeviceConfig
3.9 NET_DVR_GetDeviceStatus
Call this API to get device status.
API Definition
BOOL NET_DVR_GetDeviceStatus(
LONG lUserID,
DWORD dwCommand,
DWORD dwCount,
LPVOID lpInBuffer,
DWORD dwInBufferSize,
LPVOID lpStatusList,
LPVOID lpOutBuffer,
DWORD dwOutBufferSize
);
23
Device Network SDK (Display and Control) Developer Guide
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwCommand
[IN] Commands for getting the device status.
dwCount
[IN] Number of devices' statuses to be obtained.
lpInBuffer
[IN] Condition buffer of getting status, which is different acoording to different commands
(dwCommand).
dwInBufferSize
[IN] Condition buffer size.
lpStatusList
[OUT] Error information list, and its memory is allocated by user, each error information
contains 4 bytes (a unsigned 32-bit integer).
There is a one-to-one correspondence between the errors in the list and the cameras that need
to be searched, e.g. lpStatusList[2] corresponds to lpInBuffer[2].
If the parameter value is 0, it refers to getting succeeded; if the value is larger than 0, it indicates
getting failed.
lpOutBuffer
[OUT] Status details returned by device, which veries with the command (dwCommand), and
one-to-one corresponds to the cameras that need to be searched.
If the IpStatusList value of a camera is larger than 0, the corresponding IpOutBuffer is invalid.
dwOutBufferSize
[IN] Output buffer size
Return Values
Returns TRUE for success, and returns FALSE for all failed. If returns TRUE, it does not mean that all
settings are succeeded, you can check the value of lpStatusList[n] to judge which one is succeeded.
If returning failed, you can call NET_DVR_GetLastError to get the error code.
Remarks
● If you want to get all devices' statuses, you should set the dwCount to 0xffffffff, set lpInBuffer to
NULL, set dwInBufferSize to 0, set lpStatusList to NULL.
● For IpOutBuffer, the first 4-byte is the total number of structures returned by device, and the
following bytes contain the structures details. If the configured output buffer is insufficient, only
a part of structures will be returned.
24
Device Network SDK (Display and Control) Developer Guide
3.10 NET_DVR_GetDVRConfig
Get the device configuration information.
API Definition
BOOL NET_DVR_GetDVRConfig(
LONG lUserID,
DWORD dwCommand,
LONG lRuleID,
LONG lChannel,
LPVOID lpOutBuffer,
DWORD dwOutBufferSize,
LPDWORD lpBytesReturned
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwCommand
[IN] Device getting commands, which are different according to different getting functions.
lRuleID
[IN] Rule ID.
lChannel
[IN] Channel No. (NIC No.), which varies with different commands. 0xffffffff-invalid or all
channels, 1-main NIC, 2-extended NIC.
lpOutBuffer
[OUT] Pointer of buffer to receive data. For different getting functions, the structures of this
parameter are different.
dwOutBufferSize
[IN] Size of buffer to receive data (unit: byte). It cannot be 0.
lpBytesReturned
[OUT] Pointer of actually received data size. It cannot be NULL.
Return Values
Returns TRUE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
The following error codes may be returned by this API: 0, 3, 6, 7, 8, 9, 10, 12, 17, 41, 43, 44, 47, 72,
73, and 76. See the corresponding error types and descriptions in the Device Network SDK Errors .
25
Device Network SDK (Display and Control) Developer Guide
See Also
NET_DVR_SetDVRConfig
3.11 NET_DVR_GetErrorMsg
Return the error information of the last operation.
API Definition
char *NET_DVR_GetErrorMsg(
LONG *pErrorNo
);
Parameters
pErrorNo
[OUT] Error code pointer.
Return Values
The return values are the pointers of error information, see Device Network SDK Errors for details.
Remarks
You can call NET_DVR_GetLastError to get the error codes.
3.12 NET_DVR_GetInputSignalList_V40
Get the signal source list.
API Definition
BOOL NET_DVR_GetInputSignalList_V40(
LONG lUserID,
DWORD dwDevNum,
NET_DVR_INPUT_SIGNAL_LIST *lpInputSignalList
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDevNum
Reserved, set to 0.
lpInputSignalList
26
Device Network SDK (Display and Control) Developer Guide
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
3.13 NET_DVR_GetLastError
Return the error code of the last operation.
API Definition
DWORD NET_DVR_GetLastError(
);
Return Values
The return values are error codes, see Device Network SDK Errors for details.
Remarks
You can also call NET_DVR_GetErrorMsg to directly get the error information.
3.14 NET_DVR_GetSDKLocalCfg
Get the HCNetSDK's local configuration parameters.
API Definition
BOOL NET_DVR_GetSDKLocalCfg(
NET_SDK_LOCAL_CFG_TYPE enumType,
void *lpOutBuff
);
Parameters
enumType
[IN] Configuration options. Different values of configuration options correspond to different
parameters, see details in NET_SDK_LOCAL_CFG_TYPE .
lpOutBuff
[OUT] Output parameters. For different configuration options, the structures of output
parameters are different, see details in NET_SDK_LOCAL_CFG_TYPE .
27
Device Network SDK (Display and Control) Developer Guide
Return Values
Returns TRUE for success, and returns FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_SetSDKLocalCfg
3.15 NET_DVR_GetSTDConfig
Get the device configuration information.
API Definition
BOOL NET_DVR_GetSTDConfig(
LONG lUserID,
DWORD dwCommand,
NET_DVR_STD_CONFIG lpConfigParam
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwCommand
[IN] Device configuration commands, which are different according to different configuration
functions.
lpConfigParam
[IN][OUT] Set input and output parameters, which are different according to different
configuration functions. For different configuration functions, the lpCondBuffer and lpOutBuffer
in the IpConfigParam are also different. See the structure NET_DVR_STD_CONFIG for details.
Note
When getting configuration parameters, the lpInBuffer in the lpConfigParam is invalid, you can
set it to NULL.
Return Values
Returns TRUE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_SetSTDConfig
28
Device Network SDK (Display and Control) Developer Guide
3.16 NET_DVR_Init
Initialize the programming environment before calling other APIs.
API Definition
BOOL NET_DVR_Init(
);
Return Values
Returns TURE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
The available error codes of this API are 0, 41, and 53. See details in Device Network SDK Errors .
Remarks
Before initializing, you can call NET_DVR_SetSDKInitCfg to set the initialization parameters, such as
supported capabilities, loading path of component libraries (only supported by Linux system), and
so on.
See Also
NET_DVR_Cleanup
3.17 NET_DVR_Login_V40
Log in to the device (supports asynchronous login).
API Definition
LONG NET_DVR_Login_V40(
NET_DVR_USER_LOGIN_INFO pLoginInfo,
NET_DVR_DEVICEINFO_V40 lpDeviceInfo
);
Parameters
pLoginInfo
[IN] Login parameters, including device address, user name, password, and so on. See details in
the structure NET_DVR_USER_LOGIN_INFO .
lpDeviceInfo
[OUT] Device information. See details in the structure NET_DVR_DEVICEINFO_V40 .
29
Device Network SDK (Display and Control) Developer Guide
Return Values
● For asynchronous login, the callback function ( fLoginResultCallBack ) configured in the
structure ( NET_DVR_USER_LOGIN_INFO ) returns the asynchronous login status, user ID and
device information.
● For synchronous login, this API returns -1 for logging failed, and returns other values for the
returned user IDs. The user ID is unique, and it helps to realize the further device operations.
● If -1 is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
● When bUseAsynLogin in pLoginInfo is 0, it indicates that login is in synchronous mode; when
bUseAsynLogin in pLoginInfo is 1, it indicates that login is in asynchronous mode.
● Up to 2048 users are allowed to log in to HCNetSDK at same time, and the values of returned
UserID are ranging from 0 to 2047.
See Also
NET_DVR_Logout
3.18 NET_DVR_LogoSwitch
Control LOGO display.
API Definition
BOOL NET_DVR_LogoSwitch(
LONG lUserID,
DWORD dwDecChan,
DWORD dwLogoSwitch
)
Parameters
lUserID
[IN] User ID, which is returned by NET_DVR_Login_V40 .
dwDecChan
[IN] Decoding channel No.
dwLogoSwitch
[IN] Switch on/off command. 1-NET_DVR_SHOWLOGO, display LOGO; 2-NET_DVR_HIDELOGO,
hide LOGO.
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
30
Device Network SDK (Display and Control) Developer Guide
3.19 NET_DVR_Logout
Log out from devices.
API Definitions
BOOL NET_DVR_Logout(
LONG lUserID
);
Parameters
lUserID
[IN] User ID, which is returned by NET_DVR_Login_V40 .
Return Values
Returns TURE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
The available error codes may be returned by this API are 0, 3, 7, 8, 9, 10, 14, 17, 41, 44, 47, 72,
and 73. See details in Device Network SDK Errors .
3.20 NET_DVR_MatrixGetCurrentSceneMode
Get the current scene.
API Definition
BOOL NET_DVR_MatrixGetCurrentSceneMode(
LONG lUserID,
DWORD *dwSceneNum
)
Parameters
lUserID
[IN] User ID, which is returned by NET_DVR_Login_V40 .
dwSceneNum
[OUT] Scene No.
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
31
Device Network SDK (Display and Control) Developer Guide
3.21 NET_DVR_MatrixGetDecChanCfg
Get configuration information of decoding channel.
API Definition
BOOL NET_DVR_MatrixGetDecChanCfg(
LONG lUserID,
DWORD dwDecChan,
LPNET_DVR_MATRIX_DECCHAN_CONTROL lpInter
)
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChan
[IN] Decoding channel No.
lpInter
[OUT] Parameters of decoding channel scaling control, see details in
NET_DVR_MATRIX_DECCHAN_CONTROL .
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
3.22 NET_DVR_MatrixGetDecChanEnable
Get the decoding status of the current decoding channel or window.
API Definition
BOOL NET_DVR_MatrixGetDecChanEnable(
LONG lUserID,
DWORD dwDecChanNum,
DWORD *lpdwEnable
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
32
Device Network SDK (Display and Control) Developer Guide
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_MatrixSetDecChanEnable
3.23 NET_DVR_MatrixGetDeviceStatus_V41
Get status of decoding devices.
API Definition
BOOL NET_DVR_MatrixGetDeviceStatus_V41(
LONG lUserID,
LPNET_DVR_DECODER_WORK_STATUS_V41 lpDecoderCfg
)
Parameters
lUserID
[IN] User ID, which is returned by NET_DVR_Login_V40 .
lpDecoderCfg
[OUT] Device status parameters, see details in NET_DVR_DECODER_WORK_STATUS_V41.
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
3.24 NET_DVR_MatrixGetLoopDecChanEnable
Get the auto-switch status of a decoding channel.
API Definition
BOOL NET_DVR_MatrixGetLoopDecChanEnable(
LONG lUserID,
DWORD dwDecChanNum,
33
Device Network SDK (Display and Control) Developer Guide
DWORD *lpdwEnable
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
Decoding channel No. or window No.
lpdwEnable
[OUT] 0-Disabled, 1-Enabled.
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_MatrixSetLoopDecChanEnable
3.25 NET_DVR_MatrixGetLoopDecChanInfo_V41
Get the parameters of auto-switch decoding channel.
API Definition
BOOL NET_DVR_MatrixGetLoopDecChanInfo_V41(
LONG lUserID,
DWORD dwDecChanNum,
NET_DVR_MATRIX_LOOP_DECINFO_V41 *lpOuter
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
[IN] Decoding channel No. or window No.
lpOuter
[OUT] Parameters of auto-switch decoding channel, see details in the structure
NET_DVR_MATRIX_LOOP_DECINFO_V41
Return Values
Return TRUE for success, and return FALSE for failure.
34
Device Network SDK (Display and Control) Developer Guide
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_MatrixSetLoopDecChanInfo_V41
3.26 NET_DVR_MatrixGetPassiveDecodeStatus
Get the passive decoding status of the decoder.
API Definition
LONG NET_DVR_MatrixGetPassiveDecodeStatus(
LONG lPassiveHandle
);
Parameters
lPassiveHandle
[IN] Passive decoding handle, which is returned by NET_DVR_MatrixStartPassiveDecode .
Return Values
Return -1 for failure, and return the following values for other statuses: 1 (sent), 2 (sending
paused), 3 (sending resumed), 4 (error), 5 (heartbeat information).
If -1 is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
If you immediately call this API after calling NET_DVR_MatrixStartPassiveDecode to start passive
decoding, failure may occur as the implement of function costs time, and the corresponding error
name is "NET_DVR_ORDER_ERROR", you can try again later.
3.27 NET_DVR_MatrixGetRemotePlayStatus
Get playback status.
API Definition
BOOL NET_DVR_MatrixGetRemotePlayStatus(
LONG lUserID,
DWORD dwDecChanNum,
LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS lpOuter
)
Parameters
lUserID
35
Device Network SDK (Display and Control) Developer Guide
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
Remarks
● You can get playback status and control playback after connecting multi-channel decoder with
the front-end device and starting playback by file name or by time. If you play back by time, you
cannot control the playback progress.
● Delay exists since the playback command is executed by forwarding stream. Therefore, it's better
not to call this API too frequently, and you should take network status into consideration.
● When you play back by time, you can only get the playback status of a single clip instead of the
whole video of the time period. You can check whether the playback has finished by the
member dwCurDataType in the structure NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS .
3.28 NET_DVR_MatrixGetTranInfo_V30
Get information of transparent channel.
API Definition
BOOL NET_DVR_MatrixGetTranInfo_V30(
LONG lUserID,
LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 lpTranInfo
)
Parameters
lUserID
[IN] User ID, which is returned by NET_DVR_Login_V40 .
lpTranInfo
[OUT] Transparent channel parameters, see details in
NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 .
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
36
Device Network SDK (Display and Control) Developer Guide
Remarks
● This transparent channel is configured between decoder and front-end device instead of
between the client and decoder.
● Multi-channel decoder does not support to build RS232 or RS485 transparent channel with the
client.
● Local serial port of multi-channel decoder can only be connected as serial port control platform
(by RS232) or as devices to input information such as keyboard (by RS232 or RS285).
3.29 NET_DVR_MatrixPassiveDecodeControl
Control the passive decoding.
API Definition
BOOL NET_DVR_MatrixPassiveDecodeControl(
LONG lUserID,
DWORD dwDecChanNum,
NET_DVR_PASSIVEDECODE_CONTROL *lpInter
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40
dwDecChanNum
[IN] Decoding channel No.
lpInter
[IN] Parameters for controlling decoding, see details in the structure
NET_DVR_PASSIVEDECODE_CONTROL .
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
3.30 NET_DVR_MatrixSceneControl
Control scene switch.
API Definition
BOOL NET_DVR_MatrixSceneControl(
LONG lUserID,
37
Device Network SDK (Display and Control) Developer Guide
DWORD dwSceneNum,
DWORD dwCmd,
DWORD dwCmdParam
)
Parameters
lUserID
[IN] User ID, which is returned by NET_DVR_Login_V40 .
dwSceneNum
[IN] Scene No., which can be got from the capability set.
dwCmd
[IN] Command type: 1-scene switch, 2-initializing the scene (clear the current configuration), 3-
force to swich scene, 4-save the scene.
dwCmdParam
[IN] Command parameter, reserved.
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
3.31 NET_DVR_MatrixSendData
Send data to passive decoding channel.
API Definition
BOOL NET_DVR_MatrixSendData(
LONG lPassiveHandle,
char *pSendBuf,
DWORD dwBufSize
);
Parameters
lPassiveHandle
[IN] Value returned by NET_DVR_MatrixStartPassiveDecode
pSendBuf
[IN] Buffer for the data that needs to be sent.
lpInter
[IN] Size of buffer for the data that needs to be sent. The data size should be smaller than 512
KB, and 30 KB is suggested.
38
Device Network SDK (Display and Control) Developer Guide
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
3.32 NET_DVR_MatrixSetDecChanCfg
Configure decoding channel.
API Definition
BOOL NET_DVR_MatrixSetDecChanCfg(
LONG lUserID,
DWORD dwDecChan,
LPNET_DVR_MATRIX_DECCHAN_CONTROL lpInter
)
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChan
[IN] Decoding channel No.
lpInter
[IN] Parameters of decoding channel scaling control, see details in
NET_DVR_MATRIX_DECCHAN_CONTROL .
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
3.33 NET_DVR_MatrixSetDecChanEnable
Set the decoding status of the current channel or window.
API Definition
BOOL NET_DVR_MatrixSetDecChanEnable(
LONG lUserID,
DWORD dwDecChanNum,
DWORD dwEnable
);
39
Device Network SDK (Display and Control) Developer Guide
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
[IN] Decoding channel No. or window No.
dwEnable
[IN] 0-Disable, 1-Enable
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
If the parameter dwEnable is set to 0, the decoding of the current window will be paused even the
window is in dynamic or auto-switch decoding mode.
See Also
NET_DVR_MatrixGetDecChanEnable
3.34 NET_DVR_MatrixSetLoopDecChanEnable
Set the auto-switch status of a decoding channel.
API Definition
BOOL NET_DVR_MatrixSetLoopDecChanEnable(
LONG lUserID,
DWORD dwDecChanNum,
DWORD dwEnable
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
[IN] Decoding channel No. or window No.
dwEnable
[OUT] 0-Disable, 1-Enable.
40
Device Network SDK (Display and Control) Developer Guide
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_MatrixGetLoopDecChanEnable
3.35 NET_DVR_MatrixSetLoopDecChanInfo_V41
Set the auto-switch decoding channel parameters.
API Definition
BOOL NET_DVR_MatrixSetLoopDecChanInfo_V41(
LONG lUserID,
DWORD dwDecChanNum,
NET_DVR_MATRIX_LOOP_DECINFO_V41 *lpInter
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
[IN] Decoding channel No. or window No.
lpInter
[OUT] Parameters of auto-switch decoding channel, see details in the structure
NET_DVR_MATRIX_LOOP_DECINFO_V41
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
Up to 64 cameras can be linked to each decoding channel of decoder for auto-switch, and the
switching interval can be configured.
See Also
NET_DVR_MatrixGetLoopDecChanInfo_V41
41
Device Network SDK (Display and Control) Developer Guide
3.36 NET_DVR_MatrixSetRemotePlay
Configure remote file playback.
API Definition
BOOL NET_DVR_MatrixSetRemotePlay(
LONG lUserID,
DWORD dwDecChanNum,
LPNET_DVR_MATRIX_DEC_REMOTE_PLAY lpInter
)
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
[IN] Decoding channel No.
lpInter
[IN] Parameters of remote file playback, see details in NET_DVR_MATRIX_DEC_REMOTE_PLAY.
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
Remarks
After calling this API to complete configuration, you should call
NET_DVR_MatrixSetRemotePlayControl (NET_DVR_PLAYSTART) to start playback.
3.37 NET_DVR_MatrixSetRemotePlayControl
Remotely control the playback.
API Definition
BOOL NET_DVR_MatrixSetRemotePlayControl(
LONG lUserID,
DWORD dwDecChanNum,
DWORD dwControlCode,
DWORD dwInValue,
DWORD *lpOutValue
);
42
Device Network SDK (Display and Control) Developer Guide
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
[IN] Decoding channel or window No.
dwControlCode
[IN] Control commands, see details in the following table.
dwInValue
[IN] Configuration parameters
lpOutValue
43
Device Network SDK (Display and Control) Developer Guide
Return Values
Return TRUE for ssuccess, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
The validity of dwInValue and lpOutValue is depended on the control command, e.g., for
comamnd NET_DVR_PLAYSETPOS, dwInValue should be assigned.
3.38 NET_DVR_MatrixSetTranInfo_V30
Set parameters of transparent channel.
API Definition
BOOL NET_DVR_MatrixSetTranInfo_V30(
LONG lUserID,
LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 lpTranInfo
)
Parameters
lUserID
[IN] User ID, which is returned by NET_DVR_Login_V40 .
lpTranInfo
[IN] Transparent channel parameters, see details in
NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 .
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
Remarks
So far up to 64 transparent channels are supported, including RS232 and RS485 channels. At most
1 RS232 and 1 RS485 full-duplex transparent channel can be supported and you can also choose
not to set full-duplex transparent channel.
3.39 NET_DVR_MatrixStartDynamic_V41
Start dynamic decoding.
44
Device Network SDK (Display and Control) Developer Guide
API Definition
BOOL NET_DVR_MatrixStartDynamic_V41(
LONG lUserID,
DWORD dwDecChanNum,
NET_DVR_PU_STREAM_CFG_V41 *lpDynamicInfo
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
[IN] Decoding channel No. or sub window No. (1-byte video wall No.+1-byte sub window No.+2-
byte window No.)
lpDynamicInfo
[IN] Dynamic decoding parameters, see details in the structure
NET_DVR_PU_STREAM_CFG_V41 .
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
After starting dynamic decoding by calling this API, the decoding will not stop until the
NET_DVR_MatrixStopDynamic is called. If the network disconnected during decoding, the decoder
will automatically reconnect to the encoding device until reconnected.
See Also
NET_DVR_MatrixStopDynamic
3.40 NET_DVR_MatrixStartPassiveDecode
Start the passive decoding.
API Definition
LONG NET_DVR_MatrixStartPassiveDecode(
LONG lUserID,
DWORD dwDecChanNum,
NET_DVR_MATRIX_PASSIVEMODE *lpPassiveMode
);
45
Device Network SDK (Display and Control) Developer Guide
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40
dwDecChanNum
[IN] Decoding channel No.
lpPassiveMode
[IN] Passive decoding parameters, see details in the structure
NET_DVR_MATRIX_PASSIVEMODE .
Return Values
Return -1 for failure, and return other values as the parameters of API NET_DVR_MatrixSendData .
If -1 is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_MatrixStopPassiveDecode
3.41 NET_DVR_MatrixStopDynamic
Stop dynamic decoding.
API Definition
BOOL NET_DVR_MatrixStopDynamic(
LONG lUserID,
DWORD dwDecChanNum
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwDecChanNum
[IN] Decoding channel No. or sub window No. (1-byte video wall No.+1-byte sub window No.+2-
byte window No.)
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_MatrixStartDynamic_V41
46
Device Network SDK (Display and Control) Developer Guide
3.42 NET_DVR_MatrixStopPassiveDecode
Stop the passive decoding.
API Definition
BOOL NET_DVR_MatrixStopPassiveDecode(
LONG lPassiveHandle
);
Parameters
lUserID
[IN] Value returned by NET_DVR_MatrixStartPassiveDecode .
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
3.43 NET_DVR_RemoteControl
Implement remote control.
API Definition
BOOL NET_DVR_RemoteControl(
LONG lUserID,
DWORD dwCommand,
LPVOID lpInBuffer,
DWORD dwInBufferSize
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwCommand
[IN] Control commands. To realize different functions, the commands are different.
lpInBuffer
[IN] Input parameters, which vary with different control commands.
dwInBufferSize
[IN] Size of input parameters.
47
Device Network SDK (Display and Control) Developer Guide
Return Values
Returns TRUE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
3.44 NET_DVR_SetConnectTime
Set network connection timeout and connection attempts.
API Definition
BOOL NET_DVR_SetConnectTime(
DWORD dwWaitTime,
DWORD dwTryTimes
);
Parameters
dwWaitTime
[IN] Timeout, unit: ms, value range: [300,75000]; the maximum timeout varies with different
operating systems.
dwTryTimes
[IN] Connection attempts (reserved).
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
● For Windows operating system, the default connection timeout is 3000 ms; for Linux operating
system with version 5.2.7.2 and above, he default connection timeout is 3500 ms.
● For HCNetSDK with version 4.0 and above, when the configured timeout is larger than or smaller
than the limit value, this API will not return FALSE, it will automatically use the timeout that is
closest to the limit value as the actual timeout.
3.45 NET_DVR_SetDeviceConfig
Set device parameters in batch (sending data is supported).
API Definition
BOOL NET_DVR_SetDeviceConfig(
LONG lUserID,
DWORD dwCommand,
48
Device Network SDK (Display and Control) Developer Guide
DWORD dwCount,
LPVOID lpInBuffer,
DWORD dwInBufferSize,
LPVOID lpStatusList,
LPVOID lpInParamBuffer,
DWORD dwInParamBufferSize
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwCommand
[IN] Device configuration commands, which are different according to different configurations.
dwCount
[IN] Number of cameras to be set at a time. 0,1-one camera, 2-two cameras, 3-three cameras,
and so on. Up to 256 cameras can be configured at a time.
lpInBuffer
[IN] Pointer of configuration condition buffer, e.g., stream ID, which specifies the number
(dwCount) of cameras to set, and relates to the configuration commands.
dwInBufferSize
[IN] Size of configuration condition buffer, which saves the configured information of cameras
with the number of dwCount.
lpStatusList
[OUT] Error information list, and its memory is allocated by user, each error information
contains 4 bytes (a unsigned 32-bit integer).
There is a one-to-one correspondence between the errors in the list and the cameras that need
to be searched, e.g., lpStatusList[2] corresponds to lpInBuffer[2].
If the parameter value is 0, it refers to setting succeeded, otherwise, this parameter value is the
error code.
lpInParamBuffer
[IN] Device parameters to set, which relates to the configuration commands. And there is a one-
to-one correspondence between the parameters and the cameras that need to be searched.
dwInParamBufferSize
[IN] Set the size of content buffer.
Return Values
Returns TRUE for success, and returns FALSE for all failed. If returns TRUE, it does not indicate that
all settings are succeeded, you can get the value of lpStatusList[n] to check which one is
succeeded.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
49
Device Network SDK (Display and Control) Developer Guide
See Also
NET_DVR_GetDeviceConfig
3.46 NET_DVR_SetDeviceConfigEx
Set the device parameters in batch (sending data is supported).
API Definition
BOOL NET_DVR_SetDeviceConfigEx(
LONG lUserID,
DWORD dwCommand,
DWORD dwCount,
NET_DVR_IN_PARAM *lpInParam,
NET_DVR_OUT_PARAM *lpOutParam
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwCommand
[IN] Device configuration commands, which are different according to different configuration
functions.
dwCount
[IN] Number of cameras to be set at a time. 0,1-one camera, 2-two cameras, 3-three cameras,
and so on. Up to 64 cameras can be configured at a time.
lpInParam
[IN] Input parameter buffer, see details in the structure NET_DVR_IN_PARAM (the value of each
member in the structure varies with the dwCommand).
lpOutParam
[IN] Output parameter buffer, see details in the structure NET_DVR_OUT_PARAM (the value of
each member in the structure varies with the dwCommand).
Return Values
Returns TRUE for success, and returns FALSE for all failed. If returns TRUE, it does not mean that all
settings are succeeded, you can check the value of lpStatusList[n] to check which one is
succeeded.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
Extended From: NET_DVR_SetDeviceConfig
50
Device Network SDK (Display and Control) Developer Guide
3.47 NET_DVR_SetDVRConfig
Set the device parameters.
API Definition
BOOL NET_DVR_SetDVRConfig(
LONG lUserID,
DWORD dwCommand,
LONG lChannel,
LPVOID lpInBuffer,
DWORD dwInBufferSize
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwCommand
[IN] Device configuration commands, which are different according to different configuration
functions.
lChannel
[IN] Channel No. (NIC No.), which varies with different commands. 0xFFFFFFFF-invalid, 1-main
NIC, 2-extended NIC.
lpInBuffer
[IN] Pointer of input data buffer. For different configuration functions, the structures of this
parameter are different.
dwInBufferSize
[IN] Size of input data buffer (unit: byte).
Return Values
Returns TRUE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
The following error codes may be returned by this API: 0, 3, 6, 7, 8, 9, 10, 12, 17, 41, 43, 44, 47, 72,
73, and 76. See the corresponding error types and descriptions in the Device Network SDK Errors .
See Also
NET_DVR_GetDVRConfig
51
Device Network SDK (Display and Control) Developer Guide
3.48 NET_DVR_SetSDKInitCfg
Set initialization parameters.
API Parameters
BOOL NET_DVR_SetSDKInitCfg(
NET_SDK_INIT_CFG_TYPE enumType,
void* const lpInBuff
);
Parameters
enumType
[IN] Initialization parameter type. Different type values correspond to different parameters, see
details in the table below.
52
Device Network SDK (Display and Control) Developer Guide
[IN] Input parameter. Different parameter types correspond to different structures, see details in
the table above.
Return Values
Returns TURE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
This API should be called before calling NET_DVR_Init to initialize and check the dependent
libraries or capabilities.
3.49 NET_DVR_SetSDKLocalCfg
Set the local parameters.
API Definition
BOOL NET_DVR_SetSDKLocalCfg(
NET_SDK_LOCAL_CFG_TYPE enumType,
void* const lpInBuff
);
Parameters
enumType
[IN] Configuration options. Different values of configuration options correspond to different SDK
parameters, see details in NET_SDK_LOCAL_CFG_TYPE .
lpInBuff
[IN] Input parameters. For different configuration options, the structures of input parameters
are different, see details in NET_SDK_LOCAL_CFG_TYPE .
Return Values
Returns TRUE for success, and returns FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
Before setting parameters for this function, make sure no device has logged in.
See Also
NET_DVR_GetSDKLocalCfg
3.50 NET_DVR_SetSTDConfig
Set the device parameters.
53
Device Network SDK (Display and Control) Developer Guide
API Definition
BOOL NET_DVR_SetSTDConfig(
LONG lUserID,
DWORD dwCommand,
NET_DVR_STD_CONFIG lpConfigParam
);
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
dwCommand
[IN] Device configuration commands, which are different according to different configuration
functions.
lpConfigParam
[IN][OUT] Set input and output parameters, which are different according to different
configuration functions. For different configuration functions, the lpCondBuffer and lpInBuffer
in the IpConfigParam are also different. See the structure NET_DVR_STD_CONFIG for details.
Note
When getting configuration parameters, the lpOutBuffer in the lpConfigParam is invalid, you
can set it to "NULL".
Return Values
Returns TRUE for success, and returns FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
See Also
NET_DVR_GetSTDConfig
3.51 NET_DVR_STDXMLConfig
Transmit request URL with XML or JSON format to implement some typical functions.
API Definition
BOOL NET_DVR_STDXMLConfig(
LONG lUserID,
const NET_DVR_XML_CONFIG_INPUT *lpInputParam,
NET_DVR_XML_CONFIG_OUTPUT *lpOutputParam
);
54
Device Network SDK (Display and Control) Developer Guide
Parameters
lUserID
[IN] Value returned by NET_DVR_Login_V40 .
lpInputParam
[IN] Input parameters, refer to the structure NET_DVR_XML_CONFIG_INPUT for details.
lpOutputParam
[IN][OUT] Output parameters, refer to the structure NET_DVR_XML_CONFIG_OUTPUT for
details.
Return Values
Return TRUE for success, and return FALSE for failure.
If FALSE is returned, you can call NET_DVR_GetLastError to get the error code.
Remarks
The input parameter lpInputParam and output parameter lpOutputParam are different when
transmitting text protocol for implementing different functions, and each parameter corresponds
to a component of text protocol, see the relations below:
3.52 NET_DVR_UploadLogo
Upload LOGO.
55
Device Network SDK (Display and Control) Developer Guide
API Definition
BOOL NET_DVR_UploadLogo(
LONG lUserID,
DWORD dwDecChanNum,
LPNET_DVR_DISP_LOGOCFG lpDispLogoCfg,
char *sLogoBuffer
)
Parameters
lUserID
User ID, which is returned by NET_DVR_Login_V40 .
dwDecChanNum
Decoding channel No.
lpDispLogoCfg
Parameters of LOGO, see details in structure NET_DVR_DISP_LOGOCFG .
sLogoBuffer
LOGO data buffer, the maximum size is 100k, and the width and the height should be multiples
of 32.
Return Value
Return TRUE for success and FALSE for failure. If FALSE is returned, you can call
NET_DVR_GetLastError to get the error code.
56
Device Network SDK (Display and Control) Developer Guide
Appendix A. Appendixes
A.1.1 CHAR_ENCODE_CONVERT
Encoding type conversion callback function.
Parameters
pInput
[IN] Input string, whose memory and size is applied and provided by the third-party platform
dwInputLen
[IN] Input buffer size.
dwInEncodeType
[IN] Encoding types of input string: 0-no encoding information, 1-GB2312 (Simplified Chinese),
2-GBK, 3-BIG5 (Traditional Chinese), 4-Shift_JIS (Japanese), 5-EUC-KR (Korean), 6-UTF-8, 7-
ISO8859-1, 8-ISO8859-2, 9-ISO8859-3, ..., 21-ISO8859-15 (Western Europe).
pOutput
[OUT] Output string, whose memory is applied by the third-party platform.
dwOutputLen
[OUT] Output buffer size.
dwOutEncodeType
[OUT] Encoding tupes of output string: 0-no encoding information, 1-GB2312 (Simplified
Chinese), 2-GBK, 3-BIG5 (Traditional Chinese), 4-Shift_JIS (Japanese), 5-EUC-KR (Korean), 6-
UTF-8, 7-ISO8859-1, 8-ISO8859-2, 9-ISO8859-3, ..., 21-ISO8859-15 (Western Europe).
Return Values
Return -1 for failure, and return 0 for success.
57
Device Network SDK (Display and Control) Developer Guide
A.1.2 fLoginResultCallBack
A.2.1 NET_DVR_ADDRESS
IP address and port parameter structure.
struct{
NET_DVR_IPADDR struIP;
WORD wPort;
BYTE byRes[2];
}NET_DVR_ADDRESS,*LPNET_DVR_ADDRESS;
Members
struIP
IP address, see details in the structure .
wPort
Port number.
byRes
Reserved.
A.2.2 NET_DVR_ATMFINDINFO
Condition structure for searching files with ATM information.
58
Device Network SDK (Display and Control) Developer Guide
Structure Definition
struct{
BYTE byTransactionType;
BYTE byRes[3];
DWORD dwTransationAmount;
}NET_DVR_ATMFINDINFO, *LPNET_DVR_ATMFINDINFO;
Members
byTransactionType
Transaction type: 0-all, 1-search, 2-withdraw, 3-deposit, 4-change password, 5-transfer, 6-search
without card, 7-deposit without card, 8-retract cash, 9-retract card, 10-custom.
byRes
Reserved, set to 0.
dwTransationAmount
Transaction amount, -1: search without displaying amount.
See Also
NET_DVR_SPECIAL_FINDINFO_UNION
A.2.3 NET_DVR_BUF_INFO
Structure about buffer information.
Structure Definition
struct{
void* pBuf;
DWORD nLen;
}NET_DVR_BUF_INFO,*LPNET_DVR_BUF_INFO;
Members
pBuf
Buffer pointer
nLen
Buffer size
See Also
NET_DVR_IN_PARAM
NET_DVR_OUT_PARAM
59
Device Network SDK (Display and Control) Developer Guide
A.2.4 NET_DVR_CAM_MODE
Structure about the enumeration of signal source types.
Structure Definition
enum _NET_DVR_CAM_MODE_{
NET_DVR_UNKNOW = 0,
NET_DVR_CAM_BNC = 1,
NET_DVR_CAM_VGA = 2,
NET_DVR_CAM_DVI = 3,
NET_DVR_CAM_HDMI = 4,
NET_DVR_CAM_IP = 5,
NET_DVR_CAM_RGB = 6,
NET_DVR_CAM_DECODER = 7,
NET_DVR_CAM_MATRIX = 8,
NET_DVR_CAM_YPBPR = 9,
NET_DVR_CAM_USB = 10,
NET_DVR_CAM_SDI = 11,
NET_DVR_CAM_HDI = 12,
NET_DVR_CAM_DP = 13,
NET_DVR_CAM_HDTVI = 14,
NET_DVR_CAM_JOINT = 15,
NET_DVR_CAM_HDBASET = 16
}NET_DVR_CAM_MODE
Members
NET_DVR_UNKNOW
Invalid
NET_DVR_CAM_BNC
BNC input
NET_DVR_CAM_VGA
VGA input
NET_DVR_CAM_DVI
DVI input
NET_DVR_CAM_HDMI
HDMI input
NET_DVR_CAM_IP
IP input
NET_DVR_CAM_RGB
RGB input
NET_DVR_CAM_DECODER
60
Device Network SDK (Display and Control) Developer Guide
A.2.5 NET_DVR_CETTIFICATE_INFO
Certificate information structure
Structure Definition
struct{
DWORD dwSize;
char szIssuer[MAX_CERTIFICATE_ISSUER_LEN/*64*/];
char szSubject[MAX_CERTIFICATE_SUBJECT_LEN/*64*/];
NET_DVR_TIME struStartTime;
NET_DVR_TIME struEndTime;
BYTE byRes1[1024];
}NET_DVR_CETTIFICATE_INFO, *LPNET_DVR_CETTIFICATE_INFO;
Members
dwSize
Structure size.
szIssuer
61
Device Network SDK (Display and Control) Developer Guide
Certificate issuer.
szSubject
Certificate holder.
struStartTime
Start time of expiry date, refer to the structure NET_DVR_TIME for details.
struEndTime
End time of expiry date, refer to the structure NET_DVR_TIME for details.
byRes1
Reserved.
A.2.6 NET_DVR_DDNS_ADDRESS
Structure about DDNS information.
Structure Definition
struct{
BYTE byDevAddress[MAX_DOMAIN_NAME/*64*/];
BYTE byDevDdns[MAX_DOMAIN_NAME/*64*/];
BYTE byDdnsType;
BYTE byRes1[3];
WORD wDevPort;
WORD wDdnsPort;
BYTE byres[64];
}NET_DVR_DDNS_ADDRESS, *LPNET_DVR_DDNS_ADDRESS;
Members
byDevAddress
Device domain name
byDevDdns
DDNS IP address
byDdnsType
DDNS type: 0-IPServer, 1-Dyndns, 2- PeanutHull, 3- NO-IP, 4- hiDDNS
byRes1
Reserved
wDevPort
Device port number
wDdnsPort
DDNS port number
62
Device Network SDK (Display and Control) Developer Guide
byRes
Reserved
See Also
NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX
A.2.7 NET_DVR_DEC_DDNS_DEV
Configuration parameter structure about getting stream by DDNS.
Structure Definition
struct{
NET_DVR_DEV_DDNS_INFO struDdnsInfo;
NET_DVR_STREAM_MEDIA_SERVER struMediaServer;
}NET_DVR_DEC_DDNS_DEV,*LPNET_DVR_DEC_DDNS_DEV;
Members
struDdnsInfo
DDNS configuration parameters, see the structure NET_DVR_DEV_DDNS_INFO for details.
struMediaServer
Stream media server configuration parameters, see the structure
NET_DVR_STREAM_MEDIA_SERVER for details.
See Also
NET_DVR_DEC_STREAM_MODE
A.2.8 NET_DVR_DEC_STREAM_DEV_EX
Configuration parameter structure about getting stream from device.
Structure Definition
struct{
NET_DVR_STREAM_MEDIA_SERVER struStreamMediaSvrCfg;
NET_DVR_DEV_CHAN_INFO_EX struDevChanInfo;
}NET_DVR_DEC_STREAM_DEV_EX,*LPNET_DVR_DEC_STREAM_DEV_EX;
Members
struStreamMediaSvrCfg
Stream media server configuration parameters, see the structure
NET_DVR_STREAM_MEDIA_SERVER for details.
63
Device Network SDK (Display and Control) Developer Guide
struDevChanInfo
Device channel configuration parameters, see the structure NET_DVR_DEV_CHAN_INFO_EX for
details.
See Also
NET_DVR_DEC_STREAM_MODE
A.2.9 NET_DVR_DEC_STREAM_MODE
Configuration parameter union about streaming mode.
Structure Definition
union{
NET_DVR_DEC_STREAM_DEV_EX struDecStreamDev;
NET_DVR_PU_STREAM_URL struUrlInfo;
NET_DVR_DEC_DDNS_DEV struDdnsDecInfo;
BYTE byRes[300];
}NET_DVR_DEC_STREAM_MODE,*LPNET_DVR_DEC_STREAM_MODE;
Members
struDecStreamDev
Get stream from device or stream media server by IP address or domain name, see the
structure NET_DVR_DEC_STREAM_DEV_EX for the configuration details.
struUrlInfo
Get stream from device or stream media server by URL, see the structure
NET_DVR_PU_STREAM_URL for the configuration details.
struDdnsDecInfo
Get stream from device by DDNS, see the structure NET_DVR_DEC_DDNS_DEV for the
configuration details.
byRes
Reserved, set to 0.
A.2.10 NET_DVR_DEV_CHAN_INFO_EX
Structure about front-end device information.
Structure Definition
struct{
BYTE byChanType;
BYTE byStreamId[STREAM_ID_LEN/*32*/];
64
Device Network SDK (Display and Control) Developer Guide
BYTE byRes1[3];
DWORD dwChannel;
BYTE byRes2[24];
BYTE byAddress[MAX_DOMAIN_NAME/*64*/];
WORD wDVRPort;
BYTE byChannel;
BYTE byTransProtocol;
BYTE byTransMode;
BYTE byFactoryType;
BYTE byDeviceType;
BYTE byDispChan;
BYTE bySubDispChan;
BYTE byResolution;
BYTE byRes[2];
BYTE sUserName[NAME_LEN/*32*/];
BYTE sPassword[PASSWD_LEN/*16*/];
}NET_DVR_DEV_CHAN_INFO_EX,*LPNET_DVR_DEV_CHAN_INFO_EX;
Members
byChanType
Channel type: 0-normal channel, 1-channel-zero, 2-stream ID, 3-local input source
byStreamId
Stream ID, it is valid only when the byChanType is 2.
byRes1
Reserved
dwChannel
Channel No., it is valid only when the byChanType is 0, 1, 3. If the channel type is local input
source, this member is the local source index No.
byRes2
Reserved
byAddress
Device IP address or domain name
wDVRPort
Device port number
byChannel
Invalid
byTransProtocol
Transfer protocol type: 0-TCP, 1-UDP
byTransMode
Stream mode: 0-main stream, 1-sub-stream
65
Device Network SDK (Display and Control) Developer Guide
byFactoryType
Front-end device manufacturer
byDeviceType
Device type (for MVC only): 1-network camera, 2-encoding device
byDispChan
Display channel No.
bySubDispChan
Sub display channel No.
byResolution
Resolution: 1- CIF, 2- 4CIF, 3- 720P, 4- 1080P, 5- 500W
byRes
Reserved, set to 0.
sUserName
User name for log in to device.
sPassword
Device password.
See Also
NET_DVR_DEC_STREAM_DEV_EX
A.2.11 NET_DVR_DEV_DDNS_INFO
Configuration parameter structure about DDNS.
Structure Definition
struct{
BYTE byDevAddress[MAX_DOMAIN_NAME/*64*/];
BYTE byTransProtocol;
BYTE byTransMode;
BYTE byDdnsType;
BYTE byRes1;
BYTE byDdnsAddress[MAX_DOMAIN_NAME/*64*/];
WORD wDdnsPort;
BYTE byChanType;
BYTE byFactoryType;
DWORD dwChannel;
BYTE byStreamId[STREAM_ID_LEN/*32*/];
BYTE sUserName[NAME_LEN/*32*/];
BYTE sPassword[PASSWD_LEN/*16*/];
WORD wDevPort;
66
Device Network SDK (Display and Control) Developer Guide
BYTE byRes2[2];
}NET_DVR_DEV_DDNS_INFO,*LPNET_DVR_DEV_DDNS_INFO;
Members
byDevAddress
Device domain name
byTransProtocol
Transfer protocol type: 0-TCP, 1-UDP, 2-multicast
byTransMode
Stream mode: 0-main stream, 1-sub-stream
byDdnsType
DDNS type: 0-IPServer, 1-Dyndns, 2- PeanutHull, 3- NO-IP, 4-hiDDNS
byRes1
Reserved
byDdnsAddress
DDNS address
wDdnsPort
DDNS port number
byChanType
Channel type: 0-normal channel, 1-channel-zero, 2-stream ID
byFactoryType
Front-end device manufacturer
dwChannel
Device channel No.
byStreamId
Stream ID, it is valid only when the byChanType is 2.
sUserName
User name for log in to device
sPassword
Device password.
wDevPort
Device port number
byRes2
Reserved
67
Device Network SDK (Display and Control) Developer Guide
See Also
NET_DVR_DEC_DDNS_DEV
A.2.12 NET_DVR_DEVICEINFO_V30
Device parameter structure (V30).
search.
● bySupport&0x2: whether supports backup.
68
Device Network SDK (Display and Control) Developer Guide
over RTSP.
● bySupport1&0x80: whether supports license
version 40.
● bySupport2&0x4: whether supports ANR.
69
Device Network SDK (Display and Control) Developer Guide
stream.
● bySupport3&0x4: whether supports
third-stream.
● byMultiStreamProto&0x2: whether supports
fourth-stream.
● byMultiStreamProto&0x40: whether
supports sub-stream.
byStartDChan BYTE Start No. of digital channel, 0-no digital channel
(e.g., DVR, network camera).
byStartDTalkChan BYTE Start No. of two-way audio channel, 0-no two-
way audio channel.
byHighDChanNum BYTE Number of digital channels, high 8-bit.
bySupport4 BYTE Extended capabilities, if the result of bitwise
operation is 0, it refers that the capability is not
70
Device Network SDK (Display and Control) Developer Guide
supported by device.
● byLanguageType&0x1: whether supports
Chinese.
● byLanguageType&0x2: whether supports
English.
byVoiceInChanNum BYTE Number of audio input channels
byStartVoiceInChanNo BYTE Start No. of audio input channel, 0-invalid.
byRes3 Array of BYTE Reserved, set to 0.
byMirrorChanNum BYTE Number of mirror channels
wStartMirrorChanNo WORD Start No. of mirror channel
byRes2 Array of BYTE Reserved, set to 0.
Remarks
● The maximum number of digital channels equal to byIPChanNum+byHighDChanNum*256.
● For login via text protocol, the following parameters are not supported: byMainProto,
bySubProto, bySupport, bySupport1, bySupport2, bySupport3, bySupport4, bySupport5,
bySupport6, bySupport7, byMultiStreamProto, byStartDTalkChan, byVoiceInChanNum,
byStartVoiceInChanNo, byMirrorChanNum, and wStartMirrorChanNo.
See Also
NET_DVR_DEVICEINFO_V40
71
Device Network SDK (Display and Control) Developer Guide
A.2.13 NET_DVR_DEVICEINFO_V40
72
Device Network SDK (Display and Control) Developer Guide
73
Device Network SDK (Display and Control) Developer Guide
Remarks
● Four character types are allowed in the password, including digits, lowercase letters, uppercase
letters and symbols. The maximum password length is 16 bits, and there are four password
strength levels, see details below:
○ Level 0 (Risky Password): The password length is less than 8 bits, or only contains one kind of
the character types. Or the password is the same with the user name, or is the mirror writing
of the user name.
○ Level 1 (Weak Password): The password length is more than or equal to 8 bits, and contains
two kinds of the character types. Meanwhile, the combination should be (digits + lowercase
letters) or (digits + uppercase letters).
○ Level 2 (Medium Password): The password length is more than or equal to 8 bits, and contains
two kinds of the character types. Meanwhile, the combination cannot be (digits + lowercase
letters) and (digits + uppercase letters).
○ Level 3 (Strong Password): The password length is more than or equal to 8 bits, and at least
A.2.14 NET_DVR_DISPLAYCFG
Structure about video output configuration parameters.
Structure Definition
struct{
DWORD dwSize;
74
Device Network SDK (Display and Control) Developer Guide
NET_DVR_DISPLAYPARAM
struDisplayParam[MAX_DISPLAY_NUM/*512*/];
BYTE byRes[128];
}NET_DVR_DISPLAYCFG,*LPNET_DVR_DISPLAYCFG;
Members
dwSize
Structure size
struDisplayParam
Video output parameters, see details in the structure NET_DVR_DISPLAYPARAM .
byRes
Reserved, set to 0.
A.2.15 NET_DVR_DISPLAYPARAM
Structure about video output parameters.
Structure Definition
struct{
DWORD dwDisplayNo;
BYTE byDispChanType;
BYTE byRes[11];
}NET_DVR_DISPLAYPARAM,*LPNET_DVR_DISPLAYPARAM;
Members
dwDisplayNo
Video output No.
byDispChanType
Connection mode: 1-BNC, 2-VGA, 3-HDMI®, 4-DVI, 5-SDI, 6-FIBER, 7-RGB, 8-YPrPb, 9-VGA/
HDMI®/DVI, 10-3GSDI, 11-VGA/DVI, 0xff-invalid.
byRes
Reserved, set to 0.
See Also
NET_DVR_DISPLAYCFG
A.2.16 NET_DVR_DISP_LOGOCFG
Structure of uploaded LOGO.
75
Device Network SDK (Display and Control) Developer Guide
Structure Definition
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
A.2.17 NET_DVR_FILECOND_V50
File search condition structure.
Structure Definition
struct{
NET_DVR_STREAM_INFO struStreamID;
NET_DVR_TIME_SEARCH_COND struStartTime;
NET_DVR_TIME_SEARCH_COND struStopTime;
BYTE byFindType;
BYTE byDrawFrame;
BYTE byQuickSearch;
BYTE byStreamType;
76
Device Network SDK (Display and Control) Developer Guide
DWORD dwFileType;
DWORD dwVolumeNum;
BYTE byIsLocked;
BYTE byNeedCard;
BYTE byOnlyAudioFile;
BYTE bySpecialFindInfoType;
char szCardNum[32];
char szWorkingDeviceGUID[16];
NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo;
DWORD dwTimeout;
BYTE byRes[252];
}NET_DVR_FILECOND_V50, *LPNET_DVR_FILECOND_V50;
Memebers
struStreamID
Stream ID or channel No., see details in the structure of NET_DVR_STREAM_INFO .
struStartTime
Start time, see details in the structure of NET_DVR_TIME_SEARCH_COND .
struStopTime
End time, see details in the structure of NET_DVR_TIME_SEARCH_COND .
byFindType
File storage type for search: 0-search in normal volume, 1-search in storage volume, 2-search in
N+1 hot spare.
byDrawFrame
Whether to extract the frame: 0-no, 1-yes.
byQuickSearch
Whether to enable searching by calendar: 0-no, 1-yes.
byStreamType
Stream types: 0-main stream, 1-sub-stream, 2-third stream, 0xff-all.
dwFileType
File types.
dwVolumeNum
Storage volume No., it is valid only when byFindType is 1.
byIsLocked
Whether to lock the file: 0-no, 1-yes, 0xff-lock or unlock all files.
byNeedCard
Whether the card search is required: 0-no, 1-yes.
byOnlyAudioFile
Audio or video file: 0-video file, 1-audio file.
77
Device Network SDK (Display and Control) Developer Guide
bySpecialFindInfoType
Search condition type: 0-invalid, 1-search files with ATM information
szCardNum
Card No.,it is valid only when byNeedCard is 1.
szWorkingDeviceGUID
Working station GUID, which is obtained from N+1 hot spare, it is valid only when byFindType is
2.
uSpecialFindInfo
Specific search condition union, see details in NET_DVR_SPECIAL_FINDINFO_UNION .
dwTimeout
Timeout time of searching for files, value range: [5000,15000], 0-no changes of timeout time.
Unit: millisecond.
byRes
Reserved.
Remarks
For login based on ISAPI protocol, only the continuously recorded video can be searched.
Related API
NET_DVR_FindFile_V50
A.2.18 NET_DVR_FINDDATA_V50
Structure about file search information.
Structure Definition
struct{
char sFileName[100];
NET_DVR_TIME_SEARCH struStartTime;
NET_DVR_TIME_SEARCH struStopTime;
NET_DVR_ADDRESS struAddr;
DWORD dwFileSize;
BYTE byLocked;
BYTE byFileType;
BYTE byQuickSearch;
BYTE byStreamType;
DWORD dwFileIndex;
char sCardNum[32];
BYTE byRes[256];
}NET_DVR_FINDDATA_V50,*LPNET_DVR_FINDDATA_V50;
78
Device Network SDK (Display and Control) Developer Guide
Members
sFileName
File name, it is invalid when searching by time.
struStartTime
File start time, see details in the structure .
struStopTime
File stop time, see details in the structure .
struAddr
Video segment address, see details in the structure , which is used for cluster playback.
dwFileSize
File size.
byLocked
Whether the file is locked: 0-no, 1-yes.
byFileType
Video file type, it is valid when searching by time. 0-continuous recording, 1- motion detection,
2- alarm triggered, 3- motion detection | alarm, 4-motion detection & alarm, 5-command
triggered, 6- manual recording, 7-VCA recording, 10-PIR alarm, 11-wireless alarm, 12-panic
alarm, 13-all, 14-intelligent traffic events, 15-line crossing, 16-intrusion, 17-sound exception, 18-
scene change, 19-line crossing|intrusion|face detection|sound exception|scene change, 20-
face detection, 21-sensor, 22-callback, 23-copy back recording, 24-video tampering, 25-POS
recording, 26-region entrance, 27-region exiting, 28-loitering detection, 29-people gathering,
30-fast moving, 31-parking detection, 32-unattended baggage, 33-object removal, 34-fire
source detection, 35-tampering detection, 36-ship detection, 37-temperature pre-alarm, 38-
temperature alarm, 39-fight detection, 40-getting up detection, 41-sleepy detection, 42-
temperature difference alarm, 43-offline temperature measurement alarm, 44-zone alarm, 45-
panic alarm, 46-inquiry service, 47-getting up detection, 48-climbing detection, 49-in-toilet
overtime, 50-running detection, 51-playground overstay detection, 75-dredger detection alarm.
It is valid when searching by time.
Note
When logging in to device by ISAPI method, only continuous recording is supported.
byQuickSearch
Search result type, 0-result of normal search, 2-result of searching by time.
byStreamType
Stream type: 0-main stream, 1-sub-stream, 2-third stream.
dwFileIndex
File No.
79
Device Network SDK (Display and Control) Developer Guide
sCardNum
Card No.
byRes
Reserved.
Remarks
When logging in to device by ISAPI method, the following parameters byLocked, byQuickSearch,
byStreamType, dwFileIndex, and sCard are not supported.
Related API
NET_DVR_FindNextFile_V50
A.2.19 NET_DVR_IN_PARAM
Structure about input parameters.
Structure Definition
struct{
NET_DVR_BUF_INFO
struCondBuf;
NET_DVR_BUF_INFO
struInParamBuf;
DWORD dwRecvTimeout;
BYTE byRes[32];
}NET_DVR_IN_PARAM,*LPNET_DVR_IN_PARAM;
Members
struCondBuf
Buffer for storing conditions
struInParamBuf
Buffer for storing input parameters
dwRecvTimeout
Data receiving timeout, unit: ms
byRes
Reserved, set to 0
A.2.20 NET_DVR_INIT_CFG_ABILITY
80
Device Network SDK (Display and Control) Developer Guide
Remarks
By default, up to 2048 channels are supported. More channels require higher computer
performance and network bandwidth.
See Also
NET_DVR_SetSDKInitCfg
A.2.21 NET_DVR_INPUT_SIGNAL_LIST
Structure about signal source list.
Structure Definition
struct{
DWORD dwSize;
DWORD dwInputSignalNums;
BYTE *pBuffer;
BYTE byRes1[3];
DWORD dwBufLen;
81
Device Network SDK (Display and Control) Developer Guide
BYTE byRes2[64];
}NET_DVR_INPUT_SIGNAL_LIST,*LPNET_DVR_INPUT_SIGNAL_LIST;
Members
dwSize
Structure size
dwInputSignalNums
Number of signal sources
pBuffer
Signal source information buffer, it is a pointer pointing to the buffer that stores the structure
NET_DVR_INPUTSTREAMCFG_V40 (whose number (dwInputSignalNums) determines the
buffer size).
byRes1
Reserved, set to 0.
dwBufLen
Allocated buffer size
byRes
Reserved, set to 0.
Remarks
● If the member pBuffer is set to "NULL", and dwBufLen is set to 0, when you call the API
NET_DVR_GetInputSignalList_V40 , you can get the number of signal sources
(dwInputSignalNums).
● The size of signal source information buffer (pBuffer) is allocated acoording to the returned
number of signal sources (dwInputSignalNums), so when you call the API
NET_DVR_GetInputSignalList_V40 again, you can get the list of signal source information
(pBuffer).
A.2.22 NET_DVR_INPUTSTREAMCFG_V40
Structure about input stream parameters.
Structure Definition
struct{
DWORD dwSize;
BYTE byValid;
BYTE byCamMode;
WORD wInputNo;
BYTE sCamName[NAME_LEN/*32*/];
NET_DVR_VIDEOEFFECT struVideoEffect;
82
Device Network SDK (Display and Control) Developer Guide
NET_DVR_PU_STREAM_CFG_V41 struPuStream;
WORD wBoardNum;
WORD wInputIdxOnBoard;
WORD dwResolution;
BYTE byVideoFormat;
BYTE byStatus;
BYTE sGroupName[NAME_LEN];
BYTE byJointMatrix;
BYTE byJointNo;
BYTE byColorMode;
BYTE byScreenServer;
BYTE byRes1[2];
DWORD dwInputSignalNo;
BYTE byRes[120];
}NET_DVR_INPUTSTREAMCFG,*LPNET_DVR_INPUTSTREAMCFG;
Members
dwSize
Structure size
byValid
Valid: 0-no, 1-yes
byCamMode
Signal source types, see the structure NET_DVR_CAM_MODE for details.
wInputNo
Signal source No., this field is extended, so dwInputSignalNo is suggested.
sCamName
Signal source name
struVideoEffect
Video parameters, it is valid only when byColorMode is 0, see details in the structure
NET_DVR_VIDEOEFFECT .
struPuStream
Input stream parameters, it is valid when entering IP address, see the structure
NET_DVR_PU_STREAM_CFG_V41 for details.
wBoardNum
Decoding board No., which with signal source, it can only be obtained.
wInputIdxOnBoard
Signal source position on the decoding board, it can only be obtained.
dwResolution
Resolution
byVideoFormat
83
Device Network SDK (Display and Control) Developer Guide
A.2.23 NET_DVR_IP_ADDRESS
Structure about device IP address information.
Structure Definition
struct{
BYTE byDevAddress[MAX_DOMAIN_NAME/*64*/];
WORD wDevPort;
BYTE byres[134];
}NET_DVR_IP_ADDRESS, *LPNET_DVR_IP_ADDRESS;
Members
byDevAddress
Device IP address
84
Device Network SDK (Display and Control) Developer Guide
wDevPort
Device port number
byRes
Reserved
See Also
NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX
A.2.24 NET_DVR_IPADDR_UNION
IP Address Union
A.2.25 NET_DVR_LED_AREA_COND
Configuration condition structure about LED area.
Structure Definition
struct{
DWORD dwSize;
DWORD dwVideoWallNo;
DWORD dwLEDAreaNo;
BYTE byRes[32];
}NET_DVR_LED_AREA_COND, *LPNET_DVR_LED_AREA_COND;
Members
dwSize
Structure size.
dwVideoWallNo
Video wall No.
dwLEDAreaNo
LED area No.
byRes
Reserved, set to 0.
85
Device Network SDK (Display and Control) Developer Guide
A.2.26 NET_DVR_LED_AREA_INFO
Structure about LED area information.
Structure Definition
struct{
DWORD dwSize;
DWORD dwLEDAreaNo;
NET_DVR_RECTCFG_EX
struRect;
DWORD dwaOutputNo[MAX_NUM_OUTPUT_CHANNEL/*512*/];
BYTE byRes[32];
}NET_DVR_LED_AREA_INFO, *LPNET_DVR_LED_AREA_INFO;
Members
dwSize
Structure size.
dwLEDAreaNo
LED area No.
struRect
Rectangle area information, see details in the structure NET_DVR_RECTCFG_EX .
dwaOutputNo
Outputs list
byRes
Reserved, set to 0.
A.2.27 NET_DVR_LED_AREA_INFO_LIST
Information structure about LED area list.
Structure Definition
struct{
DWORD dwSize;
DWORD dwLEDAreaNum;
LPNET_DVR_LED_AREA_INFO lpstruBuffer;
DWORD dwBufferSize;
BYTE byRes[32];
}NET_DVR_LED_AREA_INFO_LIST, *LPNET_DVR_LED_AREA_INFO_LIST;
86
Device Network SDK (Display and Control) Developer Guide
Members
dwSize
Structure size.
dwLEDAreaNum
Number of LED areas
lpstruBuffer
A pointer that points to the buffer for storing LED area information (see details in the structure
NET_DVR_LED_AREA_INFO ).
dwBufferSize
Buffer size, which depends on the number (dwLEDAreaNum) of structure
NET_DVR_LED_AREA_INFO .
byRes
Reserved, set to 0.
A.2.28 NET_DVR_LOCAL_ABILITY_PARSE_CFG
Structure about capability of analysis library configuration.
Structure Definition
struct{
BYTE byEnableAbilityParse;
BYTE byRes[127];
}NET_DVR_LOCAL_ABILITY_PARSE_CFG, *LPNET_DVR_LOCAL_ABILITY_PARSE_CFG;
Members
byEnableAbilityParse
Whether to enable capability analysis library: 0-disable, 1-enable (default).
byRes
Reserved, set to 0.
Remarks
By default, the analog capability is disabled, you can enable the analog capability via this structure,
and then call NET_DVR_GetDeviceAbility and load the "LocalXml.zip" to the directory of HCNetSDK
to get the capabilities of devices.
A.2.29 NET_DVR_LOCAL_ASYNC_CFG
87
Device Network SDK (Display and Control) Developer Guide
Remarks
● After enabling asynchronous configuration, the notifications about disconnection and
reconnection of devices will be received in asynchronous mode. This function can be adopted
when you need to manage tens of thousands of devices. By default, this function is disabled.
● After enabling asynchronous configuration, the interval configuration of heartbeat interaction
turns invalid (related command: "NET_SDK_LOCAL_CFG_TYPE_CHECK_DEV").
● After enabling asynchronous configuration, the API NET_DVR_SetConnectTime for setting
network connection timeout turns invalid.
A.2.30 NET_DVR_LOCAL_BYTE_ENCODE_CONVERT
Structure about encoding format conversion configuration.
Structure Definition
struct{
CHAR_ENCODE_CONVERT fnCharConvertCallBack
BYTE byRes[256];
}NET_DVR_LOCAL_BYTE_ENCODE_CONVERT, *LPNET_DVR_LOCAL_BYTE_ENCODE_CONVERT;
Members
fnCharConvertCallBack
Callback function of encoding type conversion, see details in CHAR_ENCODE_CONVERT .
byRes
Reserved, set to 0.
Remarks
● The device character encoding type is returned by the login API.
● By default, the encoding type conversion is realized by the "libiconv.dll" of HCNetSDK, but the
users can set the encoding type conversion callback via this structure and call their own
encoding API to convert the encoding type.
88
Device Network SDK (Display and Control) Developer Guide
A.2.31 NET_DVR_LOCAL_CERTIFICATION
Cettificate configuration parameter structure
Structure Definition
struct{
char szLoadPath[MAX_FILE_PATH_LEN/*256*/];
fnCertVerifyResultCallBack fnCB;
void *pUserData;
BYTE byRes[64];
}NET_DVR_LOCAL_CERTIFICATION, *LPNET_DVR_LOCAL_CERTIFICATION;
Members
szLoadPath
Certificate saving path.
fnCB
Certificate verification callback function, see details below.
typedef BOOL(CALLBACK *fnCertVerifyResultCallBack)(
DWORD uiResult,
NET_DVR_CETTIFICATE_INFO lpCertificateInfo,
char *pUserData
);
uiResult
Certificate verification results: 0-verification failed, other values-verified.
lpCertificateInfo
Certificate information, see details in NET_DVR_CETTIFICATE_INFO .
pUserData
User data pointer.
pUserData
User data.
byRes
Reserved, set to 0.
See Also
NET_SDK_LOCAL_CFG_TYPE
89
Device Network SDK (Display and Control) Developer Guide
A.2.32 NET_DVR_LOCAL_CFG_TYPE_PTZ
PTZ interaction configuration structure.
Structure Definition
struct{
BYTE byWithoutRecv;
BYTE byRes[63];
}NET_DVR_LOCAL_PTZ_CFG, *LPNET_DVR_LOCAL_PTZ_CFG;
Members
byWithoutRecv
Whether to receive the response from device: 0-yes, 1-no.
byRes
Reserved, set to 0
Remarks
This configuration is applicable to 3G network.
A.2.33 NET_DVR_LOCAL_CHECK_DEV
Heartbeat time interval configuration structure.
Structure Definition
struct{
DWORD dwCheckOnlineTimeout;
DWORD dwCheckOnlineNetFailMax;
BYTE byRes[256];
}NET_DVR_LOCAL_CHECK_DEV, *LPNET_DVR_LOCAL_CHECK_DEV;
Members
dwCheckOnlineTimeout
Online health monitoring time interval, unit: ms, range: 30-120 (s), 0-120s (default), the
recommended value is 30s.
dwCheckOnlineNetFailMax
The maximum number of network failure attempts, if the failure attempts are larger than this
threshold, exception message will the called back. 0-1 (default), the recommended value is 3.
byRes
Reserved, set to 0.
90
Device Network SDK (Display and Control) Developer Guide
A.2.34 NET_DVR_LOCAL_GENERAL_CFG
General configurations structure.
Structure Definition
struct{
BYTE byExceptionCbDirectly;
BYTE byNotSplitRecordFile;
BYTE byResumeUpgradeEnable;
BYTE byAlarmJsonPictureSeparate;
BYTE byRes[4];
UINT64 i64FileSize;
DWORD dwResumeUpgradeTimeout;
BYTE byAlarmReconnectMode;
BYTE byStdXmlBufferSize;
BYTE byMultiplexing;
BYTE byFastUpgrade;
BYTE byRes[232];
}NET_DVR_LOCAL_GENERAL_CFG, *LPNET_DVR_LOCAL_GENERAL_CFG;
Members
byExceptionCbDirectly
Exception callback type: 0-callback via thread pool, 1-callback via upper-layer.
byNotSplitRecordFile
Whether to subpackage the local video files: 0-yes (default), 1-no.
byResumeUpgradeEnable
Whether to enable upgrading ANR (Automatic Network Replenishment): 0-disable (default), 1-
enable.
byAlarmJsonPictureSeparate
Whether to separate the alarm data and the alarm picture which will be transmitted in JSON
format: 0-not separate, 1-separate (the lCommand in the callback function will be
"COMM_ISAPI_ALARM").
byRes
Reserved.
i64FileSize
Maximum file size, unit: byte. When subpackaging is enabled, if the saved video file size is larger
than the value of this parameter, the file will be subpackaged to multiple file segments for
storage.
dwResumeUpgradeTimeout
ANR reconnection timeout, unit: millisecond.
91
Device Network SDK (Display and Control) Developer Guide
byAlarmReconnectMode
Reconnection mode: 0-dependent thread reconnection (default), 1-thread pool reconnection.
byStdXmlBufferSize
Buffer size for receiving data transmitted by ISAPI: 1-1 MB, other values-default.
byMultiplexing
Whether to enable multiplexing of normal link (non-TLS link): 0-disable, 1-enable.
byFastUpgrade
Upgrading mode: 1-normal upgrading, 2-fast upgrading.
byRes1
Reserved.
A.2.35 NET_DVR_LOCAL_LOG_CFG
Log configuration structure.
Structure Definition
struct{
WORD wSDKLogNum;
BYTE byRes[254];
}NET_DVR_LOCAL_LOG_CFG, *LPNET_DVR_LOCAL_LOG_CFG;
Members
wSDKLogNum
Number of log files in overwritten mode, "0"-10 log files (default).
byRes
Reserved, set to 0.
A.2.36 NET_DVR_LOCAL_MEM_POOL_CFG
Local configuration structure of storage pool.
Structure Definition
struct{
DWORD dwAlarmMaxBlockNum;
DWORD dwAlarmReleaseInterval;
BYTE byRes[60];
}NET_DVR_LOCAL_MEM_POOL_CFG, *LPNET_DVR_LOCAL_MEM_POOL_CFG;
92
Device Network SDK (Display and Control) Developer Guide
Members
dwAlarmMaxBlockNum
The maximum number of memory blocks can be applied, the maximum size of each applied
block is 64MB, if the required memory block size is larger than the threshold, do not apply for it
from the system. If the value of this parameter is set to 0, it refers that the number of memory
block can be applied is not limited.
dwAlarmReleaseInterval
The time interval between each free memory blocks to be released, unit: s, 0-not release the
free memory.
byRes
Reserved, set to 0.
A.2.37 NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG
Structure about timeout configuration by module.
Structure Definition
struct{
DWORD dwPreviewTime;
DWORD dwAlarmTime;
DWORD dwVodTime;
DWORD dwElse;
BYTE byRes[512];
}NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG, *LPNET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG;
Members
dwPreviewTime
Live view module receiving timeout, unit: millisecond, range: 0-3000,000, 0-restore to default
settings.
dwAlarmTime
Alarm module receiving timeout, unit: millisecond, range: 0-3000,000, 0-restore to default
settings.
dwVodTime
Playback module receiving timeout, unit: millisecond, range: 0-3000,000, 0-restore to default
settings.
dwElse
Other modules' receiving timeout, unit: millisecond, range: 0-3000,000, 0-restore to default
settings.
93
Device Network SDK (Display and Control) Developer Guide
byRes
Reserved, set to 0.
A.2.38 NET_DVR_LOCAL_PORT_MULTI_CFG
Configuration parameter structure of port multiplier.
Structure Definition
struct{
BOOL bEnable;
BYTE byRes[60];
}NET_DVR_LOCAL_PORT_MULTI_CFG, *LPNET_DVR_LOCAL_PORT_MULTI_CFG;
Members
bEnable
Whether to enable port multiplier: true-yes.
byRes
Reserved, set to 0.
See Also
NET_SDK_LOCAL_CFG_TYPE
A.2.39 NET_DVR_LOCAL_PROTECT_KEY_CFG
A.2.40 NET_DVR_LOCAL_SDK_PATH
94
Device Network SDK (Display and Control) Developer Guide
Remarks
If the path of HCNetSDKCom folder and HCNetSDK libraries are same, but the path of executable
programs are different, you can call NET_DVR_SetSDKInitCfg to specify the path of HCNetSDKCom
folder to make sure the component libraries are loaded normally.
A.2.41 NET_DVR_LOCAL_STREAM_CALLBACK_CFG
A.2.42 NET_DVR_LOCAL_TALK_MODE_CFG
Two-way audio configuration structure.
Structure Definition
struct{
BYTE byTalkMode;
BYTE byRes[127];
}NET_DVR_LOCAL_TALK_MODE_CFG, *LPNET_DVR_LOCAL_TALK_MODE_CFG;
Members
byTalkMode
Two-way audio mode: 0-enable two-way audio library (default), 1-enable Windows API mode.
byRes
Reserved, set to 0.
95
Device Network SDK (Display and Control) Developer Guide
Remarks
If the two-way audio library is enabled, you must load the "AudioIntercom.dll" and "OpenAL32.dll".
A.2.43 NET_DVR_LOCAL_TCP_PORT_BIND_CFG
Local binding configuration structure of TCP port.
Structure Definition
struct{
WORD wLocalBindTcpMinPort;
WORD wLocalBindTcpMaxPort;
BYTE byRes[60];
}NET_DVR_LOCAL_TCP_PORT_BIND_CFG, *LPNET_DVR_LOCAL_TCP_PORT_BIND_CFG;
Members
wLocalBindTcpMinPort
The minimum TCP port number to be bound locally.
wLocalBindTcpMaxPort
The maximum TCP port number to be bound locally.
byRes
Reserved, set to 0.
Remarks
● Port bind strategy: provide a port number segment to ensure all used port numbers are in the
segment (except multicast); the ports from port pool are tried to bind one by one until the port
is not occupied, if all ports are occupied, error will be returned; binding the system reserved
ports (form 1 to 1024) is not suggested.
● The maximum port number to be bound should be equal to or larger than the minimum port
number, [0,0]: clear the binding; [0,non-0]: setting failed, as 0 can't be bound.
A.2.44 NET_DVR_LOCAL_UDP_PORT_BIND_CFG
Local binding configuration structure of UDP port.
Structure Definition
struct{
WORD wLocalBindUdpMinPort;
WORD wLocalBindUdpMaxPort;
BYTE byRes[60];
}NET_DVR_LOCAL_UDP_PORT_BIND_CFG, *LPNET_DVR_LOCAL_UDP_PORT_BIND_CFG;
96
Device Network SDK (Display and Control) Developer Guide
Members
wLocalBindUdpMinPort
The minimum UDP port number to be bound locally.
wLocalBindUdpMaxPort
The maximum UDP port number to be bound locally.
byRes
Reserved, set to 0.
Remarks
● Port bind strategy: provide a port number segment to ensure all used port numbers are in the
segment (except multicast); the ports from port pool are tried to bind one by one until the port
is not occupied, if all ports are occupied, error will be returned; binding the system reserved
ports (form 1 to 1024) is not suggested.
● The maximum port number to be bound should be equal to or larger than the minimum port
number, [0,0]: clear the binding; [0,non-0]: setting failed, as 0 can't be bound.
A.2.45 NET_DVR_MATRIX_CHAN_INFO_V41
Structure about auto-switch decoding channel information.
Structure Definition
struct{
BYTE byEnable;
BYTE byStreamMode;
BYTE byRes[2];
NET_DVR_DEC_STREAM_MODE
uDecStreamMode;
}NET_DVR_MATRIX_CHAN_INFO_V41,*LPNET_DVR_MATRIX_CHAN_INFO_V41;
Members
byEnable
Enable/disable: 0-disable, 1-enable
byStreamMode
Streaming mode: 0-invalid, 1-by IP address or domain name, 2-by URL, 3-by DDNS
byRes
Reserved, set to 0.
uDecStreamMode
97
Device Network SDK (Display and Control) Developer Guide
A.2.46 NET_DVR_MATRIX_DECCHAN_CONTROL
Structure about zoom control parameters of decoding.
Structure Definition
struct{
DWORD dwSize;
BYTE byDecChanScaleStatus;
BYTE byDecodeDelay;
BYTE byEnableSpartan;
BYTE byLowLight;
BYTE byNoiseReduction;
BYTE byDefog;
BYTE byEnableVcaDec;
BYTE byRes1;
DWORD dwAllCtrlType;
BYTE byRes[56];
}NET_DVR_MATRIX_DECCHAN_CONTROL,*LPNET_DVR_MATRIX_DECCHAN_CONTROL;
Members
dwSize
Structure size
byDecChanScaleStatus
Display of zoom control of decoding channel: 1-zoom display, 0-real display
byDecodeDelay
Decoding delay: 0- default, 1- most real-time, 2- more real-time, 3- real-time and fluent, 4- more
fluent, 5- most fluent, 0xff- automatically adjust
byEnableSpartan
Whether to enable fluent display: 0-no, 1-yes
byLowLight
Low light: 0- disable, 1 to 8 indicates the low light level; the higher the level is, the higher the
strength of the low light will be.
byNoiseReduction
Whether to enable 3D noise reduction: 0-disable, 1- enable, 2- automatically adjust
byDefog
Whether to enable defog: 0- disable, 1 to 7 indicates the defog level, the higher the level is, the
higher the strength of the defog will be.
byEnableVcaDec
98
Device Network SDK (Display and Control) Developer Guide
Remarks
Check the device capability (whether to supports smart decoding) via the video wall
capability(WallAbility); API: NET_DVR_GetDeviceAbility, capability type:WALL_ABILITY,
node:<VcaDecode>.
A.2.47 NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX
Parameter structure about remote decoding and playback on video wall.
Structure Definition
struct{
DWORD dwSize;
DWORD dwDecChannel;
BYTE byAddressType;
BYTE byChannelType;
BYTE byres[2];
BYTE sUserName[NAME_LEN/*32*/];
BYTE sPassword[PASSWD_LEN/*16*/];
DWORD dwChannel;
BYTE byStreamId[STREAM_ID_LEN/*32*/];
DWORD dwPlayMode;
union
{
BYTE byRes[200];
NET_DVR_IP_ADDRESS struIpAddr;
NET_DVR_DDNS_ADDRESS struDdnsAddr;
}unionAddr
union
{
BYTE byRes[128];
NET_DVR_PLAY_BACK_BY_TIME struPlayBackByTime;
char sFileName[128];
}unionPlayBackInfo;
}NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_EX;
99
Device Network SDK (Display and Control) Developer Guide
Members
dwSize
Structure size.
dwDecChannel
Decoding channel No. or window No.
byAddressType
Device address type: 0-IP address, 1-DDNS domain.
byChannelType
Channel type: 0-Normal channel, 1-Channel-Zero, 2-Stream ID
byres
Reserved
sUserName
User name
sPassword
Password
dwChannel
Devoice channel No.
byStreamId
Stream ID, this parameter is valid only when the channel type (byChannelType) is Stream ID.
dwPlayMode
Playback mode, 0-by file, 1-by time
unionAddr
Device address union, see its members below:
byRes
Union size (200 bytes)
struIpAddr
Device IP address, see details in the structure NET_DVR_IP_ADDRESS .
struDdnsAddr
Device DDNS domain name, see details in the structure NET_DVR_DDNS_ADDRESS .
unionPlayBackInfo
Playback parameter union, see its members below:
byRes
Union size (200 bytes)
100
Device Network SDK (Display and Control) Developer Guide
struPlayBackByTime
File information (when playback by time, see details in the structure
NET_DVR_PLAY_BACK_BY_TIME )
sFileName
File information (when playback by file name)
A.2.48 NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS
Structure of playback status.
Structure Definition
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
101
Device Network SDK (Display and Control) Developer Guide
A.2.49 NET_DVR_MATRIX_DEC_REMOTE_PLAY_V50
Table A-1 Structure about Remote Decoding and Playback Parameters on Video Wall
Member Data Type Description
dwSize DWORD Structure size.
dwDecChannel DWORD Decoding channel No.
byAddressType BYTE Device address type: 0-IP
address, 1-domain name, 2-
URL.
byChannelType BYTE Channel type: 0-normal
channel, 1-channel-zero, 2-
stream ID.
byStreamEncrypt BYTE Whether to encrypt the
stream: 0-no, 1-yes.
byRes1 BYTE Reserved. The maximum length
is one byte.
sUserName BYTE User name. The maximum
length is "NAME_LEN" (32
bytes).
sPassword BYTE Password. The maximum
length is "PASSWD_LEN" (16
bytes).
dwChannel DWORD Device channel No.
byStreamId BYTE Stream ID. This member is valid
when the value of
byChannelType is 2. The
maximum length is "STREAM_
ID_LEN" (32 bytes).
dwPlayMode DWORD Decoding and playing mode: 0-
by file, 1-by time.
unionAddr union Address parameter union. See
details in the table below.
unionPlayBackInfo union Playback information union.
See details in the table below.
102
Device Network SDK (Display and Control) Developer Guide
A.2.50 NET_DVR_MATRIX_LOOP_DECINFO_V41
Structure about auto-switch decoding parameters.
103
Device Network SDK (Display and Control) Developer Guide
Structure Definition
struct{
DWORD dwSize;
DWORD dwPoolTime;
NET_DVR_MATRIX_CHAN_INFO_V41
struchanConInfo[MAX_CYCLE_CHAN_V30/*64*/];
BYTE byRes[16];
}NET_DVR_MATRIX_LOOP_DECINFO_V41,*LPNET_DVR_MATRIX_LOOP_DECINFO_V41;
Members
dwSize
Structure size
dwPoolTime
Auto-switch interval, unit: second
struchanConInfo
Auto-switch channel information, see details in the structure
NET_DVR_MATRIX_CHAN_INFO_V41 .
byRes
Reserved, set to 0
A.2.51 NET_DVR_MATRIX_PASSIVEMODE
Structure about passive decoding parameters.
Structure Definition
struct{
WORD wTransProtol;
WORD wPassivePort;
struMcastIP;
BYTE byStreamType;
BYTE byRes[7];
}NET_DVR_MATRIX_PASSIVEMODE,*LPNET_DVR_MATRIX_PASSIVEMODE;
Members
wTransProtol
Transmission protocol type: 0-TCP, 1-UDP, 2-MCAST
wPassivePort
104
Device Network SDK (Display and Control) Developer Guide
TCP or UDP port. For TCP, the default port number is 8000; for UDP, the port number should be
set according to different decoding channel.
struMcastIP
This parameter is valid only when the transmission protocol is MCAST, and it is the multicast
address (currently reserved), see details in the structure .
byStreamType
Stream type: 1-real-time stream, 2-file stream.
byRes
Reserved, set to 0
A.2.52 NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30
Structure of transparent channel configuration.
Structure Definition
struct{
DWORD dwSize;
BYTE by232IsDualChan;
BYTE by485IsDualChan;
DWORD byRes[2];
NET_DVR_MATRIX_TRAN_CHAN_INFO_V30 struTranInfo[MAX_SERIAL_NUM/*64*/];
}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.
105
Device Network SDK (Display and Control) Developer Guide
A.2.53 NET_DVR_MESSAGE_CALLBACK_PARAM_V51
Alarm Callback Configuration Parameters
A.2.54 NET_DVR_MIME_UNIT
See Also
NET_DVR_XML_CONFIG_INPUT
106
Device Network SDK (Display and Control) Developer Guide
A.2.55 NET_DVR_OUT_PARAM
Structure about output parameters.
Structure Definition
struct{
NET_DVR_BUF_INFO
struOutBuf;
void* lpStatusList;
BYTE byRes[32];
}NET_DVR_OUT_PARAM,*LPNET_DVR_OUT_PARAM;
Members
struOutBuf
Buffer for storing output parameters
pStatusList
Buffer for storing statuses
byRes
Reserved, set to 0
A.2.56 NET_DVR_PASSIVEDECODE_CONTROL
Structure about passive decoding control parameters.
Structure Definition
struct{
DWORD dwSize;
DWORD dwPlayCmd;
DWORD dwCmdParam;
BYTE byRes[16];
}NET_DVR_PASSIVEDECODE_CONTROL,*LPNET_DVR_PASSIVEDECODE_CONTROL;
Members
dwSize
Structure size
dwPlayCmd
Passive decoding control commands, see details in the following table:
107
Device Network SDK (Display and Control) Developer Guide
A.2.57 NET_DVR_PLAY_BACK_BY_TIME
Structure about playback by time.
Structure Definition
struct{
NET_DVR_TIME
StartTime;
NET_DVR_TIME
StopTime;
}NET_DVR_PLAY_BACK_BY_TIME, *LPNET_DVR_PLAY_BACK_BY_TIME;
Members
StartTime
Playback start time.
108
Device Network SDK (Display and Control) Developer Guide
StopTime
Playback end time
See Also
NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX
A.2.58 NET_DVR_PU_STREAM_CFG_V41
Dynamic decoding parameter structure.
Structure Definition
struct{
DWORD dwSize;
BYTE byStreamMode;
BYTE byStreamEncrypt;
BYTE byRes1[2];
NET_DVR_DEC_STREAM_MODE uDecStreamMode;
DWORD dwDecDelayTime;
BYTE sStreamPassword[STREAM_PASSWD_LEN/*12*/];
BYTE byRes2[48];
}NET_DVR_PU_STREAM_CFG_V41,*LPNET_DVR_PU_STREAM_CFG_V41;
Members
dwSize
Structure size
byStreamMode
Streaming mode: 0-invalid, 1-get stream by IP address or domain name, 2-get stream by URL, 3-
get stream from device by DDNS.
byStreamEncrypt
Whether to encrypt the stream: 0-no, 1-yes.
byRes1
Reserved, set to 0
uDecStreamMode
Streaming configuration parameters, see the structure NET_DVR_DEC_STREAM_MODE for
details.
dwDecDelayTime
Decoding delay time duration, unit: millisecond.
sStreamPassword
Stream encryption password. The sensitive information should be encrypted.
109
Device Network SDK (Display and Control) Developer Guide
byRes2
Reserved, set to 0.
A.2.59 NET_DVR_PU_STREAM_URL
Configuration parameter structure about getting stream by URL.
Structure Definition
struct{
BYTE byEnable;
BYTE strURL[240];
BYTE byTransPortocol;
WORD wIPID;
BYTE byChannel;
BYTE byRes[7];
}NET_DVR_PU_STREAM_URL,*LPNET_DVR_PU_STREAM_URL;
Members
byEnable
Enable/disable getting stream by URL: 0-disable, 1-enable.
strURL
Stream URL
byTransPortocol
Transfer protocol type: 0-TCP, 1-UDP
wIPID
Device ID= iDevInfoIndex + iGroupNO*64 +1
byChannel
Device channel No.
byRes
Reserved, set to 0.
Remarks
The stream URL format is {rtsp://ip[:port]/urlExtension}[?username=username][?
password=password][?linkmode=linkmode]. You can also customize the URL format if the network
camera supports custom URL.
A.2.60 NET_DVR_RECTCFG_EX
Configuration parameter structure about rectangle region position.
110
Device Network SDK (Display and Control) Developer Guide
Structure Definition
struct{
DWORD dwXCoordinate;
DWORD dwYCoordinate;
DWORD dwWidth;
DWORD dwHeight;
BYTE byRes[4];
}NET_DVR_RECTCFG_EX, *LPNET_DVR_RECTCFG_EX;
Members
dwXCoordinate
X-coordinate of the point in the upper-left corner of the rectangle region.
dwYCoordinate
X-coordinate of the point in the upper-left corner of the rectangle region.
dwWidth
Rectangle region width
dwHeight
Rectangle region height
byRes
Reserved, set to 0
A.2.61 NET_DVR_RGB_COLOR
Structure about color parameters.
Structure Definition
struct{
BYTE byRed;
BYTE byGreen;
BYTE byBlue;
BYTE byRes;
}NET_DVR_RGB_COLOR, *LPNET_DVR_RGB_COLOR;
Members
byRed
Red component in RGB color model.
byGreen
Green component in RGB color model.
byBlue
111
Device Network SDK (Display and Control) Developer Guide
Remarks
The color component value is based on RGB888 standard.
A.2.62 NET_DVR_RTSP_PARAMS_CFG
A.2.63 NET_DVR_SCENE_CONTROL_INFO
Structure about scene control parameters.
Structure Definition
struct{
DWORD dwSize;
NET_DVR_VIDEO_WALL_INFO
struVideoWallInfo;
DWORD dwCmd;
BYTE byRes[4];
}NET_DVR_SCENE_CONTROL_INFO,*LPNET_DVR_SCENE_CONTROL_INFO;
Members
dwSize
112
Device Network SDK (Display and Control) Developer Guide
Structure size
struVideoWallInfo
Video wall information, see the structure NET_DVR_VIDEO_WALL_INFO for details.
dwCmd
Scene control command: 1-switch scene (it is invalid if switching to the current scene), 2-
initialize scene (clear configured scene parameters, if the scene is displayed, the display image
will be cleared), 3-force switching scene, 4-save current view as a scene
byRes
Reserved, set to 0
A.2.64 NET_DVR_SEARCH_EVENT_PARAM_V50
Condition structure about searching videos by event.
Structure Definition
struct{
WORD wMajorType;
WORD wMinorType;
NET_DVR_TIME_SEARCH_COND struStartTime;
NET_DVR_TIME_SEARCH_COND struEndTime;
BYTE byLockType;
BYTE byRes[255];
union{
BYTE byLen[SEARCH_EVENT_INFO_LEN_V40/*800*/];
struct{
WORD wAlarmInNo[128];
BYTE byRes[544];
}struAlarmParam;
struct{
WORD wMotDetChanNo[MAX_CHANNUM_V30/*64*/];
BYTE byRes[672];
}struMotionParam;
struct{
WORD wChanNo[MAX_CHANNUM_V30/*64*/];
BYTE byRuleID;
BYTE byRes[671];
}struVcaParam;
struct{
BYTE byRoomIndex;
BYTE byRes[799];
}struInquestParam;
struct{
BYTE byAll;
BYTE byRes1[3];
WORD wChanNo[MAX_CHANNUM_V30/*64*/];
BYTE byRes1[668];
113
Device Network SDK (Display and Control) Developer Guide
}struVCADetect;
struct{
NET_DVR_STREAM_INFO struIDInfo;
DWORD dwCmdType;
BYTE byBackupVolumeNum;
BYTE byRes[723];
}struStreamIDParam;
struct{
WORD wChannel[MAX_CHANNUM_V30/*64*/];
BYTE byAllChan;
BYTE byCaseSensitive;
BYTE byCombinateMode;
BYTE byRes1;
char sKeyWord[MAX_POS_KEYWORDS_NUM/*3*/][MAX_POS_KEYWORD_LEN/*128*/];
BYTE byRes[284];
}struPosAlarm;
struct{
BYTE byCaseNo[SEARCH_CASE_NO_LEN/*56*/];
BYTE byCaseName[SEARCH_CASE_NAME_LEN/*100*/];
BYTE byLitigant1[SEARCH_LITIGANT_LEN/*32*/];
BYTE byLitigant2[SEARCH_LITIGANT_LEN/*32*/];
BYTE byChiefJudge[SEARCH_CHIEF_JUDGE_LEN/*32*/];
BYTE byCaseType;
BYTE byRes[547];
}struTrialParam;
struct{
DWORD dwMajor;
DWORD dwMinor;
BYTE byCardNo[ACS_CARD_NO_LEN/*32*/];
BYTE byName[NAME_LEN/*32*/];
BYTE byMACAddr[MACADDR_LEN/*6*/];
BYTE byRes[722];
}struACSAlarm;
struct{
WORD wDeviceType;
WORD wEventType;
WORD wChannel[MAX_CHANNUM_V30/*64*/];
BYTE byAllChan;
BYTE byCaseSensitive;
BYTE byCombinateMode;
BYTE bySearchType;
char sKeyWord[MAX_POS_KEYWORDS_NUM/*3*/][MAX_POS_KEYWORD_LEN/*128*/];
WORD wZoneNo;
BYTE byRes[278];
}struIOTAlarm;
}uSeniorParam;
}NET_DVR_SEARCH_EVENT_PARAM_V50,*LPNET_DVR_SEARCH_EVENT_PARAM_V50;
Members
wMajorType
114
Device Network SDK (Display and Control) Developer Guide
EVENT_MOT_DET
Motion detection
EVENT_ALARM_IN
Alarm input
EVENT_VCA_BEHAVIOR
Behavior analysis
EVENT_INQUEST
Inquest event (not support)
EVENT_VCA_DETECTION
VCA detection
EVENT_POS
POS information
EVENT_TRIAL_CASE
Trial case information (not support)
EVENT_ACS_CASE
Access control event
EVENT_IOT_CASE
IoT device event
EVENT_STREAM_INFO
Stream ID information
wMinorType
Minor alarm/event types, which vary with the major types. 0xffff-all types. For motion
detection, alarm input, and POS recording, there is no minor type, so this parameter is set to
"oxffff"; for access control event, refer to the integration manual of access control applications;
115
Device Network SDK (Display and Control) Developer Guide
for the major types of behavior analysis, VCA detection, and stream ID information, the
corresponding minor types are shown below:
116
Device Network SDK (Display and Control) Developer Guide
117
Device Network SDK (Display and Control) Developer Guide
118
Device Network SDK (Display and Control) Developer Guide
119
Device Network SDK (Display and Control) Developer Guide
Condition structure of searching for video files based on event/alarm, see details below:
byLen
Union size, which is 800 bytes.
struAlarmParam
Condition structure of searching for video files based on alarm input alarm, see details
below:
wAlarmInNo
Alarm input No., "0xffff"-the following are invalid. For example,
wAlarmInNo[0]==1&&wAlarmInNo[1]==2 indicates the alarm input event of alarm input
No.1 and alarm input No.2.
byRes
Reserved, set to 0.
struMotionParam
Condition structure of searching for video files based on motion detection, see details below:
wMotDetChanNo
The channel No., "0xffff"-the following are invalid. For
example,wMotDetChanNo[0]==1&&wMotDetChanNo[1]==2 indicates the motion
detection event of channel No.1 and channel No.2.
byRes
Reserved, set to 0.
struVcaParam
Condition structure of searching for video files based on behavior analysis, see details below:
wChanNo
The event triggered channel No., "0xffff"-the following are invalid. For example,
wChanNo[0]==1&&wChanNo[1]==2 indicates the behavior analysis event of channel No.1
and channel No.2.
byRuleID
Rule ID, 0xff-all
byRes
Reserved, set to 0.
struInquestParam
Condition structure of searching for video files based on inquest event, see details below:
byRoomIndex
The inquest room index No., starts from 1.
byRes
120
Device Network SDK (Display and Control) Developer Guide
Reserved, set to 0.
struVCADetect VCA detection
Condition structure of searching for video files based on VCA detection, see details below:
byAll
0-Search by channel No., 1-Search in all channels.
byRes1
Reserved, set to 0.
wChanNo
VCA detection channel No., "0xffff"-the following are invalid. For example,
wChanNo[0]==1&&wChanNo[1]==2 indicates the VCA detection of channel No.1 and
channel No.2.
byRes
Reserved, set to 0.
struStreamIDParam
Condition structure of searching for video files with stream ID information, see details below:
struIDInfo
Stream ID information, and it is 72 bytes, refer to for details.
dwCmdType
The external triggering type, which is used for NVR accessing to the cloud storage.
byBackupVolumeNum
The storage volume No., which is available for CVR.
byRes
Reserved, set to 0.
struTrialParam
Condition structure of searching for video files based on trial information, see details below:
byCaseNo
Case No.
byCaseName
Case name.
byLitigant1
Litigant No.1.
byLitigant2
Litigant No.2
byChiefJudge
121
Device Network SDK (Display and Control) Developer Guide
Chief judge
byCaseType
Case type: 0-all, 1criminal case, 2-civil case.
byRes
Reserved, set to 0
struPosAlarm
Condition structure of searching for video files with POS information, see details below:
wChannel
Channel No., "0xffff"-the following are invalid. For example,
wChannel[0]==1&&wChannel[1]==2 indicates the video with POS information of channel
No.1 and channel No.2.
byAllChan
Whether to search in all channels: 0-no (wChannel is valid), 1-all channels (wChannel is
invalid).
byCaseSensitive
Whether to enable case sensitive: 0-no, 1-yes.
byCombinateMode
The keyword combination mode: 0-or, 1-and.
byRes1
Reserved, set to 0.
sKeyWord
Search by keyword.
byRes
Reserved, set to 0.
struACSAlarm
Condition structure of searching for video files based on access control event, see details
below:
dwMajor
Alarm/event major type, 0-all.
dwMinor
Alarm/event minor type, 0-all.
byCardNo
Card No.
byName
122
Device Network SDK (Display and Control) Developer Guide
Name
byMACAddr
Physical MAC address.
byRes
Reserved, set to 0.
struIOTAlarm
Condition structure of searching for video files based on IoT device event, see details below:
wDeviceType
Device type: 0-access controller, 1-video intercom, 2-security control panel, 3-GJD security
control panel, 4-Luminite security control panel, 5-OPTEX security control panel, 6-
Detector
wEventType
Event searching sub type, it varies according to main type, 0xffff-all
wChannel
Channel No.
byAllChan
Search all channel: 0-no, the wChannel is valid, 1-all channel, the wChannel is invalid
byCaseSensitive
Case sensitivity or not: 1-no, 1-yes
byCombinateMode
Keyword combination mode: 0-or, 1-and
bySearchType
Search method: 1-according to video source, now the channel is video channel.
sKeyWord
Keyword
wZoneNo
Zone No., it is valid only when the wDeviceType values "2-security control panel" and the
sub type wEventType values "1"
byRes
Reserved, set to 0.
Related API
NET_DVR_FindFileByEvent_V50
123
Device Network SDK (Display and Control) Developer Guide
A.2.65 NET_DVR_SEARCH_EVENT_RET_V50
Information structure of video files searched by event.
Structure Definition
struct{
WORD wMajorType;
WORD wMinorType;
NET_DVR_TIME_SEARCH struStartTime;
NET_DVR_TIME_SEARCH struEndTime;
NET_DVR_ADDRESS struAddr;
WORD wChan[MAX_CHANNUM_V40/*512*/];
BYTE byRes[256];
union{
BYTE byLen[800];
struct{
DWORD dwAlarmInNo;
BYTE byRes[796];
}struAlarmRet;
struct{
DWORD dwMotDetNo;
BYTE byRes[796];
}struMotionRet;
struct{
DWORD dwChanNo;
BYTE byRuleID;
BYTE byRes1[3];
BYTE byRuleName[NAME_LEN/*32*/];
NET_VCA_EVENT_UNION uEvent;
BYTE byRes[668];
}struVcaRet;
struct{
BYTE byRoomIndex;
BYTE byDriveIndex;
BYTE byRes1[6];
DWORD dwSegmentNo;
WORD wSegmetSize;
WORD wSegmentState;
BYTE byRes2[784];
}struInquestRet;
struct{
DWORD dwRecordType;
DWORD dwRecordLength;
BYTE byLockFlag;
BYTE byDrawFrameType;
BYTE byRes1[2];
BYTE byFileName[NAME_LEN/*32*/];
DWORD dwFileIndex;
BYTE byRes[752];
}struStreamIDRet;
124
Device Network SDK (Display and Control) Developer Guide
struct{
DWORD dwChanNo;
BYTE byRes[796];
}struPosRet;
struct{
BYTE byRoomIndex;
BYTE byDriveIndex;
WORD wSegmetSize;
DWORD dwSegmentNo;
BYTE bySegmentState;
BYTE byCaseType;
BYTE byRes[2];
BYTE byCaseNo[CASE_NO_RET_LEN/*52*/];
BYTE byCaseName[CASE_NAME_RET_LEN/*64*/];
BYTE byLitigant1[LITIGANT_RET_LEN/*24*/];
BYTE byLitigant2[LITIGANT_RET_LEN/*24*/];
BYTE byChiefJudge[CHIEF_JUDGE_RET_LEN/*24*/];
BYTE byRes1[600];
}struTrialRet;
}uSeniorRet;
}NET_DVR_SEARCH_EVENT_RET_V50,*LPNET_DVR_SEARCH_EVENT_RET_V50;
Members
wMajorType
Major types, see details below:
enum _MAIN_EVENT_TYPE_{
EVENT_MOT_DET = 0,
EVENT_ALARM_IN = 1,
EVENT_VCA_BEHAVIOR = 2,
EVENT_INQUEST = 3,
EVENT_VCA_DETECTION = 4,
EVENT_TRIAL_CASK = 6,
EVENT_STREAM_INFO = 100,
}MAIN_EVENT_TYPE
EVENT_MOT_DET
Motion detection
EVENT_ALARM_IN
Alarm input
EVENT_VCA_BEHAVIOR
Behavior analysis
EVENT_INQUEST
Inquest event (not support)
EVENT_VCA_DETECTION
125
Device Network SDK (Display and Control) Developer Guide
VCA detection
EVENT_POS
POS information
EVENT_TRIAL_CASK
Trial case information (not support)
EVENT_ACS_CASK
Access control event
EVENT_STREAM_INFO
Stream ID information
wMinorType
Minor alarm/event types, which vary with the major types. 0xffff-all types. For motion
detection, alarm input, and POS recording, there is no minor type, so this parameter is set to
"oxffff"; for access control event, refer to the integration manual of access control applications;
for the major types of behavior analysis, VCA detection, and stream ID information, the
corresponding minor types are shown below:
126
Device Network SDK (Display and Control) Developer Guide
127
Device Network SDK (Display and Control) Developer Guide
128
Device Network SDK (Display and Control) Developer Guide
129
Device Network SDK (Display and Control) Developer Guide
130
Device Network SDK (Display and Control) Developer Guide
byRuleName
Rule name.
uEvent
Behavior analysis parameters, which depends on the parameter wMinorType, refer to the
integration manual of behavior analysis applications for details.
byRes
Reserved, set to 0.
struInquestRet
Result structure of searching for video files based on inquest event, see details below:
byRoomIndex
Inquest room No., starts from 1.
byDriveIndex
Recorder No., starts from 1.
byRes1
Reserved, set to 0.
dwSegmentNo
Video segment No. of this inquest, starts from 1.
wSegmetSize
Video segment size, unit: MB
wSegmentState
Recording status: 0-normal, 1-exception, 2-unrecorded
byRes2
Reserved, set to 0.
struStreamIDRet
Result structure of searching for video files with stream ID information, see details below:
dwRecordType
Recording types: 0-scheduled recording, 1-based on motion detection, 2-based on alarm
input alarm, 3-based on alarm input alarm or motion detection, 4-based on alarm input
alarm and motion detection, 5-based on command, 6-manual recording, 7-based on
vibration alarm, 8-based on environment alarm, 9-based on VCA alarm (including driving
in the opposite direction, line crossing, unattended baggage, object removal and so on),
10-based on video tampering alarm, 13-based on event (motion detection, PIR, wireless
panic alarm, and so on), 24-by video montage.
dwRecordLength
Video file size.
131
Device Network SDK (Display and Control) Developer Guide
byLockFlag
Whether to lock: 0-no, 1-yes.
byDrawFrameType
Whether to extract the frame when recording: 0-no, 1-yes.
byRes1
Reserved, set to 0.
byFileName
File name.
dwFileIndex
File index No. in storage volume.
byRes
Reserved, set to 0.
struPosRet
Result structure of searching for video files with POS information, see details below:
dwChanNo
POS event channel No.
byRes
Reserved, set to 0.
struTrialRet
Result structure of searching for video files with trial information, see details below:
byRoomIndex
Inquest room No., starts from 1 .
byDriveIndex
Recorder No., starts from 1.
wSegmetSize
Video segment size, unit: MB.
dwSegmentNo
Video segment No. in this inquest, starts from 1.
bySegmentState
Recording status: 0-normal, 1-exception, 2-unrecorded.
byCaseType
Case type: 0-all, 1-criminal case, 2-civil case
byRes
132
Device Network SDK (Display and Control) Developer Guide
Reserved, set to 0.
byCaseNo
Case No.
byCaseName
Case name.
byLitigant1
Litigant No.1.
byLitigant2
Litigant No.2.
byChiefJudge
Chief judge
byRes1
Reserved, set to 0.
Related API
NET_DVR_FindNextEvent_V50
A.2.66 NET_DVR_SIMXML_LOGIN
A.2.67 NET_DVR_SPECIAL_FINDINFO_UNION
Specific search condition union.
Union Definition
union{
BYTE byLenth[8];
NET_DVR_ATMFINDINFO struATMFindInfo;
}NET_DVR_SPECIAL_FINDINFO_UNION,*LPNET_DVR_SPECIAL_FINDINFO_UNION;
133
Device Network SDK (Display and Control) Developer Guide
Members
byLenth
Union size, it is 8 bytes.
struATMFindInfo
Condition for searching file with ATM information, see details in the structure of
NET_DVR_ATMFINDINFO .
A.2.68 NET_DVR_STD_CONFIG
134
Device Network SDK (Display and Control) Developer Guide
A.2.69 NET_DVR_STREAM_INFO
Stream information structure.
Structure Definition
struct{
DWORD dwSize;
BYTE byID[STREAM_ID_LEN/*32*/];
DWORD dwChannel;
BYTE byRes[32];
}NET_DVR_STREAM_INFO,*LPNET_DVR_STREAM_INFO;
Members
dwSize
Structure size.
byID
Stream ID, which consists of letters, digits, and dashes, 0-invalid.
dwChannel
Linked device channel. When it is 0xffffffff, if setting the stream source, this parameter indicates
that no device channel is linked; if setting configuration condition, this parameter is invalid.
byRes
Reserved, set to 0.
Remarks
● If the device does not support marking stream ID, e.g., DVR, the parameter byID should be set to
0.
● For transcoder, when setting the stream source, only one of byID and dwChannel can be valid;
when transcoding, both the byID and dwChannel can be invalid, the transcoding channel or
stream ID is automatically allocated by device.
● For other devices (e.g., CVR), when this structure is inputted as configuration condition, if both
the byID and dwChannel are invalid, error code (17) will be returned, if they are valid, but
mismatched, error may also be returned, so only setting one of these two parameters is
suggested.
A.2.70 NET_DVR_STREAM_MEDIA_SERVER
Structure about stream media server parameters.
135
Device Network SDK (Display and Control) Developer Guide
Structure Definition
struct{
BYTE byValid;
BYTE byRes1[3];
BYTE byAddress[MAX_DOMAIN_NAME/*64*/];
WORD wDevPort;
BYTE byTransmitType;
BYTE byRes2[5];
}NET_DVR_STREAM_MEDIA_SERVER,*LPNET_DVR_STREAM_MEDIA_SERVER;
Members
byValid
Enable/disable stream media server to get stream: 0-disable, 1-enable.
byRes1
Reserved, set to 0.
byAddress
IP address or domain name of stream media server
wDevPort
Port number of stream media server
byTransmitType
Transfer protocol type: 0-TCP, 1-UDP
byRes2
Reserved, set to 0.
See Also
NET_DVR_DEC_STREAM_DEV_EX
NET_DVR_DEC_DDNS_DEV
A.2.71 NET_DVR_TIME
136
Device Network SDK (Display and Control) Developer Guide
A.2.72 NET_DVR_TIME_SEARCH
OSD time information structure.
Structure Definition
struct{
WORD wYear;
BYTE byMonth;
BYTE byDay;
BYTE byHour;
BYTE byMinute;
BYTE bySecond;
char cTimeDifferenceH;
char cTimeDifferenceM;
BYTE byRes[3];
}NET_DVR_TIME_SEARCH, *LPNET_DVR_TIME_SEARCH;
Members
wYear
Year
byMonth
Month
byDay
Day
byHour
Hour
byMinute
Minute
bySecond
Second
cTimeDifferenceH
Time difference (hour) between OSD time and UTC, which ranges from -12 to +14.
137
Device Network SDK (Display and Control) Developer Guide
cTimeDifferenceM
Time difference (minute) between OSD time and UTC, the values can be -30, 0, 30, and 45.
byRes
Reserved.
A.2.73 NET_DVR_TIME_SEARCH_COND
Time data structure of search condition.
Structure Definition
struct{
WORD wYear;
BYTE byMonth;
BYTE byDay;
BYTE byHour;
BYTE byMinute;
BYTE bySecond;
BYTE byLocalOrUTC;
BYTE byRes[4];
}NET_DVR_TIME_SEARCH_COND, *LPNET_DVR_TIME_SEARCH_COND;
Members
wYear
Year, device OSD time.
byMonth
Month, device OSD time.
byDay
Day, device OSD time.
byHour
Hour, device OSD time.
byMinute
Minute, device OSD time.
bySecond
Second, device OSD time.
byLocalOrUTC
Time type: 0-device local time (device's OSD time), 1-UTC time.
byRes
Reserved, set to 0.
138
Device Network SDK (Display and Control) Developer Guide
See Also
NET_DVR_FILECOND_V50
A.2.74 NET_DVR_USER_LOGIN_INFO
139
Device Network SDK (Display and Control) Developer Guide
A.2.75 NET_DVR_VIDEO_WALL_INFO
Video wall information structure.
Structure Definition
struct{
DWORD dwSize;
DWORD dwWindowNo;
DWORD dwSceneNo;
BYTE byRes[20];
}NET_DVR_VIDEO_WALL_INFO,*LPNET_DVR_VIDEO_WALL_INFO;
Members
dwSize
Structure size
dwWindowNo
Window No.=1-byte video wall No.+reserved 1-byte+2-byte window No., e.g., 1<<24
dwSceneNo
Scene No.
byRes
Reserved, set to 0
See Also
NET_DVR_SCENE_CONTROL_INFO
140
Device Network SDK (Display and Control) Developer Guide
A.2.76 NET_DVR_VIDEOEFFECT
Video parameter structure
Structure Definition
struct{
BYTE byBrightnessLevel;
BYTE byContrastLevel;
BYTE bySharpnessLevel;
BYTE bySaturationLevel;
BYTE byHueLevel;
BYTE byEnableFunc;
BYTE byLightInhibitLevel;
BYTE byGrayLevel;
}NET_DVR_VIDEOEFFECT, *LPNET_DVR_VIDEOEFFECT;
Members
byBrightnessLevel
Brightness, range: [0,100]
byContrastLevel
Contrast, range: [0,100]
bySharpnessLevel
Sharpness, range: [0,100]
bySaturationLevel
Saturation, range: [0,100]
byHueLevel
Hue, range: [0,100], reserved.
byEnableFunc
Bit: bit0-enable/disable Smart IR, bit1-enable/disable low illumination, bit2-enable/disable HLC,
bit3-sharpness adjusting mode (manual or auto). Value: 0-disable/auto, 1-enable/manual. E.g.,
byEnableFunc&0x2==1, it indicates that the low illumination function is enabled.
byLightInhibitLevel
HLC level, range: [1,3]
byGrayLevel
Gray scale, 0-[0,255], 1-[16,235]
A.2.77 NET_DVR_VIDEOWALLDISPLAYPOSITION
Configuration parameter structure of jointed screen position on video wall.
141
Device Network SDK (Display and Control) Developer Guide
Structure Definition
struct{
DWORD dwSize;
BYTE byEnbale;
BYTE byRes1[3];
DWORD dwVideoWallNo;
DWORD dwDisplayNo;
NET_DVR_RECTCFG_EX
struScreenBaseInfo;
BYTE byRes2[64];
}NET_DVR_VIDEOWALLDISPLAYPOSITION, *LPNET_DVR_VIDEOWALLDISPLAYPOSITION;
Members
dwSize
Structure size
byEnbale
Status: 0-disabled, 1-enabled
byRes1
Reserved, set to 0
dwVideoWallNo
Video wall No.=1-byte video wall No.+reserved 3-byte, e.g., 1<<24 | 0
dwDisplayNo
Jointed screeen No.=1-byte device No.+reserved 1-byte+2-byte jointed screen No. (starts from
1), e.g., 1<<24 | 0<<16 | 1. It is valid when getting all in batch.
struScreenBaseInfo
Jointed screen position coordinates, it should be the integral multiples of reference coordinates
(which is obtained via video wall capability set). By default, the width and height are same as
the reference values without configured. See the structure NET_DVR_RECTCFG_EX for details.
byRes2
Reserved, set to 0
A.2.78 NET_DVR_VIDEOWALLWINDOWPOSITION
Information structure of window position on video wall.
Structure Definition
struct{
DWORD dwSize;
BYTE byEnable;
142
Device Network SDK (Display and Control) Developer Guide
BYTE byRes1[7];
DWORD dwWindowNo;
DWORD dwLayerIndex;
NET_DVR_RECTCFG_EX
struRect;
NET_DVR_RECTCFG_EX
struResolution;
DWORD dwXCoordinate;
DWORD dwYCoordinate;
BYTE byRes2[36];
}NET_DVR_VIDEOWALLWINDOWPOSITION,*LPNET_DVR_VIDEOWALLWINDOWPOSITION;
Members
dwSize
Structure size
byEnbale
Status: 0-disabled, 1-enabled
byRes1
Reserved, set to 0
dwWindowNo
Window No., it is valid when getting all in batch.
dwLayerIndex
Layer No., it can be obtained only, and it is linked to the device.
struRect
Target window coordinates (relative to the video wall), see the structure
NET_DVR_RECTCFG_EX for details.
struResolution
Target window resolution, it is valid when getting or setting by resolution.
dwXCoordinate
X-coordinate of top left corner of LED area, it is valid when getting or setting by resolution.
dwYCoordinate
Y-coordinate of top left corner of LED area, it is valid when getting or setting by resolution.
byRes2
Reserved, set to 0
A.2.79 NET_DVR_WALL_WIN_STATUS
Window status information structure of video wall.
143
Device Network SDK (Display and Control) Developer Guide
Structure Definition
struct{
DWORD dwSize;
BYTE byDecodeStatus;
BYTE byStreamType;
BYTE byPacketType;
BYTE byFpsDecV;
BYTE byFpsDecA;
BYTE byRes1[7];
DWORD dwDecodedV;
DWORD dwDecodedA;
WORD wImgW;
WORD wImgH;
BYTE byRes2[32];
}NET_DVR_WALL_WIN_STATUS, *LPNET_DVR_WALL_WIN_STATUS;
Members
dwSize
Structure size
byDecodeStatus
Current decoding status: 0-disabled, 1-enabled
byStreamType
Encoding format: 0-NET_DVR_ENCODER_UNKOWN (unknown); 1-NET_DVR_ENCODER_H264
(private 264); 2-NET_DVR_ENCODER_S264 (standard H264); 3-NET_DVR_ENCODER_MPEG4
(MPEG4); NET_DVR_ORIGINALSTREAM (raw stream); 5-NET_DVR_PICTURE (VCA alarm picture);
6-NET_DVR_ENCODER_MJPEG (MJPEG); 7-NET_DVR_ECONDER_MPEG2 (MPEG2)
byPacketType
Packet format: 0-NET_DVR_STREAM_TYPE_UNKOWN (unknown); 1-
NET_DVR_STREAM_TYPE_PRIVT (custom); 7-NET_DVR_STREAM_TYPE_TS (TS); 8-
NET_DVR_STREAM_TYPE_PS (PS); 9-NET_DVR_STREAM_TYPE_RTP (RTP); 10-
NET_DVR_STREAM_TYPE_ORIGIN (unpackaged)
byFpsDecV
Video decoding frame rate
byFpsDecA
Audio decoding frame rate
byRes1
Reserved, set to 0
dwDecodedV
Decoded video frames
dwDecodedA
144
Device Network SDK (Display and Control) Developer Guide
A.2.80 NET_DVR_WALLOUTPUTPARAM
Video output parameter structure of video wall
Structure Definition
struct{
DWORD dwSize;
DWORD dwResolution;
NET_DVR_VIDEOEFFECT struRes;
BYTE byVideoFormat;
BYTE byDisplayMode;
BYTE byBackgroundColor;
BYTE byUseEDIDResolution;
WORD wLEDWidth;
WORD wLEDHeight;
NET_DVR_RGB_COLOR struBackColor;
BYTE byRes2[52];
}NET_DVR_WALLOUTPUTPARAM, *LPNET_DVR_WALLOUTPUTPARAM;
Members
dwSize
Structure size
dwResolution
Resolution
struRes
Video parameters, see the structure NET_DVR_VIDEOEFFECT for details.
byVideoFormat
Video standard, see the structure VIDEO_STANDARD for details.
byDisplayMode
Output connection mode: 1-BNC, 2-VGA, 3-HDMI®, 4-DVI, 5-SDI, 6-FIBER, 7-RGB, 8-YprPb, 9-
VGA/HDMI®/DVI, 10-3GSDI, 11-VGA/DVI, 12-HDBaseT, 13-HDTV, 14-TVI, 0xff-invalid
145
Device Network SDK (Display and Control) Developer Guide
byBackgroundColor
Background color: 0-invalid, not support; 1-read; 2-green; 3-blue; 4-yellow; 5-purple; 6-cyan; 7-
black; 8-white, 0xff-custom.
byUseEDIDResolution
EDID resolution: 0-diable, 1-enable
wLEDWidth
Width of LED output resolution
wLEDHeight
Height of LED output resolution
struBackColor
Background color, see details in the structure NET_DVR_RGB_COLOR ; this member is valid
when the value of byBackgroundColor is 0xff.
byRes2
Reserved, set to 0
A.2.81 NET_DVR_WALLSCENECFG
Scene configuration parameter structure of video wall.
Structure Definition
struct{
DWORD dwSize;
BYTE sSceneName[NAME_LEN/*32*/];
BYTE byRes[80];
}NET_DVR_WALLSCENECFG, *LPNET_DVR_WALLSCENECFG;
Members
dwSize
Structure size
sSceneName
Scene name
byRes
Reserved, set to 0.
A.2.82 NET_DVR_WALLWIN_INFO
Window information structure of video wall.
146
Device Network SDK (Display and Control) Developer Guide
Structure Definition
struct{
DWORD dwSize;
DWORD dwWinNum;
DWORD dwSubWinNum;
BYTE byRes[16];
}NET_DVR_WALLWIN_INFO, *LPNET_DVR_WALLWIN_INFO;
Members
dwSize
Structure size
dwWinNum
Window No.
dwSubWinNum
Sub window No.
byRes
Reserved, set to 0.
A.2.83 NET_DVR_WALLWINPARAM
Window parameter structure of video wall.
Structure Definition
struct{
DWORD dwSize;
BYTE byTransparency;
BYTE byWinMode;
BYTE byEnableSpartan;
BYTE byDecResource;
BYTE byWndShowMode;
BYTE byEnabledFeature;
BYTE byFeatureMode;
BYTE byRes1;
DWORD dwAmplifyingSubWndNo;
BYTE byWndTopKeep;
BYTE byWndOpenKeep;
BYTE byRes[22];
}NET_DVR _WALLWINPARAM, *LPNET_DVR _WALLWINPARAM;
Members
dwSize
147
Device Network SDK (Display and Control) Developer Guide
Structure size
byTransparency
Transparency: 0-disable, 1-enable
byWinMode
Window division mode, which can be obtained via the video wall capability set.
byEnableSpartan
Fluent video: 0-disable, 1-enable
byDecResource
Allocate decoding resources: 1-D1, 2-720P, 3-1080P, 4-300W, 5-500W
byWndShowMode
Window display mode: 0-reserved, 1-sub window mode, 2-sub window in full screen mode
byEnabledFeature
Scene close-up: 0-disable, 1-enable
byFeatureMode
Close-up mode, it is valid only when the scene close-up is enabled: 0-invalid, 1-"1+5" mode
byRes1
Reserved.
dwAmplifyingSubWndNo
Sub window No.=1-byte video wall No.+1-byte sub window No.+2-byte window No., it is valid
only when byWndShowMode is 2.
byWndTopKeep
Window stays on top: 0-not support, 1-support
byWndOpenKeep
Window remains open: 0-not support, 1-support
byRes
Reserved
Remarks
● The scene close-up can be enabled only when the byWinMode is in 1×1 window division mode.
● The window with scene close-up enabled is called close-up window, and the larger sub window
is called main sub window (the No. is 1), the other sub windows (the No. starts from 2) are called
close-up sub window.
● After enabling scene close-up, the image of the original window will be displayed in the main
sub window, and the close-up images will be displayed in the close-up sub window.
148
Device Network SDK (Display and Control) Developer Guide
A.2.84 NET_DVR_XML_CONFIG_INPUT
Related API
NET_DVR_STDXMLConfig
A.2.85 NET_DVR_XML_CONFIG_OUTPUT
149
Device Network SDK (Display and Control) Developer Guide
Related API
NET_DVR_STDXMLConfig
A.3 Enumeration
A.3.1 NET_SDK_LOCAL_CFG_TYPE
Enumerate the local configuration types of device network SDK.
Enumeration Definition
enum{
NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND =0,
NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND =1,
150
Device Network SDK (Display and Control) Developer Guide
NET_SDK_LOCAL_CFG_TYPE_MEM_POOL =2,
NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT =3,
NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE =4,
NET_SDK_LOCAL_CFG_TYPE_TALK_MODE =5,
NET_SDK_LOCAL_CFG_TYPE_PROTECT_KEY =6
NET_SDK_LOCAL_CFG_TYPE_CFG_VERSION =7
NET_SDK_LOCAL_CFG_TYPE_RTSP_PARAMS =8
NET_SDK_LOCAL_CFG_TYPE_SIMXML_LOGIN =9
NET_SDK_LOCAL_CFG_TYPE_CHECK_DEV =10,
NET_SDK_LOCAL_CFG_TYPE_SECURITY =11
NET_SDK_LOCAL_CFG_TYPE_EZVIZLIB_PATH =12
NET_SDK_LOCAL_CFG_TYPE_CHAR_ENCODE =13,
NET_SDK_LOCAL_CFG_TYPE_PROXYS =14
NET_DVR_LOCAL_CFG_TYPE_LOG =15,
NET_DVR_LOCAL_CFG_TYPE_STREAM_CALLBACK =16
NET_DVR_LOCAL_CFG_TYPE_GENERAL =17,
NET_DVR_LOCAL_CFG_TYPE_PTZ =18,
NET_DVR_LOCAL_CFG_MESSAGE_CALLBACK_V51 =19
NET_SDK_LOCAL_CFG_CERTIFICATION =20,
NET_SDK_LOCAL_CFG_PORT_MULTIPLEX =21,
NET_SDK_LOCAL_CFG_ASYNC =22
}NET_SDK_LOCAL_CFG_TYPE
Members
NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND
Local binding configuration of TCP port, see details in NET_DVR_LOCAL_TCP_PORT_BIND_CFG .
NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND
Binding configuration of local UDP port, see details in
NET_DVR_LOCAL_UDP_PORT_BIND_CFG .
NET_SDK_LOCAL_CFG_TYPE_MEM_POOL
Local configuration of storage pool, see details in NET_DVR_LOCAL_MEM_POOL_CFG .
NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT
Timeout configuration by module, see details in
NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG .
NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE
Capability analysis library configuration, see details in NET_DVR_LOCAL_ABILITY_PARSE_CFG .
NET_SDK_LOCAL_CFG_TYPE_TALK_MODE
Two-way audio configuration, see details in NET_DVR_LOCAL_TALK_MODE_CFG .
NET_SDK_LOCAL_CFG_TYPE_PROTECT_KEY
Key configuration, see details in NET_DVR_LOCAL_PROTECT_KEY_CFG .
NET_SDK_LOCAL_CFG_TYPE_CFG_VERSION
Check the device compatibility when setting parameters.
151
Device Network SDK (Display and Control) Developer Guide
NET_SDK_LOCAL_CFG_TYPE_RTSP_PARAMS
RTSP parameters, see details in NET_DVR_RTSP_PARAMS_CFG .
NET_SDK_LOCAL_CFG_TYPE_SIMXML_LOGIN
Parameters of using stimulation capability to complement fields, see details in
NET_DVR_SIMXML_LOGIN .
NET_SDK_LOCAL_CFG_TYPE_CHECK_DEV
Heartbeat time interval, see details in NET_DVR_LOCAL_CHECK_DEV .
NET_SDK_LOCAL_CFG_TYPE_SECURITY
SDK security parameters.
NET_SDK_LOCAL_CFG_TYPE_EZVIZLIB_PATH
Communication library address of EZVIZ cloud.
NET_SDK_LOCAL_CFG_TYPE_CHAR_ENCODE
Encoding format conversion configuration, see details in
NET_DVR_LOCAL_BYTE_ENCODE_CONVERT .
NET_SDK_LOCAL_CFG_TYPE_PROXYS
Proxy types.
NET_DVR_LOCAL_CFG_TYPE_LOG
Log parameters, see details in NET_DVR_LOCAL_LOG_CFG .
NET_DVR_LOCAL_CFG_TYPE_STREAM_CALLBACK
Stream callback parameters, see details in NET_DVR_LOCAL_STREAM_CALLBACK_CFG .
NET_DVR_LOCAL_CFG_TYPE_GENERAL
General parameters, see details in NET_DVR_LOCAL_GENERAL_CFG .
NET_DVR_LOCAL_CFG_TYPE_PTZ
PTZ interaction parameters, see details in NET_DVR_LOCAL_CFG_TYPE_PTZ .
NET_DVR_LOCAL_CFG_MESSAGE_CALLBACK_V51
Local parameters of alarm callback, see details in
NET_DVR_MESSAGE_CALLBACK_PARAM_V51 .
NET_SDK_LOCAL_CFG_CERTIFICATION
Certificate parameters, see details in NET_DVR_LOCAL_CERTIFICATION .
NET_SDK_LOCAL_CFG_PORT_MULTIPLEX
Port multiplier parameters, see details in NET_DVR_LOCAL_PORT_MULTI_CFG .
NET_SDK_LOCAL_CFG_ASYNC
Asynchronous mode parameters, see details in NET_DVR_LOCAL_ASYNC_CFG .
152
Device Network SDK (Display and Control) Developer Guide
A.3.2 VIDEO_STANDARD
Enumerate the video standards.
Enumeration Definition
enum{
VS_NON = 0,
VS_NTSC = 1,
VS_PAL = 2
}VIDEO_STANDARD
Members
VS_NON
None
VS_NTSC
NTSC standard
VS_PAL
PAL standard
153
Device Network SDK (Display and Control) Developer Guide
154
Device Network SDK (Display and Control) Developer Guide
A.4.1 /ISAPI/DisplayDev/VideoWall/<ID>/windows/capabilities
Get video wall window capabilities.
155
Device Network SDK (Display and Control) Developer Guide
Remarks
The <ID> in the request URI refers to the video wall ID.
A.4.2 /ISAPI/DisplayDev/VideoWall/<ID>/windows/subSteam/capabilities?
format=json
Get the configuration capability of the stream type of the windows.
Remarks
The <ID> in the request URI refers to video wall ID.
156
Device Network SDK (Display and Control) Developer Guide
A.4.3 /ISAPI/DisplayDev/VideoWall/<ID>/windows/subSteam?format=json
Operations about the configuration of the stream type for streaming when the number of windows
exceeds the limit.
A.5.1 JSON_MutiScreenSubStream
MutiScreenSubStream message in JSON format
{
"MutiScreenSubStream":{
"enabled": ,
/*optional, boolean type, whether to enable the function*/
"winConutLimit":"",
/*required, string type, threshold number of divided windows. When the number of divided windows exceeds the
threshold, streams of low performance will be used*/
}
}
A.5.2 JSON_MutiScreenSubStreamCap
JSON message about configuration capability of sub stream of the windows
{
"MutiScreenSubStreamCap":{
"enabled":{
/*optional, boolean*/
157
Device Network SDK (Display and Control) Developer Guide
"@opt":[true,false]
},
"winConutLimit":{
/*required, string,threshold number of divided windows. When the number of divided windows exceeds the
threshold, streams of low performance will be used*/
"@opt":["1","4","6","8","9","16","32","64"]
}
}
}
A.5.3 JSON_ResponseStatus
JSON message about response status
{
"requestURL":"",
/*optional, string, request URL*/
"statusCode": ,
/*optional, int, status code*/
"statusString":"",
/*optional, string, status description*/
"subStatusCode":"",
/*optional, string, sub status code*/
"errorCode": ,
/*required, int, error code, which corresponds to subStatusCode, this field is required when statusCode is not 1. The
returned value is the transformed decimal number*/
"errorMsg":"",
/*required, string, error details, this field is required when statusCode is not 1*/
"MErrCode": "0xFFFFFFFF",
/*optional, string, error code categorized by functional modules*/
"MErrDevSelfEx": "0xFFFFFFFF"
/*optional, string, extension of MErrCode. It is used to define the custom error code, which is categorized by
functional modules*/
}
A.5.4 XML_ResponseStatus
XML message about response status
<?xml version="1.0" encoding="utf-8"?>
<ResponseStatus version="2.0" xmlns="http://www.std-cgi.org/ver20/XMLSchema">
<requestURL>
<!--required, read-only, xs:string, request URL-->
</requestURL>
<statusCode>
<!--required, read-only, xs:integer, status code: 0,1-OK, 2-Device Busy, 3-Device Error, 4-Invalid Operation, 5-Invalid
XML Format, 6-Invalid XML Content, 7-Reboot Required, 9-Additional Error-->
</statusCode>
<statusString>
158
Device Network SDK (Display and Control) Developer Guide
<!--required, read-only, xs:string, status description: OK, Device Busy, Device Error, Invalid Operation, Invalid XML
Format, Invalid XML Content, Reboot, Additional Error-->
</statusString>
<subStatusCode>
<!--required, read-only, xs:string, describe the error reason in detail-->
</subStatusCode>
<MErrCode>
<!--optional, xs:string, error code categorized by functional modules, e.g., 0x12345678-->
</MErrCode>
<MErrDevSelfEx>
<!--optional, xs:string, extension field of MErrCode. It is used to define the custom error code, which is categorized
by functional modules-->
</MErrDevSelfEx>
</ResponseStatus>
A.5.5 XML_WallAbility
XML message about video wall capability
<?xml version="1.0" encoding="UTF-8"?>
<WallAbility><!--required, the sequence number of window -->
<winNum min="" max="" /><!--required, the sequence number of scene-->
<senceNum min="" max="" /><!--required, the count of supported screens-->
<maxScreenNum><!--required, the sequence number of opt cascade integrated platform--></maxScreenNum>
<platformNum min="" max="" /><!--required, the sequence number of opt basemap-->
<basePicNum min="" max="" /><!--required, the count of supported windows-->
<windowMode opt="1,4,9,16,25,36"><!--required, the reference value of each screen's size--> </windowMode>
<WindowBase>
<windowBaseX>128</windowBaseX>
<windowBaseY>128</windowBaseY>
</WindowBase>
<Transparency><!--required, transparency, not displayed if not supported-->
<layerNum><!--required, supported layers of transparency--></layerNum>
<range min="" max=""/>
<!--required, transparency range-->
</Transparency>
<VoutResource>
<videoOutNum><!--required, xs: inter, number of video outputs--></videoOutNum>
<audioOutNum><!--required, xs: inter, number of audio outputs--></audioOutNum>
<AllOutputConfigOnly><!--optional, whether all output ports should be configured together-->
<enabled><!--required, xs:boolean,"true"--></enabled>
</AllOutputConfigOnly>
<SupportLEDOutputConfigAll><!--optional, whether LED output port parameters support whole wall configuration --
>
<enabled>
<!--required, xs:boolean,"true"-->
</enabled>
</SupportLEDOutputConfigAll>
<supportLEDResolutionVoutType opt="hdmi,dvi,sdi"/><!--optional, type of output port supporting LED resolution,
supported by default if the node does not exist, xs:string-->
<VoutResourceEntry><!--required, multiple same-level nodes are allowed-->
159
Device Network SDK (Display and Control) Developer Guide
<id></id>
<voutType><!--required, xs:string,bnc,vga,hdmi,dvi,sdi,3gsdi,vga/dvi--></voutType>
<voutNo min="" max="" /><!--required, xs:inter, output No. of this output type-->
<videoFormat opt = "NULL,NTSC,PAL"/><!--required, supported video standard-->
<outputWindowMode opt="1,4,9,16,25,36"/><!--required, window resolution supported by display output
interface-->
<backgroundColor opt="red,green,blue,yellow,purple,cyan,black,white"/><!--required, supported background
color-->
<VideoEffect><!--required, display output effect parameters-->
<brightnessLevel min="" max=""/><!--required, brightness level-->
<contrastLevel min="" max=""/><!--required, contrast level-->
<sharpnessLevel min="" max=""/><!--required, sharpness level-->
<saturationLevel min="" max=""/><!--required, saturation level-->
<hueLevel min="" max=""/><!--required, hue level-->
</VideoEffect>
<Audio>
<enabled><!--required, whether to support independent audio--></enabled>
</Audio>
<VoutMotionFluency>
<enabled><!--required, whether smooth video is supported by output port--></enabled>
</VoutMotionFluency>
<VoutResolutionEntry><!--required, multiple same-level nodes are allowed-->
<resolutionName>
<!--required, xs:string, "1080P_60HZ(1920*1080)"..., display output resolution name-->
</resolutionName>
<index><!--required, xs:inter, the index corresponds to the resolution--></index>
</VoutResolutionEntry>
</VoutResourceEntry>
</VoutResource>
<layOutNo min="" max=""/>
<!--required, layout No.-->
<baseMapSpan></baseMapSpan>
<!--required, background picture span-->
<overlayStringNum>8</overlayStringNum>
<!--required, number of supported string overlay-->
<inputStreamNo min="" max=""/>
<!--required, input No.-->
<outputChanNo min="" max=""/>
<!--required, output channel No.-->
<planNo min="" max=""/>
<!--required, plan No.-->
<maxPictureViewNum>4</maxPictureViewNum>
<!--required, max. display channels, not displayed if not supported-->
<maxCamGroupNum></maxCamGroupNum>
<!--required, max. groups, not displayed if not supported-->
<maxNetSignalNum></maxNetSignalNum>
<!--required, max. number of network sources, not displayed if not supported-->
<ScreenLinkConfig>
<!--required, the node is not required if screen connection adjustment is not supported-->
<enabled>true</enabled>
<!--required, screen connection adjustment-->
160
Device Network SDK (Display and Control) Developer Guide
</ScreenLinkConfig>
<StreamMedia>
<!--required, the node is not required if stream media is not supported-->
<enabled>true</enabled>
<!--required, stream media,-->
</StreamMedia>
<ScreenControl>
<!--required, the node is not required if screen control is not supported-->
<enabled>true</enabled>
<!--required, screen control,-->
</ScreenControl>
<!--required, the node is not required if screen control is not supported-->
<enabled>true</enabled>
<!--required, screen control,-->
</ScreenControl>
<maxLocalInputDeviceNum>
<!--required, max. number of local encoding input devices, not returned if not supported-->
</maxLocalInputDeviceNum>
<maxLocalOutputDeviceNum>
<!--required, number of local display output devices, not returned if not supported-->
</maxLocalOutputDeviceNum>
<VirtualScreen>
<!--required, ultra-HD input sub system capability (virtual screen capability), not returned if not supported-->
<InputChanInitCap>
<!--optional, virtual screen input channel initialization capability-->
<inputChanNums>
<!--optional, max. number of input channels, xs:integer-->
</inputChanNums>
<maxJoinResolution>
<!--optional, max. multi-screen resolution (number of 1080P), xs:integer-->
</maxJoinResolution>
<selfdefinResNums>
<!--optional, max. number of custom resolution supported by single channel, xs:integer-->
</selfdefinResNums>
</InputChanInitCap>
<Resolution>
<!--required, display resolution supported by virtual screen-->
<ResolutionEntry>
<!--required, multiple same-level nodes are allowed-->
<resolutionName>
<!--required, xs:string, "1080P_60HZ(1920*1080)"...,display output resolution name-->
</resolutionName>
<index>
<!--required, xs:inter,the index corresponding to the resolution-->
</index>
</ResolutionEntry>
161
Device Network SDK (Display and Control) Developer Guide
</Resolution>
</VirtualScreen>
<WallLogo>
<!--required, video wall logo, the node is returned by device that supports logo No.-->
<logoNo min="" max=""/>
<!--required, range of supported logo No., not displayed if not supported-->
<logoSize min="" max=""/>
<!--required, supported logo size, in byte-->
<logoNameLen min="" max=""/>
<!--required, logo name length size-->
<logoStatus opt = "show, hide"/>
<!--required, logo display status-->
<logoCorordinateX min="" max=""/>
<!--required, logo display area x coordinate range-->
<logoCorordinateY min="" max=""/>
<!--required, logo display area y coordinate range-->
<LogoFlash>
<!--required, logo flash-->
<enabled>true</enabled>
</LogoFlash>
<LogoTranslucent>
<!--required, logo translucent-->
<enabled>true</enabled>
</LogoTranslucent>
<LogoDelete>
<!--required, logo delete-->
<enabled>true</enabled>
</LogoDelete>
</WallLogo>
162
Device Network SDK (Display and Control) Developer Guide
<WindowLoop>
<!--required, window auto-switch decoding-->
<maxLoopNum>12</maxLoopNum>
<!--required, supported number of window auto-switch decoding channels-->
<maxMonitorNum>64</maxMonitorNum>
<!--required, max number of cameras of each auto-switch channel-->
</WindowLoop>
<WindowDecResourceAlloc>
<!--required, window decoding resource allocation, not displayed if not supported-->
<WindowDecResourceAllocEntry>
<!--required, window decoding resource allocation, multiple same-level nodes are allowed-->
<name>D1</name>
<!--required, allocation resource name-->
<index>1</index>
<!--required, index-->
</WindowDecResourceAllocEntry>
</WindowDecResourceAlloc>
<MotionFluency>
<!--required, whether to support window fluent video-->
<enabled>true</enabled>
</MotionFluency>
<WinZoomStatus>
<!--required, get window digital zoome status, not displayed if not supported-->
<enabled>true</enabled>
</WinZoomStatus>
<WinTopAndBottom>
<!--required, window set top/bottom-->
<enabled>true</enabled>
</WinTopAndBottom>
<CloseAllWin>
<!--required, close all windows-->
<enabled>true</enabled>
</CloseAllWin>
<windowStaticMode opt="black,lastframe"/>
<!--required, stop decoding window display mode configuration-->
<LowLight opt="off,level1,level2, level3, level4, level5, level6, level7, level8"/>
<!--required, low illumination-->
<NosieReduction>
<!--required, whether to support 3D noise reduction-->
<enabled>true</enabled>
<autoNosieReduction>enable</autoNosieReduction>
</NosieReduction>
<VcaDecode>
<!--required, whether to support smart decoding-->
163
Device Network SDK (Display and Control) Developer Guide
<enabled>true</enabled>
<allWinCtrl>true</allWinCtrl>
<!--optional, operation in all windows-->
</VcaDecode>
<AllWinDecSwitch>
<!--required, start/stop decoding in all windows-->
<enabled>true</enabled>
</AllWinDecSwitch>
<VirtualLed>
<!--required, virtual led-->
<dispMode opt="transparent, translucent,cover"/>
<!--required, display mode-->
<FontColor>
<!--required, font color-->
<colorY min="" max=""/>
<colorU min="" max=""/>
<colorV min="" max=""/>
</FontColor>
<BackgroundColor>
<!--required, background color-->
<colorY min="" max=""/>
<colorU min="" max=""/>
<colorV min="" max=""/>
</BackgroundColor>
<characterNum min="" max=""/>
<!--required, number of characters-->
<moveMode opt="normal, smooth,static"/>
<!--required, moving mode-->
<moveSpeed opt="speed1,speed2"/>
<!--required, character moving speed-->
<fontSize opt="1times,2times,4times"/>
<!--required, font size-->
<moveDirection opt="lefttoright,righttoleft,toptobottom,bottomtotop"/>
<!--required, character moving direction-->
</VirtualLed>
<ExternalMatrix>
<!--required, external matrix capability-->
<maxMatrixNum >4</maxMatrixNum>
<!--required, max number of external matrixes-->
<matrixNameLen min="" max=""/>
<!--required, name length of external matrix-->
<maxMatrixInputNum>256</maxMatrixInputNum>
<!--required, max number of supported external matrix input-->
<maxMatrixOutputNum>256</maxMatrixOutputNum>
<!--required, max number of supported external matrix output-->
<matrixChanType opt="BNC,VGA,RGB,DVI"/>
<!--required, supported matrix output channel type-->
<matrixProtocol opt="ZT1.0,ZT1.0,Extron,Creator"/>
<!--required, supported matrix protocol-->
<matrixType opt="analogmatrix,digitalmatrix"/>
164
Device Network SDK (Display and Control) Developer Guide
<AudioMatrix>
<!--required, audio matrix switch-->
<audioChanNameLen min="" max=""/>
<!--required, audio channel name length-->
<audioSwitchType opt="switchbyip,switchbywin" />
<!--required, supported audio switch mode-->
</AudioMatrix>
<DownloadLogo>
<!--required, LOGO download-->
<enabled>true</enabled>
</DownloadLogo>
<JointSignal>
<!--required, joint signal source-->
<enabled>true</enabled>
<JointNo min="" max=""/><!--required, joint No.-->?
<JointItem>
<!--required, type of signal source that supports jointing, multiple same-level nodes are allowed-->
<id>
165
Device Network SDK (Display and Control) Developer Guide
<SupportGetPlayingPlan>
<!--required, get plan in operation-->
<enabled>true</enabled>
</SupportGetPlayingPlan>
<InputStreamV40>
<!--required, local source V40 extension configuration-->
<ColorMode opt="SelfDefine,Sharp,Ordinary,Soft"/>
<!--required, color mode-->
</InputStreamV40>
<InputStreamCut>
<!--required, signal source clipping-->
<CutTop min="" max=""/>
<!--required, top clipping pixel range-->
<CutBottom min="" max=""/>
<!--required, bottom clipping pixel range-->
<CutLeft min="" max=""/>
<!--required, left clipping pixel range-->
<CutRight min="" max=""/>
166
Device Network SDK (Display and Control) Developer Guide
<WindowCap>
<!--optional, window capability-->
<isSupportPhysicsResolutionWnd>
<!--optional, xs:boolean,"true", whether to support opening window in physical resolution-->
</isSupportPhysicsResolutionWnd>
<wndWidthAlignUint>
<!--dep,xs:integer, physical resolution window width alignment unit-->
</wndWidthAlignUint>
<wndHeightAlignUint>
<!--dep,xs:integer, physical resolution window height alignment unit-->
</wndHeightAlignUint>
<isSupportDecodeOSD>
<!--optional, xs:boolean,"true", whether to support decoding OSD configuration-->
</isSupportDecodeOSD>
</WindowCap>
<ResetOutputDisplayPosition>
<!--required, unbind video wall output channel-->
<enabled>
<!--required, xs:boolean-->
</enabled>
</ResetOutputDisplayPosition>
<InputBoardCfgList>
<!--optional, input board parameter configuration capability-->
<InputBoardCfg>
<slotNo>
<!--required, xs:integer, slot No.-->
</slotNo>
<fullFrameEnable>
<!--required, xs:Boolean, whether to enable full frame rate fluent video-->
</fullFrameEnable>
</InputBoardCfg>
</InputBoardCfgList>
<isSupportLEDArea>
<!--optional, xs:boolean,"true", whether to support LED area-->
</isSupportLEDArea>
<SubStreamAutoSwitchCap>
<!--optional, sub-stream auto switch-->
<subWndWidth min="" max="">
<!--required, xs:integer, sub window width-->
</subWndWidth>
<subWndHeight min="" max="">
<!--required, xs:integer, sub window height-->
</subWndHeight>
</SubStreamAutoSwitchCap>
<streamFailedMode opt="noSignal,lastFrame"/>
167
Device Network SDK (Display and Control) Developer Guide
<!--optional, xs:string, window streaming failure display mode: noSignal- display "no network video signal",
lastFrame- display last frame-->
<isSupportWallConference>
<!--optional, xs:boolean,"true", whether to support meeting video wall-->
</isSupportWallConference>
<isSupportBaseMapCycleSwitch>
<!--optional, xs:boolean,"true", whether the plan supports changing background picture
(NET_DVR_SWITCH_BASEMAP)-->
</isSupportBaseMapCycleSwitch>
<isSupportEDIDResolution>
<!--optional, xs:boolean,"true", whether to support EDID resolution-->
</isSupportEDIDResolution>
</WallAbility>
A.5.6 XML_WallWindowCap
XML message about video wall window capability
<WallWindowCap version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<windowMode optional="1,4,9,16,25,36"> <!--optional, xs:integer--></windowMode>
<CycleCap/><!--optional-->
<isSupportWinTopBottom><!--optional, xs:boolean--></isSupportWinTopBottom>
<isSupportPlayBack><!--optional, xs:boolean--></isSupportPlayBack>
<isSupportPicCapture><!--optional, xs:boolean--></isSupportPicCapture>
<isSupportDecodeDelay><!--optional, xs:boolean--></isSupportDecodeDelay>
<isSupportSubWndAmplify><!--optional, xs:boolean--></isSupportSubWndAmplify>
<isSupportFullFrame><!--optional, xs:boolean--></isSupportFullFrame>
<isSptMutiScreenGetSubStream><!--optional, xs:boolean, whether it supports auto switching to sub-stream in multi-
screen mode--></isSptMutiScreenGetSubStream>
<isSptCatchStreamAlarmHint><!--optional, xs:boolean, whether it supports configuring parameters for streaming
alarm notification--></isSptCatchStreamAlarmHint>
</WallWindowCap>
168
Device Network SDK (Display and Control) Developer Guide
General Errors
169
Device Network SDK (Display and Control) Developer Guide
170
Device Network SDK (Display and Control) Developer Guide
171
Device Network SDK (Display and Control) Developer Guide
172
Device Network SDK (Display and Control) Developer Guide
173
Device Network SDK (Display and Control) Developer Guide
174
Device Network SDK (Display and Control) Developer Guide
175
Device Network SDK (Display and Control) Developer Guide
176
Device Network SDK (Display and Control) Developer Guide
177
Device Network SDK (Display and Control) Developer Guide
178
Device Network SDK (Display and Control) Developer Guide
179
Device Network SDK (Display and Control) Developer Guide
180
Device Network SDK (Display and Control) Developer Guide
181
Device Network SDK (Display and Control) Developer Guide
182
Device Network SDK (Display and Control) Developer Guide
183
Device Network SDK (Display and Control) Developer Guide
184
Device Network SDK (Display and Control) Developer Guide
185
Device Network SDK (Display and Control) Developer Guide
186
Device Network SDK (Display and Control) Developer Guide
187
Device Network SDK (Display and Control) Developer Guide
188
Device Network SDK (Display and Control) Developer Guide
189
Device Network SDK (Display and Control) Developer Guide
190
Device Network SDK (Display and Control) Developer Guide
191
Device Network SDK (Display and Control) Developer Guide
192
Device Network SDK (Display and Control) Developer Guide
193
Device Network SDK (Display and Control) Developer Guide
194
Device Network SDK (Display and Control) Developer Guide
195
Device Network SDK (Display and Control) Developer Guide
196
Device Network SDK (Display and Control) Developer Guide
197
Device Network SDK (Display and Control) Developer Guide
198
Device Network SDK (Display and Control) Developer Guide
199
Device Network SDK (Display and Control) Developer Guide
200
Device Network SDK (Display and Control) Developer Guide
201
Device Network SDK (Display and Control) Developer Guide
202
Device Network SDK (Display and Control) Developer Guide
203
Device Network SDK (Display and Control) Developer Guide
204
Device Network SDK (Display and Control) Developer Guide
205
Device Network SDK (Display and Control) Developer Guide
206
Device Network SDK (Display and Control) Developer Guide
207
Device Network SDK (Display and Control) Developer Guide
208
Device Network SDK (Display and Control) Developer Guide
209
Device Network SDK (Display and Control) Developer Guide
210
Device Network SDK (Display and Control) Developer Guide
211
Device Network SDK (Display and Control) Developer Guide
StatusCode=1
StatusCode=2
212
Device Network SDK (Display and Control) Developer Guide
StatusCode=3
213
Device Network SDK (Display and Control) Developer Guide
214
Device Network SDK (Display and Control) Developer Guide
215
Device Network SDK (Display and Control) Developer Guide
StatusCode=4
216
Device Network SDK (Display and Control) Developer Guide
217
Device Network SDK (Display and Control) Developer Guide
218
Device Network SDK (Display and Control) Developer Guide
219
Device Network SDK (Display and Control) Developer Guide
220
Device Network SDK (Display and Control) Developer Guide
221
Device Network SDK (Display and Control) Developer Guide
222
Device Network SDK (Display and Control) Developer Guide
223
Device Network SDK (Display and Control) Developer Guide
224
Device Network SDK (Display and Control) Developer Guide
225
Device Network SDK (Display and Control) Developer Guide
226
Device Network SDK (Display and Control) Developer Guide
227
Device Network SDK (Display and Control) Developer Guide
228
Device Network SDK (Display and Control) Developer Guide
229
Device Network SDK (Display and Control) Developer Guide
230
Device Network SDK (Display and Control) Developer Guide
231
Device Network SDK (Display and Control) Developer Guide
232
Device Network SDK (Display and Control) Developer Guide
233
Device Network SDK (Display and Control) Developer Guide
234
Device Network SDK (Display and Control) Developer Guide
235
Device Network SDK (Display and Control) Developer Guide
236
Device Network SDK (Display and Control) Developer Guide
237
Device Network SDK (Display and Control) Developer Guide
238
Device Network SDK (Display and Control) Developer Guide
239
Device Network SDK (Display and Control) Developer Guide
240
Device Network SDK (Display and Control) Developer Guide
241
Device Network SDK (Display and Control) Developer Guide
242
Device Network SDK (Display and Control) Developer Guide
StatusCode=5
StatusCode=6
243
Device Network SDK (Display and Control) Developer Guide
244
Device Network SDK (Display and Control) Developer Guide
245
Device Network SDK (Display and Control) Developer Guide
246
Device Network SDK (Display and Control) Developer Guide
247
Device Network SDK (Display and Control) Developer Guide
248
Device Network SDK (Display and Control) Developer Guide
249
Device Network SDK (Display and Control) Developer Guide
StatusCode=7
250