如何解決視頻直(zhi)播卡頓問題(ti),讓客戶獲取優質的直(zhi)播體驗,是直(zhi)播的一(yi)大難(nan)題(ti)和探索方向(xiang)。
    就個人(ren)經驗來說,當前造成直播卡頓(dun)有這(zhe)5方(fang)面(mian)的原因:
1.硬件原因
硬(ying)(ying)件配(pei)置過低(di),相同環境下,硬(ying)(ying)件配(pei)置越高(gao),直播(bo)效(xiao)果(guo)越好,配(pei)置越低(di),效(xiao)果(guo)相對來說較差。尤其是(shi)在處(chu)理高(gao)清(qing)高(gao)品質視頻(pin)的時候,硬(ying)(ying)件配(pei)置造成的卡頓更加明顯。
優化方法:
  升(sheng)級硬件(jian)、軟(ruan)件(jian)設備,提高兼容性(xing)和容錯率;使用(yong)硬編硬解(jie)方案,充分利用(yong)GPU 加速;降低視(shi)頻碼率,選擇流暢或者標清畫(hua)質進行視(shi)頻播(bo)放(fang);增大播(bo)放(fang)器緩(huan)沖區(qu),緩(huan)解(jie)因(yin)網絡或解(jie)碼不穩定引起的卡頓。
2.軟件原因
  軟(ruan)(ruan)件處(chu)理問(wen)題,不(bu)同(tong)的(de)(de)軟(ruan)(ruan)件,不(bu)同(tong)處(chu)理方式(shi),效果(guo)肯定有差異。優化過的(de)(de)一般比沒有優化的(de)(de)直播效果(guo)好。播放(fang)器軟(ruan)(ruan)件(Player)的(de)(de)版本過低也(ye)會造成(cheng)卡頓。
優化方法:
對軟件進行(xing)優化,設置合理的(de)碼(ma)率,幀率,分辨率,關鍵幀間隔,音視頻(pin)編碼(ma)格式(shi)等參(can)數;盡量遵循標準的(de)視頻(pin)編碼(ma)方案,流媒體傳(chuan)輸協議,對視頻(pin)流進行(xing)采集,編碼(ma),解碼(ma),播放等操作(zuo)。
3.視頻編碼原因
(1).音視(shi)頻時間戳不(bu)同步
在直(zhi)播(bo)中,當音視頻時(shi)間戳不(bu)同時(shi),會(hui)影響(xiang)畫(hua)面(mian)渲染,導(dao)致(zhi)畫(hua)面(mian)解(jie)析時(shi)出現(xian)問(wen)題(ti),造成一(yi)卡一(yi)卡的(de)現(xian)象(xiang),音視頻時(shi)間戳非單調遞(di)增會(hui)導(dao)致(zhi)播(bo)放(fang)器在解(jie)析畫(hua)面(mian)時(shi)出現(xian)錯亂的(de)情況(kuang),前后(hou)畫(hua)面(mian)銜(xian)接(jie)會(hui)出現(xian)不(bu)連續甚(shen)至花屏的(de)現(xian)象(xiang)。
(2).視(shi)頻(pin)編碼幀(zhen)率設置過低(di)(幀(zhen)率即每秒的畫面張數),根據人眼(yan)的視(shi)覺暫留(liu)原(yuan)理(li),每秒的畫面張數必須(xu)達到(dao)一定(ding)的數值,一般不(bu)(bu)小于18幀(zhen),才會不(bu)(bu)感到(dao)卡頓,人眼(yan)觀(guan)看(kan)才是連(lian)續有效的。導致視(shi)頻(pin)流的編碼方(fang)式與(yu)傳輸服(fu)務器有不(bu)(bu)兼容的情(qing)況(kuang),部分音(yin)視(shi)頻(pin)數據出現了(le)解析錯誤甚至無法解析的情(qing)況(kuang),也會出現視(shi)頻(pin)流播放卡頓的問(wen)題。
(3).視頻(pin)編碼(ma)碼(ma)率過高(gao),超過直播網絡上行速度,也會造(zao)成卡(ka)頓(dun)。
優化方法:
音畫不同(tong)步的問題,我(wo)們需(xu)要(yao)對推流(liu)器的源碼進(jin)行研究,把讀取到(dao)的每一針(zhen)音頻(pin)、視頻(pin)的時間(jian)戳(chuo)進(jin)行查閱、分析,然后通過程序干涉推流(liu)器或者(zhe)流(liu)媒體服務器,矯正(zheng)邏輯值,從而使音畫同(tong)步。
4.網絡原因
    直播網(wang)絡較差,無線(xian)、有線(xian)、3G、4G、5G等網(wang)絡在網(wang)絡較差時,也會造成卡頓。
優化方法:
無線網絡:WIFI 連(lian)接的直播受距(ju)離、環境等使用因素的影響,需要讓設備盡量靠近 WIFI 信號(hao)(hao)源(yuan),避(bi)免穿墻或金屬物遮擋,保持信號(hao)(hao)強度,帶寬6M以上,同時避(bi)免其他(ta)設備接入 WIFI 信號(hao)(hao)源(yuan)搶(qiang)占信號(hao)(hao);
有線網(wang)絡:直播場地有專(zhuan)門的網(wang)口使(shi)用(yong),最好是專(zhuan)線網(wang)絡,上下(xia)行(xing)帶寬(kuan)不少于(yu)4M;
3G、4G、5G網(wang)絡(luo):手機網(wang)絡(luo)受到(dao)周圍的環(huan)境影響大,需要在手機信號良(liang)好的地方,并且防(fang)止網(wang)絡(luo)波動,在直(zhi)播時最好選擇4G卡(ka)。
對上行網(wang)絡進行檢(jian)測,判斷主播(bo)的(de)網(wang)絡速度,對服(fu)務器(qi)的(de)CDN推流(liu)端網(wang)絡進行測速。選擇最好的(de)CDN結點(dian)線路(lu),保證音視頻數(shu)據(ju)的(de)實時傳輸,推拉流(liu)穩(wen)(wen)定(ding),高并發人(ren)數(shu)下的(de)系統(tong)穩(wen)(wen)定(ding)性。
5.拉流端原因
  拉流服務端(duan)播放軟(ruan)件(jian)性能,也(ye)會(hui)造成卡頓。
優化方法:
  選(xuan)擇(ze)后臺(tai)優化較好的直播軟件進行播放。
————————————————
版(ban)權(quan)聲(sheng)(sheng)明(ming):本文為CSDN博主「Geek.Fan」的原(yuan)創文章,遵循CC 4.0 BY-SA版(ban)權(quan)協(xie)議,轉載請附(fu)上原(yuan)文出(chu)處鏈接及本聲(sheng)(sheng)明(ming)。
原文鏈接://blog.csdn.net/fanyun_01/article/details/109408748
