專利名稱:在線流媒體傳輸控制方法及播放器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及流媒體技術(shù),尤其涉及一種在線流媒體傳輸控制方法及播放器。
背景技術(shù):
在當(dāng)前互聯(lián)網(wǎng)中,在線流媒體傳輸?shù)膬煞N主流實現(xiàn)技術(shù)是點對點(Peer to Peer, 簡稱P2P)技術(shù)與內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,簡稱CDN)技術(shù)。⑶N的核心是將中心服務(wù)器的內(nèi)容推送至網(wǎng)絡(luò)的邊緣節(jié)點上,使得用戶可以在就近獲取服務(wù),從而保證業(yè)務(wù)質(zhì)量(Quality Of krvice,簡稱QoQ與服務(wù)可用性,也在一定程度上緩解流量對骨干網(wǎng)絡(luò)的壓力,從本質(zhì)上看,CDN屬于改良的服務(wù)器/客戶機(Client/ Server)技術(shù),在性能上具有Client/Server的基本特征具有可靠的服務(wù)能力、較高的服務(wù)質(zhì)量保證,但是系統(tǒng)的擴展需以服務(wù)能力的不斷部署為基礎(chǔ),隨著服務(wù)能力的擴展,需要不斷增加中心服務(wù)器及網(wǎng)絡(luò)帶寬的投資。P2P采取了與傳統(tǒng)服務(wù)器/客戶機(Client/Server)不同傳輸方式,利用用戶側(cè)的資源,通過“去中心化”設(shè)計與對等、多點傳輸機制實現(xiàn)數(shù)據(jù)傳輸,不依賴服務(wù)器實現(xiàn)快速數(shù)據(jù)交換。當(dāng)節(jié)點Peer增加時,互聯(lián)網(wǎng)上可以提供服務(wù)的資源也隨之增加,從而解決來自于服務(wù)器的性能瓶頸與單點故障問題。然而,每個Peer可以隨時終止服務(wù)甚至退出,交換的內(nèi)容隨時可能被刪除或終止共享。另外,P2P技術(shù)在其他硬件配置較低、性能較弱的終端如機頂盒、手機、嵌入式操作系統(tǒng)的終端上應(yīng)用時,與多個Peer建立P2P連接將耗費大量終端資源。對于CDN和P2P技術(shù)來說,也均存在著在線流媒體數(shù)據(jù)的下載過程中,如終端一直處于全速下載狀態(tài),將影響終端上運行的其他服務(wù)進程的問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種在線流媒體傳輸控制方法及播放器,能夠保障各類型終端、尤其是弱終端的在線流媒體傳輸質(zhì)量,確保在線流媒體流暢播放。為實現(xiàn)上述目的,本發(fā)明提供了一種在線流媒體傳輸控制方法,包括檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿不限速下載區(qū)域,如果已充滿不限速下載區(qū)域,則采用內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,簡稱CDN)低速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件,并播放該流媒體文件,否則繼續(xù)采用內(nèi)容分發(fā)網(wǎng)絡(luò)不限速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件;所述不限速下載區(qū)域為本地緩沖區(qū)內(nèi)起始存儲位置到預(yù)設(shè)的不限速下載臨界線之間的數(shù)據(jù)存儲區(qū)域,所述低速下載方式為以不高于流媒體文件的碼率的下載速率進行下載的方式。進一步的,當(dāng)流媒體文件初次啟動播放或由于當(dāng)前播放點的調(diào)整導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)時,采用內(nèi)容分發(fā)網(wǎng)絡(luò)不限速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件,當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)已經(jīng)充滿不限速下載區(qū)域時,播放該流媒體文件。
進一步的,在采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件的同時,還采用點對點(Peer to Peer,簡稱P2P)下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件。進一步的,當(dāng)同時采用所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式和所述點對點下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件時,對同一塊數(shù)據(jù)優(yōu)先采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式進行下載。進一步的,還設(shè)置有低速下載區(qū)域,所述低速下載區(qū)域為預(yù)設(shè)的不限速下載臨界線到預(yù)設(shè)的低速下載臨界線之間的數(shù)據(jù)存儲區(qū)域,檢查所述本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿低速下載區(qū)域,如果已充滿低速下載區(qū)域,則暫停所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式的下載,保留所述點對點下載方式的下載。進一步的,還包括檢查本地緩沖區(qū)是否充滿,如果本地緩沖區(qū)已充滿,則暫停下載所述流媒體文件的下載。為實現(xiàn)上述目的,本發(fā)明提供了一種在線流媒體播放器,包括不限速下載模塊,用于采用內(nèi)容分發(fā)網(wǎng)絡(luò)不限速下載方式從網(wǎng)絡(luò)側(cè)下載流媒體文件;低速下載模塊,用于采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式從網(wǎng)絡(luò)側(cè)下載流媒體文件, 所述低速下載方式為以不高于流媒體文件的碼率的下載速率進行下載的方式;流媒體文件播放模塊,用于播放流媒體文件;不限速下載區(qū)域檢查模塊,用于檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿不限速下載區(qū)域,如果已充滿不限速下載區(qū)域,則觸發(fā)所述低速下載模塊和所述流媒體文件播放模塊,否則觸發(fā)不限速下載模塊。進一步的,還包括初次啟動播放模塊,用于在初次啟動播放流媒體文件導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)時,觸發(fā)所述不限速下載模塊,當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)已經(jīng)充滿不限速下載區(qū)域時,觸發(fā)播放所述流媒體文件播放模塊;播放點調(diào)整模塊,用于在當(dāng)前播放點的調(diào)整導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)時,觸發(fā)所述不限速下載模塊,當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)已經(jīng)充滿不限速下載區(qū)域時,觸發(fā)播放所述流媒體文件播放模塊。進一步的,還包括點對點下載模塊,與所述低速下載模塊聯(lián)動,用于采用點對點下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件。進一步的,當(dāng)同時采用所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式和所述點對點下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件時,對同一塊數(shù)據(jù)優(yōu)先采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式進行下載。進一步的,還設(shè)置有低速下載區(qū)域,所述低速下載區(qū)域為預(yù)設(shè)的不限速下載臨界線到預(yù)設(shè)的低速下載臨界線之間的數(shù)據(jù)存儲區(qū)域,所述在線流媒體播放器還包括低速下載區(qū)域檢查模塊,用于檢查所述本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿低速下載區(qū)域,如果已充滿低速下載區(qū)域,則暫停所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式的下載,保留所述點對點下載方式的下載。進一步的,還包括緩沖區(qū)檢查模塊,用于檢查本地緩沖區(qū)是否已充滿,如果已充滿,則暫停下載所述流媒體文件的下載。基于上述技術(shù)方案,本發(fā)明可根據(jù)終端對流媒體數(shù)據(jù)的接收情況對傳輸速度和傳輸方式進行切換,在保證流媒體文件流暢傳輸和播放的前提上,節(jié)省了終端側(cè)和服務(wù)器側(cè)的系統(tǒng)資源和網(wǎng)絡(luò)帶寬消耗。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1為本發(fā)明在線流媒體傳輸控制方法實施例中的本地緩沖區(qū)的數(shù)據(jù)分布示意圖。圖2為本發(fā)明在線流媒體傳輸控制方法的第一實施例的流程示意圖。圖3為圖2實施例的本地緩沖區(qū)和網(wǎng)絡(luò)側(cè)資源的數(shù)據(jù)分布示意圖。圖4為本發(fā)明在線流媒體傳輸控制方法的第二實施例的流程示意圖。圖5為圖4實施例的本地緩沖區(qū)和網(wǎng)絡(luò)側(cè)資源的數(shù)據(jù)分布示意圖。圖6為本發(fā)明在線流媒體傳輸控制方法的第三實施例的流程示意圖。圖7為圖6實施例的本地緩沖區(qū)和網(wǎng)絡(luò)側(cè)資源的數(shù)據(jù)分布示意圖。圖8為本發(fā)明在線流媒體播放器的第一實施例的結(jié)構(gòu)示意圖。圖9為本發(fā)明在線流媒體播放器的第二實施例的結(jié)構(gòu)示意圖。
具體實施例方式下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。在本發(fā)明中,為了更好的管理終端的在線流媒體文件的傳輸和播放過程,對傳統(tǒng)的本地緩沖區(qū)進行了更細的劃分和管理,從而更加適用于一些資源受限的終端的在線流媒體播放。下面結(jié)合圖1對本地緩沖區(qū)劃分后的數(shù)據(jù)分布進行說明。本地緩沖區(qū)是指設(shè)置于終端內(nèi)的一段存儲空間,可以對當(dāng)前播放點之后的流媒體數(shù)據(jù)進行預(yù)先存儲,從而在播放時避免因網(wǎng)速的原因而中斷流媒體的播放。在本發(fā)明的一實施例中,本地緩沖區(qū)被劃分為不限速下載區(qū)域和其他區(qū)域;在另一實施例,本地緩沖區(qū)還可以進一步的劃分為不限速下載區(qū)域、低速下載區(qū)域和其他區(qū)域。圖1中給出了包括不限速下載區(qū)域、低速下載區(qū)域和其他區(qū)域的數(shù)據(jù)分布示意圖,為了理解起來更直觀,在圖1中采用兩條臨界線將本地緩沖區(qū)劃分為三個區(qū)域,不限速下載區(qū)域是從起始存儲位置到預(yù)設(shè)的不限速下載臨界線之間的數(shù)據(jù)存儲區(qū)域,而不限速下載臨界線與低速下載臨界線之間的區(qū)域為低速下載區(qū)域,低速下載臨界線之外的區(qū)域為其他區(qū)域,可以根據(jù)需要進行進一步的細分和管理。終端在下載流媒體數(shù)據(jù)時,根據(jù)流媒體數(shù)據(jù)塊的時間關(guān)系順序的將流媒體數(shù)據(jù)存入本地緩沖區(qū),通常情況下先填充滿不限速下載區(qū)域,再填充滿低速下載區(qū)域,然后是其他區(qū)域,但也不排除使用P2P下載時填充的順序有所變化。
基于上述對本地緩沖區(qū)的說明,接下來將通過幾個實施例來進一步說明本發(fā)明的構(gòu)思。如圖2所示,為本發(fā)明在線流媒體傳輸控制方法的第一實施例的流程示意圖。在本實施例中,本地緩沖區(qū)內(nèi)被劃分為不限速下載區(qū)域和其他區(qū)域,傳輸控制流程具體包括以下步驟步驟101、檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿不限速下載區(qū)域;步驟102、如果已充滿不限速下載區(qū)域,則執(zhí)行步驟103,否則執(zhí)行步驟104 ;步驟103、采用CDN低速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件,并播放該流媒體文件;步驟104、繼續(xù)采用CDN不限速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件。在本實施例中,考慮到CDN下載時速度較快,高出在線流媒體的碼率,因此適于在本地緩沖區(qū)快速建立緩沖部分,從而盡快實現(xiàn)播放,同時確保終端播放在線流媒體的流暢度,但如果一直保持不限速的CDN下載,將會占用較多的終端資源,對網(wǎng)絡(luò)側(cè)的帶寬和系統(tǒng)資源均會造成浪費,因此以不限速下載臨界線為界,對于超出該界限的在線流媒體數(shù)據(jù)采用CDN低速下載的方式,這樣不僅不會影響到終端播放流暢程度,而且還節(jié)省了終端和網(wǎng)絡(luò)側(cè)的資源消耗。本實施例中的低速下載實際上是一種限速下載,即將下載速度限制在不高于流媒體文件的碼率的下載速率進行下載。不限速下載臨界線的設(shè)定可以根據(jù)實際在線流媒體文件的碼流大小、終端內(nèi)存情況進行調(diào)整。圖3為圖2實施例的本地緩沖區(qū)和網(wǎng)絡(luò)側(cè)資源的數(shù)據(jù)分布示意圖。從圖3中可以看出A部分數(shù)據(jù)是采用了不限速下載方式,B部分是采用了低速下載方式。當(dāng)流媒體文件初次啟動播放時,會導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)時,此時則可采用CDN不限速下載方式從網(wǎng)絡(luò)側(cè)加速下載該流媒體文件,而當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)已經(jīng)充滿不限速下載區(qū)域時,播放該流媒體文件。此時,也將遵循前面步驟103中的操作采用CDN低速下載方式繼續(xù)下載。另外,如果播放器的進度條被拖動時,當(dāng)前播放點會發(fā)生調(diào)整,也會進一步導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)的情況,此時也將采用 CDN不限速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件,充滿不限速下載區(qū)域后,播放流媒體文件。為了進一步分擔(dān)網(wǎng)絡(luò)側(cè)的帶寬和系統(tǒng)資源壓力,還可以結(jié)合P2P下載來為終端提供在線流媒體數(shù)據(jù),如圖4所示,為本發(fā)明在線流媒體傳輸控制方法的第二實施例的流程示意圖。與上一實施例相比,本實施例的步驟103替換為步驟103’,該步驟為在采用CDN 低速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件的同時,還采用P2P下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件。圖5為圖4實施例的本地緩沖區(qū)和網(wǎng)絡(luò)側(cè)資源的數(shù)據(jù)分布示意圖。從圖5中可以看出A部分數(shù)據(jù)是采用了不限速下載方式,對應(yīng)于不限速下載區(qū)域,B部分是采用了低速下載方式,C部分采用了 P2P下載方式,這兩部分對應(yīng)于其他區(qū)域。P2P下載方式雖然啟動速度較CDN下載方式慢,但其下載速度可能較CDN下載更快,因此不僅可以很好的緩解服務(wù)器側(cè)的帶寬和系統(tǒng)資源消耗,而且也可能提供更快的下載速度。
另外,P2P下載時是數(shù)據(jù)塊隨機下載,而不是按照播放時間順序進行下載,因此較少與CDN下載相沖突,當(dāng)同時采用CDN低速下載方式和P2P下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件時,對同一塊數(shù)據(jù)則優(yōu)先采用CDN低速下載方式進行下載。為了進一步的節(jié)省終端和網(wǎng)絡(luò)側(cè)的資源消耗,還可以在本地緩沖區(qū)內(nèi)設(shè)置低速下載區(qū)域,如圖6所示,為本發(fā)明在線流媒體傳輸控制方法的第三實施例的流程示意圖。與第二實施例相比,在本實施例中,傳輸控制流程還包括步驟201、檢查所述本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿低速下載區(qū)域;步驟202、如果已充滿低速下載區(qū)域,則執(zhí)行步驟203,否則執(zhí)行步驟204 ;步驟203、暫停采用CDN低速下載方式下載該流媒體文件,而保留P2P下載方式繼續(xù)進行下載;步驟204、繼續(xù)同時采用CDN低速下載方式和P2P下載方式進行下載。在本實施例中,考慮到當(dāng)前播放點往回調(diào)整,或者由于較高速的P2P下載導(dǎo)致本地緩沖區(qū)內(nèi)存儲的數(shù)據(jù)已經(jīng)充滿了低速下載區(qū)域的時候,此時即使暫停下載,仍能維持一段時間的在線流媒體的流暢播放,因此本實施例通過暫停CDN低速下載的方式節(jié)約網(wǎng)絡(luò)側(cè)的資源消耗,利用P2P下載方式繼續(xù)下載,而當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)未充滿低速下載區(qū)域時,在調(diào)整為同時采用CDN低速下載方式和P2P 下載方式進行下載。圖7為圖6實施例的本地緩沖區(qū)和網(wǎng)絡(luò)側(cè)資源的數(shù)據(jù)分布示意圖。從圖7中可以看出,A部分數(shù)據(jù)是采用了不限速下載方式,對應(yīng)于不限速下載區(qū)域。B部分是采用了低速下載方式,C部分采用了 P2P下載方式,這兩部分對應(yīng)于低速下載區(qū)域。在上述的各個方法實施例中,終端還可以對本地緩沖區(qū)是否充滿進行檢查,如果本地緩沖區(qū)已充滿,則暫停下載所述流媒體文件的下載,以避免緩沖區(qū)溢出。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。如圖8所示,為本發(fā)明在線流媒體播放器的第一實施例的結(jié)構(gòu)示意圖。在本實施例中,在線流媒體播放器具體包括不限速下載模塊1、低速下載模塊2、流媒體文件播放模塊3和不限速下載區(qū)域檢查模塊4。其中不限速下載模塊1負責(zé)采用CDN不限速下載方式從網(wǎng)絡(luò)側(cè)下載流媒體文件。低速下載模塊2負責(zé)采用CDN低速下載方式從網(wǎng)絡(luò)側(cè)下載流媒體文件,低速下載方式為以不高于流媒體文件的碼率的下載速率進行下載的方式。流媒體文件播放模塊3負責(zé)播放流媒體文件。不限速下載區(qū)域檢查模塊4負責(zé)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿不限速下載區(qū)域,如果已充滿不限速下載區(qū)域,則觸發(fā)所述低速下載模塊2和所述流媒體文件播放模塊3,否則觸發(fā)不限速下載模塊1。在本實施例中,播放器以不限速下載臨界線為界,對于超出該界限的在線流媒體數(shù)據(jù)采用CDN低速下載的方式,這樣不僅不會影響到終端播放流暢程度,而且還節(jié)省了終端和網(wǎng)絡(luò)側(cè)的資源消耗。
在另一實施例中,播放器還可以包括初次啟動播放模塊和播放點調(diào)整模塊。初次啟動播放模塊負責(zé)在初次啟動播放流媒體文件導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)時,觸發(fā)不限速下載模塊,當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)已經(jīng)充滿不限速下載區(qū)域時,觸發(fā)播放流媒體文件播放模塊。 播放點調(diào)整模塊負責(zé)在當(dāng)前播放點的調(diào)整導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)時,觸發(fā)不限速下載模塊,當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)已經(jīng)充滿不限速下載區(qū)域時,觸發(fā)播放流媒體文件播放模塊。如圖9所示,為本發(fā)明在線流媒體播放器的第二實施例的結(jié)構(gòu)示意圖。與第一實施例相比,本實施例還包括點對點下載模塊5,與低速下載模塊2聯(lián)動,該模塊負責(zé)采用 P2P下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件。當(dāng)同時采用所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式和所述點對點下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件時,對同一塊數(shù)據(jù)可以優(yōu)先采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式進行下載。本實施例利用P2P下載方式來減輕CDN下載時網(wǎng)絡(luò)側(cè)的負擔(dān), 而且P2P下載方式也可能有較快的下載速度。在另一實施例中還設(shè)置有低速下載區(qū)域,低速下載區(qū)域為預(yù)設(shè)的不限速下載臨界線到預(yù)設(shè)的低速下載臨界線之間的數(shù)據(jù)存儲區(qū)域。在線流媒體播放器還包括低速下載區(qū)域檢查模塊,該模塊負責(zé)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿低速下載區(qū)域,如果已充滿低速下載區(qū)域,則暫停所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式的下載,保留所述點對點下載方式的下載。在上述的各個播放器實施例中,還可以進一步包括緩沖區(qū)檢查模塊,該模塊負責(zé)檢查本地緩沖區(qū)是否已充滿,如果已充滿,則暫停下載所述流媒體文件的下載。本說明書中各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似的部分相互參見即可。對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。最后應(yīng)當(dāng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制;盡管參照較佳實施例對本發(fā)明進行了詳細的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明的具體實施方式
進行修改或者對部分技術(shù)特征進行等同替換;而不脫離本發(fā)明技術(shù)方案的精神,其均應(yīng)涵蓋在本發(fā)明請求保護的技術(shù)方案范圍當(dāng)中。
權(quán)利要求
1.一種在線流媒體傳輸控制方法,包括檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿不限速下載區(qū)域,如果已充滿不限速下載區(qū)域,則采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件,并播放該流媒體文件,否則繼續(xù)采用內(nèi)容分發(fā)網(wǎng)絡(luò)不限速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件;所述不限速下載區(qū)域為本地緩沖區(qū)內(nèi)起始存儲位置到預(yù)設(shè)的不限速下載臨界線之間的數(shù)據(jù)存儲區(qū)域,所述低速下載方式為以不高于流媒體文件的碼率的下載速率進行下載的方式。
2.根據(jù)權(quán)利要求1所述的在線流媒體傳輸控制方法,其中,當(dāng)流媒體文件初次啟動播放或由于當(dāng)前播放點的調(diào)整導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)時,采用內(nèi)容分發(fā)網(wǎng)絡(luò)不限速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件,當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)已經(jīng)充滿不限速下載區(qū)域時,播放該流媒體文件。
3.根據(jù)權(quán)利要求1所述的在線流媒體傳輸控制方法,其中,在采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件的同時,還采用點對點下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件。
4.根據(jù)權(quán)利要求3所述的在線流媒體傳輸控制方法,其中,當(dāng)同時采用所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式和所述點對點下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件時,對同一塊數(shù)據(jù)優(yōu)先采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式進行下載。
5.根據(jù)權(quán)利要求1或3所述的在線流媒體傳輸控制方法,其中,還設(shè)置有低速下載區(qū)域,所述低速下載區(qū)域為預(yù)設(shè)的不限速下載臨界線到預(yù)設(shè)的低速下載臨界線之間的數(shù)據(jù)存儲區(qū)域,檢查所述本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿低速下載區(qū)域,如果已充滿低速下載區(qū)域,則暫停所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式的下載,保留所述點對點下載方式的下載。
6.根據(jù)權(quán)利要求1或5所述的在線流媒體傳輸控制方法,其中,還包括檢查本地緩沖區(qū)是否充滿,如果本地緩沖區(qū)已充滿,則暫停下載所述流媒體文件的下載。
7.—種在線流媒體播放器,包括不限速下載模塊,用于采用內(nèi)容分發(fā)網(wǎng)絡(luò)不限速下載方式從網(wǎng)絡(luò)側(cè)下載流媒體文件;低速下載模塊,用于采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式從網(wǎng)絡(luò)側(cè)下載流媒體文件,所述低速下載方式為以不高于流媒體文件的碼率的下載速率進行下載的方式;流媒體文件播放模塊,用于播放流媒體文件;不限速下載區(qū)域檢查模塊,用于檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿不限速下載區(qū)域,如果已充滿不限速下載區(qū)域,則觸發(fā)所述低速下載模塊和所述流媒體文件播放模塊,否則觸發(fā)不限速下載模塊。
8.根據(jù)權(quán)利要求7所述的在線流媒體播放器,其中,還包括初次啟動播放模塊,用于在初次啟動播放流媒體文件導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)時,觸發(fā)所述不限速下載模塊,當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)已經(jīng)充滿不限速下載區(qū)域時,觸發(fā)播放所述流媒體文件播放模塊;播放點調(diào)整模塊,用于在當(dāng)前播放點的調(diào)整導(dǎo)致本地緩沖區(qū)內(nèi)沒有緩存該流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)時,觸發(fā)所述不限速下載模塊,當(dāng)檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)已經(jīng)充滿不限速下載區(qū)域時,觸發(fā)播放所述流媒體文件播放模塊。
9.根據(jù)權(quán)利要求7所述的在線流媒體播放器,其中,還包括點對點下載模塊,與所述低速下載模塊聯(lián)動,用于采用點對點下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件。
10.根據(jù)權(quán)利要求9所述的在線流媒體播放器,其中,當(dāng)同時采用所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式和所述點對點下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件時,對同一塊數(shù)據(jù)優(yōu)先采用內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式進行下載。
11.根據(jù)權(quán)利要求9所述的在線流媒體播放器,其中,還設(shè)置有低速下載區(qū)域,所述低速下載區(qū)域為預(yù)設(shè)的不限速下載臨界線到預(yù)設(shè)的低速下載臨界線之間的數(shù)據(jù)存儲區(qū)域,所述在線流媒體播放器還包括低速下載區(qū)域檢查模塊,用于檢查所述本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿低速下載區(qū)域,如果已充滿低速下載區(qū)域,則暫停所述內(nèi)容分發(fā)網(wǎng)絡(luò)低速下載方式的下載,保留所述點對點下載方式的下載。
12.根據(jù)權(quán)利要求7或11所述的在線流媒體播放器,其中,還包括緩沖區(qū)檢查模塊,用于檢查本地緩沖區(qū)是否已充滿,如果已充滿,則暫停下載所述流媒體文件的下載。
全文摘要
本發(fā)明涉及一種在線流媒體傳輸控制方法,包括檢查本地緩沖區(qū)內(nèi)緩存的流媒體文件的當(dāng)前播放點之后的數(shù)據(jù)是否充滿不限速下載區(qū)域,已充滿則采用CDN低速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件,并播放該流媒體文件,否則繼續(xù)采用CDN不限速下載方式從網(wǎng)絡(luò)側(cè)下載該流媒體文件;不限速下載區(qū)域為本地緩沖區(qū)內(nèi)起始存儲位置到預(yù)設(shè)的不限速下載臨界線之間的數(shù)據(jù)存儲區(qū)域,低速下載方式為以不高于流媒體文件的碼率的下載速率進行下載的方式。本發(fā)明還涉及一種在線流媒體播放器。本發(fā)明可根據(jù)終端對流媒體數(shù)據(jù)的接收情況對傳輸速度和傳輸方式進行切換,在保證流媒體文件流暢傳輸和播放的前提上,節(jié)省了終端側(cè)和服務(wù)器側(cè)的系統(tǒng)資源和網(wǎng)絡(luò)帶寬消耗。
文檔編號H04L29/08GK102571894SQ20111000860
公開日2012年7月11日 申請日期2011年1月17日 優(yōu)先權(quán)日2010年12月7日
發(fā)明者龐濤, 張志健, 武娟, 黃海, 龍斌 申請人:中國電信股份有限公司