RTP抗丟包傳輸方案
發(fā)布日期:2022-05-23
點擊次數(shù):251
基于UDP的RTP傳輸在復雜的公網(wǎng)環(huán)境下,尤其是3G、4G、WIFI網(wǎng)絡(luò)時面臨丟包、亂序、重復、抖動等問題,嚴重影響實時音視頻互動效果,即使是一個rtp包得丟失,如果接收端不做處理,也會導致視頻馬賽克的出現(xiàn),本方案采用多種方式結(jié)合,致力于解決udp傳輸視頻包丟失問題,方案包括視頻接收端jitter buffer 處理包亂序/重復問題,F(xiàn)EC(前向糾錯) 優(yōu)先處理丟包恢復,以及當fec恢復不了丟失數(shù)據(jù)包時采用丟包重傳策略請求重傳數(shù)據(jù)包,如果重傳依然有丟包情況,則解碼端不去解碼(有可能花屏),直接請求發(fā)送方發(fā)送I幀,這幾種方式組合,在實踐中能有效避免丟包導致的花屏,卡頓現(xiàn)象,通過調(diào)整FEC冗余度,可以達到不同丟包率的處理。
這里的FEC前向糾錯技術(shù)已經(jīng)應用很廣泛,其大概原理就是每K個媒體包發(fā)出后,利用這個K個媒體包生成N-K個冗余包,這里的N是媒體包和數(shù)據(jù)包的總和,接收端只要接收到K個數(shù)據(jù)包(包括媒體包和冗余包),就可以恢復出K個媒體包中任意一個丟失的媒體包。