專利名稱:一種在線流媒體播放的方法及點(diǎn)播終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種在線流媒體播放的方法及點(diǎn)播終端。
背景技術(shù):
現(xiàn)有的播放器,諸如影音風(fēng)暴、realplayer、windows media player等,可以在線觀看視頻資源,一般用到P2P(Peer-to-Peer,對等,又被稱為“點(diǎn)對點(diǎn)”)網(wǎng)絡(luò)連接,或HTTP (Hyper Text Transfer Protocol,超文本傳輸協(xié)議)服務(wù)器及其他服務(wù)器。P2P網(wǎng)絡(luò)在下載視音頻資源初期,會(huì)和服務(wù)器通訊,獲取具有所下視音頻資源的節(jié)點(diǎn)信息,建立連接。這個(gè)過程,用戶在線點(diǎn)播時(shí)需要花一定時(shí)長等待P2P網(wǎng)絡(luò)組織建立、通訊和下載速度穩(wěn)定,由于P2P連接的資源搶占性比較好,其他連接,例如HTTP連接的占用帶寬就用越來越少。而且,點(diǎn)播終端的播放器接收的數(shù)據(jù)是離散的,不能馬上播放,需要緩沖和排序后才能由用戶界面呈現(xiàn)給用戶,整個(gè)過程增加了等待時(shí)間,用戶體驗(yàn)不好。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種在線流媒體播放的方法及點(diǎn)播終端,以加速將流媒體內(nèi)容呈現(xiàn)給用戶觀看。一方面,本發(fā)明實(shí)施例提供了一種在線流媒體播放的方法,所述方法包括當(dāng)點(diǎn)播終端初始播放時(shí)或者傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),對P2P網(wǎng)絡(luò)連接進(jìn)行限速,同時(shí)加速下載子模塊與高速通道服務(wù)器建立高速下載通道,對所述預(yù)置的門限值的數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載;若傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量大于或者等于所述預(yù)置的門限值時(shí),解除對所述P2P網(wǎng)絡(luò)連接的限速,同時(shí)加速下載子模塊關(guān)閉所述高速下載通道,由所述P2P網(wǎng)絡(luò)全速獲取后續(xù)部分的流媒體數(shù)據(jù)。另一方面,本發(fā)明實(shí)施例提供了一種在線流媒體播放的點(diǎn)播終端,所述點(diǎn)播終端包括加速下載子模塊,用于當(dāng)點(diǎn)播終端初始播放時(shí)或者傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),與高速通道服務(wù)器建立高速下載通道,對所述預(yù)置的門限值的數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載;以及用于在下載的數(shù)據(jù)量大于或等于所述預(yù)置的門限值時(shí),關(guān)閉所述高速下載通道;傳輸控制模塊,用于當(dāng)點(diǎn)播終端初始播放時(shí)或者判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),對P2P網(wǎng)絡(luò)連接進(jìn)行限速;以及用于判斷當(dāng)前下載的數(shù)據(jù)量大于或者等于所述預(yù)置的門限值時(shí),解除對所述P2P網(wǎng)絡(luò)連接的限速,由所述P2P網(wǎng)絡(luò)全速獲取后續(xù)部分的流媒體數(shù)據(jù)。上述技術(shù)方案具有如下有益效果因?yàn)椴捎卯?dāng)點(diǎn)播終端初始播放時(shí)或檢測到所述點(diǎn)播終端的緩沖區(qū)內(nèi)的緩存流媒體數(shù)據(jù)不能滿足在線流暢播放時(shí),對P2P網(wǎng)絡(luò)連接進(jìn)行限速,同時(shí)加速下載子模塊打開高速通道服務(wù)器建立高速下載通道,對設(shè)定數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載;若檢測到所述點(diǎn)播終端的緩沖區(qū)內(nèi)的緩存流媒體數(shù)據(jù)超過預(yù)置的門限值時(shí),傳輸控制模塊解除對所述P2P網(wǎng)絡(luò)連接的限速,同時(shí)關(guān)閉高速下載通道,由所述P2P網(wǎng)絡(luò)全速獲取后續(xù)部分的流媒體數(shù)據(jù)。本實(shí)施方式同時(shí)配合使用所述高速通道服務(wù)器和所述P2P網(wǎng)絡(luò),利用兩種傳輸方式的優(yōu)勢來優(yōu)化下載初始播放或點(diǎn)播終端的用戶拖動(dòng)進(jìn)度條后的部分流媒體數(shù)據(jù),所以可以減少用戶的等待時(shí)間,加速將流媒體內(nèi)容呈現(xiàn)給用戶觀看。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實(shí)施例一種在線流媒體播放的方法流程圖;圖2為本發(fā)明實(shí)施例一種在線流媒體播放的點(diǎn)播終端結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例傳輸控制模塊一結(jié)構(gòu)示意圖; 圖4為本發(fā)明實(shí)施例傳輸控制模塊另一結(jié)構(gòu)示意圖;圖5為本發(fā)明應(yīng)用實(shí)例在線流媒體播放的系統(tǒng)結(jié)構(gòu)示意圖;圖6為本發(fā)明應(yīng)用實(shí)例播放器工作流程示意圖;圖7為本發(fā)明應(yīng)用實(shí)例臨時(shí)保存在緩沖區(qū)內(nèi)的緩存流媒體數(shù)據(jù)結(jié)構(gòu)示意圖;圖8為本發(fā)明應(yīng)用實(shí)例索引信息表示意圖;圖9為本發(fā)明應(yīng)用實(shí)例圖6中的播放器工作流程B示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。針對用戶在線點(diǎn)播時(shí)需要花一定時(shí)長等待P2P網(wǎng)絡(luò)組織建立、通訊和下載速度穩(wěn)定以及數(shù)據(jù)重組的問題,如圖I所示,為本發(fā)明實(shí)施例一種在線流媒體播放的方法流程圖,所述方法包括101、當(dāng)點(diǎn)播終端初始播放時(shí)或者傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),對P2P網(wǎng)絡(luò)連接進(jìn)行限速,同時(shí)加速下載子模塊與高速通道服務(wù)器建立高速下載通道,對所述預(yù)置的門限值的數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載。在傳輸控制端設(shè)置或者從用戶跟蹤服務(wù)器獲取加速下載參數(shù),其中,該加速下載參數(shù)包括數(shù)據(jù)量下載參數(shù)。該數(shù)據(jù)量下載參數(shù)與播放時(shí)間戳參數(shù)或者高速下載時(shí)間相對應(yīng)。該下載數(shù)據(jù)量與播放時(shí)間之間的關(guān)系通過索引信息建立由索引信息表查詢播放時(shí)間點(diǎn)對應(yīng)的視音頻數(shù)據(jù)的文件偏移量,可以將索引信息中的數(shù)值η(數(shù)據(jù)偏移量)與數(shù)據(jù)包中的視頻數(shù)據(jù)建立起唯一的對應(yīng)關(guān)系(如圖8所示)。從而可以根據(jù)播放時(shí)間得到相對應(yīng)的視音頻數(shù)據(jù)量。該數(shù)據(jù)量下載參數(shù)將視音頻流文件的下載過程分成兩部分,對于設(shè)定數(shù)據(jù)量之前的數(shù)據(jù)流,采用P2P的限速下載聯(lián)合通過私有協(xié)議或者HTTP協(xié)議形成的高速下載方式完成。對于設(shè)定數(shù)據(jù)量之后的數(shù)據(jù)流部分,則采用P2P全速下載的方式完成。當(dāng)點(diǎn)播終端初始播放開始下載視音頻文件時(shí),該傳輸控制模塊建立P2P網(wǎng)絡(luò)連接,建立連接后對P2P網(wǎng)絡(luò)連接進(jìn)行限速,同時(shí)加速下載子模塊打開高速通道服務(wù)器建立高速下載通道,對設(shè)定數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載。102、若傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量大于或者等于所述預(yù)置的門限值時(shí),解除對所述P2P網(wǎng)絡(luò)連接的限速,同時(shí)加速下載子模塊關(guān)閉所述高速下載通道,由所述P2P網(wǎng)絡(luò)全速獲取后續(xù)部分的流媒體數(shù)據(jù)??蛇x的,所述方法還可以包括當(dāng)所述點(diǎn)播終端的用戶拖動(dòng)進(jìn)度條后,所述傳輸控制模塊檢測點(diǎn)播終端的緩沖區(qū)內(nèi)的緩存流媒體數(shù)據(jù)是否滿足一預(yù)置時(shí)長的播放,在該預(yù)置時(shí)長內(nèi),所述傳輸控制模塊下載和緩存流媒體數(shù)據(jù);所述預(yù)置時(shí)長的流媒體數(shù)據(jù)量是所述預(yù)置的門限值的三分之一到二分之一的范圍??蛇x的,所述方法還可以包括當(dāng)所述點(diǎn)播終端下載文件頭時(shí),分離模塊對檢測到索引信息不處理直接進(jìn)行所述緩存流媒體數(shù)據(jù)的播放。當(dāng)所述點(diǎn)播終端下載數(shù)據(jù)部分時(shí),將索引信息交由傳輸控制模塊由P2P網(wǎng)絡(luò)下載索引信息表,當(dāng)用戶拖動(dòng)進(jìn)度條隨機(jī)訪問文件時(shí),傳輸控制模塊判斷是否已下載索引信息表,在沒有下載索引信息表的情況下傳輸控制模塊限速P2P網(wǎng)絡(luò),加速下載子模塊打開高速下載通道,共同下載索引信息表。現(xiàn)有的播 放器,在線觀看視頻資源,在解析流媒體視音頻數(shù)據(jù)結(jié)構(gòu)部分時(shí),碰到索引信息的會(huì)根據(jù)索弓I信息查找和下載存有關(guān)鍵幀信息的索引信息表,以備用戶隨機(jī)訪問時(shí),比如拖拽進(jìn)度條,根據(jù)關(guān)鍵幀查找當(dāng)前幀。但大多數(shù)情況下用戶沒有拖動(dòng)進(jìn)度條,卻要等待下載索引信息表的時(shí)間,影響用戶對速度的體驗(yàn)??蛇x的,所述方法還可以包括當(dāng)所述點(diǎn)播終端下載文件頭時(shí),分離模塊對檢測到索引信息不處理直接進(jìn)行所述緩存流媒體數(shù)據(jù)的播放。當(dāng)所述點(diǎn)播終端下載數(shù)據(jù)部分時(shí),將索引信息交由傳輸控制模塊由P2P網(wǎng)絡(luò)下載索引信息表,當(dāng)用戶拖動(dòng)進(jìn)度條隨機(jī)訪問文件時(shí),傳輸控制模塊判斷是否已下載索引信息表,在沒有下載索引信息表的情況下傳輸控制模塊限速P2P網(wǎng)絡(luò),加速下載子模塊打開高速下載通道,共同下載索引信息表。即當(dāng)存在文件頭和視音頻數(shù)據(jù)后,即可以直接進(jìn)行所述緩存流媒體數(shù)據(jù)的播放。可選的,所述預(yù)置的門限值可以為播放30秒時(shí)長的流媒體數(shù)據(jù)量。所述高速通道服務(wù)器可以為HTTP服務(wù)器或者私有協(xié)議服務(wù)器。本實(shí)施方式中,對于2M,ADSL帶寬,碼率為600-800KB的網(wǎng)絡(luò)環(huán)境,20-30S時(shí)長的資源數(shù)據(jù)量大約為3M。因此以20-30S時(shí)長播放的數(shù)據(jù)量可滿足P2P方式初期資源數(shù)據(jù)的下載和緩沖。本實(shí)施例通過獲取視音頻文件的碼率,確定30秒播放的數(shù)據(jù)信息長度,這樣的優(yōu)點(diǎn)是,30秒播放的數(shù)據(jù)量不至于使下載的數(shù)據(jù)過多避免了高速服務(wù)器的部署負(fù)擔(dān),或30秒以下播放的數(shù)據(jù)量過少,無法滿足用戶交互界面實(shí)時(shí)播放以及播放與后臺(tái)的順暢銜接需求,在數(shù)據(jù)量參數(shù)設(shè)置不當(dāng)?shù)那闆r下,畫面出現(xiàn)就立即卡住等待后臺(tái)的P2P下載了。針對不同碼率的視音頻文件,以時(shí)長計(jì)算的數(shù)據(jù)量是變動(dòng),只要該數(shù)據(jù)量的設(shè)置滿足用戶流暢播放的同時(shí),也要滿足傳輸控制端對流媒體數(shù)據(jù)的下載和緩存??蛇x的,所述對P2P網(wǎng)絡(luò)連接進(jìn)行限速,可以包括限制所述P2P網(wǎng)絡(luò)連接所用帶寬占整個(gè)網(wǎng)絡(luò)帶寬的20% -30%。本發(fā)明上述方法實(shí)施例根據(jù)網(wǎng)絡(luò)環(huán)境,在一開始播放時(shí),先建立P2P網(wǎng)絡(luò)連接,建立以后對P2P網(wǎng)絡(luò)連接進(jìn)行限速,同時(shí)加速下載子模塊打開高速通道服務(wù)器建立高速下載通道,對設(shè)定數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載,該種將P2P下載配合高速下載的方式,與不同的網(wǎng)絡(luò)傳輸方式項(xiàng)搭配保證以最快的速度將視頻呈現(xiàn)給用戶,顯示即時(shí),體驗(yàn)流暢。另夕卜,初始播放時(shí)不下載索引信息表(請區(qū)分索引信息與索引信息表),待用戶隨機(jī)訪問時(shí),比如拖拽進(jìn)度條,才下載索引信息表,減少解析流媒體視音頻數(shù)據(jù)結(jié)構(gòu)的時(shí)間,可更快速呈現(xiàn)流媒體視頻節(jié)目。如圖2所示,為本發(fā)明實(shí)施例一種在線流媒體播放的點(diǎn)播終端結(jié)構(gòu)示意圖,所述點(diǎn)播終端包括加速下載子模塊21,用于當(dāng)點(diǎn)播終端初始播放時(shí)或者傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),與高速通道服務(wù)器建立高速下載通道,對所述預(yù)置的門限值的數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載;以及用于在下載的數(shù)據(jù)量大于或等于所述預(yù)置的門限值時(shí),關(guān)閉所述高速下載通道;傳輸控制模塊22,用于當(dāng)點(diǎn)播終端初始播放時(shí)或者判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),對P2P網(wǎng)絡(luò)連接進(jìn)行限速;以及用于判斷當(dāng)前下載的數(shù)據(jù)量大于或者等于所述預(yù)置的門限值時(shí),解除對所述P2P網(wǎng)絡(luò)連接的限速,由所述P2P網(wǎng)絡(luò)全速獲取后續(xù)部分的流媒體數(shù)據(jù)。 可選的,如圖3所示,為本發(fā)明實(shí)施例傳輸控制模塊一結(jié)構(gòu)示意圖,所述傳輸控制模塊22可以包括檢測單元221,用于當(dāng)所述點(diǎn)播終端的用戶拖動(dòng)進(jìn)度條后,檢測點(diǎn)播終端的緩沖區(qū)內(nèi)的緩存流媒體數(shù)據(jù)是否滿足一預(yù)置時(shí)長的播放,在該預(yù)置時(shí)長內(nèi),所述傳輸控制模塊下載和緩存流媒體數(shù)據(jù);所述預(yù)置時(shí)長的流媒體數(shù)據(jù)量是所述預(yù)置的門限值的三分之一到二分之一的范圍??蛇x的,所述點(diǎn)播終端還包括分離模塊,用于在所述點(diǎn)播終端下載文件頭時(shí)不處理檢測到的索引信息直接進(jìn)行所述緩存流媒體數(shù)據(jù)的播放。當(dāng)所述點(diǎn)播終端下載數(shù)據(jù)部分時(shí),將索引信息交由傳輸控制模塊由P2P網(wǎng)絡(luò)下載索引信息表,當(dāng)用戶拖動(dòng)進(jìn)度條隨機(jī)訪問文件時(shí),傳輸控制模塊判斷是否已下載索引信息表,在沒有下載索引信息表的情況下傳輸控制模塊限速P2P網(wǎng)絡(luò),加速下載子模塊打開高速下載通道,共同下載索引信息表。可選的,所述預(yù)置的門限值為播放30秒時(shí)長的流媒體數(shù)據(jù)量;所述高速通道服務(wù)器包括HTTP服務(wù)器或者私有協(xié)議服務(wù)器。可選的,如圖4所示,為本發(fā)明實(shí)施例傳輸控制模塊另一結(jié)構(gòu)示意圖,所述傳輸控制模塊可以包括限速單元211,用于限制所述P2P網(wǎng)絡(luò)連接所用帶寬占整個(gè)網(wǎng)絡(luò)帶寬的20% -30%。本發(fā)明上述裝置實(shí)施例根據(jù)網(wǎng)絡(luò)環(huán)境配置加速下載子模塊,在一開始播放媒體文件時(shí)或者傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),打開高速通道服務(wù)器建立高速下載通道,對設(shè)定數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載,通過分配給高速通道服務(wù)器充裕的帶寬,使其與不同的網(wǎng)絡(luò)傳輸方式項(xiàng)搭配以最快的速度將視頻呈現(xiàn)給用戶,顯示即時(shí),體驗(yàn)流暢。另外,初始播放時(shí)不下載索引信息表,待用戶隨機(jī)訪問時(shí),比如拖拽進(jìn)度條,才下載索引信息表,減少解析流媒體視音頻數(shù)據(jù)結(jié)構(gòu)的時(shí)間,可更快速呈現(xiàn)流媒體視頻節(jié)目。如圖5所示,為本發(fā)明應(yīng)用實(shí)例在線流媒體播放的系統(tǒng)結(jié)構(gòu)示意圖,該系統(tǒng)包括點(diǎn)播終端,用戶跟蹤服務(wù)器、HTTP服務(wù)器以及可提供上傳下載服務(wù)的若干其他點(diǎn)播終端作為資源節(jié)點(diǎn)。本地點(diǎn)播終端上安裝播放視音頻資源的播放器以及用于與網(wǎng)絡(luò)通訊的傳輸控制端。播放音視頻文件時(shí),分離模塊和傳輸控制端之間不斷以請求/應(yīng)答的方式獲取資源數(shù)據(jù),其中傳輸控制端向數(shù)據(jù)通訊接口提供保存位置信息,如磁盤位置或者內(nèi)存,播放器的文件讀取模塊通過數(shù)據(jù)通訊接口從保存位置讀取資源數(shù)據(jù)。該播放器除包括上述的數(shù)據(jù)通訊接口外,還包括文件讀取模塊、將資源數(shù)據(jù)分類的分離模塊、音頻解碼模塊、視頻解碼模塊、音頻播放裝置、用戶交互界面。其中,文件讀取模塊通過數(shù)據(jù)通訊接口獲取資源數(shù)據(jù),分離模塊接收到有關(guān)索引信息表的信息時(shí),不做查詢下載,而是直接讀取解析后續(xù)音頻視頻數(shù)據(jù)。如圖6所示,為本發(fā)明應(yīng)用實(shí)例播放器工作流程示意圖,包括如下步驟601、開始;602、用戶通過用戶界面向傳輸控制端發(fā)送資源請求;603、播放器進(jìn)行流程B ;604、播放器進(jìn)行流程A :傳輸控制端通過數(shù)據(jù)通訊接口將接收的資源數(shù)據(jù)推送給 文件讀取1吳塊;605、文件讀取模塊將資源數(shù)據(jù)發(fā)送給分離模塊;606、分離模塊解析資源數(shù)據(jù)的文件頭;607、判斷是否有索引信息,如果存在,則轉(zhuǎn)步驟608 ;如果不存在,則轉(zhuǎn)步驟609 ;608、不進(jìn)行任何處理,即不立即下載該索引信息對應(yīng)的索引信息表,然后轉(zhuǎn)步驟609 ;609、分離模塊解析資源數(shù)據(jù)的數(shù)據(jù)部分;610、判斷是否拖動(dòng)進(jìn)度條隨機(jī)訪問文件,如果是,則轉(zhuǎn)步驟612 ;如果否,則轉(zhuǎn)步驟 611 ;611、將索引表信息交由傳輸控制模塊由P2P網(wǎng)絡(luò)下載索引信息表,然后同時(shí)轉(zhuǎn)步驟614和步驟616 ;612、判斷是否已下載索引彳目息表,如果是,則問時(shí)轉(zhuǎn)步驟614和步驟616 ;如果否,則轉(zhuǎn)步驟613 ;613、由高速通道和P2P網(wǎng)絡(luò)一起下載下載索引信息表,然后同時(shí)轉(zhuǎn)步驟614和步驟 616 ;614、分離模塊將音頻數(shù)據(jù)發(fā)送給音頻解碼模塊;615、解碼后的音頻數(shù)據(jù)由音頻播放裝置呈現(xiàn)給用戶聲音,流程結(jié)束。616、分離模塊將視頻數(shù)據(jù)發(fā)送給視頻解碼模塊;617、解碼后的視頻數(shù)據(jù)由用戶交互界面呈現(xiàn),流程結(jié)束。上述傳輸控制端包括傳輸控制模塊以及加速下載子模塊。本發(fā)明應(yīng)用實(shí)例中,該下載數(shù)據(jù)量與播放時(shí)間之間的關(guān)系通過索引信息建立由索引信息查詢播放時(shí)間點(diǎn)對應(yīng)的視音頻數(shù)據(jù)的文件偏移量,可以將索引信息中的數(shù)值n(數(shù)據(jù)偏移量)與數(shù)據(jù)包中的視頻數(shù)據(jù)建立起唯一的對應(yīng)關(guān)系(如圖8所示)。從而可以根據(jù)播放時(shí)間得到相對應(yīng)的視音頻數(shù)據(jù)量。該數(shù)據(jù)量下載參數(shù)將視音頻流文件的下載過程分成兩部分,對于設(shè)定數(shù)據(jù)量之前的數(shù)據(jù)流,采用P2P的限速下載聯(lián)合通過私有協(xié)議或者HTTP協(xié)議形成的高速下載方式完成。對于設(shè)定數(shù)據(jù)量之后的數(shù)據(jù)流部分,則采用P2P全速下載的方式完成。以下介紹資源數(shù)據(jù)結(jié)構(gòu)以及索引信息結(jié)構(gòu)如圖7所示,為本發(fā)明應(yīng)用實(shí)例臨時(shí)保存在緩沖區(qū)內(nèi)的緩存流媒體數(shù)據(jù)結(jié)構(gòu)示意圖,臨時(shí)保存在本地的數(shù)據(jù)共包括三個(gè)部分,第一部分Pl為文件頭,第二部分P2為視音頻數(shù)據(jù),第三部分P3為索引信息。其中,如圖8所示,為本發(fā)明應(yīng)用實(shí)例索引信息表示意圖。其中,所述的索引信息可以表格形式呈現(xiàn),是一個(gè)播放時(shí)間t與代表字節(jié)偏移量的數(shù)值η的對應(yīng)表。通過該索引信息查詢特定時(shí)間對應(yīng)的視音頻數(shù)據(jù)的文件偏移量,可以將索引信息中的數(shù)值η(數(shù)據(jù)偏移量)與數(shù)據(jù)包中的視音頻數(shù)據(jù)建立起唯一的對應(yīng)關(guān)系,從而可以根據(jù)播放時(shí)間得到相對應(yīng)的視音頻數(shù)據(jù)。如圖9所示,為本發(fā)明應(yīng)用實(shí)例圖6中的播放器工作流程B示意圖,包括如下步驟901、流程B開始;902、傳輸控制端將資源請求發(fā)送給用戶跟蹤服務(wù)器;903、判斷加速下載子模塊參數(shù)是否已設(shè)定?如果否,則轉(zhuǎn)步驟904 ;如果是,則同時(shí)轉(zhuǎn)步驟905和步驟909 ; 904、獲取加速下載參數(shù),并轉(zhuǎn)步驟903 ;905、加速下載子模塊根據(jù)加速下載參數(shù),對P2P網(wǎng)絡(luò)連接進(jìn)行限速,同時(shí)利用HTTP服務(wù)器獲取后續(xù)部分的流媒體數(shù)據(jù);906、傳輸控制模塊將已下載資源數(shù)據(jù)緩存在內(nèi)存;907、判斷緩存的數(shù)據(jù)是否小于預(yù)置的門限值?如果是,則轉(zhuǎn)步驟905 ;如果否,則轉(zhuǎn)步驟908 ;908、傳輸控制模塊解除對所述P2P網(wǎng)絡(luò)連接進(jìn)行的限速,同時(shí)將下載的資源數(shù)據(jù)推送給播放器,轉(zhuǎn)步驟913;909、加速下載子模塊根據(jù)加速下載參數(shù),對P2P網(wǎng)絡(luò)連接進(jìn)行限速,同時(shí)利用P2P網(wǎng)絡(luò)連接獲取后續(xù)部分的流媒體數(shù)據(jù);910、傳輸控制模塊將已下載資源數(shù)據(jù)緩存在內(nèi)存;911、判斷緩存的數(shù)據(jù)是否小于預(yù)置的門限值?如果否,則轉(zhuǎn)步驟912 ;如果是,則轉(zhuǎn)步驟909 ;912、傳輸控制模塊解除對所述P2P網(wǎng)絡(luò)連接進(jìn)行的限速,同時(shí)將下載的資源數(shù)據(jù)推送給播放器,轉(zhuǎn)步驟913;913、流程B結(jié)束。上述加速下載子模塊按照加速加載參數(shù)給定的下載數(shù)據(jù)量從HTTP服務(wù)器下載資源數(shù)據(jù),下載完參數(shù)給定的數(shù)據(jù)量以后結(jié)束工作。在初始下載的時(shí)候,傳輸控制模塊維持限速的P2P下載,等加速下載子模塊將設(shè)定數(shù)據(jù)量的資源數(shù)據(jù)以HTTP協(xié)議傳輸完畢之后,再全速以P2P方式下載視音頻資源。比如對2M的ADSL帶寬,碼率為600-800KB的網(wǎng)絡(luò)環(huán)境,20-30S時(shí)長的資源數(shù)據(jù)量大約為3M,可滿足P2P方式資源數(shù)據(jù)的下載和緩沖。因此給加速下載模塊分配30S時(shí)長的下載數(shù)據(jù)量,同時(shí)傳輸控制模塊限制P2P下載速度,比如限制下載速度為60KB。過程描述播放器進(jìn)行一次點(diǎn)播,首先向用戶跟蹤服務(wù)器請求P2P節(jié)點(diǎn)信息,用戶跟蹤服務(wù)器返回節(jié)點(diǎn)信息,播放器將逐一進(jìn)行連接。與此同時(shí)在向用戶跟蹤服務(wù)器請求P2P節(jié)點(diǎn)信息后,立即向高速通道服務(wù)器(HTTP服務(wù)器或者私有協(xié)議服務(wù)器)請求高速通道中的服務(wù)器,若高速通道服務(wù)器存在此文件HASH(計(jì)算出來的文件的標(biāo)識(shí)),則將對應(yīng)的服務(wù)器信息回給播放器,播放器對該高速通道服務(wù)器進(jìn)行連接。當(dāng)播放器與高速通道服務(wù)器連接成功,此時(shí)會(huì)對P2P下載網(wǎng)絡(luò)進(jìn)行限速,限速的范圍在整個(gè)網(wǎng)絡(luò)帶寬的20-30%。限速的目的是為了將本地充足的帶寬利用在與高速通道中的服務(wù)器通信。本實(shí)施方式中,與高速通道的服務(wù)器連接成功獲取足夠播放30秒的數(shù)據(jù)量,并斷開連接,同時(shí)放開對P2P網(wǎng)絡(luò)的限速。當(dāng)用戶人為拖動(dòng)進(jìn)度條到一個(gè)未下載位置中時(shí),加速過程如下在保持原有P2P網(wǎng)絡(luò)正常下載的情況下,分離模塊不處理收到的索引信息,不跳至視音頻文件尾部下載索引信息表,在播放器后臺(tái)下載文件頭時(shí),不下載索引信息表的處理加快了給用戶展示視頻的速度。由于本發(fā)明應(yīng)用實(shí)例下載完畢后加速下載子模塊結(jié)束工作,傳輸控制模塊取消限速下載,以P2P方式全速下載,提供穩(wěn)定連續(xù)的視音頻資源數(shù)據(jù)流。用戶隨機(jī)訪問時(shí),比如拖拽進(jìn)度條,才下載索引信息表,減少解析流媒體視音頻數(shù)據(jù)結(jié)構(gòu)的時(shí)間,可更快速呈現(xiàn)視
頻節(jié)目。設(shè)置加速下載子模塊,根據(jù)網(wǎng)絡(luò)環(huán)境配置對應(yīng)的加速下載參數(shù);分配下載數(shù)據(jù)量,使其與不同的網(wǎng)絡(luò)傳輸方式項(xiàng)搭配以最快的速度將視頻呈現(xiàn)給用戶,顯示即時(shí),體驗(yàn)流暢。由于本發(fā)明應(yīng)用實(shí)例采用HTTP與P2P并行,在對P2P網(wǎng)絡(luò)的智能限速的模式下,保證HTTP有足夠的帶寬進(jìn)行下載。該方式優(yōu)點(diǎn)是更快的初始化好P2P網(wǎng)絡(luò)節(jié)點(diǎn),當(dāng)HTTP下載結(jié)束后可以用最短時(shí)間內(nèi)還原P2P下載,以保證數(shù)據(jù)能夠緊密銜接,不至于中途頓一下。由于本發(fā)明應(yīng)用實(shí)例P2P網(wǎng)絡(luò)部分下載是一個(gè)整體,HTTP高速通道也是一個(gè)整體,當(dāng)HTTP服務(wù)器故障時(shí)候,P2P網(wǎng)絡(luò)部分照原樣運(yùn)行,可以完全不受影響。當(dāng)HTTP高速服務(wù)恢復(fù),會(huì)自動(dòng)銜接上。由于本發(fā)明應(yīng)用實(shí)例通過對文件的碼率計(jì)算,得知30秒播放的數(shù)據(jù)信息長度,這樣的優(yōu)點(diǎn)是,不至于下載的數(shù)據(jù)過多加大了高速服務(wù)器的部署負(fù)擔(dān),或過少無法滿足播放的需求,畫面出現(xiàn)就立即卡住等待P2P下載了。由于本發(fā)明應(yīng)用實(shí)例將加速的觸發(fā)權(quán)力留給用戶,當(dāng)用戶選擇拖動(dòng)的情況去加速。這樣的優(yōu)點(diǎn)是充分利用P2P進(jìn)行數(shù)據(jù)下載,節(jié)約了實(shí)際運(yùn)營成本。 由于本發(fā)明應(yīng)用實(shí)例利用高速通道服務(wù)器優(yōu)先下載初始部分?jǐn)?shù)據(jù),并且結(jié)合播放部分的無索引播放技術(shù),可以讓首次點(diǎn)播更快。當(dāng)用戶拖動(dòng)視音頻的時(shí)候是需要索引信息的,本發(fā)明應(yīng)用實(shí)例可以利用P2P網(wǎng)絡(luò)優(yōu)先下載索引,可以在首次限速結(jié)束后,即將索引悄悄的就下載回來,當(dāng)用戶第一次拖動(dòng)的時(shí)候,很可能索引已經(jīng)下載完成,此時(shí)只需要下載當(dāng)前拖動(dòng)的數(shù)據(jù)即可,所以也起到了加速效果。所以整體效果會(huì)比對方原有設(shè)計(jì)更快捷。本領(lǐng)域技術(shù)人員還可以了解到本發(fā)明實(shí)施例列出的各種說明性邏輯塊(illustrative logical block),單元,和步驟可以通過電子硬件、電腦軟件,或兩者的結(jié)合進(jìn)行實(shí)現(xiàn)。為清楚展示硬件和軟件的可替換性(interchangeability),上述的各種說明性部件(illustrative components),單元和步驟已經(jīng)通用地描述了它們的功能。這樣的功能是通過硬件還是軟件來實(shí)現(xiàn)取決于特定的應(yīng)用和整個(gè)系統(tǒng)的設(shè)計(jì)要求。本領(lǐng)域技術(shù)人員可以對于每種特定的應(yīng)用,可以使用各種方法實(shí)現(xiàn)所述的功能,但這種實(shí)現(xiàn)不應(yīng)被理解為超出本發(fā)明實(shí)施例保護(hù)的范圍。本發(fā)明實(shí)施例中所描述的各種說明性的邏輯塊,或單元都可以通過通用處理器,數(shù)字信號(hào)處理器,專用集成電路(ASIC),現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯裝置,離散門或晶體管邏輯,離散硬件部件,或上述任何組合的設(shè)計(jì)來實(shí)現(xiàn)或操作所描述的功能。通用處理器可以為微處理器,可選地,該通用處理器也可以為任何傳統(tǒng)的處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可以通過計(jì)算裝置的組合來實(shí)現(xiàn),例如數(shù)字信號(hào)處理器和微處理器,多個(gè)微處理器,一個(gè)或多個(gè)微處理器聯(lián)合一個(gè)數(shù)字信號(hào)處理器核,或任何其它類似的配置來實(shí)現(xiàn)。本發(fā)明實(shí)施例中所描述的方法或算法的步驟可以直接嵌入硬件、處理器執(zhí)行的軟件模塊、或者這兩者的結(jié)合。軟件模塊可以存儲(chǔ)于RAM存儲(chǔ)器、閃存、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤、可移動(dòng)磁盤、⑶-ROM或本領(lǐng)域中其它任意形式的存儲(chǔ)媒介中。示例性地,存儲(chǔ)媒介可以與處理器連接,以使得處理器可以從存儲(chǔ)媒介中讀取信息,并可以向存儲(chǔ)媒介存寫信息??蛇x地,存儲(chǔ)媒介還可以集成到處理器中。處理器和存儲(chǔ)媒介可以設(shè)置于ASIC中,ASIC可以設(shè)置于用戶終端中??蛇x地,處理器和存儲(chǔ)媒介也可以設(shè)置于用戶終端中的不同的部件中。在一個(gè)或多個(gè)示例性的設(shè)計(jì)中,本發(fā)明實(shí)施例所描述的上述功能可以在硬件、軟·件、固件或這三者的任意組合來實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn),這些功能可以存儲(chǔ)與電腦可讀的媒介上,或以一個(gè)或多個(gè)指令或代碼形式傳輸于電腦可讀的媒介上。電腦可讀媒介包括電腦存儲(chǔ)媒介和便于使得讓電腦程序從一個(gè)地方轉(zhuǎn)移到其它地方的通信媒介。存儲(chǔ)媒介可以是任何通用或特殊電腦可以接入訪問的可用媒體。例如,這樣的電腦可讀媒體可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)、磁盤存儲(chǔ)或其它磁性存儲(chǔ)裝置,或其它任何可以用于承載或存儲(chǔ)以指令或數(shù)據(jù)結(jié)構(gòu)和其它可被通用或特殊電腦、或通用或特殊處理器讀取形式的程序代碼的媒介。此外,任何連接都可以被適當(dāng)?shù)囟x為電腦可讀媒介,例如,如果軟件是從一個(gè)網(wǎng)站站點(diǎn)、服務(wù)器或其它遠(yuǎn)程資源通過一個(gè)同軸電纜、光纖電腦、雙絞線、數(shù)字用戶線(DSL)或以例如紅外、無線和微波等無線方式傳輸?shù)囊脖话谒x的電腦可讀媒介中。所述的碟片(disk)和磁盤(disc)包括壓縮磁盤、鐳射盤、光盤、DVD、軟盤和藍(lán)光光盤,磁盤通常以磁性復(fù)制數(shù)據(jù),而碟片通常以激光進(jìn)行光學(xué)復(fù)制數(shù)據(jù)。上述的組合也可以包含在電腦可讀媒介中。以上所述的具體實(shí)施方式
,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式
而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種在線流媒體播放的方法,其特征在于,所述方法包括 當(dāng)點(diǎn)播終端初始播放時(shí)或者傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),對P2P網(wǎng)絡(luò)連接進(jìn)行限速,同時(shí)加速下載子模塊與高速通道服務(wù)器建立高速下載通道,對所述預(yù)置的門限值的數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載; 若傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量大于或者等于所述預(yù)置的門限值時(shí),解除對所述P2P網(wǎng)絡(luò)連接的限速,同時(shí)加速下載子模塊關(guān)閉所述高速下載通道,由所述P2P網(wǎng)絡(luò)全速獲取后續(xù)部分的流媒體數(shù)據(jù)。
2.如權(quán)利要求I所述方法,其特征在于,所述方法還包括 當(dāng)所述點(diǎn)播終端的用戶拖動(dòng)進(jìn)度條后,所述傳輸控制模塊檢測點(diǎn)播終端的緩沖區(qū)內(nèi)的緩存流媒體數(shù)據(jù)是否滿足一預(yù)置時(shí)長的播放,在該預(yù)置時(shí)長內(nèi),所述傳輸控制模塊下載和緩存流媒體數(shù)據(jù);所述預(yù)置時(shí)長的流媒體數(shù)據(jù)量是所述預(yù)置的門限值的三分之一到二分之一的范圍。
3.如權(quán)利要求I所述方法,其特征在于,所述方法還包括 當(dāng)所述點(diǎn)播終端下載文件頭時(shí),分離模塊對檢測到索引信息不處理直接進(jìn)行所述緩存流媒體數(shù)據(jù)的播放。
4.如權(quán)利要求3所述方法,其特征在于,當(dāng)所述點(diǎn)播終端下載數(shù)據(jù)部分時(shí),將索引信息交由傳輸控制模塊由P2P網(wǎng)絡(luò)下載索引信息表,當(dāng)用戶拖動(dòng)進(jìn)度條隨機(jī)訪問文件時(shí),傳輸控制模塊判斷是否已下載索引信息表,在沒有下載索引信息表的情況下傳輸控制模塊限速P2P網(wǎng)絡(luò),加速下載子模塊打開高速下載通道,共同下載索引信息表。
5.如權(quán)利要求I所述方法,其特征在于,所述預(yù)置的門限值為播放30秒時(shí)長的流媒體數(shù)據(jù)量;所述高速通道服務(wù)器包括HTTP服務(wù)器或者私有協(xié)議服務(wù)器;所述對P2P網(wǎng)絡(luò)連接進(jìn)行限速,包括限制所述P2P網(wǎng)絡(luò)連接所用帶寬占整個(gè)網(wǎng)絡(luò)帶寬的20% -30%。
6.一種在線流媒體播放的點(diǎn)播終端,其特征在于,所述點(diǎn)播終端包括 加速下載子模塊,用于當(dāng)點(diǎn)播終端初始播放時(shí)或者傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),與高速通道服務(wù)器建立高速下載通道,對所述預(yù)置的門限值的數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載;以及用于在下載的數(shù)據(jù)量大于或等于所述預(yù)置的門限值時(shí),關(guān)閉所述高速下載通道; 傳輸控制模塊,用于當(dāng)點(diǎn)播終端初始播放時(shí)或者判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),對P2P網(wǎng)絡(luò)連接進(jìn)行限速;以及用于判斷當(dāng)前下載的數(shù)據(jù)量大于或者等于所述預(yù)置的門限值時(shí),解除對所述P2P網(wǎng)絡(luò)連接的限速,由所述P2P網(wǎng)絡(luò)全速獲取后續(xù)部分的流媒體數(shù)據(jù)。
7.如權(quán)利要求6所述點(diǎn)播終端,其特征在于,所述傳輸控制模塊包括 檢測單元,用于當(dāng)所述點(diǎn)播終端的用戶拖動(dòng)進(jìn)度條后,檢測點(diǎn)播終端的緩沖區(qū)內(nèi)的緩存流媒體數(shù)據(jù)是否滿足一預(yù)置時(shí)長的播放,在該預(yù)置時(shí)長內(nèi),所述傳輸控制模塊下載和緩存流媒體數(shù)據(jù);所述預(yù)置時(shí)長的流媒體數(shù)據(jù)量是所述預(yù)置的門限值的三分之一至二分之一范圍內(nèi)。
8.如權(quán)利要求6所述點(diǎn)播終端,其特征在于,所述點(diǎn)播終端還包括 分離模塊,用于在所述點(diǎn)播終端下載文件頭時(shí)不處理檢測到的索引信息直接進(jìn)行所述緩存流媒體數(shù)據(jù)的播放。
9.如權(quán)利要求8所述點(diǎn)播終端,其特征在于,當(dāng)所述點(diǎn)播終端下載數(shù)據(jù)部分時(shí),將索引信息交由傳輸控制模塊由P2P網(wǎng)絡(luò)下載索引信息表,當(dāng)用戶拖動(dòng)進(jìn)度條隨機(jī)訪問文件時(shí),傳輸控制模塊判斷是否已下載索引信息表,在沒有下載索引信息表的情況下傳輸控制模塊限速P2P網(wǎng)絡(luò),加速下載子模塊打開高速下載通道,共同下載索引信息表。
10.如權(quán)利要求6所述點(diǎn)播終端,其特征在于,所述預(yù)置的門限值為播放30秒時(shí)長的流媒體數(shù)據(jù)量;所述高速通道服務(wù)器包括HTTP服務(wù)器或者私有協(xié)議服務(wù)器,所述傳輸控制模塊包括 限速單元,用于限制所述P2P網(wǎng)絡(luò)連接所用帶寬占整個(gè)網(wǎng)絡(luò)帶寬的20% -30%。
全文摘要
本發(fā)明實(shí)施例提供一種在線流媒體播放的方法及點(diǎn)播終端,所述方法包括當(dāng)點(diǎn)播終端初始播放時(shí)或者傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量小于預(yù)置的門限值時(shí),對P2P網(wǎng)絡(luò)連接進(jìn)行限速,同時(shí)加速下載子模塊與高速通道服務(wù)器建立高速下載通道,對預(yù)置的門限值的數(shù)據(jù)量的流媒體數(shù)據(jù)進(jìn)行加速下載;若傳輸控制模塊判斷當(dāng)前下載的數(shù)據(jù)量大于或者等于預(yù)置的門限值時(shí),解除對P2P網(wǎng)絡(luò)連接的限速,同時(shí)加速下載子模塊關(guān)閉高速下載通道,由P2P網(wǎng)絡(luò)全速獲取后續(xù)部分的流媒體數(shù)據(jù)。所述在線流媒體播放的點(diǎn)播終端包括加速下載子模塊和傳輸控制模塊。本發(fā)明實(shí)施例上述技術(shù)方案具有如下有益效果可以減少用戶的等待時(shí)間,加速將流媒體內(nèi)容呈現(xiàn)給用戶觀看。
文檔編號(hào)H04N21/643GK102790925SQ20111013366
公開日2012年11月21日 申請日期2011年5月20日 優(yōu)先權(quán)日2011年5月20日
發(fā)明者劉大衛(wèi), 張克東, 王羲桀 申請人:深圳市快播科技有限公司