安防视频监控系统实时视频的网络传输

更新时间:2022-06-10


目前,基于TCP/IP的数据传输网络在本质上是尽力而为的网络,是为传统数据业务提供传输服务的网络,其传输带宽的波动是不可避免的,传输延时也是随机的。因此,如何在IP网络上提供流媒体服务并实时传输视频,在这里也需要详细解读一下。

一、实时视频网络传输系统的组成及原理

一个完整的实时视频网络传输系统由视频采集、视频编码、传输控制协议处理、1P通信网络、视频解码等组成。其系统的组成与原理框图如图1所示。


图1 实时视频网络传输系统组成与原理框图

由图1可知,整个视频流的处理、传输流程是:在视频发送端,对模拟视频进行采样,获得数字视频并进行视频编码,生成适应于网络传输的面向网络通信的视频码流;根据反馈信息,估计网络的可用传输带宽,自适应地调整编码器的编码输出速率(包括信源码率的调整与信道码率的调整),使得视频码流能够满足当前网络传输可用带宽的限制;在接收端,对接收的视频流进行解码、重构视频信号、计算当前网络传输参数(如传输中的丢包率等)并发送反馈控制信息。

视频采集部分主要由视频A/D、视频D/A、同步逻辑控制、视频处理、数据存储器构成。A/D部分是将各种标准的模拟视频信号转换成数字视频信号,作为视频处理子单元的输入数据;逻辑产生单元通常选用FPGA或CPLD来完成各种同步逻辑控制,保证采集的实时性;对视频数据进行分析和处理,所需运算量常常较大,为了保证视频处理的实时性,常采用视频处理专用芯片、高速DSP、FPGA和DSP等来完成视频处理。

视频编码部分将数字视频信号压缩为满足一定视觉质量要求并且符合一定标准的数据流。在视频流的网络通信应用中,特别强调编码器所生成的视频流应该对网络传输带宽的随机波动具有自适应性。目前常采用可伸缩的视频编码器对视频信号进行编码,可伸缩的视频编码可以在时域、空域或正交变换域进行,其基本思想是将码流分成基本层和增强层。其中基本层码流是必须传输的,包括提供最低质量等级保证的视频码率和视频序列的运动矢量:增加层是可选择传输的,并且可以根据网络的传输条件进行任意截断。

传输控制部分根据网络的反馈信息,调整编码器的编码速率(信源码率调整)和信道差错控制(信道码率调整),并使信源码率与信道码率达到最佳分配。为了降低信道突发误码对视频码流的影响,常对视频数据包进行交织处理,以降低临近数据包同时发生误码的概率,便于接收端的错误隐藏和恢复。

在视频流的网络传输中,丢包是不可避免的(特别是在无线网络传输环境中)。为了保证完全正确的数据包传输,可以采用重传的策略,但对于视频流应用,因为对时延的敏感更胜于对丢包的敏感,所以在接收端,不需要强调完全正确的数据包传在正确接收的数据包基础上如何提供最大满意程度的视频质量则为接收端解码模块的中心问题。该问题等价于如何利用接收数据包的冗余信息,提供更为满意的解码视频流输出。解决的办法就是在接收端的错误隐藏和误差恢复。错误隐藏的方法有:

(1)基于空间相关性的错误隐藏。利用错误块在同一帧内相邻块的正确数据进行内插来重构错误块的数据,以此来达到错误隐藏的目的。这样才能够对相似或者很多细节的区域进行很有效的恢复。

(2)基于时间相关性的错误隐藏。这种方法是利用时间上相邻的帧具有很强的相关性来进行错误隐藏。错误隐藏的一个新的发展是采用自适应的方法进行改进,即根据图像的特点和误码的类型来选择相应的恢复方法或者是这几种方法的结合。自适应的一种准则是恢复图像的峰值信噪比(PSNR)最大化,结合的方式有线性加权合并、最大信噪比合并等。

二、TCP/IP协议不适合网络实时传输视音频数据

