一种多平台无线车载监控系统的制作方法

文档序号:12068691阅读:297来源:国知局
一种多平台无线车载监控系统的制作方法与工艺

本发明涉及一种多平台无线车载监控系统,特别涉及一种新的无线车载监控系统框架及规范部署,属于通信领域。



背景技术:

近几年随着大数据移动互联网时代的来临,人们的物质条件得到显著改善,各类公路运输相关的汽车、货车、特种运输车辆越来越多,交通运输和车辆管理压力越来越大,交通堵塞、车辆犯罪、交通事故、能源污染和信息不畅成为了当前亟待解决的问题,严重地影响了人们的安全出行。在这种急迫的背景下,世界各个发达国家提出了种类繁多的ITS(即城市智能交通系统),通过合理规划道路运输网络和使用先进的检测、控制前沿技术,以缓解交通运输中的难题,而作为智能交通中的一个重要组成部分,车辆的远程视频监控也发挥越来越重要的作用,它可以提供直观、准确、及时和内容丰富的运营信息,帮助优化线路、调度车辆、震慑违法分子和提高服务质量。在我国道路运输事业蓬勃发展的今天,汽车保有量保持着持续的增长,于2013年底已达1.37亿辆,车辆的安全管理、安全运营和安全监督等需求也随之而生,作为新兴市场的车载视频监控系统正逐渐成为各大厂商和运管部门关注的焦点。据交通安防领域权威部门分析,远程车载视频监控系统正朝着平台和协议标准化、视频画面高清化、监控智能化、系统功能集成化和服务个性化的方向迈进。目前信息技术正以高速发展,视频监控的方式正在从人工化向网络化和智能化方向转变,移动互联网技术的快速发展使网络带宽成几何速度增加,这也为视频监控领域向更加智能化提过了有力的硬件保证,未来的视频监控发展是以高清、无线、智能化为需求,对监控质量和地域限制提出了更高的需求,所以以信息技术为基础的多平台多网络化视频监控系统是新一代车辆监控系统的主要手段和发展方向。

通过市场调查发现,传统的车载通信系统已经不能满足人们的需求,利用无线网络的实时视频通信和管理系统更加受到用户的青睐。随着硬件技术的进步,使得硬件成本降低,智能手机和平板电脑已经十分普及,在这种情况下,基于移动终端和PC终端多平台的无线视频通信系统势必成为下一代车载视频通信系统的热点。针对以上问题,将Linux系统的ARM9微控制器、Android技术、视频编解码技术和4G移动通信等技术结合起来能提供一种更有效的监控系统。ARM9微控制器性能高且稳定,技术成熟且成本低廉;4G移动通信技术具有高带宽性能,可以很好地满足车载视频数据传输实时性设计要求;H.264采用了开源的X264软编码器,编码性能高,模块化设计方案便于裁剪以降低编码运算复杂度,同时X264编码器具有低码率输出特性,网络适应性好,尤其适合低带宽、丢包严重的无线网络环境。通过对以上三种技术的整合,克服了嵌入式系统处理性能低、网络传输速度慢、视频数据码流过大等技术障碍,获得了良好的实时视频播放效果,且节约了系统成本,在满足性能的前提下成本得到了有效控制,可应用于消费电子、安防、医疗护理、军事等诸多领域,具有广阔的市场前景。基于嵌入式的网络视频监控可通过无线网络传输图像数据,无需布线,监控节点可随意扩展,正好弥补了传统视频监控的不足。



技术实现要素:

