亚洲精品一区二三区不卡,久久人人玩人妻潮喷内射人人,国产乱妇乱子在线视频,久久精品国产久精国产果冻传媒

產(chǎn)品列表PRODUCTS LIST

首頁(yè) > 技術(shù)與支持 > rtp音視頻同步問(wèn)題解決方法
rtp音視頻同步問(wèn)題解決方法
點(diǎn)擊次數(shù):1792 更新時(shí)間:2018-05-18

rtp音視頻同步問(wèn)題解決方法

由于音視頻流是以兩條獨(dú)立的數(shù)據(jù)流在網(wǎng)絡(luò)上傳輸?shù)模绻W(wǎng)絡(luò)質(zhì)量相當(dāng)差,那么在接收端收到的音視頻數(shù)據(jù)流就有可能不是同步的了,為了克服這種不同步的現(xiàn)象,需要添加同步機(jī)制。的同步機(jī)制是使用開(kāi)源庫(kù)jrtplib3.7.1來(lái)實(shí)現(xiàn)的,嚴(yán)格遵守rtp協(xié)議標(biāo)準(zhǔn)。

解決的方案如下:

當(dāng)有數(shù)據(jù)需要發(fā)送時(shí),往數(shù)據(jù)中加入時(shí)間戳,在接收端,讀取時(shí)間戳,進(jìn)行比較,如果相同或相差很近,就提交播放,如果其中一個(gè)時(shí)間戳更大,就等待。如果網(wǎng)絡(luò)質(zhì)量很差,那么存在兩種不同步的情況:

1.   對(duì)于單條數(shù)據(jù)流來(lái)說(shuō),如果網(wǎng)絡(luò)質(zhì)量很差,可能出現(xiàn)數(shù)據(jù)流的接收不流暢,如果沒(méi)有做流暢處理,那么就可能出現(xiàn)抖動(dòng)現(xiàn)象,這需要使用rtp中的時(shí)間戳解決。

2.   對(duì)于多條數(shù)據(jù)流來(lái)說(shuō),如果網(wǎng)絡(luò)質(zhì)量很差,可能出現(xiàn)本應(yīng)該同時(shí)播放的數(shù)據(jù)幀沒(méi)有在同一時(shí)間到達(dá),需要做同步處理。

解決第1個(gè)問(wèn)題的方法是向每個(gè)發(fā)送的數(shù)據(jù)包加上時(shí)間戳,在rtp庫(kù)中,時(shí)間戳表示在打包數(shù)據(jù)段中*個(gè)采樣所對(duì)應(yīng)的時(shí)間,時(shí)間戳的啟始值是隨機(jī)的,后續(xù)的時(shí)間戳是在前一個(gè)時(shí)間戳上的增量,在SendPacket中的時(shí)間戳參數(shù)表示的是時(shí)間戳增量,所以數(shù)據(jù)流的同步需要計(jì)算出時(shí)間戳增量。

對(duì)于音頻數(shù)據(jù),由于音頻數(shù)據(jù)的采樣率是8000Hz,所以每采樣一次需要時(shí)間是1/8000s,由于是每20ms封包一次,所以時(shí)間戳的增量是(20*10**-3)*8000=160。

對(duì)于視頻數(shù)據(jù),由于視頻數(shù)據(jù)的采樣率是90000Hz,所以每采樣一次需要時(shí)間是1/90000s,如果幀率是25幀/s,所以時(shí)間戳增量是90000/25=3600。

在發(fā)送端,每發(fā)送一個(gè)數(shù)據(jù)包,都打上該數(shù)據(jù)包對(duì)應(yīng)的時(shí)間戳值,只需要向SendPacket的zui后個(gè)參數(shù)傳遞時(shí)間戳增量,rtp庫(kù)會(huì)自動(dòng)算出時(shí)間戳,并加到發(fā)送的rtp數(shù)據(jù)包首部里邊。

在接收端,當(dāng)收到一個(gè)數(shù)據(jù)包時(shí),獲取該rtp數(shù)據(jù)包的時(shí)間戳值,計(jì)算出與前一個(gè)數(shù)據(jù)包的時(shí)間戳值的差值,乘以該媒體流的時(shí)間戳單位,就得出了當(dāng)前數(shù)據(jù)包與前一個(gè)數(shù)據(jù)包之間的間隔的打包時(shí)間T。所以只要保證在與前一個(gè)數(shù)據(jù)包被提交過(guò)后T時(shí)間后再提交當(dāng)前接收到的數(shù)據(jù)包,那么在rtp層就解決了上邊提出的*個(gè)問(wèn)題。

解決第2個(gè)問(wèn)題的方法是使用rtcp發(fā)送者報(bào)告數(shù)據(jù)包中的時(shí)間信息,發(fā)送者報(bào)告被發(fā)送的間隔時(shí)間是不固定的,它的大小與參與到會(huì)話中的同步源數(shù)量成正比。每個(gè)發(fā)送者報(bào)告中都有個(gè)ntp時(shí)間和rtp時(shí)間,該ntp時(shí)間表示在發(fā)送時(shí)間戳為該rtp時(shí)間的rtp包時(shí)的系統(tǒng)時(shí)間,就是在發(fā)送這個(gè)rtp包時(shí)的系統(tǒng)時(shí)間,所以這兩個(gè)時(shí)間值有對(duì)應(yīng)關(guān)系,由于對(duì)于一個(gè)同步源,時(shí)間戳單位是固定的,所以可以由后續(xù)的某個(gè)數(shù)據(jù)包的rtp時(shí)間戳計(jì)算出這個(gè)數(shù)據(jù)包所對(duì)應(yīng)的時(shí)間,這個(gè)時(shí)間就是在發(fā)送這個(gè)數(shù)據(jù)包時(shí),發(fā)送端的系統(tǒng)時(shí)間。

使用這種方法就可以計(jì)算出每個(gè)收到的rtp數(shù)據(jù)包在發(fā)送端的系統(tǒng)時(shí)間,這個(gè)系統(tǒng)時(shí)間在發(fā)送端是單調(diào)遞增的,所以可以通過(guò)這個(gè)值來(lái)同步多條數(shù)據(jù)流。

日本亲近相奷中文字幕| 91丨九色丨国产熟女熟女| 亚洲第一天堂无码专区| 宝贝我射里面了h| 久久婷婷五月综合色一区二区| 无码gogo大胆啪啪艺术免费| 国自产拍在线网站| 总攻人妻h性瘾| 福利视频网址导航| 国产亚洲av片在线观看16女人| 四虎成人精品国产永久免费无码 | 午夜福利无码一区二区| 人妻少妇AV无码一区二区| 亚洲AV无码专区国产乱码4| 91欧美国产日韩精品射精| 天堂av2014| 国产v亚洲v天堂无码| 麻豆AV无码精品一区二区| 人妻少妇中文字幕乱码| 天天躁久久躁日日躁| 欧洲熟妇色| 天天操网| 色呦呦在线观看| 亚洲国产精品一区二区成人片| 日韩精品亚洲人成在线播放| 亚洲AV成人噜噜无码网站| 人妻少妇精品无码专区二区 | 亚洲第十页| 亚洲国产精品成人综合色在线婷婷| 精品一区二区三区AV天堂| 中文字幕有码无码人妻在线| 久久国产亚洲精品无码| 永久不封国产毛片av网煮站| 无码 人妻 在线 视频| 久久综合综合久久综合| 在线a亚洲视频播放在线观看| 欧美做受高潮| 人妻的秘密| 久久久伊人| 国外亚洲成av人片在线观看| 亚洲精品一区二区三区老狼|