行業背景
直播技術飛速發展讓各個行業的用戶體驗呈現多樣化和個性化,不同業務場景下創新實踐滿足大眾對於音視頻互動體驗和參與的高標準要求。歷經2020年初的鉅變之後,以視頻、遊戲、電商、教育為主的互聯網經濟迎來飛速發展,“直播+”已成為一種趨勢,廣泛融入到人們的工作和生活中。在搭建直播系統時,大家會經常聽到兩個高頻詞:RTMP(Real Time Messaging Protocol)和OBS(Open Broadcaster Software)。
RTMP協議是由Adobe公司提出的一種基於TCP的應用層的協議,用來解決多媒體數據傳輸流的多路複用(Multiplexing)和分包(Packetizing)的問題。RTMP已有近20年曆史,廣泛應用於直播行業的主播推流及不同系統間互通。
OBS是一款好用的直播流媒體內容製作軟件,為用戶提供了視頻、文本、圖像等的捕獲錄製功能,OBS界面簡潔並專業,功能強大。OBS程序和其源代碼都是免費提供給大家使用,版本更新一直比較活躍,支持 OS X、Windows、Linux操作系統,適用於多種直播場景,滿足大部分直播行為的操作需求。
升級方案
針對主播推流使用RTMP存在的TCP鏈接耗時過長、擁塞控制完全依賴TCP傳輸層、無法提供實時帶寬數據來動態調整視頻編碼碼率等問題引起的推流延遲和卡頓。阿里雲低延時直播RTS(Real-time Streaming)產品在下行UDP改造的基礎上,進行上行UDP底層WebRTC技術優化,通過發佈移動端、PC端推流RTS SDK插件來提升整個行業的主播推流質量,提供低延時、低卡頓、安全可靠的直播觀看體驗。客戶端接入簡單,只需要在 OBS 端嵌入RTS SDK即可新增一個推流協議,無需改變原有的推流端採集架構。
效果對比
主播端
數據出自內部實驗測算。
使用步驟
Step 1、推流域名開通RTS
在直播控制檯添加好推流域名後,在域名管理頁面推流域名的域名配置中通過低延時推流開關打開、關閉此功能。
Step 2、集成RTS SDK
RTS SDK是為了OBS量身打造,無需改動OBS原生框架,接入RTS SDK實現obs-output插件即可,如下圖所示。可以參考集成文檔 https://help.aliyun.com/document_detail/272525.html 完成自主接入。為了方便用戶接入,同時也封裝了artc-stream的obs-output插件,只需加入OBS編譯即可集成使用,詳見《OBS示例插件artc-stream集成說明》。
Step 3、使用RTS推流地址推流
推流地址的拼接方法與RTMP一致,只需要使用新的協議頭artc://來區分,例如控制檯生成的RTMP地址為:
rtmp://push.rts***.grtn.aliyunlive.com/live/123?auth_key=1624860195-*
您只需要更換rtmp為artc即可:
artc://push.rts***.grtn.aliyunlive.com/live/123?auth_key=1624860195-*
Demo體驗
https://help.aliyun.com/document_detail/177373.html#title-xgu-5k1-2vx