本发明目的在于针对上述现有技术的不足,提出了一种多平台无线车载监控系统,该系统分为三层结构,包括视频采集层、流媒体服务器转发层、监控客户端层。该视频采集层将Android手机客户端调用手机摄像头和安装在车内的嵌入式arm开发板调用外接USB摄像头将实时采集的当前画面通过无线网络发送至公网流媒体服务器,流媒体服务器转发层将前端采集到的视频信息进行录制存储的同时转发至监控端PC机和android客户端,实现多平台多路联合视频监控的显示,提高了车辆运输的安全性,能够满足不同用户不同场合的个性化要求。该系统是一种集移动互联网技术、4G技术、视频压缩技术、流媒体与视频编解码等技术于一体的多平台车载监控应用系统,该系统旨在方便车辆的个性化管理和交通运输安全运行的解决方案。该系统采用C/S(Client/Servers)架构方式,其主要设计思想是通过USB摄像头获取实时车辆内情况和司机驾驶状况并借助GPS定位模块获取GPS数据(即经纬度、高度、时间、速度)同时传送给ARM处理器。进而对接收的数据进行H.264编码并将编好码的NAL单元传送给流媒体服务器,流媒体服务器对压缩好的数据进行RTCP封装并通过内部总线送到内置的中转服务器。远程客户端通过无线网络与中转服务器连接,采用Active X技术实现视频数据的接收以及RTP报文的解封装。通过发送RTCP反馈信息,利用H.264视频解码,在客户端媒体播放器及手机APP实现对前段视采集到的视频画面实时显示,达到多平台无线监控的目的。在后台系统管理方面,采用了云平台,具有弹性伸缩、存储容量大、负载均衡等优点,并可根据具体实际需求随时变更服务器配置。

视频采集层:该层是整个系统的基础,在视频采集层,采用了两种采集方式,(1)安卓手机客户端APP调用手机摄像头采集视频数据,经过数据处理后通过异构网络(即3G、4G、WIFI等不同网络)发送至流媒体服务器。(2)车载嵌入式arm开发板调用外接USB摄像头采集视频数据,该数据经过视频压缩编码后通过无线网络发送给流媒体服务器。

流媒体服务器转发层:基于开源流媒体服务器EasyDarwin搭建了自己的流媒体服务器,该层主要起到一个中继转发的作用,是连接视频采集发送端和显示终端的桥梁,在该层也可以实现视频信息的录制,在显示终端可以点播服务器端存储的监控视频数据。

监控客户端层:视频显示终端主要用来实时显示视频采集层拍摄的画面,在该层本发明采用了两种方式来实现监控功能。第一种方式是在PC端通过媒体播放器实现单路视频数据的播放显示,也可以调用Easyplayer播放器实现多路联合视频数据监控的显示,第二种方式是可以用手机Android客户端app随时随地实时显示前段拍摄的视频画面。

本发明系统采用H.264编码技术和流媒体传输技术,通过3/4G无线发射模块将车载ARM板外接摄像头及手机Android客户端采集,该系统处理视频信息的方法包括:

步骤1:存储到SD卡中,以便用户在本地随时查看视频的记录数据;

步骤2:通过输出接口传送到本地车载显示屏,方便任何角度按需查看视频信息以及进行必要的车辆状态调整;

步骤3:通过无线通信模块将视频画面传送到远端服务器,将视频数据存储至机房硬盘,以备后期随时调看;

步骤4:经流媒体服务器转发至监控端,以实现监控客户端层进行实时监控车辆的功能;

步骤5:基于车载视频监控APP,允许用户在有网络的地方登录APP随时随地进行监控,也可将路况信息实时发送给交警等有关部门。

本发明基于异构网络(即3G、4G、WIFI等不同网络)实现的这种新型多平台无线监控系统,该系统具有便捷性、移动性、异构性,功能多样化,能满足用户各方面的个性化需求。

有益效果

1、本发明将传统的监控方式与移动互联网以及云存储技术结合起来,秉承模块化、服务分组、负载均衡的设计理念,实现了用户管理、远程实时视频监控、录像回放与下载、多通道部署和配置管理等功能,保障了车辆安全以及降低违法行为发生的可能性,能够满足智能交通相关行业对于车辆及其周围环境的实时视频监控的需求。

2、本发明的系统具备较强的灵活性和可扩展性,不仅支持无线车载监控,还可供车辆驾驶人员随时随地用手机拍摄当下场景实时传送到交通系统的监控端供交警监控部门对交通情况进行监控,达到了车辆高效管理和实时监控的目的,提高了车辆运输的安全性,能够满足不同用户不同场合的个性化要求,具有较广泛的应用前景。

