實(shí)時(shí)音視頻場(chǎng)景中信令的使用無處不在,但基于TCP的長連接方案在面對(duì)復(fù)雜的弱網(wǎng)情況,會(huì)出現(xiàn)到達(dá)率無法保障、延時(shí)過高等情況,引發(fā)語聊房場(chǎng)景麥位狀態(tài)不一致、企業(yè)通信場(chǎng)景會(huì)議控制狀態(tài)無效、云游戲場(chǎng)景玩家操作指令延時(shí)高操作不流暢等問題。信令的時(shí)延與可靠性很大程度上決定了應(yīng)用平臺(tái)為用戶提供的服務(wù)能力、質(zhì)量以及體驗(yàn)。
針對(duì)以上痛點(diǎn),火山引擎RTC上線實(shí)時(shí)信令RTS(Real-time Signaling),采用自研可靠的UDP協(xié)議,復(fù)用RTC全球傳輸網(wǎng)絡(luò),具備優(yōu)異的弱網(wǎng)對(duì)抗性能,能提供超低延時(shí)、高可靠的信令傳輸能力,端到端平均延時(shí)降低至51ms。支持端到端、端到業(yè)務(wù)服務(wù)器的信令互通,歷經(jīng)字節(jié)跳動(dòng)億級(jí)DAU產(chǎn)品實(shí)踐驗(yàn)證,目前已覆蓋互娛社交、在線教育、線上會(huì)議、云游戲、VR等行業(yè)場(chǎng)景的信令服務(wù)。
攻克業(yè)務(wù)痛點(diǎn)的實(shí)時(shí)信令服務(wù)
實(shí)時(shí)音視頻場(chǎng)景下,我們時(shí)常面臨一些用戶體驗(yàn)問題:用戶在麥位上,但不能連麥語音;用戶靜音,但其他參會(huì)方仍能聽到該用戶的音頻。諸如此類,都可以歸結(jié)為“業(yè)務(wù)狀態(tài)和RTC狀態(tài)不對(duì)齊”,這個(gè)問題的關(guān)鍵在于“信令的可靠性”。實(shí)時(shí)信令RTS是如何在保證信令必達(dá)的同時(shí),依舊保持極低延時(shí)的呢?
實(shí)時(shí)可靠的火山引擎自研信令傳輸協(xié)議
火山引擎基于UDP協(xié)議自研超低延時(shí)可靠傳輸協(xié)議,通過引入ARQ、FEC等策略,實(shí)現(xiàn)了消息傳輸?shù)目煽啃裕?0%丟包場(chǎng)景仍可達(dá)到100%的信令到達(dá)率。同時(shí)提供多節(jié)點(diǎn)選路策略,信令消息基于AI網(wǎng)絡(luò)預(yù)測(cè)選擇最優(yōu)網(wǎng)絡(luò)通道進(jìn)行傳輸,做到信令傳輸時(shí)延平均數(shù)低至51ms,保障業(yè)務(wù)穩(wěn)定運(yùn)行。

實(shí)時(shí)信令 RTS 線上質(zhì)量數(shù)據(jù)
高可用、廣覆蓋的全球傳輸網(wǎng)絡(luò)
實(shí)時(shí)信令RTS基于火山引擎RTC全球?qū)崟r(shí)傳輸網(wǎng)絡(luò),支持單元化部署、分布式接入,提供本地及異地的容災(zāi)備份;采用彈性可擴(kuò)展網(wǎng)絡(luò)架構(gòu)設(shè)計(jì),分鐘級(jí)彈性擴(kuò)容,同時(shí)點(diǎn)對(duì)點(diǎn)消息并發(fā)無上限。
業(yè)務(wù)服務(wù)端OpenAPI和客戶端API信令雙向互通
針對(duì)狀態(tài)不對(duì)齊等問題,需要通過業(yè)務(wù)服務(wù)端統(tǒng)一維護(hù)狀態(tài)并下發(fā)到各個(gè)客戶端。實(shí)時(shí)信令RTS提供更快、更簡單的業(yè)務(wù)服務(wù)端OpenAPI和客戶端API信令雙向互通方案,以最少的代碼侵入快速完成業(yè)務(wù)上線,保障業(yè)務(wù)狀態(tài)與RTC狀態(tài)嚴(yán)格對(duì)齊。
實(shí)時(shí)信令質(zhì)量透明
實(shí)時(shí)信令RTS提供信令質(zhì)量實(shí)時(shí)數(shù)據(jù),包括端到端傳輸延時(shí)、總消息到達(dá)率等數(shù)據(jù)指標(biāo),并提供指標(biāo)拆解與問題歸因能力,幫助開發(fā)者實(shí)時(shí)了解信令質(zhì)量,針對(duì)問題有效定位原因并快速解決,以保證平臺(tái)應(yīng)用的用戶體驗(yàn)。

