專利名稱:一種流媒體點(diǎn)播方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于流媒體點(diǎn)播領(lǐng)域,尤其涉及一種流媒體點(diǎn)播方法、系統(tǒng)及設(shè)備。
技術(shù)背景流媒體點(diǎn)播服務(wù)是一種在互聯(lián)網(wǎng)上提供流媒體點(diǎn)播的服務(wù), 一般用于娛樂(lè)視頻點(diǎn)播、遠(yuǎn)程教學(xué)等應(yīng)用。流媒體點(diǎn)播服務(wù)是通過(guò)流媒體數(shù)據(jù)流式(Real Time Streaming Protocol, RTSP )協(xié)議、微軟媒體服務(wù)器協(xié)議(Microsoft Media Server Protocol, MMS),或者HTTP流式協(xié)議,將流媒體數(shù)據(jù)通過(guò)網(wǎng)絡(luò)連接發(fā)送給 客戶端的流媒體播放器播放。流媒體點(diǎn)播服務(wù)一般通過(guò)架設(shè)流媒體點(diǎn)播服務(wù)器,將流媒體節(jié)目放置在流 媒體點(diǎn)播服務(wù)器上,客戶端點(diǎn)播某個(gè)流媒體節(jié)目時(shí),通過(guò)網(wǎng)絡(luò)連接到流媒體點(diǎn) 播服務(wù)器,在流媒體點(diǎn)播服務(wù)器和客戶端之間通過(guò)某種流媒體點(diǎn)播協(xié)議完成的 協(xié)議命令交互和流媒體數(shù)據(jù)的傳輸。在現(xiàn)有的服務(wù)器/客戶端模式下,流媒體點(diǎn)播服務(wù)器對(duì)流媒體節(jié)目中流媒體 數(shù)據(jù)進(jìn)行解析,將流媒體數(shù)據(jù)封裝成客戶端播放器可以播放的格式,發(fā)送給客 戶端。同時(shí),由于點(diǎn)播服務(wù)是一個(gè)具有交互性的流媒體服務(wù),用戶可以隨時(shí)開 始、暫停、繼續(xù)播放、停止任意一個(gè)流媒體節(jié)目,還可以在播放的過(guò)程之中隨 時(shí)定位到任意一個(gè)位置開始播放??蛻舳说拿恳粋€(gè)操作都要與流媒體點(diǎn)播服務(wù) 器進(jìn)行交互,流媒體點(diǎn)播服務(wù)器需要完成這些交互協(xié)議,以保證客戶端流媒體 節(jié)目纟番;改的流暢性和交互性。當(dāng)客戶端點(diǎn)播互聯(lián)網(wǎng)上的流媒體節(jié)目時(shí),客戶端播放器根據(jù)流媒體節(jié)目的 網(wǎng)絡(luò)地址,向流媒體節(jié)目所在的流媒體點(diǎn)播服務(wù)器發(fā)起連接,并根據(jù)網(wǎng)絡(luò)地址 中指定的協(xié)議類型與流媒體點(diǎn)播服務(wù)器進(jìn)行協(xié)議命令交互,完成流媒體數(shù)據(jù)的5播放。流媒體點(diǎn)播服務(wù)器一方面需要完成與客戶端流媒體播放器之間的協(xié)議命 令交互,另一方面需要將流媒體數(shù)據(jù)封裝成播放器可以播放的格式,并傳輸給 流媒體播放器。現(xiàn)有方案中,由于流媒體點(diǎn)播服務(wù)器既承擔(dān)了流媒體數(shù)據(jù)源的角色,又要 完成協(xié)議命令交互、流々某體數(shù)據(jù)封裝和傳輸工作,降低了流媒體點(diǎn)播服務(wù)的可 擴(kuò)展性, 一方面作為流媒體數(shù)據(jù)源的流媒體點(diǎn)播服務(wù)器較少,難以滿足客戶的 流媒體點(diǎn)播需求,另一方面當(dāng)點(diǎn)播的客戶端增加時(shí),造成流媒體點(diǎn)播服務(wù)器的 通信壓力過(guò)大,性能降低,影響流媒體點(diǎn)播服務(wù)的質(zhì)量。發(fā)明內(nèi)容本發(fā)明實(shí)施例的目的在于提供一種流媒體點(diǎn)播方法,旨在解決現(xiàn)有流媒體 點(diǎn)播方案中,流媒體點(diǎn)播服務(wù)器同時(shí)承擔(dān)流媒體數(shù)據(jù)源、協(xié)議命令交互、流媒 體數(shù)據(jù)封裝和傳輸工作,降低了流媒體點(diǎn)播服務(wù)的可擴(kuò)展性的問(wèn)題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的, 一種流媒體點(diǎn)播方法,所述方法包括下述步驟接收本地流媒體播放器發(fā)出的開始播放流媒體節(jié)目的點(diǎn)播命令; 向流媒體數(shù)據(jù)源請(qǐng)求下載對(duì)應(yīng)的流媒體數(shù)據(jù); 緩存從流纟某體數(shù)據(jù)源下載的流媒體數(shù)據(jù); 解析緩存的流媒體數(shù)據(jù);將解析輸出的流媒體數(shù)據(jù)封裝成本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式,發(fā)送給本地流媒體播放器。本發(fā)明實(shí)施例的另一目的在于提供一種流媒體點(diǎn)播系統(tǒng),所述系統(tǒng)包括 數(shù)據(jù)下載單元,用于根據(jù)點(diǎn)播命令向流i某體數(shù)據(jù)源請(qǐng)求下載對(duì)應(yīng)的流媒體數(shù)據(jù);數(shù)據(jù)緩存單元,用于緩存從流媒體數(shù)據(jù)源下載的流媒體數(shù)據(jù); 數(shù)據(jù)解析單元,用于解析緩存的流媒體數(shù)據(jù);數(shù)據(jù)傳輸單元,用于將解析輸出的流媒體數(shù)據(jù)封裝成本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式,發(fā)送給本地流媒體播放器;點(diǎn)播協(xié)議命令交互單元,用于與本地流媒體播放器進(jìn)行協(xié)議命令交互,根 據(jù)本地流媒體播放器發(fā)出的點(diǎn)播命令對(duì)所述數(shù)據(jù)下載單元的數(shù)據(jù)下載,或者數(shù) 據(jù)傳輸單元的數(shù)據(jù)傳輸進(jìn)行控制。本發(fā)明實(shí)施例的另 一 目的在于提供一種包含上述流媒體點(diǎn)播系統(tǒng)的流媒體 播放器。本發(fā)明實(shí)施例的另 一 目的在于提供一種包含上述流i某體點(diǎn)播系統(tǒng)的通信終端。本發(fā)明實(shí)施例將流i某體點(diǎn)播服務(wù)本地化,在客戶端本地完成流媒體播放的 協(xié)議命令交互,以及流媒體數(shù)據(jù)的封裝和傳輸,大大減少了流媒體點(diǎn)播服務(wù)器 的負(fù)擔(dān),降低了流媒體點(diǎn)播服務(wù)器的通信壓力。同時(shí),使流媒體點(diǎn)播服務(wù)器可 以單純作為一個(gè)流々某體數(shù)據(jù)源,可以更好利用對(duì)等網(wǎng)絡(luò)技術(shù),提高獲取流媒體 數(shù)據(jù)的效率,并增加了為客戶端提供點(diǎn)播服務(wù)的數(shù)據(jù)源,大大提高了流媒體點(diǎn) 播服務(wù)的可擴(kuò)展性。
圖1是本發(fā)明實(shí)施例提供的播放流媒體節(jié)目的實(shí)現(xiàn)流程圖; 圖2是本發(fā)明實(shí)施例提供的暫停播放流媒體節(jié)目的實(shí)現(xiàn)流程圖; 圖3是本發(fā)明實(shí)施例提供的繼續(xù)播放暫停的流媒體節(jié)目的實(shí)現(xiàn)流程圖; 圖4是本發(fā)明實(shí)施例提供的定位新位置4番;改流i某體節(jié)目的實(shí)現(xiàn)流程圖; 圖5是本發(fā)明實(shí)施例提供的停止播放流媒體節(jié)目的實(shí)現(xiàn)流程圖; 圖6是本發(fā)明實(shí)施例提供的流媒體點(diǎn)播系統(tǒng)的結(jié)構(gòu)圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實(shí)施例中,將流媒體點(diǎn)播服務(wù)本地化,在客戶端本地完成流媒體播 放器點(diǎn)播協(xié)議的交互,以及媒體數(shù)據(jù)的封裝傳輸,可以大大提高流媒體點(diǎn)播服 務(wù)的可擴(kuò)展性。流媒體數(shù)據(jù)點(diǎn)播具有較高的交互性,用戶在播放流媒體節(jié)目的過(guò)程中,可 以隨時(shí)開始、暫停、繼續(xù)播放、停止任意一個(gè)流媒體節(jié)目,還可以在播放流媒 體節(jié)目的過(guò)程中定位到任意位置播放。在本發(fā)明實(shí)施例中,由于將流媒體點(diǎn)播服務(wù)本地化,所以系統(tǒng)初始化時(shí)將 客戶端的本機(jī)地址作為本地流媒體播放器的虛擬服務(wù)器地址,選擇一個(gè)系統(tǒng)設(shè)置的端口號(hào)綁定,并監(jiān)聽該端口上的連接。當(dāng)本地流媒體播放器播放一個(gè)新的 流媒體節(jié)目,或者對(duì)播放的流媒體節(jié)目進(jìn)行控制時(shí),本地流媒體播放器向該端 口發(fā)起一個(gè)連接,并根據(jù)設(shè)定的點(diǎn)播協(xié)議類型向客戶端發(fā)起點(diǎn)播命令。圖1示出了本發(fā)明實(shí)施例提供的播放流媒體節(jié)目的實(shí)現(xiàn)流程,詳述如下 在步驟S101中,接收本地流媒體播放器發(fā)出的播放流媒體節(jié)目的點(diǎn)播命令;在步驟S102中,向流媒體數(shù)據(jù)源,例如流媒體點(diǎn)播服務(wù)器或者提供流媒體 數(shù)據(jù)下載的其它網(wǎng)絡(luò)節(jié)點(diǎn)請(qǐng)求并下載客戶端點(diǎn)播的流々某體數(shù)據(jù); 在步驟S103中,緩存從流媒體數(shù)據(jù)源下載的流媒體數(shù)據(jù); 在步驟S104中,解析緩存的流媒體數(shù)據(jù);在本發(fā)明實(shí)施例中,如果解析的流媒體數(shù)據(jù)為流媒體的頭部數(shù)據(jù),可以從 中解析出包括流媒體數(shù)據(jù)的大小、時(shí)間長(zhǎng)度、流媒體數(shù)據(jù)的基本信息等,如果 是流媒體幀數(shù)據(jù),可以解析出該流媒體幀數(shù)據(jù)的發(fā)送時(shí)間戳等信息;在步驟S105中,根據(jù)解析輸出的流媒體數(shù)據(jù)信息向本地流媒體播放器返回 播放當(dāng)前流々某體節(jié)目的回應(yīng)命令;在步驟S106中,將解析輸出的流媒體數(shù)據(jù),例如流媒體數(shù)據(jù)的基本信息,或者流媒體幀數(shù)據(jù),封裝成本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型需要的數(shù)據(jù) 格式,發(fā)送給本地流媒體播放器。圖2示出了本發(fā)明實(shí)施例提供的暫停播放流媒體節(jié)目的實(shí)現(xiàn)流程,詳述如下在步驟S201中,接收本地流媒體播放器發(fā)出的暫停播放當(dāng)前流媒體節(jié)目的 點(diǎn)播命令;在步驟S202中,停止向本地流媒體播放器發(fā)送流媒體數(shù)據(jù),記錄播放暫停 時(shí)流媒體數(shù)據(jù)的發(fā)送狀態(tài)信息,例如流媒體數(shù)據(jù)發(fā)送的時(shí)間點(diǎn)信息、封裝包的 序號(hào)等;在步驟S203中,停止從流媒體數(shù)據(jù)源下載流媒體數(shù)據(jù),記錄播放暫停時(shí)流 媒體數(shù)據(jù)的下載狀態(tài)信息,例如流媒體數(shù)據(jù)下載的時(shí)間點(diǎn)信息;在步驟S204中,根據(jù)本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型向本地流媒體 播放器返回暫停播放當(dāng)前流媒體節(jié)目的回應(yīng)命令。圖3示出了本發(fā)明實(shí)施例提供的繼續(xù)播放暫停的流媒體節(jié)目的實(shí)現(xiàn)流程, 詳述如下在步驟S301中,接收本地流媒體播放器發(fā)出的繼續(xù)播放被暫停的當(dāng)前流媒 體節(jié)目的點(diǎn)播命令;在步驟S302中,根據(jù)暫停時(shí)記錄的流媒體數(shù)據(jù)的下載狀態(tài)信息,向流媒體 數(shù)據(jù)源請(qǐng)求下載繼續(xù)播放的流媒體數(shù)據(jù);在步驟S3 03中,緩存從流媒體數(shù)據(jù)源下載的流媒體數(shù)據(jù);在步驟S304中,解析緩存的流媒體數(shù)據(jù);在步驟S305中,根據(jù)本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型向本地流媒體 播放器返回繼續(xù)播放當(dāng)前流媒體節(jié)目的回應(yīng)命令;在步驟S306中,將解析輸出的流i某體數(shù)據(jù)封裝成本地流^ 某體播;故器設(shè)定的 點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式,根據(jù)暫停時(shí)記錄的流媒體數(shù)據(jù)的發(fā)送狀態(tài)信息, 繼續(xù)向本地流媒體播放器發(fā)送流媒體數(shù)據(jù)。圖4示出了本發(fā)明實(shí)施例提供的定位新位置播放流媒體節(jié)目的實(shí)現(xiàn)流程,詳述如下在步驟S401中,接收本地流媒體播放器發(fā)出的定位新位置播放當(dāng)前流媒體 節(jié)目的點(diǎn)播命令;在步驟S402中,停止當(dāng)前流媒體數(shù)據(jù)的發(fā)送;在步驟S403中,從定位的新位置開始,向流媒體數(shù)據(jù)源請(qǐng)求下載流媒體數(shù)據(jù);在步驟S404中,緩存從流媒體數(shù)據(jù)源下載的流媒體數(shù)據(jù); 在步驟S405中,解析緩存的流媒體數(shù)據(jù);在步驟S406中,根據(jù)本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型向本地流媒體 播放器返回定位新位置播放當(dāng)前流媒體節(jié)目的回應(yīng)命令;在步驟S407中,將解析輸出的流媒體數(shù)據(jù)封裝成本地流媒體播放器設(shè)定的 點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式,從定位的新位置開始,向本地流媒體播放器發(fā) 送流媒體數(shù)據(jù)。圖5示出了本發(fā)明實(shí)施例提供的停止播放流媒體節(jié)目的實(shí)現(xiàn)流程,詳述如下在步驟S501中,接收本地流媒體播放器發(fā)出的停止播放當(dāng)前流媒體節(jié)目的 點(diǎn)播命令;在步驟S502中,停止向本地流媒體播放器發(fā)送流媒體數(shù)據(jù); 在步驟S503中,停止從流媒體數(shù)據(jù)源下載流媒體數(shù)據(jù); 在步驟S504中,根據(jù)播放器設(shè)定的點(diǎn)播協(xié)議類型向本地流媒體播放器返回 停止播放當(dāng)前流媒體節(jié)目的回應(yīng)命令。需要說(shuō)明的是,在上述各流程中,向本地流媒體播放器返回的對(duì)應(yīng)回應(yīng)命 令一般由點(diǎn)播協(xié)議規(guī)定,不同的點(diǎn)播協(xié)議會(huì)有不同的命令規(guī)范。當(dāng)然在點(diǎn)播協(xié) 議沒(méi)有要求時(shí),也可以不向本地流媒體播放器返回回應(yīng)命令。另外,向本地流 媒體播放器發(fā)送流媒體數(shù)據(jù)時(shí),還可以對(duì)發(fā)送給本地流媒體播放器的數(shù)據(jù)速率進(jìn)行控制。圖6示出了本發(fā)明實(shí)施例提供的流媒體點(diǎn)播系統(tǒng)的結(jié)構(gòu),為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。
該系統(tǒng)為運(yùn)行于個(gè)人計(jì)算機(jī)(Personal Computer, PC)、移動(dòng)電話、個(gè)人 數(shù)字助理(Personal Digital Assistant, PDA )等作為客戶端的通信終端的 一個(gè)獨(dú) 立的系統(tǒng),可以作為插件或者獨(dú)立的進(jìn)程向客戶端的流媒體播放器提供服務(wù)。數(shù)據(jù)下載單元61從網(wǎng)絡(luò)上各個(gè)流媒體數(shù)據(jù)源下載流媒體數(shù)據(jù),這些流媒體 數(shù)據(jù)源可以是現(xiàn)有的流媒體點(diǎn)播服務(wù)器,也可以是提供流媒體數(shù)據(jù)下載的其它 網(wǎng)絡(luò)節(jié)點(diǎn)。數(shù)據(jù)緩存單元62將數(shù)據(jù)下載單元61下載的流媒體數(shù)據(jù)緩存在客戶端。數(shù)據(jù)解析單元63解析緩存的流媒體數(shù)據(jù),解析出流媒體數(shù)據(jù)的基本信息, 如果是媒體的頭部數(shù)據(jù),數(shù)據(jù)解析單元63可以從中解析出包括流媒體大小、時(shí) 間長(zhǎng)度,音視頻流的基本信息等,如果是媒體幀數(shù)據(jù),可以解析出該媒體幀數(shù) 據(jù)的發(fā)送時(shí)間戳等信息。數(shù)據(jù)傳輸單元64將數(shù)據(jù)解析單元63解析輸出的流媒體數(shù)據(jù)封裝成播放器 設(shè)定的點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式發(fā)送給本地流媒體播放器,另外,數(shù)據(jù)傳 輸單元64還可以控制發(fā)送給本地流媒體播放器的數(shù)據(jù)速率。點(diǎn)播協(xié)議交互單元65與本地流媒體播放器之間進(jìn)行協(xié)議命令交互,根據(jù)本 地流媒體播放器發(fā)出的點(diǎn)播命令對(duì)數(shù)據(jù)傳輸單元64的數(shù)據(jù)傳輸和數(shù)據(jù)下載單 元61的數(shù)據(jù)下載進(jìn)行控制,并根據(jù)數(shù)據(jù)解析單元63解析的流媒體信息構(gòu)造對(duì) 應(yīng)的回應(yīng)命令返回給本地流媒體播放器。在本發(fā)明實(shí)施例中,由于將流媒體點(diǎn)播服務(wù)本地化,所以系統(tǒng)初始化時(shí), 將客戶端的本機(jī)地址作為本地流媒體播放器的虛擬服務(wù)器地址,點(diǎn)播協(xié)議交互 單元65選擇一個(gè)系統(tǒng)設(shè)置的端口號(hào)綁定,并監(jiān)聽這個(gè)端口上的連接。當(dāng)本地流 媒體播放器播放一個(gè)新的流媒體節(jié)目,或者對(duì)播放的流媒體節(jié)目進(jìn)行控制時(shí), 本地流媒體播放器向該端口發(fā)起一個(gè)連接,并根據(jù)設(shè)定的點(diǎn)播協(xié)議類型向客戶端發(fā)起相應(yīng)的點(diǎn)播命令。當(dāng)用戶點(diǎn)播一個(gè)新的流媒體節(jié)目時(shí),本地流媒體播放器向客戶端發(fā)出播放 流媒體節(jié)目的點(diǎn)播命令。點(diǎn)播協(xié)議交互單元65接收到本地流媒體播放器發(fā)出的播放流媒體節(jié)目的點(diǎn)播命令后,通知數(shù)據(jù)下載單元61下載流媒體數(shù)據(jù)。數(shù)據(jù)下 載單元61向流媒體數(shù)據(jù)源請(qǐng)求并下載對(duì)應(yīng)的流媒體數(shù)據(jù)。數(shù)據(jù)下載單元61將 下載的流媒體數(shù)據(jù)存放在數(shù)據(jù)緩存單元62中。數(shù)據(jù)解析單元63讀取并解析數(shù) 據(jù)緩存單元62緩存的流媒體數(shù)據(jù)。點(diǎn)播協(xié)議交互單元65根據(jù)數(shù)據(jù)解析單元63 解析輸出的媒體信息構(gòu)造播放當(dāng)前流媒體節(jié)目的回應(yīng)命令,發(fā)送給本地流媒體 播放器。數(shù)據(jù)傳輸單元64將數(shù)據(jù)解析單元63解析輸出的流媒體數(shù)據(jù)封裝成本 地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型所需要的流媒體數(shù)據(jù)格式,發(fā)送給本地流 媒體播放器。當(dāng)用戶暫停點(diǎn)4番的流媒體節(jié)目時(shí),本地流媒體播放器向客戶端發(fā)出暫停播 放當(dāng)前流媒體節(jié)目的點(diǎn)播命令。點(diǎn)播協(xié)議交互單元65收到本地流媒體播放器發(fā) 出的暫停播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令后,通知數(shù)據(jù)傳輸單元64停止向本地 流媒體播放器發(fā)送流媒體數(shù)據(jù),數(shù)據(jù)傳輸單元64記錄播放暫停時(shí)流媒體數(shù)據(jù)的 發(fā)送狀態(tài)信息,例如暫停時(shí)的時(shí)間點(diǎn)信息、封裝包的序號(hào)等。同時(shí),點(diǎn)播協(xié)議 交互單元65通知數(shù)據(jù)下載單元61停止從流媒體數(shù)據(jù)源下載流媒體數(shù)據(jù),數(shù)據(jù) 下載單元61記錄播放暫停時(shí)流媒體數(shù)據(jù)的下載狀態(tài)信息,例如數(shù)據(jù)下載的時(shí)間 點(diǎn)信息等。點(diǎn)播協(xié)議交互單元65按照本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型向 本地流媒體播放器返回暫停播放當(dāng)前流媒體節(jié)目的回應(yīng)命令。當(dāng)用戶播放一個(gè)處于暫停的流媒體節(jié)目時(shí),本地流媒體播放器向客戶端發(fā) 送繼續(xù)播放被暫停的當(dāng)前流媒體節(jié)目的點(diǎn)播命令。點(diǎn)播協(xié)議命令交互單元65 收到本地流媒體播放器發(fā)出的繼續(xù)播放被暫停的當(dāng)前流媒體節(jié)目的點(diǎn)播命令 后,通知數(shù)據(jù)傳輸單元64,數(shù)據(jù)下載單元61根據(jù)播放暫停時(shí)記錄的流媒體數(shù) 據(jù)的下載狀態(tài)信息,向流媒體數(shù)據(jù)源請(qǐng)求下載繼續(xù)播放的流媒體數(shù)據(jù),將下載 下來(lái)的流媒體數(shù)據(jù)存放在數(shù)據(jù)緩存單元62中。數(shù)據(jù)解析單元63讀取并解析數(shù)據(jù)緩存單元62緩存的流媒體數(shù)據(jù)。點(diǎn)播協(xié)議交互單元65根據(jù)本地流J)某體播放器設(shè)定的點(diǎn)播協(xié)議類型向本地流媒體播放器返回繼續(xù)播放當(dāng)前流媒體節(jié)目的回應(yīng)命令,數(shù)據(jù)傳輸單元64將解析輸出的流媒體數(shù)據(jù)封裝成本地流媒體播放器設(shè) 定的點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式,根據(jù)暫停時(shí)記錄的流媒體數(shù)據(jù)的發(fā)送狀態(tài) 信息,繼續(xù)向本地流媒體播放器發(fā)送流媒體數(shù)據(jù)。當(dāng)用戶在播放過(guò)程定位到新位置播放流媒體節(jié)目時(shí),本地流媒體播放器向 客戶端發(fā)送定位新位置播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令。點(diǎn)播協(xié)議交互單元65 收到本地流媒體播放器發(fā)出的定位新位置播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令后, 通知數(shù)據(jù)傳輸單元64停止當(dāng)前流媒體數(shù)據(jù)的發(fā)送,同時(shí)通知數(shù)據(jù)下載單元61 從定位的新位置開始向流媒體數(shù)據(jù)源請(qǐng)求下載流媒體數(shù)據(jù),數(shù)據(jù)下載單元61 將下載下來(lái)的流媒體數(shù)據(jù)存^:在數(shù)據(jù)緩存單元62中。數(shù)據(jù)解析單元63讀取并 解析數(shù)據(jù)緩存單元62緩存的流i某體數(shù)據(jù)。點(diǎn)播協(xié)議命令交互單元65根據(jù)本地 流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型向本地流媒體播放器返回定位新位置播放當(dāng) 前流媒體節(jié)目的回應(yīng)命令。數(shù)據(jù)傳輸單元64將解析輸出的流媒體數(shù)據(jù)封裝成本 地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式,從定位的新位置開始, 向本地流媒體播放器發(fā)送流媒體數(shù)據(jù)。當(dāng)用戶停止一個(gè)流媒體節(jié)目的播放時(shí),本地流媒體播放器向客戶端發(fā)送停 止播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令。點(diǎn)播協(xié)議交互單元65收到本地流媒體播放 器發(fā)出的停止4番放當(dāng)前流媒體節(jié)目的點(diǎn)播命令后,通知數(shù)據(jù)傳輸單元64停止向 本地流媒體播放器發(fā)送流媒體數(shù)據(jù),并通知數(shù)據(jù)下載單元61停止從流媒體數(shù)據(jù) 源下載流媒體數(shù)據(jù)。點(diǎn)播協(xié)議交互單元65根據(jù)播放器設(shè)定的點(diǎn)播協(xié)議類型向本 地流媒體播放器返回停止播放當(dāng)前流媒體節(jié)目的回應(yīng)命令。作為本發(fā)明的一個(gè)實(shí)施例,上述流媒體點(diǎn)播系統(tǒng)也可以集成在流士某體播放 器內(nèi)形成一個(gè)完整的系統(tǒng),將客戶端的本機(jī)地址作為流媒體播放器的虛擬服務(wù) 器地址,流媒體播放器選擇一個(gè)系統(tǒng)設(shè)置的端口號(hào)綁定,并監(jiān)聽這個(gè)端口上的 連接。當(dāng)播放一個(gè)新的流媒體節(jié)目,或者對(duì)播放的流媒體節(jié)目進(jìn)行控制時(shí),流媒體播放器向該端口發(fā)起一個(gè)連接,從流媒體數(shù)據(jù)源上下載流媒體數(shù)據(jù),在本 地完成流媒體播放的協(xié)議命令交互,以及流媒體數(shù)據(jù)的封裝和傳輸?shù)?。本發(fā)明實(shí)施例將流媒體點(diǎn)播服務(wù)本地化,在客戶端本地完成流媒體播放的 協(xié)議命令交互,以及流媒體數(shù)據(jù)的封裝和傳輸,大大減少了流媒體點(diǎn)播服務(wù)器 的負(fù)擔(dān),降低了流媒體點(diǎn)播服務(wù)器的通信壓力。同時(shí),使流^某體點(diǎn)播服務(wù)器可 以單純作為一個(gè)流媒體數(shù)據(jù)源,而與其他擁有該流媒體數(shù)據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)沒(méi)有差別, 這樣可以更好利用對(duì)等網(wǎng)絡(luò)技術(shù),提高獲取流媒體數(shù)據(jù)的效率,并增加了為客 戶端提供點(diǎn)播服務(wù)的數(shù)據(jù)源,大大提高了流媒體點(diǎn)播服務(wù)的可擴(kuò)展性。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明 的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種流媒體點(diǎn)播方法,其特征在于,所述方法包括下述步驟接收本地流媒體播放器發(fā)出的播放流媒體節(jié)目的點(diǎn)播命令;向流媒體數(shù)據(jù)源請(qǐng)求下載對(duì)應(yīng)的流媒體數(shù)據(jù);緩存從流媒體數(shù)據(jù)源下載的流媒體數(shù)據(jù);解析緩存的流媒體數(shù)據(jù);將解析輸出的流媒體數(shù)據(jù)封裝成本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式,發(fā)送給本地流媒體播放器。
2、 如權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括下述步驟: 接收本地流媒體播放器發(fā)出的暫停播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令; 停止向本地流媒體播放器發(fā)送流媒體數(shù)據(jù),記錄播放暫停時(shí)流媒體數(shù)據(jù)的發(fā)送狀態(tài)信息;停止從流媒體數(shù)據(jù)源下載流媒體數(shù)據(jù),記錄播放暫停時(shí)流媒體數(shù)據(jù)的下載 狀態(tài)信息。
3、 如權(quán)利要求2所述的方法,其特征在于,所述方法進(jìn)一步包括下述步驟 接收本地流媒體播放器發(fā)出的繼續(xù)播放被暫停的當(dāng)前流媒體節(jié)目的點(diǎn)播命令;根據(jù)暫停時(shí)記錄的流媒體數(shù)據(jù)的下載狀態(tài)信息,向流媒體數(shù)據(jù)源請(qǐng)求下載繼續(xù)播放的流媒體數(shù)據(jù);緩存從流媒體數(shù)據(jù)源下載的流媒體數(shù)據(jù); 解析緩存的流媒體數(shù)據(jù);將解析輸出的流々某體數(shù)據(jù)封裝成本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型需 要的數(shù)據(jù)格式,根據(jù)播放暫停時(shí)記錄的流媒體數(shù)據(jù)的發(fā)送狀態(tài)信息,繼續(xù)向本 地流媒體播放器發(fā)送流媒體數(shù)據(jù)。
4、 如權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括下述步驟 接收本地流媒體播放器發(fā)出的定位新位置播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令;停止當(dāng)前流媒體數(shù)據(jù)的發(fā)送;從定位的新位置開始,向流媒體數(shù)據(jù)源請(qǐng)求下載流媒體數(shù)據(jù); 緩存從流媒體數(shù)據(jù)源下載的流媒體數(shù)據(jù); 解析緩存的流媒體數(shù)據(jù);將解析輸出的流媒體數(shù)據(jù)封裝成本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型需 要的數(shù)據(jù)格式,從定位的新位置開始,向本地流媒體播放器發(fā)送流媒體數(shù)據(jù)。
5、 如權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括下述步驟: 接收本地流媒體播放器發(fā)出的停止播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令; 停止向本地流媒體播放器發(fā)送流媒體數(shù)據(jù);停止從流媒體數(shù)據(jù)源下載流媒體數(shù)據(jù)。
6、 如權(quán)利要求1至5任一權(quán)利要求所述的方法,其特征在于,所述流媒體 數(shù)據(jù)源為流媒體點(diǎn)播服務(wù)器,或者提供流媒體數(shù)據(jù)下載的其他網(wǎng)絡(luò)節(jié)點(diǎn)。
7、 一種流媒體點(diǎn)播系統(tǒng),其特征在于,所述系統(tǒng)包括 數(shù)據(jù)下載單元,用于根據(jù)點(diǎn)播命令向流媒體數(shù)據(jù)源請(qǐng)求下載對(duì)應(yīng)的流媒體數(shù)據(jù);數(shù)據(jù)緩存單元,用于緩存從流媒體數(shù)據(jù)源下載的流媒體數(shù)據(jù); 數(shù)據(jù)解析單元,用于解析緩存的流媒體數(shù)據(jù);數(shù)據(jù)傳輸單元,用于將解析輸出的流媒體數(shù)據(jù)封裝成本地流媒體播放器設(shè) 定的點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式,發(fā)送給本地流媒體播放器;以及點(diǎn)播協(xié)議命令交互單元,用于與本地流媒體播放器進(jìn)行協(xié)議命令交互,根 據(jù)本地流媒體播放器發(fā)出的點(diǎn)播命令對(duì)所述數(shù)據(jù)下載單元的數(shù)據(jù)下載,或者數(shù) 據(jù)傳輸單元的數(shù)據(jù)傳輸進(jìn)行控制。
8、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述點(diǎn)播命令包括播放流媒體 節(jié)目的點(diǎn)播命令、暫停播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令、繼續(xù)播放被暫停的當(dāng) 前流媒體節(jié)目的點(diǎn)播命令、定位新位置播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令、或者停止播放當(dāng)前流媒體節(jié)目的點(diǎn)播命令。
9、 如權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述流媒體數(shù)據(jù)源為流媒 體點(diǎn)播服務(wù)器,或者提供流媒體數(shù)據(jù)下載的其他網(wǎng)絡(luò)節(jié)點(diǎn)。
10、 一種包含權(quán)利要求7的流媒體點(diǎn)播系統(tǒng)的流媒體播放器。
11、 一種包含權(quán)利要求7的流媒體點(diǎn)播系統(tǒng)的通信終端。
全文摘要
本發(fā)明適用于流媒體點(diǎn)播領(lǐng)域,提供了一種流媒體點(diǎn)播方法、系統(tǒng)及設(shè)備,所述方法包括下述步驟接收本地流媒體播放器發(fā)出的播放流媒體節(jié)目的點(diǎn)播命令;向流媒體數(shù)據(jù)源請(qǐng)求下載對(duì)應(yīng)的流媒體數(shù)據(jù);緩存從流媒體數(shù)據(jù)源下載的流媒體數(shù)據(jù);解析緩存的流媒體數(shù)據(jù);將解析輸出的流媒體數(shù)據(jù)封裝成本地流媒體播放器設(shè)定的點(diǎn)播協(xié)議類型需要的數(shù)據(jù)格式,發(fā)送給本地流媒體播放器。本發(fā)明降低了流媒體點(diǎn)播服務(wù)器的通信壓力,可以更好利用對(duì)等網(wǎng)絡(luò)技術(shù),提高獲取流媒體數(shù)據(jù)的效率,并增加了為客戶端提供點(diǎn)播服務(wù)的數(shù)據(jù)源,大大提高了流媒體點(diǎn)播服務(wù)的可擴(kuò)展性。
文檔編號(hào)H04L29/08GK101252600SQ200810066529
公開日2008年8月27日 申請(qǐng)日期2008年3月31日 優(yōu)先權(quán)日2008年3月31日
發(fā)明者王福臣 申請(qǐng)人:騰訊科技(深圳)有限公司