谈虚拟摄像头技术在监控系统中的应用

2013-04-05 20:41:16来源: 中关村在线

    前言

  网络摄像头简称WEBCAM,一般通过USB与电脑连接,或直接嵌入在笔记本电脑屏幕的上方,主要在网络会议、即时通讯、IP电话等软件中应用。虚拟摄像头顾名思义,就是用软件手段在计算机中模拟出一个网络摄像头硬件,它本身不具备视频采集的功能,但可以将图片、视频文件或其它设备采集到的视频做为虚拟摄像头的输出,并可加入各种个性化的特效。例如,在没有真实网络摄像头情况下,也可以通过虚拟摄像头软件进行视频聊天,只不过对方看到的不是真实的视频,而是一些预设的录像或图片。

  目前网上的一些用虚拟摄像头技术开发的软件,多被用来在网络聊天软件中欺骗对方。实际上,虚拟摄像头有效克服了真实网络摄像头内容单一、依赖硬件的缺点,使用领域非常宽广。本文以两个虚拟摄像头技术与监控系统结合使用的项目为例,具体分析系统的开发思路和效果,希望能对虚拟摄像头技术的推广应用起到抛砖引玉的效果。 限于篇幅,本文重点在于分析设计思路,未有涉及太多技术细节,只对关键技术作简要的描述,具体实现方式感兴趣的读者可以通过网络查找相关资料。

  虚拟摄像头驱动开发路线

  虚拟摄像头驱动的开发可以遵循以下3条路线:

  1.传统的WDM驱动的开发模式,WDM是微软为Windows2000及后续操作系统提供的通用驱动程序模型,一个驱动程序可以看作是一个运行在系统底层的DLL,采用WDM的方式开发虚拟摄像头需要从驱动整体入手,在操作系统中虚拟出一个设备,需要开发者具备丰富的计算机接口和Windows驱动开发经验。

  2.基于DirectShow平台的开发模式,DirectShow是微软推出的基于COM的流媒体处理开发包,与DirectX开发包一起发布,用DirectShow开发虚拟摄像头无需涉及驱动程序编写,体积小巧、安装过程不会引起安全软件和操作系统的警告,且视频处理效率比WDM高。

  3.利用DSF框架平台开发,微软DSF框架利用小端口驱动把一个虚拟的USB设备控制器驱动接在计算机上,涉及驱动层面的内容DSF已经做好了,开发者只需按DSF接口标准开发一个动态链接库用来模拟设备功能,再开发一个脚本文件用于模拟设备的物理插拔动作,一个虚拟设备就做好了。

  上述3条开发路线中,路线1、2对开发者的要求较高,开发时间也相对较长;方案3则相对简单,基本不需要与驱动打交道,但利用DSF框架开发的软件,在客户的机器上部署相对繁琐,不利于商业推广。刚入门的开发者建议在网上搜索虚拟摄像头的开源代码,以加快开发进度。

  无论哪种方式开发的虚拟摄像头驱动,都必须有一个外部数据传入的接口(建议做成COM形式方便调用)。其它软件(如下文所述的数据转发软件)可以通过这个接口,传入RGB格式的位图数据,虚拟摄像头将传入的位图作为拍摄到的影像,通过QQ、MSN、Netmetting等软件显示出来。RGB是一种工业标准的位图数据存储方式,每一幅位图就是一帧,当每秒传入25幅以上的位图,虚拟摄像头就会显示出流畅的视频了。

    在医疗领域的应用

  某医院进口的医疗设备,其所附带的软件,可以在记录病人生理数据的同时,具备同步录像功能,但该软件只有一个网络摄像头接口,无法实现一台设备同时监管多个病床;且安装软件的电脑与病房相隔较远,网络摄像头鞭长莫及。另外在病房内原已安装了多个监控模拟摄像机,护士中心可使用联网监控软件,通过局域网连接到硬盘录像机观察到病房内的情况。因此,为了有效提高这种昂贵的进口设备利用率,使其软件能与现有的监控设备结合,我们设计了如下的虚拟摄像头技术方案:

  目前国内主流的IP摄像机和硬盘录像机均有SDK开发包,这里以海康威视系列产品为例说明开发过程:开发一个数据转发软件,先调用海康的设备网络SDK接收从IP摄像机或硬盘录像机端传来的压缩视频流,收到压缩流后,立即调用播放库SDK中的相应函数,对压缩流进行解压,获得YUV格式的图像数据,再将YUV转换为RGB格式(转换算法在网上很多,选择时需注意算法的效率),最后通过虚拟摄像头的数据传入接口,将图像在医疗软件上显示出来。数据转发软件可以根据使用者的要求,自动或手动切换监控摄像机,将不同监控摄像机采集到图像显示在同一套软件中。

  作为进一步完善,我们通过虚拟摄像头实现了画中画功能,具体做法是:同时从2台摄像机获取压缩流并解码;将其中一台摄像机的位图数据按比例缩小(即删减一部分像素),作为子画面;将主画面的位图数据中一部分,更换为子画面的位图数据,形成画中画,再传入到虚拟摄像头。这样,在主画面切换到某一病床时,子画面仍监控着整个病房的总体情况,达到了全貌和细节同时兼顾的效果。

  在视频会议中的应用

  某大型企业分支机构遍布全省,各地的营业现场均安装了视频监控系统。该企业经常通过视频会议软件组织全省范围的会议。使用者希望通过视频会议软件,除了能看到参会者外,在会议讨论过程中,还经常需要将一些生产经营现场的画面调出来显示,供大家讨论。由于视频会议软件具有网络摄像头接口,我们开发了一套适用于视频会议的虚拟摄像头软件:

  满足客户需求的关键,是在上一章节的画中画功能基础上,实现一个画面是真实的网络摄像头采集到的图像(一般是参会者),另一个画面是视频监控系统传输过来的图像(一般是生产经营现场),相结合形成画中画后,通过虚拟摄像头显示出来。获取真实网络摄像头采集到的图像有WIA, DirectShow, VFW等几种技术,通常的手段是通过剪贴板从缓存中获取图像并转换为位图,但这种方式存在帧率低、不兼容多线程等问题。经研究,我们通过VFW的回调函数功能,获取摄像头采集到的位图,可达到高帧率、低CPU占用的效果。

  随着视频会议功能的深入使用,用户又提出了新的问题:开会期间,临时需要将一些没有安装监控摄像机的场景,在视频会议上展示出来。为此系统增加了智能手机设备的支持:在Android或IPhone手机上安装专用的软件,即可将手机摄像头拍摄到的图像,通过无线网络传输到电脑上,数据转发软件可以将收到的手机图像转换为RGB格式,并传送给虚拟摄像头。由此,视频会议彻底摆脱了地域、环境和设备的限制。

关键字:摄像头

编辑:鲁迪 引用地址:http://www.eeworld.com.cn/afdz/2013/0405/article_5670.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
摄像头

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved