查字典论文网 >> 基于IOS平台的智能视频系统客户端设计与实现

基于IOS平台的智能视频系统客户端设计与实现

小编:

摘 要:随着物联网和移动互联网技术的飞速发展,智能终端产品性能不断提高,国内4G网络的推广使得越来越多的用户通过手机随时随地接入互联网获取信息。使用目前流行的IOS开发平台,设计一套为家庭量身定制的实时视频监控客户端。针对IOS开发平台的应用界面、业务逻辑等设计并实现了用户登录注册、添加删除摄像机、实时观看视频、动态录像并提醒、云台控制等功能。使用海康威视的DS-2CD3Q10FD-IW对视频流媒体进行测试,结果表明该系统界面简洁大方,功能丰富稳定,代码可重用性高且系统占用内存小,符合用户需求。

关键词:IOS视频监控;流媒体;手机客户端

DOIDOI:10.11907/rjdk.151365

中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2015)007-0120-04

0 引言

无线网络摄像机只需通过WiFi、3G或4G网络即可进行网络传输,其一般由镜头、图像传感器、声音传感器、A/D转换器、图像、声音、控制器网络服务器、外部报警、控制接口等组成。除具备一般传统摄像机图像捕捉功能外,还内置了数字化压缩控制器和基于Web的操作系统,使得视频数据经压缩后,通过局域网、Internet或无线网络传送至终端用户。目前,随着H.264[1]、MPEG4编码、RTSP视频流传输协议的不断发展,网络传输质量也有了质的飞跃。

IOS是国际上享有盛名的IT巨头美国苹果公司为其旗下的移动终端产品自主开发的操作系统,主要应用于苹果手机以及平板电脑等手持终端设备。该系统以丰富的软件支持,极简的操作和安全的平台为广大用户所青睐。因此选择IOS系统为平台开发的智能视频客户端市场前景更好。随着4G的飞速发展,用户可以随时随地以较低的资费观看流畅的视频,大大提高了用户体验。本文开发一款基于IOS平台、稳定、流畅的视频监控客户端。

1 IOS开发平台与开发环境

1.1 IOS平台

对于一个希望进入IOS开发环境的开发人员,首先需要一台苹果 Mac 电脑,只有在 Mac 电脑上才可以创建、编译、调试在 iPad、iPhone 和 iPod touch 上可以运行的原生 IOS 应用程序。强调原生主要是因为有些开发人员选择通过HTML5编程实现软件跨平台开发,也有使用安装在Intel CPU和部分AMD CPU上的苹果系统即黑苹果,前者使得软件功能存在很大的局限性,无法使用IOS自身底层封装的很多功能,如扫动切屏等;后者则在编译上出现无法预测的错误,两者都会降低IOS开发软件的性能,所以本文推荐使用IOS原生系统进行软件开发。开发版本为最新的IOS8,该版本对一些常用功能作了大幅度改进,更符合用户使用习惯,同时系统版本向下兼容。

1.2 IOS开发环境

Xcode是苹果官方为IOS开发人员提供的唯一的开发集成套件,使用GCC编译器,程序员通过Xcode进行工程创建和代码编写。本文使用最新的Xcode6.1.1版本进行系统开发。开发语言选择目前主流的Objective-C[2],OC是一种通用、高层次、面向对象的编程语言,相对于Swift语言,具有数据结构丰富、支持异常处理、支持复杂的宏定义等优点。

2 客户端模块设计及程序实现

2.1 客户端模块设计与流程

本客户端设计主要由IOS UI(user interface)模块、视频流接收模块、视频播放模块以及视频、截屏分享等模块组成。IOS SDK 提供了在IOS 平台上使用Objective-C进行应用开发的API(Application Programming Interface,应用程序编程接口)和工具,海康威视为第三方开发者提供了相应的视频开发工具包。本文主要使用这两个SDK完成IOS客户端开发。

IOS UI模块的功能(见图1)主要有:①用户注册和登录;②向服务器发送POST请求;③将用户名密码提交给服务器并获取对应的无线网络摄像机UID号和名称;④添加和删除摄像机;⑤查看用户图片及录像。

图1 客户端功能模块结构

视频流接收模块接收到无线网络摄像机的请求后发送到云服务器,然后由云服务器返回到手机客户端,由H264解码[3]模块进行解码,再通过视频播放模块将接收到的视频实时呈现给用户。本客户端具体运作流程如下:①点击进入注册登录界面。如果已有账户,直接输入用户名和密码登录,如果是新用户点击注册,完成后跳回登录界面进行登录。如果用户是第一次登陆显示新特性界面,否则直接跳入主界面;②进入主界面后选择添加/删除设备,通过UITableView呈现,可选择手动添加或扫描二维码添加,完成设备添加后即可对视频进行观看、截屏、分享等操作。通过调用第三方静态库实现视频编解码,通过SurfaceViewHolder将视频监控画面呈现给用户。

2.2 客户端的主要程序设计与实现

2.2.1 IOS UI设计

IOS系统总体框架主要由表示层(UIKit Framework)、业务逻辑层、数据持久层(Sqlite API、CoreData、HTTP网络通信技术)、信息系统层(Sqlite DB、文件系统、云服务)4个部分组成。其中,UI设计主要涉及表示层和业务逻辑层。本文UI界面主要包括用户注册登录、新特性介绍、视频观看及主要功能界面。类图如图2所示。

2.2.2 注册登录及产品新特性介绍功能

