專利名稱:通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于音視頻傳輸處理技術(shù)領(lǐng)域,具體涉及一種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法及其系統(tǒng)。
背景技術(shù):
在PIS (Passenger Information System,乘客信息系統(tǒng))中,為提高列車行車安全性和娛樂性等功能,需要實現(xiàn)列車視音頻直播的功能。但是,由于列車的高速移動性,只能通過無線網(wǎng)絡(luò)實現(xiàn)PIS地面控制中心到列車的傳輸。而列車在移動時會存在無線基站的連接切換,而在切換時無線網(wǎng)絡(luò)會出現(xiàn)50ms左右的中斷,又由于PIS無線信號容易受到其他無線信號的干擾,因此,直播數(shù)據(jù)在從PIS地面控制中心傳輸?shù)搅熊嚂r經(jīng)常出現(xiàn)丟失的情況。如圖I所示,目前,PIS地面控制中心在向列車傳輸直播數(shù)據(jù)時,直播數(shù)據(jù)從PIS地面控制中心的編碼器輸出后,直接通過無線網(wǎng)絡(luò)傳輸給列車的各個直播客戶端,因此,直播數(shù)據(jù)丟失現(xiàn)象非常常見,安裝在列車上的各個直播客戶端在解碼回放時,經(jīng)常出現(xiàn)馬賽克現(xiàn)象,從而影響了觀看效果,嚴(yán)重時還會導(dǎo)致畫面歧義。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法及系統(tǒng),能夠有效解決因直播數(shù)據(jù)丟失而導(dǎo)致的直播客戶端的馬賽克現(xiàn)象,從而提高了直播客戶端播放直播數(shù)據(jù)的流暢性,進(jìn)而提高了人們的觀看效果。本發(fā)明采用的技術(shù)方案如下本發(fā)明提供一種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,應(yīng)用于由直播服務(wù)器和與所述直播服務(wù)器通過無線網(wǎng)絡(luò)連接的至少一個直播客戶端的網(wǎng)絡(luò)系統(tǒng)中,所述方法包括以下步驟SI,所述直播服務(wù)器接收PIS地面控制中心的編碼器輸出的至少一條原始直播數(shù)據(jù);S2,所述直播服務(wù)器向每一條所述原始直播數(shù)據(jù)中增加用于標(biāo)識各個所述原始直播數(shù)據(jù)的播放次序的直播數(shù)據(jù)ID,得到封裝后的直播數(shù)據(jù);S3,所述直播服務(wù)器將所述封裝后的直播數(shù)據(jù)存入服務(wù)器緩存區(qū)中;S4,當(dāng)所述直播服務(wù)器接收到所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求時,依據(jù)所述直播數(shù)據(jù)ID,所述直播服務(wù)器從所述服務(wù)器緩存區(qū)中順序讀取并依次向所述直播客戶端發(fā)送各個所述封裝后的直播數(shù)據(jù);S5,所述直播客戶端接收所述封裝后的直播數(shù)據(jù)。優(yōu)選的,所述原始直播數(shù)據(jù)包括原始視頻直播數(shù)據(jù)和/或原始音頻直播數(shù)據(jù);所述直播數(shù)據(jù)ID為所述直播服務(wù)器接收到所述原始直播數(shù)據(jù)的接收時間信息,或,所述直播數(shù)據(jù)ID為用于標(biāo)識各個所述原始直播數(shù)據(jù)播放順序的序號。
優(yōu)選的,S4之后,還包括當(dāng)所述直播服務(wù)器接收到所述直播客戶端發(fā)送的停止傳輸直播數(shù)據(jù)的命令請求時,所述直播服務(wù)器停止向所述直播客戶端發(fā)送所述封裝后的直播數(shù)據(jù),并釋放所述服務(wù)器緩存區(qū)中存儲的各個所述封裝后的直播數(shù)據(jù)。優(yōu)選的,S5之后,還包括S6,所述直播客戶端將接收到的所述封裝后的直播數(shù)據(jù)存入客戶端緩存區(qū)中。優(yōu)選的,S6之后,還包括S7,當(dāng)所述直播客戶端接收到播放直播數(shù)據(jù)的命令請求時,依據(jù)所述直播數(shù)據(jù)ID,所述直播客戶端按順序從所述客戶端緩存區(qū)中讀取并播放各個所述封裝后的直播數(shù)據(jù)。
優(yōu)選的,S6之后,還包括S8,每隔第一預(yù)設(shè)時間長度后,所述直播客戶端獲取所述客戶端緩存區(qū)中已存儲的各個所述封裝后的直播數(shù)據(jù)所對應(yīng)的各個所述直播數(shù)據(jù)ID ;S9,所述直播客戶端通過分析S8獲取到的各個所述直播數(shù)據(jù)ID的連續(xù)性判斷是否存在丟包情況,如果判斷結(jié)果為否,則重復(fù)執(zhí)行S8-S9 ;如果判斷結(jié)果為是,則執(zhí)行SlO ;S10,所述直播客戶端獲取丟失的所述封裝后的直播數(shù)據(jù)所對應(yīng)的丟失直播數(shù)據(jù)ID ;S11,所述直播客戶端向所述直播服務(wù)器發(fā)送直播數(shù)據(jù)重傳請求消息,其中,所述直播數(shù)據(jù)重傳請求消息中攜帶有所述丟失直播數(shù)據(jù)ID ;S12,所述直播服務(wù)器查找所述服務(wù)器緩存區(qū),獲取封裝有所述丟失直播數(shù)據(jù)ID的所述封裝后的直播數(shù)據(jù);S13,所述直播服務(wù)器將S12獲取到的所述封裝后的直播數(shù)據(jù)重傳給所述直播客戶端。優(yōu)選的,S6之后,還包括S14,每隔第二預(yù)設(shè)時間長度,所述直播客戶端檢測所述客戶端緩存區(qū)中的所述封裝后的直播數(shù)據(jù)的存儲量,判斷所述存儲量是否大于預(yù)設(shè)閾值,如果判斷結(jié)果為否,則執(zhí)行S15 S15,所述直播客戶端停止播放直播數(shù)據(jù),并啟動本地墊片,使所述本地墊片播放數(shù)據(jù)。本發(fā)明還提供一種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括直播服務(wù)器和與所述直播服務(wù)器通過無線網(wǎng)絡(luò)連接的至少一個直播客戶端;所述直播服務(wù)器包括第一接收子模塊用于接收PIS地面控制中心的編碼器輸出的至少一條原始直播數(shù)據(jù);封裝子模塊用于向所述第一接收子模塊接收到的所述原始直播數(shù)據(jù)中增加用于標(biāo)識各個所述原始直播數(shù)據(jù)的播放次序的直播數(shù)據(jù)ID,得到封裝后的直播數(shù)據(jù);第一存儲子模塊用于存儲所述封裝子模塊封裝后得到的所述封裝后的直播數(shù)據(jù);第二接收子模塊用于接收所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求;第一發(fā)送子模塊用于在所述第二接收子模塊接收到所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求時,依據(jù)所述封裝子模塊增加的直播數(shù)據(jù)ID,從所述第一存儲子模塊中順序讀取并依次向所述直播客戶端發(fā)送各個所述封裝后的直播數(shù)據(jù);所述直播客戶端包括第二發(fā)送子模塊用于向所述直播服務(wù)器發(fā)送開始傳輸直播數(shù)據(jù)的命令請求;還用于向所述直播服務(wù)器發(fā)送停止傳輸直播 數(shù)據(jù)的命令請求;第三接收子模塊用于接收所述第一發(fā)送子模塊發(fā)送的所述封裝后的直播數(shù)據(jù)。優(yōu)選的,所述直播客戶端還包括第二存儲子模塊,用于將所述第三接收子模塊接收到的所述封裝后的直播數(shù)據(jù)存入客戶端緩存區(qū)中;第一獲取子模塊,用于每隔第一預(yù)設(shè)時間長度后,從所述第二存儲子模塊中獲取各個所述封裝后的直播數(shù)據(jù)所對應(yīng)的各個所述直播數(shù)據(jù)ID ;判斷子模塊,用于分析所述第一獲取子模塊獲取到的各個所述直播數(shù)據(jù)ID的連續(xù)性判斷是否存在丟包情況;第二獲取子模塊,用于當(dāng)所述判斷子模塊判斷結(jié)果為是時,獲取丟失的所述封裝后的直播數(shù)據(jù)所對應(yīng)的丟失直播數(shù)據(jù)ID ;第三發(fā)送子模塊,用于向所述直播服務(wù)器發(fā)送直播數(shù)據(jù)重傳請求消息,其中,所述直播數(shù)據(jù)重傳請求消息中攜帶有所述第二獲取子模塊獲取到的所述丟失直播數(shù)據(jù)ID ;所述直播服務(wù)器還包括第四接收子模塊,用于接收所述第三發(fā)送子模塊發(fā)送的所述直播數(shù)據(jù)重傳請求消息;查找子模塊,用于所述第四接收子模塊接收到所述直播數(shù)據(jù)重傳請求消息后,查找所述第一存儲子模塊,獲取封裝有所述丟失直播數(shù)據(jù)ID的所述封裝后的直播數(shù)據(jù);重傳子模塊,用于將所述查找子模塊查找到的所述封裝后的直播數(shù)據(jù)重傳給所述
直播客戶端。本發(fā)明的有益效果如下本發(fā)明提供的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,具有以下優(yōu)點(I)在PIS地面控制中心的編碼器的輸出端增加直播服務(wù)器,直播服務(wù)器對接收到的原始直播數(shù)據(jù)進(jìn)行重新封裝,從而能夠使直播客戶端識別出直播數(shù)據(jù)是否丟失;(2)當(dāng)直播客戶端識別出丟失直播數(shù)據(jù)后,啟動補充重傳方案,從而有效降低了直播數(shù)據(jù)通過無線網(wǎng)絡(luò)傳輸?shù)膩G包率;(3)直播客戶端具有緩存區(qū)狀態(tài)預(yù)警功能,當(dāng)檢測到自身緩存區(qū)內(nèi)存儲的直播數(shù)據(jù)量過少時,觸發(fā)本地墊片播放數(shù)據(jù),避免了直播數(shù)據(jù)缺乏的等待確認(rèn)時間,實現(xiàn)了播放畫面的流暢切換。
圖I為現(xiàn)有技術(shù)中PIS地面控制中心與直播客戶端之間傳輸直播數(shù)據(jù)的網(wǎng)絡(luò)拓?fù)鋱D;圖2為本發(fā)明中PIS地面控制中心與直播客戶端之間傳輸直播數(shù)據(jù)的網(wǎng)絡(luò)拓?fù)鋱D3為本發(fā)明提供的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法的流程示意圖;圖4為本發(fā)明提供的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式以下結(jié)合附圖對本發(fā)明提供的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法及其系統(tǒng)進(jìn)行詳細(xì)介紹如圖2-3所示,本發(fā)明提供一種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,應(yīng)用于由直播服務(wù)器和與所述直播服務(wù)器通過無線網(wǎng)絡(luò)連接的至少一個直播客戶端的網(wǎng)絡(luò)系統(tǒng)中,其中,直播服務(wù)器針對每一個直播客戶端的直播請求,都以單獨的線程進(jìn)行處理,從而充分利用直播服務(wù)器操作系統(tǒng)的多線程并行處理能力,提高直播服務(wù)器對該直播請求的響應(yīng)速度。所述方法包括以下步驟 SI,所述直播服務(wù)器接收PIS地面控制中心的編碼器輸出的至少一條原始直播數(shù)據(jù);其中,原始直播數(shù)據(jù)包括原始視頻直播數(shù)據(jù)和/或原始音頻直播數(shù)據(jù)。在實際應(yīng)用中,本發(fā)明的直播服務(wù)器設(shè)置在PIS地面控制中心,其與編碼器可以通過有線網(wǎng)絡(luò)通信。而各個直播客戶端可以設(shè)置在同一輛列車中,也可以設(shè)置在不同的列車中。S2,所述直播服務(wù)器向每一條所述原始直播數(shù)據(jù)中增加用于標(biāo)識各個所述原始直播數(shù)據(jù)的播放次序的直播數(shù)據(jù)ID,得到封裝后的直播數(shù)據(jù);其中,直播數(shù)據(jù)ID為可以為直播服務(wù)器接收到原始直播數(shù)據(jù)的接收時間信息,也可以為用于標(biāo)識各個所述原始直播數(shù)據(jù)播放順序的序號,只要能夠用于標(biāo)識各個原始直播數(shù)據(jù)的播放次序即可。例如如果直播服務(wù)器順次從編碼器接收到原始直播數(shù)據(jù)A、原始直播數(shù)據(jù)B和原始直播數(shù)據(jù)C,則這三條原始直播數(shù)據(jù)的直播數(shù)據(jù)ID可以分別為1、2和3 ;當(dāng)然,也可以分別為2、4和5,只要能夠按照某種規(guī)則能夠識別出其播放次序即可。后續(xù)步驟中,需要直播客戶端能夠從各個直播數(shù)據(jù)ID中按相應(yīng)規(guī)則推算出丟失的直播數(shù)據(jù)的直播數(shù)據(jù)ID,這將在后續(xù)步驟中詳細(xì)描述,在此不再贅述。S3,所述直播服務(wù)器將所述封裝后的直播數(shù)據(jù)存入服務(wù)器緩存區(qū)中;其中,當(dāng)直播服務(wù)器上電后,可以啟動監(jiān)聽線程,實時監(jiān)聽直播服務(wù)器和各個直播客戶端之間的通信線程,并根據(jù)監(jiān)聽到的命令做相應(yīng)的處理。本發(fā)明中,直播客戶端向直播服務(wù)器發(fā)送的命令請求可以包括以下三大類開始傳輸直播數(shù)據(jù)的命令請求、停止傳輸直播數(shù)據(jù)的命令請求以及重傳直播數(shù)據(jù)的命令請求。其中,重傳直播數(shù)據(jù)的命令請求是基于直播客戶端緩存區(qū)的檢測結(jié)果而啟動的命令請求,在后續(xù)步驟中介紹,而對于開始傳輸直播數(shù)據(jù)的命令請求以及停止傳輸直播數(shù)據(jù)的命令請求,由下列步驟執(zhí)行S4,當(dāng)所述直播服務(wù)器接收到所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求時,依據(jù)所述直播數(shù)據(jù)ID,所述直播服務(wù)器從所述服務(wù)器緩存區(qū)中順序讀取并依次向所述直播客戶端發(fā)送各個所述封裝后的直播數(shù)據(jù);而當(dāng)所述直播服務(wù)器接收到所述直播客戶端發(fā)送的停止傳輸直播數(shù)據(jù)的命令請求時,所述直播服務(wù)器停止向所述直播客戶端發(fā)送所述封裝后的直播數(shù)據(jù),并釋放所述服務(wù)器緩存區(qū)中存儲的各個所述封裝后的直播數(shù)據(jù)。S5,所述直播客戶端接收S4發(fā)送的所述封裝后的直播數(shù)據(jù)。
S6,所述直播客戶端將接收到的所述封裝后的直播數(shù)據(jù)存入客戶端緩存區(qū)中。S7,當(dāng)所述直播客戶端接收到播放直播數(shù)據(jù)的命令請求時,依據(jù)所述直播數(shù)據(jù)ID,所述直播客戶端按順序從所述客戶端緩存區(qū)中讀取并播放各個所述封裝后的直播數(shù)據(jù)。下列步驟S8-S13為直播客戶端檢測到丟失直播數(shù)據(jù)后的補充重傳方案,具體為S8,每隔第一預(yù)設(shè)時間長度后,所述直播客戶端獲取所述客戶端緩存區(qū)中已存儲的各個所述封裝后的直播數(shù)據(jù)所對應(yīng)的各個所述直播數(shù)據(jù)ID ;S9,所述直播客戶端通過分析S8獲取到的各個所述直播數(shù)據(jù)ID的連續(xù)性判斷是否存在丟包情況,如果判斷結(jié)果為否,則重復(fù)執(zhí)行S8-S9 ;如果判斷結(jié)果為是,則執(zhí)行SlO ;本步驟中,對直播數(shù)據(jù)ID的連續(xù)性的分析是S2的逆過程。例如如果在數(shù)據(jù)封裝時,各個直播數(shù)據(jù)ID按播放次序依次設(shè)置為1、2、3. . . n。則當(dāng)客戶端緩存區(qū)中共存儲5個直播數(shù)據(jù),其直播數(shù)據(jù)ID分別為5、6、7、9、10時,則可以推出直播數(shù)據(jù)ID為8的直播數(shù)據(jù) 被丟失了。S10,所述直播客戶端獲取丟失的所述封裝后的直播數(shù)據(jù)所對應(yīng)的丟失直播數(shù)據(jù)ID ;S11,所述直播客戶端向所述直播服務(wù)器發(fā)送直播數(shù)據(jù)重傳請求消息,其中,所述直播數(shù)據(jù)重傳請求消息中攜帶有所述丟失直播數(shù)據(jù)ID ;S12,所述直播服務(wù)器查找所述服務(wù)器緩存區(qū),獲取封裝有所述丟失直播數(shù)據(jù)ID的所述封裝后的直播數(shù)據(jù);S13,所述直播服務(wù)器將S12獲取到的所述封裝后的直播數(shù)據(jù)重傳給所述直播客戶端。另外,本發(fā)明還提供了客戶端緩存區(qū)狀態(tài)預(yù)警方案,當(dāng)客戶端緩存區(qū)內(nèi)存儲的直播數(shù)據(jù)量過少時,及時觸發(fā)本地墊片播放,提高客戶端播放畫面的流暢切換,具體包括S14-S16 S14,每隔第二預(yù)設(shè)時間長度,所述直播客戶端檢測所述客戶端緩存區(qū)中的所述封裝后的直播數(shù)據(jù)的存儲量,判斷所述存儲量是否大于預(yù)設(shè)閾值,如果判斷結(jié)果為否,則執(zhí)行S15。S15,所述直播客戶端停止播放直播數(shù)據(jù),并啟動本地墊片,使所述本地墊片播放數(shù)據(jù)。本發(fā)明中,本地墊片是指預(yù)存儲有一些播放數(shù)據(jù)的播放器,例如DVD播放器,啟動DVD播放器,即可播放放置在DVD播放器內(nèi)的光盤,從而播放光盤的內(nèi)容,達(dá)到緩解客戶端緩存區(qū)中存儲的播放數(shù)據(jù)不足的情況。綜上所述,本發(fā)明提供的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,具有以下優(yōu)點(I)在PIS地面控制中心的編碼器的輸出端增加直播服務(wù)器,直播服務(wù)器對接收到的原始直播數(shù)據(jù)進(jìn)行重新封裝,從而能夠使直播客戶端識別出直播數(shù)據(jù)是否丟失;(2)當(dāng)直播客戶端識別出丟失直播數(shù)據(jù)后,啟動補充重傳方案,從而有效降低了直播數(shù)據(jù)通過無線網(wǎng)絡(luò)傳輸?shù)膩G包率;(3)直播客戶端具有緩存區(qū)狀態(tài)預(yù)警功能,當(dāng)檢測到自身緩存區(qū)內(nèi)存儲的直播數(shù)據(jù)量過少時,觸發(fā)本地墊片播放數(shù)據(jù),避免了直播數(shù)據(jù)缺乏的等待確認(rèn)時間,實現(xiàn)了播放畫面的流暢切換。如圖4所示,本發(fā)明還提供一種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括直播服務(wù)器和與所述直播服務(wù)器通過無線網(wǎng)絡(luò)連接的至少一個直播客戶端;所述直播服務(wù)器包括第一接收子模塊21 :用于接收PIS地面控制中心的編碼器輸出的至少一條原始直播數(shù)據(jù);封裝子模塊22 :用于向第一接收子模塊21接收到的所述原始直播數(shù)據(jù)中增加用于標(biāo)識各個所述原始直播數(shù)據(jù)的播放次序的直播數(shù)據(jù)ID,得到封裝后的直播數(shù)據(jù);第一存儲子模塊23 :用于存儲封裝子模塊22封裝后得到的所述封裝后的直播數(shù)據(jù);第二接收子模塊24 :用于接收所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求;
第一發(fā)送子模塊25 :用于在所述第二接收子模塊24接收到所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求時,依據(jù)所述封裝子模塊22增加的直播數(shù)據(jù)ID,從所述第一存儲子模塊23中順序讀取并依次向所述直播客戶端發(fā)送各個所述封裝后的直播數(shù)據(jù);所述直播客戶端包括第二發(fā)送子模塊31 :用于向所述直播服務(wù)器發(fā)送開始傳輸直播數(shù)據(jù)的命令請求;還用于向所述直播服務(wù)器發(fā)送停止傳輸直播數(shù)據(jù)的命令請求;第三接收子模塊32 :用于接收第一發(fā)送子模塊25發(fā)送的所述封裝后的直播數(shù)據(jù)。還用于接收重傳子模塊28重傳的所述封裝后的直播數(shù)據(jù);直播客戶端還包括第二存儲子模塊33,用于將第三接收子模塊32接收到的所述封裝后的直播數(shù)據(jù)存入客戶端緩存區(qū)中;第一獲取子模塊34,用于每隔第一預(yù)設(shè)時間長度后,從第二存儲子模塊33中獲取各個所述封裝后的直播數(shù)據(jù)所對應(yīng)的各個所述直播數(shù)據(jù)ID ;判斷子模塊35,用于分析第一獲取子模塊34獲取到的各個所述直播數(shù)據(jù)ID的連續(xù)性判斷是否存在丟包情況;第二獲取子模塊36,用于當(dāng)判斷子模塊35判斷結(jié)果為是時,獲取丟失的所述封裝后的直播數(shù)據(jù)所對應(yīng)的丟失直播數(shù)據(jù)ID ;第三發(fā)送子模塊37,用于向所述直播服務(wù)器發(fā)送直播數(shù)據(jù)重傳請求消息,其中,所述直播數(shù)據(jù)重傳請求消息中攜帶有第二獲取子模塊36獲取到的所述丟失直播數(shù)據(jù)ID ;所述直播服務(wù)器還包括第四接收子模塊26,用于接收第三發(fā)送子模塊37發(fā)送的所述直播數(shù)據(jù)重傳請求消息;查找子模塊27,用于第四接收子模塊26接收到所述直播數(shù)據(jù)重傳請求消息后,查找第一存儲子模塊23,獲取封裝有所述丟失直播數(shù)據(jù)ID的所述封裝后的直播數(shù)據(jù);重傳子模塊28,用于將查找子模塊27查找到的所述封裝后的直播數(shù)據(jù)重傳給所述直播客戶端。因此,本發(fā)明提供一種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法及系統(tǒng),能夠有效解決因直播數(shù)據(jù)丟失而導(dǎo)致的直播客戶端的馬賽克現(xiàn)象,從而提高了直播客戶端播放直播數(shù)據(jù)的流暢性,進(jìn)而提高了人們的觀看效果。
以上所述僅是本發(fā)明的 優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,其特征在于,應(yīng)用于由直播服務(wù)器和與所述直播服務(wù)器通過無線網(wǎng)絡(luò)連接的至少一個直播客戶端的網(wǎng)絡(luò)系統(tǒng)中,所述方法包括以下步驟 SI,所述直播服務(wù)器接收PIS地面控制中心的編碼器輸出的至少一條原始直播數(shù)據(jù);S2,所述直播服務(wù)器向每一條所述原始直播數(shù)據(jù)中增加用于標(biāo)識各個所述原始直播數(shù)據(jù)的播放次序的直播數(shù)據(jù)ID,得到封裝后的直播數(shù)據(jù); S3,所述直播服務(wù)器將所述封裝后的直播數(shù)據(jù)存入服務(wù)器緩存區(qū)中; S4,當(dāng)所述直播服務(wù)器接收到所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求時,依據(jù)所述直播數(shù)據(jù)ID,所述直播服務(wù)器從所述服務(wù)器緩存區(qū)中順序讀取并依次向所述直播客戶端發(fā)送各個所述封裝后的直播數(shù)據(jù); S5,所述直播客戶端接收所述封裝后的直播數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,其特征在于,所述原始直播數(shù)據(jù)包括原始視頻直播數(shù)據(jù)和/或原始音頻直播數(shù)據(jù);所述直播數(shù)據(jù)ID為所述直播服務(wù)器接收到所述原始直播數(shù)據(jù)的接收時間信息,或,所述直播數(shù)據(jù)ID為用于標(biāo)識各個所述原始直播數(shù)據(jù)播放順序的序號。
3.根據(jù)權(quán)利要求I所述的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,其特征在于,S4之后,還包括當(dāng)所述直播服務(wù)器接收到所述直播客戶端發(fā)送的停止傳輸直播數(shù)據(jù)的命令請求時,所述直播服務(wù)器停止向所述直播客戶端發(fā)送所述封裝后的直播數(shù)據(jù),并釋放所述服務(wù)器緩存區(qū)中存儲的各個所述封裝后的直播數(shù)據(jù)。
4.根據(jù)權(quán)利要求I所述的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,其特征在于,S5之后,還包括 S6,所述直播客戶端將接收到的所述封裝后的直播數(shù)據(jù)存入客戶端緩存區(qū)中。
5.根據(jù)權(quán)利要求4所述的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,其特征在于,S6之后,還包括 S7,當(dāng)所述直播客戶端接收到播放直播數(shù)據(jù)的命令請求時,依據(jù)所述直播數(shù)據(jù)ID,所述直播客戶端按順序從所述客戶端緩存區(qū)中讀取并播放各個所述封裝后的直播數(shù)據(jù)。
6.根據(jù)權(quán)利要求4所述的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,其特征在于,S6之后,還包括 S8,每隔第一預(yù)設(shè)時間長度后,所述直播客戶端獲取所述客戶端緩存區(qū)中已存儲的各個所述封裝后的直播數(shù)據(jù)所對應(yīng)的各個所述直播數(shù)據(jù)ID ; S9,所述直播客戶端通過分析S8獲取到的各個所述直播數(shù)據(jù)ID的連續(xù)性判斷是否存在丟包情況,如果判斷結(jié)果為否,則重復(fù)執(zhí)行S8-S9 ;如果判斷結(jié)果為是,則執(zhí)行SlO ; S10,所述直播客戶端獲取丟失的所述封裝后的直播數(shù)據(jù)所對應(yīng)的丟失直播數(shù)據(jù)ID ;S11,所述直播客戶端向所述直播服務(wù)器發(fā)送直播數(shù)據(jù)重傳請求消息,其中,所述直播數(shù)據(jù)重傳請求消息中攜帶有所述丟失直播數(shù)據(jù)ID ; S12,所述直播服務(wù)器查找所述服務(wù)器緩存區(qū),獲取封裝有所述丟失直播數(shù)據(jù)ID的所述封裝后的直播數(shù)據(jù); S13,所述直播服務(wù)器將S12獲取到的所述封裝后的直播數(shù)據(jù)重傳給所述直播客戶端。
7.根據(jù)權(quán)利要求4所述的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,其特征在于,S6之后,還包括 S14,每隔第二預(yù)設(shè)時間長度,所述直播客戶端檢測所述客戶端緩存區(qū)中的所述封裝后的直播數(shù)據(jù)的存儲量,判斷所述存儲量是否大于預(yù)設(shè)閾值,如果判斷結(jié)果為否,則執(zhí)行S15 S15,所述直播客戶端停止播放直播數(shù)據(jù),并啟動本地墊片,使所述本地墊片播放數(shù)據(jù)。
8.—種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的系統(tǒng),其特征在于,所述系統(tǒng)包括直播服務(wù)器和與所述直播服務(wù)器通過無線網(wǎng)絡(luò)連接的至少一個直播客戶端; 所述直播服務(wù)器包括 第一接收子模塊用于接收PIS地面控制中心的編碼器輸出的至少一條原始直播數(shù)據(jù); 封裝子模塊用于向所述第一接收子模塊接收到的所述原始直播數(shù)據(jù)中增加用于標(biāo)識各個所述原始直播數(shù)據(jù)的播放次序的直播數(shù)據(jù)ID,得到封裝后的直播數(shù)據(jù); 第一存儲子模塊用于存儲所述封裝子模塊封裝后得到的所述封裝后的直播數(shù)據(jù); 第二接收子模塊用于接收所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求;第一發(fā)送子模塊用于在所述第二接收子模塊接收到所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求時,依據(jù)所述封裝子模塊增加的直播數(shù)據(jù)ID,從所述第一存儲子模塊中順序讀取并依次向所述直播客戶端發(fā)送各個所述封裝后的直播數(shù)據(jù); 所述直播客戶端包括 第二發(fā)送子模塊用于向所述直播服務(wù)器發(fā)送開始傳輸直播數(shù)據(jù)的命令請求;還用于向所述直播服務(wù)器發(fā)送停止傳輸直播數(shù)據(jù)的命令請求; 第三接收子模塊用于接收所述第一發(fā)送子模塊發(fā)送的所述封裝后的直播數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的系統(tǒng),其特征在于,所述直播客戶端還包括 第二存儲子模塊,用于將所述第三接收子模塊接收到的所述封裝后的直播數(shù)據(jù)存入客戶端緩存區(qū)中; 第一獲取子模塊,用于每隔第一預(yù)設(shè)時間長度后,從所述第二存儲子模塊中獲取各個所述封裝后的直播數(shù)據(jù)所對應(yīng)的各個所述直播數(shù)據(jù)ID ; 判斷子模塊,用于分析所述第一獲取子模塊獲取到的各個所述直播數(shù)據(jù)ID的連續(xù)性判斷是否存在丟包情況; 第二獲取子模塊,用于當(dāng)所述判斷子模塊判斷結(jié)果為是時,獲取丟失的所述封裝后的直播數(shù)據(jù)所對應(yīng)的丟失直播數(shù)據(jù)ID ; 第三發(fā)送子模塊,用于向所述直播服務(wù)器發(fā)送直播數(shù)據(jù)重傳請求消息,其中,所述直播數(shù)據(jù)重傳請求消息中攜帶有所述第二獲取子模塊獲取到的所述丟失直播數(shù)據(jù)ID ; 所述直播服務(wù)器還包括 第四接收子模塊,用于接收所述第三發(fā)送子模塊發(fā)送的所述直播數(shù)據(jù)重傳請求消息;查找子模塊,用于所述第四接收子模塊接收到所述直播數(shù)據(jù)重傳請求消息后,查找所述第一存儲子模塊,獲取封裝有所述丟失直播數(shù)據(jù)ID的所述封裝后的直播數(shù)據(jù); 重傳子模塊,用于將所述查找子模塊查找到的所述封裝后的直播數(shù)據(jù)重傳給所述直播客戶端。
全文摘要
本發(fā)明提供一種通過無線網(wǎng)絡(luò)傳輸直播數(shù)據(jù)的方法,包括直播服務(wù)器接收編碼器輸出的至少一條原始直播數(shù)據(jù);所述直播服務(wù)器向每一條所述原始直播數(shù)據(jù)中增加用于標(biāo)識各個所述原始直播數(shù)據(jù)的播放次序的直播數(shù)據(jù)ID,得到封裝后的直播數(shù)據(jù);所述直播服務(wù)器將所述封裝后的直播數(shù)據(jù)存入服務(wù)器緩存區(qū)中;當(dāng)所述直播服務(wù)器接收到所述直播客戶端發(fā)送的開始傳輸直播數(shù)據(jù)的命令請求時,依據(jù)所述直播數(shù)據(jù)ID,所述直播服務(wù)器從所述服務(wù)器緩存區(qū)中順序讀取并依次向所述直播客戶端發(fā)送各個所述封裝后的直播數(shù)據(jù)。因此,能夠有效解決因直播數(shù)據(jù)丟失而導(dǎo)致的直播客戶端的馬賽克現(xiàn)象,從而提高了直播客戶端播放直播數(shù)據(jù)的流暢性,進(jìn)而提高了人們的觀看效果。
文檔編號H04L29/08GK102710969SQ20121017650
公開日2012年10月3日 申請日期2012年5月31日 優(yōu)先權(quán)日2012年5月31日
發(fā)明者廖煥霖 申請人:北京冠華天視數(shù)碼科技有限公司