截止目前累计成功为5,000,000 用户成功查重检测

CNCNKI学术不端文献查重检测系统 多语种 图文 高校 期刊 职称 查重 抄袭检测系统

基于嵌入式Linux多功能WIFI监控系统

时间:2016-07-04 14:21:00 编辑:知网 阅读:

进入二十一世纪以来,随着无线传输技术逐渐成熟,无线传输能力大大增强。电脑手机终端对于图像处理速度有了显著的提升,相比有线的产品,无线智能产品给广大用户带来的极大便利,基于多种无线方案传输的多媒体应用已经成为安防行业重点研究方向。各个安防公司也借此机会不断推出属于自己公司无线通信产品,比如带蓝牙语音对讲,支持WIFI通信的摄像机,这类型的监控系统一大特点是灵活方便,无需以太网网线的端对端连接,符合当今世界构建平安城市的信息技术主题。本论文在乐荣传统系列品牌摄像头里增加语音播报系统,实现WIFI传输视频图像方式,本监控系统实现高效的视频监控的同时,并为可以定时的播放指定的视频文件。首先以C++面向对象的设计思想为出发点,熟悉Vfware框架作为系统的设计模式,并在此框架上详细讲述视频码流从底层到系统应用层的发送过程,完成WIFI模块的驱动移植。最后,本人将对现阶段的视频监控系统进行了总结,并且对未来的视频监控系统进行一次预测。

视频监控系统是国家安全防范体系中的主要组成。平安智慧城市就是运用新时代的科技手段监测,分析一个城市系统运行情况,能在短时间内对人们的生活活动,城市的环境保护,公共设施的安全,各种城市服务活动情况进行迅速的反应,在人们生化方面的应用,比如小区安全以及小型超市安全等。现在的公共交通场所,小偷越来越猖狂,相关部门可以充分利用视频监控系统对盗窃事件频繁发生的地段和人流量较大的地段进行实时记录,这样能够减少偷窃事件的产生,保障社会财产的安全,通过视频监控系统可以减少人力巡逻,通过这种方式可以大大降低政府部门管理公共场合的费用。

在社会方面的应用,比如道路交通,各大码头港口,旅游的景点,大型商场等,在道路交通流量比较大的交叉路口,在交通的枢纽中心设置视频监控。实时监测人流量和车辆的交通情况,只要一个人在控制中心负责调度就可以获取各个节点的情况。在现场正常的情况下,可以大大的减少交警出勤到现场观察,这样能够减少在人力资源方面的不必要开销。如果有事故发生,可以第一时间获取到现场发生的图像信息,再排除警力进行协调。为处理时间做好充分的应急准备。最后简单来说,摄像头监控能够把管理社会公共成本降到最低。增强了管理水平,因此视频监控在这里面是一个不可或缺的部分。

进入二十一世纪以来,特别是最近几年,视频监控系统从里面的软件开发到底层的各个硬件到发生了巨大的变化,从最开始都是模拟电子信号的视频监控发展到现在第四代物联网型的监控实时系统,同样,在视频存储方面也有了巨大的进步,第三代智能网络监控系统是通过摄像头对图像进行采集,然后通过前端的微型处理器对采集的图像数据进行数据的编码压缩,再通过有线网络的方式对视频数据进行多路复用传输,终端从网络中获取视频数据,依据服务器高速的处理速度对视频数据进行解压压缩并且显示,在此过程中通过高速的网络对视频数据进行传输,能够使视频数据的传输得到较好的保障。

 

1.2 现代的视频监控系统的特点

 

随着网络宽带的不断提高以及网络设备成本的降低,微型处理器的不断提高以及价格的下降,以及各种图像处理技术统一标准的出现。远距离的视频监控对原始视频的压缩算法要求较高,对传输视频数据的网络带宽能力较强,数字化的视频和网络传输成为现在的视频监控的两大特点,下面列出现代监控系统的优点:

可以通过计算机网络和通信网络对数字的视频数据进行传输,这样就不会受到距离的限制,而且有效的降低传输组网的成本以及增强了信号的抗干扰能力,从而有效提高了图像质量以及系统的稳定性。

数字化视频充分使用现有的计算机网络进行视频数据传输,充分的复用网络快带,不用增加线路,从人力物力来说就节省了很大一笔费用。

