APP下载

基于B/S架构实时高清音视频监控系统

2019-06-15刘伟杰李博

现代电子技术 2019年12期
关键词:S架构监控系统

刘伟杰 李博

摘  要: 高清视频监控画面范围广同时产生巨大数据使得在网络传输中造成时延,也存在音频数据有限的问题。针对上述问题,文中设计一种基于B/S架构的实时高清音视频监控系统。USB摄像头基于V4L2接口采集图像,基于ALSA声卡驱动采集音频,结合H.265视频编解码技术和FAAC音频编码技术,以RTP协议打包封装H.265视频码流和AAC音频码流经网络同步传输到Web服务器,利用CGI,JavaScrict技术实现多种智能终端登录浏览器显示监控画面。经测试该监控系统画面清晰无抖动,音视频吻合效果明显满足实验要求。

关键词: B/S架构; 高清视频; 监控系统; 同步传输; 智能终端登录; 监控画面显示

中图分类号: TN949.197?34                 文献标识码: A                         文章编号: 1004?373X(2019)12?0045?03

Abstract: The high?definition video monitoring images have wide application range, but can simultaneously generate huge amount of data, which may cause the problems of network transmission delay and limited audio data. Therefore, a real?time high?definition audio and video monitoring system based on the B/S architecture is designed in this paper. The USB camera is used to collect images by means of the V4L2 interface and audios by means of the ALSA sound card driver. In combination with the H.265 video encoding and decoding technology and FAAC audio encoding technology, the H.265 video code stream and AAC audio code stream are packaged and encapsulated by using the RTP protocol, and then simultaneously transmitted to the Web server via network. The CGI and JavaScript technology are used to realize various intelligent terminals′ login into browser for monitoring image display. The test results show that the monitoring system can generate clear images without any jitter, and has an obvious audio and video synchronization effect, which can meet the experimental requirements.

Keywords: B/S architecture; high?definition video; monitoring system; synchronous transmission; intelligent terminal login; monitoring image display

0  引  言

随着社会的发展,人们安全性意识逐渐提高,安防监控在国家安全、社会公共安全、交通安全、及个人安全等领域需求越来越广泛,并且要求的安全质量标准也大大提高。早期的模拟监控已经无法满足大面积覆盖重要安全领域的需求,并且不具备远程监控的功能;而网络安防视频监控具备不受地域、时间限制,在允许授权的情况下可以随时随地按需监控,实现快速反应,使用方式相当简单快捷,已经成为监控未来发展的主流趋势。目前网络监控的高清以及超清画质已经成为安防监控重要的质量标准之一。

随着流媒体技术的快速发展,视频编码已经由应用广泛的H.264标准发展到最新的H.265标准。H.265标准采用多种视频编解码的新技术,能够更好地支持高清视频;同时H.265标准在网络方面采用并行处理的應用方法,解决高清以及超清视频对网络带宽高需求而造成高清视频卡顿的问题,为高清视频实时传输和浏览提供便捷。

软件设备的提高需要硬件的支持,并且要求安防设备具有快速处理视频信号的能力和操作简单方便,应用领域普及范围广的特点。本文针对安防设备的功能需求采用嵌入式网络监控系统,以提高视频监控的质量,更好地满足安防监控的应用领域。

1  系统设计与实现

1.1  硬件系统设计

本文采用友善公司推出的Tiny?4412开发板。Tiny?4412开发板是三星公司生产的高性能微处理器,Cortex?A8内核,主频1.4 GHz/1.6 GHz,满足处理复杂算法的能力[1]。由系统外设接口丰富,具有1 GB的运行内存DDR3,8 GB的存储NANDFLASH芯片,以及具有USB摄像机接口、支持高清LCD显示器,同时在网络方面支持百兆网卡接口,硬件系统外设满足系统应用要求。硬件系统设计结构图如图1所示。

图1  硬件系统设计结构图

1.2  软件系统设计

基于Linux?2.6.30为操作系统,移植ARM端X265和FAAC软件,分别支持H.265视频编解码和AAC音频编码。应用程序部分采用多线程编程技术。

1.2.1  图像采集编码线程

