為提升視頻直播在弱網環境下的推流效果,推流SDK在傳統的RTMP推流協議基礎上新增了基于RTC的RTS推流。本文介紹不同網絡環境下兩種推流協議的數據對比,可以發現RTS推流相對于RTMP推流穩定性和抗弱網有顯著提升,建議用戶優先使用RTS推流。推流SDK內部已做了自動降級處理,當RTS推流出現問題時,會自動降級到RTMP推流。
正常網絡和弱網環境下推流效果對比
測試場景
主播使用直播SDK推流,觀眾通過CDN拉流觀看。在主播端設置各種弱網限制,觀察觀眾端的播放效果。主播側的弱網限制只限制主播上行網絡,不限制下行網絡。
推流參數
RTMP推流和RTS推流使用相同的推流參數:
類型 | 參數信息 |
分辨率 | 720 X 1280 |
幀率 | 20 |
碼率 | 2 Mbps |
網絡限制
類型 | 參數說明 |
上行丟包20% | 上行發送10個數據包丟失2個。 |
上行帶寬500k | 每秒鐘最多發送500 kb的數據。 |
上行延時500ms | 數據包需要經過500 ms后才被網絡發送出去。 |
視頻卡頓率
幾種不同網絡環境下的視頻卡頓率對比如下,下圖中值越大代表視頻越卡頓,從圖中可以看出,RTS在弱網環境下的視頻卡頓比RTMP好。
視頻畫質
幾種不同網絡環境下的視頻畫質對比如下,下圖中值越大代表畫質評分越高,畫質越好,從圖中可以看出,RTS在弱網環境下的視頻畫質比RTMP好。
使用推流SDK進行RTS推流
前提條件
已開通視頻直播服務,完成域名添加和推拉流域名關聯。具體操作,請參見快速開始視頻直播。
推流域名開啟RTS推流。自2022年09月01日起,新添加的推流域名默認開啟RTS推流,您無需額外配置。若您的域名是在2022年09月01日之前添加的,需要手動開通。
登錄視頻直播控制臺。
在左側導航欄選擇推/播流域名管理,進入域名管理頁面。
單擊指定推流域名操作列的域名配置,進入域名管理頁面。
選擇
。打開RTS推流開關。
生成推流地址,RTS推流地址和RTMP推流地址除開始的協議頭不同之外,其他生成規則相同。使用RTS推流需要使用
artc://
開頭的協議地址。具體請參見生成推流地址和播放地址。
RTS推流
使用推流SDK進行RTS推流時,和使用推流SDK進行RTMP推流的方法相同,只需要在調用startPush接口的時候將RTS格式的推流地址傳遞給推流SDK即可,其他的不需要做改動。具體操作,請參見Android推流SDK功能使用或iOS推流SDK功能使用。
RTS推流僅支持音視頻推流,即流中必須包含音頻和視頻。如果您的使用場景為純音頻或純視頻推流,則需要同步輸入對應的視頻或音頻數據。
直播播放
使用RTS推流的直播,在播放端可以使用RTMP、FLV、HLS協議流進行標準直播播放,也可以使用ARTC協議流進行超低延時直播播放。關于超低延時直播播放,請參見超低延時直播播放。