基于嵌入式Linux平台的多路视频监控系统的设计与实现论文_吴增强,夏慈君

(天津市北海通信技术有限公司 天津市 300380)

摘要:目前国内的智能视频监控模式已从传统的模拟、模数混合监控逐步向全数字化、智能化视频监控方向发展,同时高清视频监控也正逐步进入人们的视野。其中多路视频监控需要多摄像机协同工作,对视野内出现的目标进行多角度、持续的跟踪,该系统需要有专业的管理平台(后台),即网络视频管理平台 。本文分析了基于嵌入式Linux平台的多路视频监控系统的设计与实现。

关键词:嵌入式Linux平台;多路视频监控系统;设计;实现;

视频监控技术也伴随着计算网络技术、数字图像处理技术的进步获得了一定的发展,前端一体化、视频数字化、监控网络化、系统集成化等多点技术结合则是未来视频技术发展的主要方向。

1嵌入式Linux 系统

Linux 系统是1991 年芬兰的Linus Torvalds所写的,现在已经成为一个功能强大、设计完善的操作系统。由于其开源性,Linux 系统不仅在PC平台上发展极快,也迅速在嵌入式平台上普及,更是由于其强悍的内核可裁剪性、强实时性、良好的用户接口、强大的网络功能、开源基础、以及其丰富的软件资源,嵌入式Linux 已成为目前嵌入式操作系统的理想选择。由于嵌入式操作系统需要满足嵌入式系统的所有要求,因此对于一般的操作系统而言,嵌入式操作系统在实时高效性,硬件的相关依赖性,软件固化以及应用的专用性方面有着较为突出的特点。Linux提供完整的多媒体支持,存在完备的软件开发工具。所以,基于Linux建立视频监控系统不仅可以节约成本,还可以结合自己的特殊需要对它进行修改,以提高系统性能。

2基于嵌入式Linux平台的多路视频监控系统的设计与实现

2.1系统功能需求。本系统的完成可以分为三个大块:视频数据采集、网络传送数据、视频显示。本系统需要完成的功能主要有以下几点:1) 摄像头的正确识别,将摄像头连接开发板之后,系统要能够识别摄像头的型号,并正确加载其驱动模块,使得编程接口正确调用,能够对摄像头数据进行采集和处理,若无法正确识别摄像头,则做出错误警告。2) 网络传送数据,本系统视频的网络传输是基于TCP 协议来实现,开发板作为服务器负责摄像头视频数据的采集与处理,等待客户端的连接。客户端做好一系列初始化工作后,主动连接服务器,得到应答后建立连接,接收视频数据。3) 客户端为显示做好准备,程序运行之后即对SDL 进行初始化,为显示图像做好准备,显示过程也要兼顾事件的处理。4) 图像显示问题,对接收到的视频数据进行处理并通过SDL 显示在,显示过程中要能够响应操作事件触发,用户可以选择捕捉某一窗口的当前画面保存图片到本地磁盘。

2.2硬件部分:系统采用集成了4片芯片的多路视频采集卡,4片Bt878A通过一枚芯片连接到系统PCI总线。其中,每一枚Bt878A芯片具有ADT(模/数转换)、DMAC(DMA控制器)和PCI.C(PCI总线控制器)功能部件,可以独立地完成数据采集和传输。前期,我们已成功地研制了该视频采集卡,现在市场上可以买到这种结构的采集卡,其结构如图1所示。

(图1)

2.3系统软件设计。系统技术和过去传统的PT技术相比而言,无论是技术层次、性能还是费用成本的各项对比中,都具有一定的优势。针对当期现代视频监控管理技术在硬件上和软件上所提出的更高的要求下,技术无疑是实现该项社会要求的最好解决方案之一。根据市场面对对象进行设计,在开发环境的设计上追求简单、明洁,在系统环境的开发周期上就可以进一步的缩短。上行下行模块、数据库和图形显示界面是视频监控软件主要的三大技术内容。图形界面显示的内容完全可以根据用户需要对其进行调节,而在上位机与下行模块间的通信过程中,重点需要对待部分则是系统的周期性问题。由于协议传输数据,在读写的过程中较慢,如果想要缩短读写的进程可以通过高性能的多线程操作PC机进行实现。任务的扩展性可以通过多线程完成。客户端接收到的数据包可能由于网络传输的原因,到达顺序和时间不一致,所以在客户端就要对其进行一定的恢复,在播放不产生任何的异常情况发生,播放器是其中最重要的组成部分,在进行浏览器浏览的过程就可以将该技术成功地嵌人到内部的网页中去,大幅度地减少资源的消

