当前位置:首页 > 模拟 > 模拟
[导读] 引言随着现代科学技术和居民生活水平的提高,以及人们对安全问题的日益重视,视频监控系统在紧急救援和安防系统中得到了广泛应用。无线技术的发展解决了传统有线的布线复杂,网络结构不灵活等技术问题。无线技术对于

 引言

随着现代科学技术和居民生活水平的提高,以及人们对安全问题的日益重视,视频监控系统在紧急救援和安防系统中得到了广泛应用。无线技术的发展解决了传统有线的布线复杂,网络结构不灵活等技术问题。无线技术对于特殊监控环境有着很好的亲和性,且移动通信网和无线局域网的快速建设为视频监控系统的设计提供了技术支持,其中无线局域网WLAN的组建快捷、灵活性强、受环境限制小、方便网络重组和扩展。

国际电信联盟对于视频编码压缩制定了H.264/AVC视频编码压缩标准,H.264加强了对IP、移动网络的丢包、误码情况处理,保证了在不同信道中进行传输的视频图像质量。随着H.264编码技术的提出与应用,大大提高了视频数据的压缩率,减少传输时所用的网络带宽,并促进了无线网络的发展,同时H.264编码的网络传输提取层设计,可以使视频数据在不同网络里进行传输且适应性良好。

嵌入式芯片功能的增强和开源Linux操作系统的成熟使得基于嵌入式系统的视频监控系统具有更好的稳定性和实时性,结合无线网络技术使系统具有成本低、组网便捷和实际应用性强等优点,可以广泛地应用于民用与工用安防系统。

本文将WiFi技术、图像压缩技术与基于嵌入式视频监控系统相结合,采用嵌入式ARM Cortex—A8高性能处理器芯片SP5V210和Linux操作系统,将COMS摄像头采集的视频流经H.264编码压缩后由无线WiFi网络传输到监控端,通过PC监控端的FFMPEG模块和SDL播放模块完成监控视频数据的实时显示。

1 视频监控系统框图设计

系统采用ARM Cortex—A8内核的SP5V210芯片作为视频采集端的中央处理器,该处理器运行稳定时主频可达1 GHz,具有MMU功能、64位内部总线架构、可扩展的DRAM内存接口、1 G的NAND Flash和DDR2、3通道I2C总线接口、4个USB接口、4路HS-MMC/SD/SDIO/接口等。同时其内部集成MFC视频编解码器,支持多格式编解码包含MPEG-4/H.264编码,且Cortex-A8处理器应用NEON信号处理扩展指令集提高了H.264和MP3等媒体编码效率。工作流程为:首先OV3640摄像头采集图像信息并通过I2C总线与SP5V210处理器通信,处理器通过内部集成的MFC多格式编码器将图像信息进行H.264编码压缩,视频图像再基于USB无线网卡构建的WLAN网络和实时传输协议RTP发送给视频监控PC客户端,由客户端进行解码和显示。系统的软件结构包含应用层程序、设备驱动程序和嵌入式Linux操作系统。系统工作时会先执行Bootloader引导加载程序进行硬件设备初始化并引导加载Linux 2.6.35内核,再加载设备驱动程序(包括摄像头驱动、WiFi驱动、Nand Flash驱动等),最后为用户区应用层程序的执行,其中包含视频采集模块、H.264编解码模块、WiFi无线传输模块和RTP实时传输协议模块。系统整体框图如图1所示。

2 视频采集端和无线传输设计

2.1 视频数据采集

在视频采集端,原始视频数据的采集是通过OV3640图像传感器模块完成,该摄像头支持300万像素并支持输出YUV420图像数据,SP5V210处理器通过I2C总线访问与修改OV3640内部寄存器来控制摄像头功能。

