EasyStreamClient对接海康流媒体V4.X——SDK 结构体定义说明

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EasyStreamClient对接海康流媒体V4.X——SDK 结构体定义说明相关的知识,希望对你有一定的参考价值。

EasyStreamClient是一套非常稳定、易用、支持重连的StreamClient工具,以SDK形式提供, 接口调用非常简单。我们前期通过EasyStreamClient对接海康流媒体V4.X实现了无插件播放,在之前的博文中,我们也分享了SDK对接的关键函数以及错误码定义,本文我们分享一下对接海康流媒体V4.X SDK 结构体的定义。

(1)消息回调说明:

/**************************/
/*消息回调函数参数定义*/
/**********************************************
sessionhandle 会话句柄
userdata 用户自定义数据
errCode 错误码
param1 错误信息结构体(实现参见示例代码)
param2 暂时未定义
param3 暂时未定义
param4 暂时未定义
成功返回0 失败返回-1
************************************************/
typedef int (CALLBACK *pStreamClientMsgFunc)(int sessionhandle, void* userdata, int errCode,
void* param1, void* param2, void* param3, void* param4);

(2)原始数据回调说明:

/**************************/
/*原始数据(从流媒体服务器接收的数据)回调函数参数定义*/
/***********************************************
sessionhandle 会话句柄
userdata 用户自定义数据
pdata 码 流 数 据( STREAM_HEAD 系 统头 数 据 , STREAM_DATA 流 数 据,
STREAM_PLAYBACK_FINISH 回放、下载或倒放结束)
datalen 码流数据长度
成功返回0 失败返回-1
***********************************************/
typedef int (CALLBACK *pStreamClientDataFunc)(int sessionhandle, void* userdata,
int datatype, void* pdata, int datalen);

(3)PS 数据回调说明:

/*PS封装数据回调函数参数定义,当接收的码流支持转封装成PS,此数据回调会有数据回调。
/*当不支持PS转封装时,回调原始码流
/***********************************************
sessionhandle 会话句柄
userdata 用户自定义数据
pdata 码 流 数 据( STREAM_HEAD 系 统头 数 据 , STREAM_DATA 流 数 据,
STREAM_PLAYBACK_FINISH 回放、下载或倒放结束)
datalen 码流数据长度
成功返回0 失败返回-1
***********************************************/
typedef int (CALLBACK *pStreamClientPsDataFunc)(int sessionhandle, void* userdata,
int datatype, void* pdata, int datalen);

(4)绝对时间结构体说明:

/** @struct _ABS_TIME_
* @brief 绝对时间回放时间参数结构体。
*
*/
typedef struct _ABS_TIME_
{
unsigned int dwYear; ///< 年
unsigned int dwMonth; ///< 月
unsigned int dwDay; ///< 日
unsigned int dwHour; ///< 时
unsigned int dwMintes; ///< 分
unsigned int dwSeconds; ///< 秒
}ABS_TIME, *pABS_TIME;

(5)消息回调中错误结构体说明:

/** @struct errorInfo_platform
* @brief 错误信息结构体
*
*/
typedef struct errorInfo_platform
{
char moduleID[32]; ///< 模块ID
char businessID[32]; ///< 业务ID
INT64 timestamp; ///< 时间戳
int errorCode; ///< 错误码
char errorMsg[32]; ///< 错误描述
}ERRORINFO_PLATFORM,*PERRORINFO_PLATFORM;
/** @struct errorStackInfo_platform
* @brief 错误堆栈信息结构体
*
*/
typedef struct errorStackInfo_platform
{
int* count; ///< 当前错误堆栈深度
PERRORINFO_PLATFORM perrorInfo; ///< 错误堆栈信息
}ERRORSTACKINFO_PLATFORM,*PERRORSTACKINFO_PLATFORM;

以上是关于EasyStreamClient对接海康流媒体V4.X——SDK 结构体定义说明的主要内容,如果未能解决你的问题,请参考以下文章

EasyStreamClient对接海康流媒体V4.X实现无插件播放流程记录

JavaCV音视频开发宝典:使用javacv读取GB28181海康大华平台和网络摄像头sdk回调视频码流并转码推流rtmp流媒体服务

JavaCV音视频开发宝典:使用javacv读取GB28181海康大华平台和网络摄像头sdk回调视频码流并转码推流rtmp流媒体服务

RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR之鉴权接口的调用配置说明

JavaCV开发详解之21补充篇1:使用javacv读取海康大华平台和海康大华摄像头sdk回调视频裸流并解析

JavaCV开发详解之21补充篇1:使用javacv读取海康大华平台和海康大华摄像头sdk回调视频裸流并解析