3G视频监控系统中关键技术的研究与实现

时间:2022-04-17 01:46:15

3G视频监控系统中关键技术的研究与实现

摘 要:描述了基于3G标准的无线视频监控系统关键技术的研究与实现方案,主要包括基于H.264的双码流模块、多线程、RTP打包等,它不仅具有传统监控系统稳定性高、实时性好、免布线等优点,而且用户可以随时随地通过3G网络进行视频监控和视频图像录制。测试结果表明,各模块都达到预期指标,3G无线环境下可进行实时视频浏览,视频质量与有线局域网相比相差不大。

关键词:视频监控; 3G网络; 双码流; RTP

中图分类号:TN29-34文献标识码:A文章编号:1004-373X(2011)19-0055-03

Research and Implementation of the Key Technology of

Video Surveillance System Based on 3G Standard

WANG Yong-gang, ZHANG Jian-wu

(Dept. of Communication Engineering, Hangzhou Dianzi University, Hangzhou 310018, China)

Abstract: The research and design solution of the key technology of the wireless video surveillance based on the 3G standard are described, which includes H.264-based dual-stream module,multi-thread and RTP. The surveillance system has high stable and good real-time performance, and the users can perform the video monitoring and video recording through 3G network at anytime and anywhere. The testing result indicates that the modules meet the anticipated target, which can perform real-time view by video under the 3G environment. This system can achieve the real-time monitoring, and the video quality is not worse than that in LAN.

Keywords: video surveillance; 3G network; dual-stream; RTP

0 引 言

经过多年的发展,视频监控技术已由早期模拟设备为主的第一代视频监控系统发展到目前的数字视频监控[1],人们已不再满足于传统的监控系统。随着3G技术难点的突破以及3G网络的发展,使3G无线视频监控[2]的实现成为了可能。在此背景下提出了一个基于3G标准的无线视频监控系统的设计方案并实现了基本功能,本文着重介绍该系统关键技术的实现方法,包括双码流模块、多线程通信、RTP封装及改进,最后讨论了无线网络视频传输健壮性的问题以及解决方案。

1 双码流技术的实现

目前,困扰中国网络视频监控市场发展的主要因素就是缺乏良好的网络基础环境,而双码流正是针对这一问题提出的解决方案,它是对安防行业的一次提速。

双码流,即在视频编码端中同时存在两种码流。双码流是通过在编码端采用两种格式或两个不同的分辨率分别进行编码来实现的。该监控系统基于DM365硬件开发平台,由于DM365开发板属于DAVINCI系列,必须深入研究DM365应用层调用具体算法的结构,如图1所示。由图中可知,应用层调用的接口是DMAI[3](DaVinci Multimedia Application Interface),它是DSP提供给ARM端应用程序的调用接口。DMAI是各种模块集合,应用程序可以从中选择模块来使用。此外DMAI提供了源码,便于修改使用,以满足应用要求。DMAI里面有各种接口实现方式,修改DMAI接口具体实现使其满足双码流。

首先将DM365中两个编码通道全部使能,保证了开发板对双码流的支持,然后,在应用程序中采集两路的数据,分别调用DMAI中的编码函数Venc1_create,进而对两路数据进行两次编码,这样就得到两路不同分辨率大小的编码数据流。本文实现了一路D1,一路是CIF大小(用于传输)的码流,并且都达到20帧的速率,可以保证视频流质量。它在现有网络瓶颈下兼顾了图像质量和传输实时性,可以突破网络瓶颈,根据网络带宽灵活选择码流格式,达到本地高清存储,同时保证一定远程监控质量的低码流网络传输。

图1 应用层调用具体算法2 多线程技术在3G无线视频监控中的应用

由于视频图像传输需要做到实时性和良好的传输质量,而系统需求的功能又比较复杂,包括视频数据采集、视频编码、RTP打包发送、视频数据流保存等工作,而它们的流程又不是简单的顺序执行,所以这里引入了多线程[4]。

本论文提出的方案中包括Capture,Video和Writer三个主要线程,分别完成原始数据YUV数据的采集、H.264[5]数据压缩、视频数据的写文件,而在视频采集线程中加入了异常检测模块(该模块利用原始数据进行检测异常),在视频数据压缩线程中采用了双码流技术,并将CIF分辨率的压缩数据进行RTP协议封装,在Writer线程中实现了以时间为文件名的保存方式并将其保存到SD卡中。在此基础上实现设防、拆防、异常检测、客户端与监控端通信,又引入了两个线程,分别完成等待电话、客户端与监控端的SOCKET通信完成命令传输功能。整个线程结构与通信方式如图2所示。

图2 线程结构与通信方式采用了pipe管道进行线程间通信,且设置为阻塞模式,整个流程即Capture线程得到数据,将地址送给Video线程,Video线程经过H.264视频压缩把DI分辨率的地址送给Writer,而CIF分辨率根据发送标记来确定是否发送,Writer线程完成写文件操作后,将buffer指针返回,完成一帧采集、编码、发送、保存等工作,如此反复循环。而其他线程通信则采用全局变量来进行传输标记位,而无需使用FIFO,降低了实现复杂度。

3 RTP协议封装及改进

本文采用RTP协议[6-7],提供了端对端传输服务的实时传输协议,用来支持在单播和多播网络服务中传输实时数据,而实际数据的传输则由RTCP控制协议来监视和控制。RTP协议一般要求与RTCP[8]一起使用,来保证数据传输质量。这种结构在本次设计无线环境会遇到两个问题:

(1) 如果增加RTCP,那么增加了复杂度,降低了实时性。

(2) RTP协议没有加密信息,容易被非授权用户浏览到视频数据。

针对第一个问题,本文提出一个策略,即在编码端RTP打包时,在每个NAL单元头的前面加上4个字节的帧的长度,解码端只要根据NAL单元的长度,即可判断是否在传输中有错误,如果有将该NAL单元丢弃,此时无需采用RTCP来向监控端反馈信息,从而降低实现复杂度;此时虽然丢弃了一个NAL单元,但是监控端的帧率是20帧/s,根据人眼视觉残留的效应,这基本上不会引起人眼的察觉。这里还要说明,当NAL单元的帧长大于MTU时,为了避免底层驱动将其分包,需要应用层采用分片打包[9-10]方式,而此时只需在NAL单元的第一个分包增加4个字节的帧长度信息,而无需在每个分包上都加上该字段。这样在手机端无需返回RTCP包等反馈信息,降低了实现复杂度,增强了实时性。

上一篇:基于H.264的Web视频监控客户端设计与实现 下一篇:基于车载CAN总线的倒车雷达单元设计