3、本发明基于嵌入式的视频监控系统在开发板平台上移植操作系统,外部扩展图像采集系统,无线传输系统,进行视频采集、压缩、传输,具有低成本、应用灵活、扩展性强的优点,在监控市场上具有广泛的应用前景和发展优势。Android操作系统是以Linux为底层基础的开源操作系统,Android系统的组成部分有:操作系统、用户界面布局、中间件和应用程序软件组成。它的基本架构形式是软件堆层(Software Stack,又名软件叠层),分为底层,中间层和上层。对于硬件的选择,Android操作系统具有强大的兼容性,可以自由的选择硬件平台,Android开发平台开放性原则使得第三方硬件厂商摆脱了硬件设备的束缚,不受到规则的约束,从而激发了大量开发者的创新性研究,由此而产生了许多功能新颖的应用程序软件,这为开发多平台车载监控系统的Android移动手机客户端提供了极大地方便性。

附图说明

图1为本发明提出的系统总体设计框图。

图2为Linux_S3C2440视频采集终端。

图3为视频采集流程图。

图4为视频采集函数流程图。

图5为Android系统模块流程。

图6为H.264编码流程图。

图7为视频解码流程图。

图8为客户端请求服务器传输数据。

图9为服务器功能模块流程图。

具体实施方式

下面结合说明书附图对本发明创造作进一步的详细说明。

如图1所示,本发明系统主要包括视频采集层、流媒体服务器转发层、监控客户端层,该系统采用C/S结构,移动视频采集终端主要包括S3C2440平台上运行的GPS数据采集以及视频采集、视频的编码、嵌入式Web服务器、流媒体服务器、安卓手机客户端,网络传输以TCP/IP协议为基础构建,实现RTP、RTSP、HTTP、TCP、UDP等传输协议,远程监控客户端层实现对视频数据的接收、视频流的解码播放、网络状况反馈等功能。

本发明监控系统各部分设计方案包括如下:

一、基于Linux系统的视频采集模块的设计方案

Linux采集终端的组成如图2所示,主要由4部分组成:ARM处理器、GPS模块、3G无线数据发送模块、图像采集模块。主控处理器芯片选用三星公司推出的16/32位RISC微处理器S3C2440,S3C2440采用ARM920t内核,0.13um的CMOS标准宏单元和存储器单元,最高运行频率达到400MHz,它的低功耗、简单、考究和全静态是专门为需要考虑花费和功耗的应用设计的,特别适用本系统。S3C2440提供了丰富的片内资源,支持Linux。集成在芯片上的功能有:16KB的指令和数据Cache、LCD控制器、AC97音频接口、摄像头接口、DMA控制器、PWM定时器、MMC接口等。它能完成整个系统的调度工作,在系统上电时配置所有需工作芯片的功能寄存器,完成视频流的编码,并通过3G无线网络向监控终端发送视频码流。

嵌入式arm开发板S3C2440调用外接USB摄像头采集视频数据,该数据经过处理后通过无线发送模块传输给流媒体服务器。具体部署步骤:

(1)虚拟机ubuntu、交叉编译链的安装

在ubuntu官网即可下载最新版的ubuntu源文件,下载编译好后即可搭建好虚拟机,在终端输入sudo apt-get update更新所有虚拟机的系统级文件;下载好arm开发板所需要的交叉编译链,安装好后,便可以实现对arm开发板和虚拟机ubuntu之间进行交叉编译开发。

(2)嵌入式Linux内核移植

Linux内核是Linux系统的核心,为系统硬件提供驱动及编程接口,同时为用户编写的应用程序提供运行环境。Linux对硬件平台具有很强的适应性,并且易于移植。内核配置通常是根据项目需求对内核选项进行选择,将需要的核心选项保存到配置文件中,在编译内核时,就会根据配置信息,对内核进行编译。本模块需要配置USB摄像头驱动、文件系统信息。内核信息配置好后,进入内核目录,执行make clean清除原有的内核编译文件执行make ulmage ARCH=arm CROSS_COMPILE=arm-linux-gcc编译好的ulmage内核映像文件放置在arch/arm/boot目录下,将ulmage拷贝至/tftpboot以供下载。在U-Boot命令行下,执行命令tftp cOOOSOOO ulmage bootm cOOOSOOO ulmage将ulmage烧写至Nandflash,嵌入式Linux系统由Linux内核和根文件系统两部分构成,二者缺一不可。文件系统包含文件数据、库文件、配置文件目录、软连接等,Linux系统启动后首先挂载的分区就是根文件系统,没有根文件系统,内核是无法启动的。Linux环境搭建需要的U-Boot、Linux内核、文件系统都已经制作完成了。使用串口将幵发板和虚拟机连接起来,在超级终端上将以上文件烧写至S3C2440开发板。