视频流传输与传统的TCP/IP网络的数据传输有明显的区别,主要表现在:传统的数据传输对传输延时和传输抖动没有严格的要求,但是有严格的差错控制和错误重传机制。而视频流要求传输具有实时性,对同步要求较高,并且对传输延时和抖动非常敏感,但在一定的情况下可以允许分组丢失,即可以接受一定程度的传输误码,并且流媒体服务具有根据网络的实时用传输带宽自适应地调整视频的传输质量的能力。

IP网已被广泛使用在各种场合,其中TCP/IP协议是各种网络操作系统互连和通信的工业标准。TCP/IP协议最初是为提供非实时数据业务而设计的,IP协议负责主机之间的数据传输,不进行检错和纠错,因此经常发生数据丢失或失序现象。为保证数据的可靠传输,人们将TCP协议用于IP数据的传输,以提高接收端的检错和纠错能力。当检测到数据包丢失或错误时,就会要求发送端重新发送,这样一来就不可避免地引起了传输延时和耗用网络的带宽,因此传统的TCP/IP协议传输实时音频、视频数据的能力较差。当然在传输用于回放的视频和音频数据时,TCP协议也是一种选择。如果有足够大的缓冲区、充足的网络带宽,在TCP协议上,接近实时的视/音频传输也是可能的。然而,如果在丢包率较高、网络状况不好的情况下,利用TCP协议进行视/音频通信几乎是不可能的。TCP和其他传输层协议如XTP不适合实时视音频传输的原因主要有:

(1)TCP的重传机制不宜。在TCP/IP协议中,当发送方发现数据丢失时,它将要求重传丢失的数据包。然而这将需要一个甚至更多的周期(TCP/IP的快速重传机制,将需要3个额外的帧延迟),这对于实时性要求较高的视/音频数据通信几乎是灾难性的,因为接收方不得不等待重传数据的到来,从而造成了延迟和断点(音频的不连续或视频的凝固等)。

(2)TCP的拥塞控制机制不宜。它在探测到有数据包丢失时,就会减小它的拥塞窗口。而视/音频在特定的编码方式下,产生的编码数量(即码率)是不可能突然改变的。正确的拥塞控制应该是变换视/音频信息的编码方式,调节视频信息的帧频或图像幅面的大小等。

(3)TCP的报文头较大。TCP的报文头比UDP的报文头大,TCP的报文头为40B,而UDP的报文头仅为12B,并且这些可靠的传输层协议不能提供时间戳(TimeStamp)和编/解码信息,而这些信息恰恰是接收方(即客户端)的应用程序所需要的。

(4)启动速度慢。因为即便是在网络运行状态良好、没有丢包的情况下,由于TCP的启动需要建立连接,因而在初始化的过程中,需要较长的时间。显然,在一个实时视/音频传输应用中,尽量少的延迟是我们所期望的。

因此,TCP不适合于视/音频信息的实时传输。虽然,TCP/IP协议可拓宽其应用范围。但单纯的TCP/IP协议已经很难适应视/音频通信,特别是连续的媒体流(如视频流)通信的要求。TCP协议是面向连接的协议,被用于各种网络上提供有序可靠数据传输的虚电路服务,它的重传机制和拥塞控制机制(Congestion Control Mechanism)都是不适合用来传输实时视/音频数据的。

三、RTP/RTCP协议适合实时传输视音频

若要在Internet上面提供流媒体数据服务,则需要使用RTP/RTCP(Real-time Transport Protocol/Real-time Transport Control Protocol)协议。RTP协议在一对一或者一对多的传输情况下工作,提供数据包传输过程中的时间信息和实现流数据同步;RTCP协议与RTP协议…起工作,提供网络传输中的流量控制和拥塞控制。RTP/RTCP是一种应用型的传输层协议,它并不提供任何传输可靠性的保证和流量的拥塞控制机制,它是由IETF(Internet Engineering Task Force)为视/音频的实时传输而设计的传输协议。RTP协议位于UDP协议之上,在功能上独立于下面的传输层(UDP)和网络层,但不能单独作为一个层次存在,通常是利用低层的UDP协议对实时视/音频数据进行组播(Multicast)或单播(Unicast),从而实现多点或单点视/音频数据的传输。

