在我們看不到的地方,直播源代碼的輔助工具也在不斷優(yōu)化
時間:2022-05-08 04:21:02 | 來源:行業(yè)動態(tài)
時間:2022-05-08 04:21:02 來源:行業(yè)動態(tài)
直播源代碼除了服務器、CDN外,最得力的輔助工具莫過于SDK了,各項三方SDK完善了直播源代碼的功能,也讓直播畫面在整體的傳輸中得到了優(yōu)化,正是這些傳輸優(yōu)化保證了用戶們的觀看體驗。
通常來說,當直播畫面?zhèn)鬏斢龅骄W(wǎng)絡卡頓、抖動時,在無法保證畫面正常傳輸?shù)那闆r下,會選擇丟包重傳來對抗網(wǎng)絡的不穩(wěn)定性,這種做法會增加直播源代碼消耗的流量。經(jīng)過不斷的優(yōu)化,現(xiàn)在都會選擇TCP重傳來確保直播畫面的穩(wěn)定性和順序性,對于實時性不高的直播來說TCP是一個很好的選擇。
一、TCP傳輸?shù)膬?yōu)化
直播源代碼常用的傳輸方式有兩種,TCP傳輸和UDP傳輸,之所以TCP傳輸成為現(xiàn)在首選的傳輸方式,是因為它具備的防網(wǎng)絡擁堵現(xiàn)象,避免擁塞的組成加上快速恢復算法的改進,有效保證了直播傳輸?shù)膶崟r性。
TCP避免擁堵的原理是依賴于一個擁堵窗口來控制的,窗口大小代表著傳輸速度快慢,當網(wǎng)絡不佳時,將窗口大小降低為1就有效限制了之后內容的傳輸,自然擁堵也就慢慢的解決了。
二、針對網(wǎng)絡擁堵的再優(yōu)化
盡管TCP的優(yōu)化有效限制了網(wǎng)絡擁堵對用戶觀看的影響,但也產(chǎn)生了新的問題,由于窗口的縮小,傳輸速度也會降低,消耗的流量如果不及時降低,會自動觸發(fā)直播源代碼的丟包重傳,導致主播端的傳輸出現(xiàn)擁堵現(xiàn)象,相當于陷入了一個惡性循環(huán),不是主播端擁堵就是用戶端擁堵。
為了解決這個問題,一旦發(fā)現(xiàn)直播源代碼進入重傳階段,TCP會自動降低視頻的編碼參數(shù),這樣視頻數(shù)據(jù)就變得更小,消耗的流量會自動下降,避免之后的數(shù)據(jù)出現(xiàn)重傳。
不過TCP的優(yōu)化都是以SDK為基準的優(yōu)化,想要達到效果還是需要平臺接入才行,但現(xiàn)在來看,其實大部分的傳輸優(yōu)化都是以源碼為基礎優(yōu)化的,傳輸優(yōu)化的SDK接入并不多。在有了現(xiàn)在文字、實踐證明的情況下,相信之后直播源代碼借助SDK優(yōu)化會變得與來越頻繁,畢竟SDK的使用真的很節(jié)省開發(fā)時間。
聲明:以上內容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉載,否則將追究相關法律責任