1.一種音視頻同步方法,其特征在于:基于RTCP發(fā)送者報(bào)文的RTP時(shí)間戳和NTP時(shí)間戳,來(lái)實(shí)現(xiàn)音視頻同步。
2.根據(jù)權(quán)利要求1所述的一種音視頻同步方法,其特征在于:所述方法具體為:針對(duì)音頻和視頻,從連續(xù)的兩個(gè)RTCP發(fā)送者報(bào)文包中得到音頻與視頻的RTP與NTP數(shù)據(jù),并根據(jù)得到的音頻與視頻的RTP與NTP數(shù)據(jù)來(lái)獲得音頻與視頻對(duì)應(yīng)的時(shí)戳頻率;
從RTCP發(fā)送者報(bào)文包中取最新的音頻和視頻的NTP時(shí)間戳Audio_SRNTP、Video_SRNTP,以及最新的視頻的RTP數(shù)據(jù)來(lái)獲得視頻的RTP時(shí)間戳的基礎(chǔ)值Video_RTPTime;
每獲取一個(gè)音頻RTP包,則獲得音頻RTP包的RTP時(shí)間戳Audio_TRUERTP,根據(jù)RTP時(shí)間戳Audio_TRUERTP和RTP時(shí)間戳的基礎(chǔ)值Video_RTPTime得出基于音頻RTP的視頻基準(zhǔn)RTP時(shí)間戳Video_TRUERTP;
從RTCP發(fā)送者報(bào)文包中取得最新收到的視頻RTP時(shí)間戳Video_TRUERTP’與所述基于音頻RTP的視頻基準(zhǔn)RTP時(shí)間戳Video_TRUERTP進(jìn)行比對(duì)實(shí)現(xiàn)音視頻同步操作。
3.根據(jù)權(quán)利要求2所述的一種音視頻同步方法,其特征在于:根據(jù)得到的音頻與視頻的RTP與NTP數(shù)據(jù)來(lái)獲得音頻與視頻對(duì)應(yīng)的時(shí)戳頻率;即根據(jù)公式(1)(2)計(jì)算,得到音頻與視頻對(duì)應(yīng)的時(shí)戳頻率Audio_Fre、
其中,Audio_SRRTPtime1,Audio_SRRTPtime2為連續(xù)的兩個(gè)RTCP發(fā)送者報(bào)文包對(duì)應(yīng)的音頻的RTP數(shù)據(jù);Audio_SRNTPtime1,Audio_SRNTPtime2為連續(xù)的兩個(gè)RTCP發(fā)送者報(bào)文包對(duì)應(yīng)的音頻的NTP數(shù)據(jù);Video_SRRTPtime1,Video_SRRTPtime2為連續(xù)的兩個(gè)RTCP發(fā)送者報(bào)文包對(duì)應(yīng)的視頻的RTP數(shù)據(jù);Video_SRNTPtime1,Video_SRNTPtime2為連續(xù)的兩個(gè)RTCP發(fā)送者報(bào)文包對(duì)應(yīng)的視頻的NTP數(shù)據(jù);
從RTCP發(fā)送者報(bào)文包中取最新的音頻和視頻的NTP時(shí)間戳Audio_SRNTP、Video_SRNTP,以及最新的視頻的RTP數(shù)據(jù)根據(jù)公式(3)獲得視頻的RTP時(shí)間戳的基礎(chǔ)值Video_RTPTime;
Video_RTP Time=Video_SRRT PTime+(Audio_SRNTP-Video_SRNTP)×Video_Fre------(3)
其中,最新的視頻的RTP數(shù)據(jù)Video_SRRTPtime,視頻對(duì)應(yīng)的時(shí)戳頻率Video_Fre;
通過(guò)RTP時(shí)間戳Audio_TRUERTP和RTP時(shí)間戳的基礎(chǔ)值Video_RTPTime根據(jù)公式(4)得出基于音頻RTP的視頻基準(zhǔn)RTP時(shí)間戳Video_TRUERTP;
其中,最新的音頻的RTP數(shù)據(jù)Audio_SRRTPtime。
4.根據(jù)權(quán)利要求3所述的一種音視頻同步方法,其特征在于:所述從RTCP發(fā)送者報(bào)文包中取得最新收到的視頻RTP時(shí)間戳Video_TRUERTP’與所述基于音頻RTP的視頻基準(zhǔn)RTP時(shí)間戳Video_TRUERTP進(jìn)行比對(duì)實(shí)現(xiàn)音視頻同步操作,具體為:
A.Video_TRUERTP’-Video_TRUERTP<-Video_Fre*40*T’
這種情況下,視頻幀慢于音頻幀,且處于同步定義范圍之外,丟棄視頻幀,如果視頻丟幀嚴(yán)重,對(duì)音頻幀進(jìn)行緩存;
B.-Video_Fre*40*T’<(Video_TRUERTP’-Video_TRUERTP)<Video_Fre*120*T’
這種情況下,視頻幀處于同步定義范圍之內(nèi),播放或者操作;
C.Video_Fre*120*T’<Video_TRUERTP’-Video_TRUERTP
這種情況下,視頻幀快于音頻幀,且處于同步定義范圍之外,緩存視頻幀,等待音頻幀到來(lái);
其中,T為NTP的單位,T=1E12/2^32ps,T’=1E9*T=1E21/2^23ps。