手机端
or

欢迎您加入我爱方案网QQ群

1.智能产品外包服务群(311606115)
2.嵌入式项目开发群(491609563)

基于OSGi平台家庭网关的远程监控服务系统

陈丽欣| OSGi,远程监控,Java媒体框架,家庭网关,监控视频| 2010-11-29
1337 收藏
分享到: 
每日精选
热门推荐

【中心议题】

  • 提出了一种基于OSGi平台家庭网关的视频监控系统架构
  • 实验证明该系统能够有效地实现远程监控服务

【解决方案】

  • 硬件上分成3个节点
  • 软件系统架构上采用以Java语言为中心,多方Java虚拟机的协作访问来实现

0引言

近些年来,家庭网络技术迅速发展,以此衍生出多项基于家庭网络的服务项目,包括视频点播、家电控制、视频监控、电子商务等。现代越来越多的信息传递技术让我们对信息的掌控更趋全面、完整、真实,能够不受地域、环境的限制,随时随地查看的某地的监控视频,比如:通过家里的摄像头查看一下家里的安全情况、监控家里的小朋友在作些什么等,将这些视频信息在PC机或手机上进行访问查看。实现透过家庭网络进行监控,关键要解决的问题包括:一方面是系统中包含的各节点如何进行互连访问;另一方面是摄像头的视频捕捉与传递。

家庭网关作为家庭网络中的互连的核心设备,提供不同设备进行互连访问的手段,经过若干年的发展,家庭网关互连标准有若干种,其中开放服务网关联盟OSGi定义的规范提出了一个可扩展的软件服务框架,在此基础上可以灵活的扩展不同种类的信息设备互连应用,因此,该远程监控服务在基于OSGi规范的家庭网关基础上实现。而家庭网络多数采用分配动态IP地址的网络服务商来连入Internet,网关本身并不适于提供固定IP或域名接入服务,因此要有一个远端服务商,提供视频监控接入服务。或者也可以将这种框架结构应用于一个智能服务终端,提供服务器功能,将视频媒体的发布服务集成在家庭范围内,同时提供一定的安全访问手段,减少远程发布的信息泄露风险。

本文以基于家庭网络技术的视频监控系统为主要研究对象,以此产生平台应用架构及应用实现方法同样可以衍生应用到其它服务领域。

 

1 OSGiJava媒体框架

1.1 OSGi服务平台

OSGi(open service gateway initiative)服务平台基于Java虚拟机,是一个开放的、提供统一接口标准的体系框架,基于这个体系框架,服务提供商、程序开发人员、软件提供商、服务网管运营商、设备提供商能够协调地联合起来开发,部署以及管理向用户提供的各种服务。采用Java技术为基础,该平台具有良好的独立性,并且具有兼容蓝牙、USBLonWorks等不同的局域网协议,与HomePNAHAViHomeRF等不同的通信技术共存,并支持UPnPJini等多种设备连接技术的特点,是实现通信服务交互的通信网关。

OSGi规范的核心组件是OSGi框架。这个框架为应用程序组件(bundle)提供了一个标准环境。BundleOSGi应用中具体实现应用的基本单位,一个bundle就是一个jar文件,其中包含所需的类文件和资源文件,并包含一个描述文件;每个bundle都可以被独立打包、部署。OSGi应用以一组服务为单位,包含多个bundlebundle拥有自己的生命周期,可以被安装、启动、激活、停止等。OSGi平台是一个通用目的、安全、受管理的Java软件框架,支持部署可扩展、可下载的服务应用bundles。基于OSGi的网关能够在需要时下载、安装bundles,并在不需要的时候卸载,模块的安装和下载都不需要重新启动系统就可以完成。

1.2 JMF媒体框架

JMF(Java media framework)是一个基于Java语言的多媒体处理API,提供强大的多媒体处理功能。基于JMF框架,能够实现在Java Applet和应用程序中播放各种媒体文件,例如AUAVIMIDIMPEGQuickTimeWAV等文件。可以利用麦克风和摄像机一类的设备截取音频和视频,并保存成多媒体文件,也可用于向互联网上传音频和视频数据流,或播放从互联网上下载的媒体流。

JMF包括JMF APIRTP API两个部分,JMF API主要用于捕捉处理存储和播放媒体,RTPAPI主要用于网络上传输和接收媒体流。JMF为基于时间的媒体数据获取、处理和传送

提供了一个统一的框架和消息协议,支持大部分的媒体类型,为在Java语言下实现应用提供强大的媒体处理和播放控制机制,基于JMF可以实现媒体流传输和媒体会议等应用。RTP(real-time transport protocol)是在网络上传输和接收实时媒体流的协议,提供时间信息和实现流同步,支持在单目标广播和多目标广播网络服务中传输实时数据,适合媒体点播、视频会议、可视电话等实时视频传输应用。

 

2基于OSGi家庭网关的远程监控系统

2.1系统架构

实现家庭用途的远程监控与公司、企业、公用场所等环境的视频监控相比,具有不同特点,包括:必须具有简单、易用性,组网连接操作容易,软件安装方便;要求具有费用低廉、耗电少的特点,家庭一般不会有专门的PC机作为服务器长期伺服,而作为家庭数字网络中心的家庭网关会始终处于工作状态,所以采用家庭网关集成视频监控的功能更符合要求。而远程访问监控信息的用户获取监控的信息可以通过Web服务提供商,专门提供远程监控视频获取服务的机构,获取访问。

