成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WebTransport 開播的應用實踐之路

網絡
WebTransport可以發揮頁面多線程的優勢,使用WebRTC協議,大量的邏輯只能放在主線程執行,而使用WebTransport就可以將整個音視頻的處理流程放在WebWorker中,降低對主線程的占用,提升頁面流暢度。

Web開播的業務挑戰

無論是本地軟件推流還是Web推流,都需要解決推流抖動、畫面高糊、音頻卡頓等問題。在現有的Web技術環境下,如何穩定地把高質量的音視頻流呈現給更多用戶,是我們技術團隊攻克的重點。從技術角度來解讀一下這里的幾個關鍵詞:

  • 穩定性: 傳輸協議本身的穩定性是需要保障的,優先會選擇使用可靠傳輸,防止網損帶來的花屏、雜音等問題,更重要的是,在服務鏈路不可用的情況下能夠迅速切換服務線路。因此在推流場景下需要提供多線路備份的能力。
  • 高質量:在一些場景下,比如醫療醫美營銷的場景、帶貨的場景,要對商品細節做展示,這就要求技術方案在帶寬允許的前提下,盡可能選用對畫面細節損失更少的編碼方案
  • 大規模用戶:要分發給更多用戶,那技術方案設計肯定會引入直播CDN服務,但是推流協議是不是能夠被直播CDN支持,這就是一個考量的點,也是做私有協議無法滿足的點。

WebTransport 的技術原理

首先我們簡單來了解一下WebTransport這個傳輸協議基本的技術原理。WebTransport是基于HTTP3的應用層傳輸協議,HTTP3的底層又基于quic協議,quic協議是基于UDP協議實現的一套傳輸協議,支持可靠與非可靠傳輸兩種形式。

圖片

WebTransport 的技術優勢

WebTransport對于Web應用的意義并不止于一個更好的傳輸協議,它更多的還是帶來了一個更加豐富的技術棧,能夠根據實際場景,結合WebCodecs、WebAssembly和WebNN等能力實現更好的應用體驗。相較于WebRTC相對中心化的技術棧,這種方式顯然是更加靈活的,易于做出更多靈活的技術組合。

圖片

另一個明顯的優勢在于WebTransport可以發揮頁面多線程的優勢,使用WebRTC協議,大量的邏輯只能放在主線程執行,而使用WebTransport就可以將整個音視頻的處理流程放在WebWorker中,降低對主線程的占用,提升頁面流暢度。同時使用多線程能夠提升應用的擴展性,在面對更多的音視頻任務時可以用線程來進行抽象和隔離。

圖片

充分利用多線程機制降低主線程負擔

圖片

利用多線程機制提升應用的可拓展性

從傳輸協議的特性上來說,它的建聯速度更快,首次建聯只需要1個RTT,相比之下,TCP則需要2~3個RTT。針對已經建立過的連接,超時時間內再次建聯可以實現0RTT。在網絡擁塞的情況下,減少RTT次數對速度的優化是非常明顯的??梢缘綆资甿s。最后一個特性是連接遷移,在直播過程中如果WIFI網絡不好。切到手機熱點也可以實現0RTT,相比之下,TCP、RTC都需要重新建立連接,恢復的速度會慢很多。

圖片

首次連接比TCP快1~2RTT 

圖片


對有緩存的連接支持0RTT

基于這些優勢,火山引擎直播團隊選擇使用WebTransport優化直播推流。設計的方案是基于單向流的穩定傳輸,從傳輸格式上對標RTMP,這樣直播CDN的支持成本會相對較小,比較好復用目前的RTMP收流邏輯。由于這個技術棧較新也需要解決過程中的一些問題:雖然W3C定義了AAC的編碼能力,但是Chrome沒有提供AAC編碼的實現,可以將libFaaC編譯成wasm庫來實現,另外瀏覽器沒有針對flv容器的封裝,需要額外支持該部分能力。那么相比于WebRTC推流,WebTransport推流的實際應用效果如何呢?

圖片

WebTransport 推流 與 WebRTC 推流效果對比

為什么 WebTransport 能夠比 WebRTC 推流獲得更好的效果:

網絡傳輸(畫質與穩定性):

WebRTC是面向實時通信的傳輸協議,對網絡延時的變化敏感。使用WebRTC協議推流時,它受到網絡抖動的影響較大,當網絡延時的抖動發生時,RTC的帶寬估計模塊會認為當前網絡處于擁塞狀態,需要降低發送碼率以避免擁塞,碼率的降低對視頻畫質的影響是非常大的,直觀感受就會出現局部的馬賽克。當使用WebTransport基于Quic可靠傳輸時,其擁塞控制算法對網絡抖動的敏感度相對較低,可以通過犧牲一定的延遲保證發送可靠性,因此不容易出現大幅降低發送帶寬的行為,畫質相對有保障。

