分享

视频卡顿问题网络侧问题处理方案

 A_Ahahaha 2013-09-06
               

视频业务(例如视频监控,智真等)最常见的问题是视频图像卡顿,花屏,通常此产生此问题的原因可能涉及到前端摄像头,编码器,网络,媒体单元,解码器。根据日常项目总结,发现其中80%的问题为承载网络所导致,本文将详细描述视频业务的特征以及如何定位排查网络侧的问题。

通常导致视频卡顿,花屏,网络侧最主要的原因就是网络中存在丢包。但是通常采用ping的手段,往往发现网络一切正常,那么究竟是什么原因呢,首先我们需要先了解下视频流量的特点。

1 高带宽

与语音、数据业务相比,视频所占带宽是最高的。一方面源于单路视频的分辨率和码率在不断提高,目前,一路H.264编码720P的高清视频占用2M左右带宽,H.264编码的1080P的高清视频将占用4~8M带宽。

与此同时,随着视频接入点的不断增加,千万条支流汇聚起来,也会形成汹涌辽阔的干流带宽。

2 流量突发

依据视频图像压缩算法,视频流量由一系列的I帧和P帧组成,I帧传递一副图像的完整信息,P帧传递每副图像之间的差异信息。显然I帧会需要更多的IP包发送,并在瞬时造成报文突发,对于高清视频(1080P),相对于CIF格式,此现象会更为明显。

另一方面,由于当前各厂家所生产的前端,媒体单元普遍没有采用码流平滑技术,通常所宣称的码率(例如720P,4M/S),实际上是以秒为单位,1S的平均流量大小,但是通过实际抓包分析视频流量特点,我们发现视频流量的瞬时带宽,能够达到28M/S, 也就是说峰值流量是平均流量的7倍。

当这种带有突发特征的多路视频流叠加在一起时就会累积形成更大的突发。

3 丢包敏感

视频业务由于输出数据的高压缩比,在报文丢失的影响方面存在放大效应。对于每帧报文,如果出现一个丢包,整帧报文重组都将失败,如果I帧出现报文丢失,整个1秒钟的图像都会受到影响。普通IP业务一般丢包率控制在1%~2%以内,但对于视频业务来说这个控制指标远远不够,需要考虑更严格的0%~0.05%网络端到端丢包率设计。

通过对视频流量特征的描述,我们终于明白了,为什么网络中出现了视频流量丢包,而通过ping测试网络却一切正常。Ping包相对视频流量,为固定大小,流量平稳的数据包。而视频流量正是由于高带宽,高突发的特点,造成了传输过程中出现了丢包。

既然视频流量具有这样的特征,那么在网络传输中是否一定会出现丢包呢?

针对此问题,我们首先需要了解下网络在什么情况下会产生丢包。

1.   线路质量差,数据在输出过程中出现错误。此问题较为常见,通常也较好排查,通常我们通过查看网络设备接口计数器是否存在错误报文持续增长,即可定位。

2.   网络端口协商出现问题,例如速率,双工等模式协商出现异常。此问题经常出现在前端、媒体单元接入网络处。

3.   网络拥塞。此问题通常较难排查,因为我们通常查看网络接口带宽利用率,可能只有30%,但实际上由于视频流量突发特征,可能端口在瞬时已经产生拥塞并导致了丢包。某些网络设备在接口计数方面存在缺陷,不能够直观显示出由于网络拥塞所导致的丢包,导致问题定位,排查较为复杂。

基于网络拥塞较难排查,我们接下来将详细介绍此问题该如何分析处理。

首先分析如下两种流量模型:高低速模型,汇聚模型(也称多打一模型),网络节点只可能在此两种情况下,才会在端口出方向产生拥塞。(备注:对于传统网络设备,基于设备转发原理,不会在端口入方向产生拥塞,也不会在端口入方向产生拥塞丢包)

那么是否网络中只要存在这样的节点,在此节点处,就一定会出现拥塞丢包呢?

对于高低速模型,指的是从高带宽端口发送流量到低带宽端口,汇聚模型指的是多个端口(例如千兆)向一个相同速率的端口发送流量。这里首先分析的是设备接口带宽。但是网络中是否产生了拥塞,我们要结合实际场景进行分析,需要考虑在每条链路上,当前具体传输的流量带宽有多大,峰值有多大,峰值流量持续时间有多长,以此来判断网络中是否存在产生拥塞的可能。

潜在拥塞点找到了,网络中可能也确实产生了拥塞,那么网络设备是否一定会产生丢包呢?

通常网络设备端口出方向都具备一定的缓存能力,根据设备、板卡类型、软件版本不同,缓存能力也存在差别(备注:网络设备所有端口缓存总大小通常是固定的,不同的软件版本,对缓存分配方式,即每个端口可能获取的最大缓存值可能存在差异)。如果瞬时突发流量在端口缓存能力范围内,那么不会出现丢包情况,突发的流量会暂时缓存起来,待线路空闲时,再将缓存流量发送出去。如果突发流量超出设备接口缓存,此时网络中就产生丢包了。

那么如何具体定位网络节点到底出现拥塞丢包没呢?

以下介绍两种方法:

1、对于部分网络设备,可以通过查看接口计数器,观察discard参数是否持续增长,此参数代表接口拥塞丢包数量。

2、对于部分网络设备,由于芯片限制,不能通过接口计数器直接查看接口是否存在拥塞丢包。此时接口计数器虽然也有discard参数,但是并不能反映实际拥塞丢包情况,此时我们建议通过抓包来进行分析。

对于抓包,我们建议能够直接抓取网络接口出方向流量,附件将进一步说明如何通过抓包定位网络中存在拥塞。

接下来以两个案例进行具体的分析:

案例一:IVS监控系统回放录像花屏、半黑屏问题处理(高低速模型)

       

      案例二:(汇聚模型)

     

     

 总结:

通过以上分析,我们对视频流量特征有了清晰的认识,也对如何定位视频承载网的问题有了一个明确的思路。基于视频业务网络问题处理经验,我们提出以下建议:

1、视频前端,媒体单元,需要支持码流平滑功能。很多时候,客户现网是固定的,给视频业务提供的带宽也是确定的,如果能够支持码流平滑功能,将极大的提升我们视频产品的网络适应能力。

2、视频流量增强抗丢包功能,建议采用编码时增加冗余方式来实现,此功能可设为可选项(虽然我司产品已经宣称支持5%的丢包率,但从实际项目来看,部分前端丢包0.1%情况下,视频图像就会出现问题)

3、视频监控承载网建议采用轻载方式,带宽利用率建议在40%左右(经验值),避免出现链路利用率过高导致视频传输性能下降情况

4、对于网络质量不是非常好的情况下,例如前端采用无线方式接入,或者网络中存在少量丢包场景,可以尝试使用TCP方式承载媒体流。(TCP方式由于报文重传,可能带来一定延迟,导致图像出现卡顿情形,需现场结合实际情况进行处理)

5、媒体单元,建议直连核心层网络设备,避免多台媒体单元共用1台接入交换机连接核心设备,造成网络中出现多打一的流量模型,如果媒体单元必须通过接入层交换机连接到网络设备,核心层设备建议采用支持大缓存的线卡。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多