在多媒體系統(tǒng)終端回放中解決音視頻不同步問題的方法
【專利摘要】本發(fā)明公開屬于多媒體音視頻圖像處理【技術領域】的一種在多媒體系統(tǒng)終端回放中解決音視頻不同步問題的方法。該方法的步驟為:1)根據錄制的總時長和總視頻幀數,計算視頻平均幀率;2)打開一個定時器以備視頻流的播放;3)直接播放RTSP服務器發(fā)送過來的音頻流;4)緩存RTSP服務器發(fā)送過來的視頻流;5)按照計算出的視頻平均幀率定時進行視頻流的播放;6)當終端回放結束,結束進程;否則重復步驟3)~5),繼續(xù)音視頻流的播放。該方法在終端回放時不直接播放視頻流,而是緩存視頻流,根據錄制的總時長及總視頻幀數計算視頻平均幀率,按照視頻平均幀率進行視頻流的播放,基本實現音視頻的同步。
【專利說明】在多媒體系統(tǒng)終端回放中解決音視頻不同步問題的方法
【技術領域】
[0001]本發(fā)明屬于多媒體音視頻圖像處理【技術領域】,特別涉及一種在多媒體系統(tǒng)終端回放中解決音視頻不同步問題的方法。
【背景技術】
[0002]隨著通信業(yè)的快速發(fā)展,IMS (IP Multimedia Subsystem)多媒體系統(tǒng)中出現各種不同類型的終端,這些終端的實時音視頻通訊固然重要,但是隨著通訊備份需求的提出,終端的音視頻回放功能也日益重要。
[0003]IMS多媒體系統(tǒng)中,錄音錄像服務器負責錄制通訊過程中的音視頻并保存成文件,在終端提出回放要求時,RTSP(Real Time Streaming Protocol)服務器對錄制的文件進行流化,并通過網絡把音視頻流發(fā)送給終端供終端回放。終端回放一般都是直接按照RTSP服務器的流化結果進行音視頻回放。這時,回放的過程中就有可能出現音視頻不同步的現象,根本原因是有些終端在實時通訊時視頻流的時間戳與每秒發(fā)送的視頻幀數并不匹配,表現為每秒實際發(fā)送的視頻幀數少于時間戳對應的每秒應該發(fā)送的視頻幀數,這在實時通訊中并不會出現問題,但是在RTSP服務器重新流化的過程中卻會出現音視頻不同步的問題,因為RTSP服務器是根據時間戳信息來進行流化的,即回放的視頻流會快于回放的音頻流,視頻流提前于音頻流播放結束。
【發(fā)明內容】
[0004]針對上述現有技術的缺點,本發(fā)明提出一種在多媒體系統(tǒng)終端回放中解決音視頻不同步問題的方法,其特征在于,具體步驟如下:
[0005](I)根據錄制的總時長和總視頻幀數,計算視頻平均幀率;
[0006](2)打開一個定時器以備視頻流的播放;
[0007](3)直接播放RTSP服務器發(fā)送過來的音頻流;
[0008](4)緩存RTSP服務器發(fā)送過來的視頻流;
[0009](5)按照計算出的視頻平均幀率定時進行視頻流的播放;
[0010](6)當終端回放結束,則結束進程;否則重復步驟(3)?(5),繼續(xù)進行音視頻流的播放。
[0011]當終端回放被暫停時,暫停音頻流的播放,同時暫停定時器以停止視頻流的播放;當終端回放暫停被取消時,則恢復定時器,接著重復步驟(3)?(5),進行音視頻流的播放。
[0012]當終端在回放的過程中進度條被拖拽到時間點A,則為了保證時間點A的音視頻同步,計算時間點A之前的一個能使音視頻同步的時間點B,向RTSP服務器請求時間點B開始的視頻流,緩存視頻流,并按照視頻平均幀率播放視頻流;否則繼續(xù)步驟(3)?(5),進行音視頻流的播放。
[0013]所述時間點B的計算方式如下:
[0014]a)假設視頻流開始到時間點A的時長為tl ;[0015]b)根據已知視頻流攜帶的時間戳信息計算RTSP服務器發(fā)送視頻流的實時幀率;
[0016]c)假設視頻流開始到時間點B的時長為t2,其中,時間點B在時間點A之前;
[0017]d)保證拖拽進度條之后音視頻同步的條件:tl*視頻平均幀率=t2*實時幀率,即t2=(tl*視頻平均幀率)/實時幀率,以此計算出時間點B。
[0018]發(fā)明的有益效果:
[0019](I)本發(fā)明在終端回放時直接播放RTSP服務器發(fā)送過來的音頻流,但是不直接播放視頻流,而是首先緩存視頻流,再根據錄制的總時長以及總視頻幀數計算視頻平均幀率,按照此視頻平均幀率進行視頻流的播放,基本實現音視頻的同步;
[0020](2)拖拽進度條之后進行音視頻同步的時間點的計算,保證音視頻在進度條拖拽之后還能冋步。
【專利附圖】
【附圖說明】
[0021]圖1為本發(fā)明中音視頻的回放流程;
[0022]圖2為拖拽進度條之后計算首視頻同步的時間點的不意圖。
【具體實施方式】
[0023]下面結合附圖,通過【具體實施方式】進一步詳細說明本發(fā)明。
[0024]如圖1所示為本發(fā)明中音視頻的回放流程,具體步驟如下:
[0025](I)根據錄制的總時長和總視頻幀數,計算視頻平均幀率;
[0026](2)打開一個定時器以備視頻流的播放;
[0027](3)直接播放RTSP服務器發(fā)送過來的音頻流;
[0028](4)緩存RTSP服務器發(fā)送過來的視頻流;
[0029](5)按照計算出的視頻平均幀率定時進行視頻流的播放;
[0030](6)當終端回放結束,則結束進程;否則重復步驟(3)?(5),繼續(xù)進行音視頻流的播放。
[0031]當終端回放被暫停時,暫停音頻流的播放,同時暫停定時器以停止視頻流的播放;當終端回放暫停被取消時,則恢復定時器,接著重復步驟(3)?(5),進行音視頻流的播放。
[0032]其中的定時器的作用是每隔一段時間(一般是幾十毫秒)播放一幀視頻流,保證視頻流能夠與音頻流同步。
[0033]音頻流和視頻流同時播放。終端只要從服務器接收到音頻流就進行播放,但是緩存從服務器接收到的視頻流并定時播放,從而保證音視頻同步。
[0034]如圖2所示為拖拽進度條之后計算音視頻同步的時間點的示意圖。其中,假設進度條拖拽到時間點A,則為了保證時間點A的音視頻同步,則需要向RTSP服務器請求時間點A之前的時間點B開始的視頻流,緩存視頻流,并按照視頻平均幀率播放視頻流。
[0035]時間點B的計算方式如下:
[0036]a)假設視頻流開始到時間點A的時長為tl ;
[0037]b)根據已知視頻流攜帶的時間戳信息計算RTSP服務器發(fā)送視頻流的實時幀率;
[0038]c)假設視頻流開始到時間點B的時長為t2,其中,時間點B在時間點A之前;
[0039]d)保證拖拽進度條之后音視頻同步的條件:tl*視頻平均幀率=t2*實時幀率,即t2=(tl*視頻平均幀率)/實時幀率,以此計算出時間點B。
[0040]如果進度條沒有被拖拽,則繼續(xù)步驟(3)?(5),進行音視頻流的播放
[0041]以上所述,僅為本發(fā)明較佳的【具體實施方式】之一,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
【權利要求】
1.在多媒體系統(tǒng)終端回放中解決音視頻不同步問題的方法,其特征在于,具體步驟如下: (1)根據錄制的總時長和總視頻幀數,計算視頻平均幀率; (2)打開一個定時器以備視頻流的播放; (3)直接播放RTSP服務器發(fā)送過來的音頻流; (4)緩存RTSP服務器發(fā)送過來的視頻流; (5)按照計算出的視頻平均幀率定時進行視頻流的播放; (6)當終端回放結束,則結束進程;否則重復步驟(3)?(5),繼續(xù)進行音視頻流的播放。
2.根據權利要求1所述的一種在多媒體系統(tǒng)終端回放中解決音視頻不同步問題的方法,其特征在于,當終端回放被暫停時,暫停音頻流的播放,同時暫停定時器以停止視頻流的播放;當終端回放暫停被取消時,則恢復定時器,接著重復步驟(3)?(5),進行音視頻流的播放。
3.根據權利要求1所述的一種在多媒體系統(tǒng)終端回放中解決音視頻不同步問題的方法,其特征在于,如果終端在回放的過程中進度條被拖拽到時間點A,則為了保證時間點A的音視頻同步,計算時間點A之前的一個能使音視頻同步的時間點B,向RTSP服務器請求時間點B開始的視頻流,緩存視頻流,并按照視頻平均幀率播放視頻流;否則繼續(xù)步驟(3)?(5),進行音視頻流的播放。
4.根據權利要求3所述的一種在多媒體系統(tǒng)終端回放中解決音視頻不同步問題的方法,其特征在于,所述時間點B的計算方式如下: a)假設視頻流開始到時間點A的時長為tl; b)根據已知視頻流攜帶的時間戳信息計算RTSP服務器發(fā)送視頻流的實時幀率; c)假設視頻流開始到時間點B的時長為t2,其中,時間點B在時間點A之前; d)保證拖拽進度條之后音視頻同步的條件:tl*視頻平均幀率=t2*實時幀率,即t2=(tl*視頻平均幀率)/實時幀率,以此計算出時間點B。
【文檔編號】H04N21/43GK103596033SQ201310556881
【公開日】2014年2月19日 申請日期:2013年11月11日 優(yōu)先權日:2013年11月11日
【發(fā)明者】鄔莉娜 申請人:北京佳訊飛鴻電氣股份有限公司