(3)视频采集模块设计

视频采集模块的作用是从USB摄像头缓冲区读取图像数据,将采集到的单帕图像存储起来,为本地回显模块和传输模块提供数据。视频采集模块包括摄像头驱动模块的加载和基于V4L2的视频采集程序的设计。将摄像头驱动编译进内核,驱动加载成功后就可以通过接口函数对摄像头进行读写操作。在Linux内核中,为了用户方便地采集音视频流,定义了一种编程接口,即VL42。对于程序开发者来说,它忽略了硬件设备的特征,并提供一系列接口函数对不同的硬件进行操作。对于音视频流,V4L2提供了专门的API函数实现采集和处理,并对多种类型的多媒体设备提供了支持,在内核中添加驱动程序后,可以利用V4L2模块的API接口函数对摄像头进行操作,获取摄像头数据,以实现单帕图像及多帕连续图像的釆集。V4L2是V4L的改进版,修复了后者的不足之处。从2.5版本后的内核,就添加了对V4L2接口的支持。V4L2采用顺序的操作方式,使编程的逻辑性更强,其操作流程如图3所示。这些操作都是通过不断调用ioctl()函数来实现的。

视频釆集完成后,为了更好地观测采集到的图像信息,设计了本地回显模块,将摄像头采集的数据显示在开发板屏幕上。为了方便处理,通过libjpeg解压缓冲区的jpeg图像,并转换成bmp图像,缩放至适合S3C2440屏幕的尺寸,将RGB格式转换成YUV格式,通过FFmpeg进行视频编码,显示在屏幕上。程序的流程如图4所示:

(4)发送视频流数据

摄像头视频流采集后通过调用本地回显模块将图像显示在arm板LCD液晶显示器上,同时调用x264压缩编码库,将原始数据进行压缩编码,调用Easypusher函数,将压缩好的视频数据通过无线传输模块传输至流媒体服务器。

二、Android视频采集及监控系统功能模块设计方案

Android系统的视频采集与监控模块中程序登陆主要是由Socket向服务器发出确认,以判断双方身份,然后Android端开始接受从服务端发来的视频数据文件,并保存到相应的缓冲区模块中,接着数据解码模块对缓冲区中的视频数据文件进行解码。在Android客户端中采用了指令的请求和数据传输分别使用不同的端口,这样可以避免因用户操作过多而导致的数据传输速度的下降,有效的保证了数据传输的实时性,减少了整个应用程序在使用中的延迟和数据拥堵的情况。具体流程如下图1-5所示:

三、监控体统中视频数据编/解码模块及视频传输协议

视频数据的编码压缩:实际传输过程中,本发明选用H.264编码标准,H.264是一种高压缩率的一种对运动图像压缩的手段,同时能适应多种复杂的网络环境,对带宽的要求很低,能够保证在占用最小带宽资源的前提下,提供最高质量的视频图像。在目前的编码方式中,H.264是一种集成了多种算法和多媒体技术的最佳选择,是比较理想的压缩编码方式。由此,本设计系统中采用H.264编码方式对视频数据进行压缩编码。视频压缩采用的H.264编码流程如图6所示:

视频数据的解码:在视频数据传输过程中,视频解码模块接收到的是来自服务器端发送来的H.264编码格式的视频流文件,但是在Android系统中没有支持H.264格式的解码程序,故解码相关工作要通过代码来实现。解码库的编写是通过JNI调用H.264解码器中的部分方法,使用NDK工具集使用JAVA和C/C++混合编程的方式进行优化,最终应用在程序中的解码功能模块中,具体实现流程如图7所示:

