基于Android智能手机的多媒体远程监控
系统设计 摘要:多媒体远程监控是指通过
网络实现对远程场景的音视频监控。本文主要介绍一种以Android智能手机为控制端,以个人电脑为服务器端,以摄像头与话筒为主的多媒体设备为被控端的三点一线的远程监控系统;控制端和服务器端的网络传输采用TCP协议,控制端和服务器端分别采用Android,
Java实现。
关键字:Android智能手机,多媒体远程监控,Socket管理器,Java多媒体框架
中图分类号:
一.背景
远程监控是指本地
计算机通过远程监控
软件发送指令给远程计算机,从而控制远程的监控设备采集当地信息,并不断将信息返回给本地计算机的过程。
远程监控必须通过网络才能实现,位于本地的计算机是操纵指令的发出端,一般称为控制端或客户端,而非本地的计算机则通常叫做被控端或服务器端。因而现在的远程监控软件一般分为两部分:一部分是客户端程序(Client),另一部分是服务器端程序(Server),通常在使用前需要将客户端程序安装到控制端载体上,将服务器端程序安装在被控端载体上,通过客户端程序向服务器端程序发出访问信号,建立远程连接,然后通过这个远程连接双方传递信息,实现远程控制。
现今使用的远程控制软件大都基于以上原理。而本文将介绍一种以Android智能手机为控制端,以个人电脑为服务器端,同时将多媒体设备控制程序从服务器端程序分离出来形成独立程序的C/S+M(Media)架构的多媒体远程监控系统。
二. 系统结构与实现
上文介绍了本文的背景,现在将从系统总体结构设计,服务器端设计,手机端设计,多媒体设备控制程序设计四个方面介绍一下本系统的结构与实现。下面先介绍一下系统总体结构设计。
1.系统总体结构设计
本系统采用的是一种在传统的C/S架构的基础上改进的C/S+M架构。Android智能手机为客户端(Client)即控制端,个人电脑为服务器端(Server);本系统的改进是将音视频设备程序从传统的服务器端程序分离出来独立为多媒体设备控制程序(Media)。这样改进的好处是增强了系统各模块的独立性,便于系统的移植和维护,同时也大大增加了代码的可重用性。下面先看一下本系统的总体架构图:
图2-1 系统总体架构图
如上图2-1所示,本系统分三个大模块,现在从总体上看个模块的运作,服务器端程序启动后,初始化服务器端程序,等待手机端访问。手机端程序启动后,向服务器端发出访问信号,服务器端收到信号核实信号后,双方建立连接。手机端向服务器端发出操作指令;服务器端收到指令后解析处理指令,然后将处理后的指令传给多媒体设备控制程序;多媒体设备控制程序根据收到的指令,初始化相关设备,执行相关操作指令,采集信息,然后将信息传给服务器端;服务器端将采集到的信息
压缩处理发送给手机端;手机端将信息读取。从上面叙述中可大致看出本系统的结构。下面从每个模块分别介绍其结构与设计。
2. 服务器端设计
服务器端程序将运行在个人电脑上,用Java实现。下面从服务器端程序的架构分析,各模块的功能描述,接口定义三方面具体介绍服务器端程序设计。然后重点介绍一下指令处理模块及其自定义的编解码协议。
现在先看一下服务器端程序框架:
图2-2 服务器端功能模块图
结合上图,在这逐项描述各个模块的功能:
(1)初始化模块:启动应用程序后第一个运行的模块。它负责初始化应用程序的运行状态,获取网络IP地址/端口,用户登入密码等。
(2)连接监听模块:程序初始化后,开始在指定端口进行T