视频监控系统经历了以前的模拟到今天的数字化时代,本地近距离的监控到远距离外的监控得益于现在网络传输能力的提高,监控的范围也在逐渐扩大,监控的场合也越来越多,比如现在热门的无人机监控视频系统,把视频监控技术和无人机技术结合在一起,利用无人机的灵活的特点,和远距离无线视频监控技术的特点,当今代的视频监控具有功能多,用途广泛,布线灵活等优势.往无线网络视频监控方向发展。现在WIFI传输技术和第四代移动通信已经成为已经成为视频监控传输的主要手段。他们各自有着各自的特点,分别应用于不同的场合。蓝牙技术传输距离较短,但是可靠性高,WIFI技术的宽带可达到64兆没秒以上,足可以完成视频实时监控大视频数据量的要求,而且其覆盖率地方范围可以很大,可以实现一栋大楼里组建一个局域网,实现智能楼宇的视频监控功能,如果接入互联网,理论上可以实现无距离限制的视频监控。第四代多媒体业务是移动通信运营商发展的重点,其高效的数据传输速率非常适合无线视频监控,4G网络传输为高清视频直播提供了解决方案,4G网络可以解决传统2G网络的带宽低,网络传输慢,视频有较长的延时等缺点,因此,无线网络视频监控必将会是未来的趋势。

 

1.3 本章小结

 

本文是在上面的背景下实现了基于嵌入式Linux的监控系统,外围搭载WIFI模块,搭载音频模块,笔记本硬盘存储模块,实现了视频传输的无线化,实现了音频的存储功能,播放功能。海思3518A处理器功能强大,可以完成对视频数据压缩和转发,具有各自控制功能,在嵌入式Linux系统里面移植了web服务器,用户可以通过浏览器输入相应的机器IP,将取到的一帧数据传输到PC端,PC端通过解码插件解码后可以观察实时的图像。本监控系统实现了视频的无线传输,舍去了麻烦的网络布线,只要在WIFI网络范围内都可以实时看到视频,本系统带有音频功放模块主要实现语音广播,因此可以应用可社区,学校,港口,候车厅等公共场所。

 

 

 

 

 

 

    第2章  视频监控系统设计

2.1 监控系统总体规划

本章的目的是实现一个端对端的实时WIFI网络视频监控系统软件部分,从而需要实现视频数据的采集,编码,传输,显示。本章重点对各个模块的方案做了具体的设计.整体框架图如图2-1所示。

 

 

 

 

图2-1 视频监控系统框架图

 

2.1.1  HISI媒体软件平台简介

 

HISI软件平台可以支撑快速软件开发,该软件平台已经把底层的过于复杂的驱动实现,留出相应的接口给用户去调用实现相应的功能。实现的功能前端摄像头的输入视频码流捕获,H264压缩编码码流,解码,显示图像视频信息、DSP视频前端的数字图像处理,去除杂噪声、编码码流叠OSD、音频捕获设置、完成音频编解码等功能,HSHI媒体软件平台所处的层次如图2-2所示:

 

图2-2  HISI3518A所处系统层次图

2.2常见视频的编码方式

 

实时的视频监控系统中,通过摄像头采集到的原始视频数据非常之大,如果对原始数据直接进行传输,这样需要很大的带宽,队网络环境的要求特别高。因此需要对视频数据进行编码压缩,从而降低视频数据在网络传输中的传输量,所谓的编码方式就是指能够对数字视频进行压缩或者解压缩的程序或者设备。常常这种方法也叫作有损耗的数据压缩,举个例子,cmos摄像头传感器采集到一个640*480的画面,这个画面由640个横向像素点,480个竖向的像素点。其大小为3.17M,而且对于帧率为30bps的视频码流来说,这对于网络的传送码流,硬盘存储码流来说都是巨大数据量。所以那种压缩算法方式的选择在视频监控系统中是十分重要的,常见的几种压缩算法如下:

(1)MPEG-4标准压缩算法,该标准是在1999年通过国际电工协会和国际标准组织的的,在刚刚开始阶段此算法广泛在视频会议相关产品中应用的。是基于H263的基础上研发出来的,添加了许多新技术,例如自适应帧内预测可逆等,其中MPEG-4主要要解决的情况是在带宽低的时候视频数据的传输问题上,因此,如果把原始视频码流经过MPEG-4后,可以节省大量的用户流量,在节约流量的同时视频数据的画面质量与传统的H263相比分辨率更加高,和DVD的画面质量相差无几,所以现在MPEG-4压缩算法还是广泛用在互谅网上的视频数据传输。

(2)H264视频压缩算法:H264是MPEG专家组合和视频编码专家组(VCEG)提出的高度新一代视频编码的标准,是目前视频处理压缩行业内最成熟,用得最多的压缩编码技术。它可以在很低的码率下完成同等图像质量下的传输,实验结果表明,H264比MPEG4节约35%的码流,相同的情况下只有MPEG2算法的10%。

而且,H264能提供连续,流畅清晰的图像,提供在网络质量不稳定下容易发生丢包现象的纠错工具。本视频监控系统是采用H264压缩算法。

 

2.3 在PC端的插件H264的解码过程:

 

  1. 用open()函数打开文件描述符;
  2. 将文件的信息放到记录文件信息的结构体里面;
  3. 用内存映射函数mmp(),将物理内存地址映射成虚拟地址
  4. 将post processor,frame buffer,同时打开,返回文件描述符fb_fd;
  5. 初始化帧提取器,初始化程序如下图2-3所示:

 

 

