你是否已經受夠了通過(guo)(guo)廣域網預(yu)覽攝像機視頻時(shi)遭遇的那種步履蹣跚般的卡頓(dun),和鬼魅般時(shi)不時(shi)出現的馬賽克?你有(you)沒(mei)夢想過(guo)(guo)有(you)一天廣域網的實況視頻也能像本地電腦(nao)上播(bo)放的高清大片般細膩流(liu)暢?宇視科技(ji)研發(fa)的可靠組播(bo)UniMCast、可靠單播(bo)UniUCast技(ji)術讓(rang)這一切(qie)不再(zai)是夢想。
UDP的困境和TCP的糾結
說(shuo)起(qi)廣域(yu)網,典型的(de)(de)(de)如有線(xian)的(de)(de)(de)因特(te)(te)網和無(wu)線(xian)的(de)(de)(de)3G、4G,它(ta)(ta)給我(wo)們(men)的(de)(de)(de)印(yin)象莫如:擁塞丟包(bao)、傳輸誤(wu)碼、可用帶寬不穩定、背景流(liu)量干(gan)擾擠占、時(shi)(shi)延、亂序(xu)(xu)等(deng)字(zi)眼,而視(shi)(shi)頻監(jian)控業(ye)務(wu)(wu)則要(yao)求保(bao)證音視(shi)(shi)頻的(de)(de)(de)流(liu)暢性、無(wu)丟包(bao)性和實(shi)時(shi)(shi)性——看來(lai),它(ta)(ta)們(men)天(tian)生(sheng)就如水與火,互不相容(rong)。我(wo)們(men)必(bi)須(xu)在視(shi)(shi)頻業(ye)務(wu)(wu)與廣域(yu)網之間(jian)添加一(yi)層潤滑劑(ji)。UDP天(tian)然(ran)的(de)(de)(de)盡力(li)傳輸特(te)(te)質使(shi)(shi)得它(ta)(ta)不具備任何差錯修正的(de)(de)(de)機制。TCP天(tian)生(sheng)具有流(liu)量控制、丟包(bao)重傳和亂序(xu)(xu)重排(pai)的(de)(de)(de)特(te)(te)性,但(dan)監(jian)控視(shi)(shi)頻的(de)(de)(de)實(shi)時(shi)(shi)生(sheng)成的(de)(de)(de)特(te)(te)點卻(que)使(shi)(shi)得TCP無(wu)法完全承擔起(qi)廣域(yu)網高(gao)清視(shi)(shi)頻傳輸的(de)(de)(de)大任。
原因(yin)一,TCP的(de)(de)(de)傳(chuan)輸(shu)(shu)性能對丟(diu)包率較敏感:在往返時(shi)延100ms,丟(diu)包率0.01% 的(de)(de)(de)情況下,TCP的(de)(de)(de)傳(chuan)輸(shu)(shu)能力約為11.7M;若將(jiang)丟(diu)包率提升至1%,則TCP傳(chuan)輸(shu)(shu)能力會降低至1.1M;這意味著(zhu),當(dang)丟(diu)包率增加到一定程度,雖然TCP本(ben)身有(you)重傳(chuan)抗丟(diu)包的(de)(de)(de)機制(zhi),但(dan)急劇降低的(de)(de)(de)傳(chuan)輸(shu)(shu)性能使得攝(she)像(xiang)機實時(shi)產(chan)生的(de)(de)(de)視(shi)頻來不及(ji)傳(chuan)輸(shu)(shu)而(er)丟(diu)失在攝(she)像(xiang)機的(de)(de)(de)出緩存中——這可能導(dao)致比丟(diu)包更嚴重的(de)(de)(de)結果:視(shi)頻被連續(xu)丟(diu)失,連一窺片段(duan)的(de)(de)(de)機會都有(you)沒有(you)了。
原(yuan)因二,TCP傳輸性能受(shou)往返時(shi)延影響較大:保持(chi)上述情形(xing)中的(de)丟包(bao)率1%,往返時(shi)延增加(jia)至200ms,則TCP的(de)傳輸能力將不(bu)足600Kbps;廣(guang)域(yu)網(wang)的(de)往返時(shi)延通常不(bu)可控,很難達(da)到(dao)TCP傳輸高清視(shi)頻所需(xu)的(de)要(yao)求。
原(yuan)因三(san),由于(yu)TCP擁塞控制的(de)原(yuan)因,在廣域(yu)網上傳輸業務(wu),其有效帶寬很容易被其它基于(yu)UDP的(de)流量所擠占。
原(yuan)因(yin)四,現有的(de)TCP實(shi)現會將誤(wu)(wu)碼當作(zuo)丟包,即使(shi)有充分的(de)帶寬,也會因(yin)視誤(wu)(wu)碼為(wei)丟包而降速,所(suo)以不(bu)適合高誤(wu)(wu)碼率的(de)環(huan)境,例如無線(xian)。
原因五,TCP無法(fa)支(zhi)持組播,如果(guo)(guo)有多(duo)個用戶需要同時(shi)預(yu)覽同一攝像機(ji),則需要建立(li)多(duo)條(tiao)TCP連(lian)接,發(fa)送(song)多(duo)條(tiao)視頻流,使得發(fa)送(song)端(duan)的(de)(de)負(fu)荷增(zeng)加,鏈(lian)路擁(yong)塞加重。因為(wei)UDP和TCP的(de)(de)上(shang)(shang)(shang)述缺陷(xian),業界推出了(le)一些改進方(fang)案。TCP加速(su)技術(shu)(shu)通過綜(zong)合評估數(shu)據傳(chuan)輸狀況,調節TCP的(de)(de)處理(li)機(ji)制,可以在一定(ding)程度(du)上(shang)(shang)(shang)改善其傳(chuan)輸性能(neng),但無法(fa)從根本(ben)上(shang)(shang)(shang)解(jie)決機(ji)制所存在的(de)(de)缺陷(xian),何況依舊無法(fa)解(jie)決組播的(de)(de)可靠性問題。前向糾錯技術(shu)(shu)雖然可以為(wei)UDP提供一定(ding)的(de)(de)抗丟(diu)包能(neng)力,但是(shi)它以增(zeng)加冗余(yu)信(xin)息為(wei)代價,加重了(le)廣域網(wang)的(de)(de)擁(yong)塞壓力,進一步增(zeng)加了(le)丟(diu)包風險,而且網(wang)絡設備普(pu)遍采用的(de)(de)尾(wei)丟(diu)棄(qi)機(ji)制使得擁(yong)塞發(fa)生時(shi)冗余(yu)信(xin)息會連(lian)同原始信(xin)息一起丟(diu)失,降低了(le)抗丟(diu)包的(de)(de)效果(guo)(guo)。
可靠UDP的優勢
為了兼顧傳輸的(de)效率和(he)可(ke)(ke)靠(kao)(kao)性,宇視科技根據視頻(pin)監控業務和(he)廣域網的(de)各自(zi)特點(dian),創新性的(de)提出了自(zi)己(ji)的(de)可(ke)(ke)靠(kao)(kao)組播和(he)可(ke)(ke)靠(kao)(kao)單(dan)播方(fang)案(an),合稱可(ke)(ke)靠(kao)(kao)UDP方(fang)案(an),可(ke)(ke)以很好的(de)解決上述問題。
宇視的(de)(de)(de)視頻發(fa)送(song)端(網絡攝像機、DVR、NVR等)和接(jie)收(shou)端(解碼客戶端、解碼器等)會根據流量的(de)(de)(de)特(te)點自(zi)適應的(de)(de)(de)開辟專用(yong)的(de)(de)(de)發(fa)送(song)緩存和接(jie)收(shou)緩存;接(jie)收(shou)端內置獨特(te)的(de)(de)(de)丟包(bao)亂(luan)序處理機制(zhi)(zhi);發(fa)送(song)端和接(jie)收(shou)端在專利算(suan)法控(kong)制(zhi)(zhi)下協同配合,實時調整(zheng)。
實際測試表明(ming),對(dui)于(yu)高(gao)清(qing)視(shi)頻(pin)業(ye)務,同樣條(tiao)件下(xia),宇視(shi)可靠UDP技術具有數十倍于(yu)TCP的(de)(de)(de)(de)(de)抗(kang)丟(diu)包能力。以廣域網典型的(de)(de)(de)(de)(de)100ms往返(fan)時延為例,TCP傳輸1.1M的(de)(de)(de)(de)(de)碼(ma)(ma)(ma)流(liu),抗(kang)丟(diu)包率為1%。而(er)宇視(shi)可靠單播(bo)和可靠組播(bo)特(te)性在400ms往返(fan)時延的(de)(de)(de)(de)(de)條(tiao)件下(xia),4M碼(ma)(ma)(ma)流(liu)可輕(qing)松(song)抗(kang)5% 以上的(de)(de)(de)(de)(de)丟(diu)包率,視(shi)頻(pin)流(liu)暢,圖像解碼(ma)(ma)(ma)時延幾乎不增(zeng)加。
【結束語】
宇視可(ke)(ke)靠UDP方案(an)具有很(hen)好(hao)的廣(guang)域環境(jing)適應性,在UDP和(he)TCP無法(fa)適用的場景中,宇視可(ke)(ke)靠UDP方案(an)使得(de)(de)高清視頻在廣(guang)域網上的實況點播不再顯得(de)(de)步履蹣跚,完全可(ke)(ke)以痛快淋漓(li)的暢飛起來(lai)。