2024年5月1日发(作者:)
20078
产品设计与实现
远程网络视频监控系统的设计与实现
邓璐娟王利亚刘涛丁孟宝
(郑州轻工业学院,450002)
【摘要】
基于Internet的远程视频监控是视频监控系统的最新发展趋势,它将摄
像头采集的视频信息通过视频服务器发布到网络上,能够使异地人员通过一台连接到
Internet上的PC机进行观看,从而对监控现场进行监管。本文以对校园内一栋教学楼
的远程视频监控为背景,首先介绍了整个系统的基本硬件结构及视频信息和控制信息
在系统中的传输过程,然后提出了远程监控系统中几个关键技术的实现方法,最后对
系统中的主要软件模块作了概述。
【关键字】
视频监控系统C/S模式套接字组播
一、引言
视频监控是安防领域的主要手段之一,对于保障
人们日常生产和生活的安全具有重要意义,是大型企
业诸如集团化公司、邮电、银行等信息交流广泛的企
业生产与管理的必备系统。
目前,随着互联网的大范围普及,社会信息化的
日益发展,信息技术、网络技术、通信技术以及多媒
体技术逐渐融合,视频监控也从传统的安防监控向数
字网络监控发展。以网络为基础的视频监控突破了时
间、地域的限制,只要有网络存在的地方就可以建立
网络监控系统,省去了传统的布线和线路维护费用,
降低了监控成本;用户在授权的情况下,就可以不受
地域限制随时按需监控,实现即插、即用、即看。
本文介绍了基于C/S模式,通过互联网对校园内一
栋教学楼的远程视频监控系统的实现方案及关键技
术。
二、系统硬件结构及主要部件功能
网络视频监控系统结构如图1所示:该系统由前端
设备、传输设备、多路视频分配器、网络视频服务
器、本地显示器、终端客户机等部分组成。前端包
括:摄像机、镜头、云台、防护罩等设备。传输部分
由视频线缆、电源线缆、控制线缆和传输线缆等组
成。本地主机接连接4路视频输入,集监视、录像、多
种画面分割、画面切换、回放检索、打印、等功能于
一体。终端客户机实现远程视频回放和对云台的监
控。
网络视频服务器是一种压缩、存储、处理视音频
数据的专用计算机,它由视音频压缩编码器、大容量
存储设备、输入/输出通道、网络接口、视音频接口、
RS422串行接口、协议接口、软件接口、视音频交叉点
矩阵等构成,同时,提供外锁相和视频处理功能。
视频服务器是前端的核心设备,在其上运行视频
数据处理模块,主要实现视频数据的实时采集和视频
图像模拟信号的数字化转换、压缩编码和动态存储、
视频图像的实时播放控制和网络传输,以及对摄像机
的接入和控制。
一路视频信号对应一台监视器或录像机,一台摄
像机的图像送给多个管理者观看时,就需要视频分配
器。因为并联视频信号衰减较大,送给多个输出设备
后由于阻抗不匹配等原因,图像会严重失真,线路也
不稳定。视频分配器除了阻抗匹配,还有视频增益,
使视频信号可以同时送给多个输出设备而不受影响。
在一台监视器上同时观看多个摄像机图像,需要
用画面分割器。分割器除了可以同时显示4个摄像机的
图像外,也可以显示单幅画面,可以叠加时间和字
符,设置自动切换,连接报警器材,也可以送到录像
机上记录。
-45-
产品设计与实现
20078
来很大的负担。因此,流媒体数据在传输或存储之
互联网
校园局域网
交换机
网络视频
服务器
控制线
多路视频
分配器
视频线
本地
观看
前,先要进行压缩处理,以便存储和传输,传送到目
的地后再解压缩播放出来。在本系统中采用MPEG-
4编解码技术。
MPEG是活动图像(MovingPictureExpertGroup)
的简称,是一个国际标准化组织,它制定了一系列的
音频和视频压缩标准,主要有MPEGI,MPEG2,MPEG4,
MPEG7和MPEG21。MPEG-4是超低码率运动图像和语
言的压缩标准,它不仅是针对一定比特率下的视频编
码,更加注重多媒体系统的交互性和灵活性。与其他
视频压缩编码标准相比,MPEG-4标准对传输速率要求
比较低,网络传输占用带宽小,能通过各种方式进行
远程视频图像传输,是适合于网络视频传输的佼佼
者。
2、网络传输技术
视频图像的传输质量直接影响系统的监控质量,
数字视频信号虽然已经过压缩,但数据量还是很大,
特别是当几路视频信号同时在网络上传输时,大量的
数据传输会使得传输网络变得拥挤,这会造成数据的
延迟及丢失,因此良好的网络通信通道和通信协议的
控制命令发送
图1网络视频监控系统结构图
三、网络视频监控系统的视频传输与处理模块
整个系统由服务器端和客户端两部分组成,服务
器端和客户端通过Socket套接字在整个互联网上进行通
信,视频数据流传输与处理流程见图2:
服务器端
本地视频回放
视频采集
数据存储
视频压缩
网络传输
云台镜头控制
控制命令接受
远程客户机端
视频显示
视频解压缩
网络传输
选择至关重要,IP协议是IP层通用的协议;常用的传输
层协议有TCP、UDP、实时传输协议RTP(Real-
timeTransportProtocol)、实时传输控制协议RTCP
(Real-timeTransportControlProtocol)等。
TCP是传输控制协议的缩写,它是面向连接的,
提供可靠流服务,提供确认与超时重传机制、滑动窗
口机制等。但是TCP的这些机制增加了网络开销,不适
合传输突发性的大量数据或者实时性数据,如音视频
流。
UDP是无连接的传输协议,不提供可靠性措施,
不必在数据报丢失或出错时要求服务器再重发,因此
紧凑快速,特别适合于实时性要求高的数据传输场
合。由于音频数据和视频图像数据的传输往往要求实
时传输,同时又允许在性能要求范围内存在数据错误
率和丢失率,因此UDP协议适合对音频和视频数据传
输。
但是由于UDP存在不可靠性,基于UDP的应用程
序,必须自己解决诸如报文丢失、重复、失序和流量
控制等问题。因此,在UDP协议之上,还必须使用多
媒体数据传输的RTP和RTCP协议。RTP协议提供实时
的、端到端的数据传送服务,采用RTP协议对音频、视
视频信号
RTP/RTCP
控制信号
TCP/IP
图2视频传输与处理示意图
安装在现场的摄像头和麦克将采集的模拟音视频
信号送入网络视频服务器。模拟信号被分成两路,一
路直接送入本地监视器进行本地回放,另一路被送入
编码器编码成MPEG-4的视频流和音频流,从编码器出
来的音视频流再被分为两路,一路送入本地硬盘存
储,另一路通过网络发送到客户端。客户机端用户根
据分配的用户名和密码访问服务器主机,接收网络数
据包,经过解码还原成原来的视频图像,就可以实时
察看监控录像,并发送相应的控制信息对云台、摄像
头进行远程控制,实现远程监控。
四、实现远程视频监控的关键技术
在远程网络视频监控系统中,需要采用了许多先
进的技术,主要有数字视频压缩编码技术、网络传输
技术、组播技术以及多线程技术。
1、数字视频压缩编码技术
由于流媒体信息源所产生的数据量非常大,如果
直接进行传输或存储,将会对网络带宽和存储空间带
-46-
20078
产品设计与实现
DirectShow是微软公司推出的新一代基于组件对象模型
COM(ComponentObjectModel)的多媒体开发包,主
要负责在Internet上音视频流的捕捉和回放。
DirectShow支持多种音视频编解码器和多种媒体类型,
可以提供高品质的媒体流解码和回放,为播放视频监
控中涉及到的各种类型的音频、视频数据提供了非常
有效的途径。
DirectShow使用FilterGraph模型来管理整个数据流
的处理过程;参与数据处理的各个功能模块叫做
Filter;各个Filter在FilterGraph中按一定的顺序连接成
一条“流水线”协同工作。
3、采用Windows的Socket套接字实现数据传输
Socket实际上是指一个通信端点,借助于它,用户
所开发的Socket应用程序可以通过网络与其他Socket应
用程序进行通信。本系统使用VC++6.0配套的MFC基本
类库中CAsync-Socket类对TCP/IP通信进行编程。
视频图像发送的基本过程:(1)建立Winsock2
MulticastSocket;如下:MultiSocket=WSASocket
(AF_INET,SOCK_DGRAM,IPPROTO_UDP,NULL,0,WS
A_FLAG_OVERLAPPED|
WSA_FLAG_MULTIPOINT_C_LEAF|
WSA_FLAG_MULTIPOINT_D_LEAF);//其中
SOCK_DGRAM表示基于UDP协议进行传输。(2)初始
化视频采集压缩卡,启动压缩采集;(3)建立输出到
缓冲区的流,由回调函数将采集的视频数据送至缓冲
区,设为64KB,缓冲区数据满时启动数据发送线程,
通过IP组播放式将数据发送出去。
客户端视频流接收过程:(1)输入连接发送端的
IP地址,向发送端发送数据请求;(2)当得到发送端
的确认消息后,启动接收播放数据线程,创建用户界
面窗口;(3)建立Winsock2MulticastSocket,根据发
送端传回的组播地址及端口加入此IP组播组;(4)建
立DirectShowFilterGraph,并启动运行;(5)在
Direct-Show请求数据时,从MultiSocket中读取数据(每
个IP数据包为64K)送到DirectShow的Buffer,此后视频
流的解码和播放都由DirectShow来完成。
六、结束语
本监控系统具有视频流压缩、实时视频和音频预
览、视频信号和音频信号切换、本地录像文件回放、
实时网络传输、远程文件回放和下载、支持流协议等
(下转第54页)
频数据进行封装,即使在某些包被丢失的情况下也能
对其他包进行解码,另外,时间戳信息便于解码时保
持音频和视频信号的同步。RTCP是RTP的控制协议,
用于监视网络的服务质量和数据接收双方的信息传
递,RTCP提供关于数据传输质量的反馈,该功能与其
他传输协议的流量控制和拥塞控制机制相对应。
3、IP组播技术
在IP协议下,视频数据的传送采用组播
(Multicast)方式,对那些要接收视频流的客户机,传
输端通过一次传输就可以将信息同时传送到一组接收
者;这样可以有效地减轻网络负担,避免网络资源的
浪费;也使发送端编程更简洁。IPv4中的D类地址即是
组播地址,最高位为1110,范围是224.0.0.0 ̄239.25-
5.255.255。
4、多线程技术
为了使编解码和数据的传输能同步进行,应用程
序采用多线程结构。进程是应用程序的执行实例,线
程是Win32的最小执行单元,一个进程包含一个主线程,
可以建立另外的多个线程。线程是系统分配处理器时
间的基本单元,并且一个进程中可以有多个线程同时
执行代码。Win32API可提供多线程编程,但是开发难
度大,MFC对其进行了封装,并且封装了事件、互斥
和其他Win32线程同步对象,提供了CwinThread类,使
编程更加方便、快捷。
五、系统主要模块的实现
本系统采用VC++6.0开发完成视频采集、存储、磁
盘管理和对云台和摄像机的控制,用户权限管理等功
能。VisualC++支持面向对象的编程方法,提供了简单
高效的方法来操作应用程序类。
1、视频采集与压缩
视频采集压缩卡可以完成将模拟信号转化为数字
信号并进行压缩编码,利用其提供的SDK还可以方便
的进行二次开发。
2、采用DirectShow实现实时图像和视频文件的播
放
为了支持多媒体信息的采集、压缩、解压和回
放,微软提供了两种在Windows中进行多媒体处理的开
发包:VideoForWindows(简称VFW)、DirectShow。
VFW是Microsoft于1992年推出的关于数字视频的一个
软件包。其使用简单方便,但是可控制性差。
-47-
产品设计与实现
(1)初始化发送端和接收端:主要完成1/0端口
的配置,使能发送器/接收器,启动计数器等;
(2)发送器/接收器配置:先打开配置方式,再
配置发送/接收器,最后使能收发功能;
(3)接收包/接收包处理;
(4)发送/接收数据:完成数据包的发送/接收操
作;
(5)读取A/D转换结果:等待AD转换完成后,读
取A/D转换结果数据,并开始接受新的转换;
六、视频传输模块设计
视频传输模块收到无线接收模块递交的视频数据
后,可以通过串口或网络接口将其传输到视频应用服
务端,本设计采用网络接口进行数据传输。目前,互
联网上传输视频数据大多采用UDP协议。UDP协议提供
非连接、不可靠的数据传输,由于接收端只对收到的
UDP数据包进行简单的完整性校验,丢弃有错误的数
据包,因此数据传输速度较快。然而,为了提高数据
传输的准确性和减少因使用UDP协议而额外增加的、
繁琐的数据确认操作,本设计选用面向连接的、可靠
的数据传输协议——TCP,视频传输模块与视频应用服
务端之间的通信过程如图3所示:
20078
统,则可以使用Kylix完成相同的功能)。由于BCB的
Image类可以完成精确到像素的图像处理能力,可以将
BMP,Drawing、自定义图形等显示成图像。因此,
SocketAPI从网络接收视频数据后,首先将接收到的
JPEG图像转换成BMP,然后将其传送给Image对象,
Image对象最后处理视频数据、生成图像视频并将其显
示出来。
八、结束语
本文提出了一种基于ARMS3C2410X的嵌入式无
线视频监控系统设计。采用嵌入式Linux操作系统进行
视频采集、压缩和打包并通过nRF2401无线发射、接收
模块进行视频数据无线传输,最后通过TCP/IP网络将
视频数据从视频传输模块传输到视频应用服务端,构
成一套完整的无线视频监控系统。由于系统的核心工
作采用高性能嵌入式处理器完成,因此该系统具有结
构简单、性能稳定、成本低廉等优点在油田、油气井
无线视频监控,智能家居等领域具有广阔的应用前
景。
【参考文献】
[1]陈俊宏,EmbeddedLinux嵌入式系统原理与实
务[M].北京:中国铁道出版社,2004
[2]曹翔,实时视频传输在MPLS网络中的QoS研究
[J]微计算机信息,2006,7-3:58-60
[3]NordicVLSIASA.nRF2401SingleChip2.4GHz
RadioTransceiverProductSpecification,2003
.转自《微计算机信息》2007年第7期
视频应用服务端
socket()
bind()
视频传输
socket()
accept()
建立连接
阴塞,等待用户连接请求
write()
请求
read()
处理服务请求
read()
应答
write()
lisen()
(上接第47页)
功能。
【参考文献】
[1]A.MuratTekalp..DigitalVideoProcessing.
PrenticeHallPTR.1998.
[2]卞俊锋,李兆强等.视频监控中心数据传输
控制的设计与实现[J]微计算机信息,2005,21(3):66-
67,106
[3]李虎,林中.远程网络视频监控系统的设计
与实现[J].数据通信2004,第6期:51-53
[4]欧建平,娄生强.网络与多媒体通信技术[M].
北京:人民邮电出版社,2002:256
转自《微计算机信息》2007年第7期
connect()
图3视频传输模块—视频应用服务端的通信过程
七、视频应用服务端一视频显示模块设计与实现
视频应用服务端采用BorlandC++Builder6.0完成监
控视频的合成(如果视频应用服务端采用Linux操作系
-54-
发布评论