在Linux操作系统中,通过应用Video4Linux(V4L)来实现视频采集设备的各种功能。在Linux内核中定义了视频设备的统一接口V4L,由统一的API接口库函数控制视频设备各种功能。其中,V4L2是V4L的升级版,具有更好的兼容性和扩展性。V4L2采集视频信息的流程为:通过ope nVideo()函数先打开视频采集设备文件;初始化设备信息包括获得视频设备支持的功能属性和设置其采集视频格式;向内核申请帧缓存内存空间,并将其映射到用户空间,开始发送采集信号;读取视频缓存帧数据,可以根据需求进行数据的处理;发送采集停止信号,释放内存映射,关闭视频设备。数据采集流程如图2所示。

2.2 H.264编码压缩

视频图像画面用4:2:0格式存储,每帧的数据大小为1.2 Mb,对于25~30 fps的实时硬件编码,其码流将达到了30~36 Mbps,无线网络带宽和存储空间难以承受,需采用H.264压缩编码技术将大数据量的视频数据进行压缩。SP5V210内部集成了多格式的视频编解码器(MFC),支持H.264的硬件编解码且速度最高可达到30 fps,可以很好地满足系统对视频数据压缩和处理速度的要求。采用MFC硬件编解码模块完成视频数据编解码的程序时,既可以调用MFC编解码中的API库函数,又可以采用MFC中的I/O接口函数,MFC编解码中的底层驱动接口封装实际上就是API库函数。SP5V210的MFC编解码软件架构如图3所示。

通过硬件编解码模块MFC的API接口函数实现H.264视频编码压缩,具体的流程为:

①建立H.264编码器实例,设置MFC编码器的参数并对其进行初始化设置。

②获取编码器的输入缓冲区地址,读取视频数据,发送到编码器的输入缓冲空间。

③进行H.264压缩编码,获取编码后的输出缓冲区,并对编码数据进行相应处理。

④判断编码是否结束,结束则释放编码器的资源,编码器关闭,否则进入第2步循环运行。

2.3 视频数据无线传输

系统的传输网络是通过USB无线网卡构建无线局域网的方式完成,利用无线的信道来传输编码后的视频数据,WiFi(Wireless Fidelity)通信网络标准分别支持IEEE802.11g、IEEE 802.11b和IEEE 802.11a协议,具有传输速率高(11~54 MDps)、安装便捷和受环境限制小等优点。

USB无线网卡通过USB接口与SP5V210通信,需要完成USB设备、无线网卡设备的驱动和移植,无线网卡设备驱动为应用层提供协议栈接口,在下层通过USB总线访问无线网卡设备寄存器。无线网卡在Linux操作系统上的移植,先要下载对应驱动工具包并将其复制到根目录下完成驱动,通过串口工具输入Scan-wifi进行搜索无线网络信号,再通过start-wifi命令打开无线网络并建立连接。

无线网络传输视频数据时,必须要遵循约定的网络传输协议。一般常用的网络传输协议有RTP/RTCP、TCP/IP和UDP,本系统中视频数据的传输是基于RTP/RTCP实时传输协议的,RTP/RTCP协议实现的开源库有JRTPLIB、LIBRTP、ORTP等,本文采用基于C++的开源库JRTPLIB,支持Linux和Windows操作系统平台,且操作便捷,封装性好。为了实现基于RTP/RTCP实时传输协议的视频数据传输,先要完成JRTPLIB的交叉编译和到Linux系统平台移植等工作。

采用JRTPLIB开源库中的接口函数完成无线视频数据传输的具体流程如下:

①初始化并生成RTP会话。采用JRTPLIB开源库传输视频数据前,要先创建一个RTPSession实例用来代表RPT会话,并利用RTPSession Par ams对象设置时间戳的单位,再调用RTPSession实例中的成员函数Create()生成RPT会话并同时初始化。

②设置接收端目标地址。在生成RTP会话后传输视频数据前,首先调用RTPSession实例中的成员函数AddDestination()来设置数据发送时的目标地址(接收端地址)。在RTP协议中可以根据需要设置指定多个目标地址于同一会话中,其中函数SetDefaultPayloadType(96)用于设定RPT负载H.264编码数据;voidClearDestinations()用于清除所有的地址;函数DeleteDestination()为删除指定地址。

