本發(fā)明涉及一種移動(dòng)互聯(lián)網(wǎng)視頻直播平臺(tái)。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)發(fā)展的日新月異,網(wǎng)絡(luò)技術(shù)日益成熟以及寬帶網(wǎng)的發(fā)展,流媒體技術(shù)越來(lái)越廣泛地應(yīng)用于視頻點(diǎn)播系統(tǒng)、互聯(lián)網(wǎng)直播、遠(yuǎn)程教育、網(wǎng)絡(luò)在線培訓(xùn)、視頻會(huì)議等應(yīng)用領(lǐng)域。近年來(lái),4g移動(dòng)通信網(wǎng)作為日趨完善的無(wú)線網(wǎng)絡(luò),為流媒體的應(yīng)用提供了一個(gè)嶄新的平臺(tái),也為流媒體技術(shù)更好的為使用者服務(wù)開(kāi)辟了新的傳輸媒體,移動(dòng)流媒體及視頻交互應(yīng)用得到了快速發(fā)展。隨著手機(jī)增值業(yè)務(wù)的不斷發(fā)展,視音頻流媒體業(yè)務(wù)將會(huì)成為4g增值業(yè)務(wù)的熱點(diǎn),通過(guò)手機(jī)實(shí)現(xiàn)視頻點(diǎn)播、收看視頻節(jié)目成為最能吸引用戶(hù)眼球的業(yè)務(wù)之一。
在許多場(chǎng)景中,用戶(hù)可能無(wú)法或無(wú)法完整收看及收聽(tīng)直播流媒體,或者希望能夠在未來(lái)時(shí)間收看及收聽(tīng)過(guò)去的直播流媒體。對(duì)此,現(xiàn)有技術(shù)中提供了將直播流媒體下載到用戶(hù)終端的方法。然而,一般情況下直播流媒體的數(shù)據(jù)量較大,尤其是視頻流媒體,而用戶(hù)終端的存儲(chǔ)空間有限,難以滿足直播流媒體的下載需求。另一方面,用戶(hù)終端也可能不能保持下載直播流媒體所需的持續(xù)網(wǎng)絡(luò)連接,導(dǎo)致無(wú)法下載直播流媒體。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明的主要目的在于提供一種移動(dòng)互聯(lián)網(wǎng)視頻直播平臺(tái),該平臺(tái)采用xmpp協(xié)議及其擴(kuò)展協(xié)議、rtp、rtcp、rstp等實(shí)現(xiàn)手機(jī)移動(dòng)流媒體播放和視頻的雙向交互。
本發(fā)明提供了一種移動(dòng)互聯(lián)網(wǎng)視頻直播平臺(tái),包括直播服務(wù)器和客戶(hù)端,所述客戶(hù)端通過(guò)移動(dòng)互聯(lián)網(wǎng)與所述直播服務(wù)器相連接,其中:
所述直播服務(wù)器包括信令管理模塊、認(rèn)證及在線狀態(tài)模塊、即時(shí)通信模塊和流媒體管理模塊;所述信令管理模塊,用來(lái)處理指令信息以及將不同格式的指令轉(zhuǎn)換成統(tǒng)一的xmpp格式的信令;所述認(rèn)證及在線狀態(tài)模塊提供用戶(hù)的接口認(rèn)證、資源分配及狀態(tài)呈現(xiàn);所述即時(shí)通信模塊用于發(fā)送和接收文本、語(yǔ)音和視頻交互數(shù)據(jù);所述流媒體管理模塊提供節(jié)目點(diǎn)播和節(jié)目源的直播功能,并對(duì)節(jié)目和節(jié)目進(jìn)行統(tǒng)一管理;
所述客戶(hù)端包括依次連接的連接處理模塊、xmpp編解碼模塊、消息處理模塊、移動(dòng)流媒體播放模塊和圖形用戶(hù)接口模塊;所述連接處理模塊用來(lái)創(chuàng)建連接;所述xmpp編解碼模塊用于解析所述連接處理模塊收到的xmpp格式的信令數(shù)據(jù)流,并發(fā)送給所述消息處理模塊;所述消息處理模塊用于對(duì)解析后的信令數(shù)據(jù)進(jìn)行處理,并反饋給所述圖形用戶(hù)接口模塊;所述移動(dòng)流媒體播放模塊用于控制節(jié)目播放和直播視頻;所述圖形用戶(hù)接口模塊用于與用戶(hù)進(jìn)行交互;
還包括存儲(chǔ)服務(wù)器,所述存儲(chǔ)服務(wù)器分別與所述客戶(hù)端和所述直播服務(wù)器通信連接,用于對(duì)所述直播服務(wù)器播放后的節(jié)目和直播后的視頻進(jìn)行存儲(chǔ)。
進(jìn)一步的,所述指令信息包括用戶(hù)登錄信息、用戶(hù)狀態(tài)信息、流媒體指令、文本信息、語(yǔ)音指令和視頻指令。
進(jìn)一步的,所述消息處理模塊包括文本信息處理組件、交互視頻流信息處理組件、語(yǔ)音信息處理組件和流媒體信息處理組件。
進(jìn)一步的,所述消息處理模塊還包括聯(lián)系人列表組件和注冊(cè)組件。
進(jìn)一步的,所述即時(shí)通信模塊包括文本控制及發(fā)送器、語(yǔ)音控制及發(fā)送器、視頻控制及發(fā)送器;其中,文本控制及發(fā)送器用于向客戶(hù)端發(fā)送及接收來(lái)自客戶(hù)端的即時(shí)文本信息;語(yǔ)音控制及發(fā)送器負(fù)責(zé)接收和向客戶(hù)端發(fā)送語(yǔ)音信令,用于控制語(yǔ)音包傳送過(guò)程和錄音過(guò)程;視頻控制及發(fā)送器負(fù)責(zé)視頻數(shù)據(jù)的發(fā)送和接收,提供視頻緩沖功能。
進(jìn)一步的,所述存儲(chǔ)服務(wù)器為網(wǎng)盤(pán)或云盤(pán)。
本發(fā)明具有以下優(yōu)點(diǎn)和有益效果:1、采用擴(kuò)展性強(qiáng)、穩(wěn)定性好、有廣泛應(yīng)用前景的可擴(kuò)展通訊和表示協(xié)議xmpp(theextensiblemessagingandpresenceprotocol)即時(shí)通信協(xié)議。xmpp具有開(kāi)放性、可擴(kuò)展性、安全性、平臺(tái)無(wú)關(guān)性等優(yōu)點(diǎn),可允許用戶(hù)向其他任何人發(fā)送即時(shí)消息,即使操作系統(tǒng)和瀏覽器不同;2、為了整合移動(dòng)流媒體播放和視頻交互的統(tǒng)一,自主研發(fā)了基于xmpp協(xié)議的擴(kuò)展協(xié)議,實(shí)現(xiàn)兩者信令數(shù)據(jù)格式的統(tǒng)一,擴(kuò)展協(xié)議負(fù)責(zé)移動(dòng)流媒體與視頻交互之間的信令通信及表達(dá),使系統(tǒng)既有單向被動(dòng)的傳輸方式,又有雙向主動(dòng)的傳輸方式。即能在智能手機(jī)上實(shí)現(xiàn)移動(dòng)流媒體播放,同時(shí)還具有視頻交互功能,視頻交互不僅包括與其他智能手機(jī)上客戶(hù)端的視頻交互,還包括與互聯(lián)網(wǎng)上計(jì)算機(jī)上的客戶(hù)端進(jìn)行視頻交互;3、采用輕量化處理技術(shù),適應(yīng)智能手機(jī)的需要,通過(guò)采用客戶(hù)端/直播服務(wù)器(c/s)的網(wǎng)絡(luò)模式,客戶(hù)端安裝在智能手機(jī)或平板電腦上,進(jìn)行流媒體播放和視頻互動(dòng),直播服務(wù)器布置在互聯(lián)網(wǎng)上的服務(wù)器上,實(shí)現(xiàn)系統(tǒng)管理和協(xié)調(diào)功能,強(qiáng)調(diào)更多的功能遷移到直播服務(wù)器,使系統(tǒng)既集中又不失靈活,最大限度地減少客戶(hù)端的代碼量和功能,同時(shí)精心設(shè)計(jì)客戶(hù)端界面,使之簡(jiǎn)單、操作方便且有效,提高執(zhí)行效率,更好的適應(yīng)智能手機(jī)的需求。此外,采用先進(jìn)的音視頻壓縮算法,通過(guò)mpeg-4音視頻編解碼技術(shù),在保證流媒體、音視頻質(zhì)量的前提下,盡量提高壓縮比。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的移動(dòng)互聯(lián)網(wǎng)視頻直播平臺(tái)的原理框圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明的描述中,還需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“設(shè)置”、“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。
下面將參照附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。
如圖1所示:本發(fā)明實(shí)施例的一種移動(dòng)互聯(lián)網(wǎng)視頻直播平臺(tái),包括直播服務(wù)器1和客戶(hù)端2,客戶(hù)端2通過(guò)4g移動(dòng)通信網(wǎng)和互聯(lián)網(wǎng)與直播服務(wù)器1相連接;其中,直播服務(wù)器1布置在互聯(lián)網(wǎng)上的服務(wù)器上,實(shí)現(xiàn)系統(tǒng)管理和協(xié)調(diào)功能;客戶(hù)端2安裝在智能手機(jī)或平板電腦上,通過(guò)客戶(hù)端2,用戶(hù)可以觀看直播服務(wù)器1上的課件和視頻直播,同時(shí)還可以跟其他智能手機(jī)客戶(hù)、互聯(lián)網(wǎng)上的專(zhuān)家進(jìn)行視頻、文字、語(yǔ)音溝通和咨詢(xún);還包括存儲(chǔ)服務(wù)器,所述存儲(chǔ)服務(wù)器分別與所述客戶(hù)端和所述直播服務(wù)器通信連接,用于對(duì)所述直播服務(wù)器播放后的節(jié)目和直播后的視頻進(jìn)行存儲(chǔ)。
直播服務(wù)器1包括信令管理模塊11、認(rèn)證及在線狀態(tài)模塊12、即時(shí)通信模塊13和流媒體管理模塊14;信令管理模塊11主要管理客戶(hù)端與直播服務(wù)器、直播服務(wù)器內(nèi)部各模塊之間的協(xié)議解析、協(xié)議轉(zhuǎn)換、命令解析等,用來(lái)處理用戶(hù)登錄、用戶(hù)狀態(tài)、流媒體指令、文本信息、語(yǔ)音指令、視頻指令等信息,以及將不同格式的指令轉(zhuǎn)換成統(tǒng)一的xmpp格式的信令,是系統(tǒng)的核心控制模塊;認(rèn)證及在線狀態(tài)模塊12提供用戶(hù)的接口認(rèn)證、資源分配及狀態(tài)呈現(xiàn)。接入認(rèn)證確保用戶(hù)登錄的合法性,驗(yàn)證用戶(hù)的賬號(hào)及口令,以及客戶(hù)端版本的相關(guān)信息。用戶(hù)通過(guò)認(rèn)證后,認(rèn)證及在線狀態(tài)模塊12負(fù)責(zé)為用戶(hù)配置相應(yīng)的資源,如需要使用的語(yǔ)音服務(wù)、視頻服務(wù)、流媒體服務(wù)、內(nèi)容服務(wù)等。當(dāng)用戶(hù)登錄時(shí),狀態(tài)呈現(xiàn)部件負(fù)責(zé)向用戶(hù)發(fā)送好友狀態(tài),并在用戶(hù)狀態(tài)發(fā)生改變時(shí),將用戶(hù)狀態(tài)改變的信息通知用戶(hù)好友。
即時(shí)通信模塊13包括文本控制及發(fā)送器、語(yǔ)音控制及發(fā)送器、視頻控制及發(fā)送器。文本控制及發(fā)送器用于向客戶(hù)端發(fā)送及接收來(lái)自客戶(hù)端的即時(shí)文本信息。語(yǔ)音控制及發(fā)送器負(fù)責(zé)接收和向客戶(hù)端發(fā)送語(yǔ)音信令,用于控制語(yǔ)音包傳送過(guò)程和錄音過(guò)程。視頻控制及發(fā)送器負(fù)責(zé)視頻數(shù)據(jù)的發(fā)送和接收,提供視頻緩沖功能。流媒體管理模塊14可實(shí)現(xiàn)服務(wù)器上的課件點(diǎn)播,節(jié)目源的直播功能,對(duì)流媒體服務(wù)器進(jìn)行統(tǒng)一管理,包括服務(wù)器管理、節(jié)目管理、課件存儲(chǔ)管理等。
客戶(hù)端2包括依次連接的連接處理模塊21、xmpp編解碼模塊22、消息處理模塊23、移動(dòng)流媒體播放模塊24和圖形用戶(hù)接口模塊25。連接處理模塊21主要用來(lái)創(chuàng)立連接。當(dāng)用戶(hù)在圖形用戶(hù)接口模塊發(fā)起連接請(qǐng)求時(shí),tcp從圖形用戶(hù)接口模塊中得到用戶(hù)輸入的信息,如用戶(hù)名、密碼、服務(wù)器地址等,然后與服務(wù)器建立tcp連接,并發(fā)送相關(guān)的xml數(shù)據(jù)流。xmpp編解碼模塊22主要是對(duì)xml流進(jìn)行處理,主要工作是解析通過(guò)連接處理模塊21收到的xml流,分析xml元素相應(yīng)的信息和發(fā)送給相應(yīng)的處理程序。xmpp流中包含的是xml元素,需要對(duì)xml元素進(jìn)行解析,xml有著嚴(yán)格的語(yǔ)法定義和格式,比如所有標(biāo)記和屬性都大小寫(xiě)敏感,所有屬性結(jié)束時(shí)都要求明確的關(guān)閉標(biāo)記、屬性值,標(biāo)記外的文本內(nèi)容不得與xml保留字相同(<、>、&、”等),非ascii碼字符集的文檔要求在<?xml>中明確標(biāo)識(shí)。消息處理模塊23主要對(duì)xml元素進(jìn)行相應(yīng)的處理,并反饋給圖形用戶(hù)接口模塊25。消息處理模塊23根據(jù)xml元素的不同,分別包括文本信息處理組件、交互視頻流信息處理組件、語(yǔ)音信息處理組件和流媒體信息處理組件。另外,由于客戶(hù)端的需要,消息處理模塊23還包括聯(lián)系人列表組件和注冊(cè)組件。
移動(dòng)流媒體播放模塊24用于移動(dòng)播放流媒體課件和直播視頻。課件播放有開(kāi)始、停止、快進(jìn)、慢進(jìn)、起始位置、終止位置等功能。圖形用戶(hù)接口模塊25負(fù)責(zé)與用戶(hù)進(jìn)行交互,為用戶(hù)提供一個(gè)可以交互操作的界面。為了提高客戶(hù)端的性能,盡量采用文字、格式簡(jiǎn)潔、操作方便,適應(yīng)智能手機(jī)操作的需要。
作為上述實(shí)施例的優(yōu)選實(shí)施方式,所述存儲(chǔ)服務(wù)器3為網(wǎng)盤(pán)或云盤(pán)。
本發(fā)明的實(shí)施方式中,通過(guò)設(shè)置存儲(chǔ)服務(wù)器來(lái)提供其他位置存儲(chǔ)。存儲(chǔ)服務(wù)器可以是網(wǎng)盤(pán)或云盤(pán),例如,百度云、dropbox等。用戶(hù)可以通過(guò)注冊(cè)的方式獲取在網(wǎng)盤(pán)或云盤(pán)上的存儲(chǔ)空間,并可以將該存儲(chǔ)空間與用戶(hù)身份標(biāo)識(shí)(id)綁定,以可以通過(guò)各種移動(dòng)終端(例如,手機(jī)、筆記本、平板電腦等)訪問(wèn)該存儲(chǔ)空間。
在實(shí)施方式中,為了將需要保存的直播流媒體存儲(chǔ)到存儲(chǔ)服務(wù)器中,需要在服務(wù)器(例如,直播服務(wù)器)和存儲(chǔ)服務(wù)器之間建立通信連接。通信連接的建立通過(guò)接口實(shí)現(xiàn)。因此,為了建立通信連接,需要首先將能夠接入存儲(chǔ)服務(wù)器的接口告知直播服務(wù)器。在實(shí)施方式中,各種網(wǎng)盤(pán)或云盤(pán)將向用戶(hù)提供這樣的接口,例如,應(yīng)用程序接口(api)。
最后應(yīng)說(shuō)明的是:以上所述的各實(shí)施例僅用于說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或全部技術(shù)特征進(jìn)行等同替換;而這些修改或替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。