互联网远程视频监控系统传输与控制分析

2013-08-10 12:46:46玲,李丽,郑
湖北工业大学学报 2013年1期
关键词:传输方式视频流接收端

邹 玲,李 丽,郑 伟

(湖北工业大学电气与电子工程学院,湖北 武汉430068)

1 远程视频监控系统简述

随着网络应用逐渐渗透各个领域.利用宽带网络进行远程的网络视频监控,不但使用方便,而且非常经济.远程视频监控系统结构建立在互联网上,将会使操作维护更加方便,也增加了系统的实时性.

系统基于Internet通过以太网卡采用TCP/IP协议实现监控的存储与传输.应用体系采用四层(B/S)结构.使得系统管理、更新变得简易;使数据库更加安全,不会因为操作失误而对系统产生影响.使用IE浏览器内嵌ActiveX控件调用客户端管理模块,使整个应用系统更加灵活稳定.任何互联网环境下均可以接入此系统.在交互式通信时采用了多线程技术,同步进行解码和显示.

2 远程监控的视频传输分析

2.1 远程监控视频传输种类

目前远程监控视频传输方式[1]分为:1)视频基带传输;2)光纤传输;3)网络传输;4)微波传输;5)双绞线传输(平衡传输);6)宽频共缆传输.本文采用网络传输方式,这是一种解决城域间远距离、点位极其分散的监控传输方式,具有实时性且管理方便,缺点是:受目前网络带宽和速度的限制,动画延时明显.

2.2 远程监控视频传输方式

为使实时监控的延迟最小化,可采用视频流的方案解决这一问题.视频流不需要监控接收端对监控视频信息进行整段的划分下载,而是在监控接收端创建缓冲区,进行接收信息的临时存储,在信息量达到可以流畅播放之后,监控端即可开始显示监控视频.当监控接收端的缓冲区接收到第一个数据块时,就开始准备视频播放器的加载,此时缓冲区继续接受其他视频信息块,当信息量足够流畅播放视频时,监控平台即可播放监控信息,保证视频播放的实时性和连续性,一般可以将延迟控制在10s左右.

2.3 远程监控视频传输格式和传输协议

基于互联网的监控传输一般采用 MPEG2/4、H.264音视频压缩编码格式传输监控信号.而H.264编码具有极高的数据压缩比.在同等图像质量条件下,H.264的数据压缩比要比 MPEG-4高1.5~2倍.在网络传输过程中所需要的带宽更少,也更加经济.在MPEG-2需要6Mbps的传输速率匹配时,H.264只需要1~2Mbps的传输速率.因而适用于速率受限的网络传输方式.

根据以上对传输方式和传输格式的分析,远程监控可以采用基于H.264编码方式的RTP视频流方式对网络视频进行传输.

3 H.264编码方式的RTP视频流传输方案

H.264编码分两层结构,包括视频编码层(VCL)和网络适配层(NAL).其中,视频编码层负责对视频数据传输中所承载的视频内容进行描述和定义,它独立于网络;而网络适配层则负责使用下层网络的分段格式来封装数据,使其适于网络传输.其中,NAL由一系列的数据单元 NALU(Network Abstraction Layer Unit)组成,根据NALU的不同,其数据量也各不相同.每个NALU都由NALU头(NALU Header)和载荷数据(RBSP)组成(图1).

图1 NALU单元头格式

3.1 远程监控视频传输实现

服务器通过把视频数据用RTP进行打包封装.应用RTP的封装规范[2](包括同步源和时戳)对H.264的视频编码数据进行封装.RTP荷载结构通过荷载的第一个字节对信息进行识别,也共享为RTP荷载头.封装时将NAL单元(NALU)放入RTP载荷中,并对RTP的头标值进行设置(图2).

图2 服务器端打包流程

