《超低延时直播白皮书》已发布,推动直播延时降低90%以上
點擊上方“LiveVideoStack”關注我們
直播行業的蓬勃發展,推動直播技術快速演進,超低延時直播技術也應運而生。
2月22日,騰訊云攜手信通院聯合發布《超低延時直播白皮書》,旨在為超低時延直播技術標準化奠定基礎,促進超低延時直播技術創新化發展,推動各行各業借助超低延時音視頻技術進行數字化轉型和業務創新,從而為廣大用戶帶來更優的線上互動體驗。
超低延時直播技術架構和性能優化顯著,延時降低90%以上
騰訊云作為超低延時直播技術的主導和引領者,首創將WebRTC技術引入直播領域,并首家將直播延時降低到500ms以內。
具體而言,超低延時直播摒棄傳統直播的傳輸播控模型,借鑒 WebRTC通信模型,將傳輸和播放控制實時反饋聯動,形成反饋閉環,通過感知網絡狀態來調整播控緩存策略和傳輸策略,將傳輸和播控緩存根據實時網絡進行最優匹配,使用戶在變動的網絡環境下獲取到最優的體驗。
圖:超低延時直播播放模型
另一方面,超低延時直播基于WebRTC對信令流程、音視頻編碼格式支持、傳輸改造、媒體處理優化源等方面進行全面優化升級,更加符合大規模直播場景的應用。
此外,超低延時直播在核心指標比如渲染卡頓、首幀耗時等指標均超過傳統直播CDN,為用戶打造更優的直播互動效果。
白皮書節選內容如下:
WebRTC的初衷是用于低延時P2P(Peer-to-Peer)通信,在直播場景也面臨挑戰,具體體現為:
信令流程繁雜,難以滿足直播首幀要求。標準WebRTC的信令需要經過SDP(Session Description Protocol)交換,ICE(Interactive Connectivity Establishment)交互,DTLS(Datagram Transport Layer Security)握手之后方能傳輸流媒體數據,導致其首幀耗時嚴重惡化。
原生WebRTC的音視頻編碼格式支持受限。標準WebRTC音頻不支持AAC,視頻不支持H.265和B幀,不支持私有數據的透傳,不支持可選加密,這些都限制了在大規模直播場景的應用。
原生WebRTC傳輸策略不適合直播,其重傳發包策略上基于P2P通話和會議,不適合一對多的直播場景。在通話場景,為保證低延時,重傳較激進, 但在高碼率、高畫質的直播場景,激進的重傳會帶來大量的帶寬浪費。
原生WebRTC碼控策略不適應直播,其通過探測帶寬,按照帶寬容量來調整編碼碼率發包,而超大房間的直播,主播編碼推流被多個下行用戶復用,這個場景下,單個用戶無法反饋給主播去調整推流編碼,因此需要新的解決方案。
針對上述問題,騰訊云快直播基于WebRTC,在超低延時直播方面進行了大量的優化升級。
1)信令改造
標準WebRTC的信令交互是一個繁復冗長的過程,不利于直播的快速開播,解決這個問題需要對信令進行細致的考慮。
快直播提出的miniSDP二進制壓縮方案(壓縮比10%)是一個事實上的標準,它將SDP壓縮到一個MTU之內,在一個UDP包內完成SDP交互。信令簡化壓縮后,再通過一定的冗余,使得在50%的丟包下也能保證首幀成功。在此基礎上,進一步提出的0-RTT方案,降低70%的延遲。miniSDP和0-RTT的結合,大幅減少信令耗時、提升信令交互成功,進而降低首幀耗時和提升開播成功率。
2)音視頻改造
支持AAC
AAC作為傳統直播領域最為常用的音頻格式,但WebRTC不支持。快直播基于WebRTC根據RFC6416和ISO/IEC 14496-3,實現對上述AAC格式的完整支持,以避免WebRTC 中Opus音頻格式的轉碼。與此同時,附加其上的Audio FEC(Forward Error Correction)能夠根據網絡配置不同的冗余度,使音頻能抗50%以上的丟包。
支持 H.265
H.265比H.264有更高的壓縮率,在直播領域已經普遍采用,標準WebRTC不支持 H.265,為避免H.265到H.264轉碼帶來的成本和耗時。快直播以RFC7798為基礎,實現了對H.265的支持,從而避免轉碼成本的增加和轉碼延遲的引入。
支持B幀
B幀在直播流中廣泛存在,其增強了畫質,同時大幅減少了碼率。標準WebRTC為了減少編解碼引入的耗時,不支持B幀,但快直播在延遲和畫質、壓縮率、成本之間取得了一個較好的平衡,通過客戶端SDK配合CDN,實現B幀的支持。
3)傳輸改造
柔性分級傳輸
標準WebRTC弱網應對策略是通過反饋網絡到推流端,使推流端調整碼率來適應網絡。直播場景,主播和觀眾一對多模型,不能因為某些觀眾的網絡問題去調整主播推流碼率。快直播通過服務端和客戶端的配合,基于WebRTC擴展幀屬性和依賴關系,采樣柔性分級丟幀的傳輸策略漸進式降低碼率,以適應弱網情況。
自適pacing(平滑發包)
快直播充分利用客戶端緩存信息、流媒體信息自適應調節發包平滑長度,同時滿足平滑去抖動和收幀延遲要求。
自適應碼率(Simulcast/ABR)
快直播一方面支持通過客戶端使用擴展的RTCP作為切流信令,另一方面,服務端也具備依據網絡情況來無縫切流的能力。服務端通過漸進式的超發來探測網絡的承載能力,作為切流決策依據,達到快速、精準、無縫切流的目的。
P2P分發網絡
快直播利用WebRTC原生自帶的Peer to Peer的能力,能夠將看同一視頻流的用戶群就近地組織成網絡,相互分享傳輸,每個客戶端節點一邊通過RTCP與CDN協商數據,同時與其他客戶端節點約定內容共享,在保持低延時的前提下依然能夠取得不錯的效果。
4)其他改造
支持私有數據透傳以適配業務
眾多客戶在使用標準直播時,需要通過Meta Data、SEI(Supplemental Enhancement Information)和自定義NALU(Network Abstraction Layer Unit)等方式傳遞業務信息;快直播通過RTP擴展,支持全鏈路的私有數據透傳;使得標準直播到快直播的遷移過渡平滑無縫。
可選加密
標準WebRTC設計應用于音視頻通信領域,為保證安全,加密為必選項,而直播部分場景,其內容本身公開,但對性能和終端消耗敏感,安全性可以適當降低,快直播可根據SDP協商選擇開關加密。關閉加密可明顯減少前后端開銷,也進一步節省DTLS握手耗時,最終減少首幀耗時。
媒體處理優化源
針對低延時場景,在保證畫質的基礎上,降低I幀大小。結合AI的能力,在編碼前對視頻源進行前置處理,使視頻源更適配編碼場景。
歡迎掃描下方二維碼,獲取完整版白皮書報告。
掃描圖中二維碼或點擊閱讀原文
了解大會更多信息
喜歡我們的內容就點個“在看”吧!
總結
以上是生活随笔為你收集整理的《超低延时直播白皮书》已发布,推动直播延时降低90%以上的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【今晚七点半】:白板与开源
- 下一篇: 音视频技术下一个风口在哪里——LiveV