成品直播源碼,推流卡頓不再是直播的攔路石
推流卡頓問題在成品直播源碼很常見,造成卡頓的原因主要有設(shè)備、視頻流、網(wǎng)絡(luò)三方面,那么相應(yīng)的,平臺(tái)也需要從這三面入手來(lái)做優(yōu)化,不過真正想要提供好的直播畫面,并不只包括這三方面,還有我們常見的斷線重連、碼率自適應(yīng)、退后臺(tái)保持推流等方法可用,具體的我們來(lái)看一下。
?

一、斷線重連
直播從推流端,到服務(wù)端,再到播放端,成品直播源碼的各節(jié)點(diǎn)一般都會(huì)有音視頻流數(shù)據(jù)的緩沖。在推流端發(fā)生斷流,在各級(jí)緩沖沒有消耗完音視頻數(shù)據(jù)之前,如果能恢復(fù)數(shù)據(jù)生產(chǎn),還是有希望避免播放端出現(xiàn)斷播或卡頓。
斷線重連實(shí)現(xiàn)起來(lái)較簡(jiǎn)單,只需要注意兩個(gè)方面:
1、完善推流會(huì)話各層的錯(cuò)誤回調(diào),及時(shí)感知到推流中斷
2、和服務(wù)端協(xié)商好推流連接的實(shí)效期,保證重連后用戶還能回到原來(lái)的直播間內(nèi)
?

二、后臺(tái)保持推流
后臺(tái)運(yùn)行功能其實(shí)不是什么新鮮功能,現(xiàn)在的成品直播源碼都支持用戶在保持直播間里的情況下進(jìn)行其他操作仍然能后臺(tái)播放甚至小窗播放的能力,但對(duì)主播來(lái)說這個(gè)功能很重要。移動(dòng)端設(shè)備直播下,主播收到電話、短信等信息時(shí),會(huì)不會(huì)影響到正常直播,接通電話后敏感信息是否會(huì)泄露等。
1、退后臺(tái)如果繼續(xù)采集音頻可能涉及到隱私問題。對(duì)于這個(gè)問題,可以退后臺(tái)停止采集,但是保持推靜音音頻數(shù)據(jù)。
2、退后臺(tái)無(wú)法繼續(xù)采集視頻,這時(shí)候如果不推視頻數(shù)據(jù),那么可能會(huì)引起 CDN 和播放器的不兼容的問題,可以適當(dāng)降低成品直播源碼的幀率來(lái)降低推流的碼率。
?

三、碼率自適應(yīng)
如果成品直播源碼的推流端遇到網(wǎng)絡(luò)差的情況,已經(jīng)不支持平臺(tái)以原本視頻清晰度繼續(xù)發(fā)送時(shí),就要采用碼率自適應(yīng)來(lái)適配網(wǎng)絡(luò)了。
推流端的碼率自適應(yīng)主要是通過計(jì)算單位時(shí)間內(nèi)編碼碼率與發(fā)送碼率來(lái)判斷網(wǎng)絡(luò)的實(shí)時(shí)情況,然后可以根據(jù)多次判定的結(jié)果進(jìn)行碼率調(diào)整。如果成品直播源碼網(wǎng)絡(luò)較差,優(yōu)先降低幀率,同時(shí)調(diào)整實(shí)時(shí)碼率匹配此時(shí)的幀率,這樣可以保證清晰度不變。當(dāng)幀率降低到最小容忍值后,網(wǎng)絡(luò)依然較差,則可以繼續(xù)降碼率。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任