③发送视频数据到目标地址。设置好数据发送目标地址之后,使用RTPSession实例中成员函数SendPacket(),将编码好的H.264数据包发送到一个或多个目标地址。由于每一帧视频的数据量较大,RTP数据包以分片传输方式传输以保证视频数据的可靠性。SendPacket()函数中,mark为1代表该RTP包为完整包,为0代表分割包。

④RTP会话结束。调用BYEDestroy()函数结束此次RTP会话。

3 视频监控PC客户端设计

接收端将分片数据包重新组装成为帧,得到H.264格式的压缩编码视频,交付给视频监控PC客户端处理,这里视频监控PC客户端的主要功能为视频数据的重新解压、播放显示和处理等。系统采用FFMPEG方案和SDL技术来实现监控视频数据的解压和显示。

3.1 视频数据解压

FFMPEG是一套开源的音频流和视频流方案,支持音视频编解码等功能,为免费软件。FFMPEG方案的开发与使用是在Linux系统平台下的,但随着发展现已支持Windows等多种操作系统。FFMPEG方案支持H.264、MPEG4、3GP等多种常见格式的视频编解码,功能全面且性能强大。系统采用FFMPEG方案主要完成客户端对已编码视频数据的接收和视频解码工作。

在Windows下安装好FFMPEG开源库开发环境,再进行视频数据的解码工作,其中FFMPEG库中的主要功能函数和数据结构有:

①AVCodecContext()结构体,用于编码器参数信息描述,如视频的采样率、视频的宽和高等信息;

②AVPacket()结构体,缓冲解码前视频数据;

③AVFrame()结构体,存储视频数据解码后的数据帧;

④av_resister_all()功能函数,用来注册全部解码器;

⑤avcodec_find_decoder(),搜索解码器,如H.264格式解码器;

⑥avcodec_decode_video(),解码接收到的视频帧;

⑦avcodec_alloc_frame(),新建AVFrame结构体。

3.2 视频播放显示

SDL是一个跨平台的多媒体开源开发库,支持多媒体播放器、游戏开发等,可以运行在多种操作系统上(如Windows、Linux等),兼容性良好。SDL开源库包含音频、视频和视窗管理等多个子系统。本文采用SDL开源库中的视频子系统,其主要功能是将FFMPEG解码后的视频数据进行显示与播放。

SDL开源库将解码后的视频数据转化成对应的YUV格式,在屏幕上显示其各个分量,完成视频的输出。SDL开源库中的主要的数据结构体和功能函数为:SDL_Overlay()结构体,为YUV格式图像信息的覆盖结构;SDL_Surface()结构体,为SDL中图像信息显示的基本区域;SDL_Init()功能函数,作用是初始化SDL中图像特性;SDL_CreateYUVOverlay()功能函数,创建SDL_Overlay()结构,设置尺寸参数等;SDL_Display YUVOverlay()函数,用来播放监控视频图像,即SDL_Overlay()结构体中存储的图像信息。

通过FFMPEG和SDL技术中的主要结构体以及功能函数完成接收端的视频解码和播放任务,主要的工作流程如图4所示。

结语

本文设计了一种基于Cortex-A8的无线视频监控系统,采用高性能的ARM Cortex—A8芯片SP5V210、300万像素的COMS摄像头、USB无线网卡以及PC机完成了系统的硬件搭建,利用低码流和容错能力强的H.264压缩编码技术进行视频数据编码,满足了无线传输要求,且基于RTP /RTCP网络传输协议提高了视频传输的实时性。在视频监控PC客户端应用开源的FFMPEG和SDL技术实现了监控视频图像的解码和播放。

本系统具有良好的扩展性,根据需求可扩展为多路无线视频监控,用于人体识别、智能报警等。该系统可以高效稳定运行,布防便捷,携带方便,灵活行强,成本低,提高了视频监控系统的实时性,在紧急救援和民工业安防系统上具有良好的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