專利名稱:一種機頂盒、媒體播放處理及媒體恢復(fù)播放方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種機頂盒、媒體播放處理及媒體恢復(fù)播放方法。
背景技術(shù):
傳統(tǒng)的多媒體下載技術(shù)主要是采用Client/Server (客戶端/服務(wù)器,C/S)模式,這種模式是一種集中式的方式,由中心服務(wù)器提供媒體節(jié)目給眾多客戶端。C/S模式的內(nèi)容和服務(wù)集中于中心服務(wù)器,所有的客戶端都必須訪問服務(wù)器獲取內(nèi)容及服務(wù),因此中心服務(wù)器就成了整個網(wǎng)絡(luò)應(yīng)用的瓶頸和最薄弱環(huán)節(jié)。由于服務(wù)器的能力和輸出帶寬有一定限度,隨著請求服務(wù)器的客戶端數(shù)量的增加,導(dǎo)致每個客戶端所能享有的平均帶寬將逐漸減少,對服務(wù)器的相應(yīng)速度將顯著下降,甚至無法得到服務(wù)。因此,目前網(wǎng)絡(luò)上越來越多的多媒體下載采用了 P2P(Peer to Peer,點對點)模式,也即對等網(wǎng)絡(luò)技術(shù)。
對等網(wǎng)絡(luò)技術(shù),使加入到P2P網(wǎng)絡(luò)的節(jié)點既扮演服務(wù)器,又扮演客戶端的角色,通過這種服務(wù)器負(fù)荷分擔(dān),使對帶寬的需求分配到整個網(wǎng)絡(luò)。P2P技術(shù),可以使網(wǎng)絡(luò)上的客戶端既能接收也能對外發(fā)送媒體內(nèi)容,在廣播、點播和推播視頻節(jié)目時,可以通過客戶端之間主動或自動的相互傳遞來發(fā)送媒體內(nèi)容,從而避免所有內(nèi)容均從一個或少量服務(wù)器中發(fā)出而造成網(wǎng)絡(luò)堵塞,從而達到更快獲取服務(wù)的效果。
機頂盒(Set Top Box, STB)作為家庭數(shù)字化信息平臺,由于能夠?qū)?shù)字電視、信息處理,甚至電腦的部分或全部功能綜合起來,因此正日益走入尋常百姓的家庭。然而,現(xiàn)在的機頂盒下載方案仍多采用C/S模式,所有客戶端機頂盒下載時,都需要連接服務(wù)器,從服務(wù)器下載文件,在很大程度上受到服務(wù)器配置和網(wǎng)絡(luò)狀況限制,并且隨著下載客戶增多,下載速度逾慢。
到目前,P2P解決方案和產(chǎn)品仍然主要是基于電腦的方案。基于相對簡單、廉價的機頂盒的P2P解決方案,由于其在有限資源上實施的相對技術(shù)難度,而一直未能很好解決。發(fā)明內(nèi)容
本發(fā)明要解決的主要技術(shù)問題是,提供一種機頂盒、媒體播放處理及媒體恢復(fù)播放方法,以實現(xiàn)機頂盒基于P2P網(wǎng)絡(luò)的斷點續(xù)播功能。
為解決上述技術(shù)問題,本發(fā)明采用了如下技術(shù)方案:
一種機頂盒的媒體播放處理方法,所述機頂盒基于點對點P2P網(wǎng)絡(luò),在機頂盒播放器進行媒體播放時,作為P2P客戶端的機頂盒通過P2P網(wǎng)絡(luò)從P2P服務(wù)器接收資源列表,開啟多個線程并行加載媒體資源,P2P客戶端與P2P服務(wù)器之間通過超文本傳輸協(xié)議http流形式互相通信,所述媒體播放處理方法包括:在機頂盒的媒體播放結(jié)束時,判斷本次媒體播放是否該媒體的首次播放,如是,保存該媒體的媒體信息以及本次媒體播放結(jié)束時刻的時間點信息,否則,保存本次媒體播放結(jié)束時刻的時間點信息。
在本發(fā)明的一種實施例中,所述的方法,所述媒體信息包括:影片名稱、大小、內(nèi)容信息、影片鏈接地址。
在本發(fā)明的一種實施例中,所述的方法,所述媒體信息及時間點信息保存在機頂盒本地數(shù)據(jù)庫。
在本發(fā)明的一種實施例中,所述的方法,所述媒體信息在媒體播放開始時保存。
在本發(fā)明的一種實施例中,所述的方法,還包括:設(shè)定時間點信息更新時間周期,以周期性更新當(dāng)前播放時間點信息;設(shè)定清除時間周期,定期清除超出所述清除時間周期的時間點信息記錄。
本發(fā)明還提供了基于上述媒體播放處理方法的媒體恢復(fù)播放方法,包括:
機頂盒加載需要恢復(fù)播放的媒體時,根據(jù)前次播放結(jié)束時刻的時間點信息形成續(xù)播信息,將媒體信息和續(xù)播信息組裝成可擴展標(biāo)記語言XML文件流發(fā)送給機頂盒播放器;所述播放器根據(jù)所述媒體信息和續(xù)播信息從前次播放結(jié)束時刻之后播放該媒體。
在本發(fā)明的一種實施例中,所述的方法,所述播放器根據(jù)所述媒體信息和續(xù)播信息從前次播放結(jié)束時刻之后播放該媒體包括:播放器從所述XML文件解析出該需要恢復(fù)播放的媒體的媒體信息以及續(xù)播信息,組裝成HTTP流發(fā)送給P2P客戶端,P2P客戶端首先判斷該媒體是否本地加載完成,如果加載完成,則直接從本地將內(nèi)容以HTTP流的方式返回給播放器播放,如果沒有加載完成,則從P2P服務(wù)器接收資源列表,開啟多個線程并行加載媒體資源。
在本發(fā)明的一種實施例中,所述的方法,每臺機頂盒具有唯一 MAC地址,在初次啟動時,將每臺機頂盒對應(yīng)的MAC地址登記到P2P服務(wù)器,P2P服務(wù)器接收到續(xù)播請求時,首先將發(fā)起請求的機頂盒的MAC地址與服務(wù)器中登記的記錄進行匹配,匹配成功則響應(yīng)請求允許正常續(xù)播,匹配不成功則返回失敗。
本發(fā)明還提供了一種具有斷點續(xù)播功能的機頂盒,該機頂盒基于點對點P2P網(wǎng)絡(luò),在機頂盒播放器進行媒體播放時,作為P2P客戶端的機頂盒通過P2P網(wǎng)絡(luò)從P2P服務(wù)器接收資源列表,開啟多個線程并行加載媒體資源,P2P客戶端與P2P服務(wù)器之間通過超文本傳輸協(xié)議ht t P流形式互相通信,所述機頂盒包括:
時間點信息保存模塊,用于在機頂盒的媒體播放結(jié)束時,判斷本次媒體播放是否該媒體的首次播放,如是,保存該媒體的媒體信息以及本次媒體播放結(jié)束時刻的時間點信息,否則,保存本次媒體播放結(jié)束時刻的時間點信息;
續(xù)播模塊,用于在機頂盒加載需要恢復(fù)播放的媒體時,根據(jù)前次播放結(jié)束時刻的時間點信息形成續(xù)播信息,將媒體信息和續(xù)播信息組裝成可擴展標(biāo)記語言XML文件流發(fā)送給機頂盒播放器以供播放器根據(jù)所述媒體信息和續(xù)播信息從前次播放結(jié)束時刻之后播放該媒體。
在本發(fā)明的一種實施例中,所述機頂盒實現(xiàn)在android平臺。
本發(fā)明的有益效果是:本發(fā)明通過將機頂盒基于P2P網(wǎng)絡(luò)實現(xiàn),并在機頂盒的媒體播放結(jié)束時保存本次媒體播放結(jié)束時刻的時間點信息,從而在恢復(fù)播放時,播放器能夠根據(jù)保存的前次媒體播放結(jié)束時刻的時間點信息,從該時刻恢復(fù)播放,實現(xiàn)了機頂盒基于P2P網(wǎng)絡(luò)的斷點續(xù)播功能。
圖1為本發(fā)明一種實施例的機頂盒斷點續(xù)播功能實現(xiàn)系統(tǒng)框圖。
具體實施方式
下面通過具體實施方式
結(jié)合附圖對本發(fā)明作進一步詳細說明。
如圖1,在P2P網(wǎng)絡(luò)架構(gòu)中,有至少一個P2P服務(wù)器,而每開啟一個播放器,即啟動一個P2P客戶端。機頂盒作為P2P客戶端,可以從P2P服務(wù)器獲取資源并通過機頂盒播放器進行播放。當(dāng)播放器在點播或播放本地文件時,需要由P2P客戶端通過網(wǎng)絡(luò)向P2P服務(wù)器發(fā)起請求(HASH值,具有唯一性),它們之間主要通過http (超文本傳輸協(xié)議)流的形式互相通信,P2P服務(wù)器在接收到客戶端的請求后,根據(jù)發(fā)送過來的值依據(jù)用戶需要或服務(wù)器設(shè)置查找多個可用資源(可以是較穩(wěn)定或離客戶端較近的資源,數(shù)量可視具體情形而定,如50個),并將資源列表返回給客戶端,客戶端根據(jù)返回的資源開啟多個線程并行加載影片資源。
若用戶在播放過程中未播完退出或直接關(guān)閉機頂盒,則判斷本次是否該用戶關(guān)于該媒體的首次播放,若是,將媒體(影片)信息和退出的時間點信息保存到機頂盒的數(shù)據(jù)庫中,其中影片信息包括影片名稱、大小、內(nèi)容信息、影片鏈接地址等,退出的時間點信息精確到毫秒。若不是第一次播放,則只向數(shù)據(jù)庫更新本次退出的時間點信息即可。
由于每次用戶觀看的影片可能不同,以及可能觀看的是分為多集的影片,除了保存退出時間點外,也要將影片信息和當(dāng)前播放集數(shù)保存到數(shù)據(jù)庫,影片信息的話可直接保存影片的id,通過該id便可獲取到影片的相關(guān)信息。另外,由于保存了影片的當(dāng)前播放集數(shù)信息,若用戶在播完第一集之后退出,則下次觀看時即可自動從第二集開始播放。在此,統(tǒng)一將播放過程中未播完退出或者直接關(guān)閉機頂盒的時刻稱為媒體播放結(jié)束時刻??梢岳斫獾氖?,媒體完整播放后退出也同樣是一種媒體播放結(jié)束的形式,而如果是用戶在影片完整播放后退出,此時保存的時間點為零,即返回影片起點,也即相當(dāng)于重播該影片。
當(dāng)用戶從歷史記錄選擇了想要恢復(fù)的影片時,在進入播放器播放之前,先根據(jù)當(dāng)前播放的電影id加載相關(guān)的影片信息,組裝好對象列表,如果是多集的影片或電視劇,則將每集和播放地址一一配對,以便為連播提供保障,同時還要加載續(xù)播信息,即前次媒體播放結(jié)束的時間點,如果是多集影片或電視劇的話還要加載對應(yīng)的集數(shù),然后將上述信息組裝成XML (可擴展標(biāo)記語言)文件流發(fā)送到播放器。
播放器從XML文件解析出時間點和影片鏈接等信息,將當(dāng)前播放影片地址(HASH哈希地址)與時間點信息組裝成HTTP流發(fā)送給P2P客戶端,P2P客戶端首先判斷該影片是否本地已經(jīng)加載完成,如果加載完成,則直接從本地將內(nèi)容以HTTP流的方式返回給播放器播放,如果沒有加載完成,則依前文所述,先向P2P服務(wù)器以HTTP流的方式發(fā)送請求,服務(wù)器處理后返回多個資源地址給客戶端,客戶端開啟多線程同時加載多個片源。
在多臺機頂盒構(gòu)成的P2P網(wǎng)絡(luò)架構(gòu)中,每臺機頂盒具有唯一MAC地址,在初次啟動時,即將每臺機頂盒對應(yīng)的MAC地址登記到服務(wù)器,在服務(wù)器接收到續(xù)播請求時,首先將發(fā)起請求的機頂盒的MAC地址與服務(wù)器中登記的記錄進行匹配,匹配成功則響應(yīng)請求允許正常續(xù)播,匹配不成功則返回失敗。
為了進一步提高斷點續(xù)播的可靠性(如防止突然斷電服務(wù)器來不及反應(yīng)的情況),可在媒體播放開始時就保存影片相關(guān)信息,這樣,出現(xiàn)突發(fā)情況時,只要更新時間點信息即可,這樣更新數(shù)據(jù)較少,能夠及時完成信息保存。更進一步,也可根據(jù)用戶設(shè)定,設(shè)定時間點信息更新周期,以周期性更新當(dāng)前播放時間點信息,以此降低風(fēng)險,提高可靠性。
此外,將影片信息及時間信息保存在機頂盒本地數(shù)據(jù)庫,而不是上傳到服務(wù)器,既減輕了服務(wù)器的負(fù)擔(dān),也提高了續(xù)播的反應(yīng)速度。由于機頂盒數(shù)據(jù)庫容量有限,用戶可根據(jù)實際需求設(shè)定要保存多少條記錄,或者設(shè)定清除時間周期,定期清除或定期提示用戶是否要清除時間較久(超出清除時間周期)的記錄等。
本發(fā)明的機頂盒,實現(xiàn)在android平臺,主要包括:
時間點信息保存模塊,用于在機頂盒的媒體播放結(jié)束時,判斷本次媒體播放是否該媒體的首次播放,如是,保存該媒體的媒體信息以及本次媒體播放結(jié)束時刻的時間點信息,否則,保存本次媒體播放結(jié)束時刻的時間點信息;
續(xù)播模塊,用于在機頂盒加載需要恢復(fù)播放的媒體時,根據(jù)前次播放結(jié)束時刻的時間點信息形成續(xù)播信息,將媒體信息和續(xù)播信息組裝成可擴展標(biāo)記語言XML文件流發(fā)送給機頂盒播放器以供播放器根據(jù)所述媒體信息和續(xù)播信息從前次播放結(jié)束時刻之后播放該媒體。
本發(fā)明基于P2P網(wǎng)絡(luò)的傳輸優(yōu)勢實現(xiàn)了機頂盒上的斷點續(xù)播方法,可以充分利用P2P網(wǎng)絡(luò)傳輸速度快效率高的優(yōu)勢,從前次退出的時間點快速恢復(fù)加載用戶之前未看完的影片,提升用戶觀影體驗。
以上內(nèi)容是結(jié)合具體的實施方式對本發(fā)明所作的進一步詳細說明,不能認(rèn)定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護范圍。
權(quán)利要求
1.一種機頂盒的媒體播放處理方法,其特征在于,所述機頂盒基于點對點P2P網(wǎng)絡(luò),在機頂盒播放器進行媒體播放時,作為P2P客戶端的機頂盒通過P2P網(wǎng)絡(luò)從P2P服務(wù)器接收資源列表,開啟多個線程并行加載媒體資源,P2P客戶端與P2P服務(wù)器之間通過超文本傳輸協(xié)議http流形式互相通信,所述媒體播放處理方法包括:在機頂盒的媒體播放結(jié)束時,判斷本次媒體播放是否該媒體的首次播放,如是,保存該媒體的媒體信息以及本次媒體播放結(jié)束時刻的時間點信息,否則,保存本次媒體播放結(jié)束時刻的時間點信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述媒體信息包括:影片名稱、大小、內(nèi)容信息、影片鏈接地址。
3.如權(quán)利要求1所述的方法,其特征在于,所述媒體信息及時間點信息保存在機頂盒本地數(shù)據(jù)庫。
4.如權(quán)利要求1所述的方法,其特征在于,所述媒體信息在媒體播放開始時保存。
5.如權(quán)利要求1所述的方法,其特征在于,還包括:設(shè)定時間點信息更新時間周期,以周期性更新當(dāng)前播放時間點信息;設(shè)定清除時間周期,定期清除超出所述清除時間周期的時間點信息記錄。
6.一種基于權(quán)I至權(quán)5任一所述的媒體播放處理方法的媒體恢復(fù)播放方法,其特征在于,包括: 機頂盒加載需要恢復(fù)播放的媒體時,根據(jù)前次播放結(jié)束時刻的時間點信息形成續(xù)播信息,將媒體信息和續(xù)播信息組裝成可擴展標(biāo)記語言XML文件流發(fā)送給機頂盒播放器;所述播放器根據(jù)所述媒體信息和續(xù)播信息從前次播放結(jié)束時刻之后播放該媒體。
7.如權(quán)利要求6所述的方法,其特征在于,所述播放器根據(jù)所述媒體信息和續(xù)播信息從前次播放結(jié)束時刻之后播放該媒體包括:播放器從所述XML文件解析出該需要恢復(fù)播放的媒體的媒體信息以及續(xù)播信息,組裝成HTTP流發(fā)送給P2P客戶端,P2P客戶端首先判斷該媒體是否本地加載完成,如果加載完成,則直接從本地將內(nèi)容以HTTP流的方式返回給播放器播放,如果沒有加載完成,則從P2P服務(wù)器接收資源列表,開啟多個線程并行加載媒體資源。
8.如權(quán)利要求6所述的方法,其特征在于,每臺機頂盒具有唯一MAC地址,在初次啟動時,將每臺機頂盒對應(yīng)的MAC地址登記到P2P服務(wù)器,P2P服務(wù)器接收到續(xù)播請求時,首先將發(fā)起請求的 機頂盒的MAC地址與服務(wù)器中登記的記錄進行匹配,匹配成功則響應(yīng)請求允許正常續(xù)播,匹配不成功則返回失敗。
9.一種具有斷點續(xù)播功能的機頂盒,其特征在于,該機頂盒基于點對點P2P網(wǎng)絡(luò),在機頂盒播放器進行媒體播放時,作為P2P客戶端的機頂盒通過P2P網(wǎng)絡(luò)從P2P服務(wù)器接收資源列表,開啟多個線程并行加載媒體資源,P2P客戶端與P2P服務(wù)器之間通過超文本傳輸協(xié)議http流形式互相通信,所述機頂盒包括: 時間點信息保存模塊,用于在機頂盒的媒體播放結(jié)束時,判斷本次媒體播放是否該媒體的首次播放,如是,保存該媒體的媒體信息以及本次媒體播放結(jié)束時刻的時間點信息,否貝1J,保存本次媒體播放結(jié)束時刻的時間點信息; 續(xù)播模塊,用于在機頂盒加載需要恢復(fù)播放的媒體時,根據(jù)前次播放結(jié)束時刻的時間點信息形成續(xù)播信息,將媒體信息和續(xù)播信息組裝成可擴展標(biāo)記語言XML文件流發(fā)送給機頂盒播放器以供播放器根據(jù)所述媒體信息和續(xù)播信息從前次播放結(jié)束時刻之后播放該媒體。
10.如權(quán)利要求 9所述的機頂盒,其特征在于,所述機頂盒實現(xiàn)在android平臺。
全文摘要
本發(fā)明公開了一種機頂盒、媒體播放處理及媒體恢復(fù)播放方法,機頂盒的媒體播放處理方法,所述機頂盒基于點對點P2P網(wǎng)絡(luò),在機頂盒播放器進行媒體播放時,作為P2P客戶端的機頂盒通過P2P網(wǎng)絡(luò)從P2P服務(wù)器接收資源列表,開啟多個線程并行加載媒體資源,P2P客戶端與P2P服務(wù)器之間通過超文本傳輸協(xié)議http流形式互相通信,所述媒體播放處理方法包括在機頂盒的媒體播放結(jié)束時,判斷本次媒體播放是否該媒體的首次播放,如是,保存該媒體的媒體信息以及本次媒體播放結(jié)束時刻的時間點信息,否則,保存本次媒體播放結(jié)束時刻的時間點信息。本發(fā)明實現(xiàn)了機頂盒基于P2P網(wǎng)絡(luò)的斷點續(xù)播功能。
文檔編號H04N21/8543GK103167358SQ20111040902
公開日2013年6月19日 申請日期2011年12月9日 優(yōu)先權(quán)日2011年12月9日
發(fā)明者歐陽占柱, 陳宗高 申請人:深圳市快播科技有限公司