在昨天的文章中筆者說明了直播中心的介紹與選擇,今天就來介紹超低延遲直播(Real-Time Streaming;RTS)。其實有不少企業在直播時有類似需求,筆者就曾遇過客戶需要低延遲的直播所以透過阿里雲的RTS來完成,而在今天的文章中將會介紹如何快速搭建屬於自己的直播平台,並且開啟RTS達到超低延遲的直播效果。如果需要使用RTS請先準備好SSL憑證,因為在過程中會新增推流、播流兩組Domain所以請各位準備兩組SSL憑証,但如果兩組Domain都歸屬同一個二級Domain的話則準備一組Wildcard的SSL憑証即可。

直播架構

直播主經由個人裝置並透過OBS進行RTS推流上去阿里雲直播中心後,直播中心會在進行RTS播流並透過阿里雲提供的RTS Web播放器播出。

直播主經由個人裝置並透過OBS進行RTS推流上去阿里雲直播中心後,直播中心會在進行RTS播流並透過阿里雲提供的RTS Web播放器播出。

實務操作

阿里雲的直播中心在操作上非常簡易,只要透過直播中心介面添加Domain並完成相關設定後,透過URL產生器,即可架設好屬於自己的直播平台,同時左列也有相關功能可供使用。

阿里雲的直播中心在操作上非常簡易,只要透過直播中心介面添加Domain並完成相關設定後,透過URL產生器,即可架設好屬於自己的直播平台,同時左列也有相關功能可供使用。

1.新增Domain

筆者這邊是使用同組二級Domain的三級Domain,這次實作選擇了在日本的直播中心及非中國地區的CDN加速,並且推流與播流都需要各新增一次,新增後會需要去Domain解析設定中分別添加txt的紀錄與CNAME的紀錄。

筆者這邊是使用同組二級Domain的三級Domain,這次實作選擇了在日本的直播中心及非中國地區的CDN加速,並且推流與播流都需要各新增一次,新增後會需要去Domain解析設定中分別添加txt的紀錄與CNAME的紀錄。
筆者這邊是使用同組二級Domain的三級Domain,這次實作選擇了在日本的直播中心及非中國地區的CDN加速,並且推流與播流都需要各新增一次,新增後會需要去Domain解析設定中分別添加txt的紀錄與CNAME的紀錄。

2.推流Domain與播流Domain連接

選擇已添加的播流Domain後選擇推流訊息並添加對應的推流Domain。

選擇已添加的播流Domain後選擇推流訊息並添加對應的推流Domain。

3.上傳SSL憑證

為了確保連線的安全,同時也因為我們這次要使用RTS協議直播,所以會需要在推流與播流Domain兩邊都上傳SSL憑証。
請開啟推流或播流Domain後選擇HTTPS Setting 開啟Certiticate並輸入憑證相關資訊。

為了確保連線的安全,同時也因為我們這次要使用RTS協議直播,所以會需要在推流與播流Domain兩邊都上傳SSL憑証。
請開啟推流或播流Domain後選擇HTTPS Setting 開啟Certiticate並輸入憑證相關資訊。
為了確保連線的安全,同時也因為我們這次要使用RTS協議直播,所以會需要在推流與播流Domain兩邊都上傳SSL憑証。
請開啟推流或播流Domain後選擇HTTPS Setting 開啟Certiticate並輸入憑證相關資訊。

4.開啟超低延遲直播RTS

進入推流與播流Domain裡面將各自的RTS開啟即可。

進入推流與播流Domain裡面將各自的RTS開啟即可。

5.推流與播流URL產生

選擇URL產生器後選擇對應的播流Domain,並輸入自定義的App Name與Stream Name,即會產生各種格式的URL。

選擇URL產生器後選擇對應的播流Domain,並輸入自定義的App Name與Stream Name,即會產生各種格式的URL。
選擇URL產生器後選擇對應的播流Domain,並輸入自定義的App Name與Stream Name,即會產生各種格式的URL。

6.設定OBS推流

將上一步所產生的推流URL輸入進OBS設定內後進行串流,因為我們這次使用的是RTS串流所以請使用RTS URL,同時使用RTS串流也會產生相對應的流量費用,也提醒各位讀者。因為筆者這次使用的是Artc(RTS)格式,所以會需要有鑲入推流SDK的OBS。

將上一步所產生的推流URL輸入進OBS設定內後進行串流,因為我們這次使用的是RTS串流所以請使用RTS URL,同時使用RTS串流也會產生相對應的流量費用,也提醒各位讀者。因為筆者這次使用的是Artc(RTS)格式,所以會需要有鑲入推流SDK的OBS。

7.透過阿里雲RTS Web播放器觀看直播

完成串流後透過阿里雲提供的Web播放器來觀看直播,並透過下圖可看到此次在直播主與觀眾都在臺灣但直播中心在日本的情況下延遲低於0.1秒以下,即便是在播影片的情況下延遲也是不超過1秒。

完成串流後透過阿里雲提供的Web播放器來觀看直播,並透過下圖可看到此次在直播主與觀眾都在臺灣但直播中心在日本的情況下延遲低於0.1秒以下,即便是在播影片的情況下延遲也是不超過1秒。

結語

今天的文章中筆者實際做了使用RTS的直播,也實際驗證了直播端與觀看端同時看線上時鐘的時間差可確實低於1秒的,當然如果是播影片之類的延遲就會再稍微增加一些,不過主要原因是直播端設備的性能問題,以體感上來說是幾乎感受不到的,同時阿里雲的直播中心也不僅僅只有這樣,其中還有許多好用的功能,例如轉碼、美顏特效SDK、流量監控等等,有興趣的讀者不妨了解看看。

*本文由宏庭架構師所撰寫,同步刊登於iThome 鐵人賽專區

.>更多阿里雲相關內容,再且密切追蹤阿里雲架構師專欄


Reference

直播中心介紹

Demo