设备网络SDK开发使用手册

NET_DVR_SetStandardDataCallBack

注册回调函数,捕获实时码流数据(标准码流)。

BOOL NET_DVR_SetStandardDataCallBack(
  LONG                 lRealHandle,
  fStdDataCallBack     cbStdDataCallBack,
  DWORD                dwUser
);

Parameters

lRealHandle
[in] NET_DVR_RealPlay或NET_DVR_RealPlay_V30的返回值
cbStdDataCallBack
[in] 标准码流回调函数
dwUser
[in] 用户数据

Callback Function

typedef void(CALLBACK *fStdDataCallBack)(
  LONG      lRealHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  DWORD     dwUser
);

Callback Function Parameters

lRealHandle
[out] 当前的预览句柄
dwDataType
[out] 数据类型
宏定义 宏定义值 含义
NET_DVR_SYSHEAD 1 系统头数据
NET_DVR_STREAMDATA 2 音视频复合流数据
NET_DVR_STD_VIDEODATA 4 标准视频流数据(标准264、MPEG4)
NET_DVR_STD_AUDIODATA 5 标准音频流数据(G722音频数据)
NET_DVR_PRIVATE_DATA 112 私有数据,包括智能信息叠加等
其他 0x00-G711U音频,0x04-G723音频,0x08-G711A音频,0x0b-PCM16音频,0x0e-Mpeg(MP2L2)音频,0x12-G729音频,0x1A-MJPEG视频,0x68-AAC音频,等 标准RTP的pyload类型,不做转换,码流解码显示时所有类型对应的数据都需要送入播放库
pBuffer
[out] 存放数据的缓冲区指针
dwBufSize
[out] 缓冲区大小
dwUser
[out] 用户数据

Return Values

TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。

Remarks

  • cbStdDataCallBack回调函数中不能执行可能会占用时间较长的接口或操作,不建议调用该SDK(HCNetSDK.dll)本身的接口。
  • 此函数包括开始和停止用户处理SDK捕获的数据,当回调函数cbStdDataCallBack设为非NULL值时,表示回调和处理数据;当设为NULL时表示停止回调和处理数据。回调的第一个包是40个字节的文件头,供后续解码使用,之后回调的是标准码流(含12字节的RTP头)。
  • 标准码流回调需要设备支持。
  • See Also

    NET_DVR_RealPlay  NET_DVR_RealPlay_V30