實(shí)時(shí)信令RTS提供信令質(zhì)量數(shù)據(jù)看板
消息類型覆蓋全面,滿足各種業(yè)務(wù)場(chǎng)景
火山引擎實(shí)時(shí)信令RTS支持發(fā)送文字、二進(jìn)制等自定義消息內(nèi)容。在消息傳輸類型上,支持點(diǎn)對(duì)點(diǎn)、批量點(diǎn)對(duì)點(diǎn)、房間廣播等消息類型,此外還支持發(fā)送極低延時(shí)消息,通過對(duì)消息傳輸層針對(duì)性策略優(yōu)化,顯著降低弱網(wǎng)下消息的延時(shí),平均延時(shí)<20ms,滿足云游戲、IoT設(shè)備遠(yuǎn)程控制等對(duì)信令消息傳輸時(shí)延有極低要求的業(yè)務(wù)場(chǎng)景需求。
豐富成熟的場(chǎng)景化解決方案沉淀
火山引擎RTC的實(shí)時(shí)信令產(chǎn)品目前已經(jīng)在多個(gè)場(chǎng)景中得到應(yīng)用。
一起看、一起聽實(shí)時(shí)同步,見你所見、聽你所聽
在一起看、一起聽場(chǎng)景中,保證用戶之間音頻/視頻播放起點(diǎn)對(duì)齊以及進(jìn)度控制的同步性至關(guān)重要,這關(guān)系用戶體驗(yàn)。以一起刷短視頻場(chǎng)景為例,用戶會(huì)高頻刷短視頻,這需要更實(shí)時(shí)穩(wěn)定的多端同步能力,來保證多端用戶一起刷短視頻的流暢同步。基于實(shí)時(shí)信令RTS的播放控制同步方案,僅需調(diào)用一個(gè)接口即可實(shí)現(xiàn)多端用戶控制播放進(jìn)度,同時(shí)對(duì)房主與其他用戶播放狀態(tài)進(jìn)行周期性同步,結(jié)合業(yè)務(wù)側(cè)處理可實(shí)現(xiàn)低至100ms的播放同步,為用戶提供“面對(duì)面”的陪伴體驗(yàn)。

目前,火山引擎RTC已基于抖音的實(shí)踐沉淀出成熟的“一起看抖音”一站式解決方案,將海量優(yōu)質(zhì)內(nèi)容和領(lǐng)先的推薦算法融合進(jìn)實(shí)時(shí)音視頻場(chǎng)景中,從而快速實(shí)現(xiàn)同房間內(nèi)用戶基于短視頻內(nèi)容進(jìn)行實(shí)時(shí)互動(dòng)。
互動(dòng)白板,復(fù)雜網(wǎng)絡(luò)下多人流暢協(xié)作
互動(dòng)白板逐漸成為了線上協(xié)作溝通的剛需,往往與實(shí)時(shí)音視頻結(jié)合使用,在最后一公里帶寬上實(shí)時(shí)音視頻占用更為強(qiáng)勢(shì),這就容易導(dǎo)致白板系統(tǒng)消息發(fā)送困難。實(shí)時(shí)信令RTS具備強(qiáng)爭取帶寬能力,同時(shí)網(wǎng)絡(luò)開銷更低,可以在網(wǎng)絡(luò)帶寬有限條件下提供超低延時(shí)、穩(wěn)定可靠的信令傳輸,保證白板的多人實(shí)時(shí)畫筆軌跡同步以及多種信令控制(如課件播放、PPT演示等),提高用戶白板互動(dòng)協(xié)作體驗(yàn)。
會(huì)議投屏,鼠標(biāo)位置精準(zhǔn)同步

