欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種實時視頻流緩沖的控制方法

文檔序號:7777068閱讀:611來源:國知局
一種實時視頻流緩沖的控制方法
【專利摘要】本發(fā)明涉及一種實時視頻流緩沖的控制方法,其主要技術(shù)特點是:包括以下步驟:初始化視頻緩沖池并清空;判斷視頻緩沖線程退出標(biāo)志位,如果為真,則退出此線程,否則執(zhí)行下一步;更新視頻緩沖區(qū)的狀態(tài),然后根據(jù)視頻緩沖區(qū)的狀態(tài)對視頻緩沖區(qū)中的數(shù)據(jù)分別進(jìn)行處理。本發(fā)明設(shè)計合理,通過在計算機(jī)終端上設(shè)置視頻緩沖區(qū)及控制視頻緩沖區(qū)的存儲和播放,使得客戶在網(wǎng)絡(luò)擁堵時依然觀看到流暢的視頻圖像,本方法解決了網(wǎng)絡(luò)擁堵時的視頻圖像預(yù)覽不流暢的問題,大大提高了網(wǎng)絡(luò)監(jiān)控系統(tǒng)的性能和用戶體驗。
【專利說明】一種實時視頻流緩沖的控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于視頻處理【技術(shù)領(lǐng)域】,尤其是一種實時視頻流緩沖的控制方法。
【背景技術(shù)】
[0002]未來監(jiān)控系統(tǒng)發(fā)展的總體方向是:數(shù)字化、智能化、自動化、網(wǎng)絡(luò)化,其中的網(wǎng)絡(luò)化是監(jiān)控系統(tǒng)的大勢所趨,它大大地簡化并提高了信息傳遞的方式和速度。隨著網(wǎng)絡(luò)技術(shù)和計算機(jī)技術(shù)的不斷發(fā)展以及市場應(yīng)用環(huán)境的逐步成熟,基于視頻交換技術(shù)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)已經(jīng)成為監(jiān)控系統(tǒng)發(fā)展方向。
[0003]網(wǎng)絡(luò)攝像機(jī)集成了普通攝像機(jī)和網(wǎng)絡(luò)轉(zhuǎn)換器,其將圖像轉(zhuǎn)換為基于TCP/IP網(wǎng)絡(luò)標(biāo)準(zhǔn)的數(shù)據(jù)包,使攝像機(jī)所攝的畫面通過RJ-45以太網(wǎng)接口或WIFIWLAN無線接口直接傳送到網(wǎng)絡(luò)上,通過網(wǎng)絡(luò)即可遠(yuǎn)端監(jiān)視畫面。雖然網(wǎng)絡(luò)攝像機(jī)在視頻圖像傳輸、安裝調(diào)試和后期維護(hù)上優(yōu)于傳統(tǒng)的攝像機(jī),但目前其仍受網(wǎng)絡(luò)帶寬的因素影響,如網(wǎng)絡(luò)速度較慢時,視頻圖像數(shù)據(jù)的傳輸會產(chǎn)生延時,甚至?xí)l(fā)生卡停,就不能得到較流暢的視頻圖像,給后端實時網(wǎng)絡(luò)視頻預(yù)覽的客戶帶來視頻不流暢的體驗。因此,如何對視頻流存儲視頻緩沖區(qū)的視頻存儲和播放進(jìn)行有效控制以獲得流暢的視頻圖像是目前迫切需要解決的問題。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種實時視頻流緩沖的控制方法,通過在計算機(jī)終端上設(shè)置視頻緩沖區(qū)及控制視頻緩沖區(qū)的存儲和播放,解決網(wǎng)絡(luò)擁堵時的視頻圖像預(yù)覽不流暢的問題。
[0005]本發(fā)明解決其技術(shù)問題是采取以下技術(shù)方案實現(xiàn)的:
[0006]一種實時視頻流緩沖的控制方法,包括以下步驟:
[0007]步驟1、初始化視頻緩沖池并清空;
[0008]步驟2、判斷視頻緩沖線程退出標(biāo)志位,如果為真,則退出此線程,否則執(zhí)行步驟3 ;
[0009]步驟3、更新視頻緩沖區(qū)的狀態(tài),然后根據(jù)視頻緩沖區(qū)的狀態(tài)對視頻緩沖區(qū)中的數(shù)據(jù)分別進(jìn)行處理。
[0010]而且,所述步驟3的處理過程為:
[0011]步驟301、分析當(dāng)前視頻緩沖區(qū)的大小和要設(shè)置的視頻緩沖區(qū)大小的差距,將視頻緩沖區(qū)的狀態(tài)分別設(shè)置為零狀態(tài)、增加狀態(tài)、減少狀態(tài)或同步狀態(tài);
[0012]步驟302、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否是零狀態(tài),是則執(zhí)行步驟303,否則執(zhí)行步驟304 ;
[0013]步驟303、零狀態(tài)處理過程;
[0014]步驟304、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否為增加狀態(tài),是則執(zhí)行步驟305,否則執(zhí)行步驟306 ;
[0015]步驟305、增加狀態(tài)處理過程;[0016]步驟306、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否是減少狀態(tài),是則執(zhí)行步驟307,否則執(zhí)行步驟308 ;
[0017]步驟307、減少狀態(tài)處理過程;
[0018]步驟308、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否是同步狀態(tài),是則執(zhí)行步驟309,否則返回,執(zhí)行步驟2;
[0019]步驟309、同步狀態(tài)處理過程。
[0020]而且,所述步驟301的處理過程包括以下步驟:
[0021]步驟30101、判斷要設(shè)置的視頻緩沖區(qū)大小不為當(dāng)前視頻緩沖區(qū)大小并且判斷當(dāng)前的狀態(tài)是否為同步狀態(tài),是則執(zhí)行步驟30102,否則執(zhí)行步驟302 ;
[0022]步驟30102、判斷要設(shè)置的視頻緩沖區(qū)大小是否小于1,是則執(zhí)行步驟30102,否則執(zhí)行步驟30103 ;
[0023]步驟30103、將當(dāng)前視頻緩沖區(qū)的大小設(shè)置為I ;
[0024]步驟30104、判斷當(dāng)前視頻緩沖區(qū)大小是否小于要設(shè)置的視頻緩沖區(qū)大小,是則執(zhí)行步驟30105,否則執(zhí)行步驟30106 ;
[0025]步驟30105、設(shè)置當(dāng)前視頻緩沖區(qū)的狀態(tài)為增加狀態(tài),執(zhí)行步驟30107 ;
[0026]步驟30106、設(shè)置當(dāng)前緩沖區(qū)的狀態(tài)為減少狀態(tài);
[0027]步驟30107、將當(dāng)前視頻緩沖區(qū)大小設(shè)置為要設(shè)置的視頻緩沖區(qū)大小。
[0028]而且,所述步驟303的處理過程包括以下步驟:
[0029]步驟30301、銷毀視頻播放相關(guān)資源;
[0030]步驟30302、等待數(shù)據(jù)到來并填充視頻緩沖區(qū),若等待超時則直接返回步驟2,否則執(zhí)行步驟30303 ;
[0031]步驟30303、將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為增加狀態(tài)后返回步驟2。
[0032]而且,所述步驟305的處理過程包括以下步驟:
[0033]步驟30501、等待數(shù)據(jù)到來并填充視頻緩沖區(qū),若等待超時則直接返回步驟2 ;
[0034]步驟30502、判斷當(dāng)前視頻緩沖區(qū)的容量大小是否超過或者等于了當(dāng)前視頻緩沖區(qū)大小,是則將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為同步狀態(tài)返回步驟2,否則直接返回步驟2。
[0035]而且,所述步驟307的處理過程包括以下步驟:
[0036]步驟30701、判斷當(dāng)前視頻緩沖區(qū)的容量大小是否小于或者等于了當(dāng)前視頻緩沖區(qū)大小,是則執(zhí)行將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為同步狀態(tài)后返回執(zhí)行步驟2,否則執(zhí)行步驟 30702 ;
[0037]步驟30702、根據(jù)時間戳快速播放視頻,直到當(dāng)前視頻緩沖區(qū)的容量大小小于或者等于了當(dāng)前視頻緩沖區(qū)大??;
[0038]步驟30704、將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為同步狀態(tài),返回步驟2。
[0039]而且,所述步驟309的處理過程包括以下步驟:
[0040]步驟30901、判斷當(dāng)前視頻緩沖區(qū)的大小是否為零,是則執(zhí)行步驟30902,否則執(zhí)行步驟30903 ;
[0041]步驟30902、設(shè)置當(dāng)前視頻緩沖區(qū)的狀態(tài)為零狀態(tài),或者調(diào)用播放類的刷新界面函數(shù)使得播放畫面不閃爍,返回步驟2 ;
[0042]步驟30903、取出FIFO中最初的數(shù)據(jù);[0043]步驟30904、若當(dāng)前視頻緩沖區(qū)大小為1,是則執(zhí)行步驟30905,否則執(zhí)行步驟30906 ;
[0044]步驟30905、直接播放本幀視頻,并等待下一幀數(shù)據(jù)的到來,返回步驟2 ;否則執(zhí)行步驟30907 ;
[0045]步驟30906、判斷當(dāng)前視頻緩沖區(qū)大小比視頻緩沖區(qū)的大小過大或者過小,是則執(zhí)行步驟30907,否則執(zhí)行步驟30908 ;
[0046]步驟30907、相應(yīng)調(diào)整播放速率播放所取出的數(shù)據(jù),返回步驟2 ;
[0047]步驟30908、按時間戳正常播放所取出的數(shù)據(jù),返回步驟2。
[0048]而且,所述的視頻緩沖區(qū)為所有形式的緩沖隊列。
[0049]而且,所述的緩沖區(qū)隊列為FIFO的緩沖隊列。
[0050]而且,所述的視頻緩沖池為Vector容器,或者為Deque容器。
[0051 ] 本發(fā)明的優(yōu)點和積極效果是:
[0052]本發(fā)明設(shè)計合理,其采用在計算機(jī)終端上先緩存一部分視頻圖像數(shù)據(jù)(當(dāng)然是在用戶的對延時容忍限度之內(nèi)),這樣在正常的情況下,視頻圖像流暢顯示,當(dāng)網(wǎng)絡(luò)有比較短時間擁堵的時候,計算機(jī)終端亦可以繼續(xù)播放緩存中的數(shù)據(jù),用戶觀看的視頻依然是流暢的,當(dāng)網(wǎng)絡(luò)不在擁堵時,計算機(jī)終端的緩沖就會再一次填充到先前的狀態(tài),這樣周而復(fù)始的運行,就可以在網(wǎng)絡(luò)擁堵時保證客戶依然觀看到流暢的視頻圖像,本方法科學(xué)合理的解決了解決網(wǎng)絡(luò)擁堵時的視頻圖像預(yù)覽不流暢的問題,大大提高了網(wǎng)絡(luò)監(jiān)控系統(tǒng)的性能和用戶體驗。
【專利附圖】

