全部產品
Search
文件中心

ApsaraVideo Live:即時直播:將延時降低至200~400ms

更新時間:Oct 31, 2024

本文為您介紹如何通過超低延時直播RTS將直播延時降低至400ms以下,以便為使用者提供流暢且即時的觀看體驗。

方案簡介

即時直播方案依託阿里雲GRTN(全球即時傳輸網路),採用全鏈路WebRTC協議實現直播端到端200~400ms的延時,同時可以無縫擴充標準直播,實現業務的前向相容。

基於即時直播(RTS2.0)實現直播端到端200~400ms延時:

  1. 主播通過採集裝置採集直播內容後,通過推流SDK,將直播流通過RTS(WebRTC)協議推流至阿里雲邊緣節點;

  2. 直播流在GRTN全球3200+節點中通過智能選路、QoS技術即時傳輸;

  3. 觀眾側通過RTS(WebRTC)協議在最近的阿里雲邊緣節點進行拉流並在裝置上進行播放,端到端延時200~400ms。

(可選)開啟內部轉推,實現ApsaraVideo for Media Processing、低延時直播(RTS 1.0)和標準直播能力:

  1. 開啟旁路轉推後,主播推流後阿里雲ApsaraVideo for Live將自動轉封裝產生一路RTMP流;

  2. 您可以針對該流配置轉碼、錄製、截圖等媒體服務;

  3. 若您希望保持低延時拉流,可以使用低延時直播(RTS 1.0方案),在觀眾側仍可使用RTS(WebRTC)拉流,獲得端到端500~1000ms的延時;

  4. 若您希望使用標準直播,則可以採用RTMP、fFLV、HLS等協議進行拉流播放。

方案實施

前提條件

  • 您已經開通ApsaraVideo for Live服務。開通方法,請參見開通服務

  • 您已經配置直播推流、播流的網域名稱,操作方法請參見快速開始ApsaraVideo for Live添加推流網域名稱和播流網域名稱配置CNAME關聯推流網域名稱和播流網域名稱步驟。

推流、播流網域名稱配置HTTPS認證

本文將使用瀏覽器的推拉流Demo進行示範,為推流、播流網域名稱配置HTTPS認證是瀏覽器WebRTC的安全要求,配置HTTPS認證請參見配置HTTPS安全加速

若您使用Native SDK進行推流和播放則無需配置HTTPS認證。

播流網域名稱配置即時直播(RTS 2.0)

  1. 登入ApsaraVideo for Live控制台

  2. 在ApsaraVideo for Live控制台左側導覽列,單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的播流網域名稱,單擊網域名稱配置002

  4. 選擇直播管理 > 超低延時播放RTS

  5. 單擊修改配置,版本選擇即時直播(RTS 2.0),應用情境選擇直播觀看RTS2.0

  6. 單擊確定

推流網域名稱配置即時直播(RTS 2.0)

  1. 登入ApsaraVideo for Live控制台

  2. 在ApsaraVideo for Live控制台左側導覽列,單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的推流網域名稱,單擊網域名稱配置網域名稱配置

  4. 選擇直播管理 > 超低延時推流RTS

  5. 單擊修改配置,版本選擇即時直播推流(RTS 2.0)推流rts 2.0

  6. 單擊確定

產生直播推流和播放地址

在功能驗證階段您可以採用地址產生器快速產生推流、拉流地址,具體操作請參見直播地址產生器

您也可以根據規則自訂直播推、拉流地址,具體操作請參見產生推流地址和播放地址

地址產生器

主播側進行RTS推流

您可以選擇以下推流SDK其中之一進行整合:

RTS推流SDK

相關文檔

iOS推流SDK

iOS推流SDK

說明

iOS推流SDK預設支援WebRTC推流。

Android推流SDK

Android推流SDK

說明

Android推流SDK預設支援WebRTC推流。

對接標準WebRTC協議自研接入

WebRTC標準接入GRTN信令協議規範

本文中使用Web RTS推流Demo為您示範:

  1. 進入RTS推流網頁Demo

  2. 在Demo中選擇推流模式。

  3. 展開none下拉框,根據您的實際需求,選擇camera(網路攝影機)或者screen(螢幕畫面分享)。

    如果您選擇camera,需要分別單擊下方的麥克風網路攝影機按鈕進行授權,授權成功後,再展開選擇麥克風和選擇網路攝影機下拉框,選擇對應的裝置。

  4. 輸入產生直播推流和播放地址中已產生的RTS格式推流地址,並單擊建立本地流

  5. 單擊開始推流,即可完成推流。RTS推流

觀眾側進行RTS播放

您可以選擇以下播放SDK其中之一進行整合:

RTS播放SDK

相關文檔

Web播放SDK

Web RTS播放SDK簡介

iOS播放SDK

iOS Native RTS SDK簡介

Android播放SDK

Android Native RTS SDK簡介

Mac播放SDK

Mac RTS SDK簡介

WIndows播放SDK

Windows RTS SDK簡介

對接標準WebRTC協議自研接入

WebRTC標準接入GRTN信令協議規範

本文中使用Web RTS播放Demo為您示範:

  1. 進入RTS播放網頁Demo

  2. 在Demo中選擇拉流模式。

  3. 輸入產生直播推流和播放地址中已產生的RTS格式播放地址。

  4. 單擊開始拉流rts 播放

(可選)配置內部轉推

  1. 登入ApsaraVideo for Live控制台

  2. 在ApsaraVideo for Live控制台左側導覽列,單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的推流網域名稱,單擊網域名稱配置網域名稱配置

  4. 選擇直播管理 > 超低延時推流RTS

  5. 單擊修改配置,版本選擇即時直播推流(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)