本文為您介紹如何通過超低延時直播RTS將直播延時降低至400ms以下,以便為使用者提供流暢且即時的觀看體驗。
方案簡介
即時直播方案依託阿里雲GRTN(全球即時傳輸網路),採用全鏈路WebRTC協議實現直播端到端200~400ms的延時,同時可以無縫擴充標準直播,實現業務的前向相容。
基於即時直播(RTS2.0)實現直播端到端200~400ms延時:
主播通過採集裝置採集直播內容後,通過推流SDK,將直播流通過RTS(WebRTC)協議推流至阿里雲邊緣節點;
直播流在GRTN全球3200+節點中通過智能選路、QoS技術即時傳輸;
觀眾側通過RTS(WebRTC)協議在最近的阿里雲邊緣節點進行拉流並在裝置上進行播放,端到端延時200~400ms。
(可選)開啟內部轉推,實現ApsaraVideo for Media Processing、低延時直播(RTS 1.0)和標準直播能力:
開啟旁路轉推後,主播推流後阿里雲ApsaraVideo for Live將自動轉封裝產生一路RTMP流;
您可以針對該流配置轉碼、錄製、截圖等媒體服務;
若您希望保持低延時拉流,可以使用低延時直播(RTS 1.0方案),在觀眾側仍可使用RTS(WebRTC)拉流,獲得端到端500~1000ms的延時;
若您希望使用標準直播,則可以採用RTMP、fFLV、HLS等協議進行拉流播放。
方案實施
前提條件
您已經開通ApsaraVideo for Live服務。開通方法,請參見開通服務。
您已經配置直播推流、播流的網域名稱,操作方法請參見快速開始ApsaraVideo for Live中添加推流網域名稱和播流網域名稱、配置CNAME和關聯推流網域名稱和播流網域名稱步驟。
推流、播流網域名稱配置HTTPS認證
本文將使用瀏覽器的推拉流Demo進行示範,為推流、播流網域名稱配置HTTPS認證是瀏覽器WebRTC的安全要求,配置HTTPS認證請參見配置HTTPS安全加速。
若您使用Native SDK進行推流和播放則無需配置HTTPS認證。
播流網域名稱配置即時直播(RTS 2.0)
在ApsaraVideo for Live控制台左側導覽列,單擊推/播流網域名稱管理,進入網域名稱管理頁面。
選擇您要配置的播流網域名稱,單擊網域名稱配置。
選擇
。單擊修改配置,版本選擇即時直播(RTS 2.0),應用情境選擇直播觀看。
單擊確定。
推流網域名稱配置即時直播(RTS 2.0)
在ApsaraVideo for Live控制台左側導覽列,單擊推/播流網域名稱管理,進入網域名稱管理頁面。
選擇您要配置的推流網域名稱,單擊網域名稱配置。
選擇
。單擊修改配置,版本選擇即時直播推流(RTS 2.0)。
單擊確定。
產生直播推流和播放地址
在功能驗證階段您可以採用地址產生器快速產生推流、拉流地址,具體操作請參見直播地址產生器。
您也可以根據規則自訂直播推、拉流地址,具體操作請參見產生推流地址和播放地址。
主播側進行RTS推流
您可以選擇以下推流SDK其中之一進行整合:
RTS推流SDK | 相關文檔 |
iOS推流SDK | 說明 iOS推流SDK預設支援WebRTC推流。 |
Android推流SDK | 說明 Android推流SDK預設支援WebRTC推流。 |
對接標準WebRTC協議自研接入 |
本文中使用Web RTS推流Demo為您示範:
進入RTS推流網頁Demo。
在Demo中選擇推流模式。
展開none下拉框,根據您的實際需求,選擇camera(網路攝影機)或者screen(螢幕畫面分享)。
如果您選擇camera,需要分別單擊下方的麥克風和網路攝影機按鈕進行授權,授權成功後,再展開選擇麥克風和選擇網路攝影機下拉框,選擇對應的裝置。
輸入產生直播推流和播放地址中已產生的RTS格式推流地址,並單擊建立本地流。
單擊開始推流,即可完成推流。
觀眾側進行RTS播放
您可以選擇以下播放SDK其中之一進行整合:
RTS播放SDK | 相關文檔 |
Web播放SDK | |
iOS播放SDK | |
Android播放SDK | |
Mac播放SDK | |
WIndows播放SDK | |
對接標準WebRTC協議自研接入 |
本文中使用Web RTS播放Demo為您示範:
進入RTS播放網頁Demo。
在Demo中選擇拉流模式。
輸入產生直播推流和播放地址中已產生的RTS格式播放地址。
單擊開始拉流。
(可選)配置內部轉推
在ApsaraVideo for Live控制台左側導覽列,單擊推/播流網域名稱管理,進入網域名稱管理頁面。
選擇您要配置的推流網域名稱,單擊網域名稱配置。
選擇
。單擊修改配置,版本選擇即時直播推流(RTS 2.0),同時開啟轉推開關,並選擇另一個推流網域名稱用於接收轉推後的RTMP流。
例如:轉推接收網域名稱為
push.example.com
,其關聯的播放網域名稱為pull.example.com
,需注意:轉推接收網域名稱和其關聯的播放網域名稱均不能開啟即時直播(RTS 2.0)。
內部轉推將不會收取轉推費用。
(可選)基於轉推後的流配置ApsaraVideo for Media Processing服務
完成轉推配置後,可基於轉推接收網域名稱關聯的播放網域名稱,即基於pull.example.com
進行ApsaraVideo for Media Processing模板配置。
在網域名稱管理頁面,單擊模板配置,選擇您需要的能力進行配置。
(可選)基於轉推後的流進行低延時直播(RTS 1.0) 和標準直播播放
完成轉推後,可基於轉推接收網域名稱關聯的播放網域名稱,即基於pull.example.com
可以同時進行低延時直播(RTS 1.0)和標準直播(RTMP/FLV/HLS)播放原始流,或雲上轉碼後的流。
播放標準直播(RTMP/FLV/HLS),具體操作請參見播放標準直播。
播放低延時直播(RTS 1.0):自2022年9月1日起,播放網域名稱預設均支援RTS 1.0的播放,僅需在播放側整合RTS SDK即可播放,具體操作請參見播放低延時直播(RTS 1.0)。