用到一款视频卡 需要录像 对方提供的编程指南如下
编码数据流捕获方式设置 注意:注册直接回调或者消息回调后,需要启动编码数据流捕获函数才能进行数据回调。三
种数据回调方式,只需选取其中一种使用即可。对于HC 系列板卡(包括HC、HC+、HCS、
HS ),推荐使用第一种读取方式。对于H 系列板卡,只能使用后两种读取方式。 3.5.3.1.1 方式一、直接读取方式
3.5.3.1.1.1 注册编码图像数据流直接读取回调函数 RegisterStreamDirectReadCallback 函 数: int __stdcall RegisterStreamDirectReadCallback
(STREAM_DIRECT_READ_CALLBACK StreamDirectReadCallback,void *Context)
参 数: STREAM_DIRECT_READ_CALLBACK StreamDirectReadCallback;编码数据流
直接读取回调函数
void* Context;设备上下文
返回值: 成功返回0;失败返回错误号
说 明: DS4000HC 系列板卡新增的一种数据流读取方式,当启动数据捕获后,
StreamDirectReadCallback 会提供数据流的地址、长度、帧类型等,供用户程序直接处理。typedef int (*STREAM_DIRECT_READ_CALLBACK)(ULONG channelNumber,
void *DataBuf,DWORD Length,int FrameType,void *context)
ULONG channelNumber;通道号
void* DataBuf;缓冲区地址
DWORD Length;缓冲区长度
int FrameType;缓冲区数据帧类型
void* context;设备上下文3.5.3.3 开启及停止录像 3.5.3.3.1 启动主通道编码数据流捕获 StartVideoCapture 函 数: int __stdcall StartVideoCapture(HANDLE hChannelHandle)
参 数: HANDLE hChannelHandle;通道句柄
返回值: 成功返回0;失败返回错误号
说 明: 启动主通道编码数据流捕获。用户程序可以使用直接读取方式,使用
StreamDirectReadCallback 回调函数直接对数据流进行处理;也可以与H 卡一样,通过消息
读取方式,等 SDK 向用户程序发送在RegisterMessageNotifyHandle 中注册的消息,用户程
序使用ReadStreamData 来读取数据流。 3.5.3.3.2 停止主通道编码数据流捕获 StopVideoCapture 函 数: int __stdcall StopVideoCapture(HANDLE hChannelHandle)
参 数: HANDLE hChannelHandle;通道句柄
返回值: 成功返回0;失败返回错误号
说 明: 停止主通道编码数据流捕获 3.5.3.3.3 启动子通道编码数据流捕获 StartSubVideoCapture 函 数: int __stdcall StartSubVideoCapture(HANDLE hChannelHandle)
参 数: HANDLE hChannelHandle;通道句柄
返回值: 成功返回0;失败返回错误号
说 明: 启动子通道编码数据流捕获 3.5.3.3.4 停止子通道编码数据流捕获 StopSubVideoCapture 函 数: int __stdcall StopSubVideoCapture(HANDLE hChannelHandle)
参 数: HANDLE hChannelHandle;通道句柄
返回值: 成功返回0;失败返回错误号
说 明: 停止子通道编码数据流捕获他们说的数据流回调啥的看的我云里雾里的,哪个高手能指点下,如何使用上面的函数进行录像?
编码数据流捕获方式设置 注意:注册直接回调或者消息回调后,需要启动编码数据流捕获函数才能进行数据回调。三
种数据回调方式,只需选取其中一种使用即可。对于HC 系列板卡(包括HC、HC+、HCS、
HS ),推荐使用第一种读取方式。对于H 系列板卡,只能使用后两种读取方式。 3.5.3.1.1 方式一、直接读取方式
3.5.3.1.1.1 注册编码图像数据流直接读取回调函数 RegisterStreamDirectReadCallback 函 数: int __stdcall RegisterStreamDirectReadCallback
(STREAM_DIRECT_READ_CALLBACK StreamDirectReadCallback,void *Context)
参 数: STREAM_DIRECT_READ_CALLBACK StreamDirectReadCallback;编码数据流
直接读取回调函数
void* Context;设备上下文
返回值: 成功返回0;失败返回错误号
说 明: DS4000HC 系列板卡新增的一种数据流读取方式,当启动数据捕获后,
StreamDirectReadCallback 会提供数据流的地址、长度、帧类型等,供用户程序直接处理。typedef int (*STREAM_DIRECT_READ_CALLBACK)(ULONG channelNumber,
void *DataBuf,DWORD Length,int FrameType,void *context)
ULONG channelNumber;通道号
void* DataBuf;缓冲区地址
DWORD Length;缓冲区长度
int FrameType;缓冲区数据帧类型
void* context;设备上下文3.5.3.3 开启及停止录像 3.5.3.3.1 启动主通道编码数据流捕获 StartVideoCapture 函 数: int __stdcall StartVideoCapture(HANDLE hChannelHandle)
参 数: HANDLE hChannelHandle;通道句柄
返回值: 成功返回0;失败返回错误号
说 明: 启动主通道编码数据流捕获。用户程序可以使用直接读取方式,使用
StreamDirectReadCallback 回调函数直接对数据流进行处理;也可以与H 卡一样,通过消息
读取方式,等 SDK 向用户程序发送在RegisterMessageNotifyHandle 中注册的消息,用户程
序使用ReadStreamData 来读取数据流。 3.5.3.3.2 停止主通道编码数据流捕获 StopVideoCapture 函 数: int __stdcall StopVideoCapture(HANDLE hChannelHandle)
参 数: HANDLE hChannelHandle;通道句柄
返回值: 成功返回0;失败返回错误号
说 明: 停止主通道编码数据流捕获 3.5.3.3.3 启动子通道编码数据流捕获 StartSubVideoCapture 函 数: int __stdcall StartSubVideoCapture(HANDLE hChannelHandle)
参 数: HANDLE hChannelHandle;通道句柄
返回值: 成功返回0;失败返回错误号
说 明: 启动子通道编码数据流捕获 3.5.3.3.4 停止子通道编码数据流捕获 StopSubVideoCapture 函 数: int __stdcall StopSubVideoCapture(HANDLE hChannelHandle)
参 数: HANDLE hChannelHandle;通道句柄
返回值: 成功返回0;失败返回错误号
说 明: 停止子通道编码数据流捕获他们说的数据流回调啥的看的我云里雾里的,哪个高手能指点下,如何使用上面的函数进行录像?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货