耗和占用。操作系统将多个任务进行交叉时间调用区分,就可以形成任务程序的同时应用性。线程的实现也是在单个应用程序中通过时间片完成。进网络窗口多次解读,数据和图形的实时更新也需要在读写的过程进行同步完成,因而通过线程的嵌套来实现。

2.4功能的实现。驱动程序以内核模块的形式驻留在Linux的内核空间。它首先完成对设备的初始化,然后等待请求,设置设备寄存器,启动设备。在系统运行期间,驱动程序负责管理缓冲区、同步用户请求和设备操作。(1)分别缓存偶场和奇场数据:将摄像机发送的一帧数据分为偶场和奇场分别进行传送。这样,一帧视频发送到主内存后被分成了独立的两个场。设计一种设备控制策略,使得将偶场和奇场数据发送到不同的内存区。驱动程序负责识别偶场或奇场数据,将它们转移到不同的缓冲区,根据SDK的数据处理类型(预览或数据捕获),驱动程序操作相应的缓冲区。(2)设计帧率可控策略:设计一种帧丢弃策略。在多路视频输入、视频数据处理软件占用较多CPU资源的情况下,设置采集卡每秒钟发送帧数据到主内存的速率,平衡系统资源分配。该策略的帧丢弃操作发生在设备发送数据到主内存之前,避免了因传输多余数据而浪费I/O资源的弊端。(3)设计数据同步机制:视频采集卡连续地将视频数据发送到主内存的固定区域。驱动程序应该及时地将采集完毕的一帧数据转移,避免被下一帧数据覆盖。这一操作的传统实现方式是通过中断来完成。但是每次中断处理CPU都要进行现场保存、任务切换、现场恢复等辅助操作。当系统中的多个设备频繁发生中断时,这种额外的开销就会非常大。我们设计了一种同步机制,在设备发送数据的目标内存区结尾设置一个标志,标志被改变意味着一帧数据采集完毕。在Linux内核时钟队列添加一个操作,这个操作负责跟踪缓冲区标志。一旦发现它被改变,就将该数据转移。二是实现。网络使用权限验证和痕迹认证是当前对用户身份认证的常见方式。网络使用权限的认证在使用过程中账户、密码和权限问题是需要认真解决和分配的任务部分。CGI脚本和HTML表单就直接决定了Cookies的运行模式,常见的明文账号和密码能够在根目录下查找获得,其安全性不够高。因此针对一些产品的使用设计上则排除对cookies的安装,选用网络使用权限身份认证。本系统采用嵌入式将配置文件进行修改使BOA获得网络启动认证。在PC 机上运行的客户端程序要完成的功能:数据接收、视频解码、数据显示。程序运行后,客户

端可以接收到服务端传输过来的数据信息,经过正确解码后,视频可以稳定地在客户端显示,画面清晰,且用户可以根据画面上给出的操作提示,选择对画面进行操作。

当前计算机技术的发展、硬件设备的提供能力和成本问题,直接决定了嵌入式系统的发展能力,本文所提出的研究方案和软件监测体系在开展过程中力求费用成本低廉、实用性强的需求目标为主,以嵌入式基础Linux系统方案为工作开发点。随着相关技术和性能的不断完善,在视频监控安防管理上和网络、媒体的应用性上也将更加广泛实用。

参考文献:

[1]陆杰.基于嵌入式Linux 的视频监控系统的设计与实现[D] .济南:山东大学,2018 ,16(13) :81‐84 .

[2]王卫华,陈卫东,顾岳.Linux环境下的实时视频采集[D].电子技术,2017,(4):30.32.

[3]陈莉君.Linux中PCI设备驱动程序的开发[D].计算机应用研究,2016,(1):138.140.

论文作者:吴增强,夏慈君

论文发表刊物:《电力设备》2018年第15期

论文发表时间:2018/8/21

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于嵌入式Linux平台的多路视频监控系统的设计与实现论文_吴增强,夏慈君
下载Doc文档

猜你喜欢