一种基于智能手机的远程视频监控的设计.pdf_第1页
一种基于智能手机的远程视频监控的设计.pdf_第2页
一种基于智能手机的远程视频监控的设计.pdf_第3页
一种基于智能手机的远程视频监控的设计.pdf_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 34 卷 第 6 期 2011 年 12 月 电 子 器 件 Chinese Journal of Electron Devices Vol. 34摇 No. 6 Dec. 2011 项目来源:江苏省自然科学基金项目(BK2010167) 收稿日期:2011-07-21摇 摇 修改日期:2011-08-12 Design of Remote Video Monitoring Based on Android Smart Phone* CAO Xiaofang,WANG Chao*,LI Jie (College of Electronic Science and Engineering,Southeast University,Nanjing 210096,China) Abstract:In order to realize mobile video monitoring,a remote video monitoring system based on smart phone is presented. This paper introduces the architecture and hardware platform of the system and the development methodology of Android applications,and combining with the practical system,it emphatically discusses the imple鄄 mentation of the client program based on Android. It analyses the porting method of FFmpeg library for H. 264 data decoding and the use method of OpenGL ES for real鄄time displaying. The result of experiment based on Wireless network indicates that the system achieves the desired goal that realizes mobile video monitoring by smart phone. Key words:mobile monitoring;Android;H. 264;OpenGL ES;multithread EEACC:6210L;7200摇 摇 摇 摇 doi:10. 3969/ j. issn. 1005-9490. 2011. 06. 025 一种基于 Android 智能手机的远程视频监控的设计* 曹晓芳,王摇 超*,李摇 杰 (东南大学电子科学与工程学院,南京 210096) 摘摇 要:为了实现移动视频监控,提出了一种基于智能手机的远程视频监控系统。 介绍了监控系统的体系结构和硬件平台, 阐述了嵌入式操作系统 Android 应用程序的开发方法,并结合实际的应用系统,重点论述了 Android 平台上视频监控客户端的 设计思路。 移植了音视频解码库 FFmpeg 进行 H. 264 视频解码,并采用 OpenGL ES 实现实时视频显示。 在无线局域网络的环 境下对视频监控终端进行测试,达到了利用手机进行移动视频监控的目的。 关键词:移动监控;Android;H. 264;OpenGL ES;多线程 中图分类号:TP39摇 摇 摇 摇 文献标识码:A摇 摇 摇 摇 文章编号:1005-9490(2011)06-0709-04 摇 摇 随着多媒体技术、视频压缩技术以及网络传输 技术的发展,视频监控正朝着数字化、网络化、智能 化方向持续发展,并越来越广泛地渗透到政府、教 育、娱乐、医疗等领域1-2。 目前大部分的网络视频 监控系统是基于 WEB 服务器的,监控终端为 PC 机,用户使用浏览器获取监控服务。 由于互联网接 入地点的限制,普通的网络视频监控无法满足用户 在任何时间、任何地点获取监控信息的需求3-4。 本文介绍了一种以 Android 智能手机为终端的视频 监控系统,该系统将传统的视频监控与移动多媒体 技术相结合,真正实现了移动视频监控。 1摇 系统的结构 本文中的视频监控系统采用 C/ S 体系结构。 如图 1 所示,该系统由视频采集端(摄像头),视频 服务器以及监控客户端等构成。 图 1摇 视频监控系统总体结构 视频服务器是整个系统的核心部分,它将摄像 头采集到的原始模拟信号转换为数字信号,并对视 频数据进行编码压缩,最后通过 Internet 将压缩后 的数据传送至客户端。 客户端通过 TCP/ IP 协议访 问服务器,通过对视频数据的接收、解码以及显示, 实现实时预览功能。 客户端也可以根据用户需求发 送控制命令,实现对前端设备的控制操作,如云台控 制等。 服务器部分采用 Hi3515 处理器芯片为硬件平 电摇 子摇 器摇 件第 34 卷 台,并移植了嵌入式操作系统 Linux 作为整个系统 运行的软件环境。 Hi3515 是一款基于 ARM9 处理 器内核以及视频硬件加速引擎的高性能通信媒体处 理器,具有 H. 264 和 MJPEG 多协议编解码能力5。 本文以基于 Hi3515 的远程视频监控系统为例,重点 介绍了 Android 平台上监控客户端的设计过程。 2摇 Android 开发介绍 Android 是基于 Linux 开放性内核的操作系统, 是 Google 公司在2007 年11 月5 日公布的手机操作 系统。 Android 采用软件堆层的架构,主要分为三部 分:底层以 Linux 核心为基础,提供基本功能;中间 层包括函数库和虚拟机;最上层是各种应用软件。 Android 平台显著的开放性使其拥有众多的开发者, 应用日益丰富,不仅应用于智能手机,也向平板电 脑、智能 MP4 方面急速扩张。 Android 应用程序用 Java 语言编写,每个应用 程序都拥有一个独立的 Dalvik 虚拟机实例,这个实 例驻留在一个由 Linux 内核管理的进程中。 Dalvik 支持 Java Native Interface(JNI)编程方式,Android 应 用程序可以通过 JNI 调用 C/ C+开发的共享库,实 现“Java+C冶的编程方式。 开发 Android 应用程序最 简捷的方式是安装 Android SDK 和 Eclipse IDE。 Eclipse 提供了一个丰富的 Java 环境,Java 代码通过 编译后,Android Developer Tools 会将它打包,用于 安装6。 图 2摇 客户端总体框架 3摇 监控客户端的设计与实现 基于 Android 平台的监控客户端的总体框架如 图 2 所示,分别由网络通讯模块、视频解码模块以及 视频显示模块等构成。 其中网络通讯模块接收来自 服务器的所有数据,对数据进行解析,并将视频数据 存入到视频缓冲区。 视频解码模块负责从视频缓冲 区中读取数据并送入 H. 264 解码器进行解码。 最 后,采用 OpenGL 图形库将解码后图像绘制到屏幕 上实现视频播放。 3. 1摇 H. 264 视频解码器的实现 在网络视频监控系统中,视频的编码压缩是非常 必要和关键的工作,没有经过压缩的海量数据对网络 传输系统来说是无法承受的7。 H.264 是目前最先进 的视频压缩算法,它由视频编码层 VCL 和网络提取层 NAL 两部分组成。 其中,VCL 进行视频编解码,包括运 动补偿预测、变换编码和熵编码等;NAL 采用适当的格 式对 VCL 视频数据进行封装打包。 H.264 标准对编码 效率和图像质量进行了诸多改进,且抗丢包性能和抗 误码性能好,适应各种网络环境,非常适合于对压缩率 要求高,网络环境复杂的移动视频监控8-9。 客户端接收的数据是经过 H.264 编码压缩后的数 据,需要经过 H.264 解码还原视频图像后才能够显示, 因此,H.264 解码器是客户端的关键部分。 这里移植 了开源的音视频解码库 FFmpeg 进行 H.264 解码。 在 Android 应用程序中使用 FFmpeg 的步骤如下: (1)在 Linux 环境下安装 Android 原生开发工具 包 NDK。 (2)创建 jni 文件夹,将 FFmpeg 工程复制到文 件夹下。 创建 H264Decoder. c 源文件,提供 Android 程序使用的接口函数,文件需要包括 JNI 的操作头 文件,且函数名有固定的形式,如 com_ ipcamera_PreView_H264Decoder 表示 com_ipcamera 包下面 PreView 类中 H264Decoder 函数。 (3)创建 Android. mk 文件,该文件包含正确构 建和命名库的 MakeFile 说明。 分别在 LOCAL_SRC _FILES 和 LOCAL_C_INCLUDES 项中添加编译模块 所需源文件和头文件目录。 (4)执行 NDK 开发包中的 ndk鄄build 脚本,生成 对应的. so 共享库,并复制到 Android 工程下的 libs/ armeabi 目录下。 (5) 在 Android 程序中通过 System. loadLibrary (“库名称冶)加载所需要的库,加载成功后,应用程序 就可以使用 H264Decoder 函数进行 H.264 的解码。 3. 2摇 OpenGL ES 绘图 为了提高绘图的效率,客户端使用 OpenGL ES 实现视频图像的显示。 OpenGL ES 是一个 2D/3D 轻量图形库,是跨平台图形库 OpenGL 的简化版。 OpenGL ES 专门针对手机、PDA 和游戏主机等嵌入 式设备而设计,目的是为了充分利用硬件加速,适合 复杂的、图形密集的程序。 Android 中使用 GLSurfaceView 来显示 OpenGL 视图10,该类继承至 SurfaceView 并包含了一个专 门用于渲染 3D 的接口 Renderer,主要通过实现 on鄄 DrawFrame、onSurfaceChanged 以及 onSurfaceCreated 017 摇 第 6 期曹晓芳,王摇 超等:一种基于 Android 智能手机的远程视频监控的设计 等方法构建所需的 Renderer。 解码器解码一帧图像 后,调用 GLSurfaceView 的 requestRender 方法通知 OpenGL ES 完成视频图像的显示。 使用 OpenGL 绘 图11的核心代码如下: IntBuffer texBuf=IntBuffer. allocate(1); gl. glGenTextures(1,texBuf);/ / 创建纹理 texture=texBuf. array(); gl. glBindTexture ( GL10. GL _ TEXTURE _ 2D, texture 0);/ / 绑定纹理 gl. glTexImage2D(GL10. GL_TEXTURE_2D,0,GL10. GL_ RGB,width,length,0,GL10. GL_RGB,GL10. GL_UNSIGNED_ SHORT_ 5 _ 6 _ 5, TextureData);/ / 生 成 纹 理, 数 据 格 式 为 RGB565 gl. glTexParameterx(GL10. GL_TEXTURE_2D,GL10. GL_ TEXTURE_MAG_FILTER,GL10. GL_NEAREST); gl. glTexParameterx(GL10. GL_TEXTURE_2D,GL10. GL_ TEXTURE_MIN_FILTER,GL10. GL_NEAREST);/ / 线性滤波 gl. glTexCoordPointer(2,GL10. GL_FLOAT,0,texCoords); gl. glEnableClientState(GL10. GL_TEXTURE_COORD _ ARRAY);/ / 指定纹理映射并开启纹理 gl. glDrawArrays(GL10. GL_TRIANGLE_FAN,0,4);/ / 绘 制四边形 gl. glDisableClientState(GL10. GL_TEXTURE_COORD_ ARRAY);/ / 关闭纹理 3. 3摇 多线程设计 视频数据的接收和解码都是复杂、持续的过程, 如果其中一个过程出现阻塞会影响整个程序的运行, 因此,客户端使用多线程实现数据接收和视频解码的 并行处理。 在整个程序运行过程中,主线程响应用户 操作,负责屏幕刷新工作,并创建两个子线程:数据接 收和视频解码子线程,处理过程如图3 所示。 图 3摇 子线程处理流程 在 Java 中,多线程的实现有两种方式:扩展 java. lang. Thread 类或实现 java. lang. Runnable 接 口。 这里通过继承 Thread 类并覆写 run()方法实现 两个子线程。 在多线程的应用中关键是处理好线程 之间的同步问题,以解决对共享存储区的访问冲突, 避免引起线程甚至整个系统的死锁。 Java 多线程主 要利用 synchronized 关键字和 wait()、notify()等方 法实现线程间的同步12。 4摇 结束语 目前,该系统已经在实验室进行测试,服务器输 出15fps CIF 格式的 H. 264 视频数据,客户端安装在 Android 手机上,通过 WIFI 接入无线局域网中与服 务器建立连接,用户界面如图 4 所示,可实现远程视 频预览、云台控制等操作。 图 4摇 监控客户端 随着 3G 时代的到来,数据传输速度有了大幅 提升,为移动实时视频业务的实现创造更好的条件。 手机用户可以直接接入 3G 网络访问视频监控服务 器,实现移动在线的实时视频监控。 由此可见,手机 视频监控市场潜力巨大,具有很好的发展前景。 参考文献: 1摇 杨鑫,牛建伟,胡建平. 一种基于 H. 264 的智能手机监控系统 设计与实现J. 微电子学与计算机,2006,23(9):118-119. 2杨红军. 智能视频监控系统的设计研究J. 科技情报开发与 经济,2010,20(4):110-111. 3吕雪. 基于网络的视频监控系统研究J.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论