试论基于Android的视频监控系统的设计与实现

时间:2022-09-23 12:51:36

试论基于Android的视频监控系统的设计与实现

摘 要:文章提出了试论基于Android的视频监控系统的设计,并仔细分析了系统的总体框架,在分析之前对移动终端的开发和流媒体服务器的设计工作进行了仔细的研究。通过合理的设计方案,以及分析移动开发终端和流媒体服务器后获取的经验,文章重点阐述了设计系用对PDA端视频的处理,基于Android的视频监控系统的设计与实现得到了基本的保障。并且将理想化的系统设计在实际设计中实现。

关键词:视屏监控;系统设计;实现设计;H.264编码

1 引言

数字化、多功能化以及网络化是现今视频监控的发展趋向。在传统的视频监控过程中,视频传输大都运用光纤和线缆进行,也正是如此,过多的网线严重限制了监控系统的布置速度。随着不断发展的无线网络,加上逐渐普及到人们生活中的3G网络,视频监控在设计过程中拥有更宽广的设计空间。

但是现今3G网络支持的带宽仍然在移动环境中受到限制,而视频监控则要求带宽能够保证视频在传输过程中尽可能的流畅,因此需要将视频压缩后再进行传输,要保证视频在压缩过程中不会失真。H.264能够在降低码流的同时,将压缩比最大限度的提高,这种编码具有精度高和模式多的特点,在现今监控领域以及可视电话领域中应用较为广泛。

本文对Android的视频监控系统的设计进行了重点的介绍,在实现系统设计的过程中将PDA和H.264编码技术结合在一起,并进行了充分的利用。

2 Android系统的概述

以Linux为基础对源码进行开发便是Android系统,一般各种便携设备对Android系统的使用较为普遍。在Android系统中存在一个核心库,核心库中集成了大量的编程语言,在编程时候为编程过程提供所有编程语言。在运用Dalvik虚拟机存在于每个运用java编程软件编好的应用程序中。使多个虚拟系统能够同时在设计好的Dalvik中运行,以此收集在特殊环境中的运行Android系统都能够轻松满足。要满足Android开发平台的搭建只需要将AndroidSDK插件安装到Eclipse上即可,APK文件能够在平台中通过代码自动转化而之后快速形成,而转化后形成的APK软件也能够马上用于软件的实际应用。

3 基于Android的视频监控系统的概述

系统将C/S作为系统最基本的架构,编码器在设计过程中运用的技术是整个设计系统中的核心技术,系统在设计过程中的科学与否都取决于编码器的设计是否科学,系统中存在的数字信号都是通过转化各种抓拍的信号所得到的,在对这些信号进行压缩的过程中,为了能够保证压缩力度,必然会使用到H.264编码器进行压缩,后台控制计算机还能够向PDA直接发送相应的指令,一般指令的发送都是通过3G网络为媒介进行的,如此云台的控制以及其余的命令操作都得到了实现,而本文主要对PDA端设计和实现进行了重点的介绍。如下图1是系统的基本结构。

图1 系统基本结构图

4 PDA端视频在系统中处理的实现过程

系统中的PDA端视频处理是Android系统中视频监控系统中最为重要任务。因为PDA自身的内存有限,因此在实现的过程中要将功耗尽可能降低、保证系统的性能,使软件能够尽可能的优化。

DSP芯片自身的可编程性非常强,后期编码在相互比较和优化的过程中能够更加方便。一般编码器都选择ADI公司出产的Blacdfin533。并且从结构角度对C/C++进行了优化,且保证代码在使用过程中能以高密度形式存在,H.264在编码过程中的要求也能够被轻松满足。

(1)H.264在编码过程中算法选择的优化

一种或者两种不同宏块的不同编码模式是先前的视频编码标准,如H.263编码。而在H.264编码中增加到了7种编码模式,H.264和先前的H.263编码模式在相互比较后,H.264能够节省一半的码率。但在编码过程中运算量的消耗有显著的增加。为了编码能够实时进行,首先应该将模式算则以及算法选择的根本问题解决好。遍历在H.264/AVC宏块编码模式中应用较为普遍。为了能够将无效遍历降尽可能降低,首先应该对遍历进行范围上的限制,同时还要将及时制定出终止准则。

其中当前的编码宏块为Curr,其中四个方向中的相邻宏块则用A、B、C、D代替,其中A、B、C、D的编码代价分别为A_cost、B_cost、C_cost、D_cost,在计算门限T的过程中一般会使用如下公式1:

Curr编码过程中的编码模式一般为相邻4各宏块和Curr自身的宏块进行,再将代码值进行相互的比对之后最优编码便能得到。宏块A、B在优化编码过程中的具体流程如下图2所示。在测试后通过相互之间的比较以及算法的优化整理之后,在保证视频不失真的情况下显著降低了压缩比,使算法的在运算过程中的速度得到了明显提高。

图2 算法优化的流程图

(2)系统软件的设计的基本内容

Socket网络技术是通讯模块在进行网络通信的过程中使用最为普遍的技术。在通讯之前的基本任务便是创建好Socket网络,保证通讯能够顺利进行,而后迅速绑定端口号,从而保证监控在设置过程中能够更加方便。在实时监控开启之后,主程序开始接收各种请求信号,对信号进行循环监听,在此环节中要及时将新的客户连接Socket创建好。

提取视频数据和传导视频数据是数据模块的主要任务。一般在监控摄像开始之后,对视频的每一帧数据进行截取。由应用层对截取后的数据进行绘制,将绘制好的图像传输到DSP后对数据进行编码,而后将图像传输给系统后台实时进行控制的计算机。下列代码是在Android系统代码应用过程中最为常见的代码:

Socket在创建过程中使用的代码:p0=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);绑定IP和端口时使用最为普遍的代码

上一篇:从密斯·凡·德·罗的建筑浅谈东西方思想文化的会... 下一篇:柴油机拉缸的几点思考