基于OSGi家庭网关的远程监控系统架构如图1所示。整个系统硬件上分成3个节点:家庭端监控,由家庭范围内的家庭网关和摄像头提供;远程媒体服务,由远程服务商提供;监控

终端,由PC机或手机连接网络获得访问。

 

软件系统架构上采用以Java语言为中心,多方Java虚拟机的协作访问来实现。家庭网关采用OSGi平台,利用若干bundle提供摄像头驱动、视频/图像采集、Web服务连接等,OSGi平台对bundle进行管理。媒体服务中介,提供Web摄像头的注册和媒体信息服务中介的作用,本系统中采用JavaEE,媒体信息的获取与提供都通过Servlet来实现。监控终端采用支持Java语言的PC机或手机,利用AppletMidlet访问获取实时拍摄结果。该架构实现方案具有跨平台、易扩展、易维护、易实现的特点。

2.2 OSGi家庭网关

OSGi家庭网关主要由OSGi框架和若干bundle组成,如图2所示。家庭网关软件上采用基于OSGi的框架,使整体具有良好的可扩展性,如果增加其它的信息设备连接,只要下载相应的bundles到网关上提供服务即可。在实现该远程监控的应用中,连接到家庭网关的主要设备就是摄像头,通过摄像头来获取实时发生情况的视频,相应需要有bundles的服务支持。在本系统中,创建一个应用,开发若干针对摄像头设备的驱动、视频捕捉和视频发布组件,其中视频捕捉和发布组件采用Java媒体框架实现。为了方便实现组件管理和远程注册服务,需要提供界面配置服务,对家庭网关进行必要的信息登记,提供的配置要求包括:设备管理,查看连接设备及详细信息;远程网络连接管理,是否允许连接、连接的服务器URL等。

 

2.3远程服务

远程媒体服务商提供Web服务,解决服务发布、监控客户端服务查找、和获取视频传输的问题。一般家庭用户接入Internet的特点是多数都是采用动态分配IP,采用固定IP连入网络的情况较少,因此通过Web服务来解决动态互联问题。使用远程监控服务的用户首先在服务商提供的网站上注册,得到惟一服务名,这个服务名称作为后续发布监控视频、查看接收监控视频的标识,同用户信息一起记录入数据库。应用该服务时,首先启动家庭监控节点,该节点以家庭网关上连接的摄像头设备的配置信息为参数连入远程服务商网络,登记连入的IP信息,通过这种注册机制解决网络上动态IP节点服务连接获取的问题。用户通过用户名密码登录,能够查看该用户所登记的监控点,从而启动监控点,建立网络连接,开始视频数据的传输,用户就可以查看到自己家里的实时情况了。

2.4客户端访问

客户端进行监控视频的查看可以通过PC机或手机进行。如果通过PC机终端访问,用户需要登录服务商的Web页面,经过用户名密码验证无误后,可以查看到已登记注册的服务名称,通过点击该名称链接即可获得服务连接,视频信息接收、播放在Applet内完成。如果访问通过手机进行,利用JavaME在手机上开发Midlet组件,提供用户登录、查询服务列表、获取一个服务的监控视频等服务,实现服务器的连接,及信息访问,如图3所示。

 

3系统实现

OSGi平台组件采用EclipseEquinox来实现,开发以下若干bundles。摄像头驱动bundle:包含摄像头的驱动程序,使应用能够获得对摄像头设备的访问,启动摄像头的拍摄。视频捕捉压缩bundle:从摄像头获取视频,用JMF API进行捕捉和压缩处理。网络服务bundle:访问远程服务器,获得远程服务器的连接,并传输发送视频信息。

视频捕捉处理过程实现:首先,获得视频设备对象,由JMF中负责管理设备的CaptureDeviceManager类提供getDevice(String Device)方法创建捕捉设备CaptureDeviceInfo对象。然后,创建并配置处理器(Processor)对象,通过捕捉设备对象创建一个定位器(MediaLocator),用ManagercreateProcessor方法将该定位器包装为处理器对象。最后,为处理器对象进行配置后,调用getDataOutput方法产生数据源。

视频传输过程实现:使用会话管理器(Session Manager)创建输出数据流并控制传输进行,首先,构造一个RTP会话管理器(RTPSessionMgr),创建会话的源地址和目标地址,目标地址从服务器的连接请求中获得。然后,初始化会话的本地状态并打开连接(initSession),以处理器产生的输出数据源为参数创建输出流对象(createSendStream),调用startSession方法启动会话管理器。

视频的接收与播放实现:通过实现ReceiveStreamListener监听器来监听是否有RTP媒体流到达,监测到有数据流到达时创建一个播放器。首先,创建一个RTP会话管理器对象(RTPSessionMgr)。然后,添加输入数据流监听(addReceiveStreamListener),初始化会话并打开连接(initSession),调用startSession方法启动会话管理器。

远程服务器采用Eclipse+Tomcat+MySQL进行测试,部署提供远程服务页面。客户端访问服务的界面如图4所示。

4结束语

包括远程监控在内的若干家庭网络应用已经随着数字家庭的研究,逐渐走入人们的视野,围绕着家庭网关、智能家庭网络服务器、或多媒体服务中心,衍生出众多标准。本文论述了基于OSGi家庭网关下实现远程监控系统的解决方案,针对家庭环境监控的若干特点,提出一种解决方案和软件架构,并利用OSGiJMFAPI加以实现。测试表明,该系统能够有效的实现通信和视频信息传递,能够有效的实现对家庭环境的远程监控,较好的解决了家庭环境下的远程监控问题。

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号