系统采用IP协议进行网络传输(图3),发送端需要在使用IP/UDP/RTP的协议时,将各报头数据进行封装,包括IP头(20字节以上),UDP头(8字节以上)和RTP头(12字节以上).然后按照RTP的信息格式放入视频数据,对RTP包头进行配置,包括Timestamp(时间信息),SSRC(同步源)以及Sequence Number(数据包序列)等参数,形成IP数据包,通过互联网进行发送,接收端通过对RTP数据进行识别,接收有效RTP包中的NALU数据,实现从发送端到接收端的视频流数据传输.

图3 RTP远程网络监控传输方式

系统采用QoS(Quality of Service,服务质量,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术)的反馈信息[3],探测网络传输质量,并根据网络速率动态调整发送端的采集编码参数设置,从而保证传输的QoS.对网络传输速率进行反馈控制,即接收端对丢包率进行统计,然后发给传输端,发送方根据丢包率调整传输速率,避免网络传输拥塞的一种策略.此处使用RTP协议进行反馈控制,RTP信息流在传输到接收端时,由接收端统计接收状况以及发射机报告(SR)而生成接收机报告(RR),反馈给传输端.根据此反馈信息,传输端会对视频流信息传输速率进行控制和动态调整,从而避免网络阻塞.[4]

3.2 视频的传输差错控制和速率控制[5]

ASP.Net开发Web应用时,主要是通过ADO组件对数据库进行操作,具有易用、高速、占用内存和磁盘空间少的特点.系统B/S结构在交互式通信时采用了多线程技术,同步进行解码和显示的工作.[7]

因为采用了远程视频流缓冲方式传输视频,要保证接收的数据完整准确并且流畅,需要对传输差错速率进行控制.差错控制是在传输中利用编码方法对传输中产生的差错进行控制,以提高数字消息传输的准确性,这是一种重要的数字通信保障技术.一般来说,差错控制的方法有两种:自动请示重发(ARQ)和前向纠错(FEC).

网络数据传输纠错一般通过校验来处理,如CRC-5CRC-12校验算法[6],以检查发送端发送的网络数据包到接收端是否正确.发送方有一个CRC(Cyclic Redundancy Check,循环冗余校验),接收方比较计算出的CRC和接收到的CRC是否一致即可判断网络是否出错.

4.1 通信控制流程

首先控制台对服务器端发送accept()请求信息,服务器在通过accept()返回的信息后与监控前端进行通信,对监控器发送信号,监控端接收到信号后进行相应的操作,并将图像结果反馈给用户(图4).

在信息量过大时如果不加以限制,超额的网络流量会导致设备反映缓慢,造成网络延迟.因此,有必要在传输中引入速率控制.系统根据参数信息初步确定发送速率,然后由RR反馈信息动态调整,调整视频分辨率来改变速率,当视频分辨率略微降低,在传输同等时间的视频时可以明显降低传输速率,只要达到较高的客观视频质量即可,没有必要为了降低传输率而降低帧数.

利用RTP数据报的序列号,发送方在第一次发送数据的时候生成一个初始随机数,之后发送的数据按照顺序序列号依次递增.这样,接收方就可以在收到Qos信息后,自动核对RTP的传输序列号,统计丢包情况.通过Qos对RTP数据报序列号进行检测,同时结合视频流传输方案对视频接收对象进行替换,将按照RTP数据报序列号接收的视频依次进行交替,保证视频接收的顺序正确无误.

图4 通信流程

4 远程监控视频传输的控制结构

嵌入式web客户端采用数据报式的sockets和客户机通信发送基于RTP/UDP/IP协议的视频数据.要对远程视频传输进行控制,需要通过socket进行远程控制.远程视频监控系统使用C#语言与ASP.Net进行web程序和管理类库的设计,基于Sockets的底层通信实现对服务器的远程控制.使用

服务器根据客户端的accept()将建立一个会话Session,使用两个端口分别进行RTP传输和RTCP传输.对于不同的会话,根据客户方的网络地址和端口进行UDP调用,需要分别为rtp和rtcp创建两个socket套接字rtp_socket和rtcp_socket.并通过sendto()接口,使用rtcp_socket和rtp_socket分别发送数据流信息和报告信息.

4.2 信息流字段定义

会话结构定义如下所示.

typedef SessionStruct

