基于ActiveX视频采集软件设计和实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ActiveX视频采集软件设计和实现

基于ActiveX视频采集软件设计和实现   摘要:介绍了基于ActiveX技术的视频采集中间件软件的设计、实现以及打包安装部署。解决了视频采集客户端软件无法在浏览器中显示和控制视频的问题,测试证明在医药城的工程运用中系统表现可靠稳定,性能优越。   关键词: ActiveX;视频采集;数字签名   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)36-8303-02   随着网络的日益普及以及浏览器大量使用,用户产生了直接在Web上查看和控制IP摄像头的需求。该文主要以泰州医药城的远程视频采集项目为契机,设计和实现了远程视频采集中间件软件,阐述中间件组件的安全性问题,部署和签名打包等问题以及给出了各种问题的解决方案。系统设计   医药城采购的摄像头为美国Pelco品牌的IP摄像头,该摄像头安装在某个地方后,为摄像头配置IP地址,端口号和设备号三个参数后,即可通过这三个参数管理它。视频采集中间件组件最后被整合进智能楼宇平台,并以Web的形式向外提供服务,摄像头驱动是以C++的形式提供的,为了能方便的调用C++,并向Web等外部调用提供服务,就需要在驱动的基础上进行二次开发,并以独立的中间件组件的形式向外提供服务。   驱动程序为C++ API,为了做成独立的中间件组件给WEB或者第三方调用,中间件组件采用Microsoft ActiveX技术, ActiveX 是一个开放的集成平台[1],为开发人员、用户和 Web生产商提供了一个快速而简便的在 Internet和 Intranet 创建程序集成和内容的方法。使用 ActiveX, 可轻松方便的在Web页中实现控件交互以及复杂程序,并可为多种编程语言提供调用,因此在设计ActiveX接口函数时遵循的设计思想是通用性和规范性。   1 系统实现   1.1创建视频采集中间件项目   新建【MFC ActiveX控件】类型项目,输入工程名wgmCamera,下一步,通过向导默认设置进入第四步,勾除【有“关于”对话框】,点击完成,至此ActiveX的基础框架部分已经创建完成,系统生成了如下图1框架文件。      图1 VC2010源码结构图   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(BSTR ipAddress, BSTR port, BSTR devNo)准备视频捕获工作流程,首先设置视频显示句柄,把ActiveX容器界面作为视频采集显示窗口,然后调用char* ip1 =_com_util::ConvertBSTRToString(ipAddress)转换数据类型,接着调用_pViewer→StartStream(NOW,INFINITE,ip1,port1,devNo1,,,,NULL)准备捕获视频,最后通过_pViewer→PlayForward(pszSesId, 1.0)捕获视频并显示,用户通过控制调整摄像头的角度,以达到最佳显示效果。   3)Activ

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档