編碼優化(畫質):

WebTransport在Web規范中提供了網絡傳輸的能力,并且可以與現有的Web端多媒體能力進行深度集成,例如WebCodecs、WebGPU等。給應用的優化提供了更多編碼格式、參數選擇方面的空間。

易于集成到直播 CDN (大規模分發):

WebTransport基于已經定稿的HTTP3規范,易于被直播CDN集成支持,應用復雜度相較于WebRTC更低,同時省去了RTC推流建連過程中的信令環節,可以加快首幀推送的速度,方便部署到更多的直播CDN

首先在網絡抖動的場景下,同樣加入100ms延遲抖動,WebTransport推流的畫面會明顯比RTC推流要清晰。在網絡搶占的場景下,固定一個較低的帶寬,使用GCC擁塞控制算法的數據流,面對使用TCP協議的數據傳輸,它能夠分到的帶寬資源是非常小的。

圖片

WebTransport推流+100ms延遲抖動

圖片

 WebRTC推流+100ms延遲抖動

另外,在固定3Mbps上行帶寬的網絡下,同時使用WebTransport和RTC推流,設定的目標碼率都是1.5M,過程中RTC推流的碼率會受到嚴重的影響,碼率大幅下降,不能保證畫質。WebTransport推流在不同網絡狀態下的流暢度表現,除了大量丟包的情況下,其余的場景都能夠達到與RTC推流基本持平。

圖片

WebTransport推流

圖片

 WebRTC推流

總結與展望

不同的推流協議之間各有優缺點,目前沒有一個完美的解決方案,需要根據實際的場景來做選擇,比如連麥場景一般需要用WebRTC轉推,更適合低延遲互動的場景,WebTransport方案則更適合高畫質需求的場景??偟膩碚f,WebTransport推流的方案在解決“如何穩定地將高質量的音視頻傳遞給大量的用戶”的問題上,即實現了可靠的傳輸,連接穩定性有保障,并且在遭遇網損的場景,可以通過犧牲部分延遲保障音視頻質量,給出了一份令人較為滿意的答卷。如果想要體驗WebTransport的開播效果,可進入火山引擎控制臺進行在線demo體驗。

圖片


責任編輯:龐桂玉 來源: 字節跳動技術團隊
相關推薦

2023-04-28 08:06:04

低代碼AI智能

2023-11-01 07:44:29

轉轉Flutter業務

2016-04-21 10:10:31

Java應用架構

2018-09-10 15:57:52

IstioUCloudIPv6

2019-06-04 09:26:35

UCloudUDB數據庫

2022-11-29 08:00:00

Soul智能語音人工智能

2017-10-31 15:19:24

支付通道自動化

2021-07-28 14:37:57

WKWebviewh5網絡

2025-05-07 03:45:00

應用運維技術

2020-03-02 16:24:45

戴爾

2023-12-26 12:18:34

2010-05-07 15:32:13

Oracle物理結構

2022-07-08 14:17:18

Kubernetes集群高可用Linux

2020-06-03 07:59:12

2024-09-29 17:44:27

數據飛輪數據中臺數字化轉型

2024-05-17 17:32:58

日志實踐

2013-07-31 10:31:46

應用搜索雷電搜索移動應用

2018-09-18 09:30:17

微信熱補丁Android

2023-08-09 20:43:32

2012-09-24 11:01:12

云計算數據中心
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久在线| 欧洲视频一区二区 | 欧美精品首页 | 日日做夜夜爽毛片麻豆 | 亚洲久久 | 人人玩人人添人人澡欧美 | 91在线精品视频 | 成人精品一区二区三区中文字幕 | 日韩精品一区二区三区中文字幕 | 亚洲精品成人在线 | 成人免费视频 | 免费国产一区二区 | 久久精品91久久久久久再现 | 国产成人啪免费观看软件 | 欧美日韩视频在线播放 | 91麻豆精品国产91久久久久久久久 | 免费国产一区二区 | 国产区在线观看 | 亚洲欧美日韩中文在线 | 亚洲精品粉嫩美女一区 | 亚洲专区在线 | 欧美最猛黑人 | 久久久久久亚洲精品 | 亚洲国产精品一区二区久久 | www一级片 | 日韩视频专区 | 国产欧美一区二区三区久久 | 91久久国产 | 欧美日韩精品一区二区三区四区 | 欧美激情在线观看一区二区三区 | 国产精品免费一区二区三区四区 | 91精品国产麻豆 | 久久久久亚洲视频 | 亚洲黄色网址视频 | 最新国产福利在线 | 欧美日韩午夜精品 | 一区二区av | 国内自拍视频在线观看 | 国产午夜精品久久久久免费视高清 | 日本特黄a级高清免费大片 特黄色一级毛片 | 特级毛片爽www免费版 |