admin 管理员组文章数量: 887021
2023年12月17日发(作者:plsql通过ip连接数据库)
II V 。脚L。cA{ 尝 【本文献信息】武颖,李博,南春辉.ARM—Linux平台下的触发式视频监控系统[J].电视技术,2013,37(9) III II ……ARM—Linux平台下的触发式视频监控系统 武颖,李博,南春辉 (中北大学电子测试技术国家重点实验室仪器科学与动态测试教育部重点实验室,山西太原030051) 【摘要】针对一般实时视频监控系统占用资源多的问题,设计并实现了一种触发式视频监控系统。系统选用ARM11 (¥3C6410)处理器作为硬件平台,嵌入式Linux操作系统作为软件平台,红外传感器作为触发装置,采用MPEG一4视频编码算 法。重点介绍了硬件及软件平台的搭建流程,并实际测试了此系统方案的可行性。 【关键词】ARM11;嵌入式系统;Linux;视频监控;红外传感器 【中图分类号】TP277 【文献标志码】A Triggered Video Surveillance System Based on ARM-Linux WU Ying,LI Bo,NAN Chunhui (National KeyLaboratoryfor Electronic Measurement Technology,Key Laboratory ofInstruenmtatoin Science&Dynamic,Noah University ofChina,Taiyuan 030051,China) 【Abstract】In view of the problem that real—tim’e video surveillance system takes up the system resources very much,a triggered video surveillance sys— tem is designed.The system uses the ARM1l(¥3C6410)as hardware processor,the embedded Linux operation system as software platform,the infrared sensor as trigger and MPEG一4 code algorithms.In this paper,the hardware and software operating process of the system is mainly introduced.Practical test shows that the design is reasonable and realizable. 【Key words】ARM11;embedded system;einux;video surveiHance;infrraed sensor 随着嵌入式技术、信息通信技术的高速发展,基于 嵌入式的多媒体视频监控系统已经得到了广泛应用。 但是,由于市面上的嵌入式视频监控系统大多采用24 h 实时监控,使得一些不需要实时监控的使用者比如家庭 用户等浪费了很多系统资源,功耗小、能耗低的产品才 是现今倡导的低碳社会的主流。为了满足这些新条件 的需求,本文提出了一种以ARM11为核心芯片,基于 Linux的触发式视频监控系统,实现无人时待机,有陌生 人人侵时开机监控,并将监控视频信息传至服务器进行 处理。 嵌入式监控终端 客户服务器 1 系统设计 触发式视频监控系统分为嵌入式监控终端和客户服 务器两个部分。嵌入式监控终端基于三星公司¥3C6410 图l 系统设计与流程示意图 2硬件平台设计 嵌人式监控终端的硬件平台选用TE6410开发板。 O开发板基于三星公司ARM11(ARM1176J ZF—S)处 嵌入式微处理器,采用开源的Linux操作系统。红外传感 TE ̄I是一款低功耗、高性价比的RSIC处理器, 器负责判断监控现场是否有陌生人人侵,摄像头负责采集 理器¥3C6410,图像。客户服务器为PC机,通过局域网与嵌入式监控终 主频可稳定运行在667 MHz以上,内置强大的硬件加速 端相连。工作流程如下: 器(运动视频音频处理、2D/3D加速、显示处理和缩放 码;带有128 Mbyte的DDR内存,1 Gbyte的MLC NAND 网、外部存储器接口以及工业CAN总线、RS一485总线, 支持Linux操作系统…。 1)陌生人入侵时触发红外传感器,嵌入式监控终端 等);集成了一个MFC支持MPEG一4/H.263/H.264编解 将报警信息发送至服务器。 2)系统根据服务器命令驱动摄像头采集视频,并将 Flash;板上集成了多种高端接口如USB、SD、LCD、以太 数据传递至服务器。 系统设计与流程如图1所示。 206《电视技术》第37卷第9期(总第411期)l投稿网址http://www.VideoE.cn
篓 摄像头采用台电USB摄像头慧眼MK02。红外传感 器采用幕帘红外探测器SP一9923。 V 。 L.cA{ 尝 器疆 客户服务器采用联想PC机:酷睿2双核,CPU主频 2.93 GHz,内存3 Gbyte,操作系统为Microsoft Windows XP Pmfe ssional SP3。 硬件平台设计如图2所示。 DDR I RAM l lNAND 128 l Fl1ash Mbyte l l1 Gbvt( 客户眼务器 PC机 外部存储器l l片内I l100 Mbit/s以太网口 接口 I I RAM f I DM900AE APB 桥 图3红外监控模块流程 翌茬 复位r厂__1 S3C6u4 10 r厂__1控制I lGPI~l。l l ILC。l Il接接口US口B I红外传感器lI SP一9923 f 一取得服务器IP Gethostbyname(). 取得服务器端口 Atoi() 发送报警信息 Write() 接收服务器ACK Read() 像头l 图2硬件平台结构图 创建Socket ̄5接字- 连接服务器 Connect() . 关闭套接字 Close() 3软件平台设计 嵌入式系统的软件采用主机一目标机模式进行开 发。主机的操作系统为Ubuntu一11.10,在主机中安装交 叉编译工具arnl—linux—gcc 4.3.2。然后,依次完成u— 上 .图4报警模块流程图 芯片(中星微公司生产)。直接在内核配置中启用zc301 boot和Linux一2.6.36内核的编译及移植,烧写cramfs文 驱动即可。源码目 ̄%Jarjch/ann/boot/中将生成新的zImage文 件系统。 3.1红外监控模块 组成。 件,用DNW将新内核下载至开发板。开发板重启后,便 显示 引。 红外监控模块由红外信号采集模块和报警模块 可实现zc301驱动的正确加载,正确接入后会自动 红外模块根据继电器特性判断是否有陌生人人侵, 如果有,调用报警模块。本模块无特殊算法,采用无限循 3.2.2视频采集程序设计 视频采集的程序设计基于Video4Linux模块提供的 deo4Linux是Linux系统中关于视频设备的 环方式采集红外信息并进行处理,流程图见图3,实现代 API函数。Vi内核驱动,为Linux系统所支持的USB芯片摄像头提供统 码如下: ret=read(key,&keyval,sizeof(keyva1)); if(keyval==128) 一的编程接口。具体信息保存在include/linux/videodev.h 和drivers/media/video/videodev.e文件中。流程图如图5 所示。 {prinff(”Invalid coming!\n”); keyval=0; 1)设备的初始化 if(devsta==ON)  ̄arming();} 首先打开摄像头设备。摄像头在系统中对应的设备 文件 ̄7/dev/video0,采用系统调用函数打开。打开摄像头 报警模块采用顺序结构,流程图见图4。 3.2视频采集模块 3.2.1加载摄像头驱动 使用open函数:vd_fd=open(dev,O_RDWR)。接着利 用I/O控制函数ioctl读取摄像头的相关信息,摄像头的 结构体为stuct video_capability。 本系统使用的摄像头采用2.6.36内核支持的zc301 该函数得到正确的返回值后,从内核空间将信息复 投稿网址http://www.VideoE.cnI《电视技术》第37卷第9期(, ̄411期)2a7
II V 。脚L.c 尝 盛手 (开始视频采集) mapbuf.f=f; 囊鞠教囊 idf。匹 口i #f ri 申 获取设备信息和图像信息 if(ioetl(cam,VIDEOCMCAPTURE, &cmbuf)<O1 { perror(“VIDEOCMCAPTURE”); exit(一1); i 设置采集窗口、图像参数、帧状态等信息 } } I 采集一帧或多帧图像}_ 3.2.3视频编码程序设计 本系统使用编码软件FFmpeg,一种开源的MPEG一4视 频编码器,对视频图像进行压缩编码。实现MPEG一4编码 的步骤如下: 1)初始化avcodec—init(),在使用avcodec库之前调 l 匮l Y l (视频采集完成) 图5视频采集流程图 用,初始化静态数据。 2)注册编码器: register_aveodec(&mpeg4_encoder) 3)编码过程: (1)获取设置的编码器: codec:avcodecflnd_encoder(CODEC—ID—MPEG4); _制到用户空间c_cap各个分量中,通过调用printf函数得 到各个分量的信息。之后分别调用ioctl函数对c_pic、C— cod=avcodecalloccontext(); window函数进行操作,完成对视频窗口和采集图像属性 的设置 J。 locfpicture=avcodecalrame(); —(2)初始化编码参数: ate=4000OO: cod一>bitr_2)视频的截取 设备成功初始化后,进行视频图像的截取。使用的 方法有通过read()函数直接读取和通过mmap()内存映 射两种。 cod一>width=352: cod一>height=288: cod一>framerate=30: _aveodecopen(cod,codec); 内存映射的方法绕过了内核缓冲区,进程之间通过 映射同一个文件实现共享内存,访问文件时可以像访问普 通内存一样,不必再调用read()、write()等函数,各个进 程之间可以及时看到彼此共享内存中数据的更新,提高了 访问的速度和实时性。所以在这里,采用内存映射的方法 来实现。 该函数的原型为:buf=void mmap(void{addr, sizet len,int flags,int fd,off__(3)开始分配空间: outbufsize=1000013: outbuf=malloc(outbuf_size); size=cod一>width}cod一>heiht;g pieture_buf=malloc((size 3)/2); (4)获取待压缩图像: picture一>data[0] yuv_buffer; t offset)。 picture一>data[1]=yuv_buffer+size; picture一>data[2] yuv_buffer+size+size/4: mmap()调用后,设备文件映射到内存区,不同进程 可以共享以及进行读写操作。函数成功调用后将返回指 (5)调用MPV_encode_picture[ : outsize=avcodecencodevideo(cod_,outbuf,outbuf_size,picture)。 向该映像内存区的指针。 3)视频数据的采集 3.3视频数据网络传输模块 网络传输程序的设计过程实际上是嵌入式流媒体服 Video4Linux一次可以进行最多32帧的采集,因此, 务器的搭建过程,是触发式视频监控系统的数据传输部 需要设置采集的帧数和数据缓冲区的大小,然后调用ioctl 分。它以TCP/IP协议为基础构建,需要实现RTP、H1TrP、 一函数连续采集数据,当缓冲区的剩余空间不足,不能保存 TCP和UDP等协议,拥有IP地址,将设备接入Intemet,通 个完整的数据帧时,停止操作。实现连续采集的程序 过RlrrP或者HTTP协议,客户服务器与嵌入式监控终端建 立连接,用流媒体播放软件播放实时图像数据。视频数据 网络传输原理图如图6所示。 for(f:0;f<bufframes;f++) {如下: 208《电视技术》第37卷第9期(,, ̄1411期)I投稿网址http://www.VideoE.cn
囊鞠弦堪 i o ngi # ri V 。 L.cA{ 尝 意 相关的核心函数主要有: 1)初始化RTP包和RTCP包,填充包信息: static void init rtp__packet(struct rtp_packet ep) static void initrtppacket(struct rtcppacket ep) 2)删除已发送的RTP包: void delrtp_endpoint(struct rtp stream ep) 3)更新时间戳: void update_rtp_timestamp(struct rtp—stream r【p,int time—increment) 4)读取接收反馈的数据包: static void udprtcp_read(void d) 4 结论 图6视频数据网络传输原理图 本文设计了一种以ARM11为核心芯片的触发式视 通过两个线程实现视频数据传输:首先是不断循环的 主线程,申请服务器套接字后监听指定端口,创建第二个 线程;另一个线程专门处理用户连接,接收用户请求并返 回适当的MPEG图像数据 。流程图如图7所示。 频监控系统,在中北大学图像处理与智能控制实验室中进 行了实地测试。结果显示,从红外触发到视频采集的延迟 不超过1 S,视频的网络传输延时在5 h内不超过1.5 S,达 到了设计预期。 参考文献: [1]汪庆年,孙丽兵,李桂勇.一种基于ARM的视频监控系统的设计 [J].微计算机信息,2009(4):158—160. [2]李峰,秦嘉凯.基于嵌入式Linux的实时网络视频监控系统[J].电视 技术,2011,35(23):145—148. [3]杨水清,张剑,施云飞.ARM嵌入式Linux系统开发技术详解[M].北 京:电子工业出版社,2008. [4]许志飞,姚正林.基于ARM的远程视频监控系统的设计[J].微计算 机信息,2010(9):105—106. [5]赵字峰.基于嵌入式Linux的实时视频通信的实现[J].电视技术, 2012,36(19):189—192. ◇ a主线程 b用户处理子线程 责任编辑:任健男 收稿日期:2012-l1.19 图7 主线程和用户处理子线程流程图 (上接第195页) [4]王琪,程飞,陈四杰,等.基于Freescale S12微控制器的高速智能寻 迹车设计与实现[J].江苏科技大学学报:自然科学版,2012,26(1): 75—8O. (1):45--47. [10]张铮,王艳平,薛桂香.数字图像处理与机器视觉:VISUAL C++与 MATLAB实现[M].北京:人民邮电出版社,2010:361-362. [5]宋海吒,唐立军,谢新辉.基于FPGA和0V7620的图像采集及VGA 显示[J].电视技术,2011,35(5):45'47. [11]齐威,韦鹏,许明龙.第七届全国大学生“飞思卡尔”杯智能汽车竞 赛神州1号技术报告[EB/OL].[2012—11—20].http://wenku. baidu.corn/view/90b919818762caaedd33d43c.htm1. [6]刘杰,武丽,赵永利.基于车载视觉导航的智能车控制系统研究[J]. 传感器与微系统,012 1,30(5):34-36. [7]郑建立,黄丽佳,葛鹏飞,等.基于CCD的智能车寻迹方法[J].东华 大学学报:自然科学版,2008,34(6):728_731. 作者简介: 季聪(1987一),硕士生,主研模式识别与图像处理: [8]张云洲,师恩义,吴成东,等.基于CCD的智能车导航系统研究[J]. 东北大学学报:自然科学版,2009,30(2):162—165. 王思明(1964一),硕士生导师,主要研究方向智能交通和图像处理; 汉鹏武(1985一),硕士生,主研计算机管控一体化。 责任编辑:任健男 收稿日期:2013--02-27 [9]朱红高.图像边缘检测技术研究现状[J].制造业自动化,2010,32 投稿网址http://www.VideoE.cn J《电视技术》第37卷第9期(总第411期)209
版权声明:本文标题:ARM—Linux平台下的触发式视频监控系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702814755h431916.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论