音視頻應用近年來呈現出迅猛的發展趨勢,成為互聯網流量的主要載體,其玩法豐富,形態多樣,眾多繁雜的媒體傳輸協議也應運而生。LiveVideoStackCon 2022北京站邀請到快手傳輸算法負責人周超,結合快手在媒體傳輸上的優化與實踐,基于快手KTP、KLP、LAS等協議和標準,為我們介紹了媒體傳輸協議的演進與面臨的挑戰;還分享了最新的媒體傳輸標準CMTP,探索未來更多可能。
-01-
音視頻大時代下媒體傳輸協議的繁華
本次分享會從媒體傳輸協議的現狀、快手在媒體傳輸協議優化上的實踐和對未來的展望三部分展開。
近幾年,音視頻技術發展迅速,疊加網絡、AI技術,音視頻已無處不在,應用場景涵蓋點播、直播、電商、實時互動、游戲、醫療和教育等多個方向。
從用戶體驗角度來看,音視頻應用都需要在延遲、流暢度和清晰度之間尋找一個平衡點,對應到網絡傳輸,本質就是需要在延遲、傳輸可靠性和帶寬利用率之間找到一個平衡點。
基于此,音視頻應用可以大致劃分為三大類,即泛VoD、泛RTC和泛Live。
泛VoD偏重于點播類應用,對延遲不敏感,更注重傳輸可靠性和帶寬利用率。泛RTC應用則對延遲非常敏感,在保證延時的前提下,才會追求傳輸的可靠性和帶寬利用率。泛Live應用介于兩者之間,對每個維度都有一定要求,并且不同的Live垂類場景,對三者(可靠性、延遲、帶寬利用率)之間的平衡關系也有一定差異。
從架構上來看,泛VoD可以大致分為四個步驟。視頻在采集和導入之后,疊加魔法表情等玩法,然后經過轉碼壓縮上傳到云端。在服務端進行審核和前處理等大量工作后,一般會進行二次轉碼,以進一步提高壓縮率并生成多個質量的副本。最后,由CDN分發給用戶,進行下載、解碼、渲染和播放。
在生產端,創作者能否快速成功的發布作品,將直接影響他們的創作熱情。
在消費側,用戶則更關注視頻的清晰度和流暢度,這兩個維度都需要可靠傳輸以及足夠高的帶寬利用率。提到可靠傳輸,最常見的就是HTTP協議和QUIC協議。此外,在消費側,為了應對海量用戶的差異性網絡,一般會采用多碼率自適應技術,例如DASH、HLS等。
泛Live應用架構與泛VoD較為類似。主播和觀眾都希望獲得低延遲、高清晰度和高流暢度的體驗。但直播流實時產生,對傳輸的平穩性要求較高,對帶寬利用率和延遲方面會做一定的妥協。例如,當網絡出現劇烈波動時,允許出現丟幀和丟包。業內直播主要采用RTMP協議,近年來也在嘗試QUIC協議,例如RTMP over QUIC的方案。在消費側,通常也會采用多碼率自適應技術。然而,常見的DASH和HLS技術,都是基于分片的架構,在直播場景中會帶來較大的延遲。目前,為了降低直播延遲,許多廠商也在嘗試基于WebRTC的快直播方案。
泛RTC場景的目標非常明確,就是要實現超低延遲的互動。在滿足低延遲的前提下,再提升清晰度和流暢度。目前使用最多的方案是WebRTC,很多公司也基于WebRTC進行了二次開發,形成自己的方案。
總體而言,每類應用場景目前都有各自比較成熟的協議,其穩定性高、各廠商支持好,但也存在靈活性差、跨層優化難和業務不感知等問題。
-02-
快手在媒體傳輸優化上的實踐
在快手的傳輸體系中,底層算法是最核心的部分,包括常見的擁塞算法、多碼率自適應算法、弱網對抗算法等等。在此基礎之上,我們設計了豐富的傳輸協議,例如KTP、LAS、AAS、KLP等。KTP是快手自研的第一個私有傳輸協議,用于直播推流、作品發布和RTC等業務場景;LAS是快手自研低延遲直播多碼率自適應協議,目前已形成行標,幾乎所有云廠商都支持;KLP是快手自研的直播拉流協議,用于提升直播拉流的傳輸效率;AAS是點播場景下的多碼率自適應協議,包含短視頻和長視頻場景。
KTP在設計之初,就希望一個協議能同時支持支持點播、直播和RTC等多個業務場景,解決協議繁多、維護和優化成本高的問題。在架構上,KTP總體分為兩層:底層是傳輸控制層,通過對協議的設計,支持在傳輸延時、可靠性和帶寬利用率之間取得動態平衡。在其之上是業務感知層,感知業務特性,根據不同業務的特征,采取最佳的策略與算法。
通過實際測試對比發現,在直播推流場景,KTP在60%丟包率時,依然可以保持清晰、流暢的推流體驗(左圖),而RTMP在15%丟包率時,會發生嚴重卡頓,處于不可用狀態(右圖)。
在作品發布場景上,基于KTP的通用上傳服務,已經用戶快手各個作品發布/文件傳輸的場景,并顯著提升了作品發布成功率,從最初的70%~80%提升到99%以上。此外,即便在用戶網絡越來越復雜、作品大小越來越大的情況下,其發布耗時也一直處于下降的狀態。
最后,在RTC場景,KTP支撐著快手內部所有的RTC業務,例如PK、連麥、會議、StreamLake等等。基于先進的算法與架構,基于KTP的RTC解決方案,在體驗和性能等多個維度上,都顯著領先競品。
此外,在2021年ACM Multimedia的低延遲傳輸挑戰賽中,快手也以巨大的優勢取得了第一名的好成績。
協議是橋梁,支撐各種功能與業務需求,但其傳輸性能主要取決于底層算法。例如網絡領域的核心算法之一的擁塞控制算法,在過去幾十年一直是研究的熱點與難點,直接影響著協議的傳輸性能、帶寬利用率、弱網抗性等。快手一直持續在算法領域深耕,例如自研的擁塞控制算法IA2C,性能遠超BBR;基于強化學習的NNCC,在帶寬利用率上取得新的突破;最近正在準備上線的下一代擁塞算法AQDC,在帶寬利用率和延遲上,均取得顯著收益。
KTP廣泛用于作品發布、直播推流和RTC等場景,并取得了很好的收益。但由于歷史原因,在下行鏈路上,KTP并未很好的做支持和優化。于是,在2020年,我們復用了KTP的底層傳輸控制,并在此基礎上,增加了適用于直播拉流特性的策略與算法,形成了KLP協議。KLP在海外上線的時候,取得了非常好的效果。
在消費側,為了應對用戶差異性的網絡特性,一般會采用多碼率自適應技術,來平衡流暢度和清晰度,例如國際標準DASH和HLS,其大致原理為將視頻文件轉碼成多個檔位,每個檔位進行分片處理,消費側依據實時網絡狀況選擇不同的分片,最終拼接成一個完整的視頻。這兩個標準成熟度高,但最初都是為點播設計,直接用于直播場景,會帶來較大的延遲。
在經過充分的調研和討論后,快手決定自己建立一套低延遲的直播多碼率標準,也就是LAS,目前LAS已經正式成為行標,也被業界廣泛采用,相關細節可參考官網介紹(https://las-tech.org.cn/#/)。
在點播多碼率上,我們同時考慮了短視頻和長視頻之間的差異,形成了快手點播多碼率自適應標準——AAS。在協議描述上,參考了MPD和DASH的設計,最核心的是快手自研究的多碼率算法,包括傳統基于模型的算法、基于深度學習的ABR等,這些算法在不同場景,均取得了非常好的效果。
此外,在2022年ACM Multimedia的短視頻傳輸挑戰賽中,快手也以巨大的優勢取得第一名的好成績。
目前,快手的網絡傳輸主要依托于自研的一系列協議,但仍存在一系列問題,例如下行場景覆蓋不足、業務耦合、生態封閉、無法賦能行業、三方CDN不能全場景支持等。
-03-
下一代媒體傳輸協議:CMTP
基于之前多個協議成功的經驗和算法積累,我們期望設計一套全新的協議CMTP,可適用于所有場景,并能解決覆蓋不足、生態封閉等問題。總體而言,CMTP具有以下四個特性:架構通用、全場景、高擴展性和特性豐富。
在架構上,CMTP分為五層:
UDP/TCP層:底層IO使用的網絡協議,默認采用UDP,UDP靈活性高,易擴展,可以支持多種算法與策略,對于UDP Block的情況,則采用TCP。
傳輸控制層:支持UDP和TCP兩種模式。基于UDP規范了協議字段、組包拆包方式、會話管理等,支持ARQ、FEC、擁塞控制、0-RTT、加密、多路復用等功能。基于TCP也規范了協議字段、組包拆包方式等,并支持加密、多路復用等功能。
傳輸表示層:規范了傳輸控制層所需要提供的接口和功能,包括媒體會話、媒體流的定義,以及媒體數據、控制信令的表示方式等,同時支持協議優選。
應用感知層:以組件化的方式組織,感知業務的不同需求,并通過對應的組件提供專屬優化功能,包含直播組件(Live)、點播組件(VoD)、實時通信組件(RTC)和通用組件。各個組件功能獨立,可插拔、替換或新增,從而保證其足夠強的擴展性、兼容性和業務適應性。
通用接口層:規范了對外的標準接口和配置,包括客戶端和服務端接口,元信息和通用配置的格式等。
目前CMTP已經在快手落地,也取得了顯著的收益。此外,很多廠商也已經支持CMTP,并與快手一起推進標準化。未來,希望有更多團隊加入我們,共同建設良好的CMTP生態。
審核編輯 :李倩
-
HTTP
+關注
關注
0文章
510瀏覽量
31358 -
傳輸協議
+關注
關注
0文章
78瀏覽量
11469 -
ai技術
+關注
關注
1文章
1285瀏覽量
24372
原文標題:媒體傳輸協議的演進與未來
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論