V4L2[2]是Linux系统支持视频设备的驱动框架,它为针对视频设备的应用程序提供接口。

在Linux中,视频设备是设备文件,驱动程序在/dev/video*目录下,核心算法部分如下:

1) 打开摄像头设备,调用函数fd=open(“/dev/video0”,O_RDWR)。

2) 设置视频采集格式,调用函数ioctl(fd,VIDIOC_S_FMT,&fmt)设置视频采集分辨率、颜色、采集模式等。

3) 申请帧缓冲空间,在用户空间申请4个视频帧缓冲采用队列方式循环采集,并且采用mmap()方式将内核空间映射到用户空间,内存映射方式方便快捷,省去了大量内存复制,提高效率。

4) 设备采集图像,调用函数ioctl(fd,VIDIOC_STREAMON,&mtd)缓存图像,启动视频编码线程编码视频数据ret=x265_encoder_encode(pHandle,&pNals,&iNal,pPic_in,NULL),压缩采集视频。

5) 关闭视频设备close(fd),释放内存。

1.2.2  音频采集编码线程

ALSA是在Linux系统进行音频编程可供选择的声卡驱动体系结构,ALSA提供了支持多种声卡设备,提供了开发函数库(alsa?lib)以简化应用程序开发。基于ALSA声卡驱动音频采集得到PCM数据量大,网络传输需要将其转化为AAC音频格式,采用FAAC进行音频编码转换,ALSA声卡驱动在用户空间使用(alsa?lib)。本模块音频采集编码关键代码如下:

1) 初始化PCM编码参数设备句柄、硬件信息和PCM流配置。

2) 初始化采样格式,设置采样率。

3) 设置通道数量,完成硬件参数设置。

err=snd_pcm_hw_params(hangle, params)

4) PCM编码转换AAC格式音频码流缓存。

faacEncEncode(faacEncHandle hEncoder,  int32_t * inputBuffer, unsigned int samplesInput,  unsigned char *outputBuffer, unsigned int bufferSize)

//参数1是FAAC编码器句柄,参数2是输入PCM信息缓冲区,参数3是编码后数据长度,参数4编码后输出信息缓冲区,参数5是实际缓冲区大小

5) 关闭PCM设备句柄和编码器句柄。

1.2.3  音视频同步网络传输线程

基于音视频监控的实时性要求,网络传输机制选实时传输协议RTP/RTCP。RTP协议负责传输具有实时特性的音视频文件,是一个应用层程序,既可以工作在TCP协议上又可以工作在UDP协议上。UDP协议相对TCP协议,传输时延更短并且具有更小的网络开销,因此选择RTP/UDP协议格式进行视频码流传输。RTCP协议是实时传输控制协议,用于实时监控传输数据,RTCP中NTP(絕对时间戳)为SR(发送端发送的时间报告),还有协议中RTP Timestamp与NTP中的时间戳相对应,与RTP包的RTP时间戳具有相同的单位和随机初始值,并且是单调增加的。音视频码流根据NTP(绝对时间戳)和RTP Timestamp(相对时间戳)映射到统一的时间轴上,在播放端便可实现音视频同步。

音视频同步网络传输至关重要,如果在发送端造成音视频不同步,那在播放端怎样控制音视频同步都不能达到很好的效果。同时考虑到视频编码的时间相比音频编码时间长,为此系统对图像采集编码线程和音频采集编码线程分别设置缓冲区,同时利用信号量机制在同一网络传输线程音视频码流交替传输。为了保证在客户端音视频同步采用,在客户端区设置接收缓冲区,据国外机构研究可知,高清视频或者超高清视频偏移必须控制在80 ms以内,在系统接收端对音视频时间戳进行比对,音视频码流在80 ms以内则同步播放,以视频轴为主,偏离80 ms则再次比对。音视频同步控制框图见图2。

图2  音视频同步控制框图

2  实验结果与测试

