亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種視頻直播方法及裝置的制造方法

文檔序號:10492827閱讀:483來源:國知局
一種視頻直播方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種視頻直播方法及裝置,屬于在線視頻技術(shù)領(lǐng)域。本發(fā)明使用CDN與P2P的復(fù)合方式獲取視頻數(shù)據(jù),具有更強的抗網(wǎng)絡(luò)抖動性能,提高了直播的穩(wěn)定性,此外,由于P2P技術(shù)的引入,拓展了視頻數(shù)據(jù)的來源,分散了CDN網(wǎng)絡(luò)中服務(wù)器的壓力,并有助于減小CDN網(wǎng)絡(luò)中的服務(wù)器規(guī)模,從而可以降低網(wǎng)絡(luò)視頻直播系統(tǒng)的成本,有利于網(wǎng)絡(luò)視頻直播方式的廣泛應(yīng)用。本發(fā)明非常適用于低成本的在線教育、體育直播、新聞直播等等應(yīng)用場景,具有低延時、高穩(wěn)定性的優(yōu)點,是對現(xiàn)有技術(shù)的一個重大改進。
【專利說明】
_種視頻直播方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及在線視頻技術(shù)領(lǐng)域,特別是指一種視頻直播方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的直播視頻采用網(wǎng)絡(luò)分發(fā)的形式,并大有取代傳統(tǒng)電視直播的趨勢。
[0003]目前的網(wǎng)絡(luò)直播系統(tǒng)主要采用的是傳統(tǒng)的單鏈路分發(fā)機制,這種機制具有延遲較小的優(yōu)勢,但卻不利于抵抗網(wǎng)絡(luò)抖動,因此當直播終端與遠程視頻服務(wù)器的連接出現(xiàn)障礙時就會嚴重地影響直播終端的視頻播放,使網(wǎng)絡(luò)用戶的觀看體驗大打折扣。
[0004]此外,常用的視頻分發(fā)機制還有⑶N(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))技術(shù),CDN的核心是利用智能化策略技術(shù),將中心服務(wù)器的內(nèi)容和服務(wù)推送到邊緣服務(wù)器,使得用戶可以在最近的和服務(wù)質(zhì)量最佳的地方獲取服務(wù),其關(guān)鍵技術(shù)包括高速緩存、負載均衡、內(nèi)容路由、內(nèi)容分發(fā)、內(nèi)容存儲和內(nèi)容管理等。CDN技術(shù)能提高寬帶資源的利用率,增加流媒體在互聯(lián)網(wǎng)上的應(yīng)用普及,但它還存在對視頻編碼格式支持不足、時延太大、無法提供廣播級的視頻服務(wù)、系統(tǒng)結(jié)構(gòu)過于簡單等等缺點。
[0005]在網(wǎng)絡(luò)視頻領(lǐng)域中還存在一種基于P2P技術(shù)的視頻播放模式,所謂P2P即指peerto peer,中文可譯為“對等網(wǎng)絡(luò)”,這是一種相對于“服務(wù)器_終端”的網(wǎng)絡(luò)模式。
[0006]對等網(wǎng)絡(luò)又稱工作組,指網(wǎng)絡(luò)上的各個設(shè)備(即一個peer,又可稱為對等節(jié)點)具有相同的地位,無主從之分,每一部設(shè)備都既可作為服務(wù)器,又可作為終端,從而使每臺設(shè)備中的數(shù)據(jù)得到最大程度的共享,并避免傳統(tǒng)“服務(wù)器-終端”模式中對服務(wù)器的大量訪問所造成的網(wǎng)絡(luò)擁堵現(xiàn)象,同時擴大每臺終端的數(shù)據(jù)來源范圍。
[0007]因此,P2P技術(shù)經(jīng)常應(yīng)用于網(wǎng)絡(luò)下載、在線視頻等等領(lǐng)域,以使得網(wǎng)絡(luò)傳輸獲得最佳的速度和穩(wěn)定性。同時,由于P2P技術(shù)不需要維護一個龐大的服務(wù)器集群,因此基于P2P的網(wǎng)絡(luò)應(yīng)用也具有成本低廉的優(yōu)勢。
[0008]由于P2P技術(shù)本身的特點,一個對等節(jié)點所獲得的數(shù)據(jù)不可能超出其他對等節(jié)點所具備的數(shù)據(jù)。因此,目前,P2P技術(shù)還主要應(yīng)用于對實時性要求不高的點播視頻中。
[0009]總之,目前,在現(xiàn)有技術(shù)中還不存在一種低成本、高穩(wěn)定性,同時又能最大程度保證實時性的網(wǎng)絡(luò)視頻直播方法。