視頻會(huì)議投屏場(chǎng)景
在會(huì)議投屏過程中,因網(wǎng)絡(luò)或畫面動(dòng)態(tài)轉(zhuǎn)靜態(tài)的影響,投屏畫面的幀率會(huì)進(jìn)行策略性降低。傳統(tǒng)方案中鼠標(biāo)信息是跟隨共享屏幕流進(jìn)行傳輸,這導(dǎo)致鼠標(biāo)跟隨幀率低、延時(shí)高,出現(xiàn)鼠標(biāo)拖尾、卡頓等情況。采用實(shí)時(shí)信令RTS極低延時(shí)消息作為獨(dú)立的數(shù)據(jù)通道,可以實(shí)現(xiàn)投屏上實(shí)時(shí)的鼠標(biāo)位置同步,保證鼠標(biāo)移動(dòng)的流暢性,同時(shí)降低屏幕共享的碼率,減少靜止畫面帶寬消耗。
云游戲,流暢游戲操控體驗(yàn)
對(duì)云游戲場(chǎng)景,過去大家更多關(guān)注音視頻的超低延時(shí),但信令延時(shí)過高,也會(huì)極大影響玩家的游戲操作。火山引擎RTC+實(shí)時(shí)信令RTS的方案,無論是在多人互動(dòng)場(chǎng)景還是弱網(wǎng)場(chǎng)景都可以確保流暢的游戲體驗(yàn)。實(shí)時(shí)信令RTS極低延時(shí)消息通過消息傳輸層的策略優(yōu)化,防止弱網(wǎng)下的消息堆積、阻塞導(dǎo)致的時(shí)延增加,確保云游戲場(chǎng)景中的游戲指令端到端傳輸延時(shí)<20ms,避免操作反饋慢、操作無響應(yīng)等問題,最大程度還原玩家本地游戲的絲滑操控體驗(yàn)。實(shí)時(shí)信令RTS極低延時(shí)消息,同樣可以應(yīng)用到云渲染、云電腦、云手機(jī)、VR等業(yè)務(wù)場(chǎng)景。
遠(yuǎn)程車控,信令極致的時(shí)延與可靠性
隨著5G行業(yè)和自動(dòng)駕駛技術(shù)的發(fā)展,遠(yuǎn)程車輛操控的場(chǎng)景逐漸興起,無人礦車平行駕駛、港口集卡平行駕駛、園區(qū)無人物流車等陸續(xù)落地。該場(chǎng)景下,駕駛模擬艙借助實(shí)時(shí)音視頻獲取車輛現(xiàn)場(chǎng)狀態(tài),通過實(shí)時(shí)信令進(jìn)行遠(yuǎn)程控制,要求遠(yuǎn)端操控與現(xiàn)場(chǎng)反饋的畫面實(shí)時(shí)同步,對(duì)穩(wěn)定可靠的遠(yuǎn)程控制指令傳輸提出了更高要求。實(shí)時(shí)信令RTS通過多節(jié)點(diǎn)同時(shí)建聯(lián)策略,在復(fù)雜網(wǎng)絡(luò)條件丟包80%下,仍可保證信令100%到達(dá);實(shí)時(shí)信令RTS應(yīng)用消息壓縮、加密發(fā)送等傳輸技術(shù),保證傳輸安全的同時(shí),顯著降低網(wǎng)絡(luò)帶寬,提高傳輸效率。

港口集卡自動(dòng)駕駛場(chǎng)景
目前,火山引擎RTC的實(shí)時(shí)信令產(chǎn)品已經(jīng)可以直接調(diào)用火山引擎RTC SDK的相關(guān)API進(jìn)行使用。實(shí)時(shí)信令SDK也已上線官網(wǎng),歡迎下載使用。