專利名稱:一種客戶端及其對(duì)在線直播的幀數(shù)據(jù)進(jìn)行控制的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別涉及一種客戶端及其對(duì)在線直播的幀數(shù)據(jù) 進(jìn)行控制的方法。
背景技術(shù):
目前網(wǎng)絡(luò)的在線播放幀數(shù)據(jù)(視頻幀數(shù)據(jù)或音頻幀數(shù)據(jù))分為直播和點(diǎn)播 兩種。以視頻為例,點(diǎn)播是將所有提供給用戶觀看的內(nèi)容都存放在服務(wù)器里, 當(dāng)用戶需要觀看某個(gè)影片或者視頻時(shí),選擇需要觀看的影片或者視頻,服務(wù)器 接收來自用戶的觀看請(qǐng)求,然后在客戶端播放該影片及視頻。而直播內(nèi)容是在 指定的時(shí)間段將指定的內(nèi)容提供給用戶觀看,比如奧運(yùn)會(huì)的直播,電視劇的直 播等等。相對(duì)于點(diǎn)播的方式,直播的服務(wù)器不需要保存更多的幀數(shù)據(jù),因?yàn)辄c(diǎn)播是 將所有的內(nèi)容都先保存于服務(wù)器,由用戶選擇點(diǎn)播哪個(gè)視頻進(jìn)行觀看。而直播 分為兩種情況, 一種是實(shí)時(shí)的,比如直播足球賽事,此時(shí)服務(wù)器商不可能提前知道比賽的內(nèi)容,只有通過衛(wèi)星傳輸?shù)椒?wù)器后,再提供給在線的用戶觀看; 另一種是同步的,比如電視劇,服務(wù)器只需要保存當(dāng)前時(shí)間段需要提供給用戶 播放的電視劇即可,在該電視劇播放完畢后,服務(wù)器商即可以刪除。因此,相 對(duì)于點(diǎn)播,直播由于只需保存當(dāng)時(shí)需要播放的幀數(shù)據(jù),不需要大量的存儲(chǔ)空間。用戶在點(diǎn)播服務(wù)器商提供的內(nèi)容時(shí),可以通過播放器上暫停,倒退等,對(duì) 播放的內(nèi)容(視頻或音頻)進(jìn)行控制,而直播無法完成上述操作。綜上所述,目前由于在線直播具有一定的實(shí)時(shí)性,4艮難對(duì)在線直播的幀數(shù) 據(jù)進(jìn)行控制。發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種客戶端及其對(duì)在線直播的幀數(shù)據(jù)進(jìn)行控制的方法, 用以解決現(xiàn)有技術(shù)中存在的由于在線直播具有實(shí)時(shí)性,很難對(duì)在線直播的幀數(shù) 據(jù)進(jìn)行控制的問題。本發(fā)明實(shí)施例提供的 一種對(duì)在線直播的幀數(shù)據(jù)進(jìn)行控制的方法包括 客戶端緩存在線直播的幀數(shù)據(jù),并建立播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系;所述客戶端根據(jù)所述播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定待播放時(shí) 間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從對(duì)應(yīng)的緩存的該幀數(shù)據(jù)開始播放。本發(fā)明實(shí)施例提供的一種客戶端包括接收模塊,用于緩存在線直播的幀數(shù)據(jù),并建立播放時(shí)間與緩存的幀數(shù)據(jù) 的對(duì)應(yīng)關(guān)系;處理模塊,用于根據(jù)所述播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定待播 放時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從對(duì)應(yīng)的緩存的該幀數(shù)據(jù)開始播放。本發(fā)明實(shí)施例客戶端緩存在線直播的幀數(shù)據(jù),并建立播放時(shí)間與緩存的幀 數(shù)據(jù)的對(duì)應(yīng)關(guān)系;所述客戶端根據(jù)所述播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系, 確定待播放時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從對(duì)應(yīng)的緩存的該幀數(shù)據(jù)開始播放, 能夠?qū)υ诰€直播的幀數(shù)據(jù)進(jìn)行控制,提高了在線直播的效率和用戶體驗(yàn),能夠 對(duì)在線直播的幀數(shù)據(jù)進(jìn)行控制,提高了在線直播的效率和用戶體驗(yàn)。
圖1為本發(fā)明實(shí)施例客戶端結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例對(duì)在線直播的幀數(shù)據(jù)進(jìn)行控制的方法流程示意圖; 圖3為本發(fā)明實(shí)施例對(duì)幀數(shù)據(jù)進(jìn)行暫停的方法流程示意圖; 圖4為本發(fā)明實(shí)施例對(duì)幀數(shù)據(jù)進(jìn)行倒退的方法流程示意圖; 圖5本發(fā)明實(shí)施例倒退時(shí)間選擇示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例客戶端在緩存幀數(shù)據(jù)的同時(shí),建立播放時(shí)間與緩存的幀數(shù)據(jù) 的對(duì)應(yīng)關(guān)系,這樣在用戶需要對(duì)幀數(shù)據(jù)進(jìn)行操作時(shí)(比如,暫停、倒退等等), 則根據(jù)建立的播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定待播放的時(shí)間對(duì)應(yīng)的 幀數(shù)據(jù),從該幀數(shù)據(jù)開始播放,從而能夠?qū)υ诰€直播的幀數(shù)據(jù)進(jìn)行控制,提高 了用戶體驗(yàn)。其中,本發(fā)明實(shí)施例的客戶端可以以插件形式安裝在播放器中,或者獨(dú)立 成為一個(gè)新的播放器。下面結(jié)合說明書附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)描述。如圖l所示,本發(fā)明實(shí)施例客戶端包括接收模塊10和處理模塊20。 接收模塊IO,用于緩存在線直播的幀數(shù)據(jù),并建立播放時(shí)間與緩存的幀數(shù) 據(jù)的對(duì)應(yīng)關(guān)系。處理模塊20,用于根據(jù)接收模塊10建立的播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì) 應(yīng)關(guān)系,確定待播;改時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從對(duì)應(yīng)的緩存的該幀數(shù)據(jù)開 始播放。下面以暫停控制和倒退控制對(duì)本實(shí)施例進(jìn)行說明。其中,如果客戶端可以進(jìn)行暫??刂疲邮漳KIO還可以進(jìn)一步包括: 第一建立模塊100。第一建立模塊100,用于緩存在線直播的幀數(shù)據(jù),在用戶選擇暫停后,暫 停播放幀數(shù)據(jù),并繼續(xù)緩存暫停后的幀數(shù)據(jù),從暫停時(shí)的播放時(shí)間點(diǎn)開始,播 放建立時(shí)間點(diǎn)與緩存的暫停后的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系。則處理模塊20還可以進(jìn)一步包括第一確定模塊200。第一確定模塊200,用于在用戶選擇播放后,根據(jù)第一建立模塊IOO建立 的時(shí)間點(diǎn)與緩存的暫停后的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定暫停時(shí)的播放時(shí)間點(diǎn)所對(duì) 應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù)開始播放。具體的,時(shí)間與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系可以采用文件夾的形式建立,則第一建立模塊100還可以進(jìn)一步包括第一文件夾建立模塊1000和第一移動(dòng)模塊 1010。第一文件夾建立模塊1000,用于在用戶選擇暫停后,暫停播放幀數(shù)據(jù),并建立一文件夾。第一移動(dòng)模塊ioio,用于緩存在線直播的幀數(shù)據(jù),在用戶選擇暫停后,繼續(xù)緩存暫停后后的幀數(shù)據(jù),并將該緩存的暫停后的幀數(shù)據(jù),置于該文件夾中。則第一確定模塊200還可以進(jìn)一步包括第一模塊2000和第一播放模塊 2010。第一模塊2000,用于在用戶選擇播放后,按照緩存的暫停后的幀數(shù)據(jù)的順序,確定第一文件夾建立模塊1000建立的文件夾中的第一個(gè)幀數(shù)據(jù)。 第一播放模塊2010,用于從第一模塊2000確定的幀數(shù)據(jù)開始播放。 其中,如果客戶端可以進(jìn)行倒退控制,接收模塊IO還可以進(jìn)一步包括第二建立^^莫塊110。第二建立模塊IIO,用于緩存在線直播的幀數(shù)據(jù),根據(jù)設(shè)定的單位時(shí)間段,建立播放時(shí)間段與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系。則處理模塊20還可以進(jìn)一步包括第二確定模塊210。第二確定模塊210,用于根據(jù)第二建立模塊110建立的播放時(shí)間段與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定需要倒退的時(shí)間段對(duì)應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù)處開始播放。具體的,播放時(shí)間段與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系可以采用文件夾的形式建立,則 第二建立模塊110還可以進(jìn)一步包括第二文件夾建立模塊1100和第二移動(dòng) 模塊1110。第二文件夾建立模塊IIOO,用于根據(jù)設(shè)定的第一閾值建立文件夾,比如 設(shè)定的第一閾值為10,則建立IO個(gè)文件夾。第二移動(dòng)模塊1110,用于將每個(gè)單位時(shí)間段內(nèi)緩存的幀數(shù)據(jù)置于對(duì)應(yīng)的文件夾中。
比如單位時(shí)間為1分鐘,則將第一分鐘緩存的幀數(shù)據(jù)置于第一個(gè)文件夾, 第二分鐘緩存的幀數(shù)據(jù)置于第二個(gè)文件夾,依次類推;或者將第一分鐘緩存的 幀數(shù)據(jù)置于任意一個(gè)文件夾中,并建立該文件夾與第一分鐘的時(shí)間的對(duì)應(yīng)關(guān) 系,第二分鐘緩存的幀數(shù)據(jù)置于沒有幀數(shù)據(jù)的其他一個(gè)文件夾中,并建立該文 件夾與第二分鐘的時(shí)間的對(duì)應(yīng)關(guān)系,依次類推。
則第二確定模塊210還可以進(jìn)一步包括第二模塊2100和第二播放模塊 2110。
第二模塊2100,用于確定需要倒退的時(shí)間段對(duì)應(yīng)的文件夾,按照緩存的順
序,確定該文件夾中的第一個(gè)幀數(shù)據(jù)。
比如倒退的時(shí)間^敬為第二分鐘,則先確定緩存第二分鐘的幀數(shù)據(jù)的文件
夾,然后再根據(jù)緩存的順序,確定該文件夾中的第一個(gè)幀數(shù)據(jù)。
第二播放模塊2110,用于從第二模塊2100確定幀數(shù)據(jù)開始播放。 其中,第二建立模塊IIO還可以進(jìn)一步包括第一清空模塊1120。 第一清空模塊1120,用于如果第二文件夾建立模塊IIOO建立的文件夾的
數(shù)量達(dá)到設(shè)定的第一闊值,并且每個(gè)文件夾中都有緩存的幀數(shù)據(jù),在第二移動(dòng)
模塊1110緩存新的幀數(shù)據(jù)時(shí),將最先緩存的幀數(shù)據(jù)所在的文件夾中的數(shù)據(jù)清
空,并將新緩存的幀數(shù)據(jù)置于清空的文件夾中。
其中,如果客戶端可以進(jìn)行倒退控制,接收模塊IO還可以進(jìn)一步包括
第三建立模塊120。
第三建立模塊120,用于緩存在線直播的幀數(shù)據(jù),根據(jù)設(shè)定的單位時(shí)間點(diǎn),
建立播放時(shí)間點(diǎn)與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系。
則處理模塊20還可以進(jìn)一步包括第三確定模塊220。 第三確定模塊220,用于根據(jù)第三建立模塊120建立的播放時(shí)間點(diǎn)與幀數(shù)
據(jù)的對(duì)應(yīng)關(guān)系,確定需要倒退的時(shí)間點(diǎn)對(duì)應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù)開始
播放具體的,4番;故時(shí)間點(diǎn)與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系可以采用文件夾的形式建立,則 第三建立模塊120還可以進(jìn)一步包括第三文件夾建立模塊1200和第三移動(dòng) 模塊1210。第三文件夾建立模塊1200,用于根據(jù)設(shè)定的第二閾值建立文件夾。 第三移動(dòng)模塊1210,用于將多個(gè)單位時(shí)間點(diǎn)緩存的幀數(shù)據(jù)置于對(duì)應(yīng)的文件 夾中。比如設(shè)定每個(gè)文件夾緩存10個(gè)單位時(shí)間點(diǎn)緩存的幀數(shù)據(jù),則將1-10 的單位時(shí)間點(diǎn)緩存的數(shù)據(jù)置于第一個(gè)文件夾中,將11-20的單位時(shí)間點(diǎn)緩存 的數(shù)據(jù)置于第二個(gè)文件夾中,依次類推;或者將1-10的單位時(shí)間點(diǎn)緩存的數(shù) 據(jù)置于任意一個(gè)文件夾中,并建立該文件夾與1 - 10的單位時(shí)間點(diǎn)的對(duì)應(yīng)關(guān)系, 將11-20的單位時(shí)間點(diǎn)緩存的數(shù)據(jù)置于沒有幀數(shù)據(jù)的其他一個(gè)文件夾中,并 建立該文件夾與11-20的單位時(shí)間點(diǎn)的對(duì)應(yīng)關(guān)系,依次類推。則第三確定模塊220還可以進(jìn)一步包括第三模塊2200和第三播放模塊 2210。第三模塊2200,用于確定需要倒退的時(shí)間點(diǎn)對(duì)應(yīng)的文件夾,按照緩存的順序,確定該文件夾中的單位時(shí)間點(diǎn)對(duì)應(yīng)的幀數(shù)據(jù)。比如倒退的時(shí)間點(diǎn)為第IO單位時(shí)間點(diǎn),則先確定緩存第IO單位時(shí)間點(diǎn)的幀數(shù)據(jù)的文件夾,然后再根據(jù)緩存的順序,確定該文件夾中的第10單位時(shí)間點(diǎn)對(duì)應(yīng)的幀凝:據(jù)。第三播放模塊2210,用于從第三模塊2200確定幀數(shù)據(jù)開始播放。 其中,第三建立模塊120還可以進(jìn)一步包括第二清空模塊1220。 第二清空模塊1220,用于如果第三文件夾建立模塊1200建立的文件夾的數(shù)量達(dá)到設(shè)定的第二閾值,并且每個(gè)文件夾中都有緩存的幀數(shù)據(jù),在第三移動(dòng)模塊1210緩存新的幀數(shù)據(jù)時(shí),將最先緩存的幀數(shù)據(jù)所在的文件夾中的數(shù)據(jù)清空,并將新緩存的幀數(shù)據(jù)置于清空的文件夾中。在具體實(shí)施過程中,4番放時(shí)間與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系不限于文件夾的形式,任何能夠確定時(shí)間與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系的形式都適用本實(shí)施例。
比如采用列表、索引信息等等,還可以為幀數(shù)據(jù)建立一個(gè)標(biāo)識(shí),具體的, 在用戶點(diǎn)擊暫停時(shí),為暫停的當(dāng)前時(shí)間,緩存的幀數(shù)據(jù)建立一個(gè)標(biāo)識(shí)(之后緩 存的幀數(shù)據(jù)也可以建立同樣的標(biāo)識(shí),也可以不建立),在用戶選擇播放時(shí),該
標(biāo)識(shí)對(duì)應(yīng)的第一個(gè)幀數(shù)據(jù)處開始播放;對(duì)于倒退,可以為同一單位時(shí)間內(nèi)收到
的幀數(shù)據(jù)分配相同的標(biāo)識(shí),才艮據(jù)倒退時(shí)間確定對(duì)應(yīng)的標(biāo)識(shí),從該標(biāo)識(shí)對(duì)應(yīng)的第
一個(gè)幀數(shù)據(jù)處開始播放。
其中,本發(fā)明實(shí)施例客戶端還可以進(jìn)一步包括更新模塊30。 更新模塊30,用于如果用戶選擇更新,從用戶選擇更新時(shí)所緩存的幀數(shù)據(jù)
開始播放。
需要說明的是,本實(shí)施例并不局限于暫??刂坪偷雇丝刂?,其他控制本實(shí) 施例同樣可以實(shí)現(xiàn),比如快退,倒退后的快進(jìn)等等,具體過程與暫停和倒退 類似,不再贅述。
如圖2所示,本發(fā)明實(shí)施例對(duì)在線直播的幀數(shù)據(jù)進(jìn)行控制的方法包括下列 步驟
步驟200、客戶端緩存在線直播的幀數(shù)據(jù),并建立插i文時(shí)間與緩存的幀數(shù) 據(jù)的對(duì)應(yīng)關(guān)系。
其中播放時(shí)間包括播放時(shí)間點(diǎn)和播放時(shí)間段。
步驟201、客戶端根據(jù)建立的播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定 待播放時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從對(duì)應(yīng)的緩存的該幀數(shù)據(jù)開始播放。
下面以暫??刂坪偷雇丝刂茖?duì)本實(shí)施例進(jìn)行說明。
其中,如果是暫??刂?,步驟200還可以進(jìn)一步包括
步驟a200、客戶端在用戶選擇暫停后,暫停播放幀數(shù)據(jù),并繼續(xù)緩存暫停 后的幀數(shù)據(jù),從暫停時(shí)的播放時(shí)間點(diǎn)開始,建立時(shí)間點(diǎn)與緩存的暫停后的幀數(shù) 據(jù)的對(duì)應(yīng)關(guān)系。
則步驟201還可以進(jìn)一步包括步驟a201、客戶端在用戶選擇播放后,根據(jù)建立的播放時(shí)間點(diǎn)與緩存的暫 停后的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定暫停時(shí)的播放時(shí)間點(diǎn)所對(duì)應(yīng)的幀數(shù)據(jù),并從確 定的幀數(shù)據(jù)處開始播放。具體的,播放時(shí)間點(diǎn)與緩存的暫停后的對(duì)應(yīng)關(guān)系可以采用文件夾的形式建 立,則步驟a200中,客戶端在用戶選擇暫停后,暫停播放幀數(shù)據(jù),并繼續(xù)緩 存暫停后的幀數(shù)據(jù),將該緩存的暫停后的幀lt據(jù)置于文件夾中;步驟a201中,客戶端在用戶選擇播放后,按照緩存的暫停后的幀數(shù)據(jù)的 順序,播放該文件夾中的幀數(shù)據(jù)。其中,如果是倒退控制,則步驟200還可以進(jìn)一步包括步驟b200、客戶端根據(jù)設(shè)定的單位時(shí)間段,建立播放時(shí)間段與緩存的幀數(shù) 據(jù)的對(duì)應(yīng)關(guān)系。步驟b201、客戶端根據(jù)建立的播放時(shí)間段與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確 定需要倒退的時(shí)間段對(duì)應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù)開始播放。具體的,播放時(shí)間段與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系可以采用文件夾的形式建 立,則步驟b200中,客戶端將每個(gè)單位時(shí)間段內(nèi)緩存的幀數(shù)據(jù)置于對(duì)應(yīng)的文 件夾中;比如設(shè)定的第一閾值為10,單位時(shí)間為l分鐘,則建立IO個(gè)文件夾, 將第一分鐘緩存的幀數(shù)據(jù)置于第一個(gè)文件夾,第二分鐘緩存的幀數(shù)據(jù)置于第二 個(gè)文件夾,依次類推;或者將第一分鐘緩存的幀數(shù)據(jù)置于任意一個(gè)文件夾中, 并建立該文件夾與第一分鐘的時(shí)間的對(duì)應(yīng)關(guān)系,第二分鐘緩存的幀數(shù)據(jù)置于沒 有幀數(shù)據(jù)的其他一個(gè)文件夾中,并建立該文件夾與第二分鐘的時(shí)間的對(duì)應(yīng)關(guān) 系,依次類4侏。步驟b201中,客戶端確定需要倒退的時(shí)間段對(duì)應(yīng)的文件夾,按照緩存的 順序,確定該文件夾中的第一個(gè)幀數(shù)據(jù),并從該幀數(shù)據(jù)開始播放。比如倒退的時(shí)間_度為第二分鐘開始,則先確定緩存第二分鐘的幀數(shù)據(jù)的 文件夾,然后再根據(jù)緩存的順序,確定該文件夾中的第一個(gè)幀數(shù)據(jù)。其中,如果b200中,文件夾的數(shù)量達(dá)到設(shè)定的第一閾值,并且每個(gè)文件 夾中都有緩存的幀數(shù)據(jù),則客戶端在緩存新的幀數(shù)據(jù)時(shí),將最先緩存的幀數(shù)據(jù) 所在的文件夾中的數(shù)據(jù)清空,并將新緩存的幀數(shù)據(jù)置于清空的文件夾中。 其中,如果是倒退控制,則步驟200還可以進(jìn)一步包括 步驟c200、客戶端根據(jù)設(shè)定的單位時(shí)間點(diǎn),建立播放時(shí)間點(diǎn)與緩存的幀數(shù) 據(jù)的對(duì)應(yīng)關(guān)系。
步驟c201、客戶端根據(jù)建立的播放時(shí)間點(diǎn)與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定需要 倒退的時(shí)間點(diǎn)對(duì)應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù)開始播放。
具體的,播、;改時(shí)間點(diǎn)與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系可以采用文件夾的形式建 立,則步驟c200中,客戶端將多個(gè)單位時(shí)間點(diǎn)緩存的幀數(shù)據(jù)置于對(duì)應(yīng)的文件
夾中;
比如設(shè)定每個(gè)文件夾緩存10個(gè)單位時(shí)間點(diǎn)緩存的幀數(shù)據(jù),則將I-IO 的單位時(shí)間點(diǎn)緩存的數(shù)據(jù)置于第一個(gè)文件夾中,將11-20的單位時(shí)間點(diǎn)緩存 的數(shù)據(jù)置于第二個(gè)文件夾中,依次類推;或者將1-IO的單位時(shí)間點(diǎn)緩存的數(shù) 據(jù)置于任意一個(gè)文件夾中,并建立該文件夾與1 - IO的單位時(shí)間點(diǎn)的對(duì)應(yīng)關(guān)系, 將11-20的單位時(shí)間點(diǎn)緩存的數(shù)據(jù)置于沒有幀數(shù)據(jù)的其他一個(gè)文件夾中,并 建立該文件夾與11-20的單位時(shí)間點(diǎn)的對(duì)應(yīng)關(guān)系,依次類推。
步驟c201中,客戶端確定需要倒退的時(shí)間點(diǎn)對(duì)應(yīng)的文件夾,按照緩存的 順序,確定該文件夾中的單位時(shí)間點(diǎn)對(duì)應(yīng)的幀數(shù)據(jù),并從該幀數(shù)據(jù)開始播放。
比如倒退的時(shí)間點(diǎn)為第IO單位時(shí)間點(diǎn),則先確定緩存第IO單位時(shí)間點(diǎn) 的幀數(shù)據(jù)的文件夾,然后再根據(jù)緩存的順序,確定該文件夾中的第IO單位時(shí) 間點(diǎn)對(duì)應(yīng)的幀邀:才居。
其中,如果c200中,文件夾的數(shù)量達(dá)到設(shè)定的第二閾值,并且每個(gè)文件 夾中都有緩存的幀凄史據(jù),則客戶端在緩存新的幀數(shù)據(jù)時(shí),將最先緩存的幀數(shù)據(jù) 所在的文件夾中的數(shù)據(jù)清空,并將新緩存的幀數(shù)據(jù)置于清空的文件夾中。
在具體實(shí)施過程中,如果用戶選擇更新,則客戶端從用戶選擇更新時(shí)所緩存的幀數(shù)據(jù)開始播放。
在具體實(shí)施過程中,播放時(shí)間與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系不限于文件夾的形式,
任何能夠確定插-;改時(shí)間與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系的形式都適用本實(shí)施例。
比如采用列表、索引信息等等,還可以為幀數(shù)據(jù)建立一個(gè)標(biāo)識(shí),具體的, 在用戶點(diǎn)擊暫停時(shí),為暫停的當(dāng)前時(shí)間,緩存的幀數(shù)據(jù)建立一個(gè)標(biāo)識(shí)(之后緩 存的幀數(shù)據(jù)也可以建立同樣的標(biāo)識(shí),也可以不建立),在用戶選擇播放時(shí),該 標(biāo)識(shí)對(duì)應(yīng)的第一個(gè)幀數(shù)據(jù)處開始播放;對(duì)于倒退,可以為同一單位時(shí)間內(nèi)收到 的幀數(shù)據(jù)分配相同的標(biāo)識(shí),根據(jù)倒退時(shí)間確定對(duì)應(yīng)的標(biāo)識(shí),從該標(biāo)識(shí)對(duì)應(yīng)的第 一個(gè)幀數(shù)據(jù)處開始播放。
其中,客戶端緩存的幀數(shù)據(jù)可以保存在內(nèi)存中,建立的文件夾也可以保存 在內(nèi)存中,這樣可以加快讀取速度;相應(yīng)的,還可以保存到硬盤,U盤等存儲(chǔ) 實(shí)體中。
需要說明的是,本實(shí)施例并不局限于暫??刂坪偷雇丝刂?,其他控制本實(shí) 施例同樣可以實(shí)現(xiàn),比如快退,倒退后的快進(jìn)等等,具體過程與暫停和倒退 類似,不再贅述。
如圖3所示,本發(fā)明實(shí)施例對(duì)幀數(shù)據(jù)進(jìn)行暫停的方法包括下列步驟 本實(shí)施例中,"t番;故時(shí)間點(diǎn)與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系采用文件夾的形式建立。 步驟300、客戶端建立一個(gè)文件名為A的文件夾,將緩存的幀數(shù)據(jù)置于A
文件夾中,并播放緩存的幀數(shù)據(jù)。
步驟301、客戶端在用戶選擇暫停后停止播放幀數(shù)據(jù),并繼續(xù)緩存幀數(shù)據(jù)。 步驟302、客戶端建立一個(gè)文件名為B的文件夾,將緩存的暫停后的幀數(shù)
據(jù)置于B文件夾。
步驟303、客戶端在用戶選擇播放后,按照緩存的暫停后的幀數(shù)據(jù)的順序, 從B文件夾中的第一個(gè)幀數(shù)據(jù)開始播放。
如果用戶再一次選擇暫停,則客戶端清空A文件夾中的幀數(shù)據(jù),將緩存的 暫停后的幀數(shù)據(jù)置于A文件夾中;在用戶選擇播放后,從A文件夾中的第一
16個(gè)幀數(shù)據(jù)開始播放。當(dāng)然,用戶再一次選擇暫停后,客戶端也可以在建立一個(gè)c文件夾,將第二次緩存的暫停后數(shù)據(jù)置于C文件夾中;在用戶選擇播^:后,從C文件夾中的第 一個(gè)幀數(shù)據(jù)開始播;改。如圖4所示,本發(fā)明實(shí)施例對(duì)幀數(shù)據(jù)進(jìn)行倒退的方法包括下列步驟 本實(shí)施例中,播放時(shí)間段與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系采用文件夾的形式建立。 假設(shè)設(shè)定的第一閾值為10,單位時(shí)間為l分鐘。步驟400、客戶端每分鐘建立一個(gè)文件夾,將1分鐘內(nèi)緩存的幀數(shù)據(jù)按時(shí) 間順序置于文件夾中,并播放緩存的幀數(shù)據(jù)。這里,如果10個(gè)文件夾都存儲(chǔ)有幀數(shù)據(jù),并且客戶端需要緩存第ll分鐘 的幀數(shù)據(jù)時(shí),客戶端清空第一個(gè)文件夾的幀數(shù)據(jù),將第11分鐘的幀數(shù)據(jù)置于 第一個(gè)文件夾中,同理,第12分鐘的數(shù)據(jù)至于第二個(gè)文件夾中,依次列推。由于設(shè)定的第一閾值為10,并且單位時(shí)間為l分鐘,則可以讓用戶選擇倒 退到10分鐘或9分鐘前。如果選擇倒退到IO鐘前,會(huì)有一種特殊情況,即用戶在第IO分鐘選擇倒 退到第1分鐘,這時(shí)第11分鐘的數(shù)據(jù)會(huì)緩存到第二文件夾,這時(shí)用戶只能看 第1分鐘的內(nèi)容,所以倒退到9分鐘前是一種較佳的方式。步驟401、客戶端在用戶選擇倒退后,彈出一提示框,讓用戶輸入倒退到 第幾分鐘前,參見圖5。這里,也可以不讓用戶進(jìn)行輸入,將能夠倒退的時(shí)間顯示給用戶,讓用戶 選擇;或者倒退時(shí)間為預(yù)先設(shè)定的時(shí)間,則不需要用戶輸入或選擇倒退時(shí)間, 在用戶選擇到退后,自動(dòng)根據(jù)預(yù)先設(shè)定的時(shí)間進(jìn)行倒退。步驟402、客戶端根據(jù)用戶輸入的時(shí)間,確定對(duì)應(yīng)的文件夾。步驟403、客戶端根據(jù)緩存幀數(shù)據(jù)的順序,從確定的文件夾中的第一個(gè)幀 數(shù)據(jù)開始播放。其中,采用文件夾形式建立播放時(shí)間點(diǎn)與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,從而實(shí)現(xiàn)對(duì)幀數(shù)據(jù)進(jìn)行倒退的方法與圖4所述的方法類似,不再贅述。
從上述實(shí)施例中可以看出本發(fā)明實(shí)施例客戶端緩存在線直播的幀數(shù)據(jù), 并建立播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系;所述客戶端根據(jù)所述播放時(shí)間與 緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定待播放時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從對(duì)應(yīng)的 緩存的該幀數(shù)據(jù)開始播放,能夠?qū)υ诰€直播的幀數(shù)據(jù)進(jìn)行控制,提高了在線直 ^番的效率和用戶體-驗(yàn)。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種對(duì)在線直播的幀數(shù)據(jù)進(jìn)行控制的方法,其特征在于,該方法包括客戶端緩存在線直播的幀數(shù)據(jù),并建立播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系;所述客戶端根據(jù)所述播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定待播放時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從對(duì)應(yīng)的緩存的該幀數(shù)據(jù)開始播放。
2、 如權(quán)利要求1所述的方法,其特征在于,所述客戶端建立播放時(shí)間與 緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系包括所述播放時(shí)間包括播放時(shí)間點(diǎn),所述客戶端在用戶選擇暫停后,暫停播放 幀數(shù)據(jù),并繼續(xù)緩存暫停后的幀數(shù)據(jù),從暫停時(shí)的播放時(shí)間點(diǎn)開始,建立所述 播放時(shí)間點(diǎn)與所述緩存的暫停后的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系;所述客戶端確定待播放的時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從緩存的該幀數(shù)據(jù) 開始播放包括所述客戶端在用戶選擇播放后,根據(jù)所述播放時(shí)間點(diǎn)與所述緩存的暫停后 的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定所述暫停時(shí)的播放時(shí)間點(diǎn)所對(duì)應(yīng)的幀數(shù)據(jù),并從確 定的幀數(shù)據(jù)處開始播放。
3、 如權(quán)利要求2所述的方法,其特征在于,所述客戶端從暫停時(shí)的播放 時(shí)間點(diǎn)開始,建立所述纟番放時(shí)間點(diǎn)與所述緩存的暫停后的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系包 括所述客戶端在用戶選擇暫停后,暫停播放幀數(shù)椐,并繼續(xù)緩存暫停后的幀 數(shù)據(jù),將該緩存的暫停后的幀數(shù)據(jù)置于對(duì)應(yīng)的文件夾中;所述客戶端確定暫停時(shí)的播放時(shí)間點(diǎn)所對(duì)應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù) 處開始播放包括所述客戶端在用戶選擇播放后,按照緩存的暫停后的幀數(shù)據(jù)的順序,播放 所述文件夾中的幀數(shù)據(jù)。
4、 如權(quán)利要求1所述的方法,其特征在于,所述客戶端建立播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系包括所述播放時(shí)間包括播放時(shí)間段,所述客戶端根據(jù)設(shè)定的單位時(shí)間段,建立 播放時(shí)間段與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系;所述客戶端確定待播放的時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從該對(duì)應(yīng)的緩存的 該幀數(shù)據(jù)開始播放包括所述客戶端根據(jù)所述播放時(shí)間段與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定需要倒退的時(shí) 間段對(duì)應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù)開始播;改。
5、 如權(quán)利要求4所述的方法,其特征在于,所述客戶端建立播放時(shí)間與 緩存的幀教:據(jù)的對(duì)應(yīng)關(guān)系包括所述客戶端將每個(gè)單位時(shí)間段內(nèi)緩存的幀數(shù)據(jù)置于對(duì)應(yīng)的文件夾中; 所述客戶端確定待播放時(shí)間對(duì)應(yīng)的幀數(shù)據(jù),并從該幀數(shù)據(jù)開始播放包括 所述客戶端確定需要倒退的時(shí)間段對(duì)應(yīng)的文件夾,按照緩存的順序,確定 該文件夾中的第一個(gè)幀數(shù)據(jù),并從該幀數(shù)據(jù)開始插-;故。
6、 如權(quán)利要求1所述的方法,其特征在于,所述客戶端建立播放時(shí)間與 緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系包括所述播放時(shí)間包括播放時(shí)間點(diǎn),所述客戶端根據(jù)設(shè)定的單位時(shí)間點(diǎn),建立 播放時(shí)間點(diǎn)與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系;所述客戶端確定待播放的時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從該對(duì)應(yīng)的緩存的 該幀數(shù)據(jù)開始播放包括所述客戶端根據(jù)所述播放時(shí)間點(diǎn)與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定需要倒退的時(shí) 間點(diǎn)對(duì)應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù)開始播放。
7、 如權(quán)利要求6所述的方法,其特征在于,所述客戶端建立播放時(shí)間與 緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系包括所述客戶端將多個(gè)單位時(shí)間點(diǎn)緩存的幀數(shù)據(jù)置于對(duì)應(yīng)的文件夾中; 所述客戶端確定待播放時(shí)間對(duì)應(yīng)的幀數(shù)據(jù),并從該幀數(shù)據(jù)開始播放包括 所述客戶端確定需要倒退的時(shí)間點(diǎn)對(duì)應(yīng)的文件夾,按照緩存的順序,確定該文件夾中的單位時(shí)間點(diǎn)對(duì)應(yīng)的幀數(shù)據(jù),并從該幀數(shù)據(jù)開始播放。
8、 如權(quán)利要求5或7所述的方法,其特征在于,如果文件夾的數(shù)量達(dá)到 設(shè)定的第一閾值,并且每個(gè)文件夾中都有緩存的幀數(shù)據(jù),則所述客戶端在緩存 新的幀數(shù)據(jù)時(shí),將最先緩存的幀數(shù)據(jù)所在的文件夾中的數(shù)據(jù)清空,并將新緩存 的幀數(shù)據(jù)置于清空的文件夾中。
9、 如權(quán)利要求1-7任一權(quán)利要求所述的方法,其特征在于,該方法還包括所述客戶端在用戶選擇刷新時(shí),從刷新的時(shí)間點(diǎn)對(duì)應(yīng)的幀數(shù)據(jù)處開始播放。
10、 一種客戶端,其特征在于,該客戶端包括接收模塊,用于緩存在線直播的幀數(shù)據(jù),并建立播放時(shí)間與緩存的幀數(shù)據(jù) 的對(duì)應(yīng)關(guān)系;處理模塊,用于根據(jù)所述播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定待播 放時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從對(duì)應(yīng)的緩存的該幀數(shù)據(jù)開始播放。
11、 如權(quán)利要求IO所述的客戶端,其特征在于,所述接收模塊包括 第一建立才莫塊,用于緩存在線直播的幀數(shù)據(jù),在用戶選擇暫停后,暫停播放幀數(shù)據(jù),并繼續(xù)緩存暫停后的幀數(shù)據(jù),從暫停時(shí)的播放時(shí)間點(diǎn)開始,建立所 述播放時(shí)間點(diǎn)與所述緩存的暫停后的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系; 所述處理模塊包括第一確定模塊,用于在用戶選擇播放后,根據(jù)所述時(shí)間點(diǎn)與所述緩存的暫 停后的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定所述暫停時(shí)的播放時(shí)間點(diǎn)所對(duì)應(yīng)的幀數(shù)據(jù),并 從確定的幀數(shù)據(jù)開始播放。
12、 如權(quán)利要求11所述的客戶端,其特征在于,所述第一建立模塊包括: 第一文件夾建立模塊,用于在用戶選擇暫停后,暫停播放幀數(shù)據(jù),并建立一文件夾;第一移動(dòng)模塊,用于緩存在線直播的幀數(shù)據(jù),在用戶選擇暫停后,繼續(xù)緩暫停后的幀數(shù)據(jù),置于該文件夾中; 所述第一確定模塊包括第一模塊,用于在用戶選擇播放后,按照緩存的暫停后的幀數(shù)據(jù)的順序, 確定該文件夾中的第 一個(gè)幀數(shù)據(jù);第 一播放模塊,用于從所述第 一模塊確定的幀數(shù)據(jù)開始播放。
13、 如權(quán)利要求IO所述的客戶端,其特征在于,所述接收模塊包括 第二建立模塊,用于緩存在線直播的幀數(shù)據(jù),根據(jù)設(shè)定的單位時(shí)間段,建立播放時(shí)間段與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系; 所述處理模塊包括第二確定模塊,用于根據(jù)所述播放時(shí)間段與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定需要 倒退的時(shí)間段對(duì)應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù)開始播放。
14、 如權(quán)利要求13所述的客戶端,其特征在于,所述第二建立模塊包括第二文件夾建立模塊,用于根據(jù)設(shè)定的第一閾值建立文件夾; 第二移動(dòng)模塊,用于將每個(gè)單位時(shí)間段內(nèi)緩存的幀數(shù)據(jù)置于對(duì)應(yīng)的文件夾中;所述第二確定模塊包括第二模塊,用于確定需要倒退的時(shí)間段對(duì)應(yīng)的文件夾,按照緩存的順序,確定該文件夾中的第 一個(gè)幀數(shù)據(jù);第二播放模塊,用于從所述第二模塊確定幀數(shù)據(jù)開始播放。
15、 如權(quán)利要求14所述的客戶端,其特征在于,所述第二建立模塊還包括'.第一清空模塊,用于文件夾的數(shù)量達(dá)到設(shè)定的第一閾值,并且每個(gè)文件夾 中都有緩存的幀數(shù)據(jù),在所述第二移動(dòng)模塊緩存新的幀數(shù)據(jù)時(shí),將最先緩存的 幀數(shù)據(jù)所在的文件夾中的數(shù)據(jù)清空,并將所述第二移動(dòng)模塊新緩存的幀數(shù)據(jù)置 于清空的文件夾中。
16、 如權(quán)利要求IO所述的客戶端,其特征在于,所述接收模塊包括第三建立模塊,用于緩存在線直播的幀數(shù)據(jù),根據(jù)設(shè)定的單位時(shí)間點(diǎn),建立播放時(shí)間點(diǎn)與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系; 所述處理模塊包括第三確定模塊,用于根據(jù)所迷播放時(shí)間點(diǎn)與幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定需要 倒退的時(shí)間點(diǎn)對(duì)應(yīng)的幀數(shù)據(jù),并從確定的幀數(shù)據(jù)開始播^:。
17、 如權(quán)利要求16所述的客戶端,其特征在于,所述第三建立模塊包括 第三文件夾建立模塊,用于根據(jù)設(shè)定的第二閾值建立文件夾;第三移動(dòng)模塊,用于將多個(gè)單位時(shí)間點(diǎn)緩存的幀數(shù)據(jù)置于對(duì)應(yīng)的文件夾中;所述第三確定模塊包括第三模塊,用于確定需要倒退的時(shí)間點(diǎn)對(duì)應(yīng)的文件夾,按照緩存的順序, 確定該文件夾中的單位時(shí)間點(diǎn)對(duì)應(yīng)的幀數(shù)據(jù);第三播放模塊,用于從所述第三模塊確定幀數(shù)據(jù)開始播放。
18、 如權(quán)利要求17所述的客戶端,其特征在于,所述第三建立模塊還包括第二清空模塊,用于文件夾的數(shù)量達(dá)到設(shè)定的第二閾值,并且每個(gè)文件夾 中都有緩存的幀數(shù)據(jù),在所述第三移動(dòng)模塊緩存新的幀數(shù)據(jù)時(shí),將最先緩存的 幀數(shù)據(jù)所在的文件夾中的數(shù)據(jù)清空,并將所述第三移動(dòng)模塊新緩存的幀數(shù)據(jù)置 于清空的文件夾中。
19、 如權(quán)利要求10-18任一權(quán)利要求所述的客戶端,其特征在于,所述 客戶端還包括更新模塊,用于如果用戶選擇更新,從用戶選擇更新時(shí)所緩存的幀數(shù)據(jù)開 始播放。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別涉及一種客戶端及其對(duì)在線直播的幀數(shù)據(jù)進(jìn)行控制的方法,用以解決現(xiàn)有技術(shù)中存在的由于在線直播具有實(shí)時(shí)性,很難對(duì)在線直播的幀數(shù)據(jù)進(jìn)行控制的問題。本發(fā)明實(shí)施例的方法包括本發(fā)明實(shí)施例客戶端緩存在線直播的幀數(shù)據(jù),并建立播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系;所述客戶端根據(jù)所述播放時(shí)間與緩存的幀數(shù)據(jù)的對(duì)應(yīng)關(guān)系,確定待播放時(shí)間對(duì)應(yīng)的緩存的幀數(shù)據(jù),并從對(duì)應(yīng)的緩存的該幀數(shù)據(jù)開始播放。采用本發(fā)明實(shí)施例能夠?qū)υ诰€直播的幀數(shù)據(jù)進(jìn)行控制,提高了在線直播的效率和用戶體驗(yàn)。
文檔編號(hào)H04L12/18GK101325506SQ20081014440
公開日2008年12月17日 申請(qǐng)日期2008年7月25日 優(yōu)先權(quán)日2008年7月25日
發(fā)明者振 熊 申請(qǐng)人:深圳市迅雷網(wǎng)絡(luò)技術(shù)有限公司