如何构建低延时直播体验,让互动更实时?
QuestMobile《2020中國移動直播行業(yè)“戰(zhàn)疫”專題報告》數(shù)據(jù)顯示, 疫情期間,看直播成為休閑娛樂、獲取資訊、上課學習的主要方式,一些高度依賴線下場景的行業(yè)也紛紛通過直播進行自救,線上轉(zhuǎn)型直播賣貨,政府部門也通過直播形式進行招商、推廣農(nóng)產(chǎn)品等。電商平臺在疫情期間加大對直播的支持力度,為滯銷農(nóng)產(chǎn)品直播、云賣車、云賣房、實體店直播賣貨提供平臺和支持。
直播破圈加速進行,除了各類網(wǎng)絡紅人外,國家博物館、知名酒吧、景點等線下主體為網(wǎng)民提供線上逛博物館、云蹦迪、云旅游服務,吸引了大批年輕用戶參與。直播不再是線上娛樂內(nèi)容的生產(chǎn)工具,而是與商業(yè)業(yè)務場景結(jié)合越來越緊密,逐漸演變?yōu)榛A的業(yè)務工具。
直播的及時性和互動性讓他成為信息觸達、互動溝通的新媒介,但直播的實時互動效果夠好了嗎?傳統(tǒng)的直播技術延遲非常大,從觀眾評論到看到主播給出反饋一般要在5-10秒以上。
我們來看下幾個典型的尷尬場景:
高延時影響了直播互動體驗,阻礙了直播在一些場景的落地,特別在電商直播,直播間的評論提問是觀眾和主播互動的一個重要手段,主播的實時互動反饋對直播間的活躍度和交易達成至關重要。
使用常規(guī)的直播方案(rtmp 推流,FLV/RTMP/HLS 播放),延遲大概在5-10秒左右,這些延遲主要來自以下幾個方面:
不過,上圖的配置,在MAC和windows 平臺上的效果也不一樣,mac 平臺的延遲在幾百ms,而windows 可以做到50ms (實際案例數(shù)據(jù))。推流網(wǎng)絡方面,主播的推流網(wǎng)絡一般都比較穩(wěn)定,有的會拉專線,質(zhì)量比較可靠。
阿里云低延時直播(Real-time Streaming)
傳統(tǒng)的直播技術,已經(jīng)不能滿足對互動要求更高的直播要求,為此,2019年阿里云與淘寶直播共同推出超低延時直播服務RTS(Real-time Streaming),該方案基于WebRTC實現(xiàn),采用UDP傳輸協(xié)議打造,實現(xiàn)可以承載大規(guī)模并發(fā),端到端延時1秒內(nèi)的低延時直播體驗。由于RTS服務部署于阿里云CDN節(jié)點,復用CDN的節(jié)點和網(wǎng)絡資源,在接入成本、節(jié)點覆蓋、承載能力上實現(xiàn)了平衡。經(jīng)過一年多的不斷磨煉,整體體驗和服務也更為完善和成熟。
阿里云低延時直播的技術架構(gòu):
從傳輸?shù)募毠?jié)來看,如下圖所示:
上圖與現(xiàn)在直播系統(tǒng)的架構(gòu)圖并無大的區(qū)別,改變的地方在于客戶端到CDN節(jié)點進行播放的鏈路,由RTMP協(xié)議切換為RTP協(xié)議,TCP協(xié)議換成UDP協(xié)議。RTS服務進行了服務與節(jié)點雙重升級,同時針對全鏈路直播指標進行監(jiān)控和針對性優(yōu)化,以及通過智能調(diào)度系統(tǒng)以及網(wǎng)絡擁塞、抗弱網(wǎng)優(yōu)化、緩沖策略等進行一系列底層核心技術優(yōu)化,實現(xiàn)RTP over UDP更好地對抗公網(wǎng)的丟包,使得播放器上收到的流質(zhì)量相對RTMP over TCP更加穩(wěn)定,這樣一來,播放器就可以降低buffer,不用像以前那樣設置6s 的buffer來對抗抖動,現(xiàn)在只需要設置1秒左右就OK了,整體延時可以控制在1-1.5S左右。
如何接入RTS服務:
RTS目前提供兩種接入服務:
1、基于WebRTC開放協(xié)議升級網(wǎng)絡模塊
對于自研播放器或者使用開源播放器的用戶,阿里云提供與標準WebRTC協(xié)議對接方案,在現(xiàn)有的直播業(yè)務新增一個RTS播流域名,一個推流兩種方式拉流。推流側(cè)不用改造,僅升級播放器網(wǎng)絡模塊,拉取超低延時流播放,這樣讓底層網(wǎng)絡對接更透明開放,客戶端自主可控。
上圖是普通播放器的架構(gòu)。播放器使用 FFmpeg 打開網(wǎng)絡連接,讀取音視頻幀后會放入播放器緩沖,之后會依次對它進行解碼、音視頻同步及渲染。
接入低延遲直播系統(tǒng)后,整體架構(gòu)如圖下面部分:FFmpeg 增加低延遲直播插件支持私有協(xié)議;將播放器的緩沖設置為1秒,FFmpeg 輸出的音視頻幀直接送入解碼器進行解碼,然后同步,渲染。
另外,RTS網(wǎng)絡SDK為播放器接入阿里云低成本多協(xié)議低延時網(wǎng)絡傳輸基礎設施提接口。該SDK具有非常友好的API,非常穩(wěn)定的設計,在音視頻同步,秒開,流暢度等指標也做了很多優(yōu)化。API設計上提供了ffmpeg demux插件,可以像調(diào)用其他ffmpeg demux插件一樣被集成進應用程序,另外也提供非ffmpeg接口。
2. 集成阿里云RTS播放器
使用第二種方法,可以更加快速的實現(xiàn)RTS服務,即在現(xiàn)有的直播業(yè)務新增一個RTS播流域名,然后集成阿里云播放SDK,用戶端通過不同URL參數(shù)播放器自動識別,即可實現(xiàn)低延時直播服務。阿里云播放器是一個通用的播放器sdk,除了支持點播和直播的播放功能外,深度融合視頻云業(yè)務,如支持視頻的加密播放、安全下載、清晰度切換、短視頻等業(yè)務場景,為用戶提供簡單、快速、安全、穩(wěn)定的視頻播放服務。
結(jié)束語
經(jīng)驗證,阿里云RTS直播核心指標表現(xiàn)優(yōu)異:相同卡頓率下,RTS直播延時降低75%,并且在相同網(wǎng)絡延時和丟包率指標下,RTS直播播放成功率、卡頓率、秒開率等指標表現(xiàn)均有所提升,大幅優(yōu)化直播體驗。RTS已經(jīng)在淘寶直播中大規(guī)模應用,降低了淘寶直播的延遲,提升了用戶的互動體驗,經(jīng)過線上驗證發(fā)現(xiàn),低延遲直播對電商直播的成交有明顯的促進作用,其中 UV 轉(zhuǎn)化率提升4%,GMV 提升5%。目前在一些教育行業(yè)、電商、游戲直播等領域,已經(jīng)有眾多知名客戶接入RTS服務并上線。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的如何构建低延时直播体验,让互动更实时?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何快速完成企业应用IPv6改造
- 下一篇: 浪迹天涯的骨灰级开源爱好者——对话阿里云