RTS推流
為提升視頻直播在弱網(wǎng)環(huán)境下的推流效果,直播推流SDK在傳統(tǒng)的RTMP推流協(xié)議基礎(chǔ)上新增了基于RTC的RTS推流。本文介紹不同網(wǎng)絡(luò)環(huán)境下兩種推流協(xié)議的數(shù)據(jù)對比,可以發(fā)現(xiàn)RTS推流相對于RTMP推流穩(wěn)定性和抗弱網(wǎng)有顯著提升,建議用戶優(yōu)先使用RTS推流。直播推流SDK內(nèi)部已做了自動降級處理,當(dāng)RTS推流出現(xiàn)問題時,會自動降級到RTMP推流。
正常網(wǎng)絡(luò)和弱網(wǎng)環(huán)境下推流效果對比
測試場景
主播使用直播推流SDK,觀眾通過CDN拉流觀看。在主播端設(shè)置各種弱網(wǎng)限制,觀察觀眾端的播放效果。主播側(cè)的弱網(wǎng)限制只限制主播上行網(wǎng)絡(luò),不限制下行網(wǎng)絡(luò)。
推流參數(shù)
RTMP推流和RTS推流使用相同的推流參數(shù):
類型 | 參數(shù)信息 |
分辨率 | 720 X 1280 |
幀率 | 20 |
碼率 | 2 Mbps |
網(wǎng)絡(luò)限制
類型 | 參數(shù)說明 |
上行丟包20% | 上行發(fā)送10個數(shù)據(jù)包丟失2個。 |
上行帶寬500k | 每秒鐘最多發(fā)送500 kb的數(shù)據(jù)。 |
上行延時500ms | 數(shù)據(jù)包需要經(jīng)過500 ms后才被網(wǎng)絡(luò)發(fā)送出去。 |
視頻卡頓率
幾種不同網(wǎng)絡(luò)環(huán)境下的視頻卡頓率對比如下,下圖中值越大代表視頻越卡頓,從圖中可以看出,RTS在弱網(wǎng)環(huán)境下的視頻卡頓比RTMP好。
視頻畫質(zhì)
幾種不同網(wǎng)絡(luò)環(huán)境下的視頻畫質(zhì)對比如下,下圖中值越大代表畫質(zhì)評分越高,畫質(zhì)越好,從圖中可以看出,RTS在弱網(wǎng)環(huán)境下的視頻畫質(zhì)比RTMP好。
使用直播推流SDK進行RTS推流
前提條件
已開通視頻直播服務(wù),完成域名添加和推拉流域名關(guān)聯(lián)。具體操作,請參見快速開始視頻直播。
推流域名開啟RTS推流。自2022年09月01日起,新添加的推流域名默認開啟RTS推流,您無需額外配置。若您的域名是在2022年09月01日之前添加的,需要手動開通。
登錄視頻直播控制臺。
在左側(cè)導(dǎo)航欄選擇推/播流域名管理,進入域名管理頁面。
單擊指定推流域名操作列的域名配置,進入域名管理頁面。
選擇
。打開RTS推流開關(guān)。
生成推流地址,RTS推流地址和RTMP推流地址除開始的協(xié)議頭不同之外,其他生成規(guī)則相同。使用RTS推流需要使用
artc://
開頭的協(xié)議地址。具體請參見生成推流地址和播放地址。說明阿里云視頻直播不允許同一時間向同一個推流URL進行多路推流(第二路推流會被拒絕)。
Demo體驗推RTS流,請參見方法三:使用Web端推RTS流。
使用限制
相較于RTMP推流,RTS推流限制如下所示:
僅支持單聲道。
不支持弱網(wǎng)自動推圖片功能。
音頻編碼格式僅支持LC。
音頻采樣率僅支持48 kHz。
RTS推流
使用直播推流SDK進行RTS推流時,和使用直播推流SDK進行RTMP推流的方法相同,只需要在調(diào)用startPush接口的時候?qū)TS格式的推流地址傳遞給直播推流SDK即可,其他的不需要做改動。具體操作,請參見Android直播推流SDK功能使用或iOS直播推流SDK功能使用。
RTS推流僅支持音視頻推流,即流中必須包含音頻和視頻。如果您的使用場景為純音頻或純視頻推流,則需要同步輸入對應(yīng)的視頻或音頻數(shù)據(jù)。
直播播放
使用RTS推流的直播,在播放端可以使用RTMP、FLV、HLS協(xié)議流進行標(biāo)準(zhǔn)直播播放,也可以使用ARTC協(xié)議流進行超低延時直播播放。關(guān)于超低延時直播播放,請參見超低延時直播快速入門。