直播連麥是實時音視頻的經典場景,本文為您演示快速搭建一個直播連麥場景的完整流程。
前提條件
您已經準備好推流域名和播流域名。
為了快速體驗視頻直播基本功能,建議直播中心選擇海外且加速區域采用海外及港澳臺加速,此時域名無需備案。
如果推流域名和播流域名是同一個一級域名下的兩個二級域名,則只需要將一級域名進行備案。
開通服務
登錄阿里云視頻直播平臺,單擊管理控制臺,進入控制臺。
單擊開通服務,進入視頻直播購買頁。
在視頻直播購買頁,選擇計費方式按使用流量計費或按帶寬峰值計費,勾選我已閱讀并同意視頻直播服務協議并單擊立即開通,控制臺即可使用。
步驟一 添加推流域名和播流域名
使用視頻直播服務前,您需要分別添加推流域名和播流域名。
登錄視頻直播控制臺。
在左側導航欄單擊推/播流域名管理,進入域名管理頁面。
單擊添加域名。
根據實際需求配置域名詳情。
重要當您首次將一個新域名添加至阿里云視頻直播時,需要您完成驗證域名的歸屬權,請參見驗證域名歸屬權。
參數
參數分類
說明
業務類型
播流域名
推流域名
指域名的加速類型,推流域名與播流域名分別對應推流加速與播流加速。初次配置后不可更改。
說明添加推流域名時,業務類型請選擇推流域名;添加播流域名時請選擇播流域名。
您無法將同一域名既添加為推流域名,又添加為播流域名。
加速域名
無
輸入您需要加速的域名。注意事項如下:
說明子域名必須在同一個賬號下。您在添加域名時,直播服務會進行檢查,如果子域名被添加到不同賬號,系統會報錯。
加速區域
中國內地
當主播在中國內地時,推流域名應選擇中國內地。
當觀眾在中國內地時,播流域名應選擇中國內地。
域名需要在工信部備案,推薦您進入阿里云ICP代備案管理系統進行備案。
全球加速
當主播在中國內地、中國香港、中國澳門、中國臺灣以及其他國家和地區時,推流域名應選擇全球加速。
當觀眾在中國內地、中國香港、中國澳門、中國臺灣以及其他國家和地區時,播流域名應選擇全球加速。
域名需要在工信部備案,推薦您進入阿里云ICP代備案管理系統進行備案。
海外及港澳臺加速
當主播在海外及中國香港、中國澳門、中國臺灣時,推流域名應選擇海外及港澳臺加速。
當觀眾在海外及中國香港、中國澳門、中國臺灣時,播流域名應選擇海外及港澳臺加速。
如果選擇海外及港澳臺加速且直播中心在海外,則域名無需在工信部備案。
如果選擇海外及港澳臺加速且直播中心在中國境內,則域名需要在工信部備案。推薦您進入阿里云ICP代備案管理系統進行備案。
說明關于如何選擇CDN加速區域,請參見如何選擇域名的CDN加速區域?。
直播中心
無
直播中心用來提供云上直播流的媒體處理服務,如截圖、錄制、轉碼、云導播等。
需要關聯的直播推流域名與播流域名的直播中心所在地域要保持一致,初次配置后不可更改。
關于如何選擇直播中心,請參見如何選擇直播中心?。
記錄生成的CNAME記錄值,供下一步使用。
步驟二 配置CNAME啟用直播加速
啟用視頻直播加速服務,需要將您的域名(推流域名和播流域名)指向阿里云視頻直播分配的CNAME地址。此處以DNS服務商為阿里云(原萬網)為例介紹配置CNAME的方法。
由于阿里云CDN校驗域名的DNS解析記錄的服務器部署在中國內地。如果您對域名做了分區域DNS解析配置,例如僅對域名的中國內地以外區域(中國香港、中國澳門、中國臺灣、其他國家和地區)配置了阿里云CDN的CNAME地址,校驗服務器將無法解析到該CNAME地址,且在CDN控制臺該域名的CNAME狀態會顯示為待配置,這種情況不影響CDN的加速服務。
阿里云CDN、全站加速DCDN、直播以及點播產品的CNAME域名僅可以作為阿里云CDN的調度解析使用,對于惡意使用CNAME域名的行為,阿里云有權清退對應的域名和賬號。
登錄云解析DNS控制臺。
在左側導航欄選擇域名解析,進入域名解析頁面。
單擊待設置的域名操作列的解析設置。
單擊添加記錄,配置信息如下所示:
參數
描述
記錄類型
選擇CNAME,將域名指向另外一個域名。
主機記錄
輸入域名的前綴,常見前綴和對應的示例域名如下表所示。
解析請求來源
選擇默認值。
記錄值
輸入記錄的CNAME值。
TTL
選擇默認值。
前綴
示例域名
說明
demo
demo.aliyundoc.com
解析子域名。
@
aliyundoc.com
解析主域名。
*
*.aliyundoc.com
泛解析。
單擊確認,完成CNAME配置。
驗證生效:
方式一:在CNAME配置頁面,單擊打開CNAME配置向導,在CNAME生效驗證處,單擊驗證CNAME狀態。查看CNAME配置是否已生效。
方式二:執行nslookup -type=cname yourdomain.com命令,如果返回的解析結果和視頻直播控制臺上該域名的CNAME值一致,表示CNAME配置已生效。
步驟三 關聯推流域名和播流域名
目前視頻直播采用邊緣推流方式,您需要關聯推流域名和播流域名,才能進行直播的推流和播流。
在左側導航欄單擊推/播流域名管理,選擇您添加的播流域名,單擊操作列的域名配置,進入 頁面。
單擊基礎信息頁簽。
單擊推流信息頁簽。
單擊添加推流信息或推流域名后的編輯圖標,選擇需要關聯的推流域名。
創建實時音視頻應用
配置旁路轉推
在直播連麥場景,您需要配置全局旁路轉推(單流轉推)至視頻直播,并配置直播間觀眾的播放域名。連麥前,主播的流將會默認被轉推至阿里云視頻直播,并以直播的形式提供給直播間的觀眾觀看。當開啟連麥后,通過調用SDK提供的混流布局接口,將參與連麥的用戶的流進行混流布局,并推送至視頻直播給觀眾觀看。
在左側導航欄,選擇
。選擇已創建的實時音視頻應用,單擊操作列管理。
單擊旁路轉推,在全局旁路轉推至阿里云直播區域,開啟旁路轉推開關,并配置轉推參數。
播放域名:選擇轉推至標準直播后的播放域名,可以基于此域名播放直播流、配置轉碼、錄制等。
重要播放域名請勿開啟實時直播(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,需要輸入應用信息。
在視頻直播控制臺左側導航欄,選擇
。選擇已創建的實時音視頻應用,單擊操作列管理。
將應用管理中的應用ID 、AppKey 、旁路轉推中配置的播放域名復制并且填寫在以下頁面中。
輸入用戶ID和房間號,開始體驗連麥互動/PK互動功能。
說明使用連麥互動功能時,主播跟觀眾的房間ID需要保持一致,但是用戶ID需要保持不同。
使用連麥互動功能時,若是觀眾角色,進入實時音視頻頁面后,需要填寫主播ID,拉取主播的旁路CDN直播流。
請確保設備網絡連接正常。
說明如果需要與Web端連麥,體驗Native與Web互通效果,請單擊連麥互動信息或PK互動信息輸入頁右上角的參數配置,進入互動參數配置頁,打開H5兼容模式/H5互通開關。
開播并進行連麥。
默認主播和觀眾進入房間后是未連麥的,主播和觀眾分別單擊開始連麥按鈕,并輸入對方的用戶ID,即可完成連麥。效果如下:
連麥互動頁:連麥狀態
PK互動頁:PK狀態
Web Demo
Windows Demo
您需要準備一個連麥互動地址,連麥地址不同于普通推流地址,詳情可參見連麥地址生成器。