视频开发开发包
功能
初始化SDK
和方中创
HFZC_Startup(int uMessage ,HWND hWnd,BOOL bReadyRelay=FALSE)
uMessage 窗口回调消息窗ID
hWnd    窗口回调消息窗口句柄
bReadyRelay 是否启动转发
海康
BOOL  NET_DVR_Init()
返回值TRUE表示成功,FALSE表示失败
大华
BOOL  CLIENT_Init(
  fDisConnect cbDisConnect,
  DWORD       dwUser
);
参数说明:
断线回调函数,回调出当前网络已经断开的设备, 对调用SDKClIENT_LogOut()函数主动断开的设备不回调,设置为0时禁止回调
[in]dwUser
用户数据
返回值:TRUE表示成功,FALSE表示失败
恒亿
BOOL MP4Net_ClientStartup(UINT nMessage , IN HWND hWnd ) 说明: 对客户端进行初始化,是客户端调用的第一个函数;设置客户端接收到服务器端命令字符串时,向客户端应用程序发送消息的目的窗口和消息ID。 参数: nMessage : 消息ID hWnd : 消息接收窗口,不使用时可以置为NULL 返回: 返回TRUE 表示成功, 返回FALSE 表示失败;
黄河
HHNET_Startup(IN HWND hNotifyWnd,
                   IN UINT  nCommandID ,
                   IN DWORD dwFrameBufNum= 0, 
                   IN BOOL  bReadyRelay= FALSE,
                   IN BOOL  bReadyCenter= FALSE,
                   IN char  *pLocalAddr= NULL);
功能
登陆视频服务器
和方中创
HFZC_Login(char *pszDVRIP, WORD wPort,char *pszUserName’
char *pszPassword DWORD dwClientID)
海康
NET_DVR_Login_V30
LONG  NET_DVR_Login_V30 (
char  *sDVRIP,
WORD  wDVRPort,
char  *sUserName,
char  *sPassword,
LPNET_DVR_DEVICEINFO_V30  lpDeviceInfo
)
参数说明
sDVRIP
[in]设备的IP地址
wDVRPort
[in]设备的埠号
sUserName
[in] 登录的用户名
sPassword
[in]密码
lpDeviceInfo
[out]指向NET_DVR_DEVICEINFO_V30结构
返回值
获得的用户ID号
大华
LONG CLIENT_Login(
  char            *pchDVRIP,
  WORD            wDVRPort,
  char            *pchUserName,
  char            *pchPassword,
  LPNET_DEVICEINFO lpDeviceInfo,
  int              *error = 0
);
Parameters
[in]pchDVRIP
设备IP
[in]wDVRPort
设备埠
[in]pchUserName
用户名
[in]pchPassword
用户密码
[out]lpDeviceInfo
设备信息,属于输出参数
[out]error
(当函数返回成功时,该参数的值无意义),返回登录错误码,如下表
恒亿
HANDLE MP4Net_ClientLogin(IN char *sDVRIP,WORD wDVRPort, IN char *sUserName, IN char *sPassword, IN char* mac, OUT LPNET_DVR_DEVICEINFO lpDeviceInfo); 说明:远程登陆前端设备 输入参数: sDVRIP 设备的IP地址或者域名(域名最大支持256个字符) wDVRPort 设备的通讯端口 sUserName 设备登陆的用户名(最大支持32个字符) sPassword 设备的登陆密码(最大支持16个字符) mac 设备的MAC地址(在未获取MAC时可置为NULL,若MAC地址为NULL时,启动主动注册的设备也不会自动重新登录,只有在设备启动了主动注册,且客户端登录时MAC地址有效,才会进行自动登录) 输出参数: lpDeviceInfo DVR/DVS设备信息(此设备信息的获取暂未实现,可置为NULL) 返回值: 返回(HANDLE)0xFFFFFFFF表示失败;其它值作为后续函数的参数
黄河
HHNET_LogonServer(IN char *pServerIP,
                       IN UINT nServerPort,
                       IN char *pDeviceName,
                       IN char *pUserName,
                       IN char *pUserPassword,
                       IN DWORD wClientID,
                       OUT HANDLE &hLogonServer,
                       IN HWND hNotifyWindow = NULL);