{struct{PayloadProfile*profile; //负载属性

float payload_type; //负载的类型定义

unsigned float ssrc; //源标识符定义

}send,recv; //会话的发送与接收

RtpStream rtp_msg; //数据流信息

RtcpStream rtcp_msg; //报告流信息

}SessionDef;

信息流结构定义如下所示.

typedef StreamStruct

{socket_Rtp socket; //信息流socket

struct addr_in addr_remote; //发送目标

unsigned long send_num; //序列标识

stream_states_msg states; //记录状态信息

unsigned float send_msg_last; //有效发送时间信息

unsigned float recv_msg_first; //收到信息时间

}StreamDef;

5 结束语

基于Internet浏览器与服务器端架构的远程视频监控系统的操作管理平台以ActiveX插件形式嵌入在web当中,免去了下载并使用安装程序的繁琐步骤.同时,为互联网远程监控的查看与控制提供了更及时更方便的管理.其主要问题在于对大量视频数据的实时传输.视频监控的传输可根据系统的网络状况和应用场景选择或构建相适应的网络传输方式,包含网络架构选择(局域网/广域网)、传输方式选择(有线/无线)、传输介质选择(网线/光纤).随着TD-LTE、Wi-Fi、专网等无线、有线宽带技术的成熟和应用,大流量数据的远程传送更加方便,这也扫除了网络监控在大范围应用中的传输障碍.目前,在金融联网监控等项目中通常采用自建光纤网络或局域网络实现1000M带宽网络.这种千兆带宽资源,在前端安装100路1080P全实时高清网络摄像机(即使按每路占用资源4Mbps计算),占用总带宽资源不到50%;如果采用720P传输,带宽还可以减少一半.这样,完全可以有效支持网络监控的实际应用,远程视频监控系统将会有更广阔的发展空间.

[1]吴之惠,徐海峰,刘贤德.视频采集在视频监控系统中的应用[J].微计算机信息,2007(4):138-140.

[2]柳 伟,陈 旭,梁永生.H.264/SVC的 RTP封装算法及其应用[J].计算机工程与应用,2010(19):27-32.

[3]杨海涛,王万良,刘锋光,等.具有数据流和视频流的Internet的远程控制系统[J].计算机工程,2006(3):254-256.

[4]唐智伟.基于 H.323协议的 H.264视频传输[D].湘潭:湘潭大学图书馆,2008.

[5]陈 磊,金建祥,金敏凡.“基金会现场总线(FF)技术”讲座 第3讲FF总线中的差错控制与流量控制[J].自动化仪表,2001(8):57-59.

[6]徐昌彪,隆克平.无线网络中差错控制与拥塞控制策略的分析[J].重庆邮电学院学报(自然科学版),2001(1):31-32.

[7]庞文尧.基于C/S模式的远程控制系统研究开发[D].杭州:浙江大学图书馆,2003.

[8]张海军,张建军,杨印根,等.RTP传输控制的研究及实时视频监视系统的设计与实现[J].信息化纵横,2009(5):54-61.

[9]陈 韬,张占军,洪 君.流媒体的RTP传输与QoS管理策略研究[J].装甲兵工程学院学报,2005(3):25-28.

[10]彭 强,杨天武,陈维荣,等.分布式远程视频监控系统视频传输技术研究[J].铁道学报,2002(2):49-54.

猜你喜欢
传输方式视频流接收端
边缘实时视频流分析系统配置动态调整算法研究
基于扰动观察法的光通信接收端优化策略
顶管接收端脱壳及混凝土浇筑关键技术
一种设置在密闭结构中的无线电能传输系统
新能源科技(2021年6期)2021-04-02 22:43:34
基于多接收线圈的无线电能传输系统优化研究
基于视频流传输中的拥塞控制研究
可穿戴式多通道传感系统功能需求分析及设计
美国视频流市场首现饱和征兆
基于分布式传感器的GIS局部放电在线监测实时数据传输方式的研究
电测与仪表(2016年1期)2016-04-12 00:35:16
浅谈工程建设中的信息化发展与网络传输方式选择