【發(fā)明內(nèi)容】

[0010]有鑒于此,本發(fā)明的目的在于提出一種視頻直播方法及裝置,它具有低成本、低延時、高穩(wěn)定性的優(yōu)點,能夠廣泛適用于在線教育、體育直播、新聞直播等等應(yīng)用場景,為視頻的網(wǎng)絡(luò)直播提供了一種新思路。
[0011 ]基于上述目的,本發(fā)明提供的技術(shù)方案為:
[0012]—種視頻直播方法,其使用CDN與P2P的復(fù)合方式獲取視頻數(shù)據(jù),視頻數(shù)據(jù)以視頻切片的形式在網(wǎng)絡(luò)上傳輸,其包含:
[0013]通過⑶N網(wǎng)絡(luò)從邊緣服務(wù)器處獲取視頻切片;
[0014]通過P2P網(wǎng)絡(luò)從對等節(jié)點處獲取視頻切片;
[0015]根據(jù)視頻切片的時間戳信息將該視頻切片所包含的視頻片段放入緩存中,并使緩存中的視頻片段按照時間順序排列;
[0016]播放緩存中的視頻數(shù)據(jù)。
[0017]具體地,獲取視頻數(shù)據(jù)的方式可以為訂閱方式,當緩存中出現(xiàn)視頻數(shù)據(jù)的缺位時,再以請求的方式向邊緣服務(wù)器和\或?qū)Φ裙?jié)點拉取用于補位的視頻數(shù)據(jù)。
[0018]具體地,視頻切片可以包含描述頭和數(shù)據(jù)體,其中描述頭中包含該視頻切片的時間戳信息,數(shù)據(jù)體中包含視頻片段;另外,對于流式和切片式的數(shù)據(jù)源,可以將源數(shù)據(jù)均轉(zhuǎn)換為長度相等且結(jié)構(gòu)一致的視頻切片,即所有視頻切片的格式都相同,這樣以一種標準流的形式發(fā)送便于視頻數(shù)據(jù)的傳輸和解碼。
[0019]具體地,緩存可以為循環(huán)緩存(RingBuffer)。
[0020]具體地,緩存的大小可以采用動態(tài)方式設(shè)置,即當網(wǎng)絡(luò)狀態(tài)相同時,若用于播放所述視頻數(shù)據(jù)的設(shè)備的空余存儲空間越大,則緩存設(shè)置越大,當用于播放所述視頻數(shù)據(jù)的設(shè)備的空余存儲空間相同時,若網(wǎng)絡(luò)狀態(tài)越暢通,則緩存設(shè)置越大。
[0021]具體地,上述方法還可以包含:
[0022]在播放過程中,如果緩存中視頻數(shù)據(jù)的缺位情況超過閾值,則繼續(xù)尋找新的邊緣服務(wù)器和\或?qū)Φ裙?jié)點作為視頻數(shù)據(jù)的來源。比如,該閾值可以是缺位數(shù)據(jù)的大小占整個緩存大小的某一比例。
[0023]具體地,CDN網(wǎng)絡(luò)包含源服務(wù)器和至少一級中繼服務(wù)器,CDN網(wǎng)絡(luò)中的下級服務(wù)器均以訂閱的方式從該下級服務(wù)器的上級服務(wù)器處獲取數(shù)據(jù),當該下級服務(wù)器的緩存中出現(xiàn)數(shù)據(jù)缺位時,該下級服務(wù)器通過請求的方式向其上級服務(wù)器拉取用于補位的數(shù)據(jù)。
[0024]一種視頻直播裝置,其包含:
[0025]網(wǎng)絡(luò)連接模塊,用于連接⑶N網(wǎng)絡(luò)和P2P網(wǎng)絡(luò);
[0026]數(shù)據(jù)獲取模塊,用于以視頻切片的形式獲取視頻數(shù)據(jù);
[0027]緩存,用于以時間順序存儲視頻數(shù)據(jù);
[0028]播放模塊,用于播放緩存中的視頻數(shù)據(jù)。
[0029]具體地,數(shù)據(jù)獲取模塊可以包含:
[0030]視頻訂閱模塊,用于訂閱視頻數(shù)據(jù);
[0031]補位請求模塊,用于當緩存中出現(xiàn)視頻數(shù)據(jù)的缺位時以請求的方式拉取用于補位的視頻數(shù)據(jù)。
[0032]具體地,視頻切片可以包含描述頭和數(shù)據(jù)體,其中描述頭中包含該視頻切片的時間戳信息,且所有視頻切片的格式都相同,即結(jié)構(gòu)相同、長度相等。
[0033]具體地,緩存可以為循環(huán)緩存(RingBuffer)。
[0034]具體地,還包含緩存分配模塊,緩存分配模塊用于動態(tài)設(shè)置緩存的大小,即當網(wǎng)絡(luò)狀態(tài)相同時,若視頻直播裝置的空余存儲空間越大,則緩存設(shè)置越大,當視頻直播裝置的空余存儲空間相同時,若網(wǎng)絡(luò)狀態(tài)越暢通,則緩存設(shè)置越大。
[0035]具體地,還可以包含動態(tài)調(diào)度模塊,該動態(tài)調(diào)度模塊用于在視頻播放的過程中繼續(xù)尋找新的數(shù)據(jù)來源;其中,數(shù)據(jù)來源為CDN網(wǎng)絡(luò)中的邊緣服務(wù)器和\SP2P網(wǎng)絡(luò)中的對等節(jié)點。
[0036]具體地,還可以包含視頻數(shù)據(jù)發(fā)送模塊,該視頻數(shù)據(jù)發(fā)送模塊用于將緩存中的視頻數(shù)據(jù)發(fā)送給其他直播設(shè)備,其中,其他直播設(shè)備為對本視頻直播裝置具有訂閱請求或補位請求的設(shè)備。
[0037]從上面所述可以看出,本發(fā)明的有益效果在于:
[0038]本發(fā)明使用將P2P技術(shù)與CDN技術(shù)相融合的方式進行視頻的網(wǎng)絡(luò)直播,相對于現(xiàn)有技術(shù)中的“服務(wù)器-終端”模式具有更強的抗網(wǎng)絡(luò)抖動性能,提高了直播的穩(wěn)定性,此外,由于P2P技術(shù)的引入,拓展了視頻數(shù)據(jù)的來源,分散了CDN網(wǎng)絡(luò)中服務(wù)器的壓力,并有助于減小CDN網(wǎng)絡(luò)中的服務(wù)器規(guī)模,從而可以降低網(wǎng)絡(luò)視頻直播系統(tǒng)的成本,有利于網(wǎng)絡(luò)視頻直播方式的廣泛應(yīng)用。
[0039]總之,本發(fā)明非常適用于低成本的在線教育、體育直播、新聞直播等等應(yīng)用場景,具有低延時、高穩(wěn)定性的優(yōu)點,是對現(xiàn)有技術(shù)的一個重大改進,為視頻的網(wǎng)絡(luò)直播提供了一種新思路,具有廣闊的應(yīng)用前景。
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041 ]圖1為本發(fā)明方法實施例的一種流程圖;
[0042]圖2為本發(fā)明裝置實施例的一種結(jié)構(gòu)框圖;
[0043]圖3為本發(fā)明裝置實施例的另一種結(jié)構(gòu)框圖;
[0044]圖4為本發(fā)明實施例的一種網(wǎng)絡(luò)結(jié)構(gòu)圖。
【具體實施方式】
[0045]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。
[0046]需要說明的是,本發(fā)明實施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個相同名稱非相同的實體或者非相同的參量,可見“第一” “第二”僅為了表述的方便,不應(yīng)理解為對本發(fā)明實施例的限定,后續(xù)實施例對此不再一一說明。
[0047]—種視頻直播方法,其使用CDN與P2P的復(fù)合方式獲取視頻數(shù)據(jù),視頻數(shù)據(jù)以視頻切片的形式在網(wǎng)絡(luò)上傳輸,其包含:
[0048]通過⑶N網(wǎng)絡(luò)從邊緣服務(wù)器處獲取視頻切片;
[0049]通過P2P網(wǎng)絡(luò)從對等節(jié)點處獲取視頻切片;
[0050]根據(jù)視頻切片的時間戳信息將該視頻切片所包含的視頻片段放入緩存中,并使緩存中的視頻片段按照時間順序排列;
[0051 ]播放緩存中的視頻數(shù)據(jù)。
[0052]具體地,獲取視頻數(shù)據(jù)的方式可以為訂閱方式,當緩存中出現(xiàn)視頻數(shù)據(jù)的缺位時,再以請求的方式向邊緣服務(wù)器和\或?qū)Φ裙?jié)點拉取用于補位的視頻數(shù)據(jù)。
[0053]具體地,視頻切片可以包含描述頭和數(shù)據(jù)體,其中描述頭中包含該視頻切片的時間戳信息,數(shù)據(jù)體中包含視頻片段;另外,對于流式和切片式的數(shù)據(jù)源,可以將源數(shù)據(jù)均轉(zhuǎn)換為長度相等且結(jié)構(gòu)一致的視頻切片,即所有視頻切片的格式都相同,這樣以一種標準流的形式發(fā)送便于視頻數(shù)據(jù)的傳輸和解碼。
[0054]具體地,緩存可以為循環(huán)緩存(RingBuffer)。
[0055]具體地,緩存的大小可以采用動態(tài)方式設(shè)置,即當網(wǎng)絡(luò)狀態(tài)相同時,若用于播放所述視頻數(shù)據(jù)的設(shè)備的空余存儲空間越大,則緩存設(shè)置越大,當用于播放所述視頻數(shù)據(jù)的設(shè)備的空余存儲空間相同時,若網(wǎng)絡(luò)狀態(tài)越暢通,則緩存設(shè)置越大。
[0056]具體地,上述方法還可以包含:在播放過程中,如果缺位數(shù)據(jù)的占整個緩存大小的比例超過10%,則繼續(xù)尋找新的邊緣服務(wù)器和\或?qū)Φ裙?jié)點作為視頻數(shù)據(jù)的來源。
[0057]具體地,CDN網(wǎng)絡(luò)包含源服務(wù)器和至少一級中繼服務(wù)器,CDN網(wǎng)絡(luò)中的下級服務(wù)器均以訂閱的方式從該下級服務(wù)器的上級服務(wù)器處獲取數(shù)據(jù),當該下級服務(wù)器的緩存中出現(xiàn)數(shù)據(jù)缺位時,該下級服務(wù)器通過請求的方式向其上級服務(wù)器拉取用于補位的數(shù)據(jù)。一種具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
[0058]一種視頻直播裝置,其包含:
[0059]網(wǎng)絡(luò)連接模塊,用于連接⑶N網(wǎng)絡(luò)和P2P網(wǎng)絡(luò);
[0060]數(shù)據(jù)獲取模塊,用于以視頻切片的形式獲取視頻數(shù)據(jù);
[0061 ]緩存,用于以時間順序存儲視頻數(shù)據(jù);
[0062 ]播放模塊,用于播放緩存中的視頻數(shù)據(jù)。
[0063]具體地,數(shù)據(jù)獲取模塊可以包含:
[0064]視頻訂閱模塊,用于訂閱視頻數(shù)據(jù);
[0065]補位請求模塊,用于當緩存中出現(xiàn)視頻數(shù)據(jù)的缺位時以請求的方式拉取用于補位的視頻數(shù)據(jù)。
[0066]具體地,視頻切片可以包含描述頭和數(shù)據(jù)體,其中描述頭中包含該視頻切片的時間戳信息,且所有視頻切片的格式都相同。
[0067]具體地,緩存可以為循環(huán)緩存(RingBuffer)。
[0068]具體地,還包含緩存分配模塊,緩存分配模塊用于動態(tài)設(shè)置緩存的大小,即當網(wǎng)絡(luò)狀態(tài)相同時,若視頻直播裝置的空余存儲空間越大,則緩存設(shè)置越大,當視頻直播裝置的空余存儲空間相同時,若網(wǎng)絡(luò)狀態(tài)越暢通,則緩存設(shè)置越大。
[0069]具體地,還可以包含動態(tài)調(diào)度模塊,該動態(tài)調(diào)度模塊用于在視頻播放的過程中繼續(xù)尋找新的數(shù)據(jù)來源。比如,可以設(shè)定一個閾值,當缺位數(shù)據(jù)占緩存大小的比例超過該閾值時,則繼續(xù)尋找新的數(shù)據(jù)來源;當然,也可以在整個播放過程中不斷地尋找新的數(shù)據(jù)來源。其中,數(shù)據(jù)來源為CDN網(wǎng)絡(luò)中的邊緣服務(wù)器和\SP2P網(wǎng)絡(luò)中的對等節(jié)點。
[0070]具體地,還可以包含視頻數(shù)據(jù)發(fā)送模塊,該視頻數(shù)據(jù)發(fā)送模塊用于將緩存中的視頻數(shù)據(jù)發(fā)送給其他直播設(shè)備,其中,其他直播設(shè)備為對本視頻直播裝置具有訂閱請求或補位請求的設(shè)備。
[0071 ]作為本發(fā)明方法的一個實施例,如圖1所示,其應(yīng)用于視頻直播裝置,使用CDN與P2P的復(fù)合方式獲取視頻數(shù)據(jù),視頻數(shù)據(jù)以視頻切片的形式在網(wǎng)絡(luò)上傳輸,其具體步驟如下:
[0072]步驟101,連接⑶N網(wǎng)絡(luò)及P2P網(wǎng)絡(luò);
[0073]步驟102,根據(jù)視頻直播裝置的屬性和網(wǎng)絡(luò)狀態(tài)設(shè)定該視頻直播裝置的播放延時和緩存大小;其具體方式是,當網(wǎng)絡(luò)狀態(tài)相同時,視頻直播裝置的空余存儲空間越大,則該視頻直播裝置的緩存越大,當空余存儲空間相同時,視頻直播裝置的網(wǎng)絡(luò)狀態(tài)越暢通,則該視頻直播裝置的播放延時越短且緩存越大;
[0074]步驟103,向⑶N網(wǎng)絡(luò)中的邊緣服務(wù)器及P2P網(wǎng)絡(luò)中的對等節(jié)點訂閱視頻數(shù)據(jù),視頻數(shù)據(jù)以視頻切片的形式在網(wǎng)絡(luò)上傳輸;
[0075]步驟104,從邊緣服務(wù)器及對等節(jié)點處接收視頻切片,并根據(jù)視頻切片的時間戳信息將視頻切片所包含的視頻片段放入緩存中,以使緩存中的視頻片段按照時間順序排列;
[0076]步驟105,播放緩存中的視頻數(shù)據(jù);
[0077]步驟106,判斷視頻直播是否已經(jīng)播放完成,若播放完成則整個流程結(jié)束,若播放未完成則跳至步驟107;
[0078]步驟107,動態(tài)調(diào)整緩存的大小,具體方式為,當網(wǎng)絡(luò)狀態(tài)相同時,若用于播放所述視頻數(shù)據(jù)的設(shè)備的空余存儲空間越大,則緩存設(shè)置越大,當用于播放所述視頻數(shù)據(jù)的設(shè)備的空余存儲空間相同時,若網(wǎng)絡(luò)狀態(tài)越暢通,則緩存設(shè)置越大;
[0079]步驟108,判斷緩存中是否存在視頻數(shù)據(jù)的缺位,若是則跳至步驟109,否則跳至步驟 104.’
[0080]步驟109,判斷缺位數(shù)據(jù)在緩存中的占比是否超過10%,若是則跳至步驟110,否則跳至步驟111;
[0081]步驟110,動態(tài)調(diào)整網(wǎng)絡(luò)連接,即尋找新的、數(shù)據(jù)傳輸速度更快的對等節(jié)點或邊緣服務(wù)器作為視頻數(shù)據(jù)的來源,并淘汰網(wǎng)速較慢或數(shù)據(jù)滯后等等對于視頻播放缺乏貢獻的對等節(jié)點或邊緣服務(wù)器;
[0082]步驟111,向邊緣服務(wù)器或?qū)Φ裙?jié)點請求用于補位的視頻數(shù)據(jù),然后跳至步驟104。
[0083]容易理解,本實施例步驟103的視頻數(shù)據(jù)獲取方式也可以采用傳統(tǒng)的“拉”的方式,即視頻直播裝置向數(shù)據(jù)源請求指定的視頻數(shù)據(jù),數(shù)據(jù)源接到請求后向視頻直播裝置發(fā)送數(shù)據(jù),視頻直播裝置收到數(shù)據(jù)后再次向數(shù)據(jù)源請求新的視頻數(shù)據(jù)。此外,對于步驟102,緩存也可以采用固定的大小,步驟109和步驟110也可以省略。
[0084]具體地,視頻切片可以包含描述頭和數(shù)據(jù)體,其中描述頭中包含該視頻切片的時間戳信息,數(shù)據(jù)體中包含視頻片段;另外,對于流式和切片式的數(shù)據(jù)源,可以將源數(shù)據(jù)均轉(zhuǎn)換為長度相同且結(jié)構(gòu)一致的視頻切片,這樣以一種標準流的形式發(fā)送便于視頻數(shù)據(jù)的傳輸和解碼。
[0085]具體地,緩存可以為循環(huán)緩存(RingBuffer)。
[0086]具體地,如圖4所示為一種具體的網(wǎng)絡(luò)結(jié)構(gòu),其中⑶N網(wǎng)絡(luò)包含源服務(wù)器以及一級中繼服務(wù)器和一級邊緣服務(wù)器,其中邊緣服務(wù)器以訂閱的方式從中繼服務(wù)器處獲取數(shù)據(jù),當邊緣服務(wù)器的緩存中出現(xiàn)數(shù)據(jù)缺位時,則通過請求的方式向其中繼服務(wù)器拉取用于補位的數(shù)據(jù),中繼服務(wù)器也以同樣的方式從源服務(wù)器獲取數(shù)據(jù)。
[0087]作為本發(fā)明裝置的一個實施例,如圖2所示,其與網(wǎng)絡(luò)3連接,圖中的虛線表示信號傳遞,實線表示數(shù)據(jù)傳遞,該裝置包含:
[0088]網(wǎng)絡(luò)連接模塊21,用于連接⑶N網(wǎng)絡(luò)和P2P網(wǎng)絡(luò);
[0089]數(shù)據(jù)獲取模塊22,用于以視頻切片的形式獲取視頻數(shù)據(jù);
[0090]緩存23,用于以時間順序存儲視頻數(shù)據(jù);
[0091 ]播放模塊24,用于播放緩存中的視頻數(shù)據(jù);
[0092]動態(tài)調(diào)度模塊25,用于在視頻播放的過程中繼續(xù)尋找新的數(shù)據(jù)來源,并淘汰對于本視頻直播裝置的視頻播放缺乏貢獻的對等節(jié)點或服務(wù)器,從而使數(shù)據(jù)獲取維持在一個較佳的狀態(tài);其中,數(shù)據(jù)來源為CDN網(wǎng)絡(luò)中的邊緣服務(wù)器和\SP2P網(wǎng)絡(luò)中的對等節(jié)點;
[0093]視頻數(shù)據(jù)發(fā)送模塊26,該模塊用于接受其他直播設(shè)備的訂閱和“拉取”請求,并將本視頻直播裝置的緩存23中的視頻數(shù)據(jù)發(fā)送給其他直播設(shè)備,其他直播設(shè)備為對本視頻直播裝置具有訂閱請求或補位請求的設(shè)備。
[0094]容易理解,本實施例裝置中的動態(tài)調(diào)度模塊25和視頻數(shù)據(jù)發(fā)送模塊26也可以省略。
[0095]具體地,視頻切片可以包含描述頭和數(shù)據(jù)體,其中描述頭中包含該視頻切片的時間戳信息,且所有視頻切片的長度都相等。
[0096]具體地,緩存可以為循環(huán)緩存(RingBuffer)。
[0097]具體地,如圖3所示,該視頻直播裝置還可以包含緩存分配模塊27,該模塊用于動態(tài)設(shè)置緩存的大小,即當網(wǎng)絡(luò)狀態(tài)相同時,若視頻直播裝置的空余存儲空間越大,則緩存設(shè)置越大,當視頻直播裝置的空余存儲空間相同時,若網(wǎng)絡(luò)狀態(tài)越暢通,則緩存設(shè)置越大。
[0098]具體地,數(shù)據(jù)獲取模塊22還包含:
[0099]視頻訂閱模塊,用于訂閱視頻數(shù)據(jù);
[0100]補位請求模塊,用于當緩存中出現(xiàn)視頻數(shù)據(jù)的缺位時以請求的方式拉取用于補位的視頻數(shù)據(jù);
[0101]這樣,本裝置可以以訂閱的方式從數(shù)據(jù)源獲取視頻數(shù)據(jù),而當緩存中的數(shù)據(jù)出現(xiàn)缺位時,再以請求的方式從數(shù)據(jù)源拉取數(shù)據(jù)。
[0102]通過以上敘述可以看出,本發(fā)明各實施例相對于現(xiàn)有技術(shù)分別具有以下優(yōu)勢:
[0103]—、本發(fā)明實施例將P2P技術(shù)與CDN技術(shù)融合并應(yīng)用于網(wǎng)絡(luò)視頻直播領(lǐng)域,相對于現(xiàn)有技術(shù)的“服務(wù)器-終端”模式具有更強的抗網(wǎng)絡(luò)抖動性能,提高了直播的穩(wěn)定性;
[0104]二、本發(fā)明實施例采用P2P技術(shù)與CDN技術(shù)的融合進行視頻直播,與現(xiàn)有技術(shù)相比降低了服務(wù)器的部署規(guī)模,從而降低了直播成本;
[0105]三、本發(fā)明實施例中的視頻直播裝置主要是以訂閱的方式從服務(wù)器或?qū)Φ裙?jié)點處獲得視頻數(shù)據(jù),即通過注冊使服務(wù)器或?qū)Φ裙?jié)點主動地向視頻直播裝置“推”送數(shù)據(jù),不同于現(xiàn)有技術(shù)中“請求-獲取-再請求-再獲取”的所謂“拉”的方式,減少了傳輸步驟,縮短了傳輸時間,從而提高了視頻的實時性;同時,作為補充,當數(shù)據(jù)出現(xiàn)缺位時,本發(fā)明也會采取“拉”的方式獲取數(shù)據(jù)。
[0106]總之,本發(fā)明實施例非常適用于低成本的在線教育、體育直播、新聞直播等等應(yīng)用場景,具有低延時、高穩(wěn)定性的優(yōu)點,是對現(xiàn)有技術(shù)的一個重大改進,為視頻的網(wǎng)絡(luò)直播提供了一種新思路,具有廣闊的應(yīng)用前景。
[0107]上述實施例的裝置用于實現(xiàn)前述實施例中相應(yīng)的方法,并且具有相應(yīng)的方法實施例的有益效果,在此不再贅述。
[0108]所屬領(lǐng)域的普通技術(shù)人員應(yīng)當理解:以上任何實施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實施例或者不同實施例中的技術(shù)特征之間也可以進行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細節(jié)中提供。
[0109]另外,為簡化說明和討論,并且為了不會使本發(fā)明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(IC)芯片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發(fā)明難以理解,并且這也考慮了以下事實,即關(guān)于這些框圖裝置的實施方式的細節(jié)是高度取決于將要實施本發(fā)明的平臺的(即,這些細節(jié)應(yīng)當完全處于本領(lǐng)域技術(shù)人員的理解范圍內(nèi))。在闡述了具體細節(jié)(例如,電路)以描述本發(fā)明的示例性實施例的情況下,對本領(lǐng)域技術(shù)人員來說顯而易見的是,可以在沒有這些具體細節(jié)的情況下或者這些具體細節(jié)有變化的情況下實施本發(fā)明。因此,這些描述應(yīng)被認為是說明性的而不是限制性的。
[0110]盡管已經(jīng)結(jié)合了本發(fā)明的具體實施例對本發(fā)明進行了描述,但是根據(jù)前面的描述,這些實施例的很多替換、修改和變型對本領(lǐng)域普通技術(shù)人員來說將是顯而易見的。例如,其它存儲器架構(gòu)(例如,動態(tài)RAM(DRAM))可以使用所討論的實施例。
[0111]本發(fā)明的實施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種視頻直播方法,其特征在于,使用CDN與P2P的復(fù)合方式獲取視頻數(shù)據(jù),所述視頻數(shù)據(jù)以視頻切片的形式在網(wǎng)絡(luò)上傳輸,其包含: 通過⑶N網(wǎng)絡(luò)從邊緣服務(wù)器處獲取視頻切片; 通過P2P網(wǎng)絡(luò)從對等節(jié)點處獲取視頻切片; 根據(jù)視頻切片的時間戳信息將該視頻切片所包含的視頻片段放入緩存中,并使緩存中的視頻片段按照時間順序排列; 播放緩存中的視頻數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的視頻直播方法,其特征在于,所述獲取視頻數(shù)據(jù)的方式為訂閱方式,當緩存中出現(xiàn)視頻數(shù)據(jù)的缺位時,以請求的方式向邊緣服務(wù)器和\或?qū)Φ裙?jié)點拉取用于補位的視頻數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的視頻直播方法,其特征在于,所述視頻切片包含描述頭和數(shù)據(jù)體,所述描述頭中包含該視頻切片的時間戳信息,所述數(shù)據(jù)體中包含視頻片段,所有視頻切片的格式都相同。4.根據(jù)權(quán)利要求1所述的視頻直播方法,其特征在于,所述緩存為循環(huán)緩存。5.根據(jù)權(quán)利要求1所述的視頻直播方法,其特征在于,還包含動態(tài)設(shè)置緩存大小,所述動態(tài)設(shè)置的具體方式為:當網(wǎng)絡(luò)狀態(tài)相同時,若用于播放所述視頻數(shù)據(jù)的設(shè)備的空余存儲空間越大,則緩存設(shè)置越大,當用于播放所述視頻數(shù)據(jù)的設(shè)備的空余存儲空間相同時,若網(wǎng)絡(luò)狀態(tài)越暢通,則緩存設(shè)置越大。6.根據(jù)權(quán)利要求1所述的視頻直播方法,其特征在于,還包含: 在播放過程中,如果緩存中視頻數(shù)據(jù)的缺位超過閾值,則繼續(xù)尋找新的邊緣服務(wù)器和\或?qū)Φ裙?jié)點作為視頻數(shù)據(jù)的來源。7.根據(jù)權(quán)利要求1所述的視頻直播方法,其特征在于,所述CDN網(wǎng)絡(luò)包含源服務(wù)器和至少一級中繼服務(wù)器,所述CDN網(wǎng)絡(luò)中的下級服務(wù)器均以訂閱的方式從該下級服務(wù)器的上級服務(wù)器處獲取數(shù)據(jù),當該下級服務(wù)器的緩存中出現(xiàn)數(shù)據(jù)缺位時,該下級服務(wù)器通過請求的方式向其上級服務(wù)器拉取用于補位的數(shù)據(jù)。8.一種視頻直播裝置,其特征在于,包含: 網(wǎng)絡(luò)連接模塊,用于連接CDN網(wǎng)絡(luò)和P2P網(wǎng)絡(luò); 數(shù)據(jù)獲取模塊,用于以視頻切片的形式獲取視頻數(shù)據(jù); 緩存,用于以時間順序存儲視頻數(shù)據(jù); 播放模塊,用于播放緩存中的視頻數(shù)據(jù)。9.根據(jù)權(quán)利要求8所述的視頻直播裝置,其特征在于,所述數(shù)據(jù)獲取模塊包含: 視頻訂閱模塊,用于訂閱視頻數(shù)據(jù); 補位請求模塊,用于當所述緩存中出現(xiàn)視頻數(shù)據(jù)的缺位時以請求的方式拉取用于補位的視頻數(shù)據(jù)。10.根據(jù)權(quán)利要求8所述的視頻直播裝置,其特征在于,所述視頻切片包含描述頭和數(shù)據(jù)體,所述描述頭中包含該視頻切片的時間戳信息,所有視頻切片的格式都相同。11.根據(jù)權(quán)利要求8所述的視頻直播裝置,其特征在于,所述緩存為循環(huán)緩存。12.根據(jù)權(quán)利要求8所述的視頻直播裝置,其特征在于,還包含緩存分配模塊,所述緩存分配模塊用于動態(tài)設(shè)置所述緩存的大小,所述動態(tài)設(shè)置的具體方式為:當網(wǎng)絡(luò)狀態(tài)相同時,若視頻直播裝置的空余存儲空間越大,則緩存設(shè)置越大,當視頻直播裝置的空余存儲空間相同時,若網(wǎng)絡(luò)狀態(tài)越暢通,則緩存設(shè)置越大。13.根據(jù)權(quán)利要求8所述的視頻直播裝置,其特征在于,還包含動態(tài)調(diào)度模塊,所述動態(tài)調(diào)度模塊用于在視頻播放的過程中繼續(xù)尋找新的數(shù)據(jù)來源;所述數(shù)據(jù)來源為CDN網(wǎng)絡(luò)中的邊緣服務(wù)器和\SP2P網(wǎng)絡(luò)中的對等節(jié)點。14.根據(jù)權(quán)利要求8所述的視頻直播裝置,其特征在于,還包含視頻數(shù)據(jù)發(fā)送模塊,所述視頻數(shù)據(jù)發(fā)送模塊用于將所述緩存中的視頻數(shù)據(jù)發(fā)送給其他直播設(shè)備,所述其他直播設(shè)備為對本視頻直播裝置具有訂閱請求或補位請求的設(shè)備。
【文檔編號】H04N21/231GK105848011SQ201610201015
【公開日】2016年8月10日
【申請日】2016年3月31日
【發(fā)明人】蔡鈞
【申請人】樂視控股(北京)有限公司, 樂視云計算有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1