【参数】
参数名称
描述
输入/输出
全局/局部
 pServerIP 
  服务器地址URL(IP、域名
 输入
-
 nServerPort
  通讯端口号 
 输入
-
 pDeviceName
  DVS设备名称(转发时使用
 输入
-
 pUserName
  登陆DVS使用的用户名 
 输入
-
 pUserPassword
  登陆DVS使用的密码
 输入
-
 wClientID
  回调参数(可用做连接号等,如:当非正常关闭时,应用程序可知道是哪个连接断开了)
 输入
-
 hLogonServer
  登录DVS返回的句柄
 输出
-
 hNotifyWindow
  消息通知的窗口句柄,默认通知窗口为HHNET_Startup 函数中hNotifyWnd参数句柄
功能
打开通道预览
和方中创
LONG HFZC_RealPlay(LONG lLoginID,WORD wChannel,
LONG  lRealHandle,
  )
海康
NET_DVR_RealPlay_V30(可选connect是否在线程中处理)
LONG NET_DVR_RealPlay_V30(
LONG  lUserID,
LPNET_DVR_CLIENTINFO  lpClientInfo,
void(CALLBACK *fRealDataCallBack_V30) (
LONG  lRealHandle,
DWORD  dwDataType,
BYTE  *pBuffer,
DWORD  dwBufSize,
void  *pUser
),
void  *pUser,
BOOL  bBlocked
参数说明
lUserID
[in]NET_DVR_Login或者NET_DVR_Login_V30的返回值
lpClientInfo
[in]NET_DVR_CLIENTINFO结构的指针
fRealDataCallBack_V30
[in]视频数据回调函数
dwUser
[in]用户数据
bBlocked
[in]请求视频过程是否阻塞:0-否;1-是
回调函数参数说明
lRealHandle,
NET_DVR_RealPlay_V30返回值
dwDataType
数据类型
#define NET_DVR_SYSHEAD
1
系统头数据
#define NET_DVR_STREAMDATA
2
流数据/视频数据
#define NET_DVR_AUDIODATA
3
音频资料
pBuffer
存放数据的缓冲区指针
dwBufSize
缓冲区的大小
dwUser
输入的用户数据
返回值
-1表示失败,其它值作为NET_DVR_StopRealPlay等函数的参数
说明
不阻塞:设备应答请求连接就认为连接成功,如果发生码流接收失败、播放失败等情况以预览异常的方式告知应用层。在循环播放的时候可以减短停顿的时间。与原来的NET_DVR_RealPlay功能一致。
阻塞:直到播放成功才返回成功给应用层。
大华
LONG CLIENT_RealPlayEx(
  LONG lLoginID,
  int nChannelID,
  HWND hWnd,
  RealPlayType rType
);
Parameters
[in]lLoginID
CLIENT_Login的返回值。
[in]nChannelID
实时监视通道号,如果rTypeRType_Multiplay该参数保留。当rTypeRType_Multiplay_1~RType_Multiplay_16时,nChannelID决定了预览的画面,如当RType_Multiplay_4时,通道为4567表示预览第5到第7通道的四画面预览。
[in]hWnd
窗口句柄。值为0NULL)时对数据不译码不显示图像。
[in]rType sdk
枚举类型,如下表:
枚举类型
意义
DH_RType_RealPlay
实时预览
DH_RType_Multiplay
多画面预览
DH_RType_RealPlay_0
实时监视-主码流,等同于DH_RType_Realplay
DH_RType_RealPlay_1
实时监视-从码流1
DH_RType_RealPlay_2
实时监视-从码流2
DH_RType_RealPlay_3
实时监视-从码流3
DH_RType_Multiplay_1
多画面预览-1画面
DH_RType_Multiplay_4
多画面预览-4画面
DH_RType_Multiplay_8
多画面预览-8画面
DH_RType_Multiplay_9
多画面预览-9画面
DH_RType_Multiplay_16
多画面预览-16画面
Return Values
失败返回0,成功返回实时监视ID(实时监视句柄),将作为相关函数的参数.
恒亿
LONG MP4Net_ClientStart(IN PCLIENT_VIDEOINFO pClientInfo IN void(*ReadDataCallBack)(DWORD dwStockHandle , IN UCHAR* pPacketBuffer , DWORD nPacketSize, int FrameType)) 说明: 启动客户端连接 参数: pClientInfo 客户端连接信息结构体 ReadDataCallBack 函数是网络端口接收到数据的回调函数,客户端用它来读取数据流.如果ReadDataCallBackNULL , 表示不需要读取数据流;ReadDataCallBack函数说明: dwStockHandle : 连接句柄(MP4Net_ClientStart返回值), 可用于区分不同视频预览的回调 pPacketBuffer : 压缩数据缓冲区 nPacketSize : 压缩数据长度 FrameType : 压缩数据帧类型 返回: 返回–1 表示失败,其它值表示成功并可作为后续操作的参数;
注: 对于软译码方式的连接,如果pClientInfo里的m_hShowVideoNULL表示只获取音视频数据但不译码和显示;若需要得到音视频数据,则需要将ReadDataCallBack设置为有效函数位址,并需要调用MP4Net_ClientStartCapture启动捕获才能得到音视频数据;
黄河
    HHNET_OpenChannel(IN char *pServerIP,
                      IN UINT nServerPort,
                      IN char *pDeviceName,
                      IN char *pUserName,
                      IN char *pUserPassword,
                      IN HHOPEN_CHANNEL_INFO *pOpenInfo,
                      OUT HANDLE &hOpenChannel,
                      IN HWND hNotifyWindow = NULL);
功能
停止通道预览
和方中创
HFZC_StopRealPlay(LONG lRealHandle)
海康
NET_DVR_StopRealPlay
BOOL NET_DVR_StopRealPlay (
LONG  lRealHandle
)
参数说明
lRealHandle
[in]NET_DVR_RealPlay或者NET_DVR_RealPlay_V30的返回值
返回值
TRUE表示成功,FALSE表示失败。
大华
停止实时监视或多画面预览。
BOOL CLIENT_StopRealPlayEx(
  LONG lRealHandle
);
Parameters
[in]lRealHandle
CLIENT_RealPlayEx的返回值。
成功返回TRUE,失败返回FALSE 
恒亿
BOOL MP4Net_ClientStop(LONG StockHandle) 说明: 停止客户端图像预览; 参数: StockHandle : MP4Net_ClientStart成功的返回值; 返回: TRUE 表示成功,否则表示失败;
黄河
 HHNET_CloseChannel(IN HANDLE hOpenChannel);
功能
退出设备登陆
和方中创
HFZC_Logout(LONG lLoginID)
海康
NET_DVR_Logout_V30 (强制注销某个用户)
BOOL __stdcall NET_DVR_Logout_V30 (
LONG  lUserID
)
参数说明
lUserID
[in] NET_DVR_Login或者NET_DVR_Login_V30的返回值
返回值
TRUE表示成功,FALSE表示失败 
说明
强制停止该用户的所有操作和释放所有的资源,确保该ID对应的线程都安全退出,资源得到释放。
注意
NET_DVR_Logout_V30会等待或者强制将该用户的所有资源释放或者退出(如线程等),而 NET_DVR_Logout则不会,仅仅将当前的用户从设备上注销了
大华
BOOL CLIENT_Logout(
  LONG lLoginID
);
[in]lLoginID
CLIENT_Login的返回值。
成功返回TRUE,失败返回FALSE。
恒亿
BOOL MP4Net_ClientLogout (IN HANDLE 说明:注销前端DVR/DVS设备 输入参数: hdev 设备句柄;MP4Net_返回值: TRUE 表示成功, FALSE表示失败
黄河

HHNET_LogoffServer(IN HANDLE hServer);
功能
PTZ控制
和方中创
HFZC_PTZControl(LONG lLoginID,LONG lChannel,
DWORD  dwPTZCommand,
DWORD  dwPresetIndex
DWORD  dwStop)
)
海康
NET_DVR_PTZControl_Other
BOOL NET_DVR_PTZControl_Other (
LONG  lUserID,
LONG  lChannel,
DWORD  dwPTZCommand,
DWORD  dwStop
)
参数说明
lUserID
[in]NET_DVR_Login 或者NET_DVR_Login_V30的返回值
lChannel
[in]硬盘录像机的信道号
dwPTZCommand
[in]云台控制命令,见上表
dwStop
[in]云台停止动作或开始动作:0-开始;1-停止。
返回值
TRUE表示成功,FALSE表示失败。
注意
云台的每一个动作都要调用该接口两次,前面三个参数一样,dwStop参数一次取值为0,一次取值为1
NET_DVR_PTZPreset_Other
BOOL NET_DVR_PTZPreset_Other(
LONG  lUserID,
LONG  lChannel,
DWORD  dwPTZPresetCmd,
DWORD  dwPresetIndex
)
参数说明
lUserID
[in]NET_DVR_Login 或者NET_DVR_Login_V30的返回值
lChannel
[in]硬盘录像机的信道号
dwPTZPresetCmd
[in]云台预置位命令,见上表
dwPresetIndex
[in]预置点的序号,最多支持255个预置点(具体数目和球机有关)
返回值
TRUE表示成功,FALSE表示失败。
大华
BOOL CLIENT_PTZControl(
  LONG  lLoginID,
  int   nChannelID,
  DWORD dwPTZCommand,
  DWORD dwStep,
  BOOL   dwStop
);
Parameters
[in]lLoginID
CLIENT_Login的返回值
[in]nChannelID
通道号
[in]dwPTZCommand
支持以下云台控制命令
操作类型
功能
PTZ_UP_CONTROL
PTZ_DOWN_CONTROL
PTZ_LEFT_CONTROL
PTZ_RIGHT_CONTROL
PTZ_ZOOM_ADD_CONTROL
变倍+
PTZ_ZOOM_DEC_CONTROL
变倍-
PTZ_FOCUS_ADD_CONTROL
调焦+
PTZ_FOCUS_DEC_CONTROL
调焦-
PTZ_APERTURE_ADD_CONTROL
光圈+
PTZ_APERTURE_DEC_CONTROL
光圈-
PTZ_POINT_MOVE_CONTROL
转至预置点
PTZ_POINT_SET_CONTROL
设置
PTZ_POINT_DEL_CONTROL
删除
PTZ_POINT_LOOP_CONTROL
点间轮循
PTZ_LAMP_CONTROL
灯光雨刷
[in]dwStep
步进/速度,范围1~8, 8控制效果最明显,操作预置点时dwStep为预置点值.
[in]dwStop
是否停止,对云台八方向操作及镜头操作命令有效,进行其它操作时,本参数应填充FALSE
Return Values
成功返回TRUE,失败返回FALSE.
Remarks
对连接设备进行云台控制,通常的应用是打开监视通道,可以看到画面云台控制的效果,前提是控制云台的DVR的云台控制协议要和云台协议一致才能生效。
恒亿
BOOL MP4Net_ClientPTZControl(IN HANDLE hdev, unsigned int uchannel, unsigned int ucommand, int iparam1, int iparam2, int iparam3, int iparam4) 说明:远程控制PTZ 参数: hdevMP4Net_ClientLogin()函数的返回值 uchannel 通道编号(0开始) ucommandPTZ命令字 iparam1 PTZ命令参数1 iparam2 PTZ命令参数2 iparam3 PTZ命令参数3 iparam4 PTZ命令参数4 返回值: TRUE表示成功, FALSE 表示失败
黄河
 【语法】
HHNET_SetServerConfig(IN HANDLE hServer,
                           IN HHCMD_NET nConfigCommand,
                          IN char *pConfigBuf,
                           IN UINT nConfigBufSize,
                          IN DWORD dwAppend=0);
【参数】
参数名称
描述
输入/输出
全局/局部
 hServer
  登录时返回的句柄
 输入
-
 nConfigCommand
  命令
 输入
-
 pConfigBuf
  参数数据缓冲区
 输入
-
 nConfigBufSize
  数据长度
 输入
-
 dwAppend
  通道号或序号(没有序号的设为0)