Boa服务器为网上信息浏览提供服务,支持多端应用访问。嵌入式Boa服务器提供公关网管接口(CGI),客户端运行相应CGI程序,将数据上传客户端,方便信息交互。在嵌入式平台开启设备,运行系统应用程序,在互联网浏览器上登录嵌入式Boa服务器网址,可实现实时画面播放,视频画面高清,音视频同步效果良好,满足实际应用需要。

3  结  语

本文设计一种基于B/S架构的实时高清音视监控系统,采用开源的Linux系统为软件操作平台,重点阐述了视频采集V4L2驱动、视频编码技术、音频编码RTP/RTCP流媒体网络传输协议等多种技术,解决了高清网络监控传输带宽的压力和网络延迟,对安防监控起到借鉴作用,同时也可以应用到视频直播的流媒体应用领域。

参考文献

[1] 成敏,谢杉杉,徐强,等.基于Android的音视频同步交互系统[J].吉林大学学报(信息科学版),2016,34(4):507?514.

CHENG Min, XIE Shanshan, XU Qiang, et al. Audio and video synchronous system based on Android [J]. Journal of Jilin University, 2016, 34(4): 507?514.

[2] 陈晓伟,孟利民.基于B/S架构的视频监控音视频模块的设计[J].电声技术,2014,38(6):77?80.

CHEN Xiaowei, MENG Limin. Design of client software of the video monitor based on B/S structure [J]. Audio engineering, 2014, 38(6): 77?80.

[3] 廖志川,俞子荣,陈黎娟.基于ARM的移动视频监控终端设计与实现[J].现代电子技术,2012,35(10):9?11.

LIAO Zhichuan, YU Zirong, CHEN Lijuan. Design of mobile video monitoring terminal based on ARM [J]. Modern electronics technique, 2012, 35(10): 9?11.

[4] 史凯,雒江涛,张治中.基于RTP的H.264无线视频传输和QoS控制[J].微计算机信息,2009,25(6):162?164.

SHI Kai, LUO Jiangtao, ZHANG Zhizhong. Transmission of H.264 video over wireless networks based on RTP and QoS control [J]. Microcomputer information, 2009, 25(6): 162?164.

[5] 戎玲,游寒旭.数字视频对讲系统的全程唇音同步测试方法[J].电视技术,2017,41(6):143?146.

RONG Ling, YOU Hanxu. Lip sync test method for IP video intercom system [J]. Video engineering, 2017, 41(6): 143?146.

[6] 王开宇.基于C#的数据与视频监控系统上位机软件设计[J].现代电子技术,2017,40(10):62?64.

WANG Kaiyu. Design of C#?based PC software for data and video monitoring [J]. Modern electronics technique, 2017, 40(10): 62?64.

[7] 陈岚,鲍可进.基于S3C6410和3G的无线视频传输系统的设计与实现[J].无线通信技术,2014,23(2):42?46.

CHEN Lan, BAO Kejin. Design and implementation of wireless video transmission system based on S3C6410 and 3G [J]. Wireless communication technology, 2014, 23(2): 42?46.

[8] 王莉,周伟.基于ARM的嵌入式Web服务器设计[J].计算机工程与应用,2012,48(14):90?93.

WANG Li, ZHOU Wei. Design of embedded Web server based on ARM [J]. Computer engineering and applications, 2012, 48(14): 90?93.

[9] 许刚.基于ARM11的嵌入式视频采集监控系统设计[J].测控技术,2013,32(12):37?40.

XU Gang. Design of an embedded video capturing system based on ARM11 [J]. Measurement & control technology, 2013, 32(12): 37?40.

[10] 胡江涛.安防工程中音视频监控系统的优势与应用[J].自动化与仪器仪表,2017(8):131?132.

HU Jiangtao. Advantages and applications of audio video surveillance system in security engineering [J]. Automation & instrumentation, 2017(8): 131?132.

猜你喜欢

S架构监控系统
B/S架构下的学生信息管理系统的设计
学生会管理系统的设计与实现
无线广播电视安全优质播出的技术分析
基于ASP技术下的大学生跳蚤书街平台的设计与实施
县级区域雨量站观测设备监控系统的研究与设计
基于B/S架构的高校实验管理平台的设计与实现
基于Zigbee技术的煤矿井下通风机监控系统设计