【附圖說明】
[0053]圖1為本發(fā)明的處理流程圖;
[0054]圖2為本發(fā)明的步驟3的處理流程圖;
[0055]圖3為本發(fā)明的步驟301的處理流程圖;
[0056]圖4為本發(fā)明的步驟303的處理流程圖;
[0057]圖5為本發(fā)明的步驟305的處理流程圖;
[0058]圖6為本發(fā)明的步驟307的處理流程圖;
[0059]圖7為本發(fā)明的步驟309的處理流程圖。
【具體實施方式】
[0060]以下結(jié)合附圖對本發(fā)明做進(jìn)一步詳述。
[0061]一種實時視頻流緩沖的控制方法,如圖1所示,包括以下步驟:
[0062]步驟1、初始化視頻緩沖池并清空。
[0063]本發(fā)明采用的視頻緩沖池可以是Vector容器,也可以是Deque容器,視頻緩沖區(qū)為所有形式的緩沖隊列,本實施例以先入先出(FIFO)的緩沖隊列進(jìn)行說明,視頻緩沖區(qū)中保存在是每一幀的視頻信息。
[0064]步驟2、判斷視頻緩沖線程退出標(biāo)志位,如果為真,則退出此線程,否則執(zhí)行步驟3。
[0065]步驟3、更新視頻緩沖區(qū)的狀態(tài),然后根據(jù)視頻緩沖區(qū)的狀態(tài)對視頻緩沖區(qū)中的數(shù)據(jù)分別進(jìn)行處理。
[0066]在本步驟中設(shè)置視頻緩沖區(qū)的狀態(tài)的依據(jù)是:統(tǒng)計當(dāng)前視頻緩沖區(qū)的大小和要設(shè)置的視頻緩沖區(qū)大小的差距,根據(jù)此差值設(shè)置當(dāng)前視頻緩沖區(qū)的狀態(tài)。視頻緩沖區(qū)的狀態(tài)包括:零狀態(tài)、增加狀態(tài)、減少狀態(tài)和同步狀態(tài),對視頻緩沖區(qū)中的數(shù)據(jù)處理也是分四種狀態(tài)分別進(jìn)行處理。對視頻緩沖區(qū)中的數(shù)據(jù)處理不僅僅是實現(xiàn)視頻的快慢放,同時也需要同不機(jī)制區(qū)控制視頻的接受和播放此同步機(jī)制亦可是消息同步機(jī)制,例如在Windows中有信號量,互斥鎖等。
[0067]如圖2所示,具體處理過程包括以下步驟:
[0068]步驟301、更新視頻緩沖區(qū)(FIFO)的狀態(tài)。
[0069]如圖3所示,更新視頻緩沖區(qū)狀態(tài)的處理過程包括以下步驟:
[0070]步驟30101、判斷要設(shè)置的視頻緩沖區(qū)大小不為當(dāng)前視頻緩沖區(qū)大小并且判斷當(dāng)前的狀態(tài)是否為同步狀態(tài),是則執(zhí)行步驟30102,否則執(zhí)行步驟302。
[0071]步驟30102、判斷要設(shè)置的視頻緩沖區(qū)大小是否小于I,是則執(zhí)行步驟30102,否則執(zhí)行步驟30103 ;
[0072]步驟30103、將當(dāng)前視頻緩沖區(qū)的大小設(shè)置為I ;
[0073]步驟30104、判斷當(dāng)前視頻緩沖區(qū)大小是否小于要設(shè)置的視頻緩沖區(qū)大小,是則執(zhí)行步驟30105,否則執(zhí)行步驟30106 ;
[0074]步驟30105、設(shè)置當(dāng)前視頻緩沖區(qū)的狀態(tài)為增加狀態(tài),執(zhí)行步驟30107 ;
[0075]步驟30106、設(shè)置當(dāng)前緩沖區(qū)的狀態(tài)為減少狀態(tài);
[0076]步驟30107、將當(dāng)前視頻緩沖區(qū)大小設(shè)置為要設(shè)置的視頻緩沖區(qū)大小。
[0077]步驟302、判斷當(dāng)前視頻緩沖區(qū)(FIFO)的狀態(tài)是否是零狀態(tài)(當(dāng)前視頻緩沖區(qū)中沒有數(shù)據(jù)),是則執(zhí)行步驟303,否則執(zhí)行步驟304。
[0078]步驟303、零狀態(tài)處理過程。
[0079]如圖4所示,零狀態(tài)處理過程包括以下步驟:
[0080]步驟30301、銷毀視頻播放相關(guān)資源。因為當(dāng)前視頻緩沖區(qū)中沒有數(shù)據(jù),而播放線程的數(shù)據(jù)是從視頻緩沖區(qū)中取出的,同時復(fù)位通知播放線程取數(shù)據(jù)的事件(即告知播放線程不要取數(shù)據(jù)),將信號量當(dāng)前計數(shù)置1,使得信號量處于觸發(fā)狀態(tài)(即告知接受線程可以往FIFO中發(fā)送數(shù)據(jù))。此處的事件機(jī)制是FIFO的同步機(jī)制。
[0081]步驟30302、等待數(shù)據(jù)到來并填充視頻緩沖區(qū),若等待超時(1.5秒)則直接返回步驟2,否則執(zhí)行步驟30303,此處的1.5秒是自定義的。
[0082]步驟30303、將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為增加狀態(tài)后返回步驟2。
[0083]步驟304、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否為增加狀態(tài),如果是執(zhí)行步驟305,否則執(zhí)行步驟306。
[0084]步驟305、增加狀態(tài)處理過程。
[0085]如圖5所示,增加狀態(tài)處理過程包括以下步驟:
[0086]步驟30501、等待數(shù)據(jù)到來并填充視頻緩沖區(qū),若等待超時則直接返回步驟2。
[0087]步驟30502、判斷當(dāng)前視頻緩沖區(qū)的容量大小是否超過或者等于了當(dāng)前視頻緩沖區(qū)大小,如果是,將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為同步狀態(tài)返回步驟2,否則直接返回步驟2,為了避免多個線程同時訪問視頻緩沖區(qū)(FIF0),在此之前需要等待互斥鎖,獲取FIFO的大小然后釋放互斥鎖,以便其他的線程可以訪問FIFO,同時此處也需要FIFO自己的同步機(jī)制同步驟30301 (事件和信號量)。
[0088]步驟306、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否是減少狀態(tài),是則執(zhí)行步驟307,否則執(zhí)行步驟308。
[0089]步驟307、減少狀態(tài)處理過程。
[0090]如圖6所示,減少狀態(tài)處理過程包括以下步驟:
[0091]步驟30701、判斷當(dāng)前視頻緩沖區(qū)的容量大小是否小于或者等于了當(dāng)前視頻緩沖區(qū)大小,如果是執(zhí)行將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為同步狀態(tài)后返回執(zhí)行步驟2,否則執(zhí)行步驟30702。
[0092]步驟30702、根據(jù)時間戳快速播放視頻(同步播放視頻),直到當(dāng)前視頻緩沖區(qū)的容量大小小于或者等于了當(dāng)前視頻緩沖區(qū)大小。
[0093]步驟30704、將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為同步狀態(tài),返回步驟2。
[0094]步驟308、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否是同步狀態(tài),是則執(zhí)行步驟309,否則返回,執(zhí)行步驟2。
[0095]步驟309、同步狀態(tài)處理過程。
[0096]如圖7所示,同步狀態(tài)處理過程包括以下步驟:
[0097]步驟30901、判斷當(dāng)前視頻緩沖區(qū)的大小是否為零,是則執(zhí)行步驟30902,否則執(zhí)行步驟30903。
[0098]步驟30902、設(shè)置當(dāng)前視頻緩沖區(qū)的狀態(tài)為零狀態(tài),或者調(diào)用播放類的刷新界面函數(shù)使得播放畫面不閃爍,返回步驟2。
[0099]步驟30903、取出FIFO中最初的數(shù)據(jù)(即取出FIFO中的起始數(shù)據(jù))。
[0100]步驟30904、若當(dāng)前視頻緩沖區(qū)大小為1,是則執(zhí)行步驟30905,否則執(zhí)行步驟30906。
[0101]步驟30905、直接播放本幀視頻,并等待下一幀數(shù)據(jù)的到來,返回步驟2 ;否則執(zhí)行步驟30907。
[0102]步驟30906、判斷當(dāng)前視頻緩沖區(qū)大小比視頻緩沖區(qū)(FIFO)的大小過大或者過小(這是由于前端的時鐘和PC的時鐘有誤差值不一樣引起的),是則執(zhí)行步驟30907,否則執(zhí)行步驟30908。
[0103]步驟30907、相應(yīng)調(diào)整播放速率(速率不可波動過大)播放所取出的數(shù)據(jù),返回步驟2。
[0104]步驟30908、按時間戳正常播放所取出的數(shù)據(jù),返回步驟2。
[0105]下面一個應(yīng)用實例進(jìn)行說明:視頻緩沖區(qū)中主要存儲一幀幀視頻數(shù)據(jù),該視頻數(shù)據(jù)包含了每幀的時間戳信息。前端采用的是HISI3516芯片外擴(kuò)FLASH,RAM以LINUX為內(nèi)核,BUSYB0X為文件系統(tǒng)的架構(gòu),采集音視頻數(shù)據(jù)。所采集的音視頻數(shù)據(jù)會通過網(wǎng)絡(luò)專遞至計算機(jī)終端,并在計算機(jī)終端上完成視頻預(yù)覽。在視頻預(yù)覽的時候很有可能出現(xiàn)網(wǎng)絡(luò)卡頓,或者碼率比較大的時候視頻比較卡的現(xiàn)象,這時我們就可以按照以上步驟對視頻流進(jìn)行合理的控制以達(dá)到流暢的效果。
[0106]需要強(qiáng)調(diào)的是,本發(fā)明所述的實施例是說明性的,而不是限定性的,因此本發(fā)明包括并不限于【具體實施方式】中所述的實施例,凡是由本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出的其他實施方式,同樣屬于本發(fā)明保護(hù)的范圍。
【權(quán)利要求】
1.一種實時視頻流緩沖的控制方法,其特征在于:包括以下步驟: 步驟1、初始化視頻緩沖池并清空; 步驟2、判斷視頻緩沖線程退出標(biāo)志位,如果為真,則退出此線程,否則執(zhí)行步驟3 ;步驟3、更新視頻緩沖區(qū)的狀態(tài),然后根據(jù)視頻緩沖區(qū)的狀態(tài)對視頻緩沖區(qū)中的數(shù)據(jù)分別進(jìn)行處理。
2.根據(jù)權(quán)利要求1所述的一種實時視頻流緩沖的控制方法,其特征在于:所述步驟3的處理過程為: 步驟301、分析當(dāng)前視頻緩沖區(qū)的大小和要設(shè)置的視頻緩沖區(qū)大小的差距,將視頻緩沖區(qū)的狀態(tài)分別設(shè)置為零狀態(tài)、增加狀態(tài)、減少狀態(tài)或同步狀態(tài); 步驟302、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否是零狀態(tài),是則執(zhí)行步驟303,否則執(zhí)行步驟 304 ; 步驟303、零狀態(tài)處理過程; 步驟304、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否為增加狀態(tài),是則執(zhí)行步驟305,否則執(zhí)行步驟306 ; 步驟305、增加狀態(tài)處理過程; 步驟306、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否是減少狀態(tài),是則執(zhí)行步驟307,否則執(zhí)行步驟308 ; 步驟307、減少狀態(tài)處理過程; 步驟308、判斷當(dāng)前視頻緩沖區(qū)的狀態(tài)是否是同步狀態(tài),是則執(zhí)行步驟309,否則返回,執(zhí)行步驟2 ; 步驟309、同步狀態(tài)處理過程。
3.根據(jù)權(quán)利要求1所述的一種實時視頻流緩沖的控制方法,其特征在于:所述步驟301的處理過程包括以下步驟: 步驟30101、判斷要設(shè)置的視頻緩沖區(qū)大小不為當(dāng)前視頻緩沖區(qū)大小并且判斷當(dāng)前的狀態(tài)是否為同步狀態(tài),是則執(zhí)行步驟30102,否則執(zhí)行步驟302 ; 步驟30102、判斷要設(shè)置的視頻緩沖區(qū)大小是否小于1,是則執(zhí)行步驟30102,否則執(zhí)行步驟30103 ; 步驟30103、將當(dāng)前視頻緩沖區(qū)的大小設(shè)置為I ; 步驟30104、判斷當(dāng)前視頻緩沖區(qū)大小是否小于要設(shè)置的視頻緩沖區(qū)大小,是則執(zhí)行步驟30105,否則執(zhí)行步驟30106 ; 步驟30105、設(shè)置當(dāng)前視頻緩沖區(qū)的狀態(tài)為增加狀態(tài),執(zhí)行步驟30107 ; 步驟30106、設(shè)置當(dāng)前緩沖區(qū)的狀態(tài)為減少狀態(tài); 步驟30107、將當(dāng)前視頻緩沖區(qū)大小設(shè)置為要設(shè)置的視頻緩沖區(qū)大小。
4.根據(jù)權(quán)利要求1所述的一種實時視頻流緩沖的控制方法,其特征在于:所述步驟303的處理過程包括以下步驟: 步驟30301、銷毀視頻播放相關(guān)資源; 步驟30302、等待數(shù)據(jù)到來并填充視頻緩沖區(qū),若等待超時則直接返回步驟2,否則執(zhí)行步驟30303 ; 步驟30303、將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為增加狀態(tài)后返回步驟2。
5.根據(jù)權(quán)利要求1所述的一種實時視頻流緩沖的控制方法,其特征在于:所述步驟305的處理過程包括以下步驟: 步驟30501、等待數(shù)據(jù)到來并填充視頻緩沖區(qū),若等待超時則直接返回步驟2 ; 步驟30502、判斷當(dāng)前視頻緩沖區(qū)的容量大小是否超過或者等于了當(dāng)前視頻緩沖區(qū)大小,是則將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為同步狀態(tài)返回步驟2,否則直接返回步驟2。
6.根據(jù)權(quán)利要求1所述的一種實時視頻流緩沖的控制方法,其特征在于:所述步驟307的處理過程包括以下步驟: 步驟30701、判斷當(dāng)前視頻緩沖區(qū)的容量大小是否小于或者等于了當(dāng)前視頻緩沖區(qū)大小,是則執(zhí)行將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為同步狀態(tài)后返回執(zhí)行步驟2,否則執(zhí)行步驟30702 ; 步驟30702、根據(jù)時間戳快速播放視頻,直到當(dāng)前視頻緩沖區(qū)的容量大小小于或者等于了當(dāng)前視頻緩沖區(qū)大?。? 步驟30704、將當(dāng)前視頻緩沖區(qū)的狀態(tài)設(shè)置為同步狀態(tài),返回步驟2。
7.根據(jù)權(quán)利要求1所述的一種實時視頻流緩沖的控制方法,其特征在于:所述步驟309的處理過程包括以下步驟: 步驟30901、判斷當(dāng)前視頻緩沖區(qū)的大小是否為零,是則執(zhí)行步驟30902,否則執(zhí)行步驟 30903 ; 步驟30902、設(shè)置當(dāng)前視頻緩沖區(qū)的狀態(tài)為零狀態(tài),或者調(diào)用播放類的刷新界面函數(shù)使得播放畫面不閃爍,返回步驟2 ; 步驟30903、取出FIFO中最初的數(shù)據(jù); 步驟30904、若當(dāng)前視頻緩沖區(qū)大小為1,是則執(zhí)行步驟30905,否則執(zhí)行步驟30906 ; 步驟30905、直接播放本幀視頻,并等待下一幀數(shù)據(jù)的到來,返回步驟2 ;否則執(zhí)行步驟30907 ; 步驟30906、判斷當(dāng)前視頻緩沖區(qū)大小比視頻緩沖區(qū)的大小過大或者過小,是則執(zhí)行步驟30907,否則執(zhí)行步驟30908 ; 步驟30907、相應(yīng)調(diào)整播放速率播放所取出的數(shù)據(jù),返回步驟2 ; 步驟30908、按時間戳正常播放所取出的數(shù)據(jù),返回步驟2。
8.根據(jù)權(quán)利要求1至7任一項所述的一種實時視頻流緩沖的控制方法,其特征在于:所述的視頻緩沖區(qū)為所有形式的緩沖隊列。
9.根據(jù)權(quán)利要求8任一項所述的一種實時視頻流緩沖的控制方法,其特征在于:所述的緩沖區(qū)隊列為FIFO的緩沖隊列。
10.根據(jù)權(quán)利要求1至7任一項所述的一種實時視頻流緩沖的控制方法,其特征在于:所述的視頻緩沖池為Vector容器,或者為Deque容器。
【文檔編號】H04N21/438GK103596037SQ201310583422
【公開日】2014年2月19日 申請日期:2013年11月19日 優(yōu)先權(quán)日:2013年11月19日
【發(fā)明者】武付軍, 許龍杰, 王丹 申請人:天津市亞安科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新宁县| 临沂市| 潮安县| 陇川县| 鄢陵县| 涿鹿县| 兴业县| 抚州市| 琼海市| 耒阳市| 德格县| 广安市| 思南县| 浦东新区| 公安县| 巴南区| 井陉县| 北票市| 怀集县| 昭觉县| 湖口县| 万盛区| 屏南县| 二连浩特市| 莲花县| 共和县| 科技| 永善县| 宣汉县| 宜兰县| 宜黄县| 田林县| 南皮县| 资源县| 正蓝旗| 蒙阴县| 崇文区| 错那县| 甘洛县| 昌平区| 通辽市|