你是否已经受够了通过广域网预览摄像机视频时遭遇的那种步履蹒跚般的卡顿,和鬼魅般时不时出现的马赛克?你有没梦想过有一天广域网的实况视频也能像本地电脑上播放的高清大片般细腻流畅?宇视科技研发的可靠组播UniMCast、可靠单播UniUCast技术让这一切不再是梦想。
UDP的困境和TCP的纠结
说起广域网,典型的如有线的因特网和无线的3G、4G,它给我们的印象莫如:拥塞丢包、传输误码、可用带宽不稳定、背景流量干扰挤占、时延、乱序等字眼,而视频监控业务则要求保证音视频的流畅性、无丢包性和实时性——看来,它们天生就如水与火,互不相容。我们必须在视频业务与广域网之间添加一层润滑剂。UDP天然的尽力传输特质使得它不具备任何差错修正的机制。TCP天生具有流量控制、丢包重传和乱序重排的特性,但监控视频的实时生成的特点却使得TCP无法完全承担起广域网高清视频传输的大任。
原因一,TCP的传输性能对丢包率较敏感:在往返时延100ms,丢包率0.01% 的情况下,TCP的传输能力约为11.7M;若将丢包率提升至1%,则TCP传输能力会降低至1.1M;这意味着,当丢包率增加到一定程度,虽然TCP本身有重传抗丢包的机制,但急剧降低的传输性能使得摄像机实时产生的视频来不及传输而丢失在摄像机的出缓存中——这可能导致比丢包更严重的结果:视频被连续丢失,连一窥片段的机会都有没有了。
原因二,TCP传输性能受往返时延影响较大:保持上述情形中的丢包率1%,往返时延增加至200ms,则TCP的传输能力将不足600Kbps;广域网的往返时延通常不可控,很难达到TCP传输高清视频所需的要求。
原因三,由于TCP拥塞控制的原因,在广域网上传输业务,其有效带宽很容易被其它基于UDP的流量所挤占。
原因四,现有的TCP实现会将误码当作丢包,即使有充分的带宽,也会因视误码为丢包而降速,所以不适合高误码率的环境,例如无线。
原因五,TCP无法支持组播,如果有多个用户需要同时预览同一摄像机,则需要建立多条TCP连接,发送多条视频流,使得发送端的负荷增加,链路拥塞加重。因为UDP和TCP的上述缺陷,业界推出了一些改进方案。TCP加速技术通过综合评估数据传输状况,调节TCP的处理机制,可以在一定程度上改善其传输性能,但无法从根本上解决机制所存在的缺陷,何况依旧无法解决组播的可靠性问题。前向纠错技术虽然可以为UDP提供一定的抗丢包能力,但是它以增加冗余信息为代价,加重了广域网的拥塞压力,进一步增加了丢包风险,而且网络设备普遍采用的尾丢弃机制使得拥塞发生时冗余信息会连同原始信息一起丢失,降低了抗丢包的效果。
可靠UDP的优势
为了兼顾传输的效率和可靠性,宇视科技根据视频监控业务和广域网的各自特点,创新性的提出了自己的可靠组播和可靠单播方案,合称可靠UDP方案,可以很好的解决上述问题。
宇视的视频发送端(网络摄像机、DVR、NVR等)和接收端(解码客户端、解码器等)会根据流量的特点自适应的开辟专用的发送缓存和接收缓存;接收端内置独特的丢包乱序处理机制;发送端和接收端在专利算法控制下协同配合,实时调整。
实际测试表明,对于高清视频业务,同样条件下,宇视可靠UDP技术具有数十倍于TCP的抗丢包能力。以广域网典型的100ms往返时延为例,TCP传输1.1M的码流,抗丢包率为1%。而宇视可靠单播和可靠组播特性在400ms往返时延的条件下,4M码流可轻松抗5% 以上的丢包率,视频流畅,图像解码时延几乎不增加。
【结束语】
宇视可靠UDP方案具有很好的广域环境适应性,在UDP和TCP无法适用的场景中,宇视可靠UDP方案使得高清视频在广域网上的实况点播不再显得步履蹒跚,完全可以痛快淋漓的畅飞起来。