图2-3  H264算法的初始化

 

  • 计算缓冲区内存的大小,需要分别计算长度,和宽度;
  • 将解码的数据填充到上一步开辟的内存中;
  • 设置图像层信息,此时显示一个长方形的区域;
  • H264解码过程的核心程序如下图2-4;

 

图2-4  H264算法的解码过程

  • 完成数据的解码工作后,就要释放相关内存,以免造成内存溢出;
  • 结束解码器,部分代码如图2-5;

 

图2-5  H264算法的结束过程

 

2.4网络传输模块模型

  

网络模块多线程异步传输的协作图(图2-6 多线程异步传输模型):数据发送、接收过程都是先把请求消息放入到消息队列,然后由工作线程来负责处理该请求,应该说该模型在系统性能的可伸展性上具有优势,特别是对于大型服务器的应用,但是即使作为服务器应用的开发模型也存在以下几个问题:

(1)动态内存分配和释放,在请求消息放入到队列之前必然有一个内存的分配过程,在工作线程处理完该请求以后需要释放对应的请求消息。

(2)同步开销,为了保证在多线程环境下处理的正确性,请求消息放入到队列以及出队列都必须对队列进行锁定,存在锁开销。

(3)线程切换以及CPU缓存的刷新,在该模型中,每一个线程都有均等机会处于就绪状态,被系统的调度器调度后进入运行状态,导致发生线程切换以及CPU缓存的刷新。

(4)在系统负荷比较重的情况下,大量请求消息放入到消息队列中,在工作线程不能被及时调度的情况下,导致消息队列中积累的请求太长。

 

 

图2-6 多线程异步传输模型

 

基于事件分离的网络并发模型(图2-7 单线程并发传输模型),服务器端使用操作系统提供的I/O多路转接函数select对事件进行分离,比如有新的连接请求、有新的数据到达可以接收以及发送缓冲变空可以发送数据三个事件。该模型的选择是基于以下几个方面考虑:

 

 

图2-7 单线程并发传输模型

 

(1)信令与媒体分离,DVR系统中通过客户端程序发送给设备的网络信令基本是两类:控制命令、系统参数读取与配置,这两类命令都可以在限定时间内完成,因此在同一个线程中依次处理这些命令并不会给其他的客户端造成很大的响应延时,当然不正确的程序编写也会阻塞对其他客户端的并发访问。

(2)该模型的系统开销相对来说较小,不存在原有模型的内存分配、同步开销等问题,另外基于单线程也降低了编码的复杂性。

(3)考虑到消息分发处理扩展需求,通过不同的I/O HANDLER 实现或者协议栈进行系列化与反系列化处理。

(4)该模型配套我们也使用了非阻塞SOCKET进行通讯,使用非阻塞SOCKET,第一是避免因为Linux系统的问题在读取数据的时候进入到阻塞状态,在I/O多路转接函数select检测到读事件发生以后并不代表在SOCKET上肯定有数据可以读取,在某些情况下,比如数据包校验和错误,有可能在系统缓冲中并没有实际的数据可以读取,从而造成了阻塞,而非阻塞方式SOCKET可以避免该问题的发生。第二是在数据发送时非阻塞SOCKET不会在系统缓冲不够的情况下使调用进程进入到阻塞模式,从而避免了进程切换。

(5)网络实时监视中,由于传输的数据量较大,数据发送过程处理的优劣,对系统的网络性能具有决定性的影响,所以在此对该流程进行详细说明如图2-8 :

 

 

图2-8 媒体数据发送处理流程

 

在数据发送过程中,我们首先检查发送队列是否为空,如果发送队列中没有数据就表示前面的所有数据都已经发送成功了,在这种情况下我们直接调用网络层发送命令把数据发送出去,如果这个过程中发送失败,如操作系统底层的发送缓冲不够,超出流量限制等因素,我们把待发送数据放入到发送队列中,等待下一次发送;在发送队列不为空的情况下,我们首先把待发送的数据放入到发送队列中,然后调用批量发送过程。

使用这种方式有两个好处:1) 降低了模式切换的开销,使用普通方法发送多个数据包需要多次调用send函数,存在从用户态到核心态的切换,运行时间以及系统开销较大,使用sendmsg系统调用后只需要进行一次模式切换  2)简化了应用程序的内存管理,多个数据包一起发送并不需要先把数据包拷贝到一个临时的缓冲区中,由操作系统来完成该项工作  3)使用该方式在不超过流量限制的情况下批量发送数据,尽可能的降收低在队列中的数据堆积,避免进入到数据发送先进队列,再批量发送这个过程,换句话说就是尽可能的走直接发送这个流程,在这种情况下视频传输的延时最小,另外不牵涉到队列操作,对系统的CPU资源占用也最少,队列是在系统性能抖动,如CPU占用率变化,网络带宽传输能力变化等情况发生时作缓冲使用,平滑系统抖动所带来的影响。

相关文章

返回