專利名稱:一種視頻緩沖區(qū)監(jiān)控的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)視頻點(diǎn)播技術(shù),尤其是涉及一種在播放終端中對視頻緩沖區(qū)監(jiān)控的方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,互聯(lián)網(wǎng)用戶的數(shù)量呈現(xiàn)出指數(shù)級的增長,如此巨大的用戶量成就了很多互聯(lián)網(wǎng)應(yīng)用的發(fā)展,其中網(wǎng)絡(luò)視頻點(diǎn)播(InternetVOD system)應(yīng)用就是其中一個極其重要且非常受歡迎的應(yīng)用。每天都有大量的網(wǎng)絡(luò)用戶通過互聯(lián)網(wǎng)視頻點(diǎn)播 系統(tǒng)點(diǎn)播自己喜歡的視頻內(nèi)容,如電影、電視劇、音樂等內(nèi)容,甚至有趨勢表明此種用戶習(xí)慣可能在不久的將來代替?zhèn)鹘y(tǒng)的通過有線電視網(wǎng)絡(luò)收看視頻內(nèi)容的習(xí)慣。有著如此大的用戶量及如此大的互聯(lián)網(wǎng)流量開銷,視頻點(diǎn)播過程中用戶的體驗就成為了一個極其重要的考量因素,無論是互聯(lián)網(wǎng)內(nèi)容服務(wù)提供端還是視頻點(diǎn)播的播放終端,都需要從自身的角度去提高和優(yōu)化視頻點(diǎn)播系統(tǒng)給用戶帶來的實際應(yīng)用體驗?,F(xiàn)今視頻點(diǎn)播系統(tǒng)中,互聯(lián)網(wǎng)內(nèi)容服務(wù)提供端采用了增加服務(wù)器增加互聯(lián)網(wǎng)帶寬的方式來確保用戶點(diǎn)播過程中的流暢程度,這種方式提升了用戶視頻點(diǎn)播的播放效果體驗,但僅僅靠這些還是難以達(dá)到最好的效果,視頻點(diǎn)播的播放終端上也需要做相應(yīng)的優(yōu)化工作。目前網(wǎng)絡(luò)視頻點(diǎn)播系統(tǒng)大部分都采用服務(wù)器-播放器的模式,服務(wù)器與播放器之間的數(shù)據(jù)傳輸采用HTTP的方式進(jìn)行,當(dāng)服務(wù)器與播放器之間網(wǎng)絡(luò)數(shù)據(jù)傳輸不通暢或速率較低時就會表現(xiàn)出播放畫面的斷斷續(xù)續(xù),用戶觀感很差,出現(xiàn)這種現(xiàn)象的原因就在于播放終端無法對其視頻緩沖區(qū)進(jìn)行實時監(jiān)控,因而無法在視頻緩沖區(qū)數(shù)據(jù)不足的情況下提前暫停播放并給出適當(dāng)?shù)奶崾窘o用戶。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有網(wǎng)絡(luò)視頻點(diǎn)播系統(tǒng)中視頻播放終端無法對其視頻緩沖區(qū)進(jìn)行實時監(jiān)控,導(dǎo)致播放過程出現(xiàn)畫面斷斷續(xù)續(xù),用戶觀看體驗不佳的缺陷,本發(fā)明提出了一種在播放終端中對視頻緩沖區(qū)進(jìn)行實時監(jiān)控的方法,通過該方法的實施,可以解決視頻播放過程中當(dāng)網(wǎng)絡(luò)狀態(tài)不佳的情況下播放畫面斷斷續(xù)續(xù)的缺陷,提升用戶觀看體驗,減少用戶的誤操作。本發(fā)明采用的技術(shù)方案如下一種視頻緩沖區(qū)監(jiān)控的方法包括步驟I :播放終端以HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的URL地址為參數(shù),啟動總調(diào)度器程序,總調(diào)度器程序啟動后將URL地址進(jìn)行本地保存;步驟2 :總調(diào)度器選取和設(shè)定本地HTTP服務(wù)器的服務(wù)端口地址,并啟動本地HTTP服務(wù)器進(jìn)行HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的下載;步驟3 :總調(diào)度器以網(wǎng)絡(luò)環(huán)回地址和本地HTTP服務(wù)器端口地址構(gòu)造出新的本地URL地址,并以此新本地URL地址為參數(shù),采用系統(tǒng)(Windows或Linux)通用的程序啟動方式啟動播放器程序和實時緩沖監(jiān)控器程序;步驟4 :播放器啟動后通過請求本地HTTP服務(wù)器獲得視頻數(shù)據(jù)并進(jìn)行解碼播放;步驟5 :實時緩沖監(jiān)控器啟動后,實時獲取本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)量,并對當(dāng)前視頻數(shù)據(jù)量大小進(jìn)行數(shù)據(jù)量監(jiān)控,以及通過總調(diào)度器控制播放器當(dāng)前狀態(tài)。所述步驟2中總調(diào)度器選取和設(shè)定本地HTTP服務(wù)器服務(wù)端口地址的過程是步驟21 :設(shè)定本地HTTP服務(wù)器端口號起始閾值為Π P ;步驟22 :以Π P為種子調(diào)用本地HTTP服務(wù)器提供的偽隨機(jī)數(shù)產(chǎn)生接口 randomO,生成一個偽隨機(jī)數(shù)Y,此時本地HTTP服務(wù)器端口號P= Π p+ Y ;步驟23 :采用通用的網(wǎng)絡(luò)訪問方式檢測網(wǎng)絡(luò)環(huán)回地址的端口 P,若端口 P網(wǎng)絡(luò)訪問不可達(dá),則設(shè)定該端口號P為服務(wù)端口號;若端口 P訪問可達(dá),則說明該端口已經(jīng)被其他應(yīng) 用程序所占用,為了避免端口沖突而造成本地HTTP網(wǎng)絡(luò)服務(wù)無法正常提供,重新生成服務(wù)器端口號P,直到獲取到一個網(wǎng)絡(luò)訪問不可達(dá)的端口號P為止。所述步驟4中播放器啟動后通過請求本地HTTP服務(wù)器獲得視頻數(shù)據(jù)具體過程是播放器通過總調(diào)度器主動發(fā)送請求數(shù)據(jù)命令給本地HTTP服務(wù)器,本地HTTP服務(wù)器通過總調(diào)度器接收到請求命令后,發(fā)送從視頻數(shù)據(jù)給播放器。所述步驟3中新本地URL地址格式是HTTP協(xié)議標(biāo)簽頭+網(wǎng)絡(luò)環(huán)回地址+冒號+本地HTTP服務(wù)器端口號+本地HTTP服務(wù)器視頻路徑。所述步驟5中本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)量計算具體過程是步驟51 :獲取當(dāng)前本地HTTP服務(wù)器緩沖區(qū)總數(shù)據(jù)量Π z,單位為字節(jié);步驟52 :獲取當(dāng)前播放器讀取數(shù)據(jù)起始位置Π r及數(shù)據(jù)量Π s,單位為字節(jié);步驟53 :則本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量Θ a= Π ζ_ Π r_ Π S,單位為字節(jié)。所述步驟5中實時緩沖監(jiān)控器啟動后,實時獲取本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)量并對當(dāng)前視頻數(shù)據(jù)量大小進(jìn)行監(jiān)控,以及通過總調(diào)度器控制播放器當(dāng)前狀態(tài)具體過程是步驟511 :設(shè)置實時緩沖監(jiān)控器訪問本地HTTP服務(wù)器緩沖區(qū)間隔時間為Π t,實時緩沖監(jiān)控器每隔Π t并以HTTP協(xié)議方式通過總調(diào)度器向本地HTTP服務(wù)器請求獲取緩沖區(qū)數(shù)據(jù),實時緩沖監(jiān)控器設(shè)定緩沖區(qū)最小緩沖閾值θη;步驟512 :實時緩沖監(jiān)控器獲取本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)并計算當(dāng)前視頻數(shù)據(jù)量,若本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量低于最小緩沖閾值θ η時,實時緩沖監(jiān)控器發(fā)送暫停命令給總調(diào)度器,總調(diào)度器控制播放器進(jìn)入暫停播放狀態(tài);若本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量不低于最小緩沖閾值θ η時,實時緩沖監(jiān)控器發(fā)送播放命令給總調(diào)度器,則總調(diào)度器控制播放器處于播放狀態(tài)。一種視頻緩沖區(qū)監(jiān)控裝置包括本地HTTP服務(wù)器、實時緩沖監(jiān)控器、總調(diào)度器、播放器,本地HTTP服務(wù)器,用于將HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)下載到本地HTTP服務(wù)器緩沖區(qū),并提供本地HTTP視頻數(shù)據(jù)服務(wù)功能;實時緩沖監(jiān)控器,用于實時獲取本地HTTP服務(wù)器緩沖區(qū)的視頻數(shù)據(jù),并進(jìn)行當(dāng)前視頻數(shù)據(jù)量大小的監(jiān)控,然后通過總調(diào)度器發(fā)送控制命令控制播放器當(dāng)前狀態(tài);
播放器,用于通過總調(diào)度器獲取本地HTTP服務(wù)器下載的視頻數(shù)據(jù)并進(jìn)行解碼播放,同時通過實時緩沖監(jiān)控器進(jìn)行狀態(tài)控制;總調(diào)度器,用于啟動和調(diào)度本地HTTP服務(wù)器、播放器以及實時緩沖監(jiān)控器,從而實現(xiàn)HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的播放及實時控制功能。所述總調(diào)度器啟動和調(diào)度本地HTTP服務(wù)器、播放器、實時緩沖監(jiān)控器工作之前還包括啟動總調(diào)度器,具體啟動過程是播放終端基于HTTP協(xié)議以HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的URL地址為參數(shù)啟動總調(diào)度器,并保存URL地址。所述總調(diào)度器在調(diào)度實時緩沖監(jiān)控器具體過程實時緩沖監(jiān)控器間隔時間Π t發(fā)送請求獲取本地HTTP服務(wù)器數(shù)據(jù)的請求,通過總調(diào)度器發(fā)送至本地HTTP服務(wù)器,本地HTTP服務(wù)器獲取請求命令后通過總調(diào)度器返回本地HTTP服務(wù)器緩沖區(qū)的視頻數(shù)據(jù)量;實時緩沖監(jiān)控器通過對本地HTTP服務(wù)器緩沖區(qū)數(shù)視頻數(shù)據(jù)量與其設(shè)定的閾值進(jìn)行比較來控制播放器播放狀態(tài)。
所述總調(diào)度器在調(diào)度本地HTTP服務(wù)器工作具體過程是本地HTTP服務(wù)器通過總調(diào)度器接收到實時緩沖監(jiān)控器的請求數(shù)據(jù)命令后,通過總調(diào)度器返回當(dāng)前本地HTTP服務(wù)器緩沖區(qū)視頻數(shù)據(jù)給實時緩沖監(jiān)控器。綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是I、通過總調(diào)度器調(diào)度本地HTTP服務(wù)器、播放器、實時緩沖監(jiān)控器協(xié)同配合,通過實時緩沖監(jiān)控器間接對本地HTTP服務(wù)器緩沖區(qū)數(shù)據(jù)量進(jìn)行的實時監(jiān)控,使得可以在本地HTTP服務(wù)器緩沖區(qū)數(shù)據(jù)不足的情況下,提前暫停播放并由此可以用戶適當(dāng)?shù)奶崾荆?、可以通過總調(diào)度器動態(tài)獲取本地HTTP服務(wù)器的端口地址,方便數(shù)據(jù)的下載和傳輸;3、實時緩沖監(jiān)控器間接獲取本地HTTP服務(wù)器流量并與其設(shè)置的閾值進(jìn)行實時比較,能提前給總調(diào)度器實時提供控制播放器暫?;蛘卟シ诺目刂泼睿層脩籼崆爸辣镜豀TTP服務(wù)器當(dāng)前的數(shù)據(jù)量。
本發(fā)明將通過例子并參照附圖的方式說明,其中圖I本發(fā)明裝置的原理框圖。圖2本發(fā)明運(yùn)行狀態(tài)轉(zhuǎn)移圖。
具體實施例方式本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。本發(fā)明相關(guān)說明I、播放終端包括硬件平臺、軟件運(yùn)行的操作系統(tǒng)以及本設(shè)計的視頻緩沖區(qū)實時監(jiān)控裝置及其他的模塊,硬件平臺提供軟件運(yùn)行的硬件環(huán)境,軟件運(yùn)行的操作系統(tǒng)如LINUX、WINDOWS等,其負(fù)責(zé)為應(yīng)用軟件提供軟件運(yùn)行平臺,本設(shè)計的視頻緩沖區(qū)實時監(jiān)控裝置及其他軟件模塊是運(yùn)行于操作系統(tǒng)之上的程序;2、設(shè)備的網(wǎng)絡(luò)環(huán)回地址是由TCP/IP協(xié)議所定義的,本發(fā)明涉及到的HTTP協(xié)議,是基于TCP/IP協(xié)議之上的一種應(yīng)用層協(xié)議。3、網(wǎng)絡(luò)訪問方式例如采用PING的方式。4、如圖I中所示的HTTP網(wǎng)絡(luò)文件服務(wù)器,是互聯(lián)網(wǎng)上提供網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)的網(wǎng)站,如優(yōu)酷、土豆、愛奇藝等,HTTP網(wǎng)絡(luò)文件服務(wù)器上保存了所有其提供服務(wù)的網(wǎng)絡(luò)視頻數(shù)據(jù)的URL地址,本發(fā)明的播放終端系統(tǒng)通過HTTP協(xié)議與HTTP網(wǎng)絡(luò)文件服務(wù)器進(jìn)行交互,獲取到想要點(diǎn)播的網(wǎng)絡(luò)視頻數(shù)據(jù)的URL地址,本發(fā)明的播放終端在獲取到HTTP網(wǎng)絡(luò)文件服務(wù)器網(wǎng)絡(luò)視頻數(shù)據(jù)的URL地址之后,會以此URL地址為參數(shù)啟動總調(diào)度器程序,并通過總調(diào)度器啟動其他三個程序,實現(xiàn)網(wǎng)絡(luò)視頻的播放和實時控制;5、所述本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量不低于最小緩沖閾值Θ n時,實時緩沖 監(jiān)控器發(fā)送播放命令給總調(diào)度器,若播放器當(dāng)前處于暫停狀態(tài),則總調(diào)度器控制播放器進(jìn)入播放狀態(tài);若播放器當(dāng)前處于正常播放狀態(tài),則總調(diào)度器直接丟棄播放控制命令不做任務(wù)處理;6、步驟3中總調(diào)度器啟動播放器和實時緩沖監(jiān)控器具體過程是總調(diào)度器以新的URL地址為輸入?yún)?shù),采用系統(tǒng)(Windows或Linux)啟動程序的通用方式啟動播放器程序及實時緩沖監(jiān)控器程序;7、本地HTTP服務(wù)器作用可下載HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)內(nèi)容。本地HTTP服務(wù)器中本身不具有任何視頻內(nèi)容數(shù)據(jù),其內(nèi)容數(shù)據(jù)來源于其從HTTP網(wǎng)絡(luò)文件服務(wù)器中下載到視頻數(shù)據(jù)。本地HTTP服務(wù)器通過設(shè)備自身的網(wǎng)絡(luò)環(huán)回地址(127. O. O. I)向本地提供HTTP數(shù)據(jù)服務(wù)。網(wǎng)絡(luò)環(huán)回地址是一個公共的服務(wù)器地址,為了避免與其他程序的沖突,有必要對其服務(wù)端口進(jìn)行選擇和設(shè)定,本發(fā)明采用如下的方法來選取和設(shè)定本地HTTP服務(wù)器的服務(wù)端口號①設(shè)定端口號起始閾值,本發(fā)明中用Π P表示;②以Π P為種子調(diào)用本地HTTP服務(wù)器提供的偽隨機(jī)數(shù)產(chǎn)生接口 randomO,生成一個偽隨機(jī)數(shù)Y,此時服務(wù)器端口號P=TI P+Y ;③采用通用的網(wǎng)絡(luò)訪問方式(如PING的方式)檢測網(wǎng)絡(luò)環(huán)回地址的端口 P,若端口P不可達(dá),則設(shè)定該端口號P為服務(wù)端口號;若端口 P訪問可達(dá),則說明該端口已經(jīng)被其他應(yīng)用程序所占用,為了避免端口沖突而造成本地HTTP網(wǎng)絡(luò)服務(wù)無法正常提供,重新生成服務(wù)器端口號P,直到獲取到一個網(wǎng)絡(luò)訪問不可達(dá)的端口號P為止。本地HTTP服務(wù)器還向外提供緩沖區(qū)數(shù)據(jù)量信息,具體計算方法如下①獲取當(dāng)前本地HTTP服務(wù)器緩沖區(qū)總數(shù)據(jù)量Π z,單位為字節(jié);②獲取當(dāng)前播放器讀取數(shù)據(jù)起始位置Π r及數(shù)據(jù)量Π S,單位為字節(jié);③得出當(dāng)前緩沖區(qū)數(shù)據(jù)量Θ a= Π Z- Π r- Π S,單位為字節(jié);8、實時緩沖監(jiān)控器作用實時緩沖監(jiān)控器是一個HTTP的客戶端,負(fù)責(zé)在視頻播放過程中實時獲取到本地HTTP服務(wù)器緩沖區(qū)數(shù)據(jù)量。實時緩沖監(jiān)控器與本地HTTP服務(wù)器之間采用HTTP的方式來交互信息,實時緩沖監(jiān)控器訪問本地HTTP服務(wù)器的時間間隔設(shè)置為Π t毫秒,每隔Π t毫秒獲取一次本地HTTP服務(wù)器緩沖區(qū)的數(shù)據(jù)量0a,若0a的值小于緩沖區(qū)監(jiān)控的最小值θ n,實時緩沖區(qū)監(jiān)控器發(fā)送消息到總調(diào)度器,告知播放器數(shù)據(jù)量不夠暫停播放,若θη的值大于或等于緩沖區(qū)監(jiān)控的最小值則發(fā)送消息告知總調(diào)度器緩沖區(qū)數(shù)據(jù)量足夠,總調(diào)度器根據(jù)播放器狀態(tài)來恢復(fù)正常播放狀態(tài)。9、播放器作用負(fù)責(zé)通過總調(diào)度器間接從本地HTTP服務(wù)器處請求數(shù)據(jù),并進(jìn)行解碼播放。播放器與本地HTTP服務(wù)器之間采用標(biāo)準(zhǔn)的HTTP方式進(jìn)行通信。播放器會接收緩沖區(qū)監(jiān)控器的提示信息,并進(jìn)行相應(yīng)的暫停播放和恢復(fù)播放的操作。10、總調(diào)度器作用負(fù)責(zé)前三部分之間的協(xié)同配合,包括本地HTTP服務(wù)器的啟動和停止控制、實時緩沖監(jiān)控器的啟動和退出控制以及播放器的啟動、暫停、恢復(fù)、退出等控制功能,并接收實時 緩沖監(jiān)控器發(fā)來的消息。通過總調(diào)度器的調(diào)度與控制完成三者之間的完美配合和協(xié)同,形成一個完整的視頻點(diǎn)播終端系統(tǒng)。實施例一一種播放終端視頻緩沖區(qū)監(jiān)控的方法包括播放終端基于HTTP協(xié)議以HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的URL地址為參數(shù),啟動總調(diào)度器程序,總調(diào)度器程序啟動時將URL地址進(jìn)行本地保存;步驟2 :總調(diào)度器選取和設(shè)定本地HTTP服務(wù)器的服務(wù)端口地址,并啟動本地HTTP服務(wù)器進(jìn)行HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的下載;步驟3 :總調(diào)度器以網(wǎng)絡(luò)環(huán)回地址和本地HTTP服務(wù)器端口地址構(gòu)造出新的本地URL地址,并以此新本地URL地址為參數(shù),采用系統(tǒng)(Windows或Linux)通用的程序啟動方式啟動播放器程序和實時緩沖監(jiān)控器程序;步驟4 :播放器啟動后通過請求本地HTTP服務(wù)器獲得視頻數(shù)據(jù)并進(jìn)行解碼播放;步驟5 :實時緩沖監(jiān)控器啟動后,實時獲取本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)量,并對當(dāng)前視頻數(shù)據(jù)量大小進(jìn)行數(shù)據(jù)量監(jiān)控,以及通過總調(diào)度器控制播放器當(dāng)前狀態(tài)。實施例二 在實施例一基礎(chǔ)行,所述步驟2中總調(diào)度器選取和設(shè)定本地HTTP服務(wù)器服務(wù)端口地址的過程是步驟21 :設(shè)定本地HTTP服務(wù)器端口號起始閾值為Π P ;步驟22 :以Π P為種子調(diào)用本地HTTP服務(wù)器提供的偽隨機(jī)數(shù)產(chǎn)生接口 randomO,生成一個偽隨機(jī)數(shù)Y,此時本地HTTP服務(wù)器端口號P= Π p+ Y ;步驟23 :采用通用的網(wǎng)絡(luò)訪問方式檢測網(wǎng)絡(luò)環(huán)回地址的端口 P,若端口 P網(wǎng)絡(luò)訪問不可達(dá),則設(shè)定該端口號P為服務(wù)端口號;若端口 P訪問可達(dá),則說明該端口已經(jīng)被其他應(yīng)用程序所占用,為了避免端口沖突而造成本地HTTP網(wǎng)絡(luò)服務(wù)無法正常提供,重新生成服務(wù)器端口號P,直到獲取到一個網(wǎng)絡(luò)訪問不可達(dá)的端口號P為止。實施例三在實施例一或二基礎(chǔ)上,所述步驟4中播放器啟動后通過請求本地HTTP服務(wù)器獲得視頻數(shù)據(jù)具體過程是播放器通過總調(diào)度器主動發(fā)送請求數(shù)據(jù)命令給本地HTTP服務(wù)器,本地HTTP服務(wù)器通過總調(diào)度器接收到請求命令后,發(fā)送從視頻數(shù)據(jù)給播放器。實施例四在實施例一至三之一基礎(chǔ)上,所述步驟3中新本地URL地址格式是HTTP協(xié)議標(biāo)簽頭+網(wǎng)絡(luò)環(huán)回地址+冒號+本地HTTP服務(wù)器端口號+本地HTTP服務(wù)器視頻路徑,如 http ://127. 0.0.1:15678/fcwr. avi。實施例五在實施例一至四之一基礎(chǔ)上,所述步驟5中本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)量計算具體過程是步驟51 :獲取當(dāng)前本地HTTP服務(wù)器緩沖區(qū)總數(shù)據(jù)量Π z,單位為字節(jié);步驟52 :獲取當(dāng)前播放器讀取數(shù)據(jù)起始位置Π r及數(shù)據(jù)量Π s,單位為字節(jié);步驟53 :則本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量Θ a= Π ζ_ Π r_ Π S,單位為字 節(jié)。實施例六在實施例一至五之一基礎(chǔ)上,所述步驟5中實時緩沖監(jiān)控器啟動后,實時獲取本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)量并對當(dāng)前視頻數(shù)據(jù)量大小進(jìn)行監(jiān)控,以及通過總調(diào)度器控制播放器當(dāng)前狀態(tài)具體過程是 步驟511 :設(shè)置實時緩沖監(jiān)控器訪問本地HTTP服務(wù)器緩沖區(qū)間隔時間為Π t,實時緩沖監(jiān)控器每隔Π t并以HTTP協(xié)議方式通過總調(diào)度器向本地HTTP服務(wù)器請求獲取緩沖區(qū)數(shù)據(jù),實時緩沖監(jiān)控器設(shè)定緩沖區(qū)最小緩沖閾值θη;步驟512 :實時緩沖監(jiān)控器獲取本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)并計算當(dāng)前視頻數(shù)據(jù)量,若本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量低于最小緩沖閾值θ η時,實時緩沖監(jiān)控器發(fā)送暫停命令給總調(diào)度器,總調(diào)度器控制播放器進(jìn)入暫停播放狀態(tài);若本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量不低于最小緩沖閾值θ η時,實時緩沖監(jiān)控器發(fā)送播放命令給總調(diào)度器,則總調(diào)度器控制播放器處于播放狀態(tài)。實施例七在實施例一上,一種播放終端視頻緩沖區(qū)監(jiān)控裝置包括本地HTTP服務(wù)器、實時緩沖監(jiān)控器、總調(diào)度器、播放器,本地HTTP服務(wù)器,用于將HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)下載到本地HTTP服務(wù)器緩沖區(qū),并提供本地HTTP視頻數(shù)據(jù)服務(wù)功能;實時緩沖監(jiān)控器,用于實時獲取本地HTTP服務(wù)器緩沖區(qū)的視頻數(shù)據(jù),并進(jìn)行當(dāng)前視頻數(shù)據(jù)量大小的監(jiān)控,然后通過總調(diào)度器發(fā)送控制命令控制播放器當(dāng)前狀態(tài);播放器,用于通過總調(diào)度器獲取本地HTTP服務(wù)器下載的視頻數(shù)據(jù)并進(jìn)行解碼播放,同時通過實時緩沖監(jiān)控器進(jìn)行狀態(tài)控制;總調(diào)度器,用于啟動和調(diào)度本地HTTP服務(wù)器、播放器以及實時緩沖監(jiān)控器,從而實現(xiàn)HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的播放及實時控制功能。實施例八在實施例一或七之一基礎(chǔ)上,所述總調(diào)度器啟動和調(diào)度本地HTTP服務(wù)器、播放器、實時緩沖監(jiān)控器工作之前還包括啟動總調(diào)度器,具體啟動過程是播放終端基于HTTP協(xié)議以HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的URL地址為參數(shù)啟動總調(diào)度器,并保存URL地址。實施例九在實施例一、七或八之一基礎(chǔ)上,所述總調(diào)度器在調(diào)度實時緩沖監(jiān)控器具體過程實時緩沖監(jiān)控器間隔時間Π t發(fā)送請求獲取本地HTTP服務(wù)器數(shù)據(jù)的請求,通過總調(diào)度器發(fā)送至本地HTTP服務(wù)器。實施十在實施例一、七、八或九之一基礎(chǔ)上,所述總調(diào)度器在調(diào)度本地HTTP服務(wù)器工作具體過程是本地HTTP服務(wù)器通過總調(diào)度器接收到實時緩沖監(jiān)控器的請求數(shù)據(jù)命令后,通過總調(diào)度器返回當(dāng)前本地HTTP服務(wù)器緩沖區(qū)視頻數(shù)據(jù)給實時緩沖監(jiān)控器。優(yōu)選實施例如附圖2所示,是本發(fā)明運(yùn)行狀態(tài)轉(zhuǎn)移示意圖,下面結(jié)合該示意圖對本發(fā)明的具體實施方式
說明如下步驟I :點(diǎn)播HTTP網(wǎng)絡(luò)文件服務(wù)器上的名叫“非誠勿擾”的電影(網(wǎng)絡(luò)視頻數(shù)據(jù)的),獲取到其URL地址為http://www. movie, com/movie/fcwr. avi,以該URL地址為輸入?yún)?shù),采用通用的程序啟動方式啟動總調(diào)度器程序,總調(diào)度器啟動運(yùn)行并對輸入的URL地址進(jìn)行保存;步驟2 :總調(diào)度器設(shè)定端口號的起始閾值Π P為10000,并以Π P值為種子調(diào)用本地HTTP服務(wù)器提供的偽隨機(jī)數(shù)產(chǎn)生接口 random O接口生成一個偽隨機(jī)數(shù)γ=5678,計算得出端口號Ρ=15678,總調(diào)度器采用通用的網(wǎng)絡(luò)訪問檢測方式(比如PING的方式)檢測出端口 P (值為15678)不可達(dá),說明總調(diào)度器確定端口號P (值為15678)有效,并將此值進(jìn)行保存;步驟3 :總調(diào)度器以步驟I的URL地址及步驟2的服務(wù)端口 P為參數(shù),采用通用的程序啟動方式啟動本地HTTP服務(wù)器,本地HTTP服務(wù)器啟動后開始從網(wǎng)絡(luò)下載視頻數(shù)據(jù)到 本地HTTP服務(wù)器的數(shù)據(jù)緩沖區(qū),并同時開啟本地HTTP服務(wù);步驟4 :總調(diào)度器以網(wǎng)絡(luò)環(huán)回地址(127. O. O. I )、服務(wù)端口號P以及網(wǎng)絡(luò)URL地址構(gòu)造出本地HTTP服務(wù)器的數(shù)據(jù)服務(wù)URL地址,即“http ://127. O. O. 1:15678/movie/fcwr.avi",總調(diào)度器以此新URL地址為參數(shù),采用系統(tǒng)(Windows或Linux)通用的程序啟動方式啟動視頻播放器程序。步驟5 :總調(diào)度器以步驟4中構(gòu)造出的新URL為參數(shù),采用通用的程序啟動方式啟動實時緩沖監(jiān)控器程序。步驟6 :根據(jù)步驟4,播放器啟動后,開始通過HTTP的方式向本地HTTP服務(wù)器請求視頻數(shù)據(jù),并在獲取到足夠數(shù)據(jù)后啟動解碼播放,并可隨時接受總調(diào)度器的播放控制命令;步驟7 :根據(jù)步驟5,實時緩沖監(jiān)控器設(shè)定訪問間隔時間Π t=500ms,每隔500ms向通過HTTP的方式向本地HTTP服務(wù)器請求緩沖數(shù)據(jù)量信息。實時緩沖監(jiān)控器設(shè)定緩沖區(qū)最小緩沖閾值θη=512Κ字節(jié)。步驟8 :根據(jù)步驟8,當(dāng)實時緩沖監(jiān)控器獲取到緩沖數(shù)據(jù)量低于閾值時,會發(fā)送數(shù)據(jù)量不夠的消息到總調(diào)度器,總調(diào)度器控制播放器進(jìn)入暫停播放狀態(tài),并在UI界面上提示用戶播放器正在緩沖數(shù)據(jù)請等待。步驟9 :根據(jù)在步驟7,當(dāng)實時緩沖監(jiān)控器獲取到緩沖數(shù)據(jù)量高于閾值時,實時緩沖監(jiān)控器會發(fā)送數(shù)據(jù)量足夠的消息到總調(diào)度器,若播放器當(dāng)前處于暫停狀態(tài),則總調(diào)度器恢復(fù)播放器進(jìn)入正常播放狀態(tài);步驟10 :以上步驟6、7、8、9在系統(tǒng)運(yùn)行起來后一直循環(huán)運(yùn)行,直至點(diǎn)播終端系統(tǒng)退出播放。本發(fā)明并不局限于前述的具體實施方式
。本發(fā)明擴(kuò)展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。
權(quán)利要求
1.一種視頻緩沖區(qū)監(jiān)控的方法,其特征在于包括 步驟I :播放終端基于HTTP協(xié)議以HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的URL地址為參數(shù),啟動總調(diào)度器程序,總調(diào)度器程序啟動時將URL地址進(jìn)行本地保存; 步驟2 :總調(diào)度器選取和設(shè)定本地HTTP服務(wù)器的服務(wù)端口地址,并啟動本地HTTP服務(wù)器進(jìn)行HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的下載; 步驟3 :總調(diào)度器以網(wǎng)絡(luò)環(huán)回地址和本地HTTP服務(wù)器端口地址構(gòu)造出新的本地URL地址,并以此新本地URL地址為參數(shù),采用通用的程序啟動方式啟動播放器程序和實時緩沖監(jiān)控器程序; 步驟4 :播放器啟動后通過請求本地HTTP服務(wù)器獲得視頻數(shù)據(jù)并進(jìn)行解碼播放; 步驟5 :實時緩沖監(jiān)控器啟動后,實時獲取本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)量,并對當(dāng)前視頻數(shù)據(jù)量大小進(jìn)行數(shù)據(jù)量監(jiān)控,以及通過總調(diào)度器控制播放器當(dāng)前狀態(tài)。
2.根據(jù)權(quán)利要求I所述的一種視頻緩沖區(qū)監(jiān)控的方法,其特征在于所述步 驟2中總調(diào)度器選取和設(shè)定本地HTTP服務(wù)器服務(wù)端口地址的過程是 步驟21 :設(shè)定本地HTTP服務(wù)器端口號起始閾值為TI p ; 步驟22 :以TI p為種子調(diào)用本地HTTP服務(wù)器提供的偽隨機(jī)數(shù)產(chǎn)生接口 randomO,生成一個偽隨機(jī)數(shù)Y,此時本地HTTP服務(wù)器端口號P= TI p+ Y ; 步驟23 :采用通用的網(wǎng)絡(luò)訪問方式檢測網(wǎng)絡(luò)環(huán)回地址的端口 P,若端口 P網(wǎng)絡(luò)訪問不可達(dá),則設(shè)定該端口號P為服務(wù)端口號;若端口 P訪問可達(dá),則說明該端口已經(jīng)被其他應(yīng)用程序所占用,為了避免端口沖突而造成本地HTTP網(wǎng)絡(luò)服務(wù)無法正常提供,重新生成服務(wù)器端口號P,直到獲取到一個網(wǎng)絡(luò)訪問不可達(dá)的端口號P為止。
3.根據(jù)權(quán)利要求2所述的一種視頻緩沖區(qū)監(jiān)控的方法,其特征在于所述步驟4中播放器啟動后通過請求本地HTTP服務(wù)器獲得視頻數(shù)據(jù)具體過程是播放器通過總調(diào)度器主動發(fā)送請求數(shù)據(jù)命令給本地HTTP服務(wù)器,本地HTTP服務(wù)器通過總調(diào)度器接收到請求命令后,發(fā)送從視頻數(shù)據(jù)給播放器。
4.根據(jù)權(quán)利要求3所述的一種視頻緩沖區(qū)監(jiān)控的方法,其特征在于所述步驟3中新本地URL地址格式是HTTP協(xié)議標(biāo)簽頭+網(wǎng)絡(luò)環(huán)回地址+冒號+本地HTTP服務(wù)器端口號+本地HTTP服務(wù)器視頻路徑。
5.根據(jù)權(quán)利要求4所述的一種視頻緩沖區(qū)監(jiān)控的方法,其特征在于所述步驟5中本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)量計算具體過程是 步驟51 :獲取當(dāng)前本地HTTP服務(wù)器緩沖區(qū)總數(shù)據(jù)量TI z,單位為字節(jié); 步驟52 :獲取當(dāng)前播放器讀取數(shù)據(jù)起始位置TI r及數(shù)據(jù)量TI S,單位為字節(jié); 步驟53 :則本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量0 a= TI Z- TI r- TI S,單位為字節(jié)。
6.根據(jù)權(quán)利要求5所述的一種視頻緩沖區(qū)監(jiān)控的方法,其特征在于所述步驟5中實時緩沖監(jiān)控器啟動后,實時獲取本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)量并對當(dāng)前視頻數(shù)據(jù)量大小進(jìn)行監(jiān)控,以及通過總調(diào)度器控制播放器當(dāng)前狀態(tài)具體過程是 步驟511 :設(shè)置實時緩沖監(jiān)控器訪問本地HTTP服務(wù)器緩沖區(qū)間隔時間為TI t,實時緩沖監(jiān)控器每隔TI t并以HTTP協(xié)議方式通過總調(diào)度器向本地HTTP服務(wù)器請求獲取緩沖區(qū)數(shù)據(jù),實時緩沖監(jiān)控器設(shè)定緩沖區(qū)最小緩沖閾值Qn ; 步驟512 :實時緩沖監(jiān)控器獲取本地HTTP服務(wù)器緩沖區(qū)當(dāng)前視頻數(shù)據(jù)并計算當(dāng)前視頻數(shù)據(jù)量,若本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量低于最小緩沖閾值en時,實時緩沖監(jiān)控器發(fā)送暫停命令給總調(diào)度器,總調(diào)度器控制播放器進(jìn)入暫停播放狀態(tài);若本地HTTP服務(wù)器緩沖區(qū)當(dāng)前數(shù)據(jù)量不低于最小緩沖閾值0 n時,實時緩沖監(jiān)控器發(fā)送播放命令給總調(diào)度器,則總調(diào)度器控制播放器處于播放狀態(tài)。
7.根據(jù)權(quán)利要求I所述的一種視頻緩沖區(qū)監(jiān)控裝置,其特征在于包括本地HTTP服務(wù)器、實時緩沖監(jiān)控器、總調(diào)度器、播放器, 本地HTTP服務(wù)器,用于將HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)下載到本地HTTP服務(wù)器緩沖區(qū),并提供本地HTTP視頻數(shù)據(jù)服務(wù)功能; 實時緩沖監(jiān)控器,用于實時獲取本地HTTP服務(wù)器緩沖區(qū)的視頻數(shù)據(jù),并進(jìn)行當(dāng)前視頻 數(shù)據(jù)量大小的監(jiān)控,然后通過總調(diào)度器發(fā)送控制命令控制播放器當(dāng)前狀態(tài); 播放器,用于通過總調(diào)度器獲取本地HTTP服務(wù)器下載的視頻數(shù)據(jù)并進(jìn)行解碼播放,同時通過實時緩沖監(jiān)控器進(jìn)行狀態(tài)控制; 總調(diào)度器,用于啟動和調(diào)度本地HTTP服務(wù)器、播放器以及實時緩沖監(jiān)控器,從而實現(xiàn)HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的播放及實時控制功能。
8.根據(jù)權(quán)利要求7所述的一種視頻緩沖區(qū)監(jiān)控裝置,其特征在于所述總調(diào)度器啟動和調(diào)度本地HTTP服務(wù)器、播放器、實時緩沖監(jiān)控器工作之前還包括啟動總調(diào)度器,具體啟動過程是播放終端基于HTTP協(xié)議以HTTP網(wǎng)絡(luò)文件服務(wù)器視頻數(shù)據(jù)的URL地址為參數(shù)啟動總調(diào)度器,并保存URL地址。
9.根據(jù)權(quán)利要求8所述的一種視頻緩沖區(qū)監(jiān)控裝置,其特征在于所述總調(diào)度器在調(diào)度實時緩沖監(jiān)控器具體過程實時緩沖監(jiān)控器間隔時間TI t發(fā)送請求獲取本地HTTP服務(wù)器數(shù)據(jù)的請求,通過總調(diào)度器發(fā)送至本地HTTP服務(wù)器,本地HTTP服務(wù)器獲取請求命令后通過總調(diào)度器返回本地HTTP服務(wù)器緩沖區(qū)的視頻數(shù)據(jù)量;實時緩沖監(jiān)控器通過對本地HTTP服務(wù)器緩沖區(qū)數(shù)視頻數(shù)據(jù)量與其設(shè)定的閾值進(jìn)行比較來控制播放器播放狀態(tài)。
10.根據(jù)權(quán)利要求9所述的一種視頻緩沖區(qū)監(jiān)控裝置,其特征在于所述總調(diào)度器在調(diào)度本地HTTP服務(wù)器工作具體過程是本地HTTP服務(wù)器通過總調(diào)度器接收到實時緩沖監(jiān)控器的請求數(shù)據(jù)命令后,通過總調(diào)度器返回當(dāng)前本地HTTP服務(wù)器緩沖區(qū)視頻數(shù)據(jù)給實時緩沖監(jiān)控器。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)視頻點(diǎn)播技術(shù),尤其是涉及一種在播放終端中對視頻緩沖區(qū)監(jiān)控的方法及裝置。本發(fā)明針對現(xiàn)有網(wǎng)絡(luò)視頻點(diǎn)播系統(tǒng)中視頻點(diǎn)播終端無法對其視頻緩沖區(qū)進(jìn)行實時監(jiān)控,導(dǎo)致點(diǎn)播過程出現(xiàn)畫面斷斷續(xù)續(xù),用戶觀看體驗不佳的缺陷,本發(fā)明提出了一種在視頻點(diǎn)播終端對視頻緩沖區(qū)進(jìn)行實時監(jiān)控的方法,通過該方法的實施,可以解決視頻點(diǎn)播過程中當(dāng)網(wǎng)絡(luò)狀態(tài)不佳的情況下播放畫面斷斷續(xù)續(xù)的缺陷,提升用戶觀看體驗,減少用戶的誤操作。本發(fā)明通過總調(diào)度器調(diào)度本地HTTP服務(wù)器、播放器、實時緩沖監(jiān)控器協(xié)同配合實現(xiàn)緩沖區(qū)數(shù)據(jù)量的監(jiān)控。本發(fā)明主要應(yīng)用于網(wǎng)視頻點(diǎn)播系統(tǒng)中。
文檔編號H04N21/643GK102970579SQ20121049248
公開日2013年3月13日 申請日期2012年11月28日 優(yōu)先權(quán)日2012年11月28日
發(fā)明者梁應(yīng)龍, 周建波 申請人:四川長虹電器股份有限公司