朱敏
(温州职业技术学院 计算机系,浙江 温州 325035)
基于Android智能手机多媒体远程视频监控系统的设计
朱敏
(温州职业技术学院 计算机系,浙江 温州 325035)
多媒体远程视频监控系统可通过网络实现对远程场景的音视频监控。针对目前流行的Android操作系统,采用C/S+M(Media)架构和Java技术,设计基于Android智能手机多媒体远程视频监控系统。测试结果表明,系统性能稳定可靠,可操作性强。
Android;智能手机;远程视频监控;服务器端;客户端
远程监控是指本地计算机通过远程监控软件发送指令给远程计算机,从而控制远程监控设备采集当地信息,并不断将信息返回给本地计算机的过程。以计算机为终端的远程监控,解决了地域的限制,并且技术越来越成熟,应用越来越广泛;以移动设备为终端的远程监控使用更加方便快捷,可应用于停车场、居民区、幼儿园、应急等场景,对家庭、小区、企业或灾害现场进行视频监控、现场指挥等操作。但目前以PC机为终端的远程监控技术无法满足用户多元化增长的需求。本文提出基于Android智能手机多媒体远程视频监控系统的设计方案,将多媒体设备控制程序从服务器端程序分离出来,形成基于独立程序的C/S+M(Media)架构的新型多媒体远程视频监控系统。
远程视频监控软件一般分为客户端程序(Client)和服务器端程序(Server),在使用前需要将客户端程序安装在控制端载体上,将服务器端程序安装在被控端载体上,通过客户端程序向服务器端程序发出访问信号,建立远程连接传递信息,实现远程视频控制。基于Android智能手机多媒体远程视频监控系统,将音视频设备程序从传统的服务器端程序分离出来,独立为多媒体设备控制程序(Media)。这增强了系统各模块的独立性,便于系统的移植和维护,同时也大大增加了代码的可重用性。该视频监控系统采用改进的C/S+M(Media)架构:客户端为Android智能手机,即控制端;服务器端为个人电脑。其系统总体架构[1]如图1所示。
图1 系统总体架构
多媒体远程视频监控系统包括采集模块、编解码模块、传输模块、显示模块四大模块,采用三点一线的驱动方式(C/S+M(Media)架构)。其硬件结构有云台摄像头、网络视频服务器、智能手机客户端。云台摄像头获得视频数据,视频获取与传输单元完成视频数据的采集与压缩编码等处理。系统的关键技术是编码器的设计,使用H.264编码器将拍摄到的模拟信号进行压缩编码转换成数字信号,并通过TD-SCDMA无线Modem发送到TD-SCDMA网络,经由Internet将信号传送给视频服务器,智能手机客户端通过Internet访问视频服务器并获取视频数据[2]。云台相当于摄像头的底座,是作为支撑物安装在工作台上的,对云台控制协议解析和传输是多媒体远程视频监控系统中的关键技术之一。客户端向服务器端发出操作指令,服务器端收到指令后解析处理指令,将处理后的指令传给多媒体设备控制程序;多媒体设备控制程序根据收到的指令初始化相关设备,执行相关操作指令,采集信息,将信息传给服务器端;服务器端将采集到的信息压缩处理后发给客户端,客户端将信息读取并显示[3]。
2.1 服务器端
在服务器端,利用socket=new socket()创建一个客户端的socket对象。当setSoTimeout设置超时时,可直接使用socket.connect连接客户端和服务器端,并采用socket.getInputStream()获取服务器端传输的图像数据[4]。此外,服务器端还需开启一个单独线程用于监听客户端的连接请求,同意请求后,运用JM F方法从相应数据位置抓取图像数据转换成输出流,并传输给客户端,形成一个完整的图像传输过程。服务器端设计流程[5]如图2所示。
图2 服务器端设计流程
服务器端主要模块及功能如下:
(1)初始化模块。负责初始化应用程序的运行状态,获取网络I P地址/端口及验证用户登录密码等。
(2)连接监听模块。在程序初始化后,连接监听模块在指定端口进行T CP监听,等待远程连接。
(3)远程连接模块。负责进行实际的TCP连接和数据收发。当客户端发出访问信号、服务器端核实身份并开始接收数据后,再分配新的socket套接字完成TCP连接并进行数据通信。
(4)指令处理模块。将接收到的操作指令解析处理,分析出要操作的对象及对其进行相关操作。
(5)数据处理模块。负责将要传输的信息进行压缩,并根据自定义的编解码协议封装处理,然后交给远程连接模块进行传输。
2.2 客户端
客户端功能主要包括视频观看、切换通道、全屏放大、云台控制、调焦、手机抓拍、收藏及退出分享等。对于媒体流文件来说,数据预处理层先将RT P的报头信息去除,再对RTP中的音视频信息进行组帧,同时将全部的数据帧传递到上层待解码缓冲区;而对于本地文件,则需要按照相对应的媒体格式进行解封装,再将获取文件的音视频等信息按帧放入对应的上层待解码缓冲区。远程视频实时监视的用户界面主要通过Android的GUI系统来实现,负责提供播放器和用户之间的交互接口,如播放时的快进、后退、暂停等功能。Android的GUI系统由Java语言框架和C语言框架组成,分成上下两层。对于下层,G U I系统通过调用显示输入输出设备的驱动,将硬件和Android的软件系统联系起来;对于上层,GUI系统提供Java层次的绘图接口,Android的Java框架层调用这些接口构建各种UI元素。此外,Java应用程序层也可调用这些接口。音视频解码层包括解码选择组件、多样主流音视频格式的解码器及多路媒体流之间的同步功能[6]。客户端设计流程[5]如图3所示。
图3 客户端设计流程
客户端主要模块及功能如下:
(1)初始化模块。负责初始化应用程序的运行状态,得到背景参数,设置全局变量。
(2)连接设置模块。用户设置连接I P地址、端口、登录密码等。
(3)套接字管理器。管理套接字的状态和使用。
(4)远程连接模块。负责进行实际的网络连接和与服务器端通信。
(5)指令生成模块。负责根据用户的界面操作,产生相应的操作指令并根据自定义的编解码协议封装。
(6)数据显示模块。将处理好的媒体信息在手机上进行显示或播放。
(7)数据处理模块。将远程连接模块收到的信息进行相应处理,将其转化成智能手机上能显示的信息。
2.3 多媒体设备(Media)控制程序
多媒体设备控制程序包括音视频程序,每个程序中都有独立的操作指令线。指令处理模块将接收到的操作指令进行解析处理,分析出要操作的对象及对其进行相关操作。它将数据流转化成字符串,然后采用indexOf()和substring()方法,根据自定义的编解码协议将字符串分割,提取字符串中的信息。
编解码协议定义两种信息类型:一是数据型,以d表示data;二是指令型,以o表示order。数据型信息编码协议结构是指,输入单元将来自外部的输入信号进行数字转换及串并转换,并将转换后的输入信号分别提供给输出单元及解码单元;输出单元将来自输入单元的输入信号串并转换及模拟转换成输出信号,并将输出信号输出到外部。指令型信息编码协议结构为:信息类型\操作设备\一级操作\二级操作\三级操作\信息结尾符end,如“o\camera\picture \end”表示摄像机拍照指令,“o\camera\picture\ save\end”表示将所拍照片保存指令。
多媒体远程视频监控系统设计完成后,对其进行兼容性/适应性测试,结果表明,该系统能兼容三星9100、HTChero、ZTEU880等三款以上的Android常用手机机型。同时还进行了功能测试、性能测试、用户体验/易用性测试、互操作性测试。在测试过程中,系统界面易操作,用户体验度良好,不同监控界面切换流畅,性能稳定。服务器端和智能手机客户端通信也达到了预期要求,能够在500ms以内即时响应服务器的请求并能快速反馈视频监控结果。通过该系统可控制云台向上、向下、向左、向右移动,还可快照,具备分享到网络上等功能。Android智能手机客户端视频监控界面如图4所示。
图4 Android智能手机客户端视频监控界面
随着网络和视频编码技术的不断发展,移动视频监控将是未来视频监控行业的发展方向。针对目前流行的Android操作系统,采用C/S+M(Media)架构和Java技术,设计基于Android智能手机多媒体远程视频监控系统,大大提升了系统的性能,并增加了系统的移植性和代码的可重用性。基于Android智能手机多媒体远程视频监控系统整体投入成本低,界面人性化,基本实现了手机客户端对前端摄像头的实时监控功能。
[1]秦耕,程克非,张亚奎.基于智能手机的电脑远程控制系统设计[J].微计算机信息,2009(3):22-24.
[2]魏崇毓,张菲菲.基于Android平台的视频监控系统设计[J].计算机工程,2012(14):215-216.
[3]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010:1-5.
[4]黄金雪.Socket高效网络服务端研究[J].现代计算机,2011(10):22-25.
[5]李琴,陈立定,任志刚.基于Android智能手机远程视频监控系统的设计[J].电视技术,2012(7):134-136.
[6]杨明极,毕晶.基于Android视频客户端的设计[J].电视技术,2012(3):43-47.
[责任编辑:林海平]
Design of Smart Phone Multimedia Remote Video Surveillance System Based on Android
ZHU Min
(Computer Science Department, Wenzhou Vocational & Technical College, Wenzhou, 325035, China)
The multimedia remote video surveillance system can monitor the audio and video of remote scene through the network. Applying C/S+M (Media) structure and Java technology, the smart phone multimedia remote video surveillance system is designed based on the current Android operating system. It is proved that the system is stable and reliable with strong operability.
Android; Intelligent mobile phone; Video monitor of remote scene; Server; Client
TP277.2
A
1671-4326(2013)02-0065-03
2013-01-31
温州职业技术学院科研项目(WZY2010033)
朱 敏(1981—),女,江西吉安人,温州职业技术学院计算机系讲师,硕士.