海康视频监控平台单路回放组件使用说明书IPlayBackCtrl.docx
- 文档编号:5482561
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:45
- 大小:28.06KB
海康视频监控平台单路回放组件使用说明书IPlayBackCtrl.docx
《海康视频监控平台单路回放组件使用说明书IPlayBackCtrl.docx》由会员分享,可在线阅读,更多相关《海康视频监控平台单路回放组件使用说明书IPlayBackCtrl.docx(45页珍藏版)》请在冰点文库上搜索。
海康视频监控平台单路回放组件使用说明书IPlayBackCtrl
单路回放组件使用说明书
编制
审批
1.
基本信息
组件名称:
SinglePlaybackControl
组件类型:
开发库
技术类别:
Windows应用
应用级别:
部门级
1.1组件描述
功能描述:
单路回放窗口,内部包含录像查询、取流播放、片段切换、播放控制等逻辑。
性能指标:
部分接口是内部异步线程调用,调用后不会立即生效。
主要依赖库:
名称
版本
描述
RecordStream
/
录像片段取流库
StreamLayer
/
取流SDK封装库
vag_playctrl
/
播放SDK封装库
threadsdk
/
异步任务队列库
1.2运行环境
1.2.1硬件环境
CPU:
Intel/AMD双核,2.4GHz以上
内存:
4GBDDR3
网卡:
Intel或者RealTek的1000Mbps以上网卡(安装最新网卡驱动)
1.2.2软件环境
操作系统:
WindowsXP/Windows7/Windows8(可支持WindowsServer2003/2008)
操作系统位数:
32位/64位
显卡驱动:
支持Overlay模式,支持硬件BLT
IE版本:
IE6/IE8/IE9/IE10/IE11
1.3使用场景
视频监控客户端需要用到单路回放播放窗口的应用场景。
1.4技术制约及局限
1.部分接口内部使用线程任务队列异步调用,存在一定延时。
2.组件为Windows32位版本。
1.5参考资料
无
2.接口定义
2.1接口说明
2.1.1导出接口
2.1.1.1初始化
接口名称
SPB_CTRL_Init
接口描述
初始化
接口原型
PB_RET_TYPESPB_CTRL_Init(void);
输入
void
返回值
PB_RET_TYPE:
0成功,其他失败
备注
示例
2.1.1.2反初始化
接口名称
SPB_CTRL_Uninit
接口描述
反初始化
接口原型
PB_RET_TYPESPB_CTRL_Uninit(void);
输入
void
返回值
PB_RET_TYPE:
0成功,其他失败
备注
示例
2.1.1.3创建单路回放对象
接口名称
SPB_CTRL_Create
接口描述
创建单路回放对象
接口原型
ISinglePlaybackControl*SPB_CTRL_Create(
HWNDhParent,
BOOLbHasClose=TRUE,
BOOLbHasPbTool=FALSE);
输入
hParent:
父窗口句柄
bHasClose:
小窗口是否有关闭按钮
bHasPbTool:
是否有回放工具栏
返回值
ISinglePlaybackControl*:
成功返回对象的指针,失败返回NULL
备注
示例
2.1.1.4销毁单路回放对象
接口名称
SPB_CTRL_Destroy
接口描述
销毁单路回放对象
接口原型
PB_RET_TYPESPB_CTRL_Destroy(ISinglePlaybackControl*&pObject);
输入
pObject:
对象的指针的引用
返回值
PB_RET_TYPE:
0成功,其他失败
备注
示例
2.1.2基本业务
2.1.2.1设置基本参数
接口名称
SetBasicInfo
接口描述
设置基本参数
接口原型
PB_RET_TYPESetBasicInfo(
constSPB_BASIC_INFO&stBasicInfo,
boolbReset=true,
boolbClearRcd=true)
输入
stBasicInfo:
基本参数
bReset:
是否重置(已废弃)
bClearRcd:
是否清空录像
返回值
PB_RET_TYPE:
0成功,其他失败
备注
最先调用的接口之一,每次StopPlay之后都必须重新设置一遍。
示例
SPB_BASIC_INFO_basic;
_basic.stCuInfo.cuZoneId=1;
_basic.stCuInfo.vmsIp="10.18.33.103";
_basic.stCuInfo.vmsPort=80;
_basic.stCamera.camName="测试监控点";
_basic.stCamera.camIdx="10000000001310000012";
_basic.stCamera.rcdSvrType=PB_RCD_SERVER_TYPE_VRM;
_basic.stCamera.rcdSvrIP="10.18.33.103";
_basic.stCamera.rcdSvrPort=6300;
std:
:
stringstreamss;
ss< : PB_OPCODE_VOICE<<"," < : PB_OPCODE_ONE_SNAP<<"," < : PB_OPCODE_MULTI_SNAP<<"," < : PB_OPCODE_SAVE_CLIP<<","; _basic.rightCode=ss.str(); m_pImpl->SetBasicInfo(_basic); 2.1.2.2获取基本参数 接口名称 GetBasicInfo 接口描述 获取基本参数 接口原型 PB_RET_TYPEGetBasicInfo(SPB_BASIC_INFO&stBasicInfo) 输入 SPB_BASIC_INFO&stBasicInfo: 基本参数 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.2.3查询录像 接口名称 SearchRecord 接口描述 查询录像 接口原型 PB_RET_TYPESearchRecord( constSPB_RCD_SEARCH_PARAM&stParam, boolbClean=true) 输入 stParam: 查询录像的参数 返回值 PB_RET_TYPE: 0成功,其他失败 备注 1.支持向VMS获取VMR地址,再进行录像查询。 2.支持直接向VRM查询。 3.支持NCG级联录像查询。 4.支持KMS录像查询。 示例 SPB_RCD_SEARCH_PARAM_param; _param.tBegin=TimeStringToNumber("2015-01-13T00: 00: 00.000Z"); _param.tEnd=TimeStringToNumber("2015-01-13T23: 59: 59.000Z"); _param.rcdType=RT_ALL; _param.pRcdFun=CB_SearchResult; _param.pRcdUser=this; m_pImpl->SearchRecord(_param); 2.1.2.4设置录像信息 接口名称 SetRecordInfo 接口描述 设置录像信息 接口原型 PB_RET_TYPESetRecordInfo( constRECORD_SEARCH_RESULT_MAP&records, boolbClean=false) 输入 records: 录像信息 boolbClean: 清空原有录像 返回值 PB_RET_TYPE: 0成功,其他失败 备注 实际是追加录像片段,如果片段的起始时间一样,则会被覆盖。 示例 2.1.2.5获取录像信息 接口名称 GetRecordInfo 接口描述 获取录像信息 接口原型 PB_RET_TYPEGetRecordInfo(RECORD_SEARCH_RESULT_MAP&records) 输入 records: 录像信息 返回值 PB_RET_TYPE: 0成功,其他失败 备注 获取的是内部所有的录像片段信息 示例 2.1.2.6开始回放 接口名称 StartPlay 接口描述 开始回放 接口原型 PB_RET_TYPEStartPlay( time_ttPlay=playback: : INVALID_TIME_VALUE, time_ttEnd=playback: : INVALID_TIME_VALUE) 输入 tPlay: 可指定开始播放的时间,不指定则使用SetRecordInfo中得到的最早时间 返回值 PB_RET_TYPE: 0成功,其他失败 备注 内部必须要有录像片段才能回放,支持: 1.调用SetRecordInfo接口设置录像信息,直接播放。 2.外部SearchRecord接口查询录像,等到查询回调返回后,才可以播放。 示例 2.1.2.7停止回放 接口名称 StopPlay 接口描述 停止回放 接口原型 PB_RET_TYPEStopPlay(BOOLbClearRcd=FALSE) 输入 bClearRcd: 是否清空录像片段 返回值 PB_RET_TYPE: 0成功,其他失败 备注 内部状态会被重置,下次播放必须要重新SetBasicInfo。 示例 2.1.2.8挂起播放 接口名称 PendingPlay 接口描述 挂起播放 接口原型 PB_RET_TYPEPendingPlay(void) 输入 void 返回值 PB_RET_TYPE: 0成功,其他失败 备注 仅停止播放,但不重置内部状态,可以直接重新播放。 示例 2.1.2.9筛选录像类型 接口名称 FilterPlayType 接口描述 对录像类型进行筛选 接口原型 PB_RET_TYPEFilterPlayType(unsignedintrecType) 输入 recType: 筛选后允许播放的录像类型 返回值 PB_RET_TYPE: 0成功,其他失败 备注 播放过程中不匹配的录像片段类型直接跳过。 示例 2.1.3参数设置 2.1.3.1设置窗口序号 接口名称 SetIndex 接口描述 设置窗口序号 接口原型 PB_RET_TYPESetIndex(WND_INDEXwndIndex) 输入 wndIndex: 窗口序号 返回值 PB_RET_TYPE: 0成功,其他失败 备注 序号从0开始,默认为-1。 示例 2.1.3.2获取窗口序号 接口名称 GetWndIndex 接口描述 获取窗口序号 接口原型 WND_INDEXGetWndIndex(void)const 输入 void 返回值 WND_INDEX: 窗口序号 备注 示例 2.1.3.3配置常用参数 接口名称 Configurate 接口描述 配置常用参数 接口原型 PB_RET_TYPEConfigurate(constPB_CONFIGURATION&cfg) 输入 cfg: 常用参数 返回值 PB_RET_TYPE: 0成功,其他失败 备注 如果不配置使用默认的,则有的可能为非法值,导致操作失效。 示例 PB_CONFIGURATIONcfg; cfg.toolbarShowMode=TBSM_ALWAYS_SHOW; cfg.statusbarShowMode=TBSM_AUTO; cfg.toolbarBtns.push_back(BTN_ID_INFO); cfg.toolbarBtns.push_back(BTN_ID_SOUND); cfg.toolbarBtns.push_back(BTN_ID_VOLUMN); cfg.toolbarBtns.push_back(BTN_ID_SNAP_ONE); cfg.toolbarBtns.push_back(BTN_ID_SNAP_MULTI); cfg.toolbarBtns.push_back(BTN_ID_SAVE_CLIP); cfg.toolbarBtns.push_back(BTN_ID_ZOOM); cfg.clipCfg.packSize=512; m_pImpl->Configurate(cfg); 2.1.3.4设置性能参数 接口名称 SetPerformance 接口描述 设置性能参数 接口原型 voidSetPerformance(constPB_PERFORMACE_PARAM&stPerform) 输入 stPerform: 播放性能参数 返回值 void 备注 下次播放时生效 示例 2.1.3.5设置磁盘状态 接口名称 SetDiskState 接口描述 设置磁盘状态 接口原型 PB_RET_TYPESetDiskState(intnOperation,intnDiskState) 输入 nOperation: 磁盘空间对应操作的位置(见PLAYBACK_DISK_OPERATION) nDiskState: 磁盘空间的状态(见DISK_FREE_SPACE_STATE) 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.4播放控制 2.1.4.1获取播放端口 接口名称 GetPlayPort 接口描述 获取播放端口 接口原型 intGetPlayPort(void)const 输入 void 返回值 int: 播放端口 备注 并不是播放库的播放端口,而是vag_playctrl的句柄。 示例 2.1.4.2暂停/恢复播放 接口名称 Pause 接口描述 暂停/恢复播放 接口原型 PB_RET_TYPEPause(BOOLbPause=TRUE) 输入 bPause: 是否暂停 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.4.3单帧前进 接口名称 ForwardOneFrame 接口描述 单帧前进 接口原型 PB_RET_TYPEForwardOneFrame(void) 输入 void 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.4.4单帧后退 接口名称 BackwardOneFrame 接口描述 单帧后退 接口原型 PB_RET_TYPEBackwardOneFrame(void) 输入 void 返回值 PB_RET_TYPE: 0成功,其他失败 备注 仅海康播放库支持,切换到文件播放模式,在播放缓冲中单帧后退,到了文件头则无法再操作。 示例 2.1.4.5打开/关闭声音 接口名称 OpenSound 接口描述 打开/关闭声音 接口原型 PB_RET_TYPEOpenSound(BOOLbOpen=TRUE) 输入 bOpen: 是否打开声音 返回值 PB_RET_TYPE: 0成功,其他失败 备注 在1倍速播放时才可以操作声音。 示例 2.1.4.6设置音量大小 接口名称 SetSoundVolumn 接口描述 设置音量大小 接口原型 PB_RET_TYPESetSoundVolumn(intnVolumn) 输入 nVolumn: 音量大小,0~1000 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.4.7获取音量大小 接口名称 GetSoundVolumn 接口描述 获取音量大小 接口原型 intGetSoundVolumn(void) 输入 void 返回值 int: 音量大小,0~1000 备注 示例 2.1.4.8切换到倒放/正放 接口名称 Reverse 接口描述 切换到倒放/正放 接口原型 PB_RET_TYPEReverse(BOOLbBackward=TRUE) 输入 bBackward: 是否倒放 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.4.9自适应/拉伸显示 接口名称 Adaptive 接口描述 自适应/拉伸显示 接口原型 PB_RET_TYPEAdaptive(BOOLbAdaptive=TRUE) 输入 bAdaptive: 是否自适应显示 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.4.10设置回放速度 接口名称 SetSpeed 接口描述 设置回放速度 接口原型 PB_RET_TYPESetSpeed(intnSpeed) 输入 nSpeed: 回放速度 返回值 PB_RET_TYPE: 0成功,其他失败 备注 回放速度,取值范围参见PB_STREAM_SPEED。 示例 2.1.4.11定位到指定时间点 接口名称 SeekToTime 接口描述 定位到指定时间点 接口原型 PB_RET_TYPESeekToTime(time_ttSeek) 输入 tSeek: 定位时间点 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.4.12抓图 接口名称 SnapShot 接口描述 抓图 接口原型 PB_RET_TYPESnapShot(longlId,BOOLbContinous) 输入 lId: 操作ID,一次操作需要有一个ID,用于在回调中反馈 bContinous: TRUE表示连续抓图,FALSE表示单张抓图 返回值 PB_RET_TYPE: 0成功,其他失败 备注 通过抓图回调返回。 示例 2.1.4.13进入/退出电子放大 接口名称 DigitalZoom 接口描述 进入/退出电子放大 接口原型 PB_RET_TYPEDigitalZoom(void) 输入 void 返回值 PB_RET_TYPE: 0成功,其他失败 备注 只能在UI线程中调用。 示例 2.1.5注册回调 2.1.5.1注册状态通知回调 接口名称 RegStateChgCB 接口描述 注册状态通知回调 接口原型 PB_RET_TYPERegStateChgCB(PB_STATECHG_CBpfun,void*pUser) 输入 pfun: 回调函数 pUser: 用户数据 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.5.2注册操作回调 接口名称 RegActionCB 接口描述 注册操作回调 接口原型 voidRegActionCB(PB_ACTION_CBpFun,void*pUser) 输入 pFun: 回调函数 pUser: 用户数据 返回值 void 备注 主要用于记录操作日志 示例 示例 2.1.5.3注册播放窗口画图回调 接口名称 RegPlayWndDrawCB 接口描述 注册播放窗口画图回调 接口原型 voidRegPlayWndDrawCB(PB_PLAYWND_DRAW_CBpFun,void*pUser) 输入 pFun: 回调函数 pUser: 用户数据 返回值 void 备注 示例 2.1.5.4注册窗口消息回调 接口名称 RegWindowMsg 接口描述 注册窗口消息回调 接口原型 PB_RET_TYPERegWindowMsg(PB_WNDMSG_CBpfun,longlUser) 输入 pfun: 回调函数 pUser: 用户数据 返回值 PB_RET_TYPE: 0成功,其他失败 备注 示例 2.1.5.5注册窗口消息回调 接口名称 RegWindowMsgEx 接口描述 注册窗口消息回调 接口原型 PB_RET_TYPERegWindowMsgEx(PB_WNDMSG_CB_EXpfun,longlUser) 输入 pfun: 回调函数 pUser: 用户数据 返回值 PB_RET_TYPE: 0成功,其他失败 备注 回调函数带有窗口序号。 示例 2.1.6获取状态 2.1.6.1获取播放时间 接口名称 GetPlayerTime 接口描述 获取播放时间 接口原型 time_tGetPlayerTime(void) 输入 void 返回值 time_t: 播放时间,无效时为-1 备注 并不总是有效,原因如下: 1、此接口不是直接向播放库获取时间,而是通过塞数据线程更新播放时间。 2、有些码流获取的播放时间无效,例如大华设备码流、ehome设备码流。 示例 2.1.6.2获取播放速度 接口名称 GetPlaySpeed 接口描述 获取播放速度 接口原型 intGetPlaySpeed(void) 输入 void 返回值 int: 播放速度值,参见PLAYBACK_SPEED 备注 示例 2.1.6.3是否处于空闲状态 接口名称 IsIdle 接口描述 播放窗口是否处于空闲状态 接口原型 BOOLIsIdle(void)const 输入 void 返回值 BOOL: TRUE是,FALSE否 备注 StopPlay之后会处于空闲状态 示例 2.1.6.4是否处于挂起状态 接口名称 IsPending 接口描述 是否处于挂起状态 接口原型 BOOLIsPending(void)const 输入 void 返回值 BOOL: TRUE是,FALSE否 备注 PendingPlay之后会处于挂起状态 示例 2.1.6.5是否有录像信息 接口名称 HasRecords 接口描述 是否有录像信息 接口原型 BOOLHasRecords(void) 输入 void 返回值 BOOL: TRUE有,FALSE没有 备注 示例 2.1.6.6指定时间范围内是否有录像信息 接口名称 HasRecords 接口描述 指定时间范围内是否有录像信息 接口原型 BOOLHasRecords(time_ttSta,time_ttEnd) 输入 tSta: 起始时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 视频 监控 平台 回放 组件 使用 说明书 IPlayBackCtrl