UDP是一种无连接的数据报投递服务,虽然没有TCP那么可靠,并且无法保证实时视/音频传输业务的服务质量(QoS),需要RTCP实时监控数据传输和服务质量。但是,由于UDP的传输延时低于TCP,能与视/音频流很好地匹配。因此,在实际应用中,RTP/RTCP/UDP用于视/音频媒体,而TCP用于数据和控制信令的传输。

RTP协议没有连接的概念,它既可以建立在面向连接的底层协议上,也可以建立在面向无连接的底层协议上,因此RTP协议对传输层是独立的。RTP协议一般由两个部分组成:数据报文部分(RTP报文)和控制报文部分(RTCP)。RTCP是RTP的控制协议,它用于监视服务质量和正在进行的与会者会话上传递信息,单独运行在底层协议上。根据协议规定,RTP和RTCP选用不同的网络端口号,RTP选择一个偶数位的端口号,而RTCP则选用下一个奇数位的端口号。RTCP是由接收方向发送的报文,它负责监视网络的服务质量、通信带宽,以及网上传送的信息,并将这些信息发送给发送端。RTCP包周期性地向同一个组播网内的所有成员发送。

RTCP的基本做法是周期性地向会话的所有参加者进行通信,采用和数据包分配传送的相同机制来发送控制包。和RTP协议相同,RTCP协议也要求下层协议提供复用手段(如要UDP提供不同的端口号来实现复用)。RTCP的主要功能如下。

(1)数据传输的质量提供反馈,并提供QoS的检测。所有的接收方把它最近的接收情况报告给所有发送者,这些信息包括所接收到数据包的最大顺序号、丢失的包数、乱序包的数量,以及用于估计传输时延的时间戳的信息。而这些信息反映了当前的网络状况,发送方在接收到这些信息后自动地调整它们的发送速率。

(2)提供不同媒体间的同步。在视/音频传输服务中,RTP源可能会有几种媒体(如视/音频)需要传输,这些不同的媒体之间的同步需要依靠RTCP中包含的时钟信息和相关的RTP时间戳信息来进行同步。

(3)在会话的用户界面上显示会话参与者的标识。RTP报文中提供了SSRC字段来进行源标识,然而,进一步的会话参与者的描述是需要的。RTCP报文中的源描述(SEDS)提供了会话参与者的详尽描述,包括姓名、住址、E-mail等,主要是为会议电视提供更体贴的支持。当然,对于多视频服务器的组播模式也提供了很好的解决方案

视频流和音频流在时间轴上的连续性,要求网络的实时传输及高带宽,同时又允许传输中存在一定的数据错误率及数据丢失率。由于RTP本身并不具有一种独立传输能力,它必须与低层网络协议结合才能完成数据的传输服务。又由于视/音频在时间轴上的相关性不强,而数据的实时性要高于其可靠性,所以在UDP之上利用RTP/RTCP协议对媒体(视频和音频)流进行封装、打包和同步,可以使数字视/音频信号的网络传输延时达到最小。

由上分析可知,与TCP协议相比较,RTP协议提供了一种更适合于实时视/音频信息的传输机制。

下一篇

智能化弱电工程学习资料免费送

弱电工程

智能化弱电工程学习资料免费送

本次主要对智能化弱电工程资料文章及目录进行重新分类定义,涉及到“报警、公共广播、可视对讲、门禁、综合布线、无线覆盖、数字电视、楼宇自控“等常见系统施工报价的内容,非常全面,是做弱电智能化项目非常实用的资料,可以直接参考,省时省力。 ...

相关内容

网真与视频会议:有什么区别?

网真与视频会议:有什么区别?

远程呈现和视频会议都是借助技术进行远距离面对面交流的工具。然而,它们都有一些重大......

通信系统集成

2023-11-22

4K视频分辨率

4K视频分辨率

4K视频分辨率是高清(HD)视频,其分辨率是1080p高清视频的四倍。4K视频有......

通信百科

2023-11-21

视频会议带宽

视频会议带宽

由于视频会议服务中越来越多地提供自适应编解码器和AI功能,远程工作者几乎可以获得......

通信系统集成

2023-11-20