视频监控系统中的传输协议主要分两大部分:请求指令的传输和视频数据的传输。其中指令的传输主要基于TCP/IP协议,这个协议中包含TCP和UDP两个不同传输层协议,当中TCP是可靠地,面向有连接的传输控制协议,其在数据传输前先通过“TCP的三次握手”建立可靠地连接机制,从而保证了从客户端程序到服务器端的请求指令发送的可靠性;UDP是指数据包之间的无连接传输协议,有点在于传输速度快,处理速度快,报文格式相对简单,适合用于视频数据文件的传输,但是存在着数据包乱序,报文丢失等问题,因此在此基础上采用多媒体实时传输协议RTSP保证视频数据的高质量。具体流程如下图8所示:

RTSP协议与UDP协议的结合是适用于视频文件传输常用的典型模式,使用RTSP进行对多媒体数据流的封装,进而使用UDP协议进行通信传输,为多媒体流播放提供了通信保障。

四、流媒体服务器功能模块的设计方案

本模块主要介绍流媒体服务器的搭建设计方案。该模块的作用是视频流数据帧的转发,将前端采集的视频流数据经公网传输后发送至客户监控接收端。若在个人电脑PC机上搭建流媒体服务器,效果是不好的,因为前段数据采集需要将视频流发到指定的IP地址及端口号上,在现实生活中,无论是小区还是公司或学校内部的IP地址都是局域网,需要ARP地址解析协议才能使公网IP地址映射到局域网内的本机的IP上,增加了服务器所在地基于网络信号好坏的限制以及增大了视频流传输的延时。因此选择将流媒体服务器搭建在阿里云的云平台服务器上,服务器类型为easydarwin流媒体服务器。该开源流媒体服务器是EasyDarwin开源流媒体平台的流媒体服务部分,基于Apple的开源项目Darwin Streaming Server开发和扩展的,EasyDarwin支持标准RTSP/RTP/RTCP协议,具备RTSP/RTP点播、直播(推模式和拉模式)等功能,支持HLS直播,适应安卓、IOS、微信直播等终端平台,最大程度贴近安防监控、移动互联网流媒体需求;EasyDarwin本身提供了一个高性能的平台框架,Linux/Windows跨平台支持,是开发流媒体服务以及其他类型服务的极佳框架工具;EasyDarwin具备一套完整的网络I/O框架以及Utility,开发者很容易在EasyDarwin的基础上开发跨平台服务程序,例如Windows、Linux、Mac、Solaris等系统平台,只要一次熟悉,将会受用终身,并且部署和开发过程简单,文档和支持完备,是互联网+时代,对企业和开发者来说,最接地气的开源流媒体服务器。

在平台上流媒体服务器编译、配置、部署的方法

1、获取EasyDarwin最新版本

在Github:https://github.com/EasyDarwin/EasyDarwin中获取最新的EasyDarwin版本源码,自行编译成需要的可执行文件,也可以直接在https://github.com/EasyDarwin/EasyDarwin/releases中下载已经归档的相应版本进行部署;

2、编译EasyDarwin最新版本

Windows版本编译,可以直接用Visual Studio 2008打开源码文件中的:/EasyDarwin-master/EasyDarwin/WinNTSupport/EasyDarwin.sln解决方案文件,编译出exe可执行文件EasyDarwin.exe;

Linux版本编译:

cd./EasyDarwin-master/EasyDarwin/chmod+x./Buildit./Buildit

cd./x64(or cd./Release)

此服务器端在整个监控系统中主要负责原始数据的处理,存储用户数据文件和视频流数据的转发,是连接视频数据采集端和客户监控端的纽带。当服务器通接收到视频采集端经编码处理传输过来的视频帧画面,继而直接进入缓冲区,在缓冲中的视频数据,当接到来自客户端的请求指令,通过视频发送模块向客户端程序发送。同时关于用户的数据信息也存放在服务器端的数据库中。整个流程如图9所示。

为了更好的实现流媒体服务器功能,本发明在流媒体服务器搭建了EasyRMS实现了对接收到的视频流进行录制存储的功能,以备用户在需要时调看监控录像。

EasyRMS是EasyDarwin开源流媒体平台的录像与回放服务,能够直接对接安防摄像机、EasyDarwin流媒体服务器、其他标准RTSP服务,基于HLS协议,录像存储为ts流,支持本地存储与阿里云对象存储(即OSS云存储),接口调用非常简单,架构灵活,而且非常易于扩展,开发者可以用EasyRMS进行扩展,开发成自己需要的云存储服务。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1