下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 Android智能手机的远程视频监控的设计 随着多媒体技术、视频压缩技术以及网络传输技术的发展,视频监控正朝着数字化、网络化、智能化方向持续发展,并越来越广泛地渗透到政府、教育、娱乐、医疗等领域。目前大部分的网络视频监控系统是基于WEB 服务器的, 监控终端为PC机,用户使用浏览器获取监控服务。由于互联网接入地点的限制,普通的网络视频监控无法满足用户在任何时间、任何地点获取监控信息的需求。 本文介绍了一种以Android 智能手机为终端的视频监控系统,该系统将传统的视频监控与移动多媒体技术相结合,真正实现了移动视频监控。 1系统的构造 本文中的视频监控系统采用C
2、/ S 体系构造。 如图1 所示,该系统由视频采集端( 摄像头),视频服务器以及监控客户端等构成。 图1视频监控系统总体构造 视频服务器是整个系统的部分,它将摄像头采集到的原始模拟信号转换为数字信号,并对视频数据开展编码压缩,通过Internet 将压缩后的数据传送至客户端。客户端通过TCP/ IP 协议访问服务器,通过对视频数据的接收、解码以及显示,实现实时预览功能。客户端也可以根据用户需求发送控制命令,实现对前端设备的控制操作,如云台控制等。 服务器部分采用Hi3515 处理器芯片为硬件平台,并移植了嵌入式操作系统Linux 作为整个系统运行的软件环境。Hi3515 是一款基于ARM9 处
3、理器内核以及视频硬件加速引擎的高性能通信媒体处理器,具有H. 264 和MJPEG 多协议编解码能力。 本文以基于Hi3515 的远程视频监控系统为例,重点介绍了Android 平台上监控客户端的设计过程。 2Android 开发介绍 Android 是基于Linux 开放性内核的操作系统,是Google 公司在20* 年11 月5 日公布的手机操作系统。Android 采用软件堆层的架构,主要分为三部分:底层以Linux 为根底,提供基本功能;中间层包括函数库和虚拟机;上层是各种应用软件。 Android 平台显着的开放性使其拥有众多的开发者,应用日益丰富,不仅应用于智能手机,也向平板电脑、
4、智能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 会将它打包,用于安装。 3
5、监控客户端的设计与实现 基于Android 平台的监控客户端的总体框架如图2 所示,分别由网络通讯模块、视频解码模块以及视频显示模块等构成。其中网络通讯模块接收来自服务器的所有数据,对数据开展解析,并将视频数据存入到视频缓冲区。视频解码模块负责从视频缓冲区中读取数据并送入H. 264 解码器开展解码。,采用OpenGL 图形库将解码后图像绘制到屏幕上实现视频播放。 图2客户端总体框架。 3. 1 H. 264 视频解码器的实现 在网络视频监控系统中,视频的编码压缩是非常必要和关键的工作,没有经过压缩的海量数据对网络传输系统来说是无法承受的 .H.264 是目前的视频压缩算法,它由视频编码层VC
6、L 和网络提取层NAL 两部分组成。其中,VCL 开展视频编解码,包括运动补偿预测、变换编码和熵编码等;NAL 采用适当的格式对VCL 视频数据开展封装打包。H.264 标准对编码效率和图像质量开展了诸多改良,且抗丢包性能和抗误码性能好,适应各种网络环境,非常适合于对压缩率要求高,网络环境复杂的移动视频监控。 客户端接收的数据是经过H.264 编码压缩后的数据,需要经过H.264 解码复原视频图像后才能够显示,因此,H.264 解码器是客户端的关键部分。这里移植了开源的音视频解码库FFmpeg 开展H.264 解码。在Android 应用程序中使用FFmpeg 的步骤如下: (1)在Linux
7、 环境下安装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 项中添加编译模块所需源文
8、件和头文件目录。 (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 和游戏主机等
9、嵌入式设备而设计,目的是为了充分利用硬件加速,适合复杂的、图形密集的程序。 Android 中使用GLSurfaceView 来显示OpenGL视图,该类继承至SurfaceView 并包含了一个专门用于渲染3D 的接口Renderer,主要通过实现on鄄DrawFrame、onSurfaceChanged 以及onSurfaceCreated等方法构建所需的Renderer.解码器解码一帧图像后,调用GLSurfaceView 的requestRender 方法通知OpenGL ES 完成视频图像的显示。使用OpenGL 绘图的代码如下: 3. 3多线程设计 视频数据的接收和解码都是复杂、持
10、续的过程,如果其中一个过程出现阻塞会影响整个程序的运行,因此,客户端使用多线程实现数据接收和视频解码的并行处理。在整个程序运行过程中,主线程响应用户操作,负责屏幕刷新工作,并创立两个子线程:数据接收和视频解码子线程,处理过程如图3 所示。 图3子线程处理流程。 在Java 中, 多线程的实现有两种方式: 扩展java. lang. Thread 类或实现java. lang. Runnable 接口。这里通过继承Thread 类并覆写run()方法实现两个子线程。在多线程的应用中关键是处理好线程之间的同步问题,以解决对共享存储区的访问冲突,防止引起线程甚至整个系统的死锁。Java 多线程主要利用synchronized 关键字和wait( )、notify( ) 等方法实现线程间的同步。 4 结束语 目前,该系统已经在实验室开展测试,服务器输出15fps CIF 格式的H. 264 视频数据,客户端安装在Android 手机上,通过WIFI 接入无线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河北金融学院高层次人才选聘2人笔试备考试题及答案解析
- 2026春季上海市钟山初级中学教师招聘2人笔试备考题库及答案解析
- 海南省2025年数学中考真题试卷附答案
- 2026广东广州市荔湾区招募文物保护监督员3人笔试模拟试题及答案解析
- 2026广东深圳市福田区福堤幼儿园招聘笔试模拟试题及答案解析
- 统计局单位内部控制制度
- 小学内部人员出入制度
- 企业内部经济考核制度
- 学校食堂内部培训制度
- 工程部内部考勤管理制度
- 2025年江西电力职业技术学院单招职业适应性考试题库附答案
- 解析四川省成都市金牛区20222023学年九年级上学期期末物理试题(一诊)(解析)
- 北京某中学2024-2025学年高二年级上册11月期中英语试题(原卷版)
- 2025年伊春职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 政府采购知识培训课件
- 《环境标准体系》课件
- 公司事故隐患内部报告奖励机制
- 《PowerPoint 2021基础与应用》中职技工全套教学课件
- 全过程工程咨询管理服务方案投标方案(技术方案)
- DL∕T 265-2012 变压器有载分接开关现场试验导则
- JCT 906-2023 混凝土地面用水泥基耐磨材料 (正式版)
评论
0/150
提交评论