上海2018年2月6日電 /美通社/ -- 近(jin)日,七牛云正式推出QUIC 直播推流方案,從正(zheng)面解決了直播在弱網環境下的卡頓、斷線等問題,并可在弱網直播環境下實現低卡頓、穩定推流等功能。作為智能視頻云行(xing)業的佼佼者(zhe),七牛云一直在(zai)實時性(xing)、互動性(xing)和用戶體驗(yan)上不斷升級、技(ji)術(shu)突破。
目前,七(qi)牛已經支持了美拍、熊貓TV、龍珠、懂球帝等逾千家直播客戶在技術上的各種要求,并在保持自身低延時、極速秒開、流暢不卡頓等等優勢的前提下,創新性地完成了 QUIC 直播推流。兩年前(2016年6月),七(qi)牛(niu)云在自身(shen)存儲和(he)數據處理的(de)(de)基礎上(shang)在京正式對外發布七(qi)牛(niu)直播(bo)(bo)(bo)云服務(wu),開(kai)始向客(ke)戶提(ti)供一(yi)體(ti)化(hua)的(de)(de)移動直播(bo)(bo)(bo)整(zheng)體(ti)服務(wu),包(bao)括全(quan)球化(hua)的(de)(de)實時流網(wang)絡 (LiveNet) 以及端到端的(de)(de)直播(bo)(bo)(bo)場(chang)景(jing)解決方案、智(zhi)能化(hua)質量監控等等。把富媒體的各種場景做深做透,幫助用戶縮短從想法到產品的距離,是七牛一直以來的愿景。
從直播的技術發展和產品上來看,卡頓是最影響直播體驗的因素之一,也是最難解決的問題之一。在流媒體的傳輸鏈路中,任何一個環節丟包都可能導致用戶觀看卡頓。其中,主播端的推流卡頓最影響觀看體驗,會直接影響到所有觀看直播的最終用戶。主播推流卡頓在部分場景會特別顯著,比如戶外直播就非常考驗在網絡狀況復雜的情況下推流的穩定性。Google 從2014年推出 QUIC 協議,并一直在音視頻產品上實踐該協議。現在,經過一年多的探索實踐七牛云直播云產品已經擁抱 QUIC,最新推出的直播 QUIC 推流方案可以大幅度地緩解(jie)直播的卡頓問(wen)題(ti),可以在各種復(fu)雜網絡環境(jing)下給客戶提供優秀的直播體驗。
從技術上來看,QUIC 全稱 Quick UDP Internet Connection,是谷歌公司制定的一種基于 UDP 協議的低時延互聯網傳輸協議。TCP/IP 協(xie)議(yi)(yi)(yi)(yi)族是(shi)互聯(lian)網的基礎。其中傳(chuan)輸(shu)層(ceng)協(xie)議(yi)(yi)(yi)(yi)只有兩種:TCP 和 UDP 協(xie)議(yi)(yi)(yi)(yi)。與 TCP 協(xie)議(yi)(yi)(yi)(yi)相比(bi),UDP 更為(wei)輕量,但是(shi)錯誤校驗也要少(shao)得多。由于 UDP 不經常跟服務器(qi)端通信(xin)查看數據包是(shi)否(fou)送按序送達,所以其可靠(kao)性(xing)比(bi)不上 TCP 協(xie)議(yi)(yi)(yi)(yi)。QUIC 傳(chuan)輸(shu)層(ceng)是(shi)基于 UDP 協(xie)議(yi)(yi)(yi)(yi)但卻是(shi)一種可靠(kao)的傳(chuan)輸(shu)協(xie)議(yi)(yi)(yi)(yi),因為(wei)它將很多可靠(kao)性(xing)驗的驗證策(ce)略從傳(chuan)輸(shu)層(ceng)轉(zhuan)移到應用層(ceng)來做,這樣(yang)可以使用更合適現代(dai)流媒(mei)體傳(chuan)輸(shu)的擁塞(sai)控制策(ce)略。
雖(sui)然例(li)如(ru)(ru) HTTP/2 或者 SPDY 協議現在(zai)(zai)都(dou)支持將頁面的多個數(shu)據(ju)通過一個數(shu)據(ju)鏈接(jie)(jie)進行傳輸(shu)(shu),該特性也確(que)實能(neng)(neng)夠加快數(shu)據(ju)的傳輸(shu)(shu)速度。但(dan)是由于 TCP 協議在(zai)(zai)處理包(bao)時是有嚴格(ge)順序(xu)的,所(suo)以還是會(hui)遇到(dao)前序(xu)包(bao)阻塞的問題。比如(ru)(ru)發生如(ru)(ru)下(xia)圖所(suo)示場景下(xia)的問題時,當其(qi)(qi)中一個數(shu)據(ju)沒有發送成功,TCP 連接(jie)(jie)需要(yao)等待這個包(bao)完成重傳之(zhi)后才能(neng)(neng)繼續進行。因此(ci),即使邏輯上(shang)一個 TCP 連接(jie)(jie)上(shang)并行的在(zai)(zai)進行多路(lu)數(shu)據(ju)傳輸(shu)(shu),其(qi)(qi)他毫無關聯的數(shu)據(ju)也會(hui)因此(ci)阻塞。
QUIC 協議直接通過傳輸層使用 UDP 協議就可以避免該問題的發送。由于 UDP 協議沒有嚴格的順序要求,當一個數據包遇到問題需要重傳時只會影響該數據包對應的資源,其他獨立的資源不會受到影響而阻塞傳輸。如果(guo)需要使(shi)(shi)用(yong) QUIC 改善直(zhi)播(bo)體驗,就(jiu)是用(yong)它來代替(ti)直(zhi)播(bo)中(zhong) TCP 協(xie)(xie)議(yi)(yi)所扮演的角(jiao)色。大家都清楚目前直(zhi)播(bo)所使(shi)(shi)用(yong)的協(xie)(xie)議(yi)(yi)都基(ji)本是 RTMP 協(xie)(xie)議(yi)(yi),而 RTMP 協(xie)(xie)議(yi)(yi)的傳(chuan)輸層是基(ji)于 TCP 協(xie)(xie)議(yi)(yi)。所以七牛的 QUIC 推(tui)流(liu)方案就(jiu)是把 RTMP 當中(zhong)的傳(chuan)輸層協(xie)(xie)議(yi)(yi)換成(cheng) QUIC,從(cong)而達到推(tui)流(liu)卡頓率下降的效(xiao)果。
相(xiang)信很多(duo)客戶已(yi)經發(fa)現 QUIC 推流這項技術(shu)對于自己產(chan)品(pin)(pin)的(de)意義,它(ta)可以有效減少主播由于網絡(luo)問題帶來的(de)煩(fan)惱(nao)。 客戶只(zhi)需要(yao)換上七牛最新版本的(de)推流 SDK (或點擊咨(zi)詢:),打開客戶端上的(de) QUIC 推流開關,配合(he)七牛云專為直(zhi)播產(chan)品(pin)(pin)打造(zao)的(de)實時(shi)流網絡(luo),即可讓你(ni)的(de)產(chan)品(pin)(pin)體(ti)驗更加(jia)流暢。