你是否已經受夠了通過廣域網預覽攝像機視頻時遭遇的那種步履蹣跚般的卡頓,和鬼魅般時不時出現的馬賽克?你有沒夢想過有一天廣域網的實況視頻也能像本地電腦上播放的高清大片般細膩流暢?宇視科技研發的可靠組播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方案使得高清視頻在廣域網上的實況點播不再顯得步履蹣跚,完全可以痛快淋漓的暢飛起來。