基于ActiveX的视频采集软件设计和实现
摘要:介绍了基于ActiveX技术的视频采集中间件软件的设计、实现以及打包安装部署。解决了视频采集客户端软件无法在浏览器中显示和控制视频的问题,测试证明在医药城的工程运用中系统表现可靠稳定,性能优越。
关键词:ActiveX;视频采集;数字签名
中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)36-8303-02
随着网络的日益普及以及浏览器大量使用,用户产生了直接在Web上查看和控制IP摄像头的需求。该文主要以泰州医药城的远程视频采集项目为契机,设计和实现了远程视频采集中间件软件,阐述中间件组件的安全性问题,部署和签名打包等问题以及给出了各种问题的解决方案。系统设计
医药城采购的摄像头为美国Pelco品牌的IP摄像头,该摄像头安装在某个地方后,为摄像头配置IP地址,端口号和设备号三个参数后,即可通过这三个参数管理它。视频采集中间件组件最后被整合进智能楼宇平台,并以Web的形式向外提供服务,摄像头驱动是以C++的形式提供的,为了能方便的调用C++,并向Web等外部调用提供服务,就需要在驱动的基础上进行二次开发,并以独立的中间件组件的形式向外提供服务。
驱动程序为C++API,为了做成独立的中间件组件给WEB或者第三方调用,中间件组件采用MicrosoftActiveX技术,ActiveX是一个开放的集成平台[1],为开发人员、用户和Web生产商提供了一个快速而简便的在Internet和Intranet创建程序集成和内容的方法。使用ActiveX,可轻松方便的在Web页中实现控件交互以及复杂程序,并可为多种编程语言提供调用,因此在设计ActiveX接口函数时遵循的设计思想是通用性和规范性。
1系统实现
1.1创建视频采集中间件项目
新建【MFCActiveX控件】类型项目,输入工程名wgmCamera,下一步,通过向导默认设置进入第四步,勾除【有“关于”对话框】,点击完成,至此ActiveX的基础框架部分已经创建完成,系统生成了如下图1框架文件。
图1VC2010源码结构图
1.2环境配置
1)配置VC环境
为了能实现在ActiveX中C++调用Pelco驱动程序,必须配置C++库文件的路径,右击wgmCamera工程,在【属性】中选择【配置属性→VC++目录→库目录】输入“c:\Pelco\Libs\release\”,即Pelco摄像头驱动所在的库文件目录。选择【C/C++→代码生成】,设置运行库为多线程(/MT),选择【链接器→输入】设置附加依赖项为libPelcoAPIViewer.lib;PelcoAPICommon.lib;PTZControlWrapper.lib;这几个文件非常重要,作为显示摄像头视频和控制摄像头关键库文件。选择【清单工具→输入和输出】,设置嵌入清单为否,不自动生成嵌入清单。设置Windows环境变量,在Path中加入Pelco驱动所在的目录,这样便于注册控件的时候找到相应的DLL文件。
2)添加中间件外部调用接口
向外暴露接口可以让用户调用ActiveX提供的API来驱动摄像头,所以在设计暴露接口时应考虑到外界调用的可操控性,在设计API时主要考虑到摄像头通用工作流程,如开启摄像头,采集视频播放,暂停等常规操作以及控制摄像头视角的向下,向上,向左以及向右等云台操作,同时还要考虑ActiveX调用规范,所以对调用参数是有要求的。在类视图中展开wgmCameraLib后右击_DwgmCamera后,点击添加→添加方法。
中间件组件的工作流程是这样的:在CwgmCameraCtrl构造函数中首先初始化PelcoAPIViewer指针,然后得到当前时间戳TimeStamp,接着构造摄像头控制器PTZControlWrapper,设置摄像头API的插件工作目录进入就绪状态。调用BeginStreamInner(BSTRipAddress,BSTRport,BSTRdevNo)准备视频捕获工作流程,首先设置视频显示句柄,把ActiveX容器界面作为视频采集显示窗口,然后调用char*ip1=_com_util::ConvertBSTRToString(ipAddress)转换数据类型,接着调用_pViewer→StartStream("NOW","INFINITE",ip1,port1,devNo1,"","","",NULL)准备捕获视频,最后通过_pViewer→PlayForward(pszSesId,1.0)捕获视频并显示,用户通过控制调整摄像头的角度,以达到最佳显示效果。
3)ActiveX的安全问题
由于浏览器的安全设置会导致用户每次访问视频采集中间件都会出现安全提示[2],用户体验会变差,通过以下步骤可解决安全提示:MFC写的ActiveX中需直接修改注册表,mfc实现的ocx,同时要在app实现文件中包括两个常量和重写两个方法
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