你是否已經(jīng)受夠了通過廣域網(wǎng)預覽攝像機視頻時遭遇的那種步履蹣跚般的卡頓,和鬼魅般時不時出現(xiàn)的馬賽克?你有沒夢想過有一天廣域網(wǎng)的實況視頻也能像本地電腦上播放的高清大片般細膩流暢?宇視科技研發(fā)的可靠組播UniMCast、可靠單播UniUCast技術(shù)讓這一切不再是夢想。
UDP的困境和TCP的糾結(jié)
說起廣域網(wǎng),典型的如有線的因特網(wǎng)和無線的3G、4G,它給我們的印象莫如:擁塞丟包、傳輸誤碼、可用帶寬不穩(wěn)定、背景流量干擾擠占、時延、亂序等字眼,而視頻監(jiān)控業(yè)務則要求保證音視頻的流暢性、無丟包性和實時性——看來,它們天生就如水與火,互不相容。我們必須在視頻業(yè)務與廣域網(wǎng)之間添加一層潤滑劑。UDP天然的盡力傳輸特質(zhì)使得它不具備任何差錯修正的機制。TCP天生具有流量控制、丟包重傳和亂序重排的特性,但監(jiān)控視頻的實時生成的特點卻使得TCP無法完全承擔起廣域網(wǎng)高清視頻傳輸?shù)拇笕巍?/P>
原因一,TCP的傳輸性能對丟包率較敏感:在往返時延100ms,丟包率0.01% 的情況下,TCP的傳輸能力約為11.7M;若將丟包率提升至1%,則TCP傳輸能力會降低至1.1M;這意味著,當丟包率增加到一定程度,雖然TCP本身有重傳抗丟包的機制,但急劇降低的傳輸性能使得攝像機實時產(chǎn)生的視頻來不及傳輸而丟失在攝像機的出緩存中——這可能導致比丟包更嚴重的結(jié)果:視頻被連續(xù)丟失,連一窺片段的機會都有沒有了。
原因二,TCP傳輸性能受往返時延影響較大:保持上述情形中的丟包率1%,往返時延增加至200ms,則TCP的傳輸能力將不足600Kbps;廣域網(wǎng)的往返時延通常不可控,很難達到TCP傳輸高清視頻所需的要求。
原因三,由于TCP擁塞控制的原因,在廣域網(wǎng)上傳輸業(yè)務,其有效帶寬很容易被其它基于UDP的流量所擠占。
原因四,現(xiàn)有的TCP實現(xiàn)會將誤碼當作丟包,即使有充分的帶寬,也會因視誤碼為丟包而降速,所以不適合高誤碼率的環(huán)境,例如無線。
原因五,TCP無法支持組播,如果有多個用戶需要同時預覽同一攝像機,則需要建立多條TCP連接,發(fā)送多條視頻流,使得發(fā)送端的負荷增加,鏈路擁塞加重。因為UDP和TCP的上述缺陷,業(yè)界推出了一些改進方案。TCP加速技術(shù)通過綜合評估數(shù)據(jù)傳輸狀況,調(diào)節(jié)TCP的處理機制,可以在一定程度上改善其傳輸性能,但無法從根本上解決機制所存在的缺陷,何況依舊無法解決組播的可靠性問題。前向糾錯技術(shù)雖然可以為UDP提供一定的抗丟包能力,但是它以增加冗余信息為代價,加重了廣域網(wǎng)的擁塞壓力,進一步增加了丟包風險,而且網(wǎng)絡設(shè)備普遍采用的尾丟棄機制使得擁塞發(fā)生時冗余信息會連同原始信息一起丟失,降低了抗丟包的效果。
可靠UDP的優(yōu)勢
為了兼顧傳輸?shù)男屎涂煽啃裕钜暱萍几鶕?jù)視頻監(jiān)控業(yè)務和廣域網(wǎng)的各自特點,創(chuàng)新性的提出了自己的可靠組播和可靠單播方案,合稱可靠UDP方案,可以很好的解決上述問題。
宇視的視頻發(fā)送端(網(wǎng)絡攝像機、DVR、NVR等)和接收端(解碼客戶端、解碼器等)會根據(jù)流量的特點自適應的開辟專用的發(fā)送緩存和接收緩存;接收端內(nèi)置獨特的丟包亂序處理機制;發(fā)送端和接收端在專利算法控制下協(xié)同配合,實時調(diào)整。
實際測試表明,對于高清視頻業(yè)務,同樣條件下,宇視可靠UDP技術(shù)具有數(shù)十倍于TCP的抗丟包能力。以廣域網(wǎng)典型的100ms往返時延為例,TCP傳輸1.1M的碼流,抗丟包率為1%。而宇視可靠單播和可靠組播特性在400ms往返時延的條件下,4M碼流可輕松抗5% 以上的丟包率,視頻流暢,圖像解碼時延幾乎不增加。
【結(jié)束語】
宇視可靠UDP方案具有很好的廣域環(huán)境適應性,在UDP和TCP無法適用的場景中,宇視可靠UDP方案使得高清視頻在廣域網(wǎng)上的實況點播不再顯得步履蹣跚,完全可以痛快淋漓的暢飛起來。