直播連麥是即時音視頻的經典情境,本文為您示範快速搭建一個直播連麥情境的完整流程。
前提條件
您已經準備好推流網域名稱和播流網域名稱。
為了快速體驗ApsaraVideo for Live準系統,建議直播中心選擇海外且加速地區採用海外及港澳台加速,此時網域名稱無需備案。
如果推流網域名稱和播流網域名稱是同一個頂層網域下的兩個次層網域,則只需要將頂層網域進行備案。
開通服務
登入阿里雲ApsaraVideo for Live平台,單擊立即購買,進入開通頁面。
單擊開通服務,進入ApsaraVideo for Live購買頁。
在ApsaraVideo for Live購買頁,選擇計費方式按使用流量計費或按頻寬峰值計費,勾選我已閱讀並同意ApsaraVideo for Live服務合約並單擊立即開通,控制台即可使用。
步驟一 添加推流網域名稱和播流網域名稱
使用ApsaraVideo for Live服務前,您需要分別添加推流網域名稱和播流網域名稱。
在左側導覽列單擊推/播流網域名稱管理,進入網域名稱管理頁面。
單擊添加網域名稱。
根據實際需求佈建網域名詳情。
重要當您首次將一個新網域名稱添加至阿里雲ApsaraVideo for Live時,需要您完成驗證網域名稱的歸屬權,請參見驗證網域名稱歸屬權。
記錄產生的CNAME記錄值,供下一步使用。
步驟二 配置CNAME啟用直播加速
啟用ApsaraVideo for Live加速服務,需要將您的網域名稱(推流網域名稱和播流網域名稱)指向阿里雲ApsaraVideo for Live分配的CNAME地址。此處以DNS服務商為阿里雲(原萬網)為例介紹配置CNAME的方法。
由於阿里雲CDN校正網域名稱的DNS解析記錄的伺服器部署在中國內地。如果您對網域名稱做了分地區DNS解析配置,例如僅對網域名稱的中國內地以外地區(中國香港、中國澳門、中國台灣、其他國家和地區)配置了阿里雲CDN的CNAME地址,校正伺服器將無法解析到該CNAME地址,且在CDN控制台該網域名稱的CNAME狀態會顯示為待配置,這種情況不影響CDN的加速服務。
阿里雲CDN、全站加速DCDN、直播以及點播產品的CNAME網域名稱僅可以作為阿里雲CDN的調度解析使用,對於惡意使用CNAME網域名稱的行為,阿里雲有權清退對應的網域名稱和帳號。
在左側導覽列選擇網域名稱解析,進入網域名稱解析頁面。
單擊待設定的網域名稱操作列的解析設定。
單擊添加記錄,配置資訊如下所示:
參數
描述
記錄類型
選擇CNAME,將網域名稱指向另外一個網域名稱。
主機記錄
輸入欄位名的首碼,常見首碼和對應的樣本網域名稱如下表所示。
解析請求來源
選擇預設值。
記錄值
輸入記錄的CNAME值。
TTL
選擇預設值。
首碼
樣本網域名稱
說明
demo
demo.aliyundoc.com
解析子網域名稱。
@
aliyundoc.com
解析主網域名稱。
*
*.aliyundoc.com
泛解析。
單擊確認,完成CNAME配置。
驗證生效:
步驟三 關聯推流網域名稱和播流網域名稱
目前ApsaraVideo for Live採用邊緣推流方式,您需要關聯推流網域名稱和播流網域名稱,才能進行直播的推流和播流。
在左側導覽列單擊推/播流網域名稱管理,選擇您添加的播流網域名稱,單擊操作列的網域名稱配置,進入 頁面。
單擊基礎資訊頁簽。
單擊推流資訊頁簽。
單擊添加推流資訊或推流網域名稱後的編輯表徵圖,選擇需要關聯的推流網域名稱。
建立即時音視頻應用
在左側導覽列,選擇
。在應用管理頁面,單擊建立應用。
填寫自訂的執行個體名稱,勾選服務合約後,單擊立即購買。
提示開通成功後,重新整理應用管理頁面,即可查看已建立的連麥應用。
說明建立應用預設不產生費用,實際按照您具體雲上用量後付費。更多資訊,請參見即時音視頻費用。
配置旁路轉推
在直播連麥情境,您需要配置全域旁路轉推(單流轉推)至ApsaraVideo for Live,並配置直播間觀眾的播放網域名稱。連麥前,主播的流將會預設被轉推至阿里雲ApsaraVideo for Live,並以直播的形式提供給直播間的觀眾觀看。當開啟連麥後,通過調用SDK提供的混流布局介面,將參與連麥的使用者的流進行混流布局,並推送至ApsaraVideo for Live給觀眾觀看。
在左側導覽列,選擇
。選擇已建立的即時音視頻應用,單擊操作列管理。
單擊旁路轉推,在全域旁路轉推至阿里雲直播地區,開啟旁路轉推開關,並配置轉推參數。
播放網域名稱:選擇轉推至標準直播後的播放網域名稱,可以基於此網域名稱播放直播流、配置轉碼、錄製等。
重要播放網域名稱請勿開啟即時直播(RTS 2.0)功能,開啟後會造成旁路拉流失敗。
AppName:轉推後直播流地址中的AppName,預設為"live" ,支援您自訂AppName。
說明若您需要為轉推後的流綁定轉碼、錄製、截圖等模板,需要設定該AppName與模板中的AppName一致模板才會生效。
全域自動SEI設定:將使用者的基本資料如uid、混流布局參數等通過系統SEI的形式插入流中。例如直播連麥情境中,當混流轉推布局發生變化時,對於麥下直播觀眾的APP可以即時解析SEI中的布局資訊,以便調整互動樣式 。具體請參見媒體增強資訊(SEI)格式。
定時插入SEI:根據指定時間間隔,定時插入SEI幀,允許設定時間為1000ms~5000ms ;
在I幀中插入SEI:在視頻流在I幀中插入SEI。
網域名稱HTTPS配置和HTTP頭配置(可選)
如果您有Web端觀眾播放的需求,由於瀏覽器的安全性原則限制,直播播放網域名稱需要配置HTTPS安全加速以及允許跨域請求。
允許跨域請求的配置參考配置HTTP訊息頭中的Access-Control-Allow-Origin 參數。
產生直播連麥的推拉流地址
您可以直接通過Native Demo或者Web Demo體驗連麥互動。
目前連麥互動不支援使用Obs推流工具推流,若您想通過推流地址進行推流,請在產生連麥地址之後,使用Windows Demo進行推流。
您可以通過控制台產生或通過自訂拼接主播和連麥觀眾的推拉流地址,及一般觀眾(非連麥觀眾)的直播播放地址。
方式一:控制台產生
如果您希望快速產生主播和連麥觀眾的推拉流地址,即一般觀眾(非連麥觀眾)的CDN播放地址進行體驗,可通過控制台工具產生。具體操作,請參見連麥地址產生器。
方式二:自訂拼接
通過控制台產生主播和連麥觀眾的推拉流地址URL中,Token為臨時Token,一般用於測試使用。
如果需要正式使用,為了安全起見,請使用自訂拼接的推拉流地址。自訂拼接地址中Token是基於您的SdkAppID、 AppKey、房間ID、UserID和Timestamp通過SHA256密碼編譯演算法計算得到,防止通過偽造Token盜用您的雲端服務流量。自訂拼接詳細資料,請參見連麥互動情境主播端和連麥觀眾端推拉流地址和一般觀眾的CDN播放地址。
Demo體驗
Native Demo
請參考SDK下載或掃描下方二維碼,選擇互動版,下載體驗直播連麥Demo。
Android/iOS:
Flutter:
開啟Native Demo,進入首頁。單擊連麥互動,進入體驗連麥互動功能;單擊PK互動,進入體驗PK互動功能。
第一次安裝Demo,需要輸入應用資訊。
在ApsaraVideo for Live控制台左側導覽列,選擇
。選擇已建立的即時音視頻應用,單擊操作列管理。
將應用管理中的應用ID 、AppKey 、旁路轉推中配置的播放網域名稱複製並且填寫在以下頁面中。
輸入使用者ID和房間號,開始體驗連麥互動/PK互動功能。
說明使用連麥互動功能時,主播跟觀眾的房間ID需要保持一致,但是使用者ID需要保持不同。
使用連麥互動功能時,若是觀眾角色,進入即時音視頻頁面後,需要填寫主播ID,拉取主播的旁路CDN直播流。
請確保裝置網路連接正常。
說明如果需要與Web端連麥,體驗Native與Web互連效果,請單擊連麥互動資訊或PK互動資訊輸入頁右上方的參數配置,進入互動參數配置頁,開啟H5相容模式/H5互連開關。
開播並進行連麥。
預設主播和觀眾進入房間後是未連麥的,主播和觀眾分別單擊開始連麥按鈕,並輸入對方的使用者ID,即可完成連麥。效果如下:
連麥互動頁:連麥狀態
PK互動頁:PK狀態
Web Demo
通過訪問頁面或掃描如下二維碼體驗Web端直播連麥Demo。
進入Web Demo頁面,將ApsaraVideo for Live控制台應用管理中的應用ID 、AppKey 、旁路轉推中配置的播放網域名稱複製並且填寫在以下頁面中。再輸入房間號、使用者ID、使用者角色後,開播並進行連麥。
預設主播和觀眾進入房間後是未連麥的,主播和觀眾分別單擊開始連麥按鈕,並輸入對方的使用者ID,即可完成連麥。
重要在體驗Demo中 ,您需要將直播播放網域名稱的鑒權進行關閉才能正常運行,具體請參見配置URL鑒權。但線上正式使用時強烈建議將URL鑒權開啟。
效果如下:
Windows Demo
您需要準備一個連麥互動地址,連麥地址不同於普通推流地址,詳情可參見連麥地址產生器。