IOS客户端通过调用Web service向服务器发出POST请求[4],从服务器获取登录接口,IOS端主要通过第三方提供的AFNetworking框架完成URL接收、XML解析、数据接收及拼接等一系列工作,使用AFN框架[5]需要结合IOS自己封装的SystemConfiguration.framework,MobileCoreServices.framework框架,通过POST请求登录界面的主要方法为: 新特性界面主要由UIScrollView控件完成,将沙盒中的版本号和info.plist中的版本号进行比较,判断用户是否第一次使用该客户端,如第一次使用,显示版本新特性界面;非第一次使用,显示主界面(显示状态栏)。

添加/删除摄像机通过UITableView呈现,根据用户操作将摄像机UID号从plist文件中加入或删除,并同步到服务器中,同时以列表的形式呈现摄像机,使用户对设备状态一目了然。

2.2.3 获取摄像机实时视频流模块设计

获取实时视频流功能通过摄像机厂商提供的SDK实现。首先将libavccodec.a,libavutil.a,libavfilter.a导入到IOS工程中的Resources/Frameworks/目录下。 根据接口描述初始化服务,由于该方法在刚进入程序即调用,因此需要在ViewDidLoad中加载,代码如下:

2.2.4 客户端对实时监控视频接收

在IOS实时视频监控系统中,视频实时预览是最后一步也是最重要的一步。流媒体服务器通过无线网络发送监控视频的流媒体信息后,需要进行网络流的接收以及解码、播放。客户端实时监控功能设计主要包括网络接收、上屏显示、音视频编解码、实时控制等模块。总体设计流程与技术路线如图3所示。

视频服务器将解压缩的视频数据通过无线网络传送至客户端,Iphone客户端根据协议访问服务器,并在本地对视频数据进行接收并显示,实现视频实时监控。多媒体数据传输主要通过以 UDP协议[6]为载体的 RTP 协议来完成,RTP/RTCP 协议利用UDP协议对数据进行封装,满足传输实时数据实时性高于可靠性的要求,以此降低网络延迟。RTP 数据包中包含传输媒体的格式、序列号、时间、类型戳等信息。本文框架通过 RTCP和RTP协议的配合,大大提高了传输数据的效率,实现了流媒体数据的实时传输。

图3 客户端接收实时监控信息

2.2.5 客户端对云台的控制

云台控制是现代无线网络摄像机的一大特色,通过云台功能用户可以实现远端操控摄像头的方位,实现对目标的观测和跟踪,取得更好的监控效果。客户端和服务器之间通过TCP协议建立连接,再通过双方遵循的约定,由客户端向服务器发送云台方位调整指令,服务器接收到指令后通过串口通信控制摄像头完成相应命令。本文主要使用 UIGestureRecognizer[7]的子类 UISwipeGestureRecognizer配合第三方提供的控制云台方法完成此功能。用户只需通过对客户端上下左右的轻扫即可完成对网络摄像头的控制。IOS实现云台控制的主要代码(以向上移动为例)为:

3 应用平台与客户端测试

3.1 测试环境

本文测试环境使用的移动终端为搭载了移动4G的Iphone6设备,该设备使用最新的IOS8系统。摄像机选择海康威视提供的DS-2CD3Q10FD-IW,产品主要参数如表2所示。

3.2 应用平台与功能测试

软件通过编译安装在手机设备上,对客户端进行真机测试。输入用户名、密码,完成登录,显示版本特性。进入主界面后输入已经准备好的网络摄像机UID号添加设备。通过大量测试,在网络较好的情况下,视频流畅播放,云台控制反馈及时,帧率可基本维持在28f/s,基本达到同步要求。界面和实时监控效果如图4所示。

4 结语

本文以IOS为开发平台,开发了一款针对无线网络摄像机的实时监控客户端。使用了IOS系统提供的相关技术框架和海康威视提供的第三方框架,用户可以实时查看居室内状况,同时可添加多个摄像头,设计风格符合苹果终端简便、大方的发展趋势,软件功能实用,摄像头实时监控稳定可靠,符合用户需求,用户体验出色。如何实现多画面实时显示,以及将截屏分享到朋友圈等功能是下一步研究的方向。

参考文献:

[1] 姚琳.安防监控热门方案评价[J].电子设计技术.2009(8):30-35.

[2] 胡志明.基于 ArcGIS for iOS 的移动 GIS 开发研究[J].华东师范大学学报,2012(5):32-36.

[3] 汪文芳.基于移动终端的自然场景文本定位和识别[D].西安:西安电子科技大学,2011:20-25.

[4] 毕厚杰,王健.新一代视频压缩编码标准264/AVC[M].北京:人民邮电出版社,2012.

[5] JAMES DUNCAN DAVIDSON.Cocoa入门一使用Objective-C第一版[M].北京:中国电力出版社,2008.

[6] 李璐.高清、智能、移动成就下一代视频监控[J].通信世界,2011(33):39-40.

[7] HAO ZENG, HUA-XIANG CHE,GUANG-LI CAO. Design of mobile video surveillance based on Android[C]. IEEE International Conference on Computer Science&Service System,2012:765-768.

热点推荐

上一篇:基于NFC技术的网络机房巡检系统设计

下一篇:如何对幼儿进行德育教育论文 幼儿园关于德育教育之类的论文

最新生活规划心得体会800字 大学生活的规划与心得体会(通用6篇) 冬奥活动感想