專利名稱:瀏覽器客戶端的直播方法和系統(tǒng)、瀏覽器客戶端、后臺客戶端的制作方法
技術領域:
本發(fā)明涉及通4言領i或,具體而言,涉及一種IE( Internet Explore, 瀏覽器)客戶端的直纟番方法和系統(tǒng)、瀏覽器客戶端、后臺客戶端。
背景技術:
隨著音/視頻編碼技術和IP (Internet Protocol,網(wǎng)絡協(xié)議)網(wǎng)絡 傳輸技術的發(fā)展,數(shù)字媒體業(yè)務也得到了迅速發(fā)展,已經成為寬帶 的核心應用。目前,中國電信數(shù)字媒體業(yè)務采用集中服務的模式, 通過基于C/S (Client/Service,客戶端/服務端)架構為用戶4是供服 務。隨著業(yè)務需求的增大,上述架構下的系統(tǒng)投資劇增,并且產出 效益低的問題日益明顯。由于系統(tǒng)的服務能力有限,因此在一些特 殊情況下(例如,^求賽實況轉,燔時),難以滿足用戶密集突發(fā)的流々某 體業(yè)務需求。
相比之下,P2P (Peer to Peer,對等網(wǎng)全各)業(yè)務平臺的處理方法 具有低成本、高擴展性、高服務質量、高安全性等優(yōu)勢,可以解決 現(xiàn)有數(shù)字媒體業(yè)務發(fā)展中所面臨的平臺高投入、低回報、熱點效應 等問題。因此,有必要建設P2P業(yè)務平臺,以優(yōu)化寬帶網(wǎng)絡流量, 提高現(xiàn)有資源利用率,節(jié)省投資,為數(shù)字媒體產業(yè)的發(fā)展構建新型 的業(yè)務支撐平臺,創(chuàng)造良好的發(fā)展環(huán)境。但是,在開發(fā)了P2P的直 播客戶端之后,會出現(xiàn)用戶希望直接在IE瀏覽器中觀看直播節(jié)目的 需求。
發(fā)明內容
針對相關技術中存在的用戶希望直接在IE瀏覽器中觀看直播 節(jié)目的問題,本發(fā)明旨在提供一種IE客戶端的直播方法和系統(tǒng)、瀏 覽器客戶端、后臺客戶端,用以解決上述問題。
根據(jù)本發(fā)明的一個方面,提供了 一種IE客戶端的直播方法。
根據(jù)本發(fā)明實施例的IE客戶端的直播方法包括基于瀏覽器客 戶端的主沖莫塊和后臺客戶端的監(jiān)聽才莫塊之間的傳輸控制協(xié)議連接, 監(jiān)聽模塊獲取來自主模塊的握手信息;監(jiān)聽模塊調用后臺客戶端的 數(shù)據(jù)請求模塊;監(jiān)聽模塊獲取來自數(shù)據(jù)請求模塊的播放起點及播放 起點數(shù)據(jù),并從播放起點數(shù)據(jù)中解析出音/視頻解碼參數(shù);監(jiān)聽模塊 向主模塊返回播放起點、音/視頻解碼參數(shù),其中,主模塊根據(jù)音/ 視頻解碼參數(shù)構建播放器,以及播放器根據(jù)播放起點進行播放。
優(yōu)選地,監(jiān)聽模塊向主模塊返回播放起點、音/視頻解碼參數(shù)之 后,上述方法還包括主模塊根據(jù)音/視頻解碼參數(shù)構建播放器,其 中,構建的播放器包括音/視頻數(shù)據(jù)讀取模塊、解碼器;音/視頻數(shù)據(jù) 讀取模塊獲取播放起點對應的音/視頻數(shù)據(jù),并將音/視頻數(shù)據(jù)發(fā)送給 解碼器;解碼器使用音/視頻解碼參數(shù)解碼音/視頻數(shù)據(jù);播放解碼后 的音/一見頻lt據(jù)。
優(yōu)選地,在主模塊根據(jù)音/視頻解碼參數(shù)構建播放器之后,上述 方法還包括監(jiān)聽模塊接收來自被調用的音/視頻數(shù)據(jù)讀取才莫塊的建 立傳輸控制協(xié)議連接的第一請求消息;基于第一請求消息,監(jiān)聽模 塊建立與音/—見頻凄史據(jù)讀取沖莫塊的傳輸控制協(xié)+義連4妄,并通知音/—見頻 數(shù)據(jù)讀取模塊;監(jiān)聽模塊接收來自音/視頻數(shù)據(jù)讀取才莫塊的用于請求 與后臺客戶端的音/一見頻數(shù)據(jù)服務才莫塊建立傳輸控制協(xié)議連接的第 二握手信息;響應于第二握手信息,監(jiān)聽才莫塊調用音W見頻數(shù)據(jù)服務模塊,并建立音/視頻數(shù)據(jù)讀取模塊和音/視頻數(shù)據(jù)服務模塊的傳輸控 制協(xié)議連接。
優(yōu)選地,音/視頻數(shù)據(jù)讀取模塊獲取播放起點對應的音/視頻數(shù)
據(jù),并將音/視頻數(shù)據(jù)發(fā)送給解碼器具體包括音/視頻數(shù)據(jù)服務模塊 接收來自音/視頻數(shù)據(jù)讀取才莫塊的用于請求音/視頻數(shù)據(jù)的第二請求
消息;基于第二請求消息,音/視頻數(shù)據(jù)服務模塊判斷緩沖區(qū)是否存 在音/視頻數(shù)據(jù);在判斷結果為是的情況下,音/視頻數(shù)據(jù)服務模塊將 音/視頻數(shù)據(jù)發(fā)送給音/視頻數(shù)據(jù)讀取模塊,并記錄音頻數(shù)據(jù)和視頻數(shù) 據(jù)各自對應的數(shù)據(jù)塊編號;解碼器接收來自音/視頻數(shù)據(jù)讀取^^莫塊的 解析后的音/視頻數(shù)據(jù),并使用音/視頻解碼參數(shù)解碼音/視頻數(shù)據(jù);
優(yōu)選地,監(jiān)聽模塊獲取來自主模塊的握手信息之前,上述方法 還包括監(jiān)聽模塊獲取來自主模塊的建立傳輸控制協(xié)議連接的第三 請求消息;基于第三請求消息,監(jiān)聽模塊建立與主模塊的傳輸控制 協(xié)議連纟妄,并通知主一莫塊。
優(yōu)選地,在調用后臺客戶端的數(shù)據(jù)請求模塊之后,上述方法還 包括監(jiān)聽模塊循環(huán)檢查數(shù)據(jù)請求模塊是否已經獲取播放起點及播 放起點數(shù)據(jù);在判斷結果為是的情況下,監(jiān)聽模塊獲取播放起點及 播放起點數(shù)據(jù),其中,數(shù)據(jù)請求模塊獲取當前播放進度及其相關數(shù) 據(jù);數(shù)據(jù)請求模塊根據(jù)當前播放進度確定播放起點。
優(yōu)選地,數(shù)據(jù)請求模塊獲取當前播放進度及其相關數(shù)據(jù)具體包 括數(shù)據(jù)請求模塊向區(qū)域管理服務器發(fā)送用于申請補償服務器的第 一申請消息,并接收區(qū)域管理服務器基于第 一 申請消息返回的第一 響應消息,其中,第一響應消息攜帶有補償服務器的信息;基于第 一響應消息,數(shù)據(jù)請求模塊向補償服務器發(fā)送用于申請當前播放進 度及其相關數(shù)據(jù)的第三握手信息,并接收補償服務器基于第三握手信息返回的第二響應消息,其中,第二響應消息中攜帶有當前播放 進度及其相關數(shù)據(jù)。
優(yōu)選地,數(shù)據(jù)請求模塊獲取播放起點及播放起點數(shù)據(jù)具體包括 數(shù)據(jù)請求模塊向補償服務器發(fā)送用于申請播放起點及播放起點數(shù)據(jù) 的第二申請消息;數(shù)據(jù)請求模塊接收補償服務器基于第二申請消息 返回的第三響應消息,其中,第三響應消息中攜帶有播放起點及播 》丈起點凄史據(jù)。
根據(jù)本發(fā)明的另一方面,提供了一種瀏覽器客戶端。
根據(jù)本發(fā)明實施例的瀏覽器客戶端包括主模塊,用于發(fā)送握 手信息,接收播放起點、音/視頻解碼參數(shù),以及根據(jù)音/視頻解碼參 數(shù)構建播放器;播放器,用于根據(jù)播放起點進行播放。
才艮據(jù)本發(fā)明的另一方面,提供了一種后臺客戶端。
根據(jù)本發(fā)明實施例的后臺客戶端包括數(shù)據(jù)請求模塊,用于獲 取播放起點及播放起點數(shù)據(jù);監(jiān)聽模塊,用于接收來自瀏覽器客戶 端的握手信息,獲取來自數(shù)據(jù)請求模塊的播放起點及播放起點數(shù)據(jù), 從播放起點數(shù)據(jù)中解析出音/視頻解碼參數(shù),并向瀏覽器客戶端返回 播放起點、音/視頻解碼參數(shù)。
根據(jù)本發(fā)明的另 一方面,提供了 一種瀏覽器客戶端的直播系統(tǒng)。
根據(jù)本發(fā)明實施例的瀏覽器客戶端的直播系統(tǒng)包括瀏覽器客戶 端和后臺客戶端,其中瀏覽器客戶端包括主模塊,用于發(fā)送握 手信息,接收播放起點、音/視頻解碼參數(shù),以及根據(jù)音/視頻解碼參 數(shù)構建播放器;后臺客戶端包括數(shù)據(jù)請求模塊,用于獲取播放起 點及播放起點數(shù)據(jù);監(jiān)聽模塊,用于接收來自瀏覽器客戶端的握手 信息,獲取來自數(shù)據(jù)請求模塊的播放起點及播^^點數(shù)據(jù),從播放起點數(shù)據(jù)中解析出音A見頻解碼參數(shù),并向瀏覽器客戶端返回播放起 點、音^見頻解碼參H
以上實施例提供的IE客戶端的直播方法和系統(tǒng),解決了相關技 術中存在的用戶希望直接在IE瀏覽器中觀看直播節(jié)目的問題,從而 使得用戶能夠直接在IE里面觀看節(jié)目。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申 請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并 不構成對本發(fā)明的不當限定。在附圖中
圖1是用于實施本發(fā)明實施例的P2P流々某體的應用環(huán)境布局的 示意圖2是才艮據(jù)本發(fā)明實施例的IE客戶端的直纟番方法的流程圖; 圖3是根據(jù)本發(fā)明實施例的IE插件和后臺客戶端通信的示意
圖4是根據(jù)本發(fā)明實施例的瀏覽器客戶端的方框圖; 圖5是根據(jù)本發(fā)明實施例的后臺客戶端的方框圖; 圖6是4艮據(jù)本發(fā)明實施例的IE客戶端的直纟番系統(tǒng)的方框圖。
具體實施例方式
針對用戶希望直接在IE瀏覽器中觀看直播節(jié)目的需求,本發(fā)明 提供了一種IE客戶端的直播方法和系統(tǒng)、瀏覽器客戶端、后臺客戶 端,從而使得用戶能夠直接在IE里面觀看節(jié)目。由于直播系統(tǒng)在發(fā)布時,會同時發(fā)布一個IE客戶端和一個正常的客戶端,用戶可以才艮 據(jù)自己的需要進行選擇。為了使得系統(tǒng)將來易于維護和升級,在本 發(fā)明實施例中,IE客戶端置入了正??蛻舳酥信cEPG (Electronic Programmer Guide,電子節(jié)目單)交互、界面和4番;故器等相關功能, 諸如凄t據(jù)的請求、對其他客戶端的服務等其他功能則沒有置入。IE 客戶端在啟動后,正??蛻舳藭鳛橐粋€后臺進程(即,后臺客戶 端)是以隱式的方式啟動,其界面不呈現(xiàn),兩個進程相互通訊,進 行信息和數(shù)據(jù)的傳遞。這樣當后臺客戶端進行升級時,前臺的IE插 件(即,IE客戶端)可以無需進行任何修改。
圖1是用于實施本發(fā)明實施例的P2P流i某體的應用環(huán)境布局的 示意圖,如圖1所示,P2P流媒體的應用環(huán)境的主要構件如下區(qū) 域管理月良務器,主要負責本區(qū)域用戶的資源調度和內容4是供;內容 源邊緣服務器(靜態(tài)PEER),即,補償服務器,作為內容源,對于 在直播時由于ADSL上/下行的不對稱帶寬引起的P2P流量供給不足 進行補償;通過ADSL/LAN接入的客戶端(動態(tài)PEER),即,普 通PC ( Personal Compute r,個人計算才幾),包括IE客戶端和后臺客 戶端;此外,P2P流i某體的應用環(huán)境還包括如下構件內容源管理 服務器、中心片庫、EPG和版本升級服務器。下面將參考附圖并結 合實施例,來詳細i兌明本發(fā)明。
方法實施例
根據(jù)本發(fā)明的實施例,提供了 一種IE客戶端的直播方法。
圖2是根據(jù)本發(fā)明實施例的IE客戶端的直播方法的流程圖,如 圖2所示,該方法包4舌
步驟S202,基于瀏覽器客戶端的主模塊和后臺客戶端的監(jiān)聽模 塊之間的傳輸控制協(xié)議連接,監(jiān)聽模塊獲取來自主模塊的握手信息;步驟S204,監(jiān)聽;漠塊調用后臺客戶端的數(shù)據(jù)請求-漠塊;
步驟S206,監(jiān)聽模塊獲取來自數(shù)據(jù)請求模塊的播放起點及播放 起點數(shù)據(jù),并從播放起點數(shù)據(jù)中解析出音/視頻解碼參數(shù);
步驟S208,監(jiān)聽模塊向主模塊返回播放起點、音/視頻解碼參 數(shù),其中,主模塊根據(jù)音/視頻解碼參數(shù)構建,以及播放器根據(jù)播放 起點進行播放。
下面結合實例對本發(fā)明的方法進4亍詳細描述。圖3是4艮據(jù)本發(fā) 明實施例的IE插件和后臺客戶端通信的示意圖,如圖3所示,IE 插件與后臺進程采用本地socket (連接)進行通訊,其中,IE插件 包括IE插件主線程301 (即,上述主才莫塊)、 一見頻數(shù)據(jù)讀耳又線程 302 (即,^見頻數(shù)據(jù)讀取^莫塊)、音頻數(shù)據(jù)讀耳又線程303 (即,音頻 數(shù)據(jù)讀取模塊);后臺進程包括監(jiān)聽線程304 (即,上述監(jiān)聽模塊)、 后臺數(shù)據(jù)請求線程305 (即,上述數(shù)據(jù)請求模塊)、視頻數(shù)據(jù)服務線 程306 (即,視頻數(shù)據(jù)服務模塊)、音頻數(shù)據(jù)服務線程307 (即,音 頻數(shù)據(jù)服務模塊),具體實現(xiàn)過程如下
(1) IE插件啟動后,會自動調用后臺客戶端,該進程以隱式 的方式啟動,即,其界面不呈現(xiàn),后臺客戶端啟動監(jiān)聽線程304;
(2) IE插件在點擊了某個直播頻道后,完成與EPG的交互后, IE插件主線程301向監(jiān)聽線程304利用本立socket發(fā)送建立TCP
(Transfer Control Protocol,傳豐命控制協(xié)i義)連4妄的i青求(即,第三 請求消息),監(jiān)聽線程304接收該TCP連接請求,并建立TCP連接; 即,監(jiān)聽模塊獲取來自主模塊的建立傳輸控制協(xié)議連接的第三請求 消息;基于第三請求消息,監(jiān)聽模塊建立與主模塊的傳輸控制協(xié)議 連接,并通知主模塊;(3 ) IE插件主線程301通過TCP連接向監(jiān)聽線程304發(fā)送握 手信息,其中,該握手信息包括用戶將要觀看的節(jié)目等相關信息;
(4 )在監(jiān)聽線程304接收握手信息(即,上述步驟S202 )之 后,啟動(調用)后臺進程的后臺數(shù)據(jù)請求線程305 (即,上述步 驟S204 ),并循環(huán)4全查后臺數(shù)據(jù)請求線程305是否已經獲得了播放 起點和播放起點數(shù)據(jù);即,監(jiān)聽模塊循環(huán)檢查數(shù)據(jù)請求模塊是否已 經獲取播放起點及播放起點數(shù)據(jù);以及在判斷結果為是的情況下, 監(jiān)聽模塊獲取播》i^點及播放起點數(shù)據(jù);
(5) 后臺數(shù)據(jù)請求線程305向區(qū)域管理服務器308申請補償 服務器309,該處理可以如下實現(xiàn)數(shù)據(jù)請求模塊向區(qū)域管理服務 器308發(fā)送用于申請補償服務器309的第一申請消息;此后,區(qū)域 管理服務器308接收來自數(shù)據(jù)請求模塊的用于申請補償服務器309 的第一申請消息;
(6) 區(qū)域管理服務器308將補償服務器309的信息返回給后 臺數(shù)據(jù)請求線程305,該處理可以如下實現(xiàn)區(qū)域管理服務器308 向數(shù)據(jù)請求模塊返回第一響應消息,其中,第一響應消息攜帶有補 償服務器309的信息;
(7) 后臺數(shù)據(jù)請求線程305向補償服務器309發(fā)送握手信息 (即,用于申請當前播放進度及其相關數(shù)據(jù)的第三握手信息),其中,
該握手信息包括請求當前播放進度的信息;此后,補償服務器309 接收來自數(shù)據(jù)請求模塊的第三握手信息;
(8 )在補償服務器309接收握手信息之后,向后臺數(shù)據(jù)請求線 程305返回當前播放進度;該處理可以如下實現(xiàn)補償服務器309 向數(shù)據(jù)請求模塊返回第二響應消息,其中攜帶有當前播放進度及其 相關lt據(jù);(9) 后臺數(shù)據(jù)請求線程305根據(jù)返回的播放進度,確定自己的 播放起點;該處理可以如下實現(xiàn)數(shù)據(jù)請求模塊獲取當前播放進度 及其相關數(shù)據(jù);數(shù)據(jù)請求模塊根據(jù)當前播放進度確定播放起點;
以該播放器起點為基礎,向補償服務器309申請該播放器起點 對應的數(shù)據(jù);該處理可以如下實現(xiàn)數(shù)據(jù)請求模塊向補償服務器309 發(fā)送用于申請播放起點及播放起點數(shù)據(jù)的第二申請消息;此后,補 償服務器309接收來自數(shù)據(jù)請求模塊的第二申請消息;
(10) 在補償服務器309返回申請的播放器起點對應的數(shù)據(jù), 該處理可以如下實現(xiàn)響應于第二申請消息,補償力良務器309向凌t 據(jù)請求模塊返回第三響應消息,其中攜帶有播放起點及播放起點數(shù) 據(jù);
之后,監(jiān)聽模塊獲取來自數(shù)據(jù)請求模塊的播放起點及播放起點 數(shù)據(jù),監(jiān)聽線程304從播放器起點對應的數(shù)據(jù)(即,播放起點相關 數(shù)據(jù))中解析出視頻和音頻解碼參數(shù),然后,利用建立的TCP連接 將播放起點以及視音頻解碼參數(shù)返回給IE插件主線程301,即,監(jiān) 聽模塊向主模塊返回播放起點、視頻解碼參數(shù);
(11 )正插件主線程301 4艮據(jù)返回的4見音頻解碼參數(shù)構建播》文 器,即,主模塊根據(jù)視頻解碼參數(shù)構建播放器,其中,構建的播放 器包括一見頻^:據(jù)讀耳又;模塊、解碼器;啟動一見頻ft據(jù)讀取線程302和 音頻凄t纟居讀耳又線^呈303;
(12 )在^L頻數(shù)據(jù)讀取線程302利用本立socket向監(jiān)聽線程304 發(fā)送建立TCP連接的請求,監(jiān)聽線程304接收該TCP連接請求之 后,建立TCP連接;該處理可以如下實現(xiàn)監(jiān)聽才莫塊接收來自被調 用的視頻數(shù)據(jù)讀取模塊的建立傳輸控制協(xié)議連接的第 一請求消息;基于第 一請求消息,監(jiān)聽模塊建立與視頻數(shù)據(jù)讀取模塊的傳輸控制 協(xié)議連4I:,并通知纟見頻^t據(jù)讀取一莫塊;
(13) 纟見頻^:據(jù)讀取線程302向監(jiān)聽線程304發(fā)送握手信息 (即,第二握手信息),并在握手信息中包含請求與視頻數(shù)據(jù)服務線
程306建立TCP連接的信息;
(14) 在監(jiān)聽線程304接收到該握手信息(即,監(jiān)聽模塊接收 來自視頻數(shù)據(jù)讀取模塊的用于請求與后臺客戶端的視頻數(shù)據(jù)服務模 塊建立傳輸控制協(xié)議連接的第二握手信息)之后,啟動視頻數(shù)據(jù)服 務線程306,并建立視頻數(shù)據(jù)讀取線程302與視頻數(shù)據(jù)服務線程306 建立TCP連接,即,響應于第二握手信息,監(jiān)聽模塊調用視頻數(shù)據(jù) 服務模塊,并建立視頻數(shù)據(jù)讀取才莫塊和視頻數(shù)據(jù)服務模塊的傳輸控 制協(xié)議連接;
(15 )視頻數(shù)據(jù)讀取線程302向視頻數(shù)據(jù)服務線程306利用已 經建立的TCP連接發(fā)送數(shù)據(jù)請求(即,第二請求消息),此后,視 頻數(shù)據(jù)服務模塊接收來自視頻數(shù)據(jù)讀取模塊的用于請求視頻數(shù)據(jù)的 第二請求消息;視頻數(shù)據(jù)服務線程306在接收到數(shù)據(jù)請求后,檢查 緩沖區(qū),判斷緩沖區(qū)是否存在視頻數(shù)據(jù);如果發(fā)現(xiàn)數(shù)據(jù)已經存在, 則將該數(shù)據(jù)打包發(fā)送給視頻數(shù)據(jù)讀取線程302,同時,視頻數(shù)據(jù)服 務線程306記錄當前請求的視頻數(shù)據(jù)的數(shù)據(jù)塊的編號;即,在判斷 結果為是的情況下,視頻數(shù)據(jù)服務模塊將視頻數(shù)據(jù)發(fā)送給視頻數(shù)據(jù) 讀取才莫塊,并記錄纟見頻數(shù)據(jù)對應的 居塊編號;
(16 )視頻數(shù)據(jù)讀取線程302在接收到播放起點對應的視頻數(shù) 據(jù)之后,將視頻數(shù)據(jù)解析出來,并送入解碼器,解碼器接收來自視 頻數(shù)據(jù)讀取模塊的解析后的視頻數(shù)據(jù),并使用視頻解碼參數(shù)解碼視 頻數(shù)據(jù);(17)播放器根據(jù)播放起點播放解碼后的視頻數(shù)據(jù)。
上述的(12 )至(16 )是視頻數(shù)據(jù)的獲取及播放過程,類似地, 獲取并播》文音頻#:據(jù)的過程如下
(22 )在音頻凄U居讀耳又線禾呈303利用本立socket向監(jiān)聽線禾呈304 發(fā)送建立TCP連接的請求,監(jiān)聽線程304接收該TCP連接請求之 后,建立TCP連接;該處理可以如下實現(xiàn)監(jiān)聽模塊接收來自被調 用的音頻數(shù)據(jù)讀取模塊的建立傳輸控制協(xié)議連接的第一請求消息; 基于第一請求消息,監(jiān)聽模塊建立與音頻數(shù)據(jù)讀取模塊的傳輸控制 協(xié)i義連4妄,并通知音頻^:據(jù)讀耳又一莫塊;
(23)音頻數(shù)據(jù)讀取線程303向監(jiān)聽線程304發(fā)送握手信息 (即,第二握手信息),并在握手信息中包含請求與音頻數(shù)據(jù)服務線 程307建立TCP連接的信息;
(24 )在監(jiān)聽線程304接收到該握手信息(即,監(jiān)聽模塊接收 來自音頻數(shù)據(jù)讀取模塊的用于請求與后臺客戶端的音頻數(shù)據(jù)服務模 塊建立傳輸控制協(xié)議連接的第二握手信息)之后,啟動音頻數(shù)據(jù)服 務線程307,并建立音頻lt據(jù)讀取線程303與音頻數(shù)據(jù)服務線程307 建立TCP連接,即,響應于第二握手信息,監(jiān)聽模塊調用音頻數(shù)據(jù) 服務模塊,并建立音頻數(shù)據(jù)讀取模塊和音頻數(shù)據(jù)服務模塊的傳輸控 制協(xié)議連接;
(25 )音頻教:據(jù)讀耳又線程303向音頻凝:才居月良務線程307利用已 經建立的TCP連4妄發(fā)送凄t據(jù)-清求(即,第二i青求消息),此后,音 頻數(shù)據(jù)服務模塊接收來自音頻數(shù)據(jù)讀取模塊的用于請求音頻數(shù)據(jù)的 第二請求消息;音頻凄t據(jù)力良務線程307在"l妻收到凄t據(jù)請求后,;險查 緩沖區(qū),判斷緩沖區(qū)是否存在音頻數(shù)據(jù);如果發(fā)現(xiàn)數(shù)據(jù)已經存在, 則將該f欠據(jù)打包發(fā)送給音頻tt據(jù)讀取線程303,同時,音頻lt據(jù)服務線程307記錄當前"i青求的音頻凄t據(jù)的凄t據(jù)塊的編號記錄;即,在 判斷結果為是的情況下,音頻數(shù)據(jù)服務模塊將音頻數(shù)據(jù)發(fā)送給音頻 凄t據(jù)讀取才莫塊,并記錄音頻凄t據(jù)對應的lt據(jù)塊編號;
(26 )音頻數(shù)據(jù)讀取線程303在接收到播放起點對應的音頻數(shù) 據(jù)之后,將音頻數(shù)據(jù)解析出來,并送入解碼器,解碼器接收來自音 頻數(shù)據(jù)讀取才莫塊的解析后的音頻凄t據(jù),并4吏用音頻解碼參數(shù)解碼音 頻數(shù)據(jù);
(27)播放解碼后的音頻數(shù)據(jù),即,播放器根據(jù)播放起點進行播放。
在上述處理中,后臺數(shù)據(jù)請求線程305根據(jù)視頻數(shù)據(jù)服務線程 306記錄的視頻數(shù)據(jù)塊的編號和音頻數(shù)據(jù)服務線程307記錄的音頻 ^t據(jù)塊的編號,確定其中較大值為當前的播;改指針。
系鄉(xiāng)充實施例
實施例一
根據(jù)本發(fā)明的實施例,提供了一種瀏覽器客戶端。由于直播系 統(tǒng)在發(fā)布時,會同時發(fā)布一個IE客戶端和一個正常的客戶端,用戶 可以根據(jù)自己的需要進行選擇。為了使得系統(tǒng)將來易于維護和升級, 在本發(fā)明實施例中,IE客戶端置入了正??蛻舳酥信cEPG交互、 界面和播放器等相關功能,諸如數(shù)據(jù)的請求、對其他客戶端的服務 等其他功能則沒有置入。正客戶端在啟動后,正??蛻舳藭鳛橐?個后臺進程(即,后臺客戶端)是以隱式的方式啟動,其界面不呈 現(xiàn),兩個進程相互通訊,進行信息和數(shù)據(jù)的傳遞。這樣當后臺客戶 端進4亍升級時,前臺的IE插件(即,IE客戶端)可以無需進行任 何修改。圖4是根據(jù)本發(fā)明實施例的瀏覽器客戶端的方框圖,如圖4所 示,瀏覽器客戶端包括
主模塊42,用于發(fā)送握手信息,接收播放起點、音/視頻解碼 參H以及才艮據(jù)音/-見頻解碼參凄史構建插^文器;
播放器44,連接至主模塊42,用于根據(jù)播放起點進行播放。
具體地,主才莫塊一艮據(jù)音/纟見頻解碼參數(shù)構建的播放器包括音/視 頻數(shù)據(jù)讀取模塊、解碼器;音/視頻數(shù)據(jù)讀取模塊獲取播放起點對應 的音/視頻數(shù)據(jù),并將音/視頻數(shù)據(jù)發(fā)送給解碼器;解碼器使用音/視 頻解碼參^:解碼音/纟見頻凄t據(jù);插^文解碼后的音/纟見頻ft據(jù)。
實施例二
才艮據(jù)本發(fā)明的實施例,4是供了一種后臺客戶端。
圖5是根據(jù)本發(fā)明實施例的后臺客戶端的方框圖,如圖5所示, 后臺客戶端包4舌
數(shù)據(jù)請求才莫塊52,用于獲取播》文起點及播放起點數(shù)據(jù);
監(jiān)聽模塊54,連接至數(shù)據(jù)請求模塊52,用于接收來自瀏覽器客 戶端的握手信息,獲取來自數(shù)據(jù)請求模塊的播放起點及播放起點數(shù) 據(jù),從播放起點數(shù)據(jù)中解析出音/視頻解碼參數(shù),并向瀏覽器客戶端 返回l番》文起點、音/碎見頻解石馬參凄t。
進一步地,上述系統(tǒng)還包括視頻數(shù)椐服務模塊、音頻數(shù)據(jù)服 務模塊。
具體地,監(jiān)聽模塊54建立與瀏覽器客戶端的傳輸控制協(xié)議連 接,并在接收到來自瀏覽器客戶端的握手信息之后,被調用的數(shù)據(jù)請求模塊52獲取播放起點及播放起點數(shù)據(jù),此后,監(jiān)聽模塊54獲 取上述播放起點及播放起點數(shù)據(jù),從播放起點數(shù)據(jù)中解析出音/視頻 解碼參數(shù),并向瀏覽器客戶端返回播放起點、音/視頻解碼參數(shù)。
實施例三
根據(jù)本發(fā)明的實施例,提供了一種IE客戶端的直播系統(tǒng)。圖6 是根據(jù)本發(fā)明實施例的IE客戶端的直播系統(tǒng)的方框圖,如圖6所示, 瀏覽器客戶端的直播系統(tǒng)包括瀏覽器客戶端和后臺客戶端,其中
瀏覽器客戶端62包4舌
主模塊620,用于發(fā)送握手信息,接收播放起點、音/視頻解碼 參凄t,以及才艮據(jù)音/^L頻解碼參lt構建4番;改器;
后臺客戶端64包4舌
數(shù)據(jù)請求模塊640,用于獲取播放起點及播放起點數(shù)據(jù);
監(jiān)聽模塊642,連接至主模塊620和數(shù)據(jù)請求模塊640,用于 接收來自瀏覽器客戶端的握手信息,獲取來自數(shù)據(jù)請求模塊的播放 起點及播放起點數(shù)據(jù),從播放起點數(shù)據(jù)中解析出音/視頻解碼參數(shù), 并向瀏覽器客戶端返回播放起點、音/視頻解碼參數(shù)。
具體地,基于瀏覽器客戶端的主才莫塊620和后臺客戶端的監(jiān)聽 模塊642之間的傳輸控制協(xié)議連接,監(jiān)聽模塊642獲取來自主模塊 的握手信息;監(jiān)聽模塊642調用后臺客戶端的數(shù)據(jù)請求模塊640; 監(jiān)聽模塊642獲取來自數(shù)據(jù)請求模塊640的播放起點及播放起點數(shù) 據(jù),并從播放起點相關數(shù)據(jù)中解析出音/視頻解碼參數(shù);監(jiān)聽模塊642 向主模塊620返回播放起點、音/視頻解碼參數(shù),并且,主模塊620 根據(jù)音/視頻解碼參數(shù)構建播放器。以上實施例提供的IE客戶端的直播方法和系統(tǒng),解決了相關技 術中存在的用戶希望直接在IE瀏覽器中觀看直播節(jié)目的問題,從而 使得用戶能夠直接在IE里面觀看節(jié)目。
顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或 各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算 裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們 可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲
在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成 電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模 塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的;更件和軟件結合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明, 對于本領域的^支術人員來i兌,本發(fā)明可以有各種更改和變化。凡在 本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等, 均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種瀏覽器客戶端的直播方法,其特征在于,包括基于瀏覽器客戶端的主模塊和后臺客戶端的監(jiān)聽模塊之間的傳輸控制協(xié)議連接,所述監(jiān)聽模塊獲取來自所述主模塊的握手信息;所述監(jiān)聽模塊調用所述后臺客戶端的數(shù)據(jù)請求模塊;所述監(jiān)聽模塊獲取來自所述數(shù)據(jù)請求模塊的播放起點及播放起點數(shù)據(jù),并從所述播放起點數(shù)據(jù)中解析出音/視頻解碼參數(shù);所述監(jiān)聽模塊向所述主模塊返回所述播放起點、所述音/視頻解碼參數(shù),其中,所述主模塊根據(jù)所述音/視頻解碼參數(shù)構建播放器,并且所述播放器根據(jù)所述播放起點進行播放。
2. 根據(jù)權利要求1所述的方法,其特征在于,所述監(jiān)聽模塊向所 述主纟莫塊返回所述插^文起點、所述音/視頻解碼參數(shù)之后,所 述方法還包括所述主才莫塊才艮據(jù)所述音^見頻解碼參數(shù)構建4番》文器,其中, 構建的所述播放器包括音/視頻數(shù)據(jù)讀取模塊、解碼器;所述音/視頻數(shù)據(jù)讀取模塊獲取所述播放起點對應的音/視 頻數(shù)據(jù),并將所述音/視頻數(shù)據(jù)發(fā)送給所述解碼器;所述解碼器4吏用所述音/-見頻解碼參#:解碼所述音"見頻凄史據(jù);才番》丈解碼后的所述音/纟見頻lt據(jù)。
3. 根據(jù)權利要求2所述的方法,其特征在于,在所述主模塊根據(jù) 所述音^見頻解碼參凄t構建插^丈器之后,所述方法還包括所述監(jiān)聽模塊接收來自被調用的所述音/視頻數(shù)據(jù)讀取模 塊的建立傳輸控制協(xié)議連接的第 一請求消息;基于所述第一請求消息,所述監(jiān)聽模塊建立與所述音/視 頻凄t據(jù)讀耳又,莫塊的傳輸控制協(xié)i義連4妄,并通知所述音/一見頻^: 據(jù)讀取模塊;所述監(jiān)聽模塊接收來自所述音/視頻數(shù)據(jù)讀取模塊的用于 請求與所述后臺客戶端的音/視頻數(shù)據(jù)服務模塊建立傳輸控制 協(xié)議連接的第二握手信息;響應于所述第二握手信息,所述監(jiān)聽模塊調用所述音/視 頻凄t據(jù)力良務,莫塊,并建立所述音/一見頻l史據(jù)讀取一莫塊和所述音/ 一見頻lt據(jù)力l務才莫塊的傳輸控制協(xié)議連接。
4. 才艮據(jù)片又利要求3所述的方法,其特征在于,所述音W見頻數(shù)據(jù) 讀取模塊獲取所述播放起點對應的音/視頻數(shù)據(jù),并將所述音/ 視頻數(shù)據(jù)發(fā)送給所述解碼器具體包括所述音/纟見頻H據(jù)力良務,莫塊接收來自所述音/纟見頻數(shù)據(jù)讀耳又 沖莫塊的用于請求所述音/視頻數(shù)據(jù)的第二請求消息;基于所述第二請求消息,所述音/視頻數(shù)據(jù)服務模塊判斷 緩沖區(qū)是否存在所述音/視頻數(shù)據(jù);在判斷結果為是的情況下,所述音/視頻數(shù)據(jù)服務模塊將 所述音^見頻H據(jù)發(fā)送給所述音/一見頻數(shù)據(jù)讀耳又一莫塊,并記錄音 頻數(shù)據(jù)和視頻數(shù)椐各自對應的數(shù)據(jù)塊編號;所述解碼器4妄收來自所述音/^L頻lt據(jù)讀耳又才莫塊的所述音/ 視頻數(shù)據(jù)。
5. 根據(jù)權利要求1所述的方法,其特征在于,所述監(jiān)聽模塊獲取 來自所述主模塊的握手信息之前,所述方法還包括所述監(jiān)聽模塊獲取來自所述主模塊的建立傳輸控制協(xié)議 連接的第三請求消息;基于所述第三請求消息,所述監(jiān)聽模塊建立與所述主模塊 的傳輸控制協(xié)議連接,并通知所述主模塊。
6. 根據(jù)權利要求1所述的方法,其特征在于,在調用所述后臺客 戶端的數(shù)據(jù)請求模塊之后,所述方法還包括所述監(jiān)聽模塊循環(huán)檢查所述數(shù)據(jù)請求模塊是否已經荻取 所述播放起點及所述播放起點數(shù)據(jù);在判斷結果為是的情況下,所述監(jiān)聽模塊獲取所述播放起 點及所述播放起點數(shù)據(jù),其中,所述數(shù)據(jù)請求才莫塊獲取當前播 放進度及其相關數(shù)據(jù);所述數(shù)據(jù)請求模塊根據(jù)所述當前播放進 度確定所述#番》文起點。
7. 根據(jù)權利要求6所述的方法,其特征在于,所述數(shù)據(jù)請求模塊 獲取當前播放進度及其相關數(shù)據(jù)具體包括所述數(shù)據(jù)請求模塊向區(qū)域管理服務器發(fā)送用于申請補償 月艮務器的第一申請消息,并接收所述區(qū)域管理服務器基于所述 第一申請消息返回的第一響應消息,其中,所述第一響應消息 攜帶有所述補償服務器的信息;基于所述第一響應消息,所述凄t據(jù)請求—莫塊向所述補償服 務器發(fā)送用于申請所述當前播放進度及其相關數(shù)據(jù)的第三握 手信息,并接收所述補償服務器基于所述第三握手信息返回的 笫二響應消息,其中,所述第二響應消息中攜帶有所述當前播 放進度及其相關數(shù)據(jù)。
8. 根據(jù)權利要求7所述的方法,其特征在于,所述數(shù)據(jù)請求模塊 獲取所述播放起點及所述播放起點數(shù)據(jù)具體包括所述數(shù)據(jù)請求模塊向所述補償服務器發(fā)送用于申請所述 播放起點及所述播放起點數(shù)據(jù)的第二申請消息;所述數(shù)據(jù)請求模塊接收所述補償服務器基于所述第二申 請消息返回的第三響應消息,其中,所述第三響應消息中攜帶 有所述播放起點及所述播放起點數(shù)據(jù)。
9. 一種瀏覽器客戶端,其特征在于,包括主模塊,用于發(fā)送握手信息,接收播放起點、音/視頻解 碼參數(shù),以及根據(jù)所述音/視頻解碼參數(shù)構建播放器;所述播放器,用于根據(jù)播放起點進行播放。
10. —種后臺客戶端,其特征在于,包括數(shù)據(jù)請求模塊,用于獲取播放起點及播放起點數(shù)據(jù);監(jiān)聽模塊,用于接收來自瀏覽器客戶端的握手信息,獲取 來自所述數(shù)據(jù)請求模塊的所述播放起點及播放起點數(shù)據(jù),從所 述播放起點數(shù)據(jù)中解析出音/視頻解碼參數(shù),并向所述瀏覽器 客戶端返回所述播放起點、所述音/視頻解碼參數(shù)。
11. 一種瀏覽器客戶端的直播系統(tǒng),其特征在于,包括瀏覽器客戶 端和后臺客戶端,其中所述瀏覽器客戶端包括主模塊,用于發(fā)送握手信息,接收播放起點、音/視頻解 碼參數(shù),以及4艮據(jù)所述音/一見頻解碼參數(shù)構建播^文器;所述后臺客戶端包括數(shù)據(jù)請求模塊,用于獲取播放起點及播放起點數(shù)據(jù);監(jiān)聽模塊,用于接收來自瀏覽器客戶端的握手信息,獲取 來自所述數(shù)據(jù)請求模塊的所述播放起點及播放起點數(shù)據(jù),從所 述播》文起點數(shù)據(jù)中解析出音/—見頻解碼參數(shù),并向所述瀏覽器 客戶端返回所述播放起點、所述音/視頻解碼參數(shù)。
全文摘要
本發(fā)明公開了一種瀏覽器客戶端的直播方法和系統(tǒng)、瀏覽器客戶端、后臺客戶端,其中,上述方法包括基于瀏覽器客戶端的主模塊和后臺客戶端的監(jiān)聽模塊之間的傳輸控制協(xié)議連接,監(jiān)聽模塊獲取來自主模塊的握手信息;監(jiān)聽模塊調用后臺客戶端的數(shù)據(jù)請求模塊;監(jiān)聽模塊獲取來自數(shù)據(jù)請求模塊的播放起點及播放起點數(shù)據(jù),并從播放起點數(shù)據(jù)中解析出音/視頻解碼參數(shù);監(jiān)聽模塊向主模塊返回播放起點、音/視頻解碼參數(shù),其中,主模塊根據(jù)音/視頻解碼參數(shù)構建播放器,以及播放器根據(jù)播放起點進行播放。本發(fā)明使得用戶能夠直接在IE里面觀看節(jié)目。
文檔編號H04L29/06GK101321176SQ200810137710
公開日2008年12月10日 申請日期2008年7月11日 優(yōu)先權日2008年7月11日
發(fā)明者健 季 申請人:中興通訊股份有限公司