搜索
您的当前位置:首页嵌入式linux-F多线程视频监控的设计和实现

嵌入式linux-F多线程视频监控的设计和实现

来源:世旅网
2011年第6期 信息通信 2011 (总第116期) INFORMATION&C0MMUNICATIONS (Sum.No 116) 嵌入式l inux- ̄多线程视频监控的设计和实现 王宣达,李临生 (太原科技大学信息工程系,山西太原030024) 摘要:使用多任务操作系统linux的多线程技术设计和实现了一个民用领域的远程视频监控系统,实验证明该系统有良好的 灵活性,较好的可扩展性,而且节省成本。 关键词:嵌入式;多线程;视频采集;V4L2;ARM 中图分类号:TP277 文献标识码:A 文章编号:1673—1 131(201 1)06-0191-02 Abstract:The thesis use the multithread technology of multi—task operation system linux designed and achieved a long distance video monitoring system for civil use.Experiment results proved that it has good flexibility,good expansibility and costs low. KeyWords:Embedded;Multithread;Video collection;V4L2;ARM 视频监控系统在各个领域都有着广泛的应用,它是当今大 络上,在监控终端使用IE浏览器,输入相应的IP地址即可访 型企业、银行、电力局等信息交流广泛的企业生产和管理的必 问视频服务器,从而获取视频监控画面。 备系统,同时随着硬件设备的价格下降,也出现了民用领域的 1.2嵌入式1inux视频监控系统的硬件平台 监控系统,比如家庭视频监控。现在的企业级视频监控处于安 ¥3C2440a是韩国三星公司生产的一款基于ARM920T内核的 全性考虑多是局域网视频监控,而在安全适中的情况下,民用 16/32位精简指令级RISC嵌入式微处理器,具有MMu硬件单元, 领域需要的是更多的灵活性和便捷性。本文使用设计和实现视 采用五级流水线,其标准工作频率为400MHz,主要面向手持设 频监控使用了linux的多线程技术让多个家庭成员可以用客户 备以及高性价比,低功耗的应用。本系统使用了256MB的NAND 端在不同地域同时通过因特网登陆访问视频监控资源,实现了 FLASH,64M的SDRAM和2M的NOR FLASH,其硬件结构如图1所示。 多人监控。 2嵌入式Linux多线程视频监控系统流媒体服务器的 1嵌入式Linu)觏频监控系统的设计思想 实现 1.1嵌入式Linu)觏频监控系统的软件平台 本视频监控使用Linux内核中的V4L2(Video for Linux 2) 嵌入式系统是以应用为中心,以计算机技术为基础,且软 视频设备的子系统,它为1inux下的视频驱动提供了统一的接 硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗 口,使得应用程序可以使用统一的API函数操作不同的视频设 有严格要求的专用计算机系统。 备,极大地简化了视频系统的开发和维护。采用TCP/IP协议下 首先构建嵌入式Linux系统,从软件角度上从底层到高层 的网络传输视频数据,可以实现远程视频监控系统,并在此基 分为:引导加载程序bootloader,内核,根文件系统,应用程 础上使用了多线程技术实现同时服务于多个用户的功能。 序。本系统移植的是2010.06版本的u—boot,2.6.31内核,使用了 2.1基于V412的视频采集的实现 基于Linux的V4L2视频规范的视频采集模式和TcP/IP协议下的 嵌入式Linux视频监控使用基于Linux ̄核提供的V412视 传输模式来实现该视频监控系统。 频规范进行视频采集,采用mmap ̄存映射的方式为数据交换 模式。 视频采集主要步骤和对应的系统调用如下: (1)打开摄像头设备: video.fd=open(CFG CAMERA,ORDWR; (2)查看摄像头设备是否支持视频捕捉和视频流采集 video.ret=ioctl(video.fd,VIDIOCQUERYCA ̄&video. cap): (3)设置摄像头采集图片的格式 video.ret=ioctl(video.fd,VIDIOC—S—FMT,&video. format): (4)设置帧率 video.ret=ioctl(video.fd,VIDIOCSPARM,&video.fps); (5)向驱动申请缓存区 图1嵌入式Linux视频监控系统的硬件结构图 video.ret:ioct1(video.fd,VIDIOCREQBUFS,&video. 本视频监控包含视频数据的采集、处理、传输等功能,设 reqbuf): 计上分为两个模块:Linux视频采集模块、Linux流媒体服务 (6)把内核中的缓冲区映射到用户空间 器。采集模块使用linuxV4L2视频规范采集视频数据,Linux流 video.mem[i]=mmap(O/*start anywhere /'video.buff. 媒体服务器实现视频数据的传输,并用Linux多线程的方式服 1ength,PROTREAD,MAP SHARED,video.fd,video.bufL 务于多个用户等功能,视频图像最终以视频流的形式发布到网 m.offset): 191 信息通信 (7)将每个缓冲区放入视频采集队列 video.ret=ioctl(video.fd,VlDIOCQBUF,&video. 王宣达等:嵌入式linu)r下多线程视频监控的设计和实现 Linux多线程视频监控系统的工作过程:本系统使用TcP/IP 协议进行通信,在linux中,数据传输模块是由linux socket实 现的。Socket工作分为两种模式:阻塞和非阻塞,阻塞模式下, 当系统完成指定任务之前,程序不能够继续执行后面的语句。 例如,服务器运行 ̄Uaccept语句时,而没有客户连接服务请求 buff): 2.2基=JzTCP/IP的的视频传输的实现 Linux3;的网络编程是通过socket接口实现的。服务器应用 程序先创建一个socket,socket就像一个文件描述符,用来引用 到来,服务器就会停止在accept语句上等待连接服务请求的到 来。而实际过程中,我们需要轮询多个socket,所以不能够阻塞 到某一个socket上,因而需要设置成非阻塞模式,但是这种 轮询 使cPU处于 等待方式,从而降低性能,浪费系统资源。 Linux提供的select系统调用很好的解决了这个问题,它允许把 进程挂起,同时使系统内核监听所要求的一组文件描述符,当某 文件描述符准备就绪时,select()调用将返回指示该文件描述 —系统分配给服务器进程的资源,并且这部分资源只能由该进程 访问,对该进程是独占的。服务器通过使用socket系统调用的 方式创建socket,创建之后该socket不能被其它进程共享。 然后,服务器进程给刚刚创建的socket绑定一个名字。本 地的socket会分配一个在Linux文件系统中的文件名。对于网 络socket,其名称通常是与特定网络相关的服务标识(如:端口 号)以便其他客户程序连接,系统能够通过这个标识符将带有 符己准备好的信息,然后服务器即可接收连接,建立连接,并创 特定端口的访问请求指定给服务器进程。Socket名称的绑定是 建一个子线程专门用来服务此客户端,主线程循环调用se]ect等 通过bind系统调用实现的。之后,服务器进程就会等待客户对 待下一个客户端的连接请求。刚创建的子线程在已经建立好的 该命名的socket发起链接请求。使用listen系统调用创建一个 连接上循环发送视频数据来响应客户端,客户端通过监听服务 请求队列,最后使用accept系统调用接受请求。 器端口接收视频数据,所以多线程配合select系统调用节省了系 3 Linux多线程视频监控的实现 统资源,无需让cPU等待,同时实现了服务于多个客户的需求。 4结语 . 本文详细描述使用多线程和socket网络编程的方式来实 现1 inux操作系统下的多线程视频监控系统的设计思路和实现 方式。其中主要综合运用了两个技术完成了视频监控系统的设 计:①使用Linux下多任务的工作特性,实现了多线程服务的 流媒体服务器,提高了多用户对视频监控的实时性要求,同时 节约了系统的资源;②运用Linux网络编程原理,最终实现了 TcP协议下的远程视频监控系统的设计。下一步的工作主要是提 高视频监控系统数据的安全性,和用户界面的友好性,扩展更 多的民用视频监控功能。 参考文献: [1]安津.嵌入式视频监控基于ADSL的实现[D].天津大 学,2006 [2]基于ARM视频采集系统的设计与实现[D].大连海事大学 研究生硕士论文,2007 [3]黄欢,和卫星,吕继东,等.基于无线局域网的煤矿视频监 控系统[J].工矿自动化,2008(2):45—48. [4]罗亚非.基于TCP的socket多线程通信[J].电脑知识与技 术,2009(03) [5]李宝国.基于嵌入式ARM的远程视频监控系统研究[D]. 南京理工大学,2009 图2基于嵌入式Linux多线程远程视频监控系统软件结构图 (上接第193页) 防范病毒的过程实际上就是技术对抗的过程,随着病毒的 术的发展,为电子商务贸易提供了基本的保障。在今后的发展 繁衍和传播方式的变化,反病毒技术必须不断调整。网络防病 中,电子商务网络安全体系将会更加完善。 毒应该利用网络优势,使病毒逐渐成为网络安全体系中的一部 反,防杀结合,重在预防,并把防病毒、防黑客、灾难恢复等几 参考文献 个方面综合考虑,形成一整套安全机制,才能有效地保障整个 [1]王宝济.网络建设实用指南[M].人民邮电出版社,2008 网络的安全。 [2]黎洪松,裘晓峰.网络系统集成技术及应用[M].科学出 3.结语’ 版社,2007 l 互联网技术的发展,使得电子商务的形式、内容变得日益 丰富和生动,带动了电子商务的普及与发展。信息与网络安全技 作者简介:陈伟,1960年,湖北武汉人,大学本科学历,致力于 基于